一个故事搞懂CPU是如何工作的

发布时间:2024-10-10 13:05:48  
上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:
6324 + 244675 = ?
小明抬头看了一眼,觉得这两个数字挺眼熟。他昨天翘课去网吧了,因此错过了刘老师讲的竖式计算加法。

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

小明盯着黑板懵逼。

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

小明发现他的每只手只能输入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是亮的话,或门的输入输出是不是这样?”

工作原理,下面介绍一下GPIO输出模式的工作原理 GPIO开漏输出_OUT_OD 模式工作原理 上图是GPIO开漏输出模式的工作原理图 当CPU......
关于8051单片机基础结构解析与工作原理及电路结构;单片机的基本结构包括中央处理器(CPU) 、存储器、定时/计数器、输入输出接口、中断控制系统和时钟电路六部分。 一、基本组成 中央......
效应管(FET)和1个片内上拉电阻组成。 P1口工作原理——只用作通用I/O口 ①若CPU输出1,Q=1,Q-=0,场效应管截止,P1.x脚输出为1; ②若CPU输出0,Q=0,Q-=1,场效应管导通,P1......
效应管(FET)和1个片内上拉电阻组成。 P1口工作原理——只用作通用I/O口 ①若CPU输出1,Q=1,Q-=0,场效应管截止,P1.x脚输出为1; ②若CPU输出0,Q=0,Q- =1,场效应管导通,P1......
工作原理——用作复用的地址/数据总线输入:当P0口作为数据输入时,仅从外部引脚读入信息,“控制”信号为0,MUX接通锁存器Q端。 P0口作为地址/数据复用方式访问外部存储器时,CPU自动向P0口写......
晶体管开漏),因此需要在P0端口引脚接外部上拉电阻,否则无法可靠输出“1”或“0”。 2.3 P0端口用作输入端口的工作原理 如图1所示,当单片机需要将P0端口用作输入端口时,内部CPU会先往P0端口......
STM32 MCU的工作原理、基本结构及优缺点;STM32 MCU是STMicroelectronics公司生产的一款基于ARM Cortex-M内核的32位微控制器,广泛应用于汽车电子、工业......
PLC是什么 工作原理和结构组成;  PLC是可编程逻辑控制器(Programmable Logic Controller)的缩写。它是一种用于自动化控制系统中的数字计算机,通常用于工业自动化、机器......
plc控制器的工作原理 plc控制器选型;  plc控制器的工作原理   PLC(Programmable Logic Controller)控制器的工作原理是通过输入模块、中央处理器(CPU......
.工作原理 STM32单片机的工作原理与GD32单片机类似,基于时钟周期进行指令集的执行。整个系统由CPU、存储器、总线和I/O等组成,其中CPU处理器可实现复杂的控制和算法,存储器可分为闪存和RAM......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>