潘名莲、马争、丁庆生《微计算机机原理》·第2版IA-32结构微处理器及其体系结构第二章微计算机机原理·第2版电子工业出版社微处理器的主要性能指标2.18086/8088,80186/80188微处理器2.280286微处理器2.380386微处理器2.480486微处理器2.5Pentium和PentiumPro微处理器2.6PentiumII,III,4微处理器2.7微计算机机原理·第2版电子工业出版社2020/2/243目录2.1微处理器的主要性能指标2.28086微处理器内部结构寄存器结构引脚特性8088与8086的比较时钟和总线周期工作方式总线操作时序存储器组织I/O端口组织微计算机机原理·第2版电子工业出版社2020/2/2442.1微处理器的主要性能指标(1)字长决定计算机的运算能力和运算精度内部数据通道和外部数据通道指令数量指令数量愈多,表示该机的功能愈强IA-32微处理器指令的向上扩展运算速度衡量的基本指令:寄存器加法指令基本指令执行时间的影响因素MIPS访存空间能访问的存储单元数,由地址总线宽度决定微计算机机原理·第2版电子工业出版社2020/2/2452.1微处理器的主要性能指标(2)高速缓存大小虚拟存储空间是否能构成多处理器系统工艺形式及其他IA-32处理器性能对照P35微计算机机原理·第2版电子工业出版社2.1微处理器的主要性能指标2.1.1字长2.1.2指令数2.1.3运算速度2.1.4访存空间2.1.5高速缓存大小2.1.6虚拟存储空间2.1.7是否构成多处理器系统2.1.8工艺形式及其他微计算机机原理·第2版电子工业出版社2.1IA-32微处理器是8086的延伸如上章所述,IA-32结构微处理器的增长基本上按摩尔定律发展,已经经历许多代。但从使用者(包括程序员)的角度来看,它是以8086处理器为基础,是一个兼容的微处理器系列,是8086在功能上和性能上的延伸。微计算机机原理·第2版电子工业出版社2.1.18086功能的扩展1.从16位扩展为32位8086是16位微处理器。它的内部寄存器的主体是16位的。依赖分段机制,每段最大64K,用段寄存器:偏移量(16位)形成了20位的地址,以寻址1MB的物理地址(20位地址总线)。微计算机机原理·第2版电子工业出版社386CPU--32位,无论从能表示的数的范围,还是能寻址的物理地址,特别是能寻址的物理地址都极大的扩展了(可寻址4G物理地址空间)。使得微处理器能取代以前的所谓“大型机”,能应用于各种领域,从而极大地促进了计算机在各行各业中的应用。微计算机机原理·第2版电子工业出版社2.从实模式至保护模式当1981年,IBM公司刚推出IBM-PC时,主频是5MHz,内存是64KB-128KB,没有硬盘,只有单面单密度的软盘,到了PC/XT,才有10MB硬盘。操作系统是PC-DOS(MS-DOS)。这是单用户、单任务的磁盘操作系统。操作系统本身没有程序隔离、没有保护。这是DOS遭受病毒泛滥的内因。微计算机机原理·第2版电子工业出版社随着PC机的大量普及,随着硬件性能的迅速提高。要求有能保护操作系统核心软件的多任务操作系统。从80286开始,在80386中真正完善保护模式。在保护模式下,程序运行于四个特权级。可以实现操作系统核心程序与应用程序的严格的隔离。保护模式支持多任务机制,任务之间完全隔离。微计算机机原理·第2版电子工业出版社3.片内存储管理单元-MMU32位地址,可寻址4GB物理地址(386以后的微机)。但大多数PC机的物理内存配置远小于4GB。但应用程序需要庞大的地址空间。在操作系统中提供了虚拟存储器管理机制,而这要求硬件支持。因而,在80386中提供了片内的MMU。提供了4K页、页表等支持。以上三点是80386相对于8086的主要功能扩展。微计算机机原理·第2版电子工业出版社4.浮点支持工程应用、图形处理、科学计算等要求浮点支持(实数运算)。因此,自80486芯片开始,在IA-32微处理器中集成了x87(及其增强)浮点单元。微计算机机原理·第2版电子工业出版社5.MMX技术为支持多媒体技术的应用,如音乐合成、语音合成。语音识别、音频和视频压缩(编码)和解压缩(译码)、2D和3D图形(包括3D结构映像)和流视频等等。IA-32处理器中增加MMX技术及相应的指令。微计算机机原理·第2版电子工业出版社6.流SIMD扩展(SSE)自PentiumIII处理器开始,在IA-32微处理器中引进了流SIMD(单指令多数据)扩展(SSE)技术。SSE扩展把由IntelMMX引进的SIMD执行模式扩展为新的128位XMM寄存器和能在包装的单精度浮点数上执行SIMD操作。微计算机机原理·第2版电子工业出版社奔腾4处理器又进一步扩展为流SIMD扩展2(SSE2):—用144条新指令扩展IntelMMX技术和SSE扩展,它包括支持:•128位SIMD整数算术操作。•128位SIMD双精度浮点操作。微计算机机原理·第2版电子工业出版社2.1.28086性能的提高IA-32系列芯片的发展的一个重要方面是提高性能。方法:提高主频(缩短时钟周期)缩短指令执行的时钟周期数微计算机机原理·第2版电子工业出版社1.利用流水线技术提高操作的并行性在8086中,利用流水线把取指令与执行指令重叠,减少了等待取指令的时间,从而使大部分指令的执行为四个时钟周期。80386利用芯片内由6个能并行操作的功能部件组成,从而使执行一条指令缩短为两个时钟周期。微计算机机原理·第2版电子工业出版社80486将80386处理器的指令译码和执行部件扩展成五级流水线,在五级流水线中最多可有五条指令被同时执行,每级都能在一个时钟周期内执行一条指令,80486微处理器最快能够在每个CPU时钟周期内执行一条指令。奔腾处理器增加了第二个执行流水线以达到超标量性能(两个已知的流水线u和v,一起工作能实现每个时钟执行两条指令)。微计算机机原理·第2版电子工业出版社IntelPentium4处理器是第一个基于IntelNetBurst微结构的处理器。IntelPentium4处理器有快速的执行引擎、Hyper流水线技术与高级的动态执行。使指令执行的并行性进一步提高,从而做到在一个时钟周期中可以执行多条指令。微计算机机原理·第2版电子工业出版社2.引入片内缓存(CACHE)存储器相对于CPU的工作速度至少差一个数量级。利用指令执行的局部性原理,把近期可能要用到的指令与数据放在工作速度比主存储器更高(容量小)的缓存中。一级缓存(指令和数据分开)、二级缓存(指令和数据混合)。微计算机机原理·第2版电子工业出版社8086是IA-32系列处理器的基础。任一种IA-32处理器芯片在上电后,就是处在8086的实模式。根据需要,用指令进入各种操作模式。从编程来说,几乎没有用汇编语言来使用浮点指令、MMX指令与XMM指令的,都是通过高级语言来使用这些指令的。绝大部分程序员,除了编写操作系统代码的外,面对IA-32处理器的指令,实际上是面对8086指令。微计算机机原理·第2版电子工业出版社微计算机机原理·第2版电子工业出版社8086CPU从功能上来说分成两大部分:总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit)。BIU负责8086CPU与存储器之间的信息传送。取指阶段:BIU负责从内存的指定单元取出指令,送至指令流队列中排队(8086的指令流队列是6个字节);执行指令时所需的操作数,也由BIU从内存的指定区域取出,传送给EU部分去执行。微计算机机原理·第2版电子工业出版社EU部分负责指令的执行。主要由数据寄存器、指针寄存器与算术逻辑单元(ALU)组成。取指部分与执行指令部分是分开的,二者可以重叠进行。微计算机机原理·第2版电子工业出版社8080指令执行顺序微计算机机原理·第2版电子工业出版社在8086中,由于BIU和EU是分开的,所以,取指和执行可以重叠进行。8086指令执行顺序微计算机机原理·第2版电子工业出版社2.38086微处理器的执行环境本节描述汇编语言程序员看到的8086处理器的执行环境。作用:描述处理器如何执行指令及如何存储和操作数据。执行环境包括:内存(地址空间)、通用数据寄存器、段寄存器、标志寄存器(FLAGES)和指令指针寄存器等。微计算机机原理·第2版电子工业出版社2.3.1基本执行环境概要在8086处理器上执行的程序或任务都需要有一组执行指令的资源用于存储代码、数据和状态信息。这些资源构成了8086处理器的执行环境。地址空间:8086处理器上运行的任一任务或程序能寻址1MB(220)字节的线性地址空间。微计算机机原理·第2版电子工业出版社基本程序执行寄存器:八个通用寄存器四个段寄存器标志寄存器FLAGSIP(指令指针)寄存器组成了执行通用指令的基本执行环境。这些指令执行字节、字整型数的基本整数算术运算,处理程序流程控制,在字节串上操作并寻址存储器。微计算机机原理·第2版电子工业出版社堆栈(stack):为支持过程或子程序调用并在过程或子程序之间传递参数,堆栈和堆栈管理资源包含在基本执行环境中。堆栈定位在内存中。I/O端口:8086结构支持数据在处理器和输入输出(I/O)端口之间的传送。8086处理器的基本执行环境如图2-4所示。微计算机机原理·第2版电子工业出版社微计算机机原理·第2版电子工业出版社2.3.2基本的程序执行寄存器处理器为了应用程序编程提供了如图2-4所示的14个基本程序执行寄存器。(重点)微计算机机原理·第2版电子工业出版社这些寄存器能分组如下:通用寄存器:这八个寄存器能用于存放操作数和指针。段寄存器:这些寄存器最多能保存四个段选择子(段基址)。FLAGS(程序状态和控制)寄存器:FLAGS寄存器存放正在执行的程序的状态,并允许有限地(应用程序级)控制处理器。IP(指令指针)寄存器:IP寄存器存放着下一条要执行的指令的偏移地址。微计算机机原理·第2版电子工业出版社1.通用寄存器八个32位通用寄存器AX、BX、CX、DX、SI、DI、BP和SP用于处理以下项:逻辑和算术操作的操作数;用于地址计算的操作数;内存指针。注意:SP寄存器保存堆栈指针,通常不要用于其它目的。微计算机机原理·第2版电子工业出版社数据寄存器:AX、BX、CX、DX,用以存放操作数。可分别作为AH、BH、CH和DH(高字节)以及AL、BL、CL和DL(低字节)8位寄存器引用。指针寄存器:SI、DI、BP、SP,可以存放操作数,但主要用作地址指针。SP:堆栈指针,与段寄存器SS配合确定堆栈在内存中的位置。BP(BasePointerRegister):寻址堆栈操作数时,也是寻址堆栈段。SI(SourceIndexRegister)和DI(DestinationIndexRegister)常用于串操作。微计算机机原理·第2版电子工业出版社微计算机机原理·第2版电子工业出版社2.段寄存器段寄存器(CS、DS、SS、ES)保存16位段选择子(段基址).一个段选择子是标志内存中一个段的特殊指针。代码段寄存器CS:用于存放正在执行或正待处理的程序段的起始地址的高16位(程序段段基址)。CS和IP组成下一条要执行指令的逻辑地址。微计算机机原理·第2版电子工业出版社数据段寄存器DS:用于存放正在处理或正待处理的数据段的起始地址的高16位(数据段段基址)堆栈段寄存器SS:用于存放正在处理或正待处理的堆栈段的起始地址的高16位(堆栈段段基址)附加段段寄存器ES:用于存放正在处理或正待处理的附加数据段的起始地址的高16位(附加数据段段基址)微计算机机原理·第2版电子工业出版社当使用分段存储模式时,初始,每一个段寄存器用不同的段选择子加载,所以每个段寄存器指向线性地址空间中的不同的段