大幻森罗断罪眼的简单8位CPU—-用verilog一口气全做完(导言)

前言

大二时学了数电那时产生对于cpu的好奇,网上搜到了cpu架构时看到了许多专业名词,看的也是云里雾里,感觉这个领域不是我这个水平能去接触的,但是在大三时有幸玩到了一款叫做图灵完备的游戏,这款游戏教会了我从几个最简单的门电路搭出了简单的cpu,在这款游戏后面还要搭leg架构的cpu,我打算先把前面这些简单的cpu用verilog搭出来再慢慢研究。

总览

中央处理器(Central Processing Unit,简称CPU),网上关于cpu的定义太过专业,对于我的cpu来说他能做到以下几点

1.能从储存器读取字节并解析然后进行对应的操作

2.能进行一些简单的运算 如: 或,与,add(加),sub(减)

3.将一个cpu内部的寄存器转移到另外一个寄存器内

4.条件判断语句件实现c语言中if的操作

5.将存储亲中的每些字直接载入寄存器中(立即数操作)

拥有了上面5种能力,我们就能说这个cpu是图灵完备的(我也不知道啥事图灵完备)

上面的五种能力对应了我们需要实现的功能模块

1.从储存器读取字节对应了我们的ram储存器与pc计数器 pc计数器作为存储器的地址提供者读取不同地址对应的命令

2 .读取字节并解析 对应了解码器模块,这个模块是我们这个指令集的解释者,我们确定下指令集后变将这届字节变为对应的电信号来调用其他的不同模块

3.简单的运算 对应了计算模块 这个模块是对对应的数据通过解码器中对应的命令进行相应处理的模块

4.将一个cpu内部的寄存器转移到另外一个寄存器内 对应了我们的总线结构,他是我们cpu的数据通路,他是所有数据的交通道路。

5.条件判断语句件实现c语言中if的操作 对应了分支跳转模块,我们通过指令调用条件模块来进行判断,最后将判断结果发送到pc指针进行跳转。

6.立即数操作 有时我们不能从输入口得到对应数字所以我们还需要能从ram直接读取相应数字的能力

结语

在我对cpu感到有兴趣的时候在网上搜了如何通过verilog手写一个cpu,但这些文章都是教一些比较复杂架构的cpu,需要很强的基础能力才能跟上他们的教程,在这之后了解了图灵完备这款游戏,发现了这对于一个小白了解cpu的基础运行逻辑有非常大的帮助,玩完后变写下了这些教程想借机填补verilog入门cpu的基础教程。

整点二次元

png