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


以下都是关于RISC下的相关背景

五段指令流水线

在这里插入图片描述

机器周期的设置

都设为最长的一个机器周期的时间
在这里插入图片描述

运算类指令的执行过程

RISC运算后的结果不会放回主存,会放回寄存器。此时访存阶段啥都不做,但依然会花费这个时间
不同指令的操作数不同放的寄存器也不同
在这里插入图片描述

LOAD指令的执行过程

下图中的996相当于偏移,Rs相当于基地址寄存器。访存用的是基址寻址
先计算后访存,最后写回寄存器
在这里插入图片描述

STORE指令的执行过程

store是要存入内存的数据
ALU计算的是要存的地址
在这里插入图片描述

条件转移指令

(PC)+指令字长就是下一条指令的地址
写回PC不是在第WB段,写回段是写回通用寄存器,PC不是通用的,ALU计算出比较结果后,M阶段根据比较结果去写回PC还是不写回PC
计算出的新PC值的阶段应该不是ALU完成的,
在这里插入图片描述

无条件转移指令

上同,可见得出新的PC没有经过ALU,在第二阶段取得偏移量放IMM后,进入第三阶段是直接写回PC的
越早改变PC从而避免后续的指令也在运行的过程中了。
在这里插入图片描述

例题

当指令进入ID段后,则指令的IF段的放在锁存器的结果才不需要了,否则如果此时有程序也要进行IF段,那么此时的IF段的取指令后存放的锁存器会改变,则上一个指令再执行ID段此时译码的是下一个指令
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-26 02:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-26 02:46:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-26 02:46:03       82 阅读
  4. Python语言-面向对象

    2023-12-26 02:46:03       91 阅读

热门阅读

  1. 力扣:208. 实现 Trie (前缀树)(Python3)

    2023-12-26 02:46:03       65 阅读
  2. 表单验证开发 - 登录注册开发(3)

    2023-12-26 02:46:03       62 阅读
  3. docker配置buildx插件

    2023-12-26 02:46:03       55 阅读