我正在尝试模拟 5 阶段的管道。我已将所有指令保存到一个结构中。(基本上完成了 lixcal 分析阶段)
例如:
ADD R1 R2 R3 // R1 = R2+ R3 ... struct pipe{ int pc, string instruction , int r1, int r2....}
现在 ifp[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++ 表示这个循环?