意見ボイジャー宇宙探査機は、1980 年代を覚えているすべてのオタクにとって大切なものです。
双子のロボット宇宙船は1977年に打ち上げられ、Apple II、TRS-80、そしてコモドール・ペットと同じ年でした。そのため、この宇宙船は現代コンピュータ時代の守護聖人となりました。ボイジャーの主要ミッションは、1989年のボイジャー2号の海王星接近で終了しましたが、地球には80486、ゲームボーイ、そしてApple Macintosh Portableが既に存在していました。しかし、ボイジャー2号は当時地球から約47億キロメートル(30億マイル)離れた場所にいたため、輸送コストの観点からハードウェアのアップグレードは不可能でした。このミッションは、当時普及するずっと前の時代を象徴する技術を称えるものでした。
深宇宙で半世紀近くを過ごしたボイジャー1号からの信号はどれもボーナスだ
続きを読む
このように歴史が重なり合っているにもかかわらず、ボイジャーはマイクロプロセッサを使用しませんでした。最初のマイクロプロセッサの組み合わせは、1978年のインテルの 4004 とパイオニア ヴィーナスの間でした。しかし、2023年のボイジャー 1 号のコンピュータ問題と、それに続く 8 か月に及ぶ大規模な障害発見と恒星間ファームウェア アップデート (宇宙ビデオブロガーのスコット マンリーが適切に呼んだ言葉) により、48 年前の宇宙船とシンクレア ZX スペクトラム (特に、ボイジャー 2 号が天王星の雲の上を高速で移動していたのと同じ 1986 年に打ち上げられたスペクトラム 128) との間に、いくつかの興味深い類似点が明らかになりました。
ボイジャーの設計には3台のコンピューターが搭載されており、それぞれが冗長性とピーク時の処理能力のために二重化されています。航法、通信、機器制御を担当するコンピューターは、バイキング火星ミッションで以前に使用されたシステムの複製または派生であり、比較的詳細な資料が揃っていました。3つ目のフライトデータサブシステム(FDS)は、ボイジャーにとって全く新しい設計でした。大量の惑星接近データを処理するため、可能な限り高速かつ柔軟である必要があったため、許容できるリスクを伴う当時の最先端の技術を採用する必要がありました。
そのため、FDSは他のシステムの磁気記憶装置ではなく、ソリッドステートダイナミックメモリ(DRAM)を使用しています。これは8kの16ビットワードで、オリジナルのエントリーレベルのSpectrumに搭載されていた16kの8ビットバイトDRAMと同じ総記憶容量です。SpectrumはVoyagerの512に対して8個のメモリチップを使用しており、家計の負担も軽減しました。ゴードン・ムーアの功績は計り知れません。
Spectrumと同様に、Voyagerにも最新のオペレーティングシステムは搭載されておらず、内蔵ソフトウェアはアセンブラで記述された手作りのマシンコードで、特定のタスクを実行します。問題が発生した時点では、Voyagerの小規模な開発チームはドキュメントが不十分で、多くのリバースエンジニアリングを行う必要がありました。ZX Spectrum 128の開発が始まった頃には、元のソースコードもドキュメントが不十分で、失われたアセンブラプログラム用に記述されていたため、再構築には相当なリバースエンジニアリングが必要でした。これは、筆者がプログラマーとして初めて経験した仕事です。難易度は大きく異なりますが、それでも共感を呼びました。
FDS は 8K ワードのメモリをアドレス指定できるにもかかわらず、そのアーキテクチャは 4K に十分な 12 ビットのアドレス空間しか管理できませんでした。そのため、メモリは 2 つの 4K ページに分割され、プロセッサがそれらの間を切り替えていました。この複雑なソフトウェア設計では、コード実行中に別のページにアクセスする必要があるため、ページ アウトが必要となり、危険をはらんでいます。Spectrum 128 の Z80 は 64k のメモリにしかアクセスできないため、同じトリックを使用して名目上の 128K 全体にアクセスします。むしろスリリングなことに、切り替えを行うアセンブラ命令 OUT は両方のプラットフォームで同じであり、ページング ロジックなどのハードウェアへの OUTput 制御信号に使用されることが一般的です。z80 の命令セットは、FDS と同時に開発された 1974 年の 8080 の命令セットに基づいていたため、収束進化も当然のことです。
ボイジャー・イメージング・チームのメンバー、ギャリー・E・ハント博士とレグが対談
続きを読む
確かに、2つのシステムとシステムソフトウェアの障害検出プロセスには大きな違いがあります。ボイジャー1号のデータリンクは、光速(約110ビット/秒)で往復約2日かかります。Spectrum 128のファームウェアは、Vax 11/780への9600bps RS-232リンクを介してデバッグされました。プロトタイプにはZ80インサーキットエミュレータが接続されており、メモリの内容とプロセッサの命令ステップを瞬時に完全に可視化できました。
- 国際宇宙ステーションは栄光のうちに軌道離脱します。あなたのレガシーテクノロジーはいかがですか?
- 極軌道の謎 ― 宇宙最古の稼働機器は今も秘密を保っている
- シリコン、星、硫黄がアポロの意外な遺産となる
- 宇宙核:信じられないほど悪いアイデア、まさにそれです...信じられないほど
- 宇宙でのかくれんぼは地球上の戦いを浮き彫りにする
最も長い待ち時間は、新しい32kのUVEPROMが壊れるまでの5分でした。Voyager 1号のデバッグチームは、テストごとにほぼ週1回のサイクルで作業していましたが、Spectrum 128チームはコーヒーを飲む時間さえほとんどありませんでした。また、ROM内のコードは消えないので、Spectrumは電源のオンオフが可能で、放射性同位元素熱電発電機に恒久的に接続する必要はありません。コーディングエラーの影響も多少異なります。一方ではかけがえのない恒星間資産の喪失、他方ではもう一杯のコーヒーです。
しかし、ページングは両者にとってより困難なものとなりました。これは、Intelが8086で16ビットのアドレスコードをより大きなメモリマップで実行するために採用したセグメントレジスタソリューションほど厄介ではありません。適切なメモリ管理ユニットの登場は、システムソフトウェア界においてビールの発見に次ぐものです。VoyagerのFDSは個別のハードウェアページングを採用した最初のものではなく、Spectrum 128も最後のものではありませんでしたが、プロセッサとメモリ技術の不一致がこの厄介な問題を生み出した時代を象徴しています。
ボイジャーとZXスペクトラム、そして、実現可能な技術の限界で動作していた8ビットコンピュータの全世代の間には、最後の絆が一つだけ存在する。どちらもインスピレーションを与え、想像力が私たちをどこへ連れて行ってくれるかを示した例であり、一方は惑星間スケール、もう一方は机の上に鎮座している。どちらも主要なミッションを終え、通常の意味で時代遅れとなっている。ただ、誰もそのことを彼らに伝えていないだけだ。
最高のテクノロジーは、その本来の目的をはるかに超えて文化に影響を与えます。その影響が生まれたときにテクノロジーとの親密なつながりを感じることは、実に祝福する価値があります。®