模拟和数字前驱
哈明用一个区分开始了他的硬件历史:模拟计算(计算尺、微分分析器)与数字计算(纳皮尔算筹、桌面计算器)。两条线路并行发展;数字线路最终占主导。
纳皮尔(1550–1617)
约翰·纳皮尔发明了对数,这使计算尺成为可能——一种模拟装置,其中物理长度代表对数值。长度相加=数字相乘。纳皮尔还设计了「纳皮尔算筹」:用于乘法辅助的象牙棒。这是数字的,不要与计算尺混淆。
从施卡特到巴贝奇
威廉·施卡特(1623)设计了一台进行四则运算的机器;它在完成前被烧毁了。帕斯卡(1623–1662)建造了一台用于税务评估的加法机。莱布尼茨增加了乘法和除法,但这些机器不可靠。
查尔斯·巴贝奇(1791–1871)设计了差分机:一台通过逐次相加在等间距值处评估多项式的机器,产生无错误的印刷表。他从未完成它;一个挪威父子团队(舍茨)建造了工作版本。在1992年,英格兰的一个团队从他的图纸建造了巴贝奇的分析机——它成功了。
巴贝奇的分析机接近冯·诺依曼架构:一个存储器(内存)、一个磨坊(算术单元)和条件分支。洛夫莱斯夫人为它发布了第一个程序。
继电器计算机到ENIAC
现代计算时代始于1940年代初期的继电器计算机。哈明追踪了速度的演进:
| 时代 | 技术 | 速度 | |---|---|---| | 1940年前 | 手动计算器 | 1/20 操作/秒 | | ~1940 | 继电器(贝尔实验室) | 1 操作/秒 | | 1946 | ENIAC(真空管) | ~5,000 操作/秒 | | 1952 | IBM 701 | ~17,000 操作/秒 | | ~1993 | 现代工作站 | 10⁹ 操作/秒 |
贝尔电话实验室的乔治·斯蒂比茨从被弃用的M9枪炮指挥仪的零件中建造了继电器计算机。哈明使用了一个多年。这些继电器机器不快——约每秒一次操作——但它们可靠且可编程。
ENIAC(1945–1946)最初通过插板接线运行,就像一个巨大的插板计算机。尼克·梅特罗波利斯和迪克·克利彭格后来将其转换为来自弹道表的十进制开关编程。ENIAC消耗约150千瓦。
内部编程只有在存在足够的存储时才变成实际的。冯·诺依曼的角色是作为莫奇利和埃克特的顾问;在冯·诺依曼参与之前,内部编程在团队中被讨论过,尽管他广泛流通的(但从未正式发布的)报告传播了这些概念。
速度的数量级
从手动计算器到1990年代工作站的速度进展跨越了十多个数量级,在大约50年内。
硬件无法前往的地方
哈明提出了三个物理限制,限制了计算机最终能运行多快。这些不是聪慧能克服的工程挑战——它们是物理定律。
限制1:分子大小
组件不能缩小到原子尺度以下。一个10个原子宽的晶体管栅:量子隧穿占主导地位,晶体管停止可靠切换。到1993年,哈明估计,互联设备之间距离低于~100,000个原子(大约3皮秒的光传播时间)代表了真实的物理边界。
限制2:光速
信号在真空中最多以c = 3×10⁸米/秒传播(在导线中较少,大约2×10⁸米/秒)。1 GHz时钟周期是1纳秒;在1纳秒内,光传播30厘米。一个必须在一个时钟周期内发送跨越15厘米的信号并接收回复的芯片正在接近光速限制。
随着时钟速度的增加,芯片尺寸必须缩小以保持信号往返时间低于一个时钟周期。
限制3:热散逸
单位面积更多的组件+更快的切换=单位面积更多的功率=更多的热。热必须散逸否则组件融化。到1993年,工作电压下降到2-3V以减少切换功率。钻石层作为热导体正在调查中。可逆计算(热力学无损)仅在理论中存在。
这三个限制共同解释了为什么单处理器速度增益到1990年代正在接近饱和以及为什么对并行架构的兴趣增长。
应用光速限制
CPU以3 GHz运行。一个时钟周期= 1/3 纳秒≈ 0.333 纳秒。铜中的信号速度:~2/3 c ≈ 2×10⁸米/秒。
非常错误的专家
哈明指出了技术历史上最著名的预测失败之一:1940年代末的专家估计世界最多需要三到五台计算机。据报道,IBM的汤姆·沃森说两台。
到1993年,有数百万台计算机在运行。
为什么专家失败
专家们从当前的用例外推:在国家实验室的科学计算。他们没有预期等值产品洞察:计算机不会做人类已经做的事情,更快。计算机将使能够完全新的工作类别,这些类别以前不存在。
失败模式:成熟技术的专家对其限制最有信心,对其未来应用最可能是错误的。他们的专业知识给了他们准确的现在模型;它不会给他们什么将变成可能的模型。
并行架构
单处理器速度到1990年代接近饱和。行业反应:多个算术单元、管道、缓存层次和大规模并行机器。到1993年,没有单一占主导的并行架构——许多竞争设计具有不同的权衡和不同的编程模型。哈明将这种碎片化标记为一个问题:没有标准,编程工作被分散到不兼容的系统中。
为什么专家预测错误
哈明将3-5台计算机的预测视为不仅仅是一个好奇,而是关于专家知识限制的一课。专家很好地建模现在;他们在不存在的应用上失败。
洛斯阿拉莫斯数据和增长方程
哈明引用了洛斯阿拉莫斯国家实验室(LANL)编制的图表,追踪每个时间点市场上最快计算机的速度。数据符合指数方程:速度大约每18个月翻倍——后来作为晶体管计数的摩尔定律流行开来。
LANL方程:speed(t) = speed₀ × 10^(bt),其中b≈0.09每年(大约每3.3年在每秒操作中翻倍,不同于晶体管计数翻倍)。
哈明用这个来说明一点关于外推:指数不能无限期地继续。三个物理限制设定了天花板。指数何时达到天花板?该转换标志着单处理器时代的结束。
到1993年,行业已经接近那个天花板,推动了对并行架构、管道技巧和缓存层次的兴趣——所有这些都是朝着并行而不是更快单线程执行的小步骤。