计分牌Scoreboarding代码实现(Python)
代码地址:Scoreboarding: 计算机体系结构作业——计分板模拟 (gitee.com)
简介
-
此代码为高级计算机体系结构作业——计分板模拟器,使用python实现;
-
模拟的CPU只有四个阶段,分别是发出指令(Issue)、读操作数(Read Operator,RO)、执行计算(Execute Computation,EC)、写结果(Write Result,WR)
-
五个功能单元:Interger、Mult1、Mult2、Add、Divide,使用busy、Op、dest、src1、src2、等待表示其状态;
-
默认先读寄存器后半周期写回
计分板模拟器运行的代码
L.D F6, 34(R2)
L.D F2, 45(R3)
MUL.D F0, F2, F4
SUB.D F8, F2, F6
DIV.D F10, F0, F6
ADD.D F6, F8, F2
指令执行EX阶段
- ADD 需要2周期
- MUL 需要10周期
- DIV 需要40周期
功能
- 打印显示每周期的状态以及5个单元部件的使用信息;