我了解了下cpu里面的构造大体是晶体管(类似电流开关)但是cpu是怎么做到计算功能呢?
CPU的计算方式像算盘,算盘是打上多一个,打下来少一个,晶体管的开关用1和0表示,以二进制的方法来计算和读取结果,算盘则是直接数,表达方式不同而已,但无论是算盘或cpu计算,都不能直接乘除,只能加减,乘以几就加几次,除以几就减几次。
感谢数学和数学家,数学让这个世界变得逻辑透明,数学家让我们明白这一切,cpu的逻辑单元依靠改变电平高低显示0和1两个状态,当几十个乃至几亿个逻辑单元并排,就能依靠读取电平状态得到很大的二进制数据1100010101…001010,这是计算的基础,对于简单数学1+1或者2+(-1),按照二进制进位计算就好,复杂计算怎么办12345*54321,化乘法为加法,化除法为减法,ok,那更复杂的函数计算呢,感谢傅立叶变换,任何周期函数都可以看作是正余弦函数的叠加,原理不在这里解释,反正记住因为各种数学工具,平方开方微分积分,数据都能换成加法计算,当然,算法不同也决定了效率不同,这个是后话了,回到问题,cpu就是这么在集成电路里面掰手指,然后自然而然的给了21世纪新的发展动力
CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此,从这个意义上说,CPU正是由晶体管组合而成的。简单而言,晶体管就是微型电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关)。这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态“0”和“1”对应!这样,计算机就具备了处理信息的能力。
但你不要以为,只有简单的“0”和“1”两种状态的晶体管的原理很简单,其实它们的发展是经过科学家们多年的辛苦研究得来的
在晶体管之前,计算机依靠速度缓慢、低效率的真空电子管和机械开关来处理信息。后来,科研人员把两个晶体管放置到一个硅晶体中,这样便创作出第一个集成电路,再后来才有了微处理器。
看到这里,你一定想知道,晶体管是如何利用“0”和“1”这两种电子信号来执行指令和处理数据的呢?
其实,所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全由开关来控制,如果你将开关设置为OFF,电子将停止流动,如果你再将其设置为ON,电子又会继续流动。晶体管的这种ON与OFF的切换只由电子信号控制,我们可以将晶体管称之为二进制设备。
这样,晶体管的ON状态用“1”来表示,而OFF状态则用“0”来表示,就可以组成最简单的二进制数。众多晶体管产生的多个“1”与“0”的特殊次序和模式能代表不同的情况,将其定义为字母、数字、颜色和图形。举个例子,十进位中的1在二进位模式时也是“1”,2在二进位模式时是“10”,3是“11”,4是“100”,5是“101”,6是“110”等等,依此类推,这就组成了计算机工作采用的二进制语言和数据。成组的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组就像一部复杂的机器那样同步地执行它们的功能。
展开全部如果你能理解算盘的计算过程,就能按照同样的逻辑理解晶体管的组合如何实现同样的计算过程。
图示:算盘,现在算盘的状态是初始态表示数字0。算盘上的珠子分为上下两排,上排每个珠子表示五,下排每个珠子表示一。同时珠子还有两种状态,靠近中间横梁的状态以及远离横梁的状态,另外不同格上的珠子代表数字所在的位数,比如要表示111这个数,你只需要把下边比如靠右的连续的三档的下珠分别往上拨一颗就行。嗯,这一段有点像废话,但现在学校是否还介绍最基本的算盘,我并不清楚。所以还是简单解释一下比较好。如果能够将任意数字准确的用算盘上的珠子的状态变化进行表示,并且能正确的读出算盘上珠子状态所表示的数字,那就具备了使用算盘进行计算的入门要求。下面给出算盘运算的操作表,只给出加法操作。
图示:珠算口诀表,这里只给出如何算加法的口诀表
当一个人能够使用算盘正确的表示数字并且从算盘上读出数字之后,现在搭配上这张口诀表,严格呆板机械按照这张表的要求进行操作,即改变算盘上珠子的位置,他就能使用算盘进行加法运算了。
比如运算4+1的过程如下,首先找到口诀四上四,即将最右边的四颗下珠拨上去,然后找到口诀,一下五去四。将同一档的上珠向下拨(一下),然后将下档的四颗珠子也往下拨。最终状态变化就是最右边有一颗上珠被拨下来了,读出这个状态:5.
现在我们就得到了运算结果 4+1 = 5.
奇妙吧,如果你已经彻底的理解了这个过程的运作模式,那现在我们换成晶体管的集合来完成同样的步骤。由于晶体管只有两种状态,可以看成一种只有下珠且每一档都只有一颗珠子的算盘,珠子拨上去表示1,拨下来表示0,即二进制算盘。
对于二进制算盘,编写二进制算盘加法口诀表,二进制的加法口诀表相当简单。
0+1=1,即如果下珠在下边,就往上拨。
1+1=10. 即如果下珠已经在上边,加1就进位,将它左边的珠子往上拨,同时将它本身往下拨。
现在让我们用二进制算盘算4+1=?
首先把4转换为二进制算盘的表示法:100,你可以通过,按照上述两条规则的方式,连续运算1+1+1+1的过程得到这个结果100(4),现在计算100+1,按照规则将最左边的下珠往上拨即可得到101(这就是5)。
然后将二进制结果转换成10进制结果,呈现在屏幕上或者输出到纸带上。
当然,这里说得很简单呢,但实际上制造出按照我们想象中的方式正确进行运转的计算机,甚至高效运转的计算机,那是工程学和材料学上的难题。