当前位置:主页 > 仪器原理

cpu的工作原理?

时间:2024-05-26 23:54|来源:未知|作者:admin|点击:0次

一、cpu的工作原理?

CPU的工作原理就是:

1、取指令:CPU的控制器从内存读取一条指令并放入指令寄存器。指令的格式一般是这个样子滴:操作码就是汇编语言里的mov,add,jmp等符号码;操作数地址说明该指令需要的操作数所在的地方,是在内存里还是在CPU的内部寄存器里。

2、指令译码(解码):指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。

3、执行指令(写回),以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。

4、 修改指令计数器,决定下一条指令的地址。

二、CPU 的工作原理是什么?

上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:

小明抬头看了一眼,觉得这两个数字挺眼熟。他昨天翘课去网吧了,因此错过了刘老师讲的竖式计算加法。

“同学们算一算这道题。”刘老师和蔼可亲地说道。

小明盯着黑板懵逼。

小学二年级的他面对这样一道世界级难题,束手无策。小明伸出了自己的左手,打算用一个古老而深邃的方法--掰手指--尝试一下。

小明发现他的每只手只能输入0-5中的正整数,和的范围仅限于0-10,离6324还十分遥远。

“慢着!”小明看向了自己的左手。他发现,事情有一点不对劲。

我们也来看看小明的左手。这只左手有5根手指,我们把5根手指都伸开来记为11111,5根手指握拳记为00000,手背面向我们,左手小指是第一个1/0。

小明紧紧地握拳,然后伸出大拇指,此时的左手为00001。

“如果,”小明想,“这样是1”。他缩回拇指,伸出食指,此时的左手为00010;“这样是2”。他又伸出拇指,此时的左手为00011;“那么这样是3”。他缩回拇指和食指,伸出中指,此时的左手为对着自己竖中指00100;“这样就是4!”.....小明的左手飞速运动着,直到五根手指都伸直,像是钢铁侠射了一发掌心炮11111;“这样就是31!一只手可以表示0-31中的任意正整数!”小明为自己的发现感到激动。

可他不知道怎么表示加法。小明的同桌,英语课代表小红,看他摆弄了半天左手,忍不住问他在干什么。小明解释了他的发现。小红听了小明的一番高论,若有所思,提笔在数学书的封底画了一个表格:

小红画的表格

“如果我们能造一个机器,给它三个输入,它能返回两个结果,那我们就能算出这道题!”小红激动地说。“啥叫进位啊美女?”小明问道。“就是你列竖式的时候画的一小撇”,小红回答。“猎术士是什么,我知道猎魔人和古尔丹。”小红于是讲解了一下怎么列竖式计算十进制加法。

“我懂了。”小明说着,拿过小红的数学书,补全了表格:

小明试着补全表格

“是这样吗?”小明问小红。小红拿过来看了看,说:“最后一行写错了,输出结果应该是1。你想啊,1+1+1应该等于11,左边这一位是输出进位,右边这一位是输出结果,都是1,所以输出结果应该是1。”

“噢。”小明又拿过书来,拿起橡皮铅笔改正:

小明改好了

“那为什么这个机器能算加法?我还是不懂。”小明问。

“假设我们已经造出来了这么个机器,长这样”小红继续在封底上画着:

小红画的机器

“等会等会,怎么变成英文了,我英语不好。”小明叫道。“hmmm看来你没读双语幼儿园。左边这三个是输入,右边是输出,C是进位,C-in是输入进位,C-out是输出进位,Sum是和的意思,明白了么?”小红解释道。

“噢好。”

“假设我们已经造出来了这么个机器,造了好几个,我们这么连起来...诶纸不够大,我写不下了。”小明一听,赶紧从书桌膛里翻出来一本草稿纸,生怕同桌变成费马。

“谢谢。先这么连起来:”

小红画图中

“哦哦哦我懂了,A和B就是两只手,最右边这个one-bit-adder算得是最小位数的和!”小明说道。

“正确!”

“你这样连的话,是说最小位的输出进位就是下一位的输入进位,下一位的输出又是下下一位的输入!天啊,这跟列竖式好像。”小明惊叫。

“Absolutely!”小红回答道。

小明又拿过草稿纸,接着画起来:

小明画图中

“把对应的每一位连到每一个adder里...”小明念念有词,“...再汇总一下输出”:

小明画的加法器

“成了!这个东西可以算两只手加法的结果!”小明高兴极了。“可是离6324和244675还是太远了,输入5位远远不够呀。”小红皱了皱眉头。

“不不不!你在掰手指的时候有没有发现,每多一根指头,能表示的数就会多出来一大堆,我觉得只要加那么十几个就够了!1根指头能表示2个数(0,1),2根指头四个数(0,1,2,3),3根8个...”“是2的倍数!”小红接道,“小明,我觉得你的这个记数方法很有意思,要不叫小明式吧!”小红凝望小明的目光中有了一丝羞涩。

“二进制。”身后忽然传来低沉的声音。两人同时回头,发现数学课代表小刚正直勾勾地盯着那张草稿纸。他好像已聆听多时了。

“叫二进制吧,我看蓝猫淘气三千问讲过这个,一模一样,蓝猫说这是二进制。”小刚补充道。小刚的数学成绩是班里最好的,一进学而思就上的超常班。小红只能上尖子班,小明一般去网吧。

“那就叫二进制吧。”小明说。他和小红转过身来,老师让小组讨论的时候他们就这么坐。

小刚又道:“可是,怎么造出这个one-bit-adder呢?”他的眉头皱成一团,眼镜片看起来更厚了。小明和小红也陷入了沉默,三人一筹莫展,陷入僵局。

这时,小刚的同桌,物理课代表小兰入局。她忽然说道:“我听物理办公室的陈老师吹牛,他当年在大学里读电子工程,GPA一直是4.3,用实验室的导线开关和小灯泡就能造一个32位的加法器,不知道是怎么做到的。他还说什么与门是and或门是or,再加一个非门not,用它们表示逻辑,就能造出世间千千万万的计算机。”

小明听迷糊了,“等会等会,什么门?金拱门?”另两人也露出迷茫的表情。

小兰从桌子里掏出一个黑盒子。“这是下节课要用的教具,陈老师让我先拿着。”她打开盒子,取出三个零件和一个说明书。

“喏,你们看看这个”,她拿起第一个零件,“这个叫与门,有两个输入和一个输出。如果我们把输出连上小灯泡,接上电源,两个输入分别连上开关,那么是这么个情况:”

小兰画的表格

“就是说,只有两个开关都闭合了,小灯泡才亮,有点像串联电路。”小兰补充道。

“诶,有意思了...”小刚扶了扶眼镜,似乎打算说什么,大家都看向他。

“没,没什么,我还在想,小兰你接着说。”

“那好。”小兰接着拿起第二块零件。“这个叫或门,有一个开关开着灯泡就会亮...”“等下!”小刚忽然打断,拿起笔在自己的白纸上画起来:

小刚画的表格

“是不是这样!”小刚激动地说,“如果0是关1是开,0是灭1是亮的话,或门的输入输出是不是这样?”小兰看了看道:“正是”。

她拿起第三个零件,“最后这个叫非门,只有一个输入,一个输出。它会输出一个相反的结果:输入有电流,输出就没有;输入没有电流,输出就有电流。用小刚的话来说,输入0输出则为1,输入1输出则为0。太简单了,懒得画表了。”小兰把非门放在桌上。

小刚说道:“这三个门可以表示三种逻辑。如果A、B是输入, 就是经过或门的结果, 就是经过与门的结果, 则是A经过非门的结果。”三人纷纷点头。

“可是,这和加法有什么关系呢?”小明问道。四人再度陷入沉默。

沉默。

忽然,小明拿起笔,一边画一边说道:“如果我们回去看小红画的表格,”

左三列是输入,右二列是输出

“Sum可以写成A、B、Cin的逻辑关系!”

============2019/6/18书接上回===================

“你们看,把 A and B 记作 AB,A or B 记作 A + B,not A 记作 A bar。Sum 输出为1只出现在表格的2、3、5、8行,也就是三个输入中1的个数为奇数的时候。我们把这4种情况记下来,那么这个式子...”

可以拿逻辑门实现!!!”四人异口同声的叫道。

小红抢过草稿纸,又看了看物理教具的说明书,边画边说了起来:“说明书上写,这个火车头形状的符号表示 and gate;这个B2轰炸机形状的是or gate;这个小人形状的是not gate...”

小红画的与门,或门,非门

她又看了一眼小明的式子,说道:“这个式子的第一项可以这样...”

小红画的输出和的第一项

"你们看你们看,这不就是 嘛!"小红自豪地说。

小明补全了电路:

“先把与门都画了”

“再把或门都加上,搞定。这东西可以算出Sum了,接下来用一样的办法把C-out弄出来。”小明准备继续画。

“你们看,这里还有几个零件。”小兰指着说明书说道:

与非,或非,异或,同或

“与非门:一个与门的输出和一个非门相连,英文是not and,NAND gate。那个小圈圈代表一个非门。或非门是或门 + 非门,not or,NOR gate。第三个叫异或门,只有两个输入中一个为1一个不为1时,才会输出1,exclusive-or,XOR gate。第四个是同或门,也就是一个异或门加上一个非门。”

“啊哈!”小刚灵机一动,抓起笔来道:“我有一个绝妙的点子。”

小刚简化后的电路

“小明的方案,要用17个门。我只要2个异或门就搞定了,牛逼吧?”三人瞪大了眼睛,仔细思考后纷纷点头道:“牛逼,牛逼。”

小刚随即画出了完整的one-bit-adder电路:

小刚的one-bit-adder

小明从从教具盒里拿出电源、小灯泡、开关和逻辑门,按照设计图制作出了全加器:

加法器造出来啦!https://www.zhihu.com/video/1124302170232877056

看到小刚的设计被完整的实现,小明欣喜:“啊哈哈哈,吾有上将小刚,则霸业可成,汉室可兴啊!”他把黑盒子里的零件全拿了出来,四人忙碌地工作着。很快,他们拥有了5个全加器,基于小红的设计连了起来:

小红设计实现

“二进制的01100等于十进制的12,01010等于10,12+10=22,等于16+4+2,也就是二进制的10110...”四人人往代表输出结果的5个小灯泡望去:

亮,灭,亮,亮,灭;正是10110!

成了!!!”

大家激动的拍打课桌

为了计算黑板上那道题,四人一共制作了32个一位全加器,将它们连接后,一个三十二位加法器便诞生了。他们历经艰辛,踩着自然规律和人类智慧的肩膀,把自己从枯燥的加法计算中解放出来!

窗外的蝉鸣渐渐平息,头顶的吊扇不再转动。

“刘老师,答案是250999!”小明站了起来,声若洪钟大吕,震慑天地。

他和小红、小刚、小兰分别对视了一眼,收获了坚定的目光--这目光,连同面前的32位加法器,如同新的转机和闪闪星斗,正在缀满没有遮拦的天空。

刘老师点了点头,欣慰的说道:“很好,看来四位同学对这部分知识掌握的不错!我们再来看几道题!”

他转过身,拿起板擦,把黑板擦了个精光,又从黑板槽里拾起半截粉笔,写了起来:

  1. 244675 - 6324 = ?
  2. 3.14159 + 5.535897 = ?
  3. 17 * 45 = ?
  4. 3 / 2 = ?

一连四道题,让四人组陷入了深思:如何让自己的机器运算减法?乘法?除法?浮点数?

刘老师并没有停下,手中的粉笔运动得越来越快:

5. Fibonacci 数列的第103项?

6. 一圈共有N个人,开始报数,报到M的人出列,然后重新开始报数,问最后出列的人是谁?

......

疑惑越来越多了:如何存储?怎样实现分支?保证效率?

刘老师仍未停下,黑板快被写满了:

103. 方程ζ(s)=0的所有有意义的解都在一条直线上吗?

104. 大于2的偶数都可以写成两个质数的和吗?

......

134. 生命,宇宙及所有事物的答案?

刘老师放下了粉笔,半截粉笔已经变成硬币的厚度。

“这些问题,我们能造个机器回答么?”小明撑着头,喃喃自语。

(完)

PS: 下学期大三了555,求一份2020 Summer 北美或国内的CS实习,有机会的看官可以考虑考虑在下,私信/评论区说一声就行。千恩万谢!

===2019/7/11 答疑===

  1. 画图是啥软件?

Logism,免费的,用之前要装 java.

2. 还有续集吗?

没了,不好意思。本来想让他们造一个ALU的,结果全加器就写了三天,算了算了。

不过话说回来,从全加器到算术逻辑单元 (ALU) 基本没什么复杂的,需要理解一下补码、反码,因为减法和位移要用。

理解了运算原理再去看存储,看看啥叫Latch,啥叫D-flip-flop,以及寄存器是什么意思等等。

接下来你就可以接触到硬核的内容了,比如内存读写和寄存器读写有什么不一样,比如流水线怎么搞,指令集怎么控制,为什么会有pipeline hazard。找本mips或者riscv的书看看,我们老师用的书是riscv的,Computer Organization and Design RISC-V Edition: The Hardware Software Interface, 写得好啊,而且淘宝电子版只要十几块。

这些都搞懂的话,你差不多从门外汉级别升级成了坐在门槛上抽烟的老大爷级别。接下来学什么就别问我了,毕竟我也坐在门槛上。

3. 输入x输入y是啥?表格是不是画错了??你这写的啥我咋看不懂???

x, y 跟小明小刚甲乙丙丁一样没什么意义,只是代号。表格没错。

答主改不动了,看不懂没事儿,凑合着看呗,还能离了咋地

三、CPU的工作原理是什么?

CPU的工作原理就是:

1、取指令:CPU的控制器从内存读取一条指令并放入指令寄存器。指令的格式一般是这个样子滴:操作码就是汇编语言里的mov,add,jmp等符号码;操作数地址说明该指令需要的操作数所在的地方,是在内存里还是在CPU的内部寄存器里。

2、指令译码(解码):指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。

3、执行指令(写回),以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。

4、 修改指令计数器,决定下一条指令的地址。

四、CPU工作原理?

CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。有的指令中也直接包含操作数本身。

提取

  第一阶段,提取,从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。由程序计数器(Program Counter)指定存储器的位置,程序计数器保存供识别目前程序位置的数值。换言之,程序计数器记录了CPU在目前程序里的踪迹。提取指令之后,程序计数器根据指令长度增加存储器单元。指令的提取必须常常从相对较慢的存储器寻找,因此导致CPU等候指令的送入。这个问题主要被论及在现代处理器的快取和管线化架构。

解码

  CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:暂存器或存储器位址,以定址模式决定。在旧的设计中,CPU里的指令解码部分是无法改变的硬件设备。不过在众多抽象且复杂的CPU和指令集架构中,一个微程序时常用来帮助转换指令为各种形态的讯号。这些微程序在已成品的CPU中往往可以重写,方便变更解码指令。

执行

  在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。例如,要求一个加法运算,算数逻辑单元(ALU,Arithmetic Logic Unit)将会连接到一组输入和一组输出。输入提供了要相加的数值,而输出将含有总和的结果。ALU内含电路系统,易于输出端完成简单的普通运算和逻辑运算(比如加法和位元运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,运算溢出(Arithmetic Overflow)标志可能会被设置。

写回

  最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体中。某些类型的指令会操作程序计数器,而不直接产生结果。这些一般称作ldquo;跳转(Jumps),并在程式中带来循环行为、条件性执行(透过条件跳转)和函式。许多指令也会改变标志暂存器的状态位元。

  这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果。例如,以一个比较指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。这个标志可藉由随后的跳转指令来决定程式动向。在执行指令并写回结果之后,程序计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,程序计数器将会修改成跳转到的指令位址,且程序继续正常执行。许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及经典RISC管线,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为微控制(Microcontrollers))。

基本结构

  CPU包括运算逻辑部件、寄存器部件和控制部件等。

运算逻辑部件

  运算逻辑部件,可以执行定点或浮点的算术运算操作、移位操作以及逻辑操作,也可执行地址的运算和转换。

寄存器部件

  寄存器部件,包括通用寄存器、专用寄存器和控制寄存器。通用寄存器又可分定点数和浮点数两类,它们用来保存指令中的寄存器操作数和操作结果。通用寄存器是中央处理器的重要组成部分,大多数指令都要访问到通用寄存器。通用寄存器的宽度决定计算机内部的数据通路宽度,其端口数目往往可影响内部操作的并行性。专用寄存器是为了执行一些特殊操作所需用的寄存器。控制寄存器通常用来指示机器执行的状态,或者保持某些指针,有处理状态寄存器、地址转换目录的基地址寄存器、特权状态寄存器、条件码寄存器、处理异常事故寄存器以及检错寄存器等。有的时候,中央处理器中还有一些缓存,用来暂时存放一些数据指令,缓存越大,说明CPU的运算速度越快,目前市场上的中高端中央处理器都有2M左右的二级缓存,高端中央处理器有4M左右的二级缓存。

五、多核cpu工作原理?

这个应该是程序决定的吧 如果程序支持多核处理器,那么它会把要处理的数据分解成多个部分分别给予不同的核心寄存器让各个运算器共同运算,最后的结果汇总后由一个运算器处理好分发给下一步,或者直接由程序控制将各个运算结果下发给下一步。

如果程序只支持单核,那就是很简单地把数据流供应给一个处理器处理。

六、CPU风扇 工作原理?

CPU风扇是利用快速转动将CPU的热量传导出来并吹到附近的空气中,加快空气流通,将热量及时散发。风扇有热传感器,当温度达到某一设定区域时,风扇通过传感器调节转速,使CPU温度保持在合理区间。

CPU是电脑的核心器件,运行过程中会发热,如果不能及时散热,随着热量积累会烧坏CPU。

CPU风扇又称为散热风扇,帮助CPU散热,提供给散热器和机箱使用,起到降温的效果。降温效果的好坏直接与CPU散热风扇、散热片的品质有关。

七、水冷CPU工作原理?

水冷的工作原理:一套水冷(液冷)散热系统必须具有以下部件:水冷块、循环液、水泵、管道和水箱或换热器。

水冷块是一个内部留有水道的金属块,由铜或铝制成,与CPU接触并将吸收CPU的热量,所以这部分的作用与风冷的散热片的作用是相同的,不同之处就在于水冷块必须留有循环液通过的水道而且是完全密闭的,这样才能保证循环液不外漏而引起电器的短路。

循环液的作用与空气类似,但能吸收大量的热量而保持温度不会明显变化,如果液体是水,就是我们大家熟知的水冷系统了。

水泵的作用是推动循环液流动,这样吸收了CPU热量的液体就会从CPU上的水冷块中流出,而新的低温的循环液将继续吸收CPU的热量。

水管连接水泵、水冷块和水箱,其作用是让循环液在一个密闭的通道中循环流动而不外漏,这样才能让液冷散热系统正常工作。

水箱用来存储循环液,回流的循环液在这里释放掉CPU的热量,低温的循环液重新流入管道,如果CPU的发热功率较小,利用水箱内存储的大容量的循环液就能保证循环液温度不会有明显的上升,如果CPU功率很大,则需要加入换热器来帮助散发CPU的热量,这里的换热器就是一个类似散热片的东西,循环液将热量传递给具有超大表面积的散热片,散热片上的风扇则将流入空气的热量带走。

八、共享cpu工作原理?

cpu处理速度远远大于内存和外设。计算机运行中cpu空闲的居多。将cpu运行时间划成时间片轮流供不同用户使用。

九、cpu是怎么的工作原理?

平整的半导体板上,用激光弄上一些坑坑,然后镶铜,铜连接以后就成电容了,因为本身就是在半导体上面制作的,并且有大概7层这样的,上下连接,就成处理器了,通电以后有一部分早通电,有一部分晚通电,结果就有因果关系了,从通电以后工作原理来说就是楼上这位长篇大论了

十、plc中cpu工作原理?

PLC是采用“顺序扫描,不断循环”的方式进行工作的。即在PLC运行时,CPU根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束。然后重新返回第一条指令,开始下一轮新的扫描。

在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。

Copyright © 2024 温变仪器 滇ICP备2024020316号-40