概述:
提到的设备:继电器->真空管->晶体管
- 20世纪的发展要求更强的计算能力,柜子大小的计算机发展到房间大小
- 哈佛Mark 1号,IBM 1944年做的
- 继电器,继电器一秒最多50次开关
- 继电器bug
- 1904年,热电子管出现,第一个真空管,改进后变成和继电器的功能一样
- “巨人1号”计算机在英国布莱切特圆首次大规模使用真空管,但编程麻烦,还要配置
- 1946年,宾夕法尼亚大学的ENIAC是第一个通用可编程计算机
- 1947年,贝尔实验室做出了晶体管,晶体管有诸多好处,IBM很快全面转向晶体管。
- 硅谷的典故:很多晶体管和半导体的开发在硅谷做的,而生产半导体最常见的材料是硅
- 肖克利半导体->仙童半导体->英特尔
上集讲到20世纪初,当时早期,特定用途的计算设备,比如制表机,大大推动了政府和企业。
它帮助,甚至有时候替代了人工,然而人类社会的规模,在以前所未有的速度增长。
20世纪上半叶,世界人口几乎翻倍,一战动员七千万人,二战1亿多人,全球贸易和运输更加紧密。
工程和科学的复杂度也达到了新高,我们设置开始考虑登陆其他行星。复杂度的增高导致数据量暴增(and it was this explosion of complexity, bureaucray, and ultimately data),人们需要更多自动化和更强的计算能力(that drove an increasing need for automation and computation)
很快,柜子大小的计算机发展到房间大小,维护费用高,而且还用容易出错。而正是这些机器,为未来的创新打下基础。
最大的电子计算机(electro-mechanical computers)之一是哈佛马克一号 (Harvard Mark I),IBM在1944年完成建造,给二战同盟国建造的。它有76万5千个组件,300万个连接点和500英里长的导线,为了保持内部机械装置同步,它有一个50英尺的传动轴,由一个5马力的电机驱动。这台机器最早的用途之一是给“曼哈顿计划”跑模拟,这台机器的大脑是“继电器”,(The brains of these huge electro-mechanical beasts were relays)继电器是:用电控制的机械开关。
继电器里有根“控制线路”,控制电路是开是关。“控制线路”连着一个线圈,,当电流流过线圈,线圈产生电磁场,吸引金属臂,从而闭合电路。你可以把继电器想成水龙头,把控制线路想成水龙头把,打开水龙头,水会流出,关闭水龙头,水就没有了。
继电器是一样的,只不过控制的是电子,而不是水。这个控制电路可以连接到其他电路,比如马达,马达让计数齿轮+1,就像上集中Hollerith的制表机一样,不幸的是,继电器内的机械臂有质量,因此无法快速开关,1940年代一个好的继电器1秒钟能翻转50次,看起来好像很快,但还不够快,不足以解决复杂的大问题。
哈佛马克一号,1秒钟可以做3次加法或减法运算,一次乘法花6秒钟,除法花15秒,更复杂的操作,比如三角函数,可能要一分钟以上。
除了速度慢,另一个限制是齿轮磨损(In addition to slow-switching speed, another limitation was wear and tear),任何会动的机械都会随时间磨损,有些部件会完全损坏,有些则是变黏,变慢,变得不可靠。并且随着继电器数量的增加,故障概率也会增加。哈佛马克一号有大约3500个继电器,哪怕假设继电器的使用寿命是10年,也意味着平均每天都得换一个故障继电器(为啥呢?)这个问题很严重,因为有些重要运算需要运行好几天。而且还有更多其他问题需要考虑。
这些巨大、黑色、温暖的机器也会吸引昆虫,1947年9月,哈佛马克2型的操作员从故障继电器中,拔出一只死虫。Grace Hopper曾说:“从那时起,每当电脑出了问题,我们都说它出了bug(虫子)”(From then on, when anything went wrong with a computer, we said it had bugs in it.),这就是术语bug的来源。
显然,如果想进一步提高计算能力,我们就需要更快更可靠的东西,来替代继电器。幸运的是替代品已经存在了。
在1904年,英国物理学家“约翰.安布罗斯.弗莱明”开发了一种新的电子组件,叫“电子管“(a thermionic value)。
把两个电极装在一个气密的玻璃灯泡里,这是世上第一个真空管,其中一个电极可以加热,从而发射电子,这叫”热电子发射”。另一个电极会吸引电子,形成“电龙头”的电流。(The other electrode could then attract these electrons to create the flow of our electric faucet),但只有带正电才行(but only if it was positively charged)。
如果带负电荷或者中心电荷,电子就没办法被吸引,越过真空区域,因此没有电流。电流只能单向流动的电子部件叫做“二极管”。但是我们需要的是一个可以开关电流的东西。幸运的是,不久之后1906年,美国发明家“李.德弗雷克斯”(Lee de Forest)在“弗莱明”设计德两个电极之间,加入第三个“控制”电极,向“控制”电极施加正电荷,它会允许电子流动,但是如果施加负电荷,他会阻止电子流动,因此通过控制线路,可以断开或闭合电路,和继电器的功能一样。但重要的是,真空管内没有会动的组件,这意味着更少的磨损,更重要的是,每秒可以开闭千次,因此这些“三极真空管”(Triode vacuum tubes)成为了无线电、长途电话以及其他电子设备的基础,持续了接近半个世纪。我在这里应该提及,真空管并不是完美的,它们有点脆弱,并且像灯泡一样会烧坏,但是比起机械继电器是一次巨大的进步。起初真空管非常昂贵,收音机一般只用一个,但计算机可能要用上百甚至上千个电气开关(electrical switches),但是到了1940年代,它的成本和可靠性得到改进,可以用在计算机里。至少有钱人负担得起,比如政府。这标志着计算机从机械转为电子(shift from electro-mechanical computing to electronic computing)。
第一个大规模使用真空管的计算机是“巨人1号”(Colossus MK1),由工程师Tommy Flowers设计,完工于1943年12月。
巨人1号在英国的“布莱切利圆”,用于破解纳粹通信,听起来可能有点熟悉,因为两年前阿兰图灵,他经常被称为“计算机科学之父”,图灵在布拉切特圆做了台机电装置(electro mechanical device),叫做“Bombe”,这台机器的设计目的是破解纳粹“英格码”通讯加密设备,但是Bombe严格来说不算是计算机,我们之后会讨论Alan Turing的贡献。
总之,巨人1号有1600个真空管,总共造了10台巨人计算机,来帮助破解密码。巨人被认为是第一个可编程的电子计算机。
编程的方法是把几百根电线插入插板,有点像老电话交换机,这是为了让计算机执行正确操作,虽然“可编程”,但是需要配置它,(so while “programmable”, it still had to be configured to perform a specific computation)。
电子数值积分计算机“ENIAC”,(The Electronic Numerical Integrator and Calculator )
几年之后,在1946年,在“宾夕法尼亚大学“完成建造。设计者是John Mauchly和 J. Presper Eckert ,这是世上第一个真正的通用,可编程,电子计算机。ENIAC每秒可执行5000次十位数加减法,比前辈之前的任何机器快了很多倍。它运行了十年,据估计,它完成的运算,比全人类加起来还多(and is estimated to have done more arithmetic than entire human race up to that point),因为真空管很多,所以故障很常见,ENIAC运行半天左右就会出一次故障。
到1950年代,真空管计算机都达到了极限。美国空军的AN/FSQ-7计算机于1955年完成,是”SAGE“防空计算机系统的一部分。之后的视频还会提到。为了降低成本和大小,同时提高可靠性和速度,我们需要一种新的电子开关。
1947年,贝尔实验室科学家John Bardeen, Walter Brattain, William Shockley发明了晶体管。一个全新的计算机时代诞生了。晶体管的物理学相当复杂,牵扯到量子力学(quantum mechanics),所以我们只讲基础。
晶体管就像之前提过的“继电器”和“真空管”,它是一个开关,可以用控制线路来控制开或关,晶体管有两个电极,电极之间有一种材料隔开它们,这种材料有时导电,有时候不导电,这叫做“半导体(semiconductor)”。控制线连到一个“门”电极,通过改变“门”的电荷,我们可以控制半导体材料的导电性,来允许或不允许电流流动。就像之前的水龙头比喻。贝尔实验室的第一个晶体管就展示了巨大的潜力,每秒可以开关1万次,而且,比起玻璃制成的很容易碎真空管,晶体管是固态的,晶体管可以远远小于继电器或者真空管,导致更小更便宜的计算机,比如1957年发布的IBM608。第一个完全用晶体管,而且消费者也可以买到的计算机。它有3000个晶体管,每秒执行4500次加法,每秒能执行80次左右的乘除法。IBM很快把所有产品都转向了晶体管。把晶体管计算机带入了办公室,最终引入到家庭。如今,计算机里的晶体管小于50纳米,而一张纸(a sheet of paper)的厚度大概是10万纳米,晶体管不仅小,还超级快,每秒可以切换上百万次,并且可以工作几十年。很多晶体管和半导体的开发在“圣克拉拉谷”,这个地方在加州,位于“旧金山”和“圣荷西”之间,而生产半导体最常见的材料是“硅”(silicon),所以这个地区被称为“硅谷”(Silicon Valley)。甚至William Shockley都搬过去,创立了“肖克利半导体”,里面的员工后来成立了“仙童半导体”(Fairchild Semiconductors), 这里面的员工后来创立了英特尔,当今世界上最大的计算机芯片制造商。
好了,我们从“继电器”到“真空管”,再到“晶体管” relays -> vacuum tubes -> transistors
我们可以让电路开闭得非常非常快,但是我们如何使用晶体管做计算的?尤其是我们在没有马达和齿轮呢,会在后续的教程中讲到。
https://www.bilibili.com/video/BV1EW411u7th?p=2&vd_source=ccb6862d6e2cae82116a0b81a0aa468c