エクストラコード
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/18 09:19 UTC 版)
「Atlas (コンピュータ)」の記事における「エクストラコード」の解説
エクストラコードはAtlasの機能の1つで、複雑な命令をソフトウェアで実装する技術だった。エクストラコードルーチンの呼び出しや戻りと、オペランドへのアクセスを、専用のハードウェアで処理した。またエクストラコードルーチンはROMに格納されており、コアストアよりもアクセスが速かった。 48ビット機であるAlrasでは上位10ビットがオペコードだった。最上位ビットが0の命令はハードウェアが直接実行する通常のマシン語命令だった。最上位ビットが1の命令はエクストラコードで、固定ストア(ROM)内にある特別な種類のサブルーチンジャンプとして実装され、呼び出し先アドレスは残りの9ビットにより決まった。最大512個のエクストラコードが実装可能であり、うち約250個が実装された。 エクストラコードは現代のコンピュータ用語でいう所のソフトウェア割り込みまたはトラップである。三角関数、対数、平方根など、ハードウェアで実装すると効率が悪い数学系のサブルーチンが定義されていた。しかしエクストラコードの約半分はOSを処理するスーパーバイザ関数に使われた。例えば「指定のストリームから特定の文字を印刷する」「論理テープNから512ワードを読み込む」などの指示ができた。エクストラコードはユーザープログラムがスーパーバイザと通信できる唯一の手段だった。フェランティ・オニオンなどの当時のイギリスのマシンはOSのサービスを呼び出すのに同様のメカニズムを採用した。
※この「エクストラコード」の解説は、「Atlas (コンピュータ)」の解説の一部です。
「エクストラコード」を含む「Atlas (コンピュータ)」の記事については、「Atlas (コンピュータ)」の概要を参照ください。
- エクストラコードのページへのリンク