forwarding.dit
来自「可以自由开发的MIPS仿真器模型(.exe),指令执行动画显示.通过修改grap」· DIT 代码 · 共 36 行
DIT
36 行
class CForwardingUnit
{
in EX_RegWrite:1
in MEM_RegWrite:1
in ID_ReadRegister1:5
in ID_ReadRegister2:5
in EX_WriteRegister:5
in MEM_WriteRegister:5
out ForwardA:2
out ForwardB:2
script
function OnChange()
{
// EX hazard
if ( EX_RegWrite.Get() && (EX_WriteRegister.Get()==ID_ReadRegister1.Get()) )
ForwardA.Set(2);
else if ( MEM_RegWrite.Get() && (MEM_WriteRegister.Get()==ID_ReadRegister1.Get()) )
ForwardA.Set(1);
else
ForwardA.Set(0);
if ( EX_RegWrite.Get() && (EX_WriteRegister.Get()==ID_ReadRegister2.Get()) )
ForwardB.Set(2);
else if ( MEM_RegWrite.Get() && (MEM_WriteRegister.Get()==ID_ReadRegister2.Get()) )
ForwardB.Set(1);
else
ForwardB.Set(0);
}
end_script
event ALL OnChange()
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?