namespace.hpp
一些变量与riscv指令memory.hpp
控制内存读写,数组单位为8bitprogram.hpp
主要程序与五级流水score
, shell脚本,./score
可测试正确性。src\
测试文件
为普通暴力模拟
带有五级流水和三周期的模拟。
Fetch()
读入fReg.pc
的指令并且存入dReg
.dReg.bubble = false
表示decode
过程有输入。Decode
对dReg
中的指令进行解码,存入eReg
,若读取到J类或者 B类指令,则令ControlHazard = true
,此时不再进行fetch()
操作.Execute
其余三步同理操作即可。MemortAccess
三周期模拟, 用一个bool
变量控制即可WriteBack
Run()
,普通模拟,只输出答案。void FiveStageRun(bool slow)
, 如果slow == true
,将储存历史命令。DumpHistory()
打印历史命令。