[从零学习汇编语言] - 计算机发展历史

文章目录

  • 前言
  • 一、 计算机的演变史

前言

今天主要的内容是简单介绍下计算机的历史,主要目的就是让大家对计算机有一个初步的理解,以方便大家对计算机的运行原理也有简单的认知。另外推荐一个计算机科学科普向视频:

https://www.bilibili.com/video/BV1EW411u7th?p=1

一、 计算机的演变史

不知道大家平时有没有思考过为什么会诞生计算机?其实就像它的名字一样,计算机的诞生源自于人类对于数字计算的强烈需求。在远古时期,人类可能并不需要进行很复杂的数学运算,大多数情况下十根手指就可以帮助人类完成日常生活中需要的计算需求,但是随着人类文明的发展,人类需要记住的数字或者需要计算的数字可能超出了个人计算的能力,那么据考证的最早的计算机算盘就登陆了人类的历史中。

这里插一个小番外:
咱们中国人民熟悉的算盘真的是中国人发明的吗?如果按照如今的考古发现来看可能不是。最早的类似于算盘的计算工具是在米索不达米亚地区发现的,接下来在希腊也发现了和中国算盘类似的计算工具,现如今英文的算盘bacus便是源于古希腊文άβακασ。而中国最早的算盘在记载中可能要追溯到东汉或者三国时期,显然略晚于其他文明。

算盘的出现在很长时间里面已经可以完美的解决人们日常的计算需求,接下来的4000年里人类还为各种场景发明了很多巧妙地计算设备,比如星盘,时钟等等。随着知识的增长和工具的诞生,人工劳力会越来越少。那个时候有一种专门的负责计算的职业叫做计算者(Computer) 那是computer还不是指机器,而是一些靠自己负责计算的人。知道1800年代,computer逐渐开始代表机器,其中最有名气的就是由德国博学家戈特弗里德·莱布尼茨于1694年建造的步进计算器。

"步进计算器"有点像汽车里的里程表,不断累加里程数,它有一连串可以转动的齿,每个齿轮有十个齿,代表数字0到9,每当一个齿轮转过 9,它会转回 0,同时让旁边的齿轮前进 1 个齿,就像算盘超过 10 一样。做减法时,机器会反向运作。

但是即使是拥有了早期的计算机,许多生活中的问题还是需要浪费大量的时间进行计算。为了解决这个问题人们提前计算出很多日常生活中用得到的运算指令并记录结果,这就是早期的计算表。计算表很像是现在的字典,我们只需要用很少的时间去查找我们想要的结果即可。但是计算表也存在它的局限性,它无法告诉你它没有记录的结果,如果你想知道这些就需要重复上述的运算步骤,这显然不行。这个问题直到19世纪末由于美国进行的一次人口普查才解决。

到了 19 世纪末,科学和工程领域中的特定任务 会用上计算设备,但公司,政府,家庭中很少见到计算设备。然而,美国政府在 1890 年的人口普查中面临着严重的问题,只有计算机能提供所需的效率。美国宪法要求 10 年进行一次人口普查目的是分配联邦资金,国会代表,等等。到 1880 年代,美国人口迅速增长,大部分因为移民。人口普查要七年时间来手工编制,等做完都过时了,而且 1890 年的人口普查,预计要 13 年完成,但人口普查可是 10 年一次。人口普查局找了 Herman Hollerith,他发明了打孔卡片制表机,他的机器是 “电动机械的” 用传统机械来计数,结构类似莱布尼茨的乘法器,但用电动结构连接其他组件。Hollerith 的机器用打孔卡,一种纸卡,上面有网格,用打孔来表示数据。举个例子:有一连串孔代表婚姻状况,如果你结婚了,就在 “结婚” 的位置打孔,当卡插入 Hollerith 的机器时,小金属针会到卡片上,如果有个地方打孔了,针会穿过孔泡入一小瓶汞,联通电路,电路会驱动电机,然后给 “已婚” 的齿轮 + 1。Hollerith 的机器速度是手动的 10 倍左右,使人口普查在短短两年半内完成。给人口普查办公室省了上百万美元。企业开始意识到计算机的价值,可以提升劳动力以及数据密集型任务 来提升利润。比如会计,保险评估和库存管理等行业。为了满足这一需求,Hollerith 成立了制表机器公司,这家公司后来在 1924 年与其它机械制造商合并,成为了 “国际商业机器公司”,简称 IBM。

打孔计算机极大程度上提升了人们的计算效率,然而到了20世纪初人类又面临了史上从未面临过的爆发式增长。全球贸易和运输更加紧密,工程和科学也达到了新高,复杂度的增加导致数据量暴增,人们需要更加自动化的计算能力,很快由继电器构成的机电计算机登上了历史舞台

最大的机电计算机之一是 哈佛马克一号,IBM 在 1944 完成建造,给二战同盟国建造的。它有76万5千个组件,300万个连接点和500英里长的导线。为了保持内部机械装置同步,它有一个50英尺的传动轴,由一个 5 马力的电机驱动。这台机器最早的用途之一 是给"曼哈顿计划"跑模拟,这台机器的大脑是"继电器",继电器是:用电控制的机械开关,继电器里,有根"控制线路",控制电路是开还是关,“控制线路” 连着一个线圈。当电流流过线圈,线圈产生电磁场,吸引金属臂,从而闭合电路。你可以把继电器想成水龙头,把控制线路想成水龙头把,打开水龙头,水会流出来,关闭水龙头,水就没有了。继电器是一样的,只不过控制的是电子 ,而不是水。
这个控制电路可以连到其他电路,比如马达,马达让计数齿轮 +1,就像上集中 Hollerith 的制表机一样,不幸的是,继电器内的机械臂有质量,因此无法快速开关。1940 年代一个好的继电器 1 秒能翻转 50 次,看起来好像很快,但还不够快,不足以解决复杂的大问题,哈佛马克一号,1 秒能做 3 次加法或减法运算,一次乘法要花 6 秒,除法要花 15 秒,更复杂的操作 比如三角函数,可能要一分钟以上,除了速度慢,另一个限制是齿轮磨损。任何会动的机械都会随时间磨损,有些部件会完全损坏,有些则是变黏,变慢,变得不可靠。并且随着继电器数量增加,故障概率也会增加。哈佛马克一号有大约 3500 个继电器,哪怕假设继电器的使用寿命是 10 年。也意味着平均每天得换一个故障继电器!这个问题很严重,因为有些重要运算要运行好几天,而且还有更多其他问题要考虑。这些巨大,黑色,温暖的机器也会吸引昆虫,1947年9月,哈佛马克2型的操作员从故障继电器中,拔出一只死虫,Grace Hopper(这位我们以后还会提到)曾说:“从那时起,每当电脑出了问题,我们就说它出了 bug(虫子)”,这就是术语 “bug” 的来源。

1904年英国物理学家 “约翰·安布罗斯·弗莱明"开发了一种新的电子件叫"热电子管”,这是最早的真空管,虽然它解决了继电器的性能和维护问题,但是与之带来的就是它会像灯泡一样被烧坏,要知道40年代真空管是非常昂贵的,这就决定了只有少部分人能够负担得起它的维护成本。好在跨时代的产品晶体管与1947年被发明。

晶体管的物理学相当复杂,牵扯到量子力学。所以我们只讲基础,晶体管 就像之前提过的"继电器"或"真空管"。它是一个开关,可以用控制线路来控制开或关,晶体管有两个电极,电极之间有一种材料隔开它们,这种材料有时候导电,有时候不导电,这叫"半导体"。控制线连到一个 “门” 电极,通过改变 “门” 的电荷。我们可以控制半导体材料的导电性,来允许或不允许电流流动,就像之前的水龙头比喻。贝尔实验室的第一个晶体管就展示了巨大的潜力,每秒可以开关 10,000 次而且,比起玻璃制成,小心易碎的真空管,晶体管是固态的。晶体管可以远远小于继电器或真空管,导致更小更便宜的计算机,比如1957年发布的IBM 608—第一个完全用晶体管,而且消费者也可以买到的计算机。它有 3000 个晶体管,每秒执行 4500 次加法,每秒能执行 80 次左右的乘除法。IBM 很快把所有产品都转向了晶体管,把晶体管计算机带入办公室,最终引入家庭。如今,计算机里的晶体管小于 50 纳米- 而一张纸的厚度大概是 10 万纳米。

之后就是大家熟悉的,科学家不断的进行封装,计算机越做越小,直到进入人们的生活。

你可能感兴趣的:(计算机原理,计算机组成原理)