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结构

 

 

CPU执行流程:

指令地址寄存器连接RAM,得到执行程序的首地址(0)

然后根据地址从RAM中取出该地址对应的操作,存到指令寄存器中去。其中前四位是指令码,后四位是执行指令的地址码,所以还要读取内存。

通过指令判断逻辑电路,执行指令,其中load和store指令都不需要ALU,需要的是逻辑电路,add指令需要ALU。(由此可见没有画上去的逻辑电路才是真正的主角啊,逻辑才是根本!)

指令地址寄存器+1(通过ALU实现),重复步骤。

 

其中提到的一些步骤需要添加一些逻辑门实现,比如指令寄存器有判断指令的逻辑门如下,最后的那根弦可以连接RAM的允许读取线,

CPU结构

 

 

 下面这是loadA的逻辑电路,基本指令都有一套自己的逻辑电路,感兴趣可以自己实现以下,大有裨益。

CPU结构

 

上一篇:win10 plsql 安装存在的问题


下一篇:PLSQL Developer客户端连接oracle 12c