节拍 | 动作 |
---|---|
C1 | MAR <- (PC), R <- 1 |
C2 | MDR <- M(MAR) |
C3 | PC <- (PC)+1 |
C4 | IR <- (MDR), CU <-OP(IR) |
简单来讲就是规定时间间隔,每个时间段内完成能完成的任务,完不成就分配两个时间段等等,但时间总是时间段的整数倍。
指令周期:处理器从主存取出一条指令并执行完该指令所需的时间
指令周期
三级时序系统
原理
比如对于取指周期,一般给安排一个机器周期的时间就够用,通常的机器周期是4个节拍,也就是4个节拍要完成取指这个操作
节拍 | 动作 |
---|---|
C1 | MAR <- (PC), R <- 1 |
C2 | MDR <- M(MAR) |
C3 | PC <- (PC)+1 |
C4 | IR <- (MDR), CU <-OP(IR) |
周期 | 节拍 | 微指令 | SHL | LDAM | STAM | JMP X | JZ X | ADD M | COM |
---|---|---|---|---|---|---|---|---|---|
FE | C1 | MAR <- (PC) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
FE | C1 | R <- 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
FE | C2 | MDR <- M(MAR) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
FE | C3 | PC <- (PC)+1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
FE | C4 | IR <- (MDR) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
FE | C4 | CU <- OP(IR) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
EXE | C1 | MAR <-AD(IR) | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
… | … | … | … | … | … | … | … | … | … |
EXE | C2 | MDR <- M(MAR) | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
… | … | … | … | … | … | … | … | … | … |
按我的理(猜)解(想),每个微操作对应多个部件,那么要实现这个微操作就需要对每个对应的部件就要发出一个控制信号,这个控制信号被称为微命令。差不多是很底层的命令了。不过应该还可以被相应的部件继续翻译(应该是吧),比如发给ALU的信号就是要告诉它进行什么运算,是加还是减还是移位等等,ALU收到信号翻译后听懂了就进行相应的动作。
从百度百科盗图一张