Honeywell 200シリーズ

左側にシステムコンソールがある(右にあるのはIBM 1402 パンチカードリーダ/パンチャー
システムコンソールのクローズアップ
横浜市役所に設置された日本電気のNEAC-2200 Model 200(2セット)

Honeywell 200シリーズ1960年代ハネウェル社が製造販売したキャラクター指向の2アドレス商用コンピュータである。後の 1200、2200、4200、8200などの機種の基本となった。H200と略記される。

IBM 1401への対抗機種として登場したH200は、1401の2~3倍の性能でソフトウェアのサポートにより 1401 のプログラムを再コンパイルせずに実行可能であった。マーケティングキャンペーンでこの互換性を利用し、IBM 1401 の販売を行き詰らせるほどの売れ行きを見せた。ハネウェルには当初数百の注文が殺到したが、後にIBMはマーケティング戦略としてSystem/360を開発中であることを明らかにし、H200シリーズの勢いは途絶えた。

日本では、日本電気がノックダウン輸入(部品の状態で輸入して現地組み立てする方式)でH200をNEAC2200として販売し、これが好評だったためシリーズ化した。しかし、ハネウェルの後継機開発が遅れるようになり、独自に上位機種を開発したこともある。ACOSはこれとは全く異なるアーキテクチャであり、エミュレータで従来互換を確保した。

アーキテクチャ

[編集]

H200のメモリは文字単位にアドレスが振られている。各文字は6ビットデータと2ビットの区切りビットと1ビットのパリティビットから構成される。2つの区切りビットはワードマークとアイテムマークとして使われ、2ビット同時に立っているとワードマークを意味した。アイテムビットにより、「アイテム転記」、「レコード転記」、「ワード転記」が可能となっていた(文字列のメモリ上でのコピーをする際に長さを指定せず、区切りの印に到達するまでをコピーする方法)。

命令は1文字の命令コードと最大2つのオペランドアドレスで構成される。通常、命令コードの文字はワードマークが付与され、前の命令との区切りを示している。アイテムマークのついた命令コードは通常とは異なった扱いとなり、完全互換ではない IBM 1401 の命令をエミュレートするのに使用された。オペランドアドレスの最初の3ビットはメモリの先頭32番地までに存在する8本のインデックスレジスタを指定することができる。

Change Address Mode (CAM) 命令は命令のオペランドでアドレスを表すのに使用する文字数を切り替える命令である(これをアドレスモードと呼び、2文字、3文字、4文字がある)。

Change Sequence Mode (CSM)命令は次の命令アドレスを記憶したメモリ上のアドレスを指定し、そこから読み込んだアドレスをプログラムカウンタにセットする。これによりプログラム内のスレッドの切り替えに相当する簡単な仕組みを提供している。これは Honeywell 800シリーズと類似した機能である。

H200はコンソール、パンチカードリーダーとパンチといったIBM 1401と同じような入出力をサポートしたが、汎用入出力命令でラインプリンター磁気テープ装置もサポートした。

入出力命令は区切りビットをそのままにして、データ部分(とパリティ)だけをメモリとの間でやり取りし、レコードマークを検出した時点で終了する。そのため、入力バッファの最後にレコードマークを書いておけばバッファオーバーランを防ぐことができる。

H200シリーズの入出力命令には Peripheral Data Transfer (PDT) や Peripheral Control and Branch (PCB) があり、これらによって明示的な非同期I/Oが実現されている。PDT命令はデバイスのアドレスとバッファのアドレスを指定して転送を開始する。PCB命令はデバイスのアドレスを指定して操作モードを設定したり、デバイスの状態をチェックするのに使われた。

ソフトウェア

[編集]

Easycoderと呼ばれる固有のアセンブリ言語がある。

Easycoderの生成する実行ファイルはパンチカードか磁気テープに記録された。オブジェクトファイルにはブートルーチンが先頭に仕込まれていて、各プログラムはコンソールからのブート指示によってロードされ実行される。

H200 は大型の Honeywell 800 シリーズのスプーリングマシンとしても使われた。H1800-II は H1800本体には磁気テープ装置と H200へのオンラインアダプタ(OLA)接続のみを装備し、H200側でパンチカード関連のジョブ投入機能を持っていた。H200上のLINKプログラムがOLAを制御し、パンチカードや紙テープのデータを磁気テープにコピーしたり、逆に磁気テープのデータをパンチカードにパンチしたり、プリンターに出力したりといった使い方をした。

外部リンク

[編集]