
2026/06/29 1:16
スペースシャトルの I/O プロセッサーから回路基板を検証する
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
スペースシャトル搭載の 5 台の汎用コンピュータは、現代の高速化ではなく、独自のアーキテクチャの選択によって顕著な信頼性を達成した。各コンピュータには 32 ビットの CPU と I/O プロセッサ(IOP)が含まれていた。IOP はメイン CPU よりも複雑なプログラマブルマシンであり、マイクロコードを用いて単一の物理プロセッサ上で 25 の仮想プロセッサをエミュレートするものであった。これら 25 の仮想プロセッサは、ネットワークポート間のデータ移動を管理するための 24 つのバス制御要素(Bus Control Elements)と、実行マネージャーとして機能する 1 つの主シーケンスコントローラー(Master Sequence Controller)で構成されていた。これらのコンピュータはインテグレーツド回路および DRAM の普及以前のものであり、一部のページでは停電時のデータ永続性を確保するために磁気コアメモリを採用していた。長序列での信号整合性を確保するためには、マンチェスター大学チームによって特許出願されたマンチェスター符号化(直流成分を除去)を適用するとともに、不連続素子を用いて信号を変換するセラミック基板上面に構築されたハイブリッドアナログモジュールが用いられた。このハードウェア固有の解決策の組み合わせにより、当時代技術の制約にもかかわらず、エンジン制御、センサー監視、航法、データ表示の安定した管理が可能となっていた。
本文
宇宙航天飞机搭載 I/O プロセッサの解読:アーキテクチャと物理構造
宇宙航天飞机(シャトル)は、計 5 つの汎用コンピュータを搭載していました。これらはエンジン制御、数千個のセンサー監視、乗員へのデータ表示、航法など、各飛行において決定的な役割を果たしました。
コンピュータの基本仕様
- 構造: 27 キロ(約 60 ポンド)のアレニウム合金製の箱が 2 つ積み重ねられており、右側が CPU となっています。
- CPU 性能: 32 ビットプロセッサで、1 秒間に42 万回の命令を実行していました(マイクロプロセッサ主流以前)。
- メモリ: DRAM チップではなく、マグネットコアメモリを採用しています。
I/O プロセッサ(IOP)の特徴
I/O プロセッサ(左側の箱)は単なる周辺機器ではなく、独立したプログラミング可能なコンピュータであり、メイン CPU よりも複雑な構成を持っていました。
- 役割: メイン CPU と航天飞机的他の部分を結び、システムやセンサーへの接続を担います。
- ネットワーク: 24 の高速ネットワークを実装し、高い性能と信頼性を両立させています。
- 世界初のマルチスレッド: 物理的なプロセッサが 1 つのみのまま、25 つの仮想プロセッサ(異なる命令セットを持つ)を動かす世界的な先駆けでした。
「MIA」インターフェースページの技術解説
著者が入手した回路カード 2 枚は、IBM の用語で「ページ」と呼ばれます。
- 構成: 9 インチ×3 インチの長方形で、小さなチップや部品でぎっしりと詰まっています。
- 上側(MIA ページ): ネットワークインターフェース。
- 下側(PROM ページ): マイクロコードが格納されています。
- MIA の機能: 4 つのネットワーク接続を提供し、1 秒間に100 万ビットを処理します(IOP はこれを 6 ページ搭載し計 24 ヌード対応)。
- アナログ回路:
- 「IBM」と記された金色のハイブリッド・モジュールが支配的。
- 同軸ケーブルではなく、絶縁ワイヤーペアを使用。
- アナログ信号を受信し、0 と 1 に変換する機能を持つ。
- 信頼性向上:
- 変圧器を用いてコンピュータとネットワークを絶縁し、電磁妨害(EMI)をフィルタリング。
- インピーダンス整合を行い、信号の減衰や歪みを補正。
マンチェスター符号化の採用理由
航天飞机ネットワークには、1940 年代に開発された「マンチェスター符号化」が不可欠でした。
- 仕組み:
- 「0」は「low-high」へ、「1」は「high-low」へ変換。
- 各ビットの中央に**遷移(トランジション)**が存在する。
- 採用された理由:
- 位相同期: 長い「0」や「1」の連続による曖昧さ(ビット数の判断困難)を解消。
- 直流成分排除: 信号を磁気媒体や変圧器で伝送する際の問題を防ぐため、0 と 1 の出現回数を均等に調整。
- 現代での利用: フロッピーディスクからイーサネット、RFID タグまで広く使用されている標準規格(IEEE マイルストーン)。
デジタル回路と物理構造
IOP のネットワークインターフェースには、信号の同期や復号を行う複雑な論理回路が搭載されています。
- 主要チップ: カスタム開発されたモトローラの集積回路(送信・受信チップ)。
- 送信側:マンチェスター符号化に変換し、パリティビットを追加。
- 受信側:同期検出、復号化、エラー報告。
- 補助チップ:
- TTL シフトレジスタ(1970 年代の主流)を使用。
- 24 ビットワードをシリアルデータに変換するため、6 つの 4 ビットレジスタを組み合わせています。
- ページの物理構造:
- IBM System/4 Pi の「ページ」形式を採用(対流冷却のため)。
- 甲羅状 IC: フィアット・パック(指紋より小さい)で、各ページに 78〜100 個搭載。
- 配線: 6 層構造のプリント基板を使用。
- 固定: 上部のジャックねじと背面の 98 ピンコネクタでシステムに接続・固定。
IOP のユニークなアーキテクチャ
ピーター・コグ氏(IBM Federal Systems Division / ノートルダム大学教授)が開発した高性能設計です。
- バレルプロセッサ方式:
- 物理プロセッサ 1 つで、25 個の仮想プロセッサを時間分割により動作させる。
- 目的:負荷分散。どのネットワークポートも予測可能な割合を受け取り、過負荷でも影響を与えないようにする。
- 仮想プロセッサの種類:
- BCE(Bus Control Element): ネットワークポートごとに存在。データワードを移動させる小さなプログラムを実行。
- MSC(Master Sequence Controller): 実行責任者。BCE を管理するプログラムを実行。
- 命令セットの独立性:
- MSC と BCE は異なる命令セットを持ち、メイン CPU(IBM システム/360 系)とも異なります。
- MSC: 標準計算指令+BCE 制御指令を備えた 32 ビットプロセッサ。
- BCE: 算術命令なし。「データ送信」「待機」などの I/O 専用指令のみ。
マイクロコードによる実装の秘密
1 つの物理プロセッサ上で多様な命令セットが動作する理由はマイクロコードにあります。
- 仕組み:
- 各 MSC/BCE 命令は、72 ビットのマイクロ指令のシーケンスとして実装。
- 単純な命令でも 5 コマ、複雑な命令では 60 コマのマイクロ指令を必要とする。
- マイクロ指令ごとに物理プロセッサが動作し、次の仮想プロセッサに切り替わって実行する。
- 物理プロセッサの能力:
- 3 つの 16 ビットデータパスと 2 つの ALU を並列動作可能に設計。
- 各仮想プロセッサの状態を追跡するための別々のレジスタセットを保有。
PROM ページの詳細
PROM ページには IOP の大部分のマイクロコードが格納されています。
- プログラミング:
- フューズブルリンク・PROM(白と金色のカバー)。
- 1 ビットごとに微小なフューズを爆破し「焼く」ことでプログラム。
- ページ全体で1024 個の 72 ビットマイクロ指令を保持(残り 512 個は別ページに収納)。
- パッケージングの違い:
- フィアット・パック ICではなく、DIP インラインパッケージを使用。
- コネクタの貫通孔なし(テストポイント用)。
- DIP チップは標準品より大きく広いため、ページの密度は通常の 1/4程度に低下しています。
進化と統合
設計当時先進的でしたが、技術陳腐化により IBM は再設計を行いました。
- 新機種 AP-101S: CPU と IOP の両方を単一のボックスへ統合。
- 重量削減:**約 300 ポンド(約 136 キロ)**の軽量化を実現。
- 性能向上:大幅な高速化とメモリ容量増加。
- 初飛行:1991 年より実施。
まとめ
宇宙航天飞机において重要な役割を果たした I/O プロセッサは、独自の「バレルプロセッサ」アーキテクチャやマンチェスター符号化の採用など、現代でも評価される高度な技術を備えていました。本研究稿では、その物理構造から回路原理に至るまでを詳述しました。