博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5.5.3五段式指令流水线
阅读量:3959 次
发布时间:2019-05-24

本文共 748 字,大约阅读时间需要 2 分钟。

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”指令才能访问主存

转载地址:http://ozmzi.baihongyu.com/

你可能感兴趣的文章