微机原理第二章课件-80868088微处理器的内部结构.ppt

上传人:小飞机 文档编号:6572835 上传时间:2023-11-13 格式:PPT 页数:60 大小:1.25MB
返回 下载 相关 举报
微机原理第二章课件-80868088微处理器的内部结构.ppt_第1页
第1页 / 共60页
微机原理第二章课件-80868088微处理器的内部结构.ppt_第2页
第2页 / 共60页
微机原理第二章课件-80868088微处理器的内部结构.ppt_第3页
第3页 / 共60页
微机原理第二章课件-80868088微处理器的内部结构.ppt_第4页
第4页 / 共60页
微机原理第二章课件-80868088微处理器的内部结构.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《微机原理第二章课件-80868088微处理器的内部结构.ppt》由会员分享,可在线阅读,更多相关《微机原理第二章课件-80868088微处理器的内部结构.ppt(60页珍藏版)》请在三一办公上搜索。

1、第二章 微型计算机系统结构,第一节 CPU的内部逻辑结构一、CPU的组成和功能1、CPU的组成 CPU主要由运算器、控制器、寄存器组和片内总线等组成2、CPU的功能(1)指令控制(2)操作控制(3)时序控制(4)执行指令(5)数据加工(运算),二、8086/8088微处理器的内部结构,8086是16位的微处理器,有16位数据线和20位地址线,可寻址220个字节,即 220=1MB=1048576B 8088是准16位微处理器,内部为16位,外部数据线为8位。8086是本课的重点,它主要分为两个独立的功能模块,总线接口模块BIU和执行部件EU,它们可以并行工作。如图2.1所示。,图2.1 808

2、6 CPU内部逻辑结构,BIU,EU,1、总线接口部件BIU,总线接口部件负责与存储器、输入/输出端口传送数据。总线接口部件组成:(1)专用寄存器组:段地址寄存器CS、DS、ES、SS和指令指针寄存器IP,均为16位。(2)地址加法器:8086在寻址1M字节地址空间时需用20位地址,这个地址就是由地址加法器产生的。,具体的说,地址加法器将段寄存器(16位)的内容左移4位,然后与指令指针寄存器IP的内容相加得到20位的物理地址。例如:从内存取指令时,(CS)5760H,(IP)=1234H,则物理地址为:57600H+1234H=57934H。这里,先将段寄存器CS左移4位(16进制数只需后面加

3、一个零)。,(3)6字节的指令队列:总线接口部件从内存中取来的指令放在一个缓冲区中,这个缓冲区叫指令队列。执行部件在执行指令过程中从指令队列取来指令执行。(4)输入/输出控制电路:该控制电路将8086CPU的片内总线与系统总线相连,是8086CPU与外部交换数据的必经之路。,2、执行部件EU(Execution Unit),执行部件负责执行指令。通常,从指令队列中取得等待执行的指令。组成如下:(1)算术逻辑单元ALU:完成各种运算。(2)标志寄存器FR:用来保存ALU运算结果的一些特征信息,如运算是否进位。(3)通用寄存器组:数据寄存器AX,BX,CX,DX和寄存器BP,SP,SI及DI,均1

4、6位。(4)执行部件控制电路,3、BIU和EU的管理,BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字 节时,就自动把指令取到队列中。(2)EU执行指令时,从指令队列头部取指令,然后 执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。(3)在执行转移、调用、返回指令时,需改变队列 中的指令,要等新指令装入队列中后,EU才继 续执行指令。,4、寄存器结构,(1)通用寄存器组 8086CPU有8个16位的通用寄存器,分2组。通用数据寄存器:AX,BX,CX,DX,用来存放数据或地址,一个16位寄存器也可以当作两个8位寄存器用,此时表示为AH,A

5、L;BH,BL;CH,CL;DH,DL。基地址寄存器BP,堆栈指针寄存器SP,源变址寄存器SI和目的变址寄存器DI主要存放地址,也可以存放数据。,(2)段寄存器 8086的寻址空间是1M字节,物理地址需要20位的地址码。但CPU中的寄存器都是16位的。为解决该问题采用了存储器分段技术。把1MB地址分段,每段64KB,其起始地址的高16位装入一个段寄存器中,称作段基地址,这四个段寄存器的名称为:CS(代码段寄存器)DS(数据段寄存器)ES(附加段寄存器)SS(堆栈段寄存器),8086设置了这4个16位段寄存器,通过这四个段寄存器,CPU可以定位4个逻辑段,分别为:当前代码段、当前数据段、当前附加

6、段和当前堆栈段。注意,每个逻辑段在实际存储器中的位置是可以浮动的,其起始地址的高16位装在段寄存器中,称作段基地址。当程序很大,超过64KB时,则可以定义多个代码段、数据段和附加段。不同的逻辑段可以相交,甚至可以完全重叠。参见书上图2.8。(3)指令指针寄存器IP 该寄存器的内容用来指明将要执行的下一条指令在代码段中的位置。总线接口部件BIU负责修改IP寄存器的值,使它始终指向将要执行的下一条指令。,(4)标志寄存器FR FR主要用来标志运算结果的状态,以及控制CPU的操作。各标志位定义如图2.2所示(共有9个标志):,下图是80 x86微处理器的标志寄存器,从图中可知,他们是向下兼容的。,标

7、志位共有9个,6个是状态标志,用来表示运算结果的特征,包括CF、PF、AF、ZF、SF和OF;3个是控制标志,用来控制CPU的操作,包括IF、DF和TF。状态标志:CF:进位标志,表示本次运算中最高位(第7位或第15位)有进位或有借位。PF:奇偶标志。PF=1表示本次运算中低8位有偶数个“1”;PF=0表示有奇数个“1”。AF:辅助进位标志。AF=1表示本次运算第3位向第4位有进位或有借位。在十进制运算中作为是否进行十进制调整的依据。ZF:零标志。ZF=1表示本次运算结果为零,否则ZF=0 SF:符号标志。SF=0为正数;SF=1为负数。OF:溢出标志。OF=1表示本次运算结果产生溢出,否则O

8、F=0。所谓溢出就是指运算结果超出了相应类型数据所能,表示的范围。控制标志:DF:方向标志,用来控制串操作指令的执行。DF=0则串操作指令的地址自动增量;若DF=1,则自动减量。IF:中断标志,用来控制对可屏蔽中断的响应。若IF=1则允许CPU响应可屏蔽中断;IF=0,则CPU不能响应可屏蔽中断。TF:单步标志。若TF=1,则CPU进入单步工作方式,即CPU每执行一条指令就自动产生一次内部中断;TF=0则CPU正常执行。8086以上的CPU其寄存器阵列如下图所示,阴影部分是80386以上的32位微处理器的寄存器。,5、8088与8086的区别,8088的指令队列只有4个字节,若出现1个空字节,

9、BIU就会自动取指令补充。8088BIU与外部交换数据是8位的,I/O控制电路与专用寄存器之间的数据总线宽度也是8位的。8088与8086有几个引脚的意义有不同,参见下一节。,第二节 CPU的外部结构,8086/8088CPU芯片都是40条引脚的双列直插式封装。部分引脚采用了分时复用方式,即同一条引脚在不同的时刻具有不同的用途。如图2.3所示。8086/8088CPU可有两种工作模式,即最大模式和最小模式。不同模式下个别引脚的功能是不同的。,GND 1 40 VCC AD14 2 39 AD15AD13 3 38 A16/S3AD12 4 37 A17/S4AD11 5 36 A18/S5AD

10、10 6 35 A19/S6 AD9 7 34 BHE/S7 AD8 8 33 MN/MXAD7 9 8086 32 RDAD6 10 CPU 31 HOLD(RQ/GT0)AD5 11 30 HLDA(RQ/GT1)AD4 12 29 WR(LOCK)AD3 13 28 M/IO(S2)AD2 14 27 DT/R(S1)AD1 15 26 DEN(S0)AD0 16 25 ALE(QS0)NMI 17 24 INTA(QS1)INTR 18 23 TESTCLK 19 22 READYGND 20 21 RESET,GND 1 40 VCC A14 2 39 A15A13 3 38 A16

11、/S3A12 4 37 A17/S4A11 5 36 A18/S5A10 6 35 A19/S6 A9 7 34 SS0(HIGH)A8 8 33 MN/MXAD7 9 8088 32 RDAD6 10 CPU 31 HOLD(RQ/GT0)AD5 11 30 HLDA(RQ/GT1)AD4 12 29 WR(LOCK)AD3 13 28 IO/M(S2)AD2 14 27 DT/R(S1)AD1 15 26 DEN(S0)AD0 16 25 ALE(QS0)NMI 17 24 INTA(QS1)INTR 18 23 TESTCLK 19 22 READYGND 20 21 RESET,图2.

12、3 8086/8088CPU的外型与引脚,一、8086CPU引脚,1.AD15-AD0:分时复用的地址/数据总线2.A19/S6-A16/S3:分时复用的地址/状态线,S5用来表示中断标志状态线,当IF为1时,S5=1。S6保持恒为0。,3.:总线高位有效信号4.:读信号5.:写信号6.:存储器或I/O端口访问信号,7.Ready:准备就绪信号8.INTR:中断请求信号9.:中断响应信号10.NMI:非屏蔽中断请求信号11.:测试信号12.RESET:复位信号13.ALE:地址锁存允许信号14.:数据发送/接收控制信号15.:数据允许信号16.HOLD:总线请求信号,17.HLDA:总线请求响

13、应信号18.:工作模式选择信号19.CLK:主时钟信号20.Vcc:CPU+5V电源21.GND:电源地最大模式系统时2431引脚重定义如下:22.:总线周期状态信号23.:封锁信号24.:请求/同意信号25.QS1,QS0:指令队列状态信号,二、8088CPU引脚功能,8088上有8条数据总线,所以只有AD7-AD0为地址/数据复用,A15-A8只是地址线。第28脚8086中,在8088中为 电平意义相反 第34脚8086中为,在8088中为,第三节 存储器结构,8086CPU有20根地址线,它的直接寻址空间为220=1M字节,这1M字节空间按照00000H-FFFFFH来编址。,一、808

14、6系统中的存储器结构,1、存储器的组织(1)8086系统中,1M字节分为2个512K的存储体,一个存储体中的地址都是偶数地址,叫偶体,另一个都是奇数地址,叫做奇体。如图2.4所示。,图2.4 存储体与总线的连接,(2)访问一个存储体,只需19位地址,剩下一位用来区分访问那个存储体。A0=0为偶存储体,A0=1 为奇存储体。(3)信号:由该信号和A0控制读写那个存储体。,(3)读字节和字,如图2.5所示,图2.5 读存储器中的字节和字操作示意图,2、存储器分段,图2.6为逻辑段在物理存储器中的位置。每个段的容量最大为64KB;段之间可以重叠。每个逻辑段的首地址的低4位为0,即是16的整数倍,将段

15、首地址的高16位放在段寄存器中,称为“段基址”。而段内的相对地址也是16位,称为“偏移地址”。将1MB物理存储器空间也可用另一种分法。将20位物理地址分为两部分,如上图下面所示。用4位段号寄存器表示段号;16位寄存器表示段内地址。这样的缺点是要有一个4位寄存器,二是段的大小固定为64KB。,3、逻辑地址和物理地址,物理地址20位是唯一可识别的字节单元地址,即存储器的实际地址。逻辑地址是程序设计时,根据需要产生的一种地址,它不是真正的单元地址。逻辑地址由段基址和偏移地址两部分组成,它们都是16位无符号数。,图2.7 段基址和偏移地址,物理地址可以由逻辑地址经过运算得到 例如:段基址 1123H

16、1124H 偏移地址 0013H 0003H 物理地址 11243H 11243H 可以看出,不同的段基址和偏移地址可以得到相同的物理地址。物理地址段基址10H偏移地址 如图2.9所示。,物理地址的形成如图2.9所示。逻辑地址的来源如表2-5中所示的约定。,4、存储单元的地址和内容 存储器通常以字节编址,一个字节单元有一个唯一的存储器地址,称为物理地址。地址通常以16进制数表示。如36位地址总线,其地址范围为00000000FFFFFFFFH。一个存储单元中存放的信息称为该单元的内容,图2.33是存储数据信息的数据类型。可见一个字要占两个地址,其低位字节 存入低地址,高位字节存入高地址。同理,

17、双字是4个字节,要占四个存储器地址,也是低位字节 存入低地址,高位字节存入高地址。,5、动态浮动码,8086的段存储器结构,使编写与具体位置无关的或称动态浮动的程序成为可能。动态浮动使多道程序设计和多任务系统能特别有效地使用存储器。,6、存储器堆栈,存储器堆栈由堆栈段寄存器SS和堆栈指针寄存器SP来定位,其中SS存放现行堆栈的基地址,SP指向堆栈顶。堆栈段是向下生长的,即栈底在堆栈的最高地址处,当堆栈空时,SP指向栈底。堆栈操作都是16位操作,它有两种操作,即压栈和出栈。压栈时,先将SP的值减2,然后将16位数据压入新栈顶;出栈时,先从当前栈顶取出16位数据,然后SP加2,指向新的栈顶。如图2

18、.8所示。图2.8中,执行了三条指令:PUSH AX;(AX)=1234H PUSH BX;(BX)=8765H POP AX;(AX)=8765H,由图可知,堆栈栈底的一个字节单元总是不用的。,7、存储器的专用和保留区,Intel公司预先占用了存储器的最高和最低地址区域。物理地址0H到7FH的128个字节用来保存中断 号为0H到1FH的中断向量表(32个中断向量)每个中断向量占4个字节。FFFF0H到FFFFFH的16个字节保留给系统的初始化代码。在上电或复位时,执行的第一条指令就在FFFF0H处。通常FFFF0H处存放一条无条件转移指令,转到系统程序的入口处。,二、8088系统中的存储器结

19、构,8088与8086的存储器结构基本相同,区别如下:(1)8088是准16位微处理器,外部数据总线是8位的,所以1MB是单一存储体,不分奇偶体。(2)8088在16位操作时都要两次访问存储器。,第四节 系统配置,一、概述 8086/8088CPU有两种工作模式,它们是由硬件决定的:时,构成最小模式 时,构成最大模式 最小模式是单微处理器系统。最大模式是多处理器系统,一个为主,其他为协处理器,如8087数学协处理器,8089 I/O协处理器。,8086的一些引脚在不同模式时,其含义是不一样的,如表2-6所示。,二、最小模式系统,最小模式是一个以8086为主体的单处理器系统,所有控制信号均由CP

20、U直接提供。最小系统的硬件包括一片8284A作为时钟发生器;三片8282(或74LS373)作为地址锁存器;两片8286/8287作为数据收发器。参见图2.10所示。,图 2.10 8086最小模式系统的典型配置,其中数据双向收发器8286如图2.15所示,地址锁存器8282如图2.13所示。,最小模式系统中数据传输方式如表2-7所示。时钟发生器8284A与CPU的连接如图2.17所示。它产生恒定的时钟信号,对准备好(Ready)信号和复位信号(Reset)进行同步。外界控制信号RDY和RES可以在任何时候到来,8284A把它们同步在时钟下降沿时输出READY和RESET信号到CPU。,图2.

21、17中,振荡晶体通常采用石英晶体振荡器,内部3分频,得到4.77MHz输出到CPU。所以晶体是14.31MHz。,三、最大模式系统,与最小模式区别是系统中增设了总线控制器8288和总线仲裁器8289。这样可以构成以8086CPU为中心的多处理器系统。最大模式的典型配置如图2.18所示。有关8288和8289可以参考书上的内容,我们不作要求。,图 2.18 8086最大模式系统的典型配置,第五节 CPU的操作和时序,一、基本概念1、时钟周期:是CPU的基本时间计量单位,它由计算机主频决定。8086主频是5MHz,一个时钟周期就是200ns。2、总线周期:BIU完成一次访问存储器操作所需要的时间称

22、作一个总线周期。一个最基本的总线周期由4个时钟周期组成,习惯上称4个状态,即T1,T2,T3,T4状态。只有在CPU和内存或I/O端口之间传递数据以及取指令时,CPU才执行总线周期。,3、空闲周期:如果在一个总线周期之后,不立即执行下一个总线周期,则系统总线就处于空闲状态,此时执行空闲周期Ti。4、指令周期:就是计算机完成对一条指令的读取并执行这一系列步骤所需要的时间。一个指令周期包含一个或几个总线周期。例如,执行一条8位寄存器乘法(MUL),这是一条两字节指令,大约需7077个时钟周期的执行时间。,二、系统的复位与启动操作,复位与启动是在RESET引脚上至少维持4个时钟周期的高电平,时序如图

23、2.19所示。,图 2.19 8086/8088的复位时序,复位时各内部寄存器的值:标志寄存器FR 清零指令指针IP 0000HCS寄存器 FFFFHDS寄存器 0000HSS寄存器 0000HES寄存器 0000H指令队列 空其他寄存器 0000H,三、最小模式系统中的总线操作,8086CPU为了要与存储器或I/O端口交换 数据,需要执行一个总线周期,这就是总 线操作。总线操作可以分为总线读操作和总线写 操作。读操作是CPU从存储器或I/O端口 读取数据,写操作是CPU将数据写入存 储器或I/O端口。,最小模式系统中的总线读操作如图2.20所示。,图 2.20 最小模式下的读操作时序,最小模式系统中的总线写操作如图2.21所示。,图 2.21 8086最小模式写操作时序,四、最大模式系统中的总线操作,图 2.22 8086最大模式的读操作时序,最大模式系统中的总线写操作,图 2.23 8086最大模式的写操作时序,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号