微处理器与指令系统.ppt
《微处理器与指令系统.ppt》由会员分享,可在线阅读,更多相关《微处理器与指令系统.ppt(138页珍藏版)》请在三一办公上搜索。
1、2-11,第二章 微处理器和指令系统,2.1 Intel系列微处理器概述2.2 8086/8088微处理器2.3 Pentium微处理器2.4 Pentium微处理器指令系统,2-12,Intel 8086/8088 微处理器2.1.2 Intel 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-13,2.1.1 Intel 8086/8088 微处理器,8086是1978年推
2、出的全16位微处理器,8088是1979年推出的准16位微处理器。二者除外数据总线位数(8086为16位,8088为8位)及与此相关的部分逻辑稍有差别外,内部结构和基本性能相同(地址总线20位),指令系统完全兼容。,在8086/8088的设计中,引入了两个重要的结构概念:指令流水线 存储器分段,这两个概念在以后升级的Intel系列微处理器中一直被沿用和发展。正是这两个概念的引入,使8086/8088比原来的8位MPU在运行速度、处理能力和对存储空间的访问等性能方面有很大提高。,2-14,2.1.2 80486微处理器,1.内部寄存器的容量都扩充到了32位或以上,具有全32 位数据处理能力,并可
3、进行64位的数据运算。2.片内存储管理部件可实现段页式存储管理,比80286可 提供更大的虚拟存储空间和物理存储空间。3.新增了一种保护模式下的工作方式,即虚拟8086方式。4.指令流水线增加到了6级。5.提供了32位外部总线接口,最大数据传输速率显著提 高。,80486是继80386之后推出的第二代32位高性能微处理器,它以提高性能和面向多处理器系统为主要目标。80486继承了80386的各种优点,表现在以下几方面:,2-15,1.片内集成了一个浮点运算单元FPU。2.内含一个8KB的数据与指令合用的Cache。3.采用RISC技术。使芯片内的不规则控制部分减少,同时常用基本指令采用硬件逻辑
4、控制执行,使基本指令可以用一个时钟周期完成。4.采用一种突发总线(Burst Bus)的技术。使取得一个地址后,与该地址相关的一组数据可以连续输入/输出,有效地解决了微处理器同内存储器之间的数据交换问题。5.面向多处理器结构,增加了支持多机操作的指令。,2.1.2 80486微处理器,除以上80386、80486共有的特点之外,80486也采用了许多新技术:,2-16,2.1.3 Pentium微处理器(80586),1.采用超标量体系结构。2.内置的浮点运算部件采用超流水线技术。3.增加了分支指令预测。4.内置了指令和数据两个独立的超高速缓存器,避免了预取指令和数据可能发生的冲突。,Pent
5、ium是一种高性能的32位微处理器。其对80486作了下列重大改进:,2-17,5.采用64位外部数据总线。6.引入了大型机中采用的内部错误检测、功能冗余检验和错误报告等自诊断功能。7.进行了更多的可测性设计。8.提供了独特的性能监察功能,以利于软、硬件产品的优化和升级。9.提供了灵活的存储器页面管理。,2.1.3 Pentium微处理器(80586),2-18,精简指令集技术。二级缓冲结构。乱序执行和预测执行技术。三级超标量和14级超流水线结构。寄存器重命名技术,2.1.4 Pentium Pro微处理器,简称P6,中文名为“高能奔腾”。在体系结构中采用了许多新的思想和新的技术:,2-19,
6、2.1.5 Pentium 微处理器,P6级微处理器的第二代产品,从系统结构角度看,主要采用了以下几种先进技术:,采用了由三种创新处理技巧结合的动态执行技术,即:多分支预测、数据流分析和推测执行。双重独立总线技术(DIB,Dual Independent Bus),多媒体增强技术(MMX技术)采用单指令流多数据流SIMD技术 新增加了57条功能强大的MMX指令,2-110,2.1.6 Pentium 微处理器,Pentium 是第三代P6级微处理器产品。与Pentium相比,有如下改进:,前端总线的时钟频率为100MHz(采用0.18m新工艺的Pentium,其前端总线达到133MHz)。,将
7、256KB的L2 Cache集成到了芯片内。增加了 70条流式单指令多数据扩展SSE指令。首次设置了处理器序列号PSN。,2-111,2.1.7 Pentium 4微处理器,1.采用了超级管道技术,使用长达20级的分支预测/恢复管道,而P6只有10级。2.它的简单算术逻辑单元(ALU)采用2倍的处理器核心频率运行。3.动态执行技术中的指令池能容下126条指令。4.内含一个4KB的分支目标缓冲。5.增加了由144条新指令组成的SSE2。,它是第一个非P6核心结构的全新32位微处理器,与P6级微处理器相比,主要结构特点如下:,2-112,2.2 Intel8086/8088微处理器,内部结构指令流
8、水线存储器分段,8086是全16位微处理器,8088是准16位微处理器。二者除了外数据总线位数及与此相关的部分逻辑稍有差别外,内部结构和基本性能相同,指令系统完全兼容。,2-113,1.内部结构,2.2 Intel 8086/8088微处理器,段寄存器,2-114,这种流水线操作并没有减少每条指令的执行步骤与时间,但由于各指令的不同步骤之间并行执行,从而极大地提高了指令流(程序)的执行速度。,流水线操作的优点:指令队列的存在使EU和BIU并行工作,取指令和分析、执行指令操作可重叠进行,形成了两级指令流水线结构,减少了CPU等待时间,提高了CPU的利用率,加快了整机运行速度,降低了对存储器存取速
9、度的要求。,2.指令流水线,2.2 Intel 8086/8088微处理器,2-115,将1MB的物理存储空间分成若干个逻辑段,每段大小为64KB。,段的起始单元地址叫段基址,存放在段寄存器中。通过4个段寄存器,CPU每次可同时对4个段进行寻址。,3.存储器分段,2.2 Intel 8086/8088微处理器,2-116,分段方式不唯一,各段之间可以连续、分离、部分重叠或完全重叠,这主要取决于对各个段寄存器的预置内容。,2.2 Intel 8086/8088微处理器,存储器分段结构示例,2-117,物理地址是1MB存储空间中的某一单元地址,用20位地址码表示,CPU访问存储器时,地址总线上送出
10、的就是物理地址。逻辑地址在编程时采用,由段基址和偏移地址组成,两者均为16位。,物理地址和逻辑地址,2.2 Intel 8086/8088微处理器,2-118,逻辑地址与20位物理地址的变换关系:物理地址=段基址16+偏移地址,逻辑地址与物理地址的变换,2.2 Intel 8086/8088微处理器,2-119,2.3 Pentium微处理器,2.3.1 内部结构与外部引脚2.3.2 内部寄存器2.3.3 Pentium的四种工作方式,2-120,Pentium在结构上由如下功能部件组成:整数执行单元 浮点单元 指令Cache和数据Cache 指令预取单元 指令译码单元 地址转换与管理单元 总
11、线接口单元 控制单元 这些功能部件除地址转换与管理单元与80386/80486保持兼容外,其他都进行了重新设计。,2.3.1 内部结构和外部引脚,2-121,1.内部结构,2.2.1 内部结构和外部引脚,1)总线接口单元 主要用于管理访问外部存储器和 I/O端口必须的地址、数据和控制总线,完成预取指令、读/写数据等总线操作。,3)预取缓冲单元 预取缓冲单元在总线接口单元空闲时,负责提前去内存或指令Cache预取指令。其指令预取缓冲器在前一条指令执行结束之前可以预取多达94个字节的指令代码。,4)指令译码单元 将预取的指令译成Pentium可以执行的控制信号并送控制单元。对绝大多数指令来说,Pe
12、ntium微处理器可以做到每个时钟周期以并行方式完成两条指令的译码操作。,5)控制单元 负责解释来自指令译码单元的指令字和控制ROM的微代码。控制部件的输出直接控制两条指令流水线和浮点单元。,6)地址转换与存储管理单元 Pentium的地址转换与存储管理单元与80386/80486保持完全兼容,由分段和分页部件组成。Pentium除继续支持4KB大小的页面外,还允许使用高达4MB的页面,从而减少了页面切换的频率,并加快了某些应用程序的执行。,8)浮点运算单元,2-122,2.Pentium的外部引脚,2-123,基本寄存器系统级寄存器调试和模型专用寄存器浮点寄存器,Pentium的内部寄存器,
13、按功能可分为4类:,2.3.2 Pentium内部寄存器,2-124,2.3.2 Pentium内部寄存器,1.基本寄存器,EIP用于保存下一条待预取指令相对于代码基址的偏移量。它的低16位也可单独访问,称之为IP。,2-125,标志寄存器位定义,2.3.2 Pentium内部寄存器,2-126,段寄存器,Pentium有6个段寄存器:,2.3.2 Pentium内部寄存器,编程者可直接访问的,编程者不能访问的,程序中(或系统)装入段选择器的也不再是直接的段基址,而是一个指向某个段描述符的16位的段选择符。,2-127,实地址方式和虚拟8086方式下相同,段的长度固定为64KB,段选择器就是段
14、寄存器,它保存的是逻辑段基址的高16位,将它的内容左移4位即可得到实际段基址,而不必使用描述符高速缓存器。,在保护虚地址方式下,段的长度可以在1字节到4G字节之间变化;为了描述每个段的基址、属性和边界,为每个段定义了一个描述符。操作系统使用的和各任务公用的段描述符放在一起构成全局描述符表GDT;某个任务专用的段描述符放在一起构成局部描述符表LDT。,Pentium段的定义与8086有所不同:,2.3.2 Pentium内部寄存器,段 的 类 型存储段:代码段、数据段和堆栈段.系统段:局部描述符表(LDT)段和任务状态段(TSS).门:调用门、中断门、陷进门和任务门 门是保护模式新增加的。门并不
15、是段,但是,由它可以通向一个程序的入口或一个任务的入口,而程序在存储器中表现为代码段,因此,门与代码段有关,也把它划归到系统段这一类。,一、32位微型计算机接口技术及应用刘乐善华中科技大学出版社2006.12二、三 级 偏 硬 考 试 教 程 江正战东南大学出版社2004.6,2-128,描述符与描述符表,2.3.2 Pentium内部寄存器,2-129,段的的选择符,为了说明一个段的描述符在哪个表中,表的序号是多少以及特权的高低,为每个段定义了一个16位的选择符,存于段选择器中,其格式为:,2.3.2 Pentium内部寄存器,2-130,将一个选择符装入一个段选择器时,处理器将自动从GDT
16、或LDT中找到其对应的描述符装入相应描述符高速缓存器中。,2.3.2 Pentium内部寄存器,以后,每当访问存储器时,与所用段相关的段描述符高速缓冲器就自动参与该次存储器访问操作。转换关系:线性地址=段描述符高速缓存器中段基址+偏移地址,图2.11和2.15,2-131,Pentium微处理器中包含一组系统级寄存器:即5个控制寄存器CR0CR4和4个系统地址寄存器。这些寄存器只能由在特权级 0上运行的程序(一般是操作系统)访问。,2.2.2 Pentium内部寄存器,控制寄存器,Pentium在80486控制寄存器CR0CR3的基础上新增了一个控制寄存器CR4,这些寄存器用来存放全局特性的机
17、器状态和实现对80X86/Pentium微处理器的多种功能的控制与选择。,2.系统级寄存器,2-132,2.3.2 Pentium内部寄存器,CR0,CR4,CR3,CR2,CR1,控制寄存器格式:,2-133,系统地址寄存器,2.3.2 Pentium的内部寄存器,系统地址寄存器,其中GDTR和LDTR分别用来存放GDT和LDT的32位线性基地址等内容;IDTR用来存放中断描述符表的基址和界限;TR用来存放任务状态段(TSS)的基址、界限和其他属性。,只在保护方式下使用,所以又叫保护方式寄存器。用于把在保护方式下常用的数据基地址、界限和其他属性保存起来,以确保其快速性。,2-134,Pent
18、ium处理器中提供了一组调试寄存器和一组模型专用寄存器,用于排除故障和用于执行跟踪、性能监测、测试及机器检查错误。,2.3.2 Pentium的内部寄存器,3.调试和模型专用寄存器,2-135,Pentium处理器取消了80386/80486中的测试寄存器TR,其功能由一组“模型专用寄存器”MSR(Model Special Register)来实现,这一组MSR用于执行跟踪、性能监测、测试和机器检查错误。Pentium处理器采用两条指令RDMSR(读MSR)和WRMSR(写MSR)来访问这些寄存器,ECX中的值(8位值)确定将访问该组寄存器中哪一个MSR。,2.3.2 Pentium的内部寄
19、存器,(2)模型专用寄存器,2-136,2.3.3 Pentium的四种工作方式,2-137,2.4 Pentium微处理器指令系统,2.4.1 基本数据类型2.4.2 操作数寻址方式2.4.3 Pentium指令系统概貌2.4.4 数据传送类指令2.4.5 算术运算类指令2.4.6 逻辑运算和移位指令2.4.7 串操作类指令2.4.8 控制转移类指令,2-138,Pentium在其内部定点处理单元CPU和浮点处理单元FPU的支持下,共可处理7类数据:,1.无符号二进制数2.带符号的二进制定点整数3.浮点数4.BCD码数5.串数据6.ASCII码数据7.指针数据,2.4.1 基本数据类型,2-
20、139,2.4.1 基本数据类型,这类数不带任何符号信息,只含有量值域,仅CPU支持。分为三类:,字节:字:双字:,任何逻辑地址上的8位相邻位串。,任何字节地址开始的2个相邻字节。低字节地址为该字地址。,任何字节地址开始的2个相邻字,即4个相邻字节。最小字节地址为双字的地址。,1.无符号二进制数(序数),2-140,这类数均以补码表示,有8位数(字节)、16位数(字)、32位数(双字)、64位数(4字)四种。,CPU支持前3种,FPU支持后3种。,2.4.1 基本数据类型,2.带符号的二进制定点整数(整数),2-141,2.4.1 基本数据类型,这类数由FPU支持,有单精度、双精度和扩展精度三
21、种形式:,单精度数,双精度数,扩展精度数,3.浮点数(实数),2-142,BCD码数有压缩BCD码数和非压缩BCD码数两种。CPU两种数都支持;FPU只支持压缩BCD码数,且最大长度为80位,最多可处理20位BCD码数。,2.4.1 基本数据类型,5.串数据,这类数据仅CPU支持。包括:位串:字节/字/双字串:,是从任何字节的任何位开始的相邻位的序列,最长可达232-1位。,是字节/字/双字的相邻序列,最长可达232-1字节。,4.BCD码数,2-143,2.4.1 基本数据类型,包括ASCII码字符串和ASCII码数(0F)两种。,7.指针数据,包括近指针和远指针两种:,近指针即32位指针,
22、是一个32位的段内偏移量,段内寻址用。远指针即48位指针,由16位选择符和32位偏移量组成,用于跨段访问。,6.ASCII码数据,2-144,关于数据类型的两点说明:,(1)在上述各类型数据中,基本的数据类型仍是字节、字和双字。一般应尽可能将字操作对准于偶地址,将双字操作对准于4的整数倍地址。但也允许不对准操作,以便在数据结构的处理上和存储器的有效利用上给系统设计人员和用户提供最大的灵活性。不过,对准和不对准获得的数据传递速度不一样:对准的字和双字可一次传递完,而未对准的字和双字需几次才能传递完。(2)对于字和双字数据,80X86是采用低端低地址方式来存储的。即字数据被存储在两个相邻的字节单元
23、之中,低位字节在低地址单元,高位字节在高地址单元;双字数据存储在四个连续字节单元中,最低位字节在最低地址单元,最高字节在最高地址单元。而字或双字数据的地址是指最低位字节所在的单元地址。,2.4.1 基本数据类型,2-145,2.4.2 操作数寻址方式,1.寻址方式和有效地址概念2.11种寻址方式3.存储器寻址时的段约定4.应用举例,2-146,2.4.2 寻址方式,寻址方式就是寻找指令中操作数地址的方式。操作数所在地址有三种可能:,直接包含在指令中,即指令的操作数部分就是操作 数本身。这种操作数叫立即数,对应的指令寻址方 式称为立即数寻址。,包含在CPU 的某个内部寄存器中。这时指令中的操 作
24、数部分是CPU的一个寄存器,这种指令寻址方式称 为寄存器寻址。,在内存储器中。这时指令的操作数部分包含着该操 作数所在的内存地址。这种指令寻址方式称为存储 器寻址。,1.寻址方式和有效地址概念,寻址方式,2-147,在Pentium系列MPU中,内存实际地址(PA)由段基地址和段内偏移地址两部分组成。为了适应处理各种数据结构的需要,段内偏移地址可由以下几部分组合而成:,基址寄存器内容 变址寄存器内容 比例因子 位移量,这四个基本部分称为偏移地址四元素,一般又将由这四种元素组合形成的偏移地址称为有效地址EA。,EA=基址+(变址比例因子)+位移量,有效地址EA,2.4.2 寻址方式,2-148,
25、2.4.2 寻址方式,16位和32位寻址时的四元素定义,2-149,保护方式下的寻址过程(地址转换过程),2.4.2 寻址方式,2-150,2.4.2 寻址方式,偏移地址四元素可优化组合出9种存储器寻址方式,加上立即数寻址和寄存器寻址,Pentium共有11种寻址方式:,(1)立即数寻址(2)寄存器寻址(3)直接寻址(4)寄存器间接寻址(5)基址寻址,(6)变址寻址(7)比例变址寻址(8)基址加变址寻址(9)基址加比例变址寻址(10)带位移的基址加变址寻址(11)带位移的基址加比例变址寻址,2.11种寻址方式,2-151,2.4.2 寻址方式,在这种寻址方式下,操作数作为立即数直接存在指令中,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器 指令系统
链接地址:https://www.31ppt.com/p-5975696.html