Assembly 实现与一组指令相对应的管道

Assembly 实现与一组指令相对应的管道,assembly,pipeline,Assembly,Pipeline,我们收到以下一组说明: 1000 Add R3, R2, #20 1004 Subtract R5, R4, #3 1008 And R6, R4, #0x3A 1012 Add R7, R2, R4 最初,寄存器R2和R4包含2000和50。我们正在处理一个5级流水线,其中第一条指令在时钟周期1中提取,其余指令在连续周期中提取 我们将绘制管道,并描述在时钟周期1到8期间每个管道级执行的操作。我对描述正在执行的操作的含义感到困惑。这是指加法指令还是

我们收到以下一组说明:

1000  Add       R3, R2, #20
1004  Subtract  R5, R4, #3
1008  And       R6, R4, #0x3A
1012  Add       R7, R2, R4
最初,寄存器
R2
R4
包含
2000
50
。我们正在处理一个5级流水线,其中第一条指令在时钟周期1中提取,其余指令在连续周期中提取

我们将绘制管道,并描述在时钟周期1到8期间每个管道级执行的操作。我对描述正在执行的操作的含义感到困惑。这是指加法指令还是减法指令

这是我的管道:

Clock Cycle           1  2  3  4  5  6  7  8
Add R3, R2, #20       F  D  E  M  W
Subtract R5, R4, #3      F  D  E  M  W
And R6, R4, #0x3A           F  D  E  M  W
Add R7, R2, R4                 F  D  E  M  W
或者这意味着,例如,在周期1中,我们获取地址
1000
,在周期2中,我们将值加载到
R2
中,并在获取新指令的地址
1004
时读取立即值。循环3:我们在获取
R4
中的值时计算
R2+#20
,在获取地址1008时计算立即数。第四周期。。。等等,等等

我不确定的问题的另一部分是,在循环2到8期间,它在何处表示要描述管道中寄存器IR、PC、RA、RB、RY、RZ的内容。RA、RB、RY和RZ是管道寄存器