返回

文章详情

运河底部的计算机

Hacker News2026年7月18日 08:33

在福斯与克莱德运河的底部,埋藏在淤泥中,有一个装满定制硅的盒子,几乎对所有事情都有正确的判断。1988年,一家苏格兰高保真公司发货了一款处理器,该处理器在硬件中检查每个内存访问的类型和边界,自动管理自己的堆,并将内存和磁盘视为单一的持久对象存储。关于这个故事的讲述把它描绘成一种迷人的愚蠢,一家制造唱片转盘的公司决定冯·诺依曼是错的。但是Rekursiv的故事值得超越简单的好奇,因为在它投入水中近四十年后,它的理念现在已经在Arm的生产硅中实现;而且因为使其失败的经济因素刚刚被逆转。虽然许多年后,这个故事的细节主要依赖于当时在场的人的回忆,但事实证明这家高保真公司几乎对所有事情的判断都是正确的,除了在哪个十年建造硬件。 一家高保真公司建造计算机 林产品(Linn Products)是艾沃·蒂芬布伦(Ivor Tiefenbrun)于1972年创立的格拉斯哥公司,如果你听说过它,你会知道它的Sondek LP12,仍被其拥护者广泛认为是有史以来最好的唱片机。 到八十年代初,林在城市南部的Eaglesham建立了一座现代化工厂,并在一对VAX-11/750和两台11/780上运行他们的业务。但蒂芬布伦痛恨他们使用的软件。他希望工厂中的每个物理对象,从每个个体的转盘在组装、测试,甚至售后过程中都有一个影像软件对象积累其历史(Pountain,Byte,1988年11月)。因此在1981年左右,林雇佣了程序员和格拉斯哥大学的计算机科学讲师大卫·哈兰(David Harland),并构建了一种名为LINGO的面向对象语言。LINGO 是一种带有一些Algol语法的Smalltalk,不要与其他Lingo编程语言混淆,后者在八年后才出现。 MICRO$COPYTREE: entf 1 pagebus d=ustack crtf IDXBADTYPES newtrbr _CONS incmsp m.sp' newmptr jf MICRO$COPYTREE ldustk d=pgrorr // CDR分支 m.fp 1 uaddbr newmptr readustk pagebus d=ustack idx2 newsr newbr loadaddr idxget nocheck incmsp m.sp' newmptr jf MICRO$COPYTREE ldustk d=memout // CAR分支 js RTN$CONS rtf 微代码用于递归树拷贝指令。注意指令调用自身,这在传统CPU中是被禁止的(来源:Pountain,1988)。LINGO工作了;但它在VAX上运行得太慢,无法自动化任何事情。蒂芬布伦的反应完全符合他的风格。硬件是问题,而不是软件:所以林将要构建硬件。在一次从会议返回家的延误火车上,哈兰和另一位计算机工程师布鲁诺·贝洛夫(Bruno Beloff)开始勾画他们的原型改造成定制芯片的方案,他们称之为“Rekursiv”,这也是哈兰后来开玩笑说“Rekursiv是英国铁路的错”的原因。几年后,在1984年,蒂芬布伦成立了林智能计算(Linn Smart Computing),让他的兄弟马库斯担任董事总经理,让哈兰担任技术总监,并用林自己的资金加上大约1000万英镑来自贸易和工业部的资金来资助。LSI Logic制造了芯片。四个在1.5微米CMOS中制造的门阵列,每个299个引脚,分别命名为NUMERIK、LOGIK、OBJEKT和KLOK。这个出售Sondek、Ittok和Asak的公司绝不会给芯片起其他名字。 一切向对象。 使Rekursiv奇怪的并非它运行面向对象的程序,而是程序员——或者说是编译器——根本无法看到地址。每个对象都携带一个在创建时分配的40位编号,而OBJEKT芯片通过哈希分页表将数字转换为物理位置,在此过程中检查每个单独访问的类型和边界。数组的末尾运行?机器拒绝。伪造引用?机器拒绝。由于只有OBJEKT知道任何内容的物理位置,对象可以在不触碰引用的情况下自由重新定位,因此,垃圾收集也嵌入了硅中:一个走访活动对象并将它们滑入DRAM另一半的两空间压缩收集器,同时执行继续进行,毫不在意。持久性以同样的方式工作。内存和磁盘是一个对象存储,如果所需的对象不在DRAM中,处理器会在指令中断时停滞,直到外部磁盘处理器提取它,然后继续执行,就好像什么都没有发生过一样。由于分页位于指令执行的下方,因此单个微编码指令可以是任意复杂的,甚至可以调用自身。这就是名字中的递归。根本没有固定的指令集;指令集是一个可加载的文物,你可以给机器提供适合你语言的任何一个。林提供了C,詹姆斯·洛西安(James Lothian)微编码了一个Prolog指令集,一个Ma

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡