你的阳光 学习频道

计算机组成与体系结构

指令发射

每条指令可以分为1个取指周期,1个译码周期,0~1个间址周期,若干个执行周期,1个写回周期。

指令发射:使指令从译码阶段进入执行阶段。

常见题型

CPU特征
器件数量流水级数
f取指单元2+先行11
d译码单元2+先行11
m乘法器13
a加法器12
l逻辑单元21
r装入单元11
s写回单元21

考虑以下汇编程序,指出相关性、画出各种指令发射时序。

I1 MOV R8,(R3)
I2 ADD R3,4
I3 MOV R9,(R3)
I4 AND R1,A
I5 ADD R2,R1
I6 NOT R6
I7 ADD R3,R4
I8 MUL R4,R5
I9 MUL R6,R7

存在的相关性

按序发射按序完成

取指单元一有空就取指(指令未译码时要占用取指单元);译码单元一有空就译码(指令未发射时要占用译码单元);执行单元有空,上一条已发射就执行;写回单元有空,可在上一条已经写回后写回,或与上一条同时写回。

I1f1d1r1s1 
I2f2d2a1a2s2 
I3 f1d1 r1s1 
I4 f2d2 r1l1s2 
I5 f1 d1a1a2s1 
I6 f2 d2 l1s2 
I7 f1d1a1a2s1 
I8 f2d2m1m2m3s2 
I9 f1d1 m1m2m3s1

按序发射无序完成

取指单元一有空就取指(指令未译码时要占用取指单元);译码单元一有空就译码(指令未发射时要占用译码单元);执行单元有空,上一条已发射就执行;写回单元一有空就写回。

发射次序正巧与“按序发射按序完成”一样。

无序发射无序完成

取指单元一有空就取指(指令未译码时要占用取指单元);译码单元一有空就译码(指令未发射时要占用译码单元);执行单元一有空就执行;写回单元一有空就写回。

I1f1d1r1s1 
I2f2d2a1a2s2 
I3f3d3 r1s1 
I4 f1d1r1l1s2 
I5 f2d2 a1a2s1 
I6 f3 d3l1s2 
I7 f1d1 a1a2s1 
I8 f2 d2m1m2m3s2 
I9 f3d3 m1m2m3s1