History · Ideas Over Dates
组成与体系结构
发展史
下面按阶段写公开可核对的主线。精确到年的只写有共识的节点;其余写年代。思想线索比年表更重要:程序如何进存储器,ISA 如何变成契约,频率走到墙之后设计往哪摆。
指令和数据以同样的二进制放进主存,按地址取指。这是冯·诺依曼叙事的核心,不是「五个箱子」本身。
指令集把软件看见的状态与硬件实现分开。同一套体系结构可以有多代实现,System/360 把这件事做成了产品策略。
用 IC、CPI、时钟比较设计。频率墙之后,通用核变多,专用加速器回来——不是「摩尔定律失效」一句话能概括的。
机械、电子管、存储程序
查尔斯·巴贝奇在 19 世纪设计差分机与分析机,提出可编程计算的机械方案,当时没有按设计完整造出来。20 世纪 40 年代出现大型电子数字计算机。
ENIAC 在宾夕法尼亚大学研制,1945 年底完成、1946 年公开演示:电子管、十进制、最初靠插线与开关改程序,不是后来教材里的存储程序机。
1945 年的 EDVAC 报告草稿把「指令与数据同存」写成可讨论的设计。1948 年曼彻斯特 Baby 跑通存储程序;1949 年剑桥 EDSAC 投入使用。这些是「程序进主存」进入工程的共识节点。
晶体管、集成电路与 System/360
晶体管在 1940 年代末于贝尔实验室出现,1950 年代进入计算机;集成电路在 1950 年代末由基尔比、诺伊斯等人分别实现。晶体管与集成电路推动部件小型化,使部分计算机由房间级设备向机柜级缩小。
IBM 在 1964 年宣布 System/360:把「体系结构」(程序员看见的指令与状态)和具体实现分开,使同一软件能在不同档次的机器上跑。Amdahl、Blaauw、Brooks 等人的论述被后来教材当作 ISA 契约的经典来源。
戈登·摩尔 1965 年撰文描述芯片上晶体管数量的指数增长。后来业界常按大约两年翻一番来规划,这是经验观察与产业节奏,不是物理定律。
微处理器与 RISC
Intel 4004 于 1971 年作为商用微处理器出现。8086 于 1978 年发布;IBM PC 在 1981 年采用其 8 位外部总线版本 8088,把 x86 带进个人电脑。
1970 年代 IBM 内部的 801 研究、1980 年代加州大学伯克利的 RISC 项目、斯坦福的 MIPS,把「少而规则的指令、Load/Store、硬布线更常见」做成可发表的设计路线。Acorn 在 1980 年代中期做出 ARM 的前身。这些是特征聚类,不是「RISC 一定更快」的证明。
频率竞赛与功耗墙
1990 年代到 21 世纪初,桌面处理器主频快速上升,流水线更深、推测执行更激进。Pentium 于 1993 年发布,是这条路上的一个公开产品节点。
大约 2004–2006 年,主频路线明显减速:功耗、漏电和设计复杂度让「再拉高 GHz」不再划算。此后通用处理器转向多核、更大 Cache、更重视每瓦性能。这是设计约束的转移,不是「流水线被淘汰」。
异构、移动与开放指令集
NVIDIA 于 2006 年公布 CUDA,为已具备可编程执行能力的 GPU 提供通用并行编程模型,推动 GPGPU 应用发展。移动端则由 ARM 授权的 SoC 成为智能手机的常规骨架。苹果在 2020 年发布 M1,把自研 ARM 核放进个人电脑产品线——这是公开产品节点,不是份额判决。
RISC-V 在 2010 年代于伯克利起步,后来成立基金会,把指令集写成可免费实施的开放规范。它提供又一条 ISA 契约,并不自动消灭 x86 或 ARM。
2010 年代中期以后,云厂商与芯片公司公开了多种训练/推理加速器(如 Google 2016 年公布的 TPU)。GPU 面向高吞吐并行计算;专用加速器针对特定工作负载定制计算单元、数据通路与存储层次,通常以降低通用性换取能效。不要把它读成新的处理机调度算法。