具有两个执行单元的超标量处理器的六级流水线操作

时间:2018-05-13 04:33:13

标签: mips pipeline cpu-architecture superscalar

需要帮助设计具有两个执行单元的超标量处理器的六级流水线。六个阶段是指令获取(IF),指令解码(ID),读取寄存器(RR),2周期执行(EX),写回结果( WB)。说明不能重新排序。在执行周期中,至多一个发出的指令可以是相关的存储器(加载或存储),并且至多一个指令可以是非存储器处理具有寄存器的算术运算。 Latency对于加载操作是3个周期,对于其他操作是2个周期。 Latency被视为相关指令的发布周期之间的延时周期。现在,我们有以下指令序列:

(1) LD R21, (R20)
(2) LD R18, (R17)
(3) ADD R16, R21, R18
(4) LD R15, (R14)
(5) ADD R13, R12, R11
(6) SUB R23, R22, R24
(7) ST (R23), R10
(8) ADD R4, R21, R18
(9) ST (R3), R2
(10) ST (R1), R4

程序需要多长时间才能发出,考虑到当一条指令从RR阶段传递到EX阶段时就已发出指令。

我的锻炼如下:

RAW冲突存在于(1)和(3),(2)和(3),(2)和(8),(2)和(8),(6)和(7)中。 因此,时序图是:

     01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 
I01: IF ID RR EX EX WB
I02: -- IF ID RR EX EX WB
I03: -- -- -- -- IF ID RR EX EX WB
I04: -- -- -- -- IF ID RR EX EX WB
I05: -- -- -- -- -- IF ID RR EX EX WB
I06: -- -- -- -- -- -- IF ID RR EX EX WB
I07: -- -- -- -- -- -- -- -- IF ID RR EX EX WB
I08: -- -- -- -- -- -- -- -- IF ID RR EX EX WB
I09: -- -- -- -- -- -- -- -- -- IF ID RR EX EX WB
I10: -- -- -- -- -- -- -- -- -- -- IF ID RR EX EX WB

请评论解决方案。

0 个答案:

没有答案