【发布时间】:2013-05-05 03:43:38
【问题描述】:
我正在尝试模拟 5 阶段的管道。我已将所有指令保存到一个结构中。 (基本完成了 lixcal 分析阶段)
例如:
ADD R1 R2 R3 // R1 = R2+ R3 ... struct pipe{ int pc, string instruction , int r1, int r2....}
现在如果p[i] 是流水线阶段之一并且(p[1] 可能是pc=pc+1;
I[i] 是指令,(I[1] 可能是 ADD R1 R2 R3)
我想做的是
at t=1 : p[1] = I[1]
at t=2 :p[2] = I[1], p[1] = I[2]
at t=3 :p[3] = I[1], p[2] = I[2], p[1] = I[3]
at t=4 :p[4] = I[1], p[3] = I[2], p[2] = I[3], p[1] = I[4]
... 就这样 到目前为止,我正在使用 c++。怎么会有人用 c++ 来表示这个循环?
【问题讨论】:
-
换句话说,您正在尝试创建一个类似 ARM 的小虚拟机?
-
@icktoofay 是的
-
我不明白你的问题。您在问题中描述了算法,那么您需要什么?
-
在c++中如何表示上述循环
标签: c++ c pipeline instruction-set