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是管道寄存器