计算机发展史¶
”给我一个支点,我能撬起整个地球“ ,这是古希腊物理学家阿基米德家喻户晓的一句名言,它展现了理论的强大。
老子的《道德经》,也有: "道生一,一生二,二生三,三生万物" ,阐述了 道 无限的衍生空间
而在现实社会中,相信小伙伴可能或多或少看过一些 ”理论成立,实践开始“ 的整活视频,博主凭借一个平平无奇的理论,制作出非常惊艳的效果,也是类似的证明。
而我们的计算机体系,也同样建立在一些基础理论之上,但你知道,或是有想过:它的“道”是什么吗?
回归到古老的原始社会,人类早期的计算实践以计数为起点,除了自身手指之外,我们的祖先还利用绳结、算筹、算珠等来代表离散的数的单元。
传说波斯王派军远征时,命他的卫队留下来保卫耶兹德河上的桥60天,但60在当时是个很大的数,如何掐准日子呢?那个时候并没有文字,聪明的波斯王在皮条上打了60个结,嘱咐士兵每天解开一个,解完所有结就任务完成可以回家了。
结绳不但可以计数,更可以记事
东汉末年儒家学者、经学大师郑玄在《周易郑康成注》一书中有言:“事大,大结其绳;事小,小结其绳。”
1937年《贵州苗民概况》一书中提到:“苗人识字甚少,犹保持上古结绳记事遗风。遇事暗中以草记之,简单实例,日久尚能忆之。”
文字还未诞生的时代,是结绳扛起了记载信息的历史重任。
现在让我们来想想一根绳子有多大的潜力:
- 可以打结来记录今天星期几。
- 可以留下一根绳子在家里,打结或不打结,家人回到家一看绳子就知道自己晚上回不回家吃饭。
- ...
总结一下就是,绳结可以用来计数,也可以根据数字, 解读 出 相应的 逻辑,这也就意味着,任何事物,都可以利用绳结进行记录,但这有个前提—— 绳子够长
为了让一个绳子能记录更多的数据,祖先也想到了增加更多的观测状态,从原来的只看重绳结数量,到考虑绳结的位置,以及绳结的类型,说通俗一些:原来最多只能打五个绳结的绳子,如果对绳结的位置进行排列组合,或者分辨绳结的样式,就能分化出更多的信息。
这便是数制的雏形,在现代社会中,通用的数制是十进制计数法,它包含了10个基本数码:0、1、2、3、4、5、6、7、8、9,逢十进位。
而在计算机中,采用的却是二进制,这是因为二进制:
- 在物理上容易切换状态
现实中存在两种稳定状态的物理元件(如晶体管的导通和截止,继电器的接通和断开,电脉冲电平的高低等)
打个比方,前方有一条横线,要求你踢过线,那么肯定是用力一踢,要求不过线,轻轻一下或者直接不踢,但如果前方有两条横线,让你踢到线中间,把控起来就比较困难了。
- 位的运算规则简单
如乘法规则只有三种:1 X 0 = 0 X 1 = 0、0 X 0 = 0、1 X 1 = 1
- 二进制数的0、1数码和逻辑量“假”和“真”吻合,便于进行逻辑运算
计算机将数据存储在 存储器 上,但它只是信息的载体,信息如果无法进行”解读“,那也就没有了意义:
例如,我随便将一根系有5个绳结的绳子扔给你,你知道它代表什么意义吗?
在计算机,是什么在充当解读者的角色呢?试想一个这样的流程:
我们的数据存储在计算机中,操作系统将之解读为文件系统中的各个文件,当我打开一个mp3文件时,会有对应的软件将之解读成一段音频数据,再由电脑的音频设备将之解读成我们实际能够听到的声音。
上述流程中,不只有硬件在解读数据,软件层面也在解读,甚至我们人本身,也参与到了其中(耳朵解析听到的声音数据)。
你可以发现,不止是计算机在解读磁盘上的数据,我们也在解读从这个世界获得的数据,最大的区别是 人类无法管控现实世界的数据与规则 ,但 在计算机中,我们几乎无所不能 :
我们可以利用 输入设备 跟计算机谈话,让它的 CPU(中央处理单元) ,帮我们任意更改 存储器 上的数据,最后再由输出设备呈现、反馈、解读出来
常见的输入设备有:键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、游戏杆、麦克风...
常见的输出设备有:打印机、投影机、显示屏、扬声器...
对于计算机的历史,笔者不过多赘述,如果有兴趣,推荐阅读《01改变世界:计算机发展史趣谈》