
1.1. 1965年,摩尔提出一个集成电路可容纳的晶体管数目,大约每年增加一倍
1.2. 1975年,摩尔将每年修订为每24个月
1.3. 产业界又将其修订为每18个月翻一番
1.4. 摩尔定律的持续正确极大促进了集成电路的进步,为冯·诺依曼体系插上翅膀,此后计算机技术迅猛发展
1.4.1. 计算机的核心处理器愈发强大,愈发廉价,逐步进入千家万户
2. 计算世界2.1. 集成电路领域主要包括三大应用,计算、通信与存储
2.1.1. 计算相关的半导体领域包罗万象,PC、智能手机处理器,基于ARM架构的各类嵌入式处理器,人工智能相关的GPU与可编程逻辑器件,都属于这个领域
2.1.2. 半导体产业以计算为中心,电子信息世界也以计算为中心
2.1.3. 通信与存储系统是电子信息产业基础设施重要的组成部分,其主要任务是搭建舞台,而真正上台表演的是计算
2.1.4. 集成电路的发展重心由通信与存储领域,逐步转移到计算领域,并持续至今
2.2. 1937年开始设计的ABC(Atanasoff-Berry Computer)计算设备,揭开了计算时代的序幕
2.3. 二战之后,伴随晶体管与集成电路的出现,计算领域出现了三次浪潮,分别是大型机时代、PC时代与智能手机时代
2.4. 在三次浪潮中,计算世界围绕算法与体系结构展开,算法与体系结构的世界围绕阿兰·麦席森·图灵与约翰·冯·诺依曼展开
2.4.1. 图灵与冯·诺依曼的光辉岁月均出现于二战前后,他们在计算领域的贡献,一直等到集成电路产业突飞猛进之后才充分展现
2.4.2. 图灵的贡献是清晰定义了什么是计算,并设计了图灵机,证明了计算模型之间的等价,以及计算模型的极限
2.4.3. 冯·诺依曼的成就在于提出搭建通用计算机体系的有效方法
3. 哥廷根大学3.1. 哥廷根大学是世界上最著名的学府,在此就读的学生与工作的学者这样描述这所院校,“哥廷根之外没有生活。即便有生活,亦非这般的生活”
3.2. 1929年,哥廷根数学研究所成立,组成了一个星光灿烂的阵容,包括分别将相对论与群论引入量子力学的保罗·狄拉克和赫尔曼·外尔,对薛定谔方程进行几率解释的马克斯·玻恩,原子弹之父罗伯特·奥本海默,以及被称为“数学世界亚历山大”的希尔伯特等人
4. 图灵4.1. 1912年6月23日,图灵生于英国伦敦
4.2. 1926年,图灵被英国公立学校舍伯恩录取
4.3. 1931年,图灵考入剑桥大学
4.4. 1936年4月,图灵提交了一篇对后世影响深远的文章《论可计算数及其在判定问题上的应用》
4.5. 1936年9月,图灵开始在Church教授的指导下攻读博士学位
4.6. 1938年6月,图灵获得博士学位
4.7. 图灵最终选择回到剑桥,从事与可计算理论相关的研究
4.8. 图灵机可以解决所有可以用状态机描述的问题
4.8.1. 如果一个问题无法用图灵机来完成,意味着没有任何算法能够解决这个问题,也意味着凡是能用算法求解的问题,就一定可以使用图灵机完成
4.9. 图灵在逻辑学、代数学与数论等领域迅速展现出惊人的才华
4.9.1. 逻辑学、数论与可计算理论是密码破译最重要的数学基础
4.10. 在密码破译的背后,比拼的是交战国之间计算能力的高下
4.10.1. 这个计算能力由人与机器组成
4.10.2. 在英国,图灵是那个人,机器是图灵设计的机器
4.11. 他是密码破译行业的天选之子
4.11.1. 基于图灵机模型能够设计出强大的计算设备,加速密码破译进程
4.12. 德军设计了一种名为Enigma的密码机
4.12.1. Enigma密码机被认为是世界上最先进的密码机
4.12.2. 按照Enigma密码机设计者的思路,这台增强后的设备能够产生10^20量级的加密组合
4.13. 1939年,图灵设计了一台巨大的机器,后世将之称为“图灵Bombe”密码破译机,取名Bombe主要是为了纪念波兰人的Bomba密码破译机
4.14. 在所有人的努力下,第一台改进后的Bombe破译机于1940年8月搭建完成,并迅速投入使用
4.14.1. 目前世界上公认的第一台电子计算设备是ABC,但我们更应该称呼Bombe破译机是人类历史上的第一台电子计算机
4.14.2. ABC计算设备的原型设计于1939年11月,直到1942年才搭建出完整机型
4.15. Bombe破译机传入美国后,许多公司开始复制这一产品,其中一家从事制表机和穿孔卡片机的公司,也开始生产这种机器,这个公司就是号称“蓝色巨人”的IBM(International Business Machines)
4.15.1. 在北非战场,蒙哥马利凭借破译带来的信息优势,击败了“沙漠之狐”隆美尔
4.15.2. 又在大西洋海战中,帮助皇家海军击溃德国潜艇编队
4.16. 1941年起,德军研制出与Enigma密码机完全不同的,更加先进的电传打字机加密系统,即Lorenz密码,用于加密希特勒在内的德军高级将领之间的通信
4.17. 密码破译在战争时期的成就,使其在战后跃上神坛
4.17.1. 算法之外,密码破译需要比拼计算能力
4.17.2. 计算能力决定了密码破译的效率,被视为一个国家军力的象征
4.17.3. 从这时起,各国军方围绕计算,展开了一场旷日持久的竞赛
4.17.4. 这场军备竞赛为晶体管的诞生提供了肥沃的土壤,揭开了现代计算机发展的帷幕
4.18. 1950年图灵发表了另外一篇对后世影响深远的论文《计算机与智能》
4.19. 1954年6月8日,图灵在他42岁的时候,却使用一个毒苹果离开了这个世界
4.20. 图灵的一生注定是孤独的
4.21. 为了纪念图灵,计算机科学界以他的名字命名这个领域的最高奖项
4.21.1. 图灵机、Bombe破译机和人工智能,是图灵留给后世的重大贡献
5. 冯·诺依曼5.1. 1903年,冯·诺依曼出生于匈牙利的一个犹太家庭
5.2. 15岁时,匈牙利著名数学家Gábor Szegő为他讲解高等微积分课程时,竟被这个男孩异乎常人的天分震惊得痛哭流涕
5.3. 19岁时,这个男孩已在顶级数学刊物上发表了两篇文章
5.4. 在数学领域,冯·诺依曼展现出惊天的才华,非常轻松地拿到数学博士学位,于1926年进入哥廷根大学,跟随希尔伯特从事数学研究
5.5. 从1927年开始,发表了一系列与量子力学有关的文章,其中包括一本专著《量子力学的数学基础》
5.6. 1929年,冯·诺依曼在一篇著作中,将希尔伯特提出的一种空间,命名为“希尔伯特空间”
5.6.1. 冯·诺依曼最早认识到希尔伯特空间的重要性,并借助这个空间对量子力学进行了一系列基础且极具创造性的研究工作
5.7. 在量子力学发展史中,重要的研究工具一是薛定谔方程;二则是希尔伯特空间与算符理论
5.7.1. 量子力学领域的果实,大多已被哥本哈根学派摘取
5.7.2. 冯·诺依曼在数学层面的查漏补缺,没有使他在数学界或者物理界获得足够声望
5.8. 年轻的冯·诺依曼,在星光灿烂且按部就班的欧洲大陆,甚至无法谋得一个副教授职位
5.9. 1929年,美国的普林斯顿大学需要开设与量子力学相关的数学基础课程,冯·诺依曼收到邀请后欣然前往
5.10. 1931年,27岁的冯·诺依曼成为普林斯顿大学的教授
5.11. 普林斯顿大学成立高等研究院
5.11.1. 在这个研究院中,第一批终身教授有6名,其中一名是爱因斯坦,最年轻的是年仅30岁的冯·诺依曼
5.12. 宾夕法尼亚大学此时正在研制一台计算机,即ENIAC(Electronic Numerical Integrator And Computer),用于测算导弹的运行轨迹
5.12.1. 见识了ENIAC的威力之后,冯·诺依曼决定作为顾问,参与研制下一代机型EDVAC(Electronic Discrete Variable Automatic Computer)
5.12.2. 数学家的冯·诺依曼,从事“计算科学”的出发点是进行导弹轨迹计算、核弹模拟这些高端应用
5.13. 1945年6月30日,冯·诺依曼的一份关于如何搭建EDVAC的手写草稿,即“First Draft of a Report on the EDVAC”正式发表,简称为“First Draft”
5.14. 1946年,冯·诺依曼与其他人一道,完善并总结了“First Draft”,发表了一篇名为“Preliminary discussion of the logical design of an electronic computing instrument”的论文
5.15. 1949年交付,并于1951年投入使用的EDVAC
5.15.1. 这台计算机运行新的程序,不需要重构计算机硬件,仅需提供不同的程序代码即可
5.15.2. EDVAC因此被称为人类历史上第一台通用电子计算机
5.15.2.1. 只有EDVAC作为第一台通用电子计算机没有丝毫争议,因为这台计算机所基于的冯·诺依曼体系与二进制运算,是毫无疑问的通用电子计算机的标志
5.15.2.2. 这台计算机的设计基石—冯·诺依曼体系,重构了其后的计算世界
5.15.2.3. 采用这种方法实现新的算法时,只需要更换计算机所运行的程序,而无须重新搭建电路
5.16. 直到1973年,美国联邦地方法院判决撤销ENIAC的专利,认为ENIAC发明者从ABC计算设备中获得了设计构想
5.16.1. 至此,ABC被裁定为世界上第一台计算机
5.16.2. ENIAC是第一台可编程、图灵完备的计算机
5.16.3. ABC、Bombe和Colossus计算机类似,仅能执行固定任务,依然是一种专用计算设备
5.17. 冯·诺依曼体系
5.17.1. 确定了在计算机体系结构中的五大基本组成部件,包括控制单元(Control Unit)、算术逻辑单元(Arithmetic Logic Unit,ALU)、寄存器(Processor Registers)、内存单元(Memory Unit)与输入/输出设备(Input/Output Device)
5.17.2. 其中控制单元、算术逻辑单元与寄存器合称为中央处理器(Central Processing Unit,CPU)
5.17.3. 此后直到今天,所有计算机,从大型机、PC到手机处理器,全部基于这种架构实现
5.17.4. 冯·诺依曼体系极大化简了在计算机设计中存在的冗余,将绝大多数应用场景规约于一个统一模型,奠定了现代计算机体系结构的基础
5.17.5. 在现代处理器中,寄存器与内存之间设置了非常复杂的缓冲结构,这种缓冲结构也被称为Cache层次结构
5.17.6. 引入Cache层次结构的目的是缓解冯·诺依曼瓶颈,但是瓶颈依然存在