计算机组成原理--流水五段式指令流水线(5)

机器周期设置

为方便流水线设计,每个阶段耗时取最长耗时为准,
理想情况下,每个机器周期只消耗一个时钟周期
在这里插入图片描述
五个阶段:①IF取值 → ②ID译码&取数 → ③EX执行 → ④M访存 → ⑤WB写回寄存器

ID段三个锁存器: Imm(存放立即数)、A、B(从寄存器中取数)

常见五类指令

1.运算类指令

以立即数与寄存器为例:
RISC指令集第四阶段不需访存,但也必须留出对应时间,即一个机器周期(时钟周期).

在这里插入图片描述

2.LOAD指令(取数指令)

访存

LOAD Rd,996(Rs): 在Rs寄存器的值的基础上+996偏移地址取出的值存到Rd寄存器中 (996+(Rs))→Rd
进程在内存中起始地址不同,固基址寻址
在这里插入图片描述

3.STORE指令(存数指令)

访存

**STORE Rs,996(Rd)**将Rs当前内容存到Rd(基地址)内容偏移996的地址中
不需要写回寄存器,此时WB 为空段

在这里插入图片描述

4.条件转移指令

相对寻址
在这里插入图片描述

5.无条件转移指令

在这里插入图片描述

例题

在这里插入图片描述

I3段:
ADD加法指令 用到R1、R2寄存器,因I1、I2段此时还未WB写回固不能ID译码取寄存器中取数到A、B锁存器中固被阻塞(数据同步问题)
I4段:
① 段:因I3并未执行ID译码阶段,此时I3的指令还存于IF阶段的锁存器中,若此时执行I4 IF取值会覆盖I3指令
②段:同理存数指令也用到R2寄存器,需要I3,WB写回才可执行

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值