表-指令周期 |
指令周期 | 操作 | 访存目的 | 组合逻辑中的微操作 | 组合逻辑中微操作的节拍安排 | 存储逻辑中微操作的节拍安排 |
取指周期 | 取指令、分析指令 | 获取指令 | PC→MAR; 1→R; M(MAR)→MDR; MDR→IR; Op(IR)→CU; (PC)+1→PC; | T0: PC→MAR,1→R; T1: M(MAR)→MDR,(PC)+1→PC; T2:MDR→IR,Op(IR)→CU; | T0:PC→MAR,1→R; T1:Ad(CMDR)→CMAR; T2:M(MAR)→MDR,(PC)+1→PC; T3:Ad(CMDR)→CMAR; T4:MDR→IR,Op(IR)→微地址形成部件(编码器); T5: Ad(CMDR)→CMAR;(间址微程序入口地址→CMAR) |
间址周期 | 得到有效地址 | 获取有效地址 | Ad(IR)→MAR; 1→R; M(MAR)→MDR; MDR→Ad(IR); | T0:Ad(IR)→MAR,1→R; T1:M(MAR)→MDR; T2:MDR→Ad(IR); | T0:Ad(IR)→MAR,1→R; T1:Ad(CMDR)→CMAR; T2:M(MAR)→MDR; T3:Ad(CMDR)→CMAR; T4:MDR→Ad(IR); T5: Op(IR)→微地址形成部件(编码器)→CMAR;(指令的特定执行微程序入口地址→CMAR) |
执行周期 | 得到操作数,执行指令 | 获取操作数 | | | …… Ti: Ad(CMDR)→CMAR;(中断微程序入口地址→CMAR) |
中断周期 | 完成中断隐指令(保存断点;寻找服务程序入口地址;关中断) | 保存断点 | 1) 保存断点: (SP)-1→SP;(栈向下生长) SP→MAR; 1→W; PC→MDR; MDR→M(MAR); 2) 寻找服务程序入口地址: 向量地址→PC; 3) 关中断: 0→EINT; | T0:(SP)-1→SP; T1:SP→MAR,1→W,PC→MDR; T2:MDR→M(MAR), 向量地址→PC,0→EINT; | T0:(SP)-1→SP; T1: Ad(CMDR)→CMAR; T2:SP→MAR,1→W,PC→MDR; T3: Ad(CMDR)→CMAR; T4:MDR→M(MAR),向量地址→PC,0→EINT; T5: Ad(CMDR)→CMAR;(取指微程序入口地址→CMAR) |
说明: 1) 取指周期和执行周期是必须的,间址周期和中断周期是可选的; 2) 各个周期均可能有访存操作,因而各个周期均占一个机器周期(机器周期一般以访存周期为准); 3) 间址周期单独作为一个周期是因为该周期需要访存,而机器周期一般以访存周期为准,该间址周期不包括寄存器间址周期(寄存器间址获取有效地址不需访存); 4) 微操作节拍安排的3个原则: a) 注意微操作的先后顺序; b) 被控制对象不同的微操作,若能在一个节拍内执行,应尽可能安排在同一个节拍内; c) 被控制对象相同,但有些微操作所占的时间不长,应将它们安排在一个节拍内完成,并允许这些微操作有先后次序(使用逻辑条件在单个节拍内控制先后次序?); 5) 一旦微指令打入到CMDR中(即CM(CMAR)→CMDR),该微指令对应的微操作便同步执行了(即CM(CMAR)→CMDR与CMDR中控制信号的执行是同时完成的),而微操作Ad(CMDR)→CMAR只能在微指令送至CMDR(即CM(CMAR)→CMDR)这一微操作完成后的下一时钟周期完成,微指令打入到CMDR中(即CM(CMAR)→CMDR)均发生在微操作Ad(CMDR)→CMAR的下一时钟周期T的上升沿。 |