微处理器及其系统结构.ppt

上传人:牧羊曲112 文档编号:6572745 上传时间:2023-11-13 格式:PPT 页数:66 大小:482.50KB
返回 下载 相关 举报
微处理器及其系统结构.ppt_第1页
第1页 / 共66页
微处理器及其系统结构.ppt_第2页
第2页 / 共66页
微处理器及其系统结构.ppt_第3页
第3页 / 共66页
微处理器及其系统结构.ppt_第4页
第4页 / 共66页
微处理器及其系统结构.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《微处理器及其系统结构.ppt》由会员分享,可在线阅读,更多相关《微处理器及其系统结构.ppt(66页珍藏版)》请在三一办公上搜索。

1、第2章 8086微处理器及其系统结构,本章主要内容2.1 8086微处理器 2.2总线周期与总线结构2.38086总线操作时序,2.1 8086微处理器,2.1.1 8086CPU的内部结构执行单元EUEU的功能是从BIU的指令队列中取出指令代码,执行指令所规定的操作。主要有两种类型的操作:(a)算术/逻辑运算;(b)按寻址要求计算出16位偏移地址。,8086内部结构,(1)算术逻辑单元ALU进行算术、逻辑运算,或按寻址方式计算出寻址单元的16位偏移量。(2)标志寄存器F用来反映CPU最近一次运算结果的状态特征或存放控制标志。(3)数据暂存寄存器协助ALU完成运算,暂存参加运算的数据。(4)通

2、用寄存器组AX、BX、CX、DX和SP、BP与SI、DI。(5)EU控制电路接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。,2.总线接口单元BIU,根据EU的请求,负责实现CPU与存贮器或I/O设备之间的数据传送。(1)指令队列缓冲器其作用相当于早期CPU中的六个(字节)指令寄存器IR。(2)地址加法器和段寄存器用于实现从逻辑地址,到物理地址的转换运算。,(3)指令指针寄存器IP用于存放BIU将要取的一下条指令的段内偏移地址。(4)总线控制电路与内部通讯寄存器总线控制电路用于产生外部总线操作时的相关控制信号。内部通讯寄存器用于暂存BIU

3、与EU之间交换的信息。,2.1.2 8086CPU内部寄存器,1.段寄存器(1)为什么要设置段寄存器如何用16位数据处理能力,实现20位地址的寻址呢?逻辑地址由两部分组成:段基址:偏移量物理地址=段基址10H+偏移量 段起始地址,逻辑地址,偏移量:由IP、BX、BP、SP、SI、DI之一形成或根据指令的寻址方式来形成。起始地址:由段寄存器CS、DS、ES、SS之一左移4位供给。,【例2-1】试将逻辑地址 3021H:26A1H 转换成物理地址。解:计算如下:0+3 2 8 B 1 H,3 0 2 1,2 6 A 1,(2)段寄存器的功能用于存放CPU当前可以访问的4个逻辑段的基址。(3)信息的

4、分段存储与段寄存器的关系段寄存器的利用使存储器地址空间扩大到1兆字节;为信息按特征分段存储和信息安全管理带来了方便。,2.通用寄存器,(1)数据寄存器16位寄存器:AX、BX、CX和DX;8位寄存器:AH、AL、BH、BL、CH、CL、DH和DL。(2)地址指针和变址寄存器 设置地址指针和变址寄存器的目的缩短了指令码的长度;提高了指令寻址的灵活性。,地址指针和变址寄存器功能对存储器寻址时,用于存放段内偏移地址的全部或一部分。SP堆栈指针和BP基址指针寄存器通常用来作为地址指针,其段基址由段寄存器SS提供。SI和DI变址寄存器在字符串操作指令中,SI用作源变址寄存器,DI用作目的变址寄存器。,3

5、.控制寄存器,(1)指令指针寄存器IP用于控制程序中指令的执行顺序。如图2-7所示。,(2)标志寄存器F六个是状态标志,三个为控制标志;唯一能按位操作的16位寄存器只定义了其中的9位,其余7位不用,状态标志位:,反映ALU执行运算后其结果的状态(不是结果本身),控制标志位:,控制CPU的特定操作这些标志位的值由指令直接赋值,而不像状态标志位那样由运算结果来决定。,溢出标志位OF(Overflow Flag):,求解方法:双进位位法 最高进位位 次高进位位,操作数的运算结果超出了机器表示的范围称为溢出,状态标志位:,进位/借位标志位CF(Carry Flag):,最高位向前一位是否有进位(加法)

6、/借位(减法),辅助进位/借位标志位AF(Auxiliary Carry Flag):,数据第三位向第四位是否有进位(加法)/借位(减法),符号标志位SF(Sign Flag):,根据最高位判断两个带符号数运算后结果正/负的标志,若为无符号数的运算,则该位为运算结果的最高数据位,并无正/负符号的含义,奇偶标志位PF(Parity Flag):,运算结果数据的低八位中“1”的数量为奇数/偶数,零状态标志位ZF(Zero Flag):,数据运算结果是否为全0,状态标志位受指令操作结果影响:,有些运算操作将影响全部状态标志,如加法、减法运算;有些操作影响部分状态标志,如移位操作;有些指令的操作不影响

7、任何状态标志,如数据传送类指令。,中断控制标志位IF(Interrupt Flag):,用于屏蔽8086CPU系统中的可屏蔽中断源,只对可屏蔽中断源有效对不可屏蔽中断和软中断(指令INT)无效,陷阱控制标志位TF(Trap Flag):,用于程序设计中的调试,CPU每执行一条指令后,自动产生一次内部中断,使CPU处于单步执行指令的工作方式,便于进行程序调试,用户能检查当前程序运行的状态及结果。,2.1.3 8086CPU的外部引脚及功能,地址/数据总线 AD15AD0(双向、三态)在总线周期的第一个时钟周期T1,输出低16位地址(记为A15A0);而在总线周期的其他时钟周期内,用于传送数据。当

8、CPU处于“保持响应”状态时,这些引脚处于高阻隔离状态。,2.地址/状态线 A19/S6A16/S3(输出、三态),在总线周期的第一个时钟周期T1时,输出地址的高4位(A19A16);在其他的时钟周期,输出状态信号。S3和S4:表示正在使用的是哪个段寄存器,如表2-2所示。S5:指示IF的当前状态。S6:则始终输出低电平(“0”),以表示8086当前连在总线上。,当系统总线处于“保持响应”状态时,这些引线被浮置为高阻状态。,3.控制总线,读控制信号线RD(输出、三态)表示CPU正在进行读存储器或读I/O端口的操作。是对内存单元还是对I/O端口读取数据,取决于M/IO信号。在系统总线进入“保持响

9、应”期间,被浮空。(2)准备好信号READY(输入)是由被访问的存储器或I/O端口发来的响应信号;当READY=1时,表示所寻址的存储单元或I/O端口已准备就绪,马上就可以进行一次数据传送。,当READY=0时,表示所寻址的存储单元或I/O端口尚未准备就绪,要求CPU自动插入一个或几个TW等待状态,直到READY线出现高电平才进行数据传送。(3)总线高字节允许/状态,BHE/S7(输出、三态)在总线周期的第一个时钟周期,输出总线高字节允许信号BHE;其余时钟周期,输出状态S7,目前S7并没有定义。若BHE=1,表示数据传送只在AD0AD7上进行,它和A0配合,用来产生存储体的选择信号。,(4)

10、可屏蔽中断请求信号INTR(输入)当INTR=1时,表示外设提出了中断请求,CPU在每个指令周期的最后一个T状态去采样此信号。若IF=1时,则CPU响应中断,CPU通过执行中断响应周期转去执行中断服务程序。若IF=0时,则CPU继续执行指令队列中的下一条指令。(5)非屏蔽中断请求信号NMI(输入)上升沿有效,不受IF状态的影响;NMI比INTR的优先级更高。,(6)等待测试信号TEST(输入)测试信号是由WAIT指令来检查的。(7)系统时钟CLK(输入)它为微处理器提供基本的定时脉冲。(8)复位信号RESET(输入)使CPU立即结束它的当前操作,执行再启动过程。复位后CPU内部各寄存器的状态,

11、如表2-3所示。,(9)最小/最大方式信号MN/MX(输入)当接+5V时,则CPU工作于最小方式;若该引脚接地时,则CPU工作于最大方式。(10)其他控制信号(2431引脚)这些控制线的功能将根据控制线 MN/MX 所处的状态而确定。4.电源线Vcc和地线GND电源线Vcc接入的电压为+5V10%;两条地线GND,均应接地。,2.2 总线周期与总线结构,8086的总线周期1.总线周期CPU经外部总线,对存储器或I/O端口进行一次信息传送的过程,称为总线操作。执行总线操作所需要的时间,称为总线周期。一个总线周期至少由4个时钟周期T组成。总线周期的基本波形,如图2-10所示。,BIU在下列情况下,

12、执行一个总线周期:根据指令的需要,由执行单元EU,请求BIU执行一个总线周期。当指令队列缓冲器已经空出两个字节,BIU必须填写指令队列的时候。2.空闲状态TI在两个总线周期之间,存在着BIU不执行任何操作的时钟周期,这些不起作用的时钟周期称为空闲状态。,3.等待状态TW(Wait State)当CPU与慢速的存储器和I/O设备交换信息时,为了防止丢失数据,在总线周期的T3和T4之间,插入一些必要的等待状态TW,用来给予必要的时间补偿。包含有TI 与TW 状态的典型总线周期,如图2-11所示。,2.2.2 8086最小方式时引脚功能 和总线结构,8086最小方式时引脚功能地址锁存信号ALE(输出

13、)ALE总是在总线周期的第一个时钟周期时有效,以表示当前在地址/数据复用线上输出的是地址信息。通常,地址锁存器将ALE作为锁存信号,对地址进行锁存。注意:ALE端不能被浮空。,(2)数据允许信号DEN(输出、三态)在CPU访问存储器或I/O端口的总线周期的后半段时间内,该信号有效。表示CPU准备好接收或发送数据;被用来作为总线收发器的允许控制信号。(3)数据发送/接收信号DT/R(输出、三态)用以表示数据传送的方向,此线为高,表示发送数据,此线为低,表示接收数据。DMA方式时,此线浮空。,(4)输入输出/存储器信号M/IO(输出、三态)用以表示CPU是访问存储器,还是访问输入输出设备。此线为高

14、,为I/O访问;此线为低,为存储器访问;DMA方式时,此线浮空。(5)写控制信号WR(输出、三态)有效时,表示CPU正在执行向存储器或I/O端口的输出操作。,(6)中断响应信号INTA(输出)它用于对外设的中断请求作出响应。这时,CPU发出两个连续的负脉冲,其第1个负脉冲通知外设接口,它发出的中断请求已获允许;第2个负脉冲通知外设接口,将中断类型码放上数据总线,供CPU读取。,(7)保持请求HOLD(输入)与保持响应HLDA(输出)信号HOLD信号:是另一个总线主控设备向CPU请求使用总线的输入请求信号;HLDA信号:是CPU回答的响应信号。在HLDA信号有效(高电平)期间,CPU让出总线控制

15、权。这时,CPU处于“保持响应”状态。,2.8086最小方式时系统总线结构,(1)地址锁存,(2)数据线驱动,8086最大方式时引脚功能总线操作类型状态(编码)信号S0、S1、S2(输出)8086 CPU工作在最小方式时,控制信号是直接从第2429引脚送出的;而在最大方式时,状态信号S0、S1、S2隐含了上面这些信息,S0、S1、S2和具体的总线操作之间的对应关系如表2.4所示。,8086最大方式时引脚功能 和总线结构,表2-4 S0、S1、S2的编码与8288命令的对应关系,(2)队列状态信号QS1、QS0(输出)QS1、QS0提供指令队列的状态信息,以便提供外部逻辑跟踪8086/8088内

16、部指令序列。QS1、QS0表示的状态情况如表2.5所示。外部逻辑通过监视总线状态和队列状态,可以模拟CPU的指令执行过程并确定当前正在执行哪一条指令。有了这种功能,8086/8088才能告诉协处理器何时准备执行指令。在PC机中,这两条线与8087协处理器的QS1和QS0相连。,表2.5 QS1、QS0的状态编码,(3)总线封锁信号LOCK(输出、三态)当LOCK为低电平时,系统中其他总线主设备就不能占有总线。(4)总线请求/总线请求允许信号RQ/GT1、RQ/GT0这两个信号端可供CPU以外的两个总线主控设备用来发出使用总线的请求信号和接收CPU对总线请求信号的回答信号。RQ/GT0 比RQ/

17、GT1的优先级更高。2.8086 CPU最大方式时系统总结结构,2.38086总线操作时序,2.3.1 8086CPU最小方式时总线时序1学习时序的目的(1)深入理解微处理机的内部操作原理;(2)了解时序有利于在编源程序时,选用适当指令,以减少指令的存储空间和执行时间;(3)有助于更好地解决CPU与存储器以及各种外设之间的时序配合问题;(4)估算CPU完成操作所需的时间,以便与控制过程相配合。,28086 CPU最小方式时总线周期时序,(2)写总线周期时序,(3)中断响应周期时序,(4)总线请求与总线响应时序,2.3.2 8086CPU最大方式时总线时序,2.中断响应周期时序最大方式时,由82

18、88输出。其他均与最小方式时的中断响应周期时序一致。3总线请求和总线响应时序,思考题与习题,18086 CPU为什么要分为EU和BIU两个单元?每个单元都有哪几部分组成?2EU和BIU是如何工作的?它们之间有什么联系?3指令队列在CPU执行指令时,起什么作用?简述指令队列的工作过程。4当CPU执行转移指令时,指令队列中的内容将如何发生变化?5在指令执行过程中,EU能直接存取存储器操作数吗?EU是如何得到指令中的操作数的?它又用什么方法将指令执行结果写入存储单元中?,68086/8088微处理器内部有哪些寄存器?其主要作用是什么?7试说明8086/8088 CPU中标志寄存器中各标志位的意义?8

19、8086/8088系列微机在存储器中寻找存储单元时,逻辑地址由哪两部分构成?9设IBM PC微机内存中某一单元的物理地址是12345H,试完成下列不同的逻辑地址表示:1234H _ H _H 0345H,10若DS的内容设定为9000H,试指出当前数据段可寻址的存储空间的范围。11若当前代码段在存储器中占有以下空间:A0000HAFFFFH,则CS的内容应是多少?12若(AL)=10000010,(AH)=00000011,试指出AL的内容和AH中的内容相加或相减后,以下标志的状态:CF,AF,OF,SF,ZF。13A0是什么信号线?当它为低电平时,在总线的哪一部分传送信息?是什么引脚?当它为低电平时,在总线的哪一部分传送信息?14简述控制信息线、M/、DT/、ALE、的功能。,15什么是8086的总线周期?总线周期有哪几个时钟周期组成?16什么叫空闲状态TI?8086 CPU在什么情况下,产生空闲状态?什么叫等待状态TW?17为什么8086 CPU要采用分时共享的地址/数据总线?它有什么优点?188086系统为什么要用地址锁存器?它的主要功能是什么?19简述数据收发器8286在系统中的作用。它是如何实现数据双向传输的?,本 章 结 束,谢谢大家!,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号