自己设计一款CPU

严格来讲,CPU只是芯片的一部分,不过目前我们习惯性的将这两个概念混在一起了。CPU全称为*处理器,由控制单元,运算单元和存储单元三部分组成。这里我们单以运算器为例,来讲一下如何用逻辑门来实现数的运算

自己设计一款CPU

 

运算单元的类型有很多,加法器是最基础的一种,其余三种运算都能用加法来实现。

在不考虑进位情况下,根据布尔代数的定义,我们可以得到加法的真值表:

自己设计一款CPU

 

其中A,B为输入,C为进位,S为输出值,这种加法器叫做半加器,其布尔式为A⊕B=A¬B+¬AB

自己设计一款CPU

 

当需要考虑进位时,输入变成了三位数,根据布尔代数的定义,全加器需要多一个进位输入,所以需要使用两个半加器,将一个半加器的加和输出连接到另一个半加器,这样一来,就可以用来进位了。我们可以列出真值表,其布尔式如下:

(A⊕B)⊕C=A⊕B⊕C,由于排版原因,此处不再展开。

自己设计一款CPU

 

门电路图如下,

自己设计一款CPU

 

当设计完全加器后,我们搭建二进制加法器了。以一个八位二进制加法器为例,则需使用八个全加器,2^8=256,所以该加法器可以进行0~255以内的加法运算,每一个全加器的进位输入与上一个全加器的进位输出相连。

自己设计一款CPU

 

因为减法可以看做是加负数(计算机通常采用“取反补1”),乘法看作是多个数相加,除法看作为次数是被除数的减法运算,所以我们便完成了运算器的设计。