11、手写CPU(六):如何让我们的CPU跑起来

你好,我是LMOS。 通过前面几节课的学习,我们已经完成了MiniCPU五级流水线的模块设计,现在距离实现一个完整的MiniCPU也就一步之遥。 还差哪些工作没完成呢?还记得我们在第六节课设计的MiniCPU架构图吗?回想一下,我们已经设计完成的五级...

计算机基础实战课

10、手写CPU(五):CPU流水线的写回模块如何实现

你好,我是LMOS。 今天我们一起来完成迷你CPU的最后一个部分——写回相关模块的设计(课程代码在这里)。 简单回顾一下,上节课我们完成了CPU流水线的访存相关模块的设计。在设计访存模块之前,我们发现流水线中存在数据冒险的问题。为了解决这个问题,我们...

计算机基础实战课

9、手写CPU(四):如何实现CPU流水线的访存阶段

你好,我是LMOS。 先简单回顾一下上一节课,我们设计了MiniCPU流水线的执行相关模块。其中包括执行控制模块、通用寄存器模块,以及可以进行加减法运算、大小比较、移位操作的ALU模块。 指令执行之后就到了流水线的下一级——访存。这节课我们就重点聊聊...

计算机基础实战课

8、手写CPU(三):如何实现指令执行模块

你好,我是LMOS。 上一节课,我们完成了CPU流水线的指令译码模块设计。我们一起探讨了RISC-V指令是如何翻译的,还学会了提取不同类型指令中的信息。最后根据流水线的需要,我们设计出了译码控制模块和数据通路模块。 接下来,我们利用译码后的这些信息继...

计算机基础实战课

7、手写CPU(二):如何实现指令译码模块

你好,我是LMOS。 上节课,我们了解了什么是CPU的流水线,并决定采用经典的五级流水线来设计我们的MiniCPU,之后梳理了我们将要设计的MiniCPU架构长什么样,最后完成了流水线的第一步——取指。 取指阶段把存储器里的指令读出以后,就会传递给后...

计算机基础实战课

6、手写CPU(一):迷你CPU架构设计与取指令实现

你好,我是LMOS。 经过上一节课的学习,我们已经知道了一个基于RISC-V指令集设计的CPU,必须要实现哪些指令。从这节课开始,我们就可以着手设计和实现MiniCPU了。 我会先跟你讲讲什么是流水线,在CPU中使用流水线的好处是什么?然后,我们再以...

计算机基础实战课
11213141516673