Atlas (コンピュータ)
エクストラコードはAtlasの機能の1つで、複雑な命令をソフトウェアで実装する技術だった。エクストラコードルーチンの呼び出しや戻りと、オペランドへのアクセスを、専用のハードウェアで処理した。またエクストラコードルーチンはROMに格納されており、コアストアよりもアクセスが速かった。
48ビット機であるAlrasでは上位10ビットがオペコードだった。最上位ビットが0の命令はハードウェアが直接実行する通常のマシン語命令だった。最上位ビットが1の命令はエクストラコードで、固定ストア(ROM)内にある特別な種類のサブルーチンジャンプとして実装され、呼び出し先アドレスは残りの9ビットにより決まった。最大512個のエクストラコードが実装可能であり、うち約250個が実装された。
エクストラコードは現代のコンピュータ用語でいう所のソフトウェア割り込みまたはトラップである。三角関数、対数、平方根など、ハードウェアで実装すると効率が悪い数学系のサブルーチンが定義されていた。しかしエクストラコードの約半分はOSを処理するスーパーバイザ関数に使われた。例えば「指定のストリームから特定の文字を印刷する」「論理テープNから512ワードを読み込む」などの指示ができた。エクストラコードはユーザープログラムがスーパーバイザと通信できる唯一の手段だった。フェランティ・オニオンなどの当時のイギリスのマシンはOSのサービスを呼び出すのに同様のメカニズムを採用した。
↑ Howarth completed his Ph.D. in physics at age 22.
↑ Bラインとはインデックスレジスタを格納するためのメモリ領域で、Atlasの前身であるManchester Mark Iでインデックスレジスタを保持するウイリアムス管がBラインに接続されていたことに由来する。
Atlasは当初からOSをマシンの一部として考えたスーパーコンピュータとして設計された。ハードウェアにはOSの動作に役立つ特殊な機能が備わっていた。例えばエクストラコードのルーチンと割り込みルーチンはそれぞれ個別に専用のストレージ、レジスタ、プログラムカウンタが割り当てられていたため、ユーザーモードからエクストラモードやエグゼクティブモードへの、またはエクストラモードからエグゼクティブモードへのコンテキストスイッチは非常に高速だった。
Atlas Computer(アトラスコンピュータ)は、1962年から1971年に稼働した世界初のスーパーコンピュータの1つ。当時は世界で最も高性能なコンピュータとされた。Atlasの稼働が止まるとイギリスが持つ全コンピュータの能力の半分が失われると言われた。ページング方式を使った仮想メモリ機能(当時は1レベルストアと呼んだ)を搭載した世界初のマシン(ページサイズは512-word)として有名であり、この方式は急速に拡散し、今日では当然なものになった。
Atlasは真空管ではなく電子部品のバイポーラトランジスタを使用した第2世代のコンピュータだった。マンチェスター・ビクトリア大学、フェランティ、プレッシーが共同でAtlasを開発した。Atlasは他にも2台あり、うち1台はブリティッシュ・ペトロリアムとロンドン大学のために作られ、もう1台はオックスフォード近くのチルトンにあるアトラスコンピュータ研究所に納入された。