科学・技術
運河の底のコンピューター
The Computer at the Bottom of a Canal (negroniventurestudios.com)
要約
この記事は、1988年にスコットランドのHi-FiメーカーLinn Productsが開発した革新的なコンピューターシステム「Rekursiv」の物語を掘り下げています。Rekursivは、ハードウェアレベルでメモリアクセスをチェックし、ガベージコレクションを実装し、メモリとディスクを単一の永続的なオブジェクトストアとして扱いました。当時の経済状況とRISCアーキテクチャの台頭により商業的には成功しませんでしたが、その設計思想は現代のArmチップにも影響を与えており、当時の技術的ビジョンが時代を先取りしていたことを示しています。
全文翻訳
運河の底のコンピューター
Alasdair Allan
2026年7月18日
フォース・アンド・クライド運河のどこかの底、堆積物の中に埋もれているのは、ほとんどすべてのことについて正しかったカスタムシリコンの箱です。1988年、スコットランドのHi-Fiメーカーは、すべてのメモリアクセスの型と境界をハードウェアでチェックし、独自のヒープをシリコンでガベージコレクションし、メモリとディスクを単一の永続的なオブジェクトストアとして扱ったプロセッサを出荷しました。この話の語り直しは、レコードターンテーブルを作っていた会社がフォン・ノイマンは間違っていたと決めた、魅力的な愚行として描かれています。しかし、Rekursivの物語は、単なる好奇心以上の価値があります。なぜなら、それが水に沈んでからほぼ40年後、そのアイデアは現在Armから出荷されているシリコンに搭載されており、また、それを殺した経済状況がちょうど逆転したからです。このすべて何年もの後でも、物語の細かい詳細は、そこにいた人々の記憶にほとんど基づいていますが、Hi-Fiメーカーはほとんどすべてについて正しかったことが判明しました。ただし、ハードウェアを構築するべき十年を除いて。
Hi-Fiメーカーがコンピューターを構築する
Linn Productsは、1972年にIvor Tiefenbrunが設立したグラスゴーの会社であり、もしあなたがそれを知っているなら、それはSondek LP12で知っているでしょう。これは、その支持者たちによって史上最高のレコードデッキと広く見なされています。
Linn Sondek LP12
80年代初頭、Linnは都市の南、Eagleshamに近代的な工場を建設し、2台のVAX-11/750と2台の11/780でビジネスを運営していました。しかし、Tiefenbrunは彼らが使用していたソフトウェアを嫌悪するようになりました。彼は、工場内の物理的なオブジェクト、組み立て、テスト、さらにはアフターセールスを通過する個々のターンテーブルに至るまで、その履歴を蓄積するソフトウェアオブジェクトのシャドーイングを持つシステムを望んでいました(Pountain、Byte、1988年11月)。そこで、1981年頃、Linnはプログラマーとグラスゴー大学のコンピューターサイエンス講師であるDavid Harlandを雇い、LINGOというオブジェクト指向言語を構築しました。LINGOは、SmalltalkにAlgolの構文が少し入ったもので、8年後に登場する他のLingoプログラミング言語と混同すべきではありません。
MICRO$COPYTREE: entf 1 pagebus d=ustack crtf IDXBADTYPES newtrbr _CONS incmsp m.sp' newmptr jf MICRO$COPYTREE ldustk d=pgrorr // the CDR branch 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 // the CAR branch js RTN$CONS rtf
再帰ツリーコピー命令のマイクロコード。命令がそれ自体を呼び出していることに注意してください。これは従来のCPUでは禁止されています(出典:Pountain、1988年)。
LINGOは機能しましたが、VAX上ではあまりにも遅く、何も自動化できませんでした。Tiefenbrunの対応は純粋なTiefenbrunでした。問題はソフトウェアではなくハードウェアでした。だからLinnはハードウェアを構築することにしました。セミナーからの帰りの遅延した列車に閉じ込められたHarlandと、別のコンピューターエンジニアであるBruno Beloffは、彼らのプロトタイプを「Rekursiv」と名付けたカスタムチップに再分割する計画を立てました。これが、Harlandが後に「RekursivはBritish Railのせいだ」と冗談を言った理由です。数年後の1984年、TiefenbrunはLinn Smart Computingを設立し、弟のMarcusをマネージングディレクター、Harlandをテクニカルディレクターに任命し、Linn自身の資金と商務産業省から約1000万ポンドの資金を調達しました。LSI Logicがチップを製造しました。1.5ミクロンのCMOS製の4つのゲートアレイ、それぞれ299ピンで、NUMERIK、LOGIK、OBJEKT、KLOKと名付けられました。Sondek、Ittok、Asakを販売していた会社が、チップに別の名前を付けることは決してありませんでした。
すべてがオブジェクト
Rekursivを奇妙にしたのは、オブジェクト指向プログラムを実行したことではありませんでした。プログラマー、あるいはコンパイラでさえ、アドレスを見ることができなかったことです。すべてのオブジェクトは、作成時に発行された40ビットの番号を保持し、OBJEKTチップは、ハッシュされたページャーテーブルを介して番号を物理的な場所に変換し、アクセスするたびに型と境界をハードウェアでチェックしました。配列の端を越えて実行しましたか?マシンは拒否しました。参照を偽造しましたか?マシンは拒否しました。OBJEKTだけが物理的な場所を常に知っていたため、オブジェクトは参照に触れることなく自由に再配置できたため、ガベージコレクションもシリコンに組み込まれました。これは2スペースのコンパクティングコレクタで、実行中のオブジェクトをウォークし、実行が上記で続いている間、DRAMのもう一方の半分にスライドさせました。永続性も同様に機能しました。メモリとディスクは1つのオブジェクトストアであり、必要なオブジェクトがDRAMにない場合、プロセッサは命令の途中で停止し、外部ディスクプロセッサがそれをフェッチしてから、何も起こらなかったかのように続行しました。ページングは命令実行レベルの下にあったため、単一のマイクロコード化された命令は任意に複雑になり、それ自体を呼び出すことさえできました。それが名前の「再帰」です。固定命令セットはまったくなく、命令セットはロード可能なアーティファクトであり、言語に適したものをマシンに与えることができました。LinnはCを提供し、James LothianはProlog命令セットをマイクロコード化し、マンチェスターのグループがSchemeを搭載し、Aberdeenは永続言語PS-algolをポートしました。私は、適切な(あるいは、そのように見たいのであれば、間違った)時期にそこにいたセントアンドリュースの卒業生です。PS-algolについて、望むよりも多くを覚えています。しかし、それは、彼らが言うように、まったく別の話です。
Linnが主張した数字は驚異的でした。2マイクロ秒ごとに1つのCONSセル、Symbolicsワークステーション上のLispの20倍の速度、および単一の命令としてのPrologユニフィケーション。しかし、その数字はLinn自身のシミュレーションから来ており、同社の協力のもとByte誌で報告されましたが、誰も独立して再現することはありませんでした。
キラーマイクロの襲来
Rekursivは、尊敬に値する知的伝統に属していました。70年代を通じて、業界のコンセンサスは、ハードウェアは言語に追いつくべきであり、文献が「セマンティックギャップ」と呼ぶものを閉じるべきだとされていました。Intelは、オブジェクト指向のiAPX 432という最初の32ビット設計でこれに賭け、SymbolicsはマイクロコードのLispでワークステーションビジネスを構築しました。残念ながら、Rekursivにとって、その伝統は、Linnがそれにコミットしたのとほぼ同じ瞬間に公に破壊されました。PattersonとDitzelは1980年にRISCの利点を主張しました。コンパイラは複雑な命令セットのごく一部を使用し、複雑さはコモンケースを負担し、単純な命令とキャッシュと優れたコンパイラはより高速になります。1984年までに、バークレーのSOARプロジェクトは、典型的な動的オブジェクト言語であるSmalltalkを、35,000トランジスタのシンプルなチップ上で高速に実行していました。Rekursivの中心的な仮定は、最初のボードが電源投入される4年前に公然と覆されました。
そして経済状況がやってきました。Eugene Brooksが「キラーマイクロの襲来」と名付けた1986年から2003年の期間、コモディティマイクロプロセッサは年間約52%のペースで改善しました。Rekursivの設計には4年かかりました。VAXがまともなパフォーマンスを定義していた頃に考案され、1988年にSPARCstationと386が登場する世界に現れ、486がすぐにそれに続きました。そこにいたLothianは、5年後に率直に言いました。そのマシンは新しいワークステーションにまったく対抗できませんでした。約20〜30枚のボードが製造されました。ほとんどは大学に行きました。それらのうちの1つがLinnの生産ラインで稼働したという記録はありません。それが演習の目的全体でした。生き残った唯一のフィールド比較では、Sun-3上のスレッドコードLINGOが、Rekursivボードよりも約2倍高速に動作していました。Rekursivボードは、それよりも劣っていることを意図して設計されていました。
結末は記憶に残るグラスゴー風でした。ブラックマンデーがLinnの財政を圧迫し、ベンチャー救済は決して完了せず、最後の引き金は駐車場でした。Linnの配達ドライバーがバンをHarlandのポルシェにバックさせ、Tiefenbrunは私有地で発生したという理由で修理代の支払いを拒否し、Harlandは辞任しました。彼が出て行く際に、彼自身の蓄積されたハードウェアとバックアップを投げ捨てました。