第2章微处理器与指令系统(同名40)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章微处理器与指令系统(同名40)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器 指令系统 同名 40 课件
- 资源描述:
-
1、第二章第二章 微处理器和指令系统微处理器和指令系统n2011.9.182.1.1 2.1.1 8086/8088 8086/8088 微处理器微处理器 8086 8086是是19781978年推出的全年推出的全1616位微处理器位微处理器,8088,8088是是19781978年推出年推出的准的准1616位微处理器。二者除外数据总线位数(位微处理器。二者除外数据总线位数(80868086为为1616位,位,80888088为为8 8位)及与此相关的部分逻辑稍有差别外位)及与此相关的部分逻辑稍有差别外,内部结构内部结构和基本性能相同和基本性能相同,指令系统完全兼容。指令系统完全兼容。在在8086
2、/80888086/8088的设计中,引入了两个重要的结构概念:的设计中,引入了两个重要的结构概念:指令流水线指令流水线 存储器分段存储器分段 这两个概念在以后升级的这两个概念在以后升级的IntelIntel系列微处理器中一直被沿用和发展。系列微处理器中一直被沿用和发展。正是这两个概念的引入,使正是这两个概念的引入,使8086/80888086/8088比原来的比原来的8 8位位MPUMPU在运行速度、在运行速度、处理能力和对存储空间的访问等性能方面有很大提高。处理能力和对存储空间的访问等性能方面有很大提高。2.2.1 8086/80881 8086/8088微处理器微处理器内部结构内部结构指
3、令流水线指令流水线存储器分段存储器分段 8086 8086是全是全1616位微处理器,位微处理器,80888088是准是准1616位微处理器。二位微处理器。二者除了外数据总线位数及与此相关的部分逻辑稍有差别外,者除了外数据总线位数及与此相关的部分逻辑稍有差别外,内部结构和基本性能相同,指令系统完全兼容。内部结构和基本性能相同,指令系统完全兼容。1.1.内部结构内部结构2.2.1.1 8086/80881.1 8086/8088微处理器微处理器2020位位ABABEUEU控制电路控制电路总线总线控制电路控制电路通用寄存器通用寄存器累加器累加器基址寄存器基址寄存器计数寄存器计数寄存器数据寄存器数据
4、寄存器堆栈指针堆栈指针基址指针基址指针目的变址目的变址源变址源变址指针寄存器指针寄存器变址寄存器变址寄存器地址加法器地址加法器运算暂存器运算暂存器ALUALU标志寄存器标志寄存器指令指针指令指针内部暂存器内部暂存器指令队列指令队列总线接口单元总线接口单元(BIU)BIU)执行单元执行单元(EU)EU)外部总线外部总线8086/80888086/8088DBDB8088:88088:8位位8086:168086:16位位CSCSDSDSSSSSESESIPIP1 2 3 4 5 61 2 3 4 5 68 8位位8088808880868086AX AH ALAX AH ALBX BH BLBX
5、 BH BLCX CH CLCX CH CLDX DH DLDX DH DL SPSPBPBPDIDISISIALU DBALU DB1616位位 8086 CPU 8086 CPU内部指令执行流程内部指令执行流程1.1.段寄存器段寄存器CS CS 程序指针寄存器程序指针寄存器IP IP 内容经过地址加法器形成内容经过地址加法器形成20 20 位地址;位地址;2.2.由由CPUCPU内部地址总线内部地址总线AB AB,经过总线地址控制电路,经过总线地址控制电路,向外部总线发向外部总线发读取指令的的控制信号,读取指令的的控制信号,外部总线开始总线操作;外部总线开始总线操作;3.3.读取指令送入到
6、指令队列中,读取指令送入到指令队列中,等待执行;等待执行;4.4.EUEU单元从队列中取一条指令到单元从队列中取一条指令到EUEU控制电路,译码指令需要做的系列控制电路,译码指令需要做的系列操作,包括寄存器的内容送累加器;操作,包括寄存器的内容送累加器;5.5.操作结果经过内部数据总线,操作结果经过内部数据总线,存放到寄存器或内部暂存器,同时置存放到寄存器或内部暂存器,同时置FRFR;6.6.根据根据DSDS寄存器的内容,及指令寻址方式产生的偏移量,经过地址加寄存器的内容,及指令寻址方式产生的偏移量,经过地址加法器,形成数据保存地址,并送到外部总线。法器,形成数据保存地址,并送到外部总线。CP
7、U CPU 发写总线操作命发写总线操作命令,将暂存器的内容,令,将暂存器的内容,通过总线,通过总线,写到指定内存单元。写到指定内存单元。2.2.指令流水线指令流水线 指令队列的存在使指令队列的存在使EUEU和和BIUBIU并行工作并行工作,取指令和分析、取指令和分析、执行指令操作可重叠进行,形成了两级指令流水线结构,执行指令操作可重叠进行,形成了两级指令流水线结构,减少了减少了CPUCPU等待时间,提高了等待时间,提高了CPUCPU的利用率,加快了整机的利用率,加快了整机运行速度,降低了对存储器存取速度的要求。运行速度,降低了对存储器存取速度的要求。BIUBIUEUEU 8086/8088 8
8、086/8088的指令的指令“流水流水”操作操作取指令取指令1 1取指令取指令2 2译码译码1 1取数据取数据1 1执行执行1 1取指令取指令3 3译码译码2 2存结果存结果1 1执行执行2 2取指令取指令4 4译码译码3 3取指令取指令5 5等待等待3.3.存储器分段存储器分段8086物理地址(1M=220)将将1 1MBMB的物理存储空的物理存储空间分成若干个逻辑段间分成若干个逻辑段,每每段大小为段大小为6464KBKB。64KB30000H(段基址段基址)段的起始单元地址段的起始单元地址叫叫段基址段基址,存放在段寄,存放在段寄存器中。通过存器中。通过4 4个段寄个段寄存器,存器,CPUC
9、PU每次可同时每次可同时对对4 4个段进行寻址。个段进行寻址。内存内存 00000H00001H00002H00003HFFFFFH 分段方式不分段方式不唯一,各段之间唯一,各段之间可以连续、分离、可以连续、分离、部分重叠或完全部分重叠或完全重叠,这主要取重叠,这主要取决于对各个段寄决于对各个段寄存器的预置内容。存器的预置内容。1000H2000H3100H3100H代码段代码段(64KB)堆栈段堆栈段(64KB)数据段与附加数据段与附加数据段重叠数据段重叠(64KB)CS10000H20000H31000HSSDSES1FFFFH2FFFFH40FFFH 存储器分段结构示例存储器分段结构示例
10、内存内存20000H20A00H0A00H物理地址物理地址20A00H2000 物理地址和逻辑地址物理地址和逻辑地址逻辑地址与逻辑地址与2020位物理地址的变换关系:位物理地址的变换关系:物理地址物理地址=段基址段基址16+16+偏移地址偏移地址偏移地址偏移地址段基址段基址段基址段基址 000000002020位物理地址位物理地址逻辑地址逻辑地址15 0 15 015 0 15 0 左移四位左移四位19 019 0地址地址加法器加法器 逻辑逻辑地址与物理地址的变换地址与物理地址的变换【例】若数据段寄存器DS2100H,试确定该存储区段物理地址的范围。一个逻辑段的最大容量为64KB;第一个存储单
11、元的偏移地址为0;最后一个存储单元的偏移地址为FFFFH。该数据区段由低至高相应存储单元的偏移地址为:0000H FFFFH。存储区的首地址 DS16偏移地址 2100H160000H21000H存储区的末地址DS16偏移地址 2100H16FFFFH 30FFFH2.2.2.3 Pentium2.3 Pentium的四种工作方式的四种工作方式1.实地址工作模式实地址工作模式n 最基本的工作方式。最基本的工作方式。n 8086/8088的实地址模式保持兼容。的实地址模式保持兼容。n 微处微处Pentium理器的实地址模式具有更强的功能,增理器的实地址模式具有更强的功能,增 加了寄存器,扩充了指
12、令,可进行加了寄存器,扩充了指令,可进行32位操作。位操作。实模式操作方式只允许微处理器寻址第一个实模式操作方式只允许微处理器寻址第一个1MB存储器存储器空间空间;当微处当微处Pentium理器工作于实地址模式时,存储器的管理器工作于实地址模式时,存储器的管理方式与理方式与8086微处理器存储器的管理方式完全相同。微处理器存储器的管理方式完全相同。2.2.2 Pentium2 Pentium微处理器微处理器2.保护虚拟方式保护虚拟方式 通常在程序运行过程中,应防止以下情况的发生:通常在程序运行过程中,应防止以下情况的发生:应用程序破坏系统程序。应用程序破坏系统程序。某一应用程序破坏了其他应用程
13、序。某一应用程序破坏了其他应用程序。错误地把数据当作程序运行。错误地把数据当作程序运行。为了避免出现以上情形的发生,所采取的措施称作为了避免出现以上情形的发生,所采取的措施称作“保护保护”。CPUCPU复位复位RSMRSM复位复位或或RSMRSMVM=0VM=0VM=1VM=1复位复位复位复位或或PE=0PE=0使使CRCR0 0的的PE=1PE=1系统管系统管理方式理方式保护保护方式方式虚拟虚拟80868086方式方式RSMRSMSMISMI实地址实地址方式方式SMISMISMISMI实地址实地址方式方式实地址方式实地址方式:工作原理工作原理与与80868086基本相同,主要基本相同,主要区
14、别是借助操作数长度区别是借助操作数长度前缀能处理前缀能处理3232位数据,位数据,运行速度也更高,且可运行速度也更高,且可使用使用4 4个数据段。个数据段。保护保护方式方式保护方式:保护方式:CPUCPU可访问的物理存可访问的物理存储空间为储空间为2 23232=4=4GBGB;程序可用程序可用的虚拟地址空间为的虚拟地址空间为2 24646=64=64TBTB。段长度在启动页功能时是段长度在启动页功能时是4 4GBGB,不启动页功能时是不启动页功能时是1 1MBMB。可支可支持多用户和单用户的多任务操持多用户和单用户的多任务操作作,并对各任务提供了多方面并对各任务提供了多方面的保护机制。的保护
15、机制。虚拟虚拟80868086方式方式虚拟虚拟80868086方式:方式:既有保护功能又能既有保护功能又能执行执行80868086代码的工作方式,是保护代码的工作方式,是保护方式的一种子方式。方式的一种子方式。CPUCPU的工作原理的工作原理与保护虚地址方式下相同,但程序与保护虚地址方式下相同,但程序指定的逻辑地址解释与指定的逻辑地址解释与80868086相同。相同。系统系统管理管理方式方式系统管理方式:系统管理方式:使设计使设计者实现高级管理功能,者实现高级管理功能,如对电源的管理以及为如对电源的管理以及为操作系统和正在运行的操作系统和正在运行的程序提供安全性。程序提供安全性。基本寄存器基本
16、寄存器系统级寄存器系统级寄存器调试和模型专用寄存器调试和模型专用寄存器 浮点寄存器浮点寄存器PentiumPentium的内部寄存器,按功能可分为的内部寄存器,按功能可分为4 4类:类:2.2.2.2 Pentium2.2 Pentium内部寄存器内部寄存器 2.2.2 Pentium2 Pentium微处理器微处理器标志寄存器标志寄存器指令指针寄存器指令指针寄存器EFLAGSEFLAGSFLAGSFLAGSEIPEIPIPIP31 15 031 15 031 15 031 15 031 16 15 7 031 16 15 7 0通通 用用 寄寄 存存 器器EAX EAX AH AH AX A
17、X ALALEBX EBX BH BH BX BX BLBLECX ECX CHCH CX CX CLCLEDX EDX DHDH DX DX DLDLEDI DIEDI DIESI SIESI SIEBP BPEBP BPESP SPESP SP1.1.基本寄存器基本寄存器选择器选择器CSCSSSSSDSDSESESFSFSGSGS15 0 63 015 0 63 0描述符高速缓存器描述符高速缓存器段段 寄寄 存存 器器 EIP EIP用于保存下一条待用于保存下一条待预取指令相对于代码基址预取指令相对于代码基址的偏移量。它的低的偏移量。它的低1616位也位也可单独访问,称之为可单独访问,称之
18、为IPIP。标志寄存器位定义标志寄存器位定义C CF FEFLAGSEFLAGSFLAGSFLAGS31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0A AC CV VMMR RF F0 0N NT TIOPLIOPLO OF FD DF FIFIFT TF FS SF FZ ZF F0 0A AF F0 0
19、P P F F0 0X X 对准检查标志对准检查标志X X 虚拟虚拟8686模式标志模式标志X X 恢复标志恢复标志X X 嵌套标志嵌套标志X X 特权级标志特权级标志S S 溢出标志溢出标志C C 方向标志方向标志X X 中断允许标志中断允许标志X X 自陷标志自陷标志S S 符号标志符号标志S S 零标志零标志S S 辅助进位标志辅助进位标志S S 奇偶标志奇偶标志S S 进位标志进位标志注注:S S表示状态标志表示状态标志,X X表示系统标志表示系统标志,C C表示控制标志表示控制标志X X 虚拟中断标志虚拟中断标志X IDX ID标志标志X X 虚拟中断挂起虚拟中断挂起0 0 0 0
20、0 0 0 0 0 0V VIFIFV VIPIPI ID D选择器选择器描述符高速缓存器描述符高速缓存器CSSSDSESFSGS15 0 63 015 0 63 0段段寄寄存存器器 段寄存器段寄存器PentiumPentium有有6 6个段寄存器:个段寄存器:CS-CS-指明当前的代码段指明当前的代码段SS-SS-指明当前的堆栈段指明当前的堆栈段DSDSESESFS FS GSGS决定程序使用决定程序使用存储器区域块存储器区域块指明当前的指明当前的4 4个数据段个数据段编程者可直编程者可直接访问的接访问的编程者不能编程者不能访问的访问的段选择符段选择符段描述符段描述符1.1.实地址方式和虚拟
21、实地址方式和虚拟80868086方式下相同,段的长度固方式下相同,段的长度固定为定为6464KB,KB,段选择器就是段寄存器段选择器就是段寄存器,它保存的是逻它保存的是逻辑段基址的高辑段基址的高1616位,将它的内容左移位,将它的内容左移4 4位即可得到位即可得到实际段基址,实际段基址,而不必使用描述符高速缓存器。而不必使用描述符高速缓存器。2.2.在保护虚地址方式下,在保护虚地址方式下,段的长度可以在段的长度可以在1 1字节到字节到4 4G G字节之间变化字节之间变化;为了描述每个段的基址、属性;为了描述每个段的基址、属性和边界,为每个段定义了一个和边界,为每个段定义了一个描述符描述符。Pe
22、ntiumPentium段的定义与段的定义与80868086有所不同:有所不同:这类数不带任何符号信息,只含有量值域这类数不带任何符号信息,只含有量值域,仅,仅CPUCPU支支持。分为三类持。分为三类:字节:字节:字:字:双字:双字:任何逻辑地址上的任何逻辑地址上的8 8位相邻位串。位相邻位串。任何字节地址开始的任何字节地址开始的2 2个相邻字节。个相邻字节。低字节地址低字节地址为该字地址。为该字地址。任何字节地址开始的任何字节地址开始的2 2个相邻字,即个相邻字,即4 4个相邻字个相邻字节。节。最小字节地址为双字的地址最小字节地址为双字的地址。1.1.无符号二进制数无符号二进制数(序数序数)
23、2.2.3.1 3.1 基本数据类型基本数据类型2.2.3 3 PentiumPentium微处理器指令系统微处理器指令系统 这类数均以补码表示这类数均以补码表示,有有8 8位数位数(字节字节)、1616位数位数(字字)、3232位数位数(双字双字)、6464位数位数(4(4字字)四种。四种。CPUCPU支持前支持前3 3种,种,FPUFPU支持后支持后3 3种。种。2.2.带符号的二进制定点整数带符号的二进制定点整数(整数整数)关于数据类型的两点说明:关于数据类型的两点说明:(1)(1)各类型数据中,基本的数据类型仍是字节、字和双字各类型数据中,基本的数据类型仍是字节、字和双字 尽可能将字操
24、作尽可能将字操作对准对准于偶地址,将双字操作于偶地址,将双字操作对准对准于于4 4的整数倍地址。的整数倍地址。对准的字和双字可一次传递完,未对准的字和双字对准的字和双字可一次传递完,未对准的字和双字需几次才能传递完。需几次才能传递完。(2)(2)对于字和双字数据,对于字和双字数据,8080X86X86是采用低端低地址方式来是采用低端低地址方式来存储存储 字数据被存储在两个相邻的字节单元之中,低位字字数据被存储在两个相邻的字节单元之中,低位字节在低地址单元,高位字节在高地址单元;节在低地址单元,高位字节在高地址单元;双字数据存储在四个连续字节单元中,最低位字节双字数据存储在四个连续字节单元中,最
25、低位字节在最低地址单元,最高字节在最高地址单元。在最低地址单元,最高字节在最高地址单元。而字或双字数据的地址是指而字或双字数据的地址是指最低位字节最低位字节所在的单元地所在的单元地址。址。2.2.3.2 3.2 操作数寻址方式操作数寻址方式1.1.寻址方式和有效地址概念寻址方式和有效地址概念2.112.11种寻址方式种寻址方式3.3.存储器寻址时的段约定存储器寻址时的段约定4.4.应用举例应用举例 寻址方式就是寻找指令中操作数地址的方式。操作数所寻址方式就是寻找指令中操作数地址的方式。操作数所在地址有三种可能:在地址有三种可能:n 直接包含在指令中直接包含在指令中,即指令的操作数部分就是操作,
展开阅读全文