电脑真的很简单,比人类的构造简单多了
很多人觉得计算机很神秘,像个魔法盒子,可以变出各种各样的软件和游戏,至于计算机为什么能跑这些软件和游戏都是一知半解,说不出个所以然,给你1分钟思考,是不是一时回答不上来。
作为依赖计算机工作的朋友们,我觉得需要了解一二。
其实计算机原理很简单,就做三件事:输入数据——处理数据——输出数据
计算机模型为了方便理解,我们回到早期图灵机开始讲,如下图,它有一条无限长的纸带,纸带分成一个一个的小方格,每个方格有不同的颜色,有一个机器头在纸带上移来移去;机器头有一组内部状态,还有一些固定的程序;在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。
图灵机模型是不是看完上面的描述还是一头雾水,这正是计算机理论让人抓狂的地方,往往一个很简单的东西,会套用很多个定义(流派),其实他们都是一个意思,诸位需要有这样的清醒认知。用人话翻译一下上面的定义,图灵机是一种抽象思想,能实现自动计算的一种模型,那条很长的纸带用来输入数据,然后机头读取纸带上的数据并经过内部运算,再把结果输出到纸带上。
图灵图灵机具备了计算机的三大要素:输入数据、处理数据、输出数据。现代计算机基本是依照图灵的思想在发展的,所以“图灵奖“有IT界的诺贝尔奖之称。
我们继续讲冯.诺依曼,相信学计算机的小伙伴,肯定听过这个大名,计算机采用0和1的二进制就是他的杰作;为什么使用二进制,因为计算机是一个头脑非常简单的怪物,只认识两种信号,断电(低电平 )和通电(高电平),0表示断电、1表示通电;计算机是由集成电路组成,集成电路靠电流来控制;不要看现在计算机可以做很多事,看电影、打游戏之类,其实机箱里就是各种电信号在流动。
如下图,通过电流控制8个电子管的开关状态,就可以表示为10100110,然后定义这个10100110所表达的含义即可,计算机的运作原理就是这一堆01,所以定义这一堆01就至关重要;如果早期有组装过电脑的小伙伴,应该清楚当时市面上有英特尔和AMD两种CPU可以选择,不同CPU的指令集是不一样的,什么意思呢,简单比喻,01010101在英特尔CPU里面可能是红色,在AMD里可能是粉色。
电子管当然啦,冯.诺依曼还制定了计算机的基本框架,由输入设备、存储器、运算器、控制器和输出设备5个部分组成。套用之前的计算机三大要素,输入设备是用来输入数据,比如键盘、鼠标等;存储器、运算器和控制器是用来处理数据,就是内存和CPU;输出设备是用来显示数据的,比如显示器。
冯.诺依曼大半世纪过去,计算机框架依然没有改变,都是围绕着这5个部分做升级,比如内存越来越大,CPU越来越快。因此冯.诺依曼被称为计算机之父。
(完)
文 | 三块泥板(公众号ID:sankuainiban)
关注三块泥板,一个分享所想、所读的小抽屉。持续生产新鲜有料的干货。