前言
昨天复(yu)习了:计组复习(一):乘法器,除法器与浮点加法器,巩固了硬件事如何实现运算操作的。
今天复习 cpu 数据通路,也是很复杂的图。一步一步来吧。
![](https://img-blog.csdnimg.cn/2021010720492188.png)
唔。。。。现在是凌晨 1:42,人快芜了,所以博客内容可能会出现一些纰漏 dbq 我爬 Orz
才不是打了一天 lol 导致没时间复习。还有,有没有懂哥知道男刀这版本怎么玩?出暗爪还是幕刃还是渴血?征服者 or 电刑?
编辑下:我的我的 还真漏了。。。
课本上的图有一个多路复用器 01 接口画反了,但是我所有图片都是按照课本的图描图画的,于是也反了,来不及改了,算了(摆烂
就是 Jump 控制信号对应的复用器:
Jump 为 1 时才使用 Jump 的跳转,否则使用 beq 或者 PC+4 作为下一条指令地址。
单周期数据通路
单周期即一个指令的执行,不包括流水线并行,是一种简单(雾)的数据通路。由之前的学习知晓 mips 的指令也分为几个阶段:
- 取指令 IF
- 译码 ID
- 执行 EX
- 访问内存 MEM
- 写回 WB
硬件正是根据这几个步骤进行设计的,且看 cpu 如何实现。
按照惯例先上图,尽管这个图非常吓人,但是待会我们一步一步来分析它。
单周期数据通路的硬件从左到右对应了 mips 的 5 个阶段:
- 最左边首先是地址内存,对应取指令与译码阶段(IF / ID)
- 随后是寄存器文件和 ALU,对应执行阶段(EX)
- 再右边是数据内存,对应内存访问阶段(MEM)
- 最后是写回(RW)。
同样的,数据按照从左到右的顺序进行通路遍历,来啦来看就知道了↓
这里以 R 型指令举例。
算数逻辑指令(R 型指令)
算数逻辑指令一般指 add,and 这些指令。他们