【体系结构】记分牌
Code
ld f6, a
ld f2, xtop
multd f0, f2, f4
subd f8, f6, f2
divd f10, f0, f6
addd f6,f8,f2
配图
指令状态表:读取ld指令,处于流出阶段
功能部件状态表:知道目标寄存器位F6,源寄存器为R0,Rj为yes表示没有读取R0
结果寄存器状态表:F6为integer
第一条指令进入Read周期,数据可用,所以Rj为no; 第二条指令需要用到功能部件integer,所以无法进入Issue周期。
写结果周期。
第六个周期,第二条ld指令进入Read阶段,蓝色所示,其余同第一条指令的Read阶段。 第三条指令进入流出(Issue)阶段,其操作是f0<-f2*f4,所以Fi为f0,Fj为f2,Fk为f4(又因为查结果寄存器可知,f2由integer决定,所以为Qj为integer) Rj为no因为操作数未准备就绪
第七个周期,第三条指令因为无法读取f2无法继续下去,第四条指令进入流入阶段,第二条指令进入执行阶段。
第八个周期,第五条指令进入流入阶段,第二条指令进入写结果阶段。
multd指令的功能部件状态改变。