美文网首页@IT·互联网想法
一文搞懂CPU是如何进行计算的?

一文搞懂CPU是如何进行计算的?

作者: shengjk1 | 来源:发表于2024-05-14 20:00 被阅读0次

一、 前言

CPU 想必我们每个人都听过,但它是既熟悉又陌生,今天呢,我们就来解开 CPU 的面纱。
注意:文章是之前发头条的,但头条有个问题就是时间一长文章就没有办法编辑了,所以后续会再这个平台上汇总

另外,感觉最近这个平台,要破罐子破摔了,图片现在没有办法显示了,大家可转移到 https://blog.csdn.net/jsjsjs1789/article/details/138921356

二、CPU 全称 Central Processing Unit,中文翻译为中央处理器。

你知道CPU吗?其实我们身边好多东西都用到了它,比如智能手表、手机、电脑。如果这些设备想要正常运行,就必须得有CPU。比如,华为手机的麒麟990处理器,其实就是CPU的一种。

三、 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

即如图:


计算机计算2-1的结果

六、总结

本文通过简单易懂的方式介绍了CPU的组成和计算原理,重点介绍了ALU的门电路组成和控制指令的输入输出,以及如何通过ALU计算两个数的差或和,并最终在屏幕或显示器上显示结果。本文的重点在于ALU的门电路组成和控制指令的输入输出,对于想要深入了解计算机原理的读者来说,是一篇不错的文章。

相关文章

网友评论

    本文标题:一文搞懂CPU是如何进行计算的?

    本文链接:https://www.haomeiwen.com/subject/qoamfjtx.html