Files
2025-yatcpu/lab1/实验报告/1.md
2025-11-18 00:55:46 +08:00

48 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

好~我把(3)和(4)都整理成**流水线时序表**5 级IF/ID/EX/M/WB空白表示该拍无操作。
# (3) 指令:
I1: LOAD R1,[a]
I2: LOAD R2,[b]
I3: ADD R1,R2 (结果写回 R2
I4: STORE R2,[x]
### 时序表(到 14 拍)
| 指令 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
| I1 | IF | ID | EX | M | WB | | | | | | | | | |
| I2 | | IF | ID | EX | M | WB | | | | | | | | |
| I3 | | | IF | ID | ID | ID | ID | EX | M | WB | | | | |
| I4 | | | | | | | IF | ID | ID | ID | ID | EX | M | |
> 说明I3 在 ID 等待到 R1@5、R2@6 写回后才在第 7 拍完成读寄存器I4 受 I3 占据 ID 反压IF 被阻塞到第 7 拍开始;又因需等 R2@10 写回ID 等到第 11 拍才读到新 R2随后 EX→M 结束。
---
# (4) 指令(提示给定):
I1: LOAD R1,[x]
I2: LOAD R2,[a]
I3: SHL R1 x*2
I4: ADD R1,R2 (写回 R2
I5: STORE R2,[x]
### 时序表(到 16 拍)
| 指令 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
| I1 | IF | ID | EX | M | WB | | | | | | | | | | | |
| I2 | | IF | ID | EX | M | WB | | | | | | | | | | |
| I3 | | | IF | ID | ID | ID | EX | M | WB | | | | | | | |
| I4 | | | | | | | IF | ID | ID | ID | EX | M | WB | | | |
| I5 | | | | | | | | | | IF | ID | ID | ID | ID | EX | M |
* 关键等待:
* I3 需等 R1@5 写回,故在 ID 等到第 6 拍读寄存器→7 EX→9 WB
* I4 需等 I3 的 R1 在第 9 拍写回,故在第 10 拍读寄存器→11 EX→13 WB
* I5 需等 R2 在第 13 拍写回,于第 14 拍读寄存器→15 EX→16 MSTORE 在 M 完成写内存)。
如果你想把这两张表导成可打印的 Word/Excel我也可以直接帮你生成文件。