
微机原理与接口技术 2时序讲解.ppt
22页数据总线:各部件间数据传送的公共通道,提问:什么是总线?总线的类型与功能?,工作方式:它们协调完成数据传送:CPU首先通过地址总线和M/IO寻址存储器单元或I/O端口,然后通过RD或WR控制线确定数据传送方向,最后被选通的寄存器与CPU通过数据总线实现数据传送,地址总线:用于CPU寻址存储器单元和I/O单元,2.4 8086CPU的总线时序,,控制总线:用于控制单元控制数据总线上的传送过程,,,,是指信号高低电平(有效或无效)变化及相互间的时间顺序关系时序(Timing):,CPU时序决定系统各部件间的协调与同步总线时序描述CPU引脚如何实现总线操作2.4 8086CPU的总线时序,,总线操作是指CPU通过总线对外的各种操作描述总线操作的微处理器时序有三级:,指令周期,总线周期,时钟周期,,,2.4.1 8086CPU的总线周期,,时钟周期:CPU的基本时间单位又称为T状态 总线周期:CPU访问一次存储器单元或I/O端口完成一 个字节交换所需要的时间 基本总线周期: 由4个时钟周期组成,即称4个T状态,即T1,T2,T3,T4通常CPU进行一次读写操作只需4个T 例如: 8086CPU的主频是5MHZ,一个时钟周期就是200ns; 80186的主频是10MHZ,一个时钟周期就是100ns;,T1:CPU发出地址信息,指出要访问的存储器 或I/O端口的地址;,T2:CPU撤消地址信息,准备传送数据;,T3:BIU与存储器或I/O端口传送数据;,T4:传送数据并结束本总线周期。
2.4.1 8086CPU的总线周期,,扩展总线周期: (1)等待周期TW 存储器与I/O接口的速度跟不上CPU的读写速度, 就应加等待周期,在总线周期的T3和T4之间插入 (2)空闲周期Ti 系统总线处于空闲状态时,即执行空闲周期Ti 在两个总线周期之间插入 指令周期: 是指一条指令经取指、译码、读写操作数到执行完 成的全过程若干总线周期组成一个指令周期2.4.1 8086CPU的总线周期,基本总线周期由4个T状态组成:T1、T2、T3、T4,等待时钟周期Tw,在总线周期的T3和T4之间插入,空闲时钟周期Ti,在两个总线周期之间插入,等待周期,2.4.1 8086CPU的总线周期,,课堂思考1: 何时有总线周期?,(1)取指周期:任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码;,(2)存储器读周期、存储器写周期:指令执行过程中,任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期;,(3)I/O端口读周期、I/O端口写周期:只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期;,,(4)中断响应周期:CPU响应可屏蔽中断INTR时生成中断响应总线周期。
通过INTA引脚发出2个负脉冲作为选通信号,从总线上获得中断类型码课堂思考1: 何时有总线周期?,,(5)暂停:8086执行HLT指令后,8086最小模式发出一个ALE信号表示进入暂停状态暂停状态一直保持到发生中断或对系统进行复位为止另外,当总线上除8086外还允许存在其他总线主控器,如协处理器、DMA控制器等,这些控制器可以从8086那里获得总线控制权,进行总线操作,发生各自的总线周期课堂思考2: 为什么需要扩展总线周期?,,CPU总线周期采用同步时序 各部件都以系统时钟信号为基准; 当相互不能配合时,快速部件(CPU)插入等 待状态等待慢速部件(I/O和存储器) CPU与外设接口常采用异步时序 它们通过应答联络信号实现同步操作总线操作中实现时序同步是关键!,8086/8088的复位和启动操作是在RESET引脚 上加上触发信号来执行的2.4.2 8086CPU的总线操作时序,,一、系统复位与启动时序,标志寄存器 : 清零 指令指针(IP): 0000H CS: FFFFH DS、ES、SS : 0000H 指令队列 : 空 其它寄存器 : 0000H 复位脉冲的有效电平(高)必须超过4个时钟周期(开启电源引起的复位时间大于50µs),2.3.3 8086CPU的总线操作时序,,一、系统复位与启动时序,复位后地址总线浮空 复位后,第一条指令的地址: 物理地址为 FFFF0+0000H(IP中) =FFFF0H 一般在FFFF0中,存放一条段交叉直接JMP指令,转移到系统程序实际开始处。
这个程序往往实现系统初始化、引导监控程序或者引导操作系统等功能,这样的程序叫做引导和装配程序2.3.3 8086CPU的总线操作时序,,一、系统复位与启动时序,2.3.3 8086CPU的总线操作时序,,二、存储器的读周期时序(最小模式),例:MOV AL,[1000H] ;M/IO=1 T1状态:A19~A0上是地址信息,出现ALE信号后,将地址锁存到地址锁存器(8282) T2状态:地址信息消失,A19~A16从地址信息变为状态信息S6-S3数据允许信号DEN在T2状态有效 T3状态:AD0~AD15上出现数据此时RD信号有效即为0 TW状态:若存储器的工作速度较慢,不能满足基本时序要 求,使用一个产生READY的电路,以使在T3状态之后,插入一个等待周期TW T4状态:CPU采样数据,结束一个总线周期2.3.3 8086CPU的总线操作时序,,二、存储器的读周期时序(最小模式),例:MOV [1000H], AL ;M/IO=1 T1状态:A19~A0上是地址信息,出现ALE信号后,将地址锁 存到地址锁存器(8282) T2状态:地址信息消失,A19~A16从地址信息变为状态信息 S6~S3。
T3状态:AD0~AD15上出现数据WR信号有效(WR=0) TW状态:若存储器或外设的工作速度较慢,不能满足基本 时序要求,使用一个产生READY信号的电路,以使 在T3状态之后,插入一个等待周期TW T4状态:CPU认为数据已写入存储器,结束一个总线周期2.3.3 8086CPU的总线操作时序,,三、存储器的写周期时序(最小模式),,,,,,,,I/O接口读写周期时序与存储器读写周期 时序类似 仅M/IO不同 例1:IN AL,40H M/IO=0,RD=0,ALE=1 例2:OUT 43H,AL M/IO=0,WR=0,ALE=1,,,,,,2.3.3 8086CPU的总线操作时序,,四、I/O接口的读写周期时序(最小模式),8086/8088 I/O 的读/写周期时序与M 读/写周期的主要差异是什么? 8086 CPU读/写总线周期各包含多少个时钟周期?什么情况下需要插入 Tw 等待周期? 应插入多少个Tw,取决于什么因素?什么情况下会出现空闲状态Ti ?,课堂思考:,,外部中断通过INTR或NMI向CPU申请中断执行中断响应周期2.3.3 8086CPU的总线操作时序,,五、中断响应周期时序,第一个中断响应周期 T1状态: AD15~AD0浮空;IF=1,给出中断响应信号INTA。
第二个中断响应周期: 被响应的外设数据线送一个字节的中断矢量类型,CPU读入后,从中断矢量表上找到服务程序的入口地址2.3.3 8086CPU的总线操作时序,,五、中断响应周期时序,思考题:,8086/8088CPU在响应外界中断请求后,需要 进入中断响应周期,分析该周期有什么特点?,8086的中断响应要用两个总线周期如果在前一个总线周期中,CPU接收到外界的中断请求信号,而中断允许标志IF正好为1,并且正好一条指令执行完毕,那么,CPU会在当前总线周期和下一个总线周期中,从 引脚上往外设接口各发一个负脉冲这两个负脉冲都将从T2一直维持到T4状态开始外设接口收到第二个负脉冲以后,立即把中断类型码送到数据总线的低8位D7~D0上,通过CPU的地址/数据引脚AD7~AD0传输给CPU这两个总线周期的其余时间, AD7~AD0是浮空的。
