CPU结构
作者:互联网
在前文中我们抽象理解了ALU和寄存器以及RAM的底层原理。
文章如下:
ALU https://www.cnblogs.com/EeiKo/p/15755510.html
RAM https://www.cnblogs.com/EeiKo/p/15755510.html
基于两者,我们进行CPU的原理的实现和讲解。
首先,CPU是什么
在谈论CPU为什么是神之前,我想先谈谈其他器件比起CPU差在了哪里。
首先是犯下傲慢之罪的ALU,仗着自己是CPU的大脑,认为自己已经超过了CPU,但实际上ALU只能不断的做加减乘法,而CPU可以阅读程序并执行,神降下神罚,令ALU一辈子只能在忙碌并并且不知道自己忙碌的意义。
其次是犯下懒惰之罪的寄存器,认为自己位高权重,人数众多,从而在神的结构图中占据大部分,让外人以为寄存器才是神的代言人。但实际上寄存器本质上就是给定数据能读写的容器罢了,相反神就很谦卑,不以此炫耀自己的强大。
寄存器有以下几个:指令寄存器(存放当前指令)、指令地址寄存器(存放指令执行在内存的位置以便接着执行)等
所以我们知道了CPU的功能本质,给它一段程序他就执行,执行是什么意思呢?包括计算和读写RAM和寄存器。之后会输出结果。
那么CPU的输入是程序端,数据。
输出是执行结果,一般这里采用耦合直接把结果写在内存上面。
CPU执行的程序实际上是基础操作的组合,基础操作包括如下,使用指令码进行区分。
CPU执行流程:
指令地址寄存器连接RAM,得到执行程序的首地址(0)
然后根据地址从RAM中取出该地址对应的操作,存到指令寄存器中去。其中前四位是指令码,后四位是执行指令的地址码,所以还要读取内存。
通过指令判断逻辑电路,执行指令,其中load和store指令都不需要ALU,需要的是逻辑电路,add指令需要ALU。(由此可见没有画上去的逻辑电路才是真正的主角啊,逻辑才是根本!)
指令地址寄存器+1(通过ALU实现),重复步骤。
其中提到的一些步骤需要添加一些逻辑门实现,比如指令寄存器有判断指令的逻辑门如下,最后的那根弦可以连接RAM的允许读取线,
下面这是loadA的逻辑电路,基本指令都有一套自己的逻辑电路,感兴趣可以自己实现以下,大有裨益。
标签:执行,RAM,指令,寄存器,ALU,CPU,结构 来源: https://www.cnblogs.com/EeiKo/p/15757459.html