データゼネラルNova
オペコードは次のとおりである:
DIA - デバイスのAレジスタの内容を指定されたアキュムレータに移動
DOA - 指定されたチャネルのデバイスのAレジスタに指定されたアキュムレータの内容を送信
DIB - デバイスのBレジスタの内容を指定されたアキュムレータに移動
DOB - 指定されたチャネルのデバイスのBレジスタに指定されたアキュムレータの内容を送信
DIC - デバイスのCレジスタの内容を指定されたアキュムレータに移動
DOC - 指定されたチャネルのデバイスのCレジスタに指定されたアキュムレータの内容を送信
NIO - "no I/O" の誤記。 この命令は、レジスタ転送を行わずにデバイスに信号を送信するために使用された。
さらに、デバイスの状態をテストするための4つの命令が用意されていた:
SKPBN - デバイスのBusyフラグが設定されている場合、次の命令をスキップ
SKPBZ - デバイスのBusyフラグがクリアされている場合、次の命令をスキップ
SKPDN - デバイスのDoneフラグが設定されている場合、次の命令をスキップ
SKPDZ - デバイスのDoneフラグがクリアされている場合、次の命令をスキップ
デバイスを起動すると、Busyフラグが設定される。 要求された操作が完了すると、従来はデバイスは Busyフラグをクリアして Doneフラグを設定していたが、ほとんどのデバイスでは、割り込み要求メカニズムが Doneフラグに接続されていたため、Doneフラグを設定すると割り込みが発生する(割り込みが有効でデバイスがマスクされていない場合)。
↑ これは、大きな基板を使用し、故障率が高かったPDP-6の問題に対する反動であったと考えられる。PDP-10は、本質的にPDP-6を再設計したもので、「フリップチップ」カードを使用している。
ロードおよびストア命令と同様に、ジャンプ命令には間接ビットが含まれており、同様にアセンブリでは '@' 文字で指定されている。 間接ジャンプの場合、プロセッサはジャンプ先の内容を取得し、その値をジャンプ先のメモリアドレスとして使用する。 ただし、ロードおよびストア命令とは異なり、間接アドレスに最上位ビットがセットされている場合は、さらに1サイクルの間接ジャンプが実行される。 Nova 3より前のNovaシリーズプロセッサでは、間接アドレスの回数に制限はなかった。自分自身を参照する間接アドレスは、命令が完了することなく、無限に間接アドレッシングループが発生する。 (この状態では、フロントパネルのSTOPスイッチを押しても何もしないので、ユーザにとっては不安になるかもしれなかった。ループを解除するには、機械をリセットする必要があった。)
2つのメモリテスト命令は次のとおりである:
ISZ - メモリ位置をインクリメントし、結果がゼロの場合は次の命令をスキップする
DSZ - メモリ位置をデクリメントし、結果がゼロの場合は次の命令をスキップする
ロードおよびストア命令の場合と同様に、1レベルの間接アドレス指定を実行する間接ビットがあった。 これらの命令は、磁気コアメモリを搭載したNovaでは、メモリ基板自体の内で命令が実行されるという点で奇妙なものだった。 当時のメモリ基板には、磁気コアメモリに内在する破壊的な読み出し問題を解決するための「ライトバック」回路が搭載されていた。 しかし、ライトバック機構には、ミニ演算ユニットも含まれており、これはプロセッサがいくつかの目的で使用していた。
すべてのコアと対応するサポート電子機器は、単一の標準的な15 x 15-インチ (380 mm) の基板に収まっている。このようなコアRAMは、1つの外部拡張ボックスで最大32Kまでサポートできる。 当時、 半導体 ROMはすでに入手可能であり、RAMなしシステム(つまりROMのみを搭載したシステム)は多くの産業現場で人気を博した。 初代Novaは約200 kHzで動作していたが、SuperNova は特殊な半導体メインメモリを使用した場合、最大3MHzで動作するように設計されていた。
バックプレーンとI/O信号が標準化されているため、シンプルで効率的なI/O設計となっており、プログラムされたI/OやデータチャネルデバイスをNovaに接続する際には、競合するマシンと比較してシンプルなものとなっている。 Novaバックプレーンにはワイヤーラップピンがあり、専用のI/Oバス構造に加えて、標準外のコネクタやその他の特殊な用途にも使用できた。