首页 文章

MIPS管道Cpu架构

提问于
浏览
0

我真的很清楚,任何形式的帮助都会非常感激 .

考虑到这个CPU:
enter image description here

我必须:

  • 确定完成所有指令所需的总时钟周期数 .

  • 自第一条指令开始后6 cc(时钟周期)后确定 ID/EX 寄存器的内容 .

这些是说明:
0x450: addi $1, $4, -1
lw $2, 0($1)
lw $3, 0($2)
sw $3, 80($1)

我完成了:完成了:

|  1 |  2 |  3 |  4 |  5  |  6 |  7 |  8  |  9 | 10  |
addi $1, $4, -1 | IF | ID | EX |  M |  W  |    |    |     |    |     |
lw $2, 0($1)    |    | IF | ID | EX |  M  |  W |    |     |    |     |
lw $3, 0($2)    |    |    | IF | *  |  ID | EX |  M |  W  |    |     |
sw $3, 80($1)   |    |    |    | IF |  *  | *  | ID |  EX |  M |  W  |

所以我回答了10个时钟周期 .
如果第一个是正确的(我不能确定它是否是),我真的需要一些关于 ID/EX 寄存器内容的帮助 .

提前致谢!

1 回答

  • 0

    您对问题第一部分的回答似乎是正确的 . 当使用Load指令创建RAW危险时,管道将插入气泡(因为该指令的结果仅在管道的MEM阶段之后可用) .

    由于您面前有整个管道,因此在周期6之后找出ID / EX寄存器的内容应该不难 . 内容将与存储指令相对应 . 鉴于此,现在弄清楚内容应该相当容易 .

相关问题