《接口第2章微处理器与指令系统》由会员分享,可在线阅读,更多相关《接口第2章微处理器与指令系统(138页珍藏版)》请在金锄头文库上搜索。
1、2-1,第二章 微处理器和指令系统,2.1 Intel系列微处理器概述 2.2 8086/8088微处理器 2.3 Pentium微处理器 2.4 Pentium微处理器指令系统,2-2,2.1.1 8086/8088 微处理器 2.1.2 80486 微处理器 2.1.3 Pentium 微处理器(80586) 2.1.4 Pentium Pro 微处理器 2.1.5 Pentium 微处理器 2.1.6 Pentium 微处理器 2.1.7 Pentium 4 微处理器,2.1 Intel系列微处理器概述,2-3,2.1.1 8086/8088 微处理器,8086是1978年推出的全16位
2、微处理器, 8088是1978年推出的准16位微处理器。二者除外数据总线位数(8086为16位,8088为8位)及与此相关的部分逻辑稍有差别外,内部结构和基本性能相同,指令系统完全兼容。,在8086/8088的设计中,引入了两个重要的结构概念: 指令流水线 存储器分段,这两个概念在以后升级的Intel系列微处理器中一直被沿用和发展。正是这两个概念的引入,使8086/8088比原来的8位MPU在运行速度、处理能力和对存储空间的访问等性能方面有很大提高。,2-4,2.1.2 80486微处理器,1.内部寄存器的容量都扩充到了32位或以上,具有全32 位数据处理能力,并可进行64位的数据运算。 2.
3、片内存储管理部件可实现段页式存储管理,比80286可 提供更大的虚拟存储空间和物理存储空间。 3.新增了一种保护模式下的工作方式,即虚拟8086方式。 4.指令流水线增加到了6级。 5.提供了32位外部总线接口,最大数据传输速率显著提 高。,80486是继80386之后推出的第二代32位高性能微处理器,它以提高性能和面向多处理器系统为主要目标。80486继承了80386的各种优点,表现在以下几方面:,2-5,2.1.2 80486微处理器,1.片内集成了一个浮点运算单元FPU 。 2.内含一个8KB的数据与指令合用的Cache。 3.采用RISC技术。使芯片内的不规则控制部分减少,同时常用基本
4、指令采用硬件逻辑控制执行,使基本指令可以用一个时钟周期完成。 4.采用一种突发总线(Burst Bus)的技术。使取得一个地址后,与该地址相关的一组数据可以连续输入/输出,有效地解决了微处理器同内存储器之间的数据交换问题。 5.面向多处理器结构,增加了支持多机操作的指令。,除以上80386、80486共有的特点之外,80486也采用了许多新技术:,2-6,2.1.3 Pentium微处理器(80586),1.采用超标量体系结构。 2.内置的浮点运算部件采用超流水线技术。 3.增加了分支指令预测。 4.内置了指令和数据两个独立的超高速缓存器,避免了预取指令和数据可能发生的冲突。,Pentium是
5、一种高性能的32位微处理器。其对80486作了下列重大改进:,2-7,5.采用64位外部数据总线。 6.引入了大型机中采用的 内部错误检测、功能冗余检验 和错误报告等自诊断功能。 7.进行了更多的可测性设计。 8.提供了独特的性能监察功能,以利于软、硬件产品的优化和升级。 9.提供了灵活的存储器页面管理。,2.1.3 Pentium微处理器(80586),2-8,精简指令集技术。 二级缓冲结构。 乱序执行和预测执行技术。 三级超标量和14级超流水线结构。 寄存器重命名技术,2.1.4 Pentium Pro微处理器,简称P6,中文名为“高能奔腾”。在体系结构中采用了许多新的思想和新的技术:,2
6、-9,2.1.5 Pentium 微处理器,P6级微处理器的第二代产品,从系统结构角度看,主要采用了以下几种先进技术:,采用了由三种创新处理技巧结合的动态执行技术,即:多分支预测、数据流分析和推测执行。 双重独立总线技术(DIB, Dual Independent Bus), 多媒体增强技术(MMX技术) 采用单指令流多数据流SIMD技术 新增加了57条功能强大的MMX指令,2-10,2.1.6 Pentium 微处理器,Pentium 是第三代P6级微处理器产品。与Pentium相比,有如下改进:,前端总线的时钟频率为100MHz (采用0.18m新工艺的Pentium ,其前端总线达到13
7、3MHz)。,将256KB的L2 Cache集成到了芯片内。 增加了 70条流式单指令多数据扩展SSE指令。 首次设置了处理器序列号PSN。,2-11,2.1.7 Pentium 4微处理器,1.采用了超级管道技术,使用长 达20级的分支预测/恢复管道,而P6 只有10级。 2.它的简单算术逻辑单元(ALU) 采用2倍的处理器核心频率运行。 3.动态执行技术中的指令池能容下126条指令。 4.内含一个4KB的分支目标缓冲。 5.增加了由144条新指令组成的SSE2。,它是第一个非P6核心结构的全新32位微处理器,与P6级微处理器相比,主要结构特点如下:,2-12,2.2 8086/8088微处
8、理器,内部结构 指令流水线 存储器分段,8086是全16位微处理器,8088是准16位微处理器。二者除了外数据总线位数及与此相关的部分逻辑稍有差别外,内部结构和基本性能相同,指令系统完全兼容。,2-13,1.内部结构,2.2 8086/8088微处理器,2-14,2.指令流水线,指令队列的存在使EU和BIU并行工作,取指令和分析、执行指令操作可重叠进行,形成了两级指令流水线结构,减少了CPU等待时间,提高了CPU的利用率,加快了整机运行速度,降低了对存储器存取速度的要求。,2.2 8086/8088微处理器,2-15,将1MB的物理存储空间分成若干个逻辑段,每段大小为64KB。,段的起始单元地
9、址叫段基址,存放在段寄存器中。通过4个段寄存器,CPU每次可同时对4个段进行寻址。,3.存储器分段,2.2 8086/8088微处理器,2-16,分段方式不唯一,各段之间可以连续、分离、部分重叠或完全重叠,这主要取决于对各个段寄存器的预置内容。,2.2 8086/8088微处理器, 存储器分段结构示例,2-17,物理地址是1MB存储空间中的某一单元地址,用20位地址码表示,CPU访问存储器时,地址总线上送出的就是物理地址。 逻辑地址在编程时采用,由段基址和偏移地址组成,两者均为16位。, 物理地址和逻辑地址,2.2 8086/8088微处理器,2-18,逻辑地址与20位物理地址的变换关系: 物
10、理地址=段基址16+偏移地址, 逻辑地址与物理地址的变换,2.2 8086/8088微处理器,2-19,2.3 Pentium微处理器,2.3.1 内部结构与外部引脚 2.3.2 内部寄存器 2.3.3 Pentium的四种工作方式,2-20,Pentium在结构上由如下功能部件组成: 整数执行单元 浮点单元 指令Cache和数据Cache 指令预取单元 指令译码单元 地址转换与管理单元 总线接口单元 控制单元 这些功能部件除地址转换与管理单元与80386/80486保持兼容外,其他都进行了重新设计。,2.3.1 内部结构和外部引脚,2-21,1. 内部结构,2.2.1 内部结构和外部引脚,1
11、)总线接口单元 主要用于管理访问外部存储器和 I/O端口必须的地址、数据和控制总线,完成预取指令、读/写数据等总线操作。,3)预取缓冲单元 预取缓冲单元在总线接口单元空闲时,负责提前去内存或指令Cache预取指令。其指令预取缓冲器在前一条指令执行结束之前可以预取多达94个字节的指令代码。,4)指令译码单元 将预取的指令译成Pentium可以执行的控制信号并送控制单元。对绝大多数指令来说,Pentium微处理器可以做到每个时钟周期以并行方式完成两条指令的译码操作。,5)控制单元 负责解释来自指令译码单元的指令字和控制ROM的微代码。控制部件的输出直接控制两条指令流水线和浮点单元。,6)地址转换与
12、存储管理单元 Pentium的地址转换与存储管理单元与80386/80486保持完全兼容,由分段和分页部件组成。Pentium除继续支持4KB大小的页面外,还允许使用高达4MB的页面,从而减少了页面切换的频率,并加快了某些应用程序的执行。,8) 浮点运算单元,2-22,2. Pentium的外部引脚,2-23,基本寄存器 系统级寄存器 调试和模型专用寄存器 浮点寄存器,Pentium的内部寄存器,按功能可分为4类:,2.3.2 Pentium内部寄存器,2-24,2.3.2 Pentium内部寄存器,1. 基本寄存器,EIP用于保存下一条待预取指令相对于代码基址的偏移量。它的低16位也可单独访
13、问,称之为IP。,2-25, 标志寄存器位定义,2.3.2 Pentium内部寄存器,2-26, 段寄存器,Pentium有6个段寄存器:,2.3.2 Pentium内部寄存器,编程者可直接访问的,编程者不能访问的,2-27,实地址方式和虚拟8086方式下相同,段的长度固定为64KB,段选择器就是段寄存器,它保存的是逻辑段基址的高16位,将它的内容左移4位即可得到实际段基址,而不必使用描述符高速缓存器。,在保护虚地址方式下,段的长度可以在1字节到4G字节之间变化;为了描述每个段的基址、属性和边界,为每个段定义了一个描述符。操作系统使用的各任务公用的段描述符放在一起构成全局描述符表GDT;某个任
14、务专用的段描述符放在一起构成局部描述符表LDT。,Pentium段的定义与8086有所不同:,2.3.2 Pentium内部寄存器,2-28, 描述符与描述符表,2.3.2 Pentium内部寄存器,2-29, 段的的选择符,为了说明一个段的描述符在哪个表中,表的序号是多少以及特权的高低,为每个段定义了一个16位的选择符,存于段选择器中,其格式为:,2.3.2 Pentium内部寄存器,2-30,将一个选择符装入一个段选择器时,处理器将自动从GDT或LDT中找到其对应的描述符装入相应描述符高速缓存器中。,2.3.2 Pentium内部寄存器,以后,每当访问存储器时,与所用段相关的段描述符高速缓
15、冲器就自动参与该次存储器访问操作。转换关系: 线性地址 = 段描述符高速缓存器中段基址 + 偏移地址,2-31,Pentium微处理器中包含一组系统级寄存器:即5个控制寄存器CR0CR4和4个系统地址寄存器。这些寄存器只能由在特权级 0上运行的程序(一般是操作系统)访问。,2.2.2 Pentium内部寄存器, 控制寄存器,Pentium在80486控制寄存器CR0CR3的基础上新增了一个控制寄存器CR4,这些寄存器用来存放全局特性的机器状态和实现对80X86/ Pentium微处理器的多种功能的控制与选择。,2.系统级寄存器,2-32,2.3.2 Pentium内部寄存器,CR0,CR4,C
16、R3,CR2,CR1, 控制寄存器格式:,2-33, 系统地址寄存器,2.3.2 Pentium的内部寄存器,系统地址寄存器,其中GDTR和LDTR分别用来存放GDT和LDT的32位线性基地址等内容;IDTR用来存放中断描述符表的基址和界限;TR用来存放任务状态段(TSS)的基址、界限和其他属性。,只在保护方式下使用,所以又叫保护方式寄存器。用于把在保护方式下常用的数据基地址、界限和其他属性保存起来,以确保其快速性。,2-34,Pentium处理器中提供了一组调试寄存器和一组模型专用寄存器,用于排除故障和用于执行跟踪、性能监测、测试及机器检查错误。,2.3.2 Pentium的内部寄存器,3.调试和模型专用寄存器,2-35,Pentium处理器取消了80386/80486中的测试寄存器TR,其功能由一组“模型专用寄存器” MSR(Model Special Register)来实现,这一组MSR用于执行跟踪、