要約

  • ARM1 は製造前から、動作モデル、命令試験、高速な命令シミュレーター、インタープリター、BBC BASIC、Tube の第二プロセッサ OS を通じて段階的に検証されていた。
  • Sophie Wilson は命令セットを設計し検証を率いた。最初の BBC BASIC 動作モデルは Steve Furber が書き、ほかの技術者が検証、コンパイラー、物理設計、製造を担った。
  • 最初の起動が示したのは、観測された ISA、実装、ボード、ソフトウェアの経路が一致したことだ。網羅的正しさ、電力、タイミング余裕、歩留まり、認定、量産、エコシステム、商業成功は別の証拠を要する。

シリコンが届く前に、答えは準備されていた

Computer History Museum の口述史で Wilson は、ARM1 が戻った日の様子を具体的に語っている。待機していた第二プロセッサ・ボードにチップを挿すと Tube OS が起動し、BBC BASIC が走った。簡単な命令が期待どおりの結果を返し、チームはシャンパンを開けた。

「初回で動いた」という短い表現は、成功の直前だけを切り取る。実際には、アーキテクチャはシリコン以前に実行可能な形を持ち、テストは質問を用意し、ソフトウェアは負荷を作り、ボードは返答を受け取れる状態だった。チップは空白の作業台ではなく、比較可能な期待の束に出会った。

この準備があるからこそ、最初の起動は意味を持つ。何をモデル化し、何をテストし、どのソフトウェアを動かし、どの実装を製造したかが分からなければ、起動画面は境界のない物語になってしまう。

正確な役割分担が検証構造を示す

Wilson 本人の記録によれば、最初の ARM 動作モデルを BBC BASIC で書いたのは Steve Furber だった。速度は毎秒わずか数サイクルだった。一方、Wilson は命令セットを設計し、命令動作を調べる試験、検証ソフトウェア、インタープリターを書く大きなグループを率いた。Royal Society も Wilson の命令セット設計を明記し、Wilson と Furber を共同で評価している。

命令セット、モデル、チップは同じものではない。ISA はソフトウェアから見える意味を定める。動作モデルはその意味を実行可能にする。Furber のマイクロアーキテクチャとブロック仕様は、意味をハードウェア構造へ落とす。回路設計と物理設計は、それを製造可能な配置へ変換する。

Wilson は Hugo Tyson、Jez Wills、Jon Thackray、David Seal と自分が検証ソフト、妥当性確認ソフト、インタープリターを書いたと述べる。Arm の Seal 追悼記事も、Project A における主な貢献を ISA の verification and validation としている。Lee Smith と Harry Meekings はコンパイラー・チームを率いた。複数の役割は功績を薄めるのではなく、最終結果が複数の独立した接点を通ったことを示す。

遅いモデルから実ソフトウェアへ

遅い動作モデルは性能予測装置ではなく、意味のオラクルとして役立つ。加算、シフト、条件実行、ロード、ストア、制御移動が、どのレジスターやメモリー状態を生むべきかを問い直せる。

その後、チームはより速い命令シミュレーターを作った。Wilson の回想では、6502 の第二プロセッサ上で毎秒数十万 ARM 命令をシミュレートできた。これにより、短い命令試験だけでなく、BBC BASIC、Tube の第二プロセッサ OS、インタープリター、さらに多くのソフトウェアを準備できた。

各層は違う失敗を探す。マイクロテストは意味を分離し、シミュレーターは長い列を扱い、言語処理系は呼び出し、算術、分岐、メモリーを自然に組み合わせる。OS の起動経路は初期化やインターフェースの前提を試す。どれも網羅的ではないが、一つの都合のよいテストだけに依存しない証拠になる。

物理設計とファウンドリーの境界

Furber の口述史には、ALU やレジスター・ファイルなどの短いブロック仕様が登場する。Acorn の VLSI グループはそれを回路と物理設計へ変換した。彼の記憶では、ARM に直接携わったのは当初三人ほどで、のちに四チップ構成のシステムへ向けてグループが拡大した。

VLSI Technology は設計ツールと製造を提供した。同社の口述史は、Wilson と Furber のアーキテクトとしての仕事、実際にチップを作る物理設計、そしてファウンドリーの役割を区別している。仕様からシリコンまでは印刷作業ではない。論理は回路、配置、配線、マスク、プロセスへ翻訳され、そのたびに誤差が入り得る。

Hermann Hauser は、探索的な案を正式プロジェクトへ進められる組織的な後ろ盾を与えた。後年の「人も資金も与えなかった」という表現は、単純さを求める圧力を説明する。ただし、資源不足そのものは正しさの証明ではない。証明を作ったのは、技術者と比較可能な成果物だった。

最初の起動が受け取った範囲

Tube OS の起動は、プロセッサが十分な命令動作を実行し、第二プロセッサ環境と通信できたことを示す。BBC BASIC は、よく理解された複雑なソフトウェア経路を追加した。ISA、モデル、シミュレーター、移植ソフト、マイクロアーキテクチャ、物理設計、製造、ボードが、目に見えるプログラム実行でつながった。

一方、すべての命令の隅、割り込み順序、まれな状態、長時間動作を試したわけではない。代表負荷での電力、電圧と温度の余裕、プロセスばらつき、ウェハー歩留まり、パッケージ、認定、コスト、量産能力は別問題である。完全な周辺チップセット、成熟した OS、販売可能な製品も一度の起動からは生まれない。

Wilson の話でも、チップの qualification、Acorn の完成機、改善された OS は後の段階だ。Arm の公式史には ARM2、Archimedes、1990年の会社設立、ライセンス・モデルが続く。後世の市場規模を、1985年の BASIC プロンプトへ遡って含めてはいけない。

単純さは免責ではない

ARM1 は約2万5000トランジスターと小さかった。小さな設計は相互作用を減らし、理解可能性を高める。それでも RISC は「初回成功保証」という意味ではない。単純な設計も失敗し、後継世代は新しい複雑さを持ち込む。

重要なのは、チームが単純さを理由に検証を省かなかったことだ。変更がまだ安い段階へ不確実性を移し、モデル、テスト、ソフトウェアで矛盾を見つけようとした。初回シリコンの成功は、プロセッサ設計が容易だと示したのではない。物理的な修正が高価になる前に、曖昧な期待の多くを実行可能な比較へ変えたことを示した。

出典