第二章 8086微处理器及其体系结构.docx

上传人:b****7 文档编号:25932926 上传时间:2023-06-16 格式:DOCX 页数:64 大小:1.03MB
下载 相关 举报
第二章 8086微处理器及其体系结构.docx_第1页
第1页 / 共64页
第二章 8086微处理器及其体系结构.docx_第2页
第2页 / 共64页
第二章 8086微处理器及其体系结构.docx_第3页
第3页 / 共64页
第二章 8086微处理器及其体系结构.docx_第4页
第4页 / 共64页
第二章 8086微处理器及其体系结构.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

第二章 8086微处理器及其体系结构.docx

《第二章 8086微处理器及其体系结构.docx》由会员分享,可在线阅读,更多相关《第二章 8086微处理器及其体系结构.docx(64页珍藏版)》请在冰豆网上搜索。

第二章 8086微处理器及其体系结构.docx

第二章8086微处理器及其体系结构

第二章8086微处理器及其体系结构

8086微处理器是INTEL公司上世纪70年代末推出的一种16位的微处理器。

80年代IBM公司使用其姊妹芯片8088(准16位)作为其第一代个人计算机IBM/PC机的CPU,使得INTEL公司的系列"向上兼容"的微处理器成为市场的主流芯片。

 

学习资源中有X86处理器的详细资料

深入了解X86CPU

 

1.什么是X86系列及兼容CPU

X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU?

/FONT>i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器则另外使用X87指令,以后就将X86指令集和X87指令集统称为X86指令集。

虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的PentiumⅢ(以下简为PⅢ)系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。

另外除Intel公司之外,AMD和Cyrix等厂家也相继生产出能使用X86指令集的CPU,由于这些CPU能运行所有的为IntelCPU所开发的各种软件,所以电脑业内人士就将这些CPU列为Intel的CPU兼容产品。

由于IntelX86系列及其兼容CPU都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。

当然在目前的台式(便携式)电脑中并不都是使用X86系列CPU,部分服务器和苹果(Macintosh)机中还使用美国DIGITAL(数字)公司的Alpha61164和PowerPC604e系列CPU,由于我们大多数人很难接触到这类64位的高档CPU,所以在此不作介绍。

 

2.什么是IA-32、IA-64架构

IA是IntelArchitecture(英特尔体系结构)的英语缩写,IA-32或IA-64是指符合英特尔结构字长为32或64位的CPU,其他公司所生产的与Intel产品相兼容的CPU也包括在这一范畴。

由于目前Intel的64位CPU“Merecd”正在研制中,所以当前市场上所有的X86系列CPU仍属IA-32架构。

(关于CPU的字长、时钟等基本术语可另外参考《计算机应用文摘》杂志99年第4期中的内容。

3.X86系列CPU的主要生产厂家和产品

众所周知,目前X86系列CPU的主要有Intel、AMD和Cyrix三家,其中Intel的CPU在产量、技术上都占主导地位,目前Intel最先进的CPU是PⅢ;主流产品是赛扬、高端PⅡ和低端PⅢ;AMD公司在CPU开发和生产方面仅次于Intel,目前它最先进的CPU是AMDK7,这种CPU的性能第一次全面超过同主频的PⅢ,是目前X86系列中先进的CPU,一雪历史上AMDCPU的浮点性能始终比IntelCPU低几成之耻,为AMD大大挣了一回面子。

AMD目前的主流产品是K6-2和K6-3;Cyrix公司在CPU的开发和生产上始终处于三大品牌的最后,目前它最好的CPU是MⅡ,其最高主频的MⅡ性能总的比较仍落后于AMD的K6-2,只能与IntelPentiumMMX266相近。

MⅡ目前也是Cyrix的主流产品。

除了Intel、AMD和Cyrix三家的CPU外,还有两个生产X86系列CPU的厂家,它们的产品分别是名为IDT-Winchip(IDT-C6)和MP6的CPU,由于这两种CPU的性能较低(与IntelPentiumMMX相近),产量也很少,所以在此也不作介绍。

不过在以上厂家中由于Cyrix公司在并入国家半导体公司后仍然未能摆脱市场竞争失利的阴影,其主打产品MⅡ近期业已停止发展,公司也被我国台湾的VIA(威盛)公司买进。

另外IDT-C6的生产厂家IDT(IntegratedTechnology)公司的子公司?

/FONT>CentaurTechnology公司也因同样的原因目前正在被VIA公司兼并中,如此Cyrix公司的MⅡ生产技术以及它与Intel之间的CPU技术专利许可也将被VIA公司继承,所以VIA公司近期将推出Socket370架构的MⅢ是很有可能的,另外,SIS(矽统)也获得了生产x86CPU的授权,届时X86CPU市场几大品牌竞争现象还将重现。

 

4.CPU的名称、代号和标志

各厂家所生产的每一种CPU都有名称(商标名)、代号(研制代号)和标志(专用图案)。

其中Intel公司的早期产品以i80x86命名,即以前的286、386、486等,到Intel开发出第5代产品586时由于商标注册上的麻烦改为Pentium并同时为其注册中文商标名“奔腾”,由此也就有了后来的PentiumPro(高能奔腾)、PentiumⅡ(奔腾2代)、PentiumⅢ(奔腾3代)以及Celeron(赛扬),目前名称并不能反映出同类型中CPU的规格,这点将从Intel正式推出前端总线为133MHz的PⅢ后开始改进,以后只要看见CPU的名称就可以了解这块CPU的大致技术特性。

另外厂家对每一种CPU包括同名但技术规格不同的产品都另有一个研制代号,例如Intel公司使用0.35和0.25工艺生产的PⅡ就各有一个代号分别为:

Klamath和Destrutes。

同时Itel每一种名称的CPU都有还一个专用商标图案作为标志。

AMD和Cyrix公司的情况与Intel相近,它们的每一种CPU也都有一个名称、代号和标志,但都还没有正式的中文名称。

 

CPU的兼容

由于Intel的CPU在产量、技术上仍然都占主导地位,所以CPU的兼容是指X86系列中其它各厂家生产的CPU与Intel的CPU之间的软、硬件兼容。

1.软件兼容是指非Intel产CPU对应用软件和X86扩展指令的兼容。

从目前各种品牌CPU的实际应用情况看,所有非Intel产CPU在对X86和MMX(多媒体扩展指令集)的兼容都没问题,但正式宣称能兼容SSE(因特网数据流单指令扩展)指令集的非Intel产CPU目前好象还没有。

而AMD更是从K6-2开始就独立开发自己的多媒体扩展指令集“3DNow!

”,目的是弥补MMX指令集的不足以进一步提高K6-2处理3D图形的能力。

但从各厂家CPU的总体应用情况看,所有X86体系CPU在运行各种软件方面始终是完全兼容的,至于能否支持SSE或3DNow!

指令集方面的区别仅仅是运行某些对SSE或3DNow!

指令进行优化时的程序有无“锦上添花”的作用而已。

 

2.硬件兼容的现状和未来

硬件兼容是指非Intel的产品在机械安装规范和电性能两方面的兼容。

在Socket架构CPU这一层,所有相兼容CPU都能分别使用Socket5(486级)和Socket7(Pentium和PⅡ家族兼容级)插座安装运行,即支持IntelCPU的主板(芯片组)同样也能支持非Intel产的CPU,这样无论是Intel还是AMD和Cyrix等其他公司的CPU都能在同一块主板上经调整相应的跳线(或DIP开关)后安装运行,形成了软、硬件全面兼容。

然而从PentiumPro使用Socket8插座开始,Intel相继对其开发的Slot1、Slot2和Socket370插座实施专利保护,所以其他厂商生产的CPU要么继续停留在Socket7架构,要么另辟蹊径开发其它形式的CPU插座,AMD公司就是在这种情况被迫为自己的K7研制专用的SlotA插座。

这种SlotA外形上虽与Slot1相似,但在物理和电气接口规范上都不兼容,K7也因此无法继续使用Intel及其兼容系列芯片组的主板,目前只能使用AMD和其他厂家专门为K7开发的芯片组主板。

不过由于VIA公司继承了Cyrix公司与Intel公司达成的部分专利使用权,因此如果VIA能与Intel达成某些协议,那么VIA或许真的在年底能推出Socket370(或Slot1)架构的6x86MⅢ,那么不同品牌的CPU在硬件安装规范上再次形成兼容的局面可能重建。

CPU的内部结构和外形

1.Pentium时期的CPU内部结构

当前我们使用的CPU内部结构实际可分为单总线和双总线两种结构,由于CPU内部结构特征决定CPU的封装形式和安装规范,所以在此作些简单的介绍。

在Intel公司研制出PentiumPro之前,各种486以上CPU,如经典Pentium内部由主处理器、数学协处理器、控制器、各种寄存器和L1Cache组成。

至今为止仍然有大量的CPU继续以这种内部结构模式进行生产,例如AMD的K6-2、Cyrix的MⅡ以及IDT-C6等CPU。

2.双总线模式的CPU内部结构

从P6(Pen-tiumPro的研制代号)起,Intel为进一步提高CPU与L2Cache间的数据交换速度,将原来设置在电脑主板上的高速缓存控制电路和L2Cache(二级高速缓存)采用在同一块硅材料上制作的方法集成到CPU芯片上,这样CPU内核与高速缓存之间的数据交换就无需经过外部总线而直接通过CPU内部的缓存总线进行,由于CPU内核与内存和CPU与高速缓存之间的数据交换通道分离而形成首创的P6双总线架构模式(见图1)。

从PentiumPro的实际应用效果看这一技术措施非常成功,是CPU研制技术上的一次重大改进。

由于P6双总线结构的优越性,因此凡是内部具有L2Cache和高速缓存控制器的CPU都由传统的单总线模式过渡到双总线模式,例如Intel公司的PⅡ、新赛扬和PⅢ;AMD公司的K6-Ⅲ和K7等。

3.CPU架构、封装方式和实际外形

(1)CPU架构和安装插座规格

CPU架构是按CPU的安装插座类型和规格确定的。

目前常用的CPU按其安装插座规范可分为Socketx和Slotx两大架构。

其中Socketx架构CPU中又分Socket7和Socket370两种,分别使用321针的Socket7和370针的Socket370插座进行安装。

Socket7和Socket370插座在外形上非常相似尺寸也相同,但Socket370插座上比Socket7多了一圈针插孔。

这两种规格的Socket插座外形及区别可参考图2。

在Slotx架构CPU中可分为Slot1、Slot2和SlotA三种,分别使用对应规格的Slot槽进行安装。

其中Slot1和SlotA都是242线插槽,但在机械和电气标准上都不相同,所以互不兼容。

Slot2是尺寸较大的插槽,专门用于安装PⅡ和PⅢ序列中的Xeon。

Xeon是一种专用于工作组服务器上的CPU。

Slot1插槽形状和Slot1架构CPU的安装可参考图3。

(2)CPU的封装方式

封装是CPU生产过程中的最后一道工序,封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。

CPU的封装方式取决于CPU安装形式和器件集成设计,通常采用Socket插座进行安装的CPU只能使用PGA(栅格阵列)方式封装,而采用Slotx槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。

目前采用PGA封装的CPU主要有Intel公司的赛扬,AMD的K6-2、K6-Ⅲ和Cyrix公司的MⅡ,以前赛扬曾采用SEC封装,现已逐渐全部改用PGA封装(见图4)。

采用SEC封装的CPU有Intel的PⅡ、PⅢ和AMD公司的K7。

其中Intel的Slot架构CPU实际上分别使用SEPP、SECC和SECC2三种单边接插盒进行封装(见图5)。

以上CPU中虽然赛扬和K6-Ⅲ内部分别集成了128KB和256KB的L2Cache和高速缓存控制器,但由于它们是采用在同一片硅材料上一次制造出CPU内核和L2Cache、高速缓存控制器的方法制造,所以它们的体积较小并能采用PGA方式进行封装。

不过赛扬采用PGA封装的主要原因是降低生产成本,而K6-Ⅲ采用PGA封装的主要原因则是因为Intel对其开发的Slot1、Slot2和Socket370插座进行专利保护,所以AMD只能沿用Socket7架构和采用PGA封装方式生产K6-Ⅲ。

4.Slotx架构CPU的实际制作

目前Slot架构的CPU有两种制造方法,一是将分别制造的CPU内核芯片、高速Cache控制器芯片和L2Cache芯片安装在一块PCB(电路板)上,然后再安装上单边接插盒和风扇以完成CPU的最终制作。

采用这类结构和方法制作的CPU有Intel的PⅡ、PⅢ和AMD的K7。

二是将完整的CPU(内含CPU内核、高速Cache控制器芯片和L2Cache芯片)芯片安装在电路板上,此时电路板纯粹只起Slot接口的安装作用。

最后同样再安装单边接插盒和风扇也就形成完整的CPU。

采用这种结构和方法制作的CPU只有Intel公司的部分赛扬。

图6是以上几种还没有安装单边接插盒和风扇的Slot架构CPU电路板,注意各自L2Cache芯片在电路板上的焊装位置以便今后识别裸装的SlotCPU类型。

 

CPU的主要技术特征

CPU的主要技术特性和测试数据可以反映出CPU的性能,而了解CPU的主要技术特征和基本测试项目的意义对我们正确选择和使用CPU将有一定的帮助。

1.主频

主频是CPU内核运行时的时钟频率,主频的高低直接影响CPU的运算速度。

我们知道仅Pentium就可以在一个时钟周期内执行两条运算指令,假如主频为100MHz的Pentium可以在1秒钟内执行2亿条指令,那么主频为200MHz的Pentium每秒钟就能执行4亿条指令,因此CPU主频越高,电脑运行速度就越快。

需要说明的是Cyrix的CPU对主频这项指标是采用PR性能等级参数(PerformanceRating)来标称的,表示此时CPU性能相当于Intel某主频CPU的性能。

用PR参数标称的CPU实际运行时钟频率与标称主频并不一致。

例如MⅡ-300的实际运行频率为233MHz(66×3.5),但PR参数主频标为300MHz,意思就是MⅡ-300相当于Intel的PⅡ-300。

不过事实上也仅是MⅡ-300的BusinessWinston指标(整数性能)能与PⅡ-300相当而已。

2.前端总线(FSB)频率

前端总线的频率直接影响CPU与内存之间的数据交换速度。

前端总线也就是以前所说的CPU总线,由于在目前的各种主板上前端总线频率与内存总线频率相同,所以也是CPU与内存以及L2Cache(仅指Socket7主板)之间交换数据的工作时钟。

由于数据传输最大带宽取决所同时传输的数据位宽度和传输频率,即数据带宽=(总线频率(数据宽度)/8。

例如Intel公司的PⅡ333使用66MHz的前端总线,所以它与内存之间的数据交换带宽为528MB/s=(66×64)/8,而其PⅡ350则使用100MHz的前端总线,所以其数据交换峰值带宽为800MB/s=(100×64)/8。

由此可见前端总线速率将影响电脑运行时CPU与内存、(L2Cache)之间的数据交换速度,实际也就影响了电脑的整体运行速度。

因此目前Intel正开始将其PⅢ的前端总线频率从100MHz向133MHz过渡。

需说明的是,此次AMD公司新推出的K7虽然使用200MHz的前端总线频率,但有资料表明K7CPU内核与内存之间数据交换时钟仍然是100MHz,主频也是以100MHz为基频倍频的。

3.L1和L2Cache的容量和速率

L1和L2Cache的容量和工作速率对提高电脑速度起关键作用,尤其是L2Cache对提高运行2D图形处理较多的商业软件速度有显著作用。

设置L2Cache是486时代开始的,目的是弥补L1Cache(一级高速缓存)容量的不足,以最大程度地减小主内存对CPU运行造成的延缓。

CPU的L2Cache分芯片内部和外部两种。

设在CPU芯片内的L2Cache运行速度与主频相同,而采用PⅡ方式安装在CPU芯片外部的L2Cache运行频率一般为主频的二分之一,因此其效率要比芯片内的L2Cache要低,这就是赛扬只有128KB片内Cache但性能却几乎超过同主频PⅡ(有512KB但工作时钟为主频一半的片外L2Cache)的重要原因。

4.支持的扩展指令集

为CPU增加X86的扩展指令的目的是提高CPU处理多媒体数据的能力。

当前所使用的各种X86扩展指令中,MMX(多媒体扩展指令集)和SSE(因特网数据流单指令扩展)由Intel公司开发,3DNow!

和增强版3DNow!

为AMD公司开发。

其中MMX有57条指令,SSE有71条指令,而3DNow!

和增强版3DNow!

分别有21条和45条指令。

在以上扩展指令集中,SSE和3Dnow!

都是为弥补MMX的不足而开发的。

目前所有X86系列CPU都支持MMX,但对SSE和3Dnow!

的支持却分裂为两大阵营,IntelCPU只支持SSE,而AMD公司的CPU仅支持3DNow!

而其它品牌的CPU在支持SSE或3Dnow!

上的态度至今不明朗。

扩展指令兼容的分裂也因此迫使各应用软件开发商不得不在其软件中同时提供分别对SSE和3DNow!

指令进行优化的软件包。

5.CPU内核工作电压(Vcore)

CPU内核工作电压的越低则表示CPU制造工艺越先进,也表示CPU运行时耗电功率越小。

在Intel的PentiumMMX之前,所有的CPU均采用单一的电压工作,自PentiumMMX开始CPU运行时需要由主板分别提供I/O电压(Vi/o)和内核(Vcore)电压,直到目前为止所有Socket7架构的CPU仍然采用这种方式供电。

Slot1架构的CPU同样也有Vcore和Vcc二种工作电压,其中Vcc与Socket架构CPU的Vi/o相似。

CPU内核电压的高低主要但不绝对取决于CPU的制造工艺,也就是平常所说的“0.35um”或“0.25um”等,制造芯片时的“微米”值越小表明CPU的制造工艺越先进,CPU运行时所需要的内核电压越低,CPU相对消耗的能源就越小。

例如PentiumMMX和早期的PⅡ采用0.35um工艺制造,所以它们的内核工作电压都是2.8V,而后来PⅡ和PⅢ改用0.25um工艺制造,所以其内核工作电压也相继降为2.0V(前端总线为100MHz的PⅢ厂家标称内核1.8V但主板实测仍为1.98V)。

在CPU的实际应用时,使用Super7主板的用户需按要求分别调整CPU内核和I/O供电电压。

而使用Slot1架构CPU时则由主板自动调整相应的内核和I/O供电电压,但部分厂家为迎合发烧级用户的超频欲望为自己的Slot主板上增加了可由用户控制的CPU内核电压微调功能。

 

2.1微处理器的性能描述

 

描述微处理器的性能有很多方法和指标,但以下一些是最基本的:

1.字长

微处理器的字长是指它在交换、加工和存放信息时,其信息位的最基本的长度,它决定一次传送的二进制的位数。

各类微处理器的字长不同,例如有四位的、八位的、十六位的、三十二位的等。

字长长、位数多的机器处理的精度和速度都更高,因此,字长是微处理器最重要的指标之一。

关于字、字长、字节等一些基本概念,我们在第一章1.2节里已作过较为详细的说明。

 

2.指令数

指一种微处理器能执行的指令的个数。

一般来讲,指令数越多,该微处理器能直接执行的操作越多。

但并不能简单地认为,该处理器的性能越高。

正如我们在第一章所指出那样,我们有两种体系结构的处理器,即RISC和CISC的处理器。

事实上,大部分的RISC的处理器性能都高于CISC处理器。

 

RISC处理器与CISC处理器

 

RISC处理器即"精简指令集"处理器,此种处理器可执行的指令数目较少,指令长度一致。

但这些指令均为较常用的指令。

由于指令集较小,因此指令的执行速度较高,字长也可较高。

与此相对应的是所谓CISC处理器即"复杂指令集"处理器,此种处理器可执行的指令数目较多。

但指令的执行速度相对较低。

Intel80X86的处理器均为CISC处理器。

 

3. 基本的指令执行时间

微处理器的各种指令其执行时间是不一样的。

为了衡量微处理器的速度,将选用实现同一操作的指令——寄存器加法指令作为基本指令,它的执行时间就作为基本指令执行时间,基本指令执行时间由时钟周期及所用时钟周期数决定。

基本指令执行时间愈短,表示微处理器工作速度愈高。

  

衡量基本的指令执行时间,经常使用一个单位,即MIPS,它代表每秒钟所能执行的指令的百万数。

例如,5MIPS表示每秒钟能执行5百万条指令。

  

指令执行时间,基本上能反映微处理器速度指标。

 

 

4. 访存空间

访存空间是指由该微处理器构成的系统所能访问(Access)的存储单元数。

此单元数是由传送地址信息的地址总线的条数决定的。

  

访存空间越大,表明该微处理器能扩充的内存单元数越多。

系统的性能就越有提高的余地。

 

5.是否能构成多处理器系统

若微处理器具有协处理器接口,则可用来构成多处理系统,这样,可将主处理器CPU的某些任务,如浮点数据运算,输入/输出等分由协处理器去完成,而将整个系统功能上百倍地增加。

在十六位微处理器之前的低位数微处理器是不具有本性能的。

当然,目前Pentium级的处理器内部已集成了进行浮点数据运算的协处理器。

但如果一种处理器能方便地进行互联,构成更强大的多处理器的系统,仍然是其高性能的体现。

 

6.工艺形式及其它

采用不同工艺制造的微处理器,其性能有很大差别,因而对使用环境的要求也不同,选用时应区分。

其它还有控制功能(包括中断、等待、保持和复原等)、封装形式、所用电源种类、功耗等,选用时也是应注意的指标。

表2-1列出8086系列微处理器的基本性能,表中也列出其它一些微处理器性能,以便进行比较。

2.28086的内部结构

 

8086CPU的内部由两个独立的工作部件构成,即执行部件EU(Executionunit)和总线接口部件BIU(BusInterfaceunit)。

其内部结构请看图2-2。

图中左半部为EU,由运算器、寄存器阵列和控制器组成;右半部为BIU。

 

一、执行部件EU

EU主要负责指令的解释与执行。

执行的指令和数据从BIU的指令队列缓冲器取得,执行指令的结果或执行指令所需的数据,都由EU向BIU发出请求,由BIU对存储器或外部设备存入或读取。

EU由下列几个部分组成:

(一)十六位算术逻辑单元ALU(ArithmeticandLogicunit)

    它的核心是二进制加法器,其功能有二个方面:

一是进行所有的算术/逻辑运算;二是按指令的寻址方式计算出寻址单元的十六位的偏移地址EA(EffectAddress),并将此偏移地址送到BIU中形成一个二十位的实际地址,以对1M字节的存储空间寻址。

 

(二)十六位的状态标志寄存器(Flag)

该寄存器用来反映CPU运算后的状态特征或存放控制标志。

 

(三)数据暂存寄存器

协助ALU完成运算,对参加运算的数据进行暂存。

 

 

(四)通用寄存器组

通用寄存器是CPU内重要的部件,用于暂存中间数据及其他一些重要信息,它与上面的数据暂存寄存器的区别是,这些通用寄存器都是程序可以访问的。

通用寄存器包括8个十六位寄存器。

其中AX,BX,CX,DX为数据寄存器,它们可以寄存十六位数据,也可分成高低两半,分别寄存8位数据;SP(StackPointer)和BP(BasicPointer)为指针寄存器。

SP为堆栈指针,用于堆栈操作时,确定堆栈在内存中的位置,由它给出栈顶的偏移量。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1