新闻  |   论坛  |   博客  |   在线研讨会
cpu晶体管为什么会计算
lantu | 2017-07-10 11:33:13    阅读:18142   发布文章

cpu里面的构造大体是晶体管(类似电流开关)但是cpu是怎么做到计算功能呢?


cpu的计算方式像算盘,算盘是打上多一个,打下来少一个,晶体管的开关用1和0表示,以二进制的方法来计算和读取结果,算盘则是直接数,表达方式不同而已,但无论是算盘或cpu计算,都不能直接乘除,只能加减,乘以几就加几次,除以几就减几次。


感谢数学和数学家,数学让这个世界变得逻辑透明,数学家让我们明白这一切,cpu的逻辑单元依靠改变电平高低显示0和1两个状态,当几十个乃至几亿个逻辑单元并排,就能依靠读取电平状态得到很大的二进制数据1100010101…001010,这是计算的基础,对于简单数学1+1或者2+(-1),按照二进制进位计算就好,复杂计算怎么办12345*54321,化乘法为加法,化除法为减法,ok,那更复杂的函数计算呢,感谢傅立叶变换,任何周期函数都可以看作是正余弦函数的叠加,原理不在这里解释,反正记住因为各种数学工具,平方开方微分积分,数据都能换成加法计算,当然,算法不同也决定了效率不同,这个是后话了,回到问题,cpu就是这么在集成电路里面掰手指,然后自然而然的给了21世纪新的发展动力


计算是对人来说的,晶体管才不会知道什么叫计算,他们只有两种状态,高电平和低电平,也就是通常所说的0和1,晶体管通过不同的组合形成大的输入输出元件,这些元件再通过组合形成逻辑电路,这就说我们说的运算基础,逻辑电路再组合就形成运算电路,运算电路集成到一起形成CPU,再配合时钟,就是我们所说的计算!所以计算是对整个CPU来说的,不是单一的晶体管!要了解很多,建议看看电子技术基础反面的书籍!


想知道晶体管为什么会计算,首先你得了解什么是半导体(具体想了解自己百度去)废话我就不多说了,半导体有个特点某些条件下他导电,某些条件下他又不导电,导电状态用1表示.不导电状态用0表示,其它的细节上面已经有人说了我就不叙述了,想弄懂楼上所说的你必须清楚什么是频率,人类是怎么利用频率传递信息的!

半导体重复导电状态和不导电状态的过程叫频率,就像你敲鼓一样,一秒敲一次频率为1次/S,两次为2次/S,半导体0-1的过程(也就是重复不导电状态到导电状态的过程)为1次频率,重复两次则为2次频率,以此类推!如果把一次频率表示为“我”,2次频率表示为“长”,3次表示为“得”,4次表示为“帅”。那么晶体管先重复一次,再重复2次,然后3次,最后4次。那么这个过程就被解码成“我长得帅”了。而芯片里数亿晶体管的工作模式又不同,什么时候什么区域的晶体管是导电状态还是不导电状态,靠指令集调度!


不要想得太复杂 首先cpu内部有很多基本的时序电路,把时序电路理解成“并不智能的机械”就可以了,比如烤箱 你直接控制烤箱 烤箱盘子就是寄存器 设定的时间就是时钟,也就是大家说的主频啦,主频是机器周期的倒数而已 把东西放进去,等一个时钟,就变成了熟的,烤箱就好比于算数运算单元 这里面,最重要的是你,你要负责放东西,负责时序,把你换成一个稍微复杂点的时序电路,这个电路总是循环发出:从内存取指令,解析指令中的操作和数据,按照规定发出控制信号,的循环中,你就是控制器了 这就是一个cpu的基本基本工作原理 实际的话需要你看看书,推荐:how do it work


我看了下大家的回答都没到点子上,实际上不管是电子管还是晶体管最终能形成编程性的功臣就是逻辑电路,通俗点可以看《三体》,里面有简单的描述,专业点可以了解lisp语言,也就是说不管你用什么方法,只要实现了car、cdr、cons、quote、cond、atom、eq,这七个功能,就可以用这七个功能自由组合推出现代意义上的所有程序功能,那么通过高级的程序我们最终让计算机拥有了十分强大的人工智能。


理解这个问题,首先你要具备一定的数电知识,CPU是由晶体管组成的,利用晶体管可以很轻易的搭建与门,或门,非门,这一点毋庸置疑吧,然后利用这些逻辑们就可以组成各种触发器,这一点也不用多解释,数电的基础内容,然后利用触发器进一步组成移位寄存器等,到这里,你就可以轻易的组建一个加法器,减法器了,数字用0,1表示,对应到电路中就是高电平和低电平,至于乘法和除法,最基本的运算单元也是加减法,到了这里,具备了基本的四则运算,也就具备了信息处理能力,无非就是用一定的规则组成成不同的0和1,当你动手焊接出一个加法器的时候,你就彻底明白了。


CPU不能称为晶体管。而是大规模集成电路,也称为数字集成电路。是由N个开关电路组成。通过数字转换,将普通数字变换成计算机语言。以0和1的不同组合,进行二进制运算。CPU只完成简单的运算,复杂的运算是需要不同的程序辅助完成的。


想了解cpu是如何计算的,先去了解下单片机吧,8位单片机,比64位的cpu好容易理解多了,实在不懂就去了解一下点阵模块怎么工作的也行,就说点阵模块吧,需要行扫描和场扫描信号,说出来只会更加糊涂

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
来吧!这里永远都充满阳光!
推荐文章
最近访客