パイプラインの 5 段階をシミュレートしようとしています。すべての命令を構造体に保存しました。(基本的にはリクスカル解析の段階で行います)
例えば:
ADD R1 R2 R3 // R1 = R2+ R3 ... struct pipe{ int pc, string instruction , int r1, int r2....}
今 ifp[i]
はパイプラインのステージの 1 つです (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++ でどのように表現できますか?