5.5.3五段式指令流水线

1.运算类指令的执行过程

在这里插入图片描述
在这里插入图片描述
运算类指令
IF:根据PC从指令Cache取指令至IF段的锁存器
ID:取出操作数至ID段锁存器
EX:运算,将结果存入EX段锁存器
M:空段,不需要干任何事,但是周期时间仍要消耗
WB:将运算结果写回指定寄存器

2.LOAD指令的执行过程

在这里插入图片描述

在这里插入图片描述
LOAD指令
IF:根据PC从指令Cache取指令至IF段的锁存器
ID:将基址寄存器的值放到锁存器A,将偏移量的值放到Imm
EX:运算,得到有效地址
M:从数据Cache中取数并放入锁存器
WB:将取出的数写回寄存器

3.STORE指令的执行过程

在这里插入图片描述

在这里插入图片描述
STORE指令
IF:根据PC从指令Cache取指令至IF段的锁存器
ID:将基址寄存器的值放到锁存器A,将偏移量的值放到Imm。将要存的数放到B
EX:运算,得到有效地址。并将锁存器B的内容放到锁存器 Store。
M:写入数据Cache
WB:空段

4.条件转移指令的执行过程

在这里插入图片描述

在这里插入图片描述
条件转移指令
IF:根据PC从指令Cache取指令至IF段的锁存器
ID:进行比较的两个数放入锁存器A、B;偏移量放入 Imm
EX:运算,比较两个数
M:将目标PC值写回PC,很多教材把写回PC的功能段称为“WrPC段”,其耗时比M段更短,可安排在M段时间内完成
WB:空段

5.无条件转移指令的执行过程

在这里插入图片描述
在这里插入图片描述

无条件转移指令
IF:根据PC从指令Cache取指令至IF段的锁存器
ID:偏移量放入 Imm
EX:将目标PC值写回PC,“WrPC段”耗时比EX段更短,可安排在EX段时间内完成。WrPC段越早完成,就越能避免控制冲突。当然,也有的地方会在WB段时间内才修改PC的值
M:空段
WB:空段

6.例题

在这里插入图片描述

7.补充

  1. 通常,RISC处理器只有“取数LOAD和“存数STORE”指令才能访问主存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值