原理与接口技术-第2章.pptx
《原理与接口技术-第2章.pptx》由会员分享,可在线阅读,更多相关《原理与接口技术-第2章.pptx(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 微处理器系统结构与技术微处理器系统结构与技术【学习目标学习目标】微处理器是微机系统的核心部件与技术关键。本章在介绍微处理器是微机系统的核心部件与技术关键。本章在介绍Intel 8086/8088 CPUIntel 8086/8088 CPU系统结系统结构与技术的基础上,简要描述构与技术的基础上,简要描述8028680286、8038680386、8048680486以及以及Pentium Pentium 系列系列CPUCPU系统结构的演系统结构的演变与技术特点。变与技术特点。【学习要求学习要求】了解了解CISCCISC和和RISCRISC是是CPUCPU的两种基本架构。的两种基本架
2、构。理解理解808680868088 CPU8088 CPU的内部组成结构是的内部组成结构是Intel80 x86Intel80 x86系列微处理器体系结构的基础。系列微处理器体系结构的基础。透彻理解存储器的分段设计这一关键性存储管理技术基础。透彻理解存储器的分段设计这一关键性存储管理技术基础。掌握物理地址和逻辑地址的关系及其变换原理,是理解存储管理机制的关键。掌握物理地址和逻辑地址的关系及其变换原理,是理解存储管理机制的关键。理解理解“段加偏移段加偏移”寻址机制允许重定位。寻址机制允许重定位。着重理解着重理解8038680386的段、页式管理,的段、页式管理,8048680486对对8038
3、680386的技术更新和的技术更新和5 5级流水线技术思想。级流水线技术思想。了解了解PentiumPentium微处理器的体系结构特点,理解双流水线与双微处理器的体系结构特点,理解双流水线与双cachecache的技术思想。的技术思想。了解多处理器计算机系统和嵌入式系统的基本知识。了解多处理器计算机系统和嵌入式系统的基本知识。1第第2章章 微处理器系统结构与技术微处理器系统结构与技术 2.1 CISC2.1 CISC与与RISCRISC技术技术CISC(CISC(复杂指令集计算机复杂指令集计算机)和和RISC(RISC(精简指令集计算机精简指令集计算机)是当前是当前CPUCPU的两种基本架构
4、。各的两种基本架构。各种微处理器就是按这两种不同的架构设计理念和方法发展的。种微处理器就是按这两种不同的架构设计理念和方法发展的。2.1.12.1.1CISCCISC复杂指令集计算机(复杂指令集计算机(complex instruction set computercomplex instruction set computer,CISCCISC)是一种较早的微处)是一种较早的微处理器设计流派,理器设计流派,Intel 80 x86Intel 80 x86系列微处理器中的系列微处理器中的8086/80888086/8088、8028680286等,都是按此学派等,都是按此学派的理论设计的。的理
5、论设计的。CISCCISC结构微处理器的设计特点如下:结构微处理器的设计特点如下:复杂指令(复杂指令(complex instructioncomplex instruction)复杂的内存定位法(复杂的内存定位法(complex memory reference methodscomplex memory reference methods)微程序结构(微程序结构(micro programmingmicro programming)22.1.2 RISC精简指令集计算机(精简指令集计算机(reduced instruction set computerreduced instruction
6、 set computer,RISCRISC)理论是从)理论是从2020世纪世纪8080年代开始逐渐发展成为一种微处理器体系结构。年代开始逐渐发展成为一种微处理器体系结构。例如,从例如,从8028680286到到8038680386的设计过程中就开始显示出这种变化,此后推出的的设计过程中就开始显示出这种变化,此后推出的8048680486、PentiumPentium与与Pentium proPentium pro(P6P6)等微处理器,则更加重了)等微处理器,则更加重了RISCRISC化的趋势。到了化的趋势。到了PentiumPentium、PentiumPentium以后,虽然仍属于以后,
7、虽然仍属于CISCCISC的结构范围,但它们的内核已采用了的结构范围,但它们的内核已采用了RISCRISC结构。结构。RISCRISC的设计技术特点如下:的设计技术特点如下:1 1)缩短指令长度,规范指令格式)缩短指令长度,规范指令格式2 2)简化寻址方式)简化寻址方式3 3)适当增加通用寄存器数量,大量利用寄存器间操作)适当增加通用寄存器数量,大量利用寄存器间操作 4 4)简化处理器结构)简化处理器结构5 5)便于使用)便于使用VLSIVLSI技术技术 6 6)增强处理器并行能力)增强处理器并行能力 32.2 典型的典型的16位微处理器的系统结构位微处理器的系统结构2.2.1 8086808
8、8 CPU的内部组成结构的内部组成结构4微处理器的编程结构微处理器的编程结构微处理器的编程结构,即是在编程人员眼中看到的微处理器的软微处理器的编程结构,即是在编程人员眼中看到的微处理器的软件结构模型。件结构模型。软件结构模型便于人们从软件的视角去了解计算机系统的操作和软件结构模型便于人们从软件的视角去了解计算机系统的操作和运行。运行。从这一点上说,程序员可以不必知道微处理器内部极其复杂的电从这一点上说,程序员可以不必知道微处理器内部极其复杂的电路结构、电气连接或开关特性,也不需要知道各个引脚上的信号路结构、电气连接或开关特性,也不需要知道各个引脚上的信号功能和动作过程。功能和动作过程。5微处理
9、器的编程结构微处理器的编程结构对于编程人员来说,重要的是要了解微处理器所包含的各种寄存器对于编程人员来说,重要的是要了解微处理器所包含的各种寄存器的功能、操作和限制,以及在程序设计中如何使用它们。的功能、操作和限制,以及在程序设计中如何使用它们。进一步,需要知道外部的存储器是如何组织的,处理器如何从存储进一步,需要知道外部的存储器是如何组织的,处理器如何从存储器中取得指令和数据。器中取得指令和数据。6程序可见寄存器程序可见寄存器程序可见程序可见(program visible)(program visible)寄存器,是指在应用程序设计时可以直接寄存器,是指在应用程序设计时可以直接访问的寄存器
10、。访问的寄存器。程序不可见程序不可见(program invisible)(program invisible)寄存器是指在应用程序设计时不能直寄存器是指在应用程序设计时不能直接访问,但在进行系统程序设计接访问,但在进行系统程序设计(如编写操作系统软件如编写操作系统软件)时可以被间接时可以被间接引用或通过特权指令才能访问的寄存器。引用或通过特权指令才能访问的寄存器。在在80 x8680 x86微处理器系列中,通常在微处理器系列中,通常在8028680286及其以上的微处理器中才包含及其以上的微处理器中才包含程序不可见寄存器,主要用于保护模式下存储系统的管理和控制。程序不可见寄存器,主要用于保护
11、模式下存储系统的管理和控制。780868088 CPU的内部组成结构的内部组成结构1 1总线接口单元总线接口单元BIUBIUBIUBIU的基本功能是负责的基本功能是负责CPUCPU与存储器或与存储器或I/OI/O端口之间的数据传送。在端口之间的数据传送。在CPUCPU取指令时,它从取指令时,它从内存中取出指令送到指令队列缓冲器;而在执行指令时,它要与指定的内存单元或者内存中取出指令送到指令队列缓冲器;而在执行指令时,它要与指定的内存单元或者I/OI/O端口交换数据。端口交换数据。1 1)指令队列缓冲器)指令队列缓冲器操作将遵循下列原则:操作将遵循下列原则:(1 1)取指令时,每当指令队列中存满
12、)取指令时,每当指令队列中存满1 1条指令后,条指令后,EUEU就立即开始执行。就立即开始执行。(2 2)指令队列中只要空出)指令队列中只要空出2 2个(对个(对80868086)或)或1 1个(对个(对80888088)指令字节时,)指令字节时,BIUBIU便自动执便自动执行取指操作,直到填满为止。行取指操作,直到填满为止。(3 3)EUEU在执行指令的过程中,若在执行指令的过程中,若CPUCPU需要访问存储器或需要访问存储器或I/OI/O端口,则端口,则EUEU自动请求自动请求BIUBIU去去完成访问操作。此时若完成访问操作。此时若BIUBIU空闲,则会立即完成空闲,则会立即完成EUEU的
13、请求;否则的请求;否则BIUBIU首先将指令取至指首先将指令取至指令队列,再响应令队列,再响应EUEU的请求。的请求。(4 4)当)当EUEU执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要求执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要求BIUBIU从从新的地址重新开始取指令,新取的第新的地址重新开始取指令,新取的第1 1条指令将直接经指令队列送到条指令将直接经指令队列送到EUEU去执行,随后去执行,随后取来的指令将填入指令队列缓冲器。取来的指令将填入指令队列缓冲器。81总线接口单元总线接口单元BIU2 2)地址加法器和段寄存器)地址加法器和段寄存器80868086有有
14、2020根地址线,但内部寄存器只有根地址线,但内部寄存器只有1616位,不能直接提供对位,不能直接提供对2020位地址的寻址信息。位地址的寻址信息。为了实现对为了实现对2020位地址的寻址,设计者采用了一种称之为位地址的寻址,设计者采用了一种称之为“段加偏移段加偏移”的重要技术,即的重要技术,即将可移位的将可移位的1616位段寄存器与位段寄存器与1616位偏移地址相加的办法,从而巧妙地解决了这一矛盾。位偏移地址相加的办法,从而巧妙地解决了这一矛盾。【例例2.12.1】假设假设CSCS4000H4000H,IPIP0618H0618H,则指令的物理地址,则指令的物理地址PAPA4000H1640
15、00H160618H0618H40618H40618H。91总线接口单元总线接口单元BIU3 3)1616位指令指针(位指令指针(Instruction PointerInstruction Pointer,IPIP)IPIP的功能与的功能与8 8位位CPUCPU中的程序计数器中的程序计数器PCPC类似。正常运行时,类似。正常运行时,IPIP中含有中含有BIUBIU要取的下要取的下1 1条指令(字节)的偏移地址。条指令(字节)的偏移地址。IPIP在程序运行中能自动在程序运行中能自动加加1 1修正,使之指向要执行的下修正,使之指向要执行的下1 1条指令(字节)。条指令(字节)。有些指令(如转移、
16、调用、中断和返回指令)能使有些指令(如转移、调用、中断和返回指令)能使IPIP值改变,或将值改变,或将IPIP值压进堆栈保存,或由堆栈弹出恢复原值。值压进堆栈保存,或由堆栈弹出恢复原值。102执行单元执行单元EUEUEU的功能是负责从指令队列中取出指令,然后分析和执行指令。的功能是负责从指令队列中取出指令,然后分析和执行指令。EUEU由下列部分组成。由下列部分组成。(1 1)1616位算术逻辑单元。位算术逻辑单元。(2 2)1616位标志寄存器。位标志寄存器。(3 3)数据暂存寄存器。)数据暂存寄存器。(4 4)通用寄存器组。)通用寄存器组。(5 5)EUEU控制电路。控制电路。EUEU中所有
17、的寄存器和数据通道(除队列总线为中所有的寄存器和数据通道(除队列总线为8 8位外)都是位外)都是1616位的位的宽度,可实现数据的快速传送。宽度,可实现数据的快速传送。注意,由于注意,由于BIUBIU与与EUEU分开独立设计,因此,在一般情况下,分开独立设计,因此,在一般情况下,CPUCPU执行完执行完1 1条指令后就可条指令后就可以立即执行下以立即执行下1 1条指令。条指令。1616位位CPUCPU这种并行重叠操作的特点,提高了总线的信息传输效这种并行重叠操作的特点,提高了总线的信息传输效率和整个系统的执行速度。率和整个系统的执行速度。8088CPU8088CPU内部结构与内部结构与8086
18、8086的基本相似,其内部寄存器、运算器以及内部数据总线与的基本相似,其内部寄存器、运算器以及内部数据总线与80868086一样都是按一样都是按1616位设计的,只是位设计的,只是80888088的的BIUBIU中指令队列长度为中指令队列长度为4 4个字节。个字节。112.2.2 80868088CPU的寄存器结构的寄存器结构对于微机应用系统的开发者来说,最重要的是掌握对于微机应用系统的开发者来说,最重要的是掌握CPUCPU的编程结构或程序设计模型。的编程结构或程序设计模型。8086808680888088的内部寄存器编程结构如图所示。其中阴影部分与的内部寄存器编程结构如图所示。其中阴影部分与
19、808080808085 CPU8085 CPU相同。相同。121通用寄存器通用寄存器通用寄存器分为两组:数据寄存器;指针寄存器和变址寄存器。通用寄存器分为两组:数据寄存器;指针寄存器和变址寄存器。(1 1)数据寄存器:执行单元)数据寄存器:执行单元EUEU中有中有4 4个个1616位数据寄存器位数据寄存器AXAX、BXBX、CXCX和和DXDX。每个数据寄。每个数据寄存器分为高字节存器分为高字节H H和低字节和低字节L L,它们均可作为,它们均可作为8 8位数据寄存器独立寻址,独立使用。位数据寄存器独立寻址,独立使用。在多数情况下,这些数据寄存器是用在算术运算或逻辑运算指令中,用来进行算术逻
20、在多数情况下,这些数据寄存器是用在算术运算或逻辑运算指令中,用来进行算术逻辑运算。在有些指令中,它们则有特定的用途。这些寄存器在指令中的特定功能是被辑运算。在有些指令中,它们则有特定的用途。这些寄存器在指令中的特定功能是被系统隐含使用的,参见表系统隐含使用的,参见表2.12.1所示。所示。131通用寄存器通用寄存器(2 2)指针寄存器和变址寄存器:指针寄存器是指堆栈指针寄存器)指针寄存器和变址寄存器:指针寄存器是指堆栈指针寄存器SPSP和堆栈基址指针和堆栈基址指针寄存器寄存器BPBP,简称为,简称为P P组。变址寄存器是指源变址寄存器组。变址寄存器是指源变址寄存器SISI和目的变址寄存器和目的
21、变址寄存器DIDI,简称,简称为为I I组。它们都是组。它们都是1616位寄存器,一般用来存放偏移地址。位寄存器,一般用来存放偏移地址。指针寄存器指针寄存器SPSP和和BPBP都用来指示存取位于当前堆栈段中的数据所在的地址,但都用来指示存取位于当前堆栈段中的数据所在的地址,但SPSP和和BPBP在在使用上有区别。使用上有区别。变址寄存器变址寄存器SISI和和DIDI是存放当前数据段的偏移地址的。源操作数的偏移地址放于是存放当前数据段的偏移地址的。源操作数的偏移地址放于SISI中,中,所以所以SISI称为源变址寄存器;目的操作数偏移地址存放于称为源变址寄存器;目的操作数偏移地址存放于DIDI中,
22、故中,故DIDI称为目的变址寄存称为目的变址寄存器。器。142段寄存器段寄存器段寄存器用来存取段地址,再由段寄存器左移段寄存器用来存取段地址,再由段寄存器左移4 4位形成位形成2020位的段起始地址,它们通常位的段起始地址,它们通常被称为段基地址或段基址。被称为段基地址或段基址。利用利用“段加偏移段加偏移”技术,技术,8086808680888088就能寻址就能寻址1MB1MB存储空间并将其分成为若干个逻辑存储空间并将其分成为若干个逻辑段,使每个逻辑段的长度为段,使每个逻辑段的长度为64KB64KB(它由(它由1616位的偏移地址限定)。位的偏移地址限定)。段寄存器都可以被指令直接访问。段寄存
23、器都可以被指令直接访问。CSCS用来存放程序当前使用的代码段的段地址,用来存放程序当前使用的代码段的段地址,CPUCPU执行的指令将从代码段取得;执行的指令将从代码段取得;SSSS用来存放堆栈段的段地址,堆栈操作的数据就在堆栈段中;用来存放堆栈段的段地址,堆栈操作的数据就在堆栈段中;DSDS用来存放数据段的段地址,一般地说,程序所用的数据就存放在数据段中;用来存放数据段的段地址,一般地说,程序所用的数据就存放在数据段中;ESES用来存放附加段的段地址,也用来存放数据,但典型用法是存放处理后的数据。用来存放附加段的段地址,也用来存放数据,但典型用法是存放处理后的数据。15每当是每当是取指令取指令
24、的时候,则自动选择代码段寄存器的时候,则自动选择代码段寄存器CSCS,再加上由,再加上由IPIP所所决定的决定的1616位偏移量,计算得到要取的指令的物理地址。位偏移量,计算得到要取的指令的物理地址。每当是涉及到一个每当是涉及到一个堆栈操作堆栈操作时,则自动选择堆栈段寄存器时,则自动选择堆栈段寄存器SSSS,再加,再加上由上由SPSP所决定的所决定的1616位偏移量,计算得到堆栈操作所需要的位偏移量,计算得到堆栈操作所需要的2020位物理地址。位物理地址。每当涉及到一个每当涉及到一个操作数操作数,则自动选择数据段寄存器,则自动选择数据段寄存器DSDS或附加段寄存或附加段寄存器器ESES,再加上
25、,再加上1616位偏移量,计算得到操作数的位偏移量,计算得到操作数的2020位物理地址。而位物理地址。而1616位偏位偏移量,可以是包含在指令中的直接地址,也可以是某一个移量,可以是包含在指令中的直接地址,也可以是某一个1616位地址寄存位地址寄存器的值,也可以是指令中的位移量加上器的值,也可以是指令中的位移量加上1616位地址寄存器中的值等等,这位地址寄存器中的值等等,这取决于指令的寻址方式。取决于指令的寻址方式。162段寄存器段寄存器3标志寄存器标志寄存器8086808680888088的的1616位标志寄存器位标志寄存器F F只用了其中的只用了其中的9 9位作标志位,即位作标志位,即6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 原理 接口 技术
限制150内