Rekursiv:一台 1988 年的苏格兰计算机如何预见现代内存安全、垃圾回收、持久化和领域特定硅芯片
Rekursiv:一台 1988 年的苏格兰计算机如何预见现代内存安全、垃圾回收、持久化和领域特定硅芯片
Rekursiv 的核心理念是正确的,只是时机不对
1988 年的 Rekursiv 是由苏格兰高保真公司 Linn 定制的硅盒,实现了硬件强制的内存安全、垃圾回收的持久对象以及领域特定指令集——这些特性直到 2020 年代才进入主流。这个故事之所以重要,是因为它展示了技术信念可以超越最初导致其夭折的经济环境。
高保真公司打造计算机
Linn Products 以 Sondek LP12 唱盘闻名,20 世纪 80 年代初在 VAX‑11 主机上运营工厂。创始人 Ivor Tiefenbrun 不喜欢 VAX 软件栈,想让工厂里的每个实体对象都有一个记录其完整历史的影子软件对象。为此,Linn 雇佣了程序员和格拉斯哥大学讲师 David Harland,创建了一种面向对象语言,名为 LINGO(一种具有 Algol 风格语法的 Smalltalk‑like 语言)。
由于 LINGO 在 VAX 上运行过慢,团队认为瓶颈在硬件。一次在延误的火车上,Harland 与工程师 Bruno Beloff 草绘出一种可以直接在硅上实现该语言的定制芯片架构。该项目后来命名为 Rekursiv,于 1984 年获得 Linn、价值 1000 万英镑的英国贸易与工业部资助,并由 LSI Logic 采用四块 1.5 µm CMOS 门阵列制造:NUMERIK、LOGIK、OBJEKT 和 KLOK。
对象层层相连
Rekursiv 消除了可见地址。每个对象获得一个 40 位标识符;OBJEKT 芯片通过哈希页表将标识符映射到物理位置,并在每次访问时检查类型和边界。这种硬件强制的能力模型防止了越界读取、伪造引用,并允许对象在不更新指针的情况下移动。
由于只有 OBJEKT 知道对象的位置,芯片能够执行 硬件垃圾回收:一个两空间压缩收集器在 CPU 继续执行的同时,在 DRAM 两半之间滑动存活对象。内存和磁盘形成 单一持久对象存储;如果对象不在 DRAM 中,处理器会在指令执行中途暂停,外部磁盘控制器将其取回,然后透明地恢复执行。
指令集并非固定,而是作为微码工件加载。Linn 提供了 C 微码,James Lothian 编写了 Prolog 微码,其他团队移植了 Scheme 和 PS‑Algol。于是 Rekursiv 能够以远高于当时 Lisp 工作站的速度执行高级语言原语(例如 2 µs 完成一次 CONS 单元,Prolog 统一作为单条指令)——不过这些性能声明仅来自 Linn 自己的仿真,未曾得到独立验证。
Rekursiv 失败的原因
Rekursiv 正好赶上业界从 复杂指令集计算机(CISC) 向 精简指令集计算机(RISC) 转变的时期。开创性的 RISC 论文(Patterson & Ditzel, 1980)指出,大多数程序只使用少量复杂指令,而简单指令配合缓存和优秀编译器即可实现更高性能。到 1988 年,商品微处理器(SPARC、386、486)已经超越了 Rekursiv 四年设计周期的产出。
摩尔定律仍然强劲,1986‑2003 年间年均性能提升约 52 %——这一时期被称为 致命微处理器的攻击。Rekursiv 的定制硅无法与快速进步的现成 CPU 竞争,仅生产了约 20‑30 块板卡,主要供大学使用。一台运行线程化 LINGO 的 Sun‑3 的速度大约是它本应超越的 Rekursiv 的两倍。
最后的致命打击来自一次个人纠纷:一辆送货货车撞上了 Harland 的保时捷,Linn 拒绝支付维修费用,Harland 辞职,并将剩余硬件和备份介质倾倒进 Forth and Clyde 运河。仅有一块板卡幸存下来,如今在约克附近的 Jim Austin 计算机收藏馆展出。
四项后来成为主流的设计决策
| Rekursiv 设计决策 | 现代实现 |
|---|---|
| 硬件内存安全 – OBJEKT 对每次访问进行类型和边界检查。 | CHERI 能力架构(剑桥/SRI)以及 ARM Morello 原型(2022)和 Android 手机中的 Memory Tagging Extension。 |
| 硅上垃圾回收 – 两空间压缩收集器与执行并行运行。 | Azul Vega 处理器提供硬件读屏障支持无暂停 Java GC;该算法现已在商品 x86 上以软件实现。 |
| 单层持久存储 – 内存与磁盘合为一个对象存储。 | IBM i(System/38 系列)保持单层存储;Intel 的 Optane 试图实现类似模型,CXL 内存织物也在追求持久内存。 |
| 领域特定硅 – 为特定面向对象工作负载定制门电路。 | 现代 TPU、Groq、Cerebras 与 Etched Transformer ASIC——全部为加速狭窄工作负载(线性代数、流式或 Transformer 模型)而生。 |
这四个想法要么已经在生产硅中上市,要么正在大规模部署,或已定义当前研究方向。Rekursiv 只是 提前了四年。
对当今硬件格局的启示
- 技术正确性不足以成功——市场时机和经济环境可以毁掉即使是最具远见的设计。
- 硅上层的抽象能够存活——IBM 的 TIMI 虚拟 ISA 让 System/38 的语义超越了原始门阵列,说明将想法置于可移植抽象层可以延长其寿命。
- 领域特定架构已成主流——随着 Dennard 缩放的结束,业界拥抱工作负载特定硅,这正是 Rekursiv 预见的路径。
- 硬件内存安全终于可行——能力机器和内存标签扩展证明了 Rekursiv 的安全模型是实用且有价值的。
社区见解
"事情是,能力机器(像这个、432 以及大量研究机器)在当时非常前沿——甚至是最尖端的。研究文献里充斥着它们。把所有东西都装进一个针脚不多的芯片是它们被淘汰的原因,随后是‘在针脚更多的芯片上还能装下缓存吗’…" – Taniwha(Hacker News 评论)
"如果一小群聪明的人不受传统观念束缚,他们可以实现惊人的成就。他们被商品化曲线和摩尔定律压垮… AI 结束了程序员的稀缺,专用硬件比以往任何时候都更具可行性。" – JSR_FDED
Rekursiv 与 AI 驱动语言的关联
文章指出,今天的 AI 生成或模型中心语言(例如 Vera、agentlanguages.dev)正像 Rekursiv 当年那样,为了适配硬件而自我改造。循环已经完成:底层(硅)现在适应作者(LLM),而不是相反。
结论
Rekursiv 是一次大胆的实验,预见了四大趋势:硬件强制的内存安全、内置垃圾回收、统一持久对象存储以及领域特定硅。虽然它沉入了苏格兰运河,但其理念已在 CHERI、ARM Morello、持久内存系统以及 AI 专用 ASIC 等现代架构中复活。该故事说明 技术前瞻可以跨越数十年的经济变迁,而摩尔定律的终结让重新审视此类逆向硬件设计既可行又有利可图。