你知道CPU吗?其实我们身边好多东西都用到了它,比如智能手表、手机、电脑。如果这些设备想要正常运行,就必须得有CPU。比如华为手机的麒麟990处理器,其实就是CPU的一种。
CPU组成接下来我们先了解一下CPU是由哪几部分组成的:
控制单元(Control Unit,CU):控制单元是CPU的重要组成部分,它负责控制计算机的操作。控制单元从内存中读取指令,解码指令并控制计算机的各个部件执行指令。
算术逻辑单元(Arithmetic Logic Unit,ALU):算术逻辑单元是CPU的另一个重要组成部分,它负责执行算术和逻辑运算。算术逻辑单元可以执行加、减、乘、除等算术运算,也可以执行与、或、非等逻辑运算。
寄存器(Register):寄存器是CPU内部的一组高速存储器件,用于存储指令和数据。CPU可以从寄存器中读取数据,也可以将数据写入寄存器中。
时钟,负责发出CPU开始计时的时钟信号。
缓存(Cache):缓存是CPU内部的一种高速缓存存储器,用于存储最近使用的指令和数据。缓存可以提高CPU的运行速度,减少对内存的访问次数。
由上述可知,ALU是负责计算的,所以我们本文的重点也是ALU。其实不管是ALU还是其他部分,甚至整个CPU都是由门电路组成的。那么基本的门电路都有哪些呢?
门电路And门:
Or门
Not门
这么门可以随意组合,比如:
And3门
Xor门
16位加法器
多路复用器
等等,这些门电路一点点的由最初的And门、Or门、Not门,一步步组装成成Xor门、多路复用门等等,就这样一路组装下去,最终就可以组装成一个简单的ALU。需要注意的是ALU本质与Xor门或者多路复用门并没有本质上的区别,只不过ALU比他们更复杂了一下、输入的参数比他们的更多了,仅此而已!
CPU计算原理最终我们组装出来了,稍微复杂一点的ALU:
其中zx、nx、zy、ny、f、no 都是控制指令的输入
zr、zg是标识位,zr用来标识out是否为0,为零时,zr被设置为1
zg用来标识out是否为负数,为负数时,zg为设置为1
这是ALU对应的真值表
也就是说当zx=0 nx=0 zy=0 ny=1 f=1 no=1时ALU计算是 y-x
(如果想要让 zx=0 nx=0 zy=0 ny=1 f=1 no=1时ALU计算是 y+x 可以不?当然可以,取决于你怎么组装ALU,不同的组装方式,同样控制指令表达的意义是不一样的。
本文这种组装方式,使得 当zx=0 nx=0 zy=0 ny=1 f=1 no=1时ALU计算是 y-x)
至此的话,如果我们通过编程语言或者计算器计算
2-1
经过层层转化后,达到ALU的指令为
x=1
y=2
zx=0
nx=0
zy=0
ny=1
f=1
no=1
然后经过ALU的计算后,其输出的结果为
out=1
zr=0
zg=0
拿到ALU的输出数据后,经过层层转化,最后在屏幕或者显示器上显示结果
1
即如图:
微软资讯推荐
win10系统推荐
系统教程推荐