ACOS-6は、
[日本電気]が開発した
[メインフレーム]]およびそのオペレーティングシステム]であるACOSシリーズの一翼を担っています。そのルーツは、NECが初期の[[メインフレーム事業展開にあたり、
ハネウェル社から導入した技術にあります。しかし、
ハネウェルの技術の中には、同社がGEから買収したコンピュータ部門の技術が多数含まれており、例えばMITがGEのマシンで開発していたMulticsの技術もその一部です。
2003年時点では、ACOS-6/NVX PXという名称で、パラレルACOS PX7900というハードウェア上で稼働していました。
アーキテクチャ
ACOS-6は、珍しい
ワードマシンです。1バイトを9
ビットとして扱い、1
ワードは36
ビットで構成されます。初期のアーキテクチャと後期のアーキテクチャでは、その構造に大きな違いが見られます。
システム構成
システムの中核にはSCU(システム制御ユニット)があり、その下に演算部(EPU)、メモリ、入出力プロセッサ(IOP)が接続されます。パラレルACOS以前の機種では、初期のものを除き、1つのSCUに最大2つのEPUを接続できました。システム2000では、SCPを2つ連結して、4つのEPUをサポートしています。
2つのモード
ACOS-6には、RモードとVモードという2つの動作モードが存在します。
Rモード
Rモードは、18
ビットのメモリ空間(256K
ワード、すなわち1Mバイト)内で動作します。この範囲内でフラットなメモリ空間を提供しますが、18
ビットのアドレス空間の制限により、最大で256K
ワード(1Mバイト)にしかアクセスできません。ただし、アドレスマッピング用のレジスタを用いることで、256K
ワード以上のメモリ空間へのアクセスも可能です。アドレスマッピング機能は、Vモードでは無効になります。
Vモード
Vモードは、セグメントを多用し、各種保護機能を付加した、拡張されたメモリ空間を持つモードです。80386プロセッサのプロテクトモードに似た動作をすると考えると理解しやすいでしょう。アドレスレジスタはセグメントのポインタとオフセットの組み合わせとなり(名称もデータレジスタに変化)、セグメント記述子で指定されたメモリ空間や保護機能が有効になります。1つのプログラムが複数のセグメントで構成されるようになります。システム1000以降では、アドレス空間が72
ビットに拡張されますが、Vモードはごく初期のマシン(システム600など)では利用できません。また、システム2000以降では命令空間も拡張されます。これはPentiumプロセッサのEM-64Tモードに類似しています。
統合アレイプロセッサ
システム1000から導入された機能で、ベクトル演算を実行するための命令群です。システム2000からは、マスク制御付きのベクトル演算が可能になり、FORTRANでIF文を含むDOループのベクトル化が可能になりました。1つのベクトル命令で処理できる要素数は、システム1000では2の18乗個、システム2000では2の36乗個に及びます。
拡張仮想計算機システム
システム2000から導入された機能で、ハードウェアが仮想計算機機能をサポートするようになりました。これにより、同時に複数のOSを動作させることが可能になりました。
レジスタ構成
ACOS-6のレジスタ構成は、他のアーキテクチャに比べて少ないのが特徴です。演算に使用できるレジスタはAレジスタとQレジスタの2つのみで、それぞれ36
ビットです。他にインデックスレジスタ(18
ビット)とアドレスレジスタがあります。インデックスレジスタとアドレスレジスタは、実効アドレスを生成する際にアドレスを修飾する目的で使用されます。Vモードでは、アドレスレジスタの機能が変化します。アドレスレジスタを使用する場合は、命令語(36
ビット)の中でアドレスレジスタを使用するための
ビットをオンにします。この際、インデックスフィールド(18
ビット)の先頭3
ビットがアドレスレジスタのレジスタ番号を指定するようになります。
命令体系
命令体系は、
COBOL言語に比較的最適化されています。
COBOLのMOVE、ADD、SUBTRACTなどの演算命令が、ほぼ機械語レベルで1対1に対応可能です。このため、データ部分の修飾機能が豊富で、パック/アンパック十進数を直接操作できます。さらに、
COBOLの文字列編集機能(PIC指定)をそのまま機械語に変換する機能も備わっています。最近のCPUに見られるスタックの概念はRモードにはなく、関数呼び出し時には、飛び先で戻りアドレスを保存する処理が必要です。Vモードにはスタックセグメントが存在します。特権モードも存在し、特権モードへの遷移命令によって移行します。特権モードには複数のランクが存在します。
サービスプロセッサ
メインのOSが稼働するプロセッサとは別に、専用のサービスプロセッサがあります。このプロセッサではファームウェアが動作し、メインのOSの起動などを行います。
文字コード
内部で使用されるコードは、6
[ビット]]の文字コードとJISコード(JIS X 0201)です。6
ビットの文字コードはBCDコードと呼ばれ、英数字のみ(大文字のみ)のコードで、1
ワード中に6文字を詰め込んで処理します。このコードは、内部処理ルーチンなどで使用されます。JISコードは、
COBOLなどの文字処理で使用されます。
メインフレームではありますが、EBCDICは使用されていません。日本語(漢字)は、
JIPS]コードというコード体系が使われ、
[ACOS-4系の
JIPS]や[[A-VXで使われるNEC内部コード(E)への変換手段も用意されています。
OSの特徴
ACOS-6のOSは、Multicsの影響を受けており、
UNIXの遠い親戚とも言える存在です。そのため、
UNIXに似た(より正確にはMultics風の)機能が搭載されています。
ファイルシステム
ファイルシステムには、FMSという階層構造ディレクトリを採用しています。ただし、ルートディレクトリは一つではなく、複数のトップディレクトリが存在可能です。ファイル名は最大12文字で、英字、数字、一部の特殊記号(ハイフンなど)を使用できます。大文字と小文字の区別はありません(基本となる文字コードが6
ビットであるため、小文字用のコードを定義する場所がありません)。ディレクトリやファイルの区切り文字には、
UNIX系OSと同様に「/」(スラッシュ)を使用します。入出力が標準化されており、テープやディスク上のファイルに対して、細かなパラメータを指定しなくても容易に入出力が可能です。実デバイスとプログラム上の入出力の切り替えは、実行用のJCLを修正するだけで完了します。TSSは、初期の
UNIXのようなコマンドベースで、TSS上で簡単にファイル作成などが行えます。
UNIXのedのような行指向エディタも提供されています。
歴史
ACOS-6
ACOS-6/MVX
ACOS-6/NVX
ACOS-6/NVX PX
関連項目
GE-600シリーズ
GCOS
Multics
参考文献
草創期のACOS-6開発の元となったOS技術情報の出自等について:
高橋茂 (
2003年8月). “日本のコンピュータ・メーカと7人の小人(1)” (pdf). 情報処理(ISPJ Magazine) 44 (8): 836p-842p.
高橋茂 (
2003年9月). “日本のコンピュータ・メーカと7人の小人(2)” (pdf). 情報処理(ISPJ Magazine) 44 (9): 970p-975p.
外部リンク
日本電気株式会社 (2007年). “ACOS Club ACOS-6(nec.co.jp)”. ACOS Club ACOSシリーズポータルサイト(ホーム>製品>ACOSシリーズ).
日本電気株式会社. 2007年2月19日閲覧。
GCOS8_en.pdf'>Groupe
Bull (2001年7月11日). “from GECOS to
GCOS8” (英語). Groupe
Bull. 2007年2月19日閲覧。 -GEや
ハネウェル(HIS)のコンピュータ部門を最終的に買収・手中に収めた
Bullから見た
GCOSの歴史
* 【
[日本電気]]】 ACOS-6 - [コンピュータ博物館(情報処理学会)