存储程序蓝图

存储程序机器(EDVAC/IAS架构)
约翰·冯·诺伊曼(与埃克特、莫奇利、戈德斯坦、伯克斯等合作) (1945)冯·诺伊曼的存储程序设计给闪电套上了缰绳。指令和数据共享同一内存空间——'大存储器'——使机器可以修改自己的程序,循环、分支、泛化。计算的原始创造力(天)被置于审慎的约束之下(山):时钟控制能量,控制单元调节执行,寄存器和总线施加秩序。从这种有纪律的驾驭中流出现代操作系统、编译器,以及软件作为有序潜能的整个概念。同样的精神支配着他的其他工作:从不可靠组件构建可靠计算(冗余和多数逻辑),冲突的博弈论控制,以及通用构造器——让模式在不陷入混乱的情况下复制的结构化规则。
Practical Integration
你正盯着没有结构容纳的原始计算力量。系统什么都能做——这意味着它即将混乱地做所有事情,直到某处崩溃。山在天上:创造力上升,需要纪律才能变得有用。冯·诺伊曼的洞见不是构建更快的机器。而是给闪电套缰绳。 1940年代中期,随着EDVAC报告的出现,冯·诺伊曼的存储程序设计浮现:指令和数据共享同一内存空间——'大存储器'。到1950年代初,在普林斯顿高等研究院,IAS机器将该架构体现为硬件。这听起来很技术性,但其含义是激进的——机器可以修改自己的程序。它可以循环、分支、在执行中重写自己。没有约束的创造力(天)只会是昂贵的混乱。冯·诺伊曼的贡献是约束:时钟控制能量,控制单元调节执行,寄存器和总线施加秩序。潜能变得有方向。 从组织角度看这个模式:你雇佣了出色的工程师,筹集了大量资金,确定了巨大的市场。山在天上——被结构限制的巨大能力,等待引导。卦辞警告:无缰的力量会浪费自己。你需要先有结构,再追求速度。冯·诺伊曼知道这一点。存储程序架构不是关于原始计算力。而是关于有纪律的计算。取-译-执行作为仪式:小而清晰的阶段,可靠地重复,没有会在生产中崩溃的整体聪明。 经典文本:'驯服伟大之力。聚集和储存;然后有节制地释放。'翻译:积累能力,然后控制其部署方式。你的工程团队想用Rust重建所有东西。你的销售团队想承诺你还没构建的功能。你的基础设施只要移除速率限制就可以扩展到无限。所有这些都是力量。没有一个被驯服。冯·诺伊曼的答案:时钟、管道、控制路径。调节执行速度的机制,使不受控制的激增不会烧毁系统。 人们错过的是:从不可靠组件实现可靠性。冯·诺伊曼证明你可以使用冗余、奇偶校验、投票逻辑从不完美的部件构建可靠的计算。单个真空管会故障。但系统不会,因为故障模式被设计到结构中。你的团队有不完美的人。你的基础设施有不完美的机器。问题不是如何使它们完美。问题是:什么结构让系统在组件失败时仍能成功? 卦象显示天(创造力)在山(静止、约束)之下。不是山压碎天。而是山引导它。储存使力量在需要时可访问,以不会破坏其要构建之物的形式。冯·诺伊曼的通用构造器——允许复制而不陷入混乱的元胞自动机规则——在边缘展示了这一原则:即使是自我修改、自我复制的系统也需要法则,否则会崩溃为噪音。 你现在正在构建强大的东西。代码库、团队、产品——它有潜力。危险不在于缺乏能力。危险在于在没有引导纪律的情况下释放该能力。取-译-执行:将工作分解为阶段。计时:调节发布节奏,不要冲刺到崩溃。冗余和投票:为部分故障设计,不要假设完美。内存作为大存储器:保留状态,使系统能够根据所学重新配置自己。 冯·诺伊曼的博弈论工作——极小极大定理、战略推理——也适用于此。在释放力量之前,推理限制。复杂度成本。容量约束。竞争下的战略行为。出色之处不在于力量本身。出色之处在于理解力量可以在不自我毁灭的情况下行使的边界。 山在天上。培养的力量。上智之人将知识准备好——代码、时钟、检查——当需要行动时,精确而不失误。你已经积累了能力。现在驯服它。在释放闪电之前,给它结构。存储程序机器成功是因为它统一了内存并施加了控制。你的系统会因同样的原因成功,或因缺乏它而失败。