JPS6030984B2 - 多重共通バスを有するデ−タ処理システム - Google Patents
多重共通バスを有するデ−タ処理システムInfo
- Publication number
- JPS6030984B2 JPS6030984B2 JP55009508A JP950880A JPS6030984B2 JP S6030984 B2 JPS6030984 B2 JP S6030984B2 JP 55009508 A JP55009508 A JP 55009508A JP 950880 A JP950880 A JP 950880A JP S6030984 B2 JPS6030984 B2 JP S6030984B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- software
- firmware
- interrupt
- system bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Information Transfer Systems (AREA)
Description
〔関連出願〕
本願と同じ談受人に譲渡された下記の特許出願は本願と
同期日に出願され関連する主題を有する。 本文中に開示されたシステムおよびプロセスのある部分
は本発明ではなく、下記特許出願の特許請求の範囲によ
り規定される如き下記発明者の発明である。〔発明の分
野〕 本発明はデータ処理システムに関し、特に主メモリーと
共通バスに接続された諸ユニットとの間に情報の転送の
ための多数の共通バスを有するシステムに関する。 〔従来技術〕 今日のデータ処理システムのアーキテクチユアにおいて
は、中央処理ユニットと、主メモリーと、入出力サブシ
ステムは1組のバスにより論理的に接続されている。 各バス構造には4つの主なセクション、即ちアドレス、
データ、制御および電源がある。各セクションは信号又
は電流を送るための多数の回線からなり、その内のある
回線は2つ以上のセクション間で共用される可能性があ
る。物理的には、これら回線は、回路板モジュールおよ
びサブシステムが挿入されるコネクタ間の印刷回路板上
に食刻されたワイヤ、被覆線又は半田付け線、又は種々
のタイプのリボン・ケーブルである。アドレス・バスは
、データが読出されあるいは書込まれる主メモリーのロ
ケーション又は入出力コント。ーラを指定するのに使用
される。取扱われるデー外まデータ・バス上の1つのサ
ブシステムから他のサブシステムへ転送される。アドレ
ス指定およびデータ転送機能の制御に使用される信号は
制御バス上で送られる。アドレス存在、メモリーからの
読出し、メモリーへの書込み、データ存在、等の条件を
指定するためこのグループには種々の信号が含まれる。
給電バスは電力をシステム電源からデータ処理システム
の種々のサブシステムに分配するために使用される。典
型例のシステムにおいては、十5V、十12V、一5V
等のいくつかのDC電力が必要とされる。1つのバスに
対し複数のユニットが接続されるシステムにおいては、
この1つのバスは共通バスと考えられ、4つのセクショ
ン則ちアドレス・バス、データ・バス、制御バス、およ
び給電バスをそれぞれ含む。 1つの共通の入出力バスに結合される複数のュニットを
有するシステムにおいては、情報の両方向の転送をこの
ような諸ユニット間に提供する秩序化システムが設けら
れねばならない。 この問題は、このようなユニットが、例えば、中央処理
ユニット(CPU)、1つ以上の主メモリー・ユニット
、および磁気テープ記憶デバイス、ディスク記憶デバイ
ス、力ード読出し装置等の種種のタイプの周辺デバイス
を含む時益々複雑化する。これ等の全ての周辺デバイス
は屡々CPU又は主メモリーに対してアクセスしなけれ
ばならない。 このようなアクセスは「通常、その1つはアドレス指定
された情報のため、ある1つはデータ情報のため、他は
制御機能情報のために使用される多くのグループのワイ
ヤ線を含む共通のバスによって達成される。非常な混乱
を防止するため、予め定めた構成に従ってこの共通バス
に対するアクセスを制御するための装置が設けられねば
ならない。このような制御を行うため多くの方式が提供
されて来たが、その一例はD.R.Appeltの米国
特許第3886524号「非同期通信バス」である。こ
のような制御のための構成の中には、周辺デバイスが共
通バスに対するアクセスを必要としているかを確認する
ため、CPUが予め定めたシーケンスで個々の周辺デバ
イスをポールするボーリング方式がある。この時CPU
は、予め定めた優先順位スケジュールに塞いて周辺デバ
イスの1つに対する共通バスへのアクセスを付与する。
別のタイプの構成においては、周辺デバイスに対し順次
送出される制御信号が生成され、優先順位は連続ストリ
ングに従う直列順序により決定される。 このような方式の1つはR.A.Henzel等の米国
特許第3832692号「多回線バスにより結合される
諸デバイスに対する優先順位回路網」に示される。この
ようなコンピュータ・システムの構成においては、各周
辺デバイスと共通バスとの間に別個の1/0コントロー
ラがあるのが通常である。これ等の1/0コントローラ
は通常カード・ケージ内の予め定められたスロットに挿
入される回路カード上にある。第1のタイプのアクセス
・システムにおいては、特定の周辺デバイスのアドレス
はこのカード・ケージにおけるスロットの予め定めた1
つと関連付けられる。換言すれば、中央プロセスはカー
ド・ケージにおける特定のスロットをアドレス指定して
選択された周辺デバイスをアクセスする。前述の方式の
内の第2のタイプにおいては、選択されたアドレスは個
々のカード上にあるが、その直列の関係がカード・スロ
ットの配列に制約を課す。直列接続に対する要件がある
ため、カードはその優先順位でスロット内に挿入され、
最初と最後のカード間のスロットにギャップを持たず最
初のスロットから始まる。この両方の方式においては、
共通バスへ選択周辺デバイスを実際にアクセスさせる手
順にかなりの時間が必要とされる。現在使用中のコンピ
ュータ・システムを示す1つの典型例においては、マス
ター・ユニットとスレーフ・ユニットとの間の共通バス
は、別の制御回線と共に16並列データ回線のデ−夕・
チャネルと20並列アドレス・チャネルとからなる。 データ回線と、アドレス回線と、制御回線はその合計本
数が約80となるのが一般である。このようなシステム
は、中央の1組のディジタル・ロジックを使用して、種
々のマスター・ユニットによりこのシステムに入れられ
たアドレス又はデータ情報の転送のための共通バスに対
するアクセスの要求を全て追跡する。J.B.Cohe
n等の米国特許第3710324号「データ処理システ
ム」はこのようなシステムを開示する。調停用論理回路
網がシステム全体に分布される他のシステムが存在する
。 システム内のいくつかのマスター・ユニットから調停要
求を行うため、同様なロジックが各マスター・ユニット
に設けられる。Appeltの米国特許第388652
4号はこのような1つのシステムを開示し、GJ.Ba
rlowの米国特許第4030075号「優先順位回路
網を分布したデータ処理システムトG.J.Barlo
wの米国特許第400179び号「共通バス上のデータ
処理システム中に結合されたモジュールでアドレス指定
可能な装置」、F.V.Cassarlno、Jr.等
の米国特許第3997896号「スプリッド・バス・サ
イクル操作を行うデータ処理システム.トおよびF.V
.Cassanno、Jr.等の米国特許第39939
81号「データ処理システムにおけるデータ転送要求の
処理のための装置」は別のこのようなシステムを開示し
ている。これ等の両システムは、マスター・ユニット間
に割当てられた優先順位の順序で直列に接続された1つ
以上の回線を有する。従って、制御回線を介して論理回
路を動作させて割当てられた優先順位の順序でバスに対
するアクセスを制限し、共通バスの可用度に関してアク
セスを要求する他のマスター・ユニットと通信する装置
が提供される。このようなシステムを相互に結合するた
め種々の方法および装置が従来技術において知られてい
る。 このような従来技術のシステムは、共通データ・バス経
路を有するものから種々のデバイス間に特殊な経路を有
するものまである。このようなシステムは又、バス・タ
イプと組合わされる同期又は非同期操作の能力も含んで
いる。更に、このようなシステムは、一般に種々のパリ
ティ検査装置、優先順位方式および割込み構造を含んで
いる。このような構成の1つは、B.0.0ayman
等の米国特許第3886181号「割込み順序付け制御
装置」に示される。共通バスを用いるデータ処理システ
ムに対するバス割当て装置は、J.G.Valassi
s等の米国特許第3959775号「マイクロプロセサ
で構成される多車処理・システム」に示される。割込み
信号の走査を取扱うシステムは、W.EWoods等の
米国特許第4020471号「データ処理システム用の
割込み走査兼処理システム」に示される。他の優先方式
については、K.Kowal等の米国特許第39915
61号「データ処理システムにおける直列結合された周
辺インターフェース装置用の優先順位決定装置↓R.D
.Royer等の米国特許第4023668号「高速メ
モリー・アクセスのためのディジタル・コンピュータ構
成↓R.日.Gr皿er等の米国特許第3931613
号「データ処理システム」、SA.Cam等の米国特許
第3447135号「周辺装置のデータ交換」に示され
ている。バス構造を取扱った論文としては、本文中に参
考のため引用したDr.D.P.Bm■nとDr.A.
LDe幻er著「マイクロコンピュータのバス構造につ
いての知識」(エレクトロニクス・デザイン1入197
群王6月21日号)に見出される。 例えば、このようなシステムにおいてアドレス指定が行
われる方法、並びに、例えば諸デバイスのどれか1つが
データ転送を制御し得る方法は、システムの構成に依存
し、即ち、共通バスがあるか、その操作が同期的か非同
期的か、等に依存する。このシステムの応答能力および
処理能力は大いにこれ等の構造に依存する。共通バス上
のユニット数が増加するに伴って、このバス上の種々の
ユニットに使用される通常のTTL回路は全てを駆動す
るに十分な電力は持たず、特殊なドライバ回路が必要と
される。 更に、共通バス上のユニット数が増加するに伴ってバス
の長さが増大し、このためバスの伝送回線特性により悪
影響が生じる。もしバスが短かく保持できるならば、終
端抵抗は除くことができる。又長い共通バスは漏話その
他のノイズ問題を生じるおそれがある。 更に、もし信号が共通バス上のユニットからユニットへ
と連鎖されると、ユニット数が多くなる程遅延が大きく
なり、バスの処理能力が低くなる。このことは、バス上
の各ユニットがバス要求のできる特定の時間スロットを
割当てられる場合特にそうである。この場合、ユニット
数が多くなり時間スロットが増加する程、バス要求を行
うため個々のユニットが待たねばならない平均時間が長
くなるのである。〔発明の目的〕 従って、本発明の目的は複数のユニットを取扱うことが
可能な改良された共通バス構造の提供にある。 別の目的は、送出側のユニットに特殊なドライバ回路を
必要としない共通バス構造の提供にある。他の目的は、
多数の共通バスのどれに対して第1又は第2のユニット
が接続されるかを知ることなく第1のユニットが第2の
ユニットに関して送受し得る多くの共通バスを有するバ
ス構造の提供にある。 本発明の更に他の目的は、増大した処理能力および短縮
されたバス要求待機時間を有する共通バス構造の提供に
ある。 〔発明の要約〕 . 本発明によれば、第1の転送サイクルの間複数の共通バ
スの第1のバスに結合された第1のユニットから複数の
共通バスの1つに結合された第2のユニットに対する情
報の転送を制御するバス・コントーラが提供される。 更に、第2の後の転送サイクルの間の第2のユニットか
ら第1のユニットに対する情報の転送を許可する別の装
置が提供される。更に又提供される装置は、複数の共通
バスの内のどのバスにアドレス指定されたユニットが結
合されているかについて事前に知ることなく、バス・コ
ントローラに制御指令を複数のユニットのそのアドレス
指定されたユニットに対して送出させそしてこのアドレ
ス指定されたユニットからの応答を受信させる。本発明
とその望ましい実施態様との対応関係第IA図のフロー
チャートは、どのように本発明が望ましい実施態様にお
いて実施されるかを簡潔に示すものである。 このフローチャートから判るように、CPU又はバス・
コントローラは、要求側ユニットの要求を諸バスの全て
に散布し、それによって要求側ユニット及びバス・コン
トローラのいずれも宛先のユニットが結合された特定の
バスの識別を与えられなくてもよいようにする。これは
、諸バスの内の任意のバス上のデータを取扱うユニット
がそれらバスの内の任意のバス上の別のユニットと通信
できるようにする。本発明については頭書の特許請求の
範囲において特に規定される。 本発明の前記およびその他の目的および長所については
、添付図面に関して以下の記述を照合すれば理解されよ
う。〔目次〕 望ましい実施態様の説明 A 説明における約束 B システム・バスの概要 C 中央処理システム(CPU)の説明 a CPUの主要構成要素 b プログラミングの考察 ィ ソフトウェア可視レジスタ ロ ワードおよびアドレスの書式 ハ主メモリー D CPUおよびシステム・バスのインターフェースa
システム・バスA b システム・/ゞスB E CPUのハードウェアの説明 a マイクロフ。 ロセサb システム・バスの制御 c 制御パネル d 基本のシステム・タイミング e システムの初期化 F システム・バスの操作 a メモリー・アクセス b メモリー・リフレツシユ c l/○コントローラに対する機能コードd DMC
データ転送要求e DMAデータ転送要求 f l/0コントローラ割込み g 入出力命令の実行 ィ チャネル番号 ロ 1/0機能コード i 出力機能コード指令 ii 入力機能コード指令 ハ ソフトウェア入出力命令 i l○命令 ii lOLD命令 iii lOH命令 ニ トラップおよびソフトウェア割込み j ソフトウェア割込み ii トラツプ G ファームウェアの概要 a ファームウェア・フローの概説 b ソフトウェア割込み、トラツプ・ハードウェア割込
みの対話イ ソフトウエア・フ。 ログラムロ フアームウエア・マイクロプログラムハ
ソフトウェア割込み、ハードウェア害旧み、およびトラ
ツプi ソフトウェア割込み 11 ハードウェア割込み iii トラツフ。 ニ 割込およびトラツプ 日 CPUファームウェア・ワードの説明a スクラッ
チパッド・メモリーの制御 b 演算ロジック・ユニットの制御 c 副指令および制御 d 読出し専用記憶アドレス指定 1 1/0コントローラ・ロジックの詳細a l/○コ
ントローラ・デバイス・oジツクイ 指令ロジックロ
タスクおよび構成ロジック ハ 割込みロジック ニ 状態およびデバイスの識別ロジック ホ データ転送ロジック ヘ アドレスおよび範囲ロジック b l/○コントローラ・タイミング・ロジツクc l
ノ○コントローラ要求ロジック d l/○コントローラ割込み要求ロジックe l/○
コントローラ要求リセツト・ロジックf DMAIOC
要求およびリセット・ロジックJ I/○コントローラ
・システム・バス要求およびリンク・ロジックの要約K
CPUロジックの詳細 a 制御ストア・ロジックの詳細 ィ ROSアドレス生成ロジック ロ ハードウェア割込みロジック i 主メモリーのリフレッシュ時間切れロジック ii 主メモリーのパリティ・ェフー・ロジツクiii
不在メモリ−検出ロジック ハ ソフトウェア割込みロジック ニ ブートPROMロジック b CPUロジックの詳細 イデータ・トランシーバ・ロジック ロ スクラツチ/ぐンド・メモリー・ロジツクハ /
ゞイト・スワッピング・ロジックニ マィクロプロセサ
およびデータ選択ロジツクホ 1、MIおよびFレジス
夕・ロジックへ バス指令ロジック i l/○指令ロジック ii 進行中および使用中のロジック iii 読出し/書込みバイト・ロジックiv メモリ
ーGOロジック L 主メモリーの説明 a システム・/ゞス・インターフエースイデータ・ワ
ード 。 アドレス・ワードb 王メモリーの構造の概要 c モジュールの物理的/構造的特性 ィ モジュール・アドレス指定 d メモリー保管ユニット e 主メモリーの機能の概要 イ主メモリーのタイミング ロ 主メモリー・モジュール i タイミング・ゼネレータ 11 一5ボルト・ゼネレータ 餌 電源故障ロジック iv RAMアドレス制御および分配ロジックv セグ
メント選択ロジック W データ・イン/データ・アウト・レジスタ 肘 パリティ・ゼネレータおよび検査ロジツク 価 議出し/書込み制御ロジック 1×リフレツシュ・ロジック x チップ選択ロジック f 主メモリーの要約 〔望ましい実施態様の説明〕 A 説明における約束 本発明のシステムにおいては、2進数字(ビット)を表
示する電気信号は、種々の論理ゲート又は他の回路素子
に対して与えられかつこれから得られる。 以下の説明の簡明化のため、ビットを表示する信号とし
てよりも屡々ビットそれ自体について述べられる。更に
、簡明化のため、種々の論理ゲートおよび回路素子を結
ぶ回線を示すため信号名称を屡々使用.する。これ等の
信号は時に1群の文字又は番号により示される。例えば
、第14図においては、右上部のBCYCOT−はNA
NDゲート295により出力される信号を識別する。1
群の文字は屡々十符号又は一符号が後に続く。 十符号は、信号が2進数1(即ち、真)を示す時はハィ
のレベルの信号であることを意味し、一符号は信号が2
進数零(即ち、偽)を示す時ローのレベルの信号である
ことを意味する。ある場合には、十符号又は−符号の後
に複数の文字又は番号を付して名称の始めが同じ類似の
信号名称を区別する。例えば、第43図において、信号
PROCED−はデコーダ244一3から出力され、信
号PROCED−2Aはィンバータ546により出力さ
れ、信号PROCED−20はNORゲート550‘こ
よって出力される。 意味が明らかである時には、この十符号又は一符号又は
他の修飾接尾辞(文字又は番号)は屡々少略される。例
えば、第39図(その1)においては、接尾辞BAおよ
びBBが信号RDDT29十から省略され、1/0コン
トローラがシステム・バスAに接続されるならば信号は
RDDT29十BAとなり、又1/0コントローラがシ
ステム・バスBに接続されるならば信号はRDDT29
十BBとなることを意味する。他の場合において意味が
明瞭であれば、文字「X」を信号に用いていくつかの信
号の内の1つを表示する。例えば、第39図(その1)
において、もし1/0コントローラがシステム・バスA
に接続されると信号名称PINTRX−およびPIOC
TX−は信号P瓜TRIおよびPIOCTA−を示し、
1/0コントローラがシステム・バスBに接続されると
これ等の信号は信号PINTR2一およびPIOCTB
−を示す。ある場合には、最初の信号名称の後に/・ィ
フオンを用いその後に最後の信号名称の接尾辞をおくこ
とより一連の信号を示す。例えば、第42図(その2)
においては、レジス夕242の出力は、RDDTOO+
乃至RODT47十と呼ばれる48の信号である。簡潔
のため、論理ゲートはAND、OR、NANDおよびN
ORゲートと呼ばれる。 ANDゲートとNANDゲートの相異は、NANDゲー
トは図中その出力回線における小さな円で示されるィン
バータを有することである。出力回線におけるィンバー
タの存在は、NORゲートとORゲートの識別のために
も用いられる。ゲートの入力回線上のィンバータは論理
ゲートに付された名称に何の影響も及ばさない。例えば
、第42図(その1)においては、ゲート591はAN
Dゲート、ゲート594はNANDゲート(反転出力)
、ゲート584と594はNORゲート(引用に際し共
に反転出力を有し、そしてゲート584の入力のィンバ
ー夕は無視される)と呼ばれる。又、例えば、他の表示
がなければ、正の出力のためには正の入力を要求するロ
ジックを用いるものとする。 即ち、例えば、母NDおよびOR回路の如き論理回路は
、出力側に/・ィ・レベルの信号を生じるため入力側に
ハイの信号レベルにより操作される。ハイでない論理レ
ベルはローと呼ばれる。B システム・バスの概要 システムのブロック図は第1図に示される。 中央処理ユニットP(CPU)200はシステム・バス
を制御する。このシステム・バスは、システム・バスA
202およびシステム・バスB204と呼ばれる2つの
バスからなる。システム・バスA202とシステム・バ
スB204は、CPU200と、入出力(1/0)コン
トローラ206,208,210および2.12と、主
メモリー又は1/0コントローラ241,216,21
8および220と、メモリー保管ユニット222を相互
に結合するため使用される。簡素化のため、第1図は各
システム・バスに接続された4つの主メモリー又は1/
0コントローラのみを示す。 望ましい実施態様においては、システムの物理的実装(
使用可能な印刷回路板のスロット)が許容すれば、各シ
ステム・バスに対して8つ迄の1/0コントローラが接
続可能である。以下で明らかになるように、システム・
バス当りの1/0コントローラの数を8つに制限するの
はタイミング上の配慮によるもので、システム・タイミ
ングが変化するとき許容されるシステム・バス当りの1
/0コントローラ数は多くなったり少なくなったりする
。制御パネル201は直接CPU200に接続される。 システム・バスB204はシステム・バスA202と類
似するが、システム・バスBはシステム・バスAには存
在しない別のメモリー制御信号を含む。従って、システ
ム・バスAには1/0コントローラだけしか組込むこと
ができないが、システム・バスBに対しては主メモリー
又は1/○コントローラを接続することができる。これ
等システム・バスに接続された1/0コントローラは、
これらコントローラに接続された周辺デバイスの動作を
制御するために使用される。システム・バスBにのみ接
続し得る主メモリーは、CPUにより処理されるソフト
ウェア・プログラムの記憶に使用される。CPU200
に直結された制御パネル201は、システムの動作の開
始、監視および指揮のためシステム・オペレータによっ
て使用される。 任意選択のメモリー保管ユニット222がシステムの揮
発性半導体ランダム・アクセス主メモリーに対しDC電
圧を提供する。正常な電源状態においては、メモリー保
管ユニット222は、局部シス・テム電源(図示せず)
により供給されるDC電圧により作動し、この電源は充
電可能バッテリを完全充電状態に維持し乍ら所要のメモ
リー電圧を発生する。停電中は、給電されている主メモ
リーの量に従って例えば5乃至1び分の期間バッテリ給
電を行うことにより、揮発性の半導体主メモリーの内容
を保持するための緊急能力をメモリー保管ュニット22
2が提供する。第1図に示したシステムは、主メモリー
、1/○コントローラおよび周辺デバイスの種々の組合
せを選択することにより種々の特定の形態に構成するこ
とができる。 このようなシステム構成の一例を第2図に示す。この第
2図において、システム・バスA202およびシステム
・バスB204に接続されたCPU200を有するシス
テム構成の例が示される。第2図は、6巡(IK=lo
24)0ワードの主メモリーと、4つのデイスケツト周
辺デバイスと、ライン・プリンタと、4つの通信回線と
、制御卓デバイスと、プリンタとを下記の如く接続した
中央プロセサ・ユニット(CPU)を示す。4舷ワード
を含む主メモリー1,241‐1と、1雌ワードを含む
主メモリー2,216−1はシステム・バスB204に
接続されている。 メモリー保管ユニット222も又システム・バスB20
4に接続される。システム・バスA202およびシステ
ム・バスB204はCPU200に接続され、制御パネ
ル201はCPU200と直結される。デイスケット周
辺デバイスー,207−1及び2,207−2はデイス
ケツト・コントローラ1,206一1を介してシステム
・バスA202に接続される。ディスケット周辺デバイ
ス3,221−1と4,221一2はデイスケツト・コ
ントローラ220−1を蚤てシステム・バスB204と
接続される。通信回線1および2は通信コントローラ2
10一1を介してシステム・バスA202と接続される
。プリンタ周辺デバイス209はプリンタ・コントロー
ラ208−1を介してシステム・バスAと接続される。
制御卓周辺デバイス213は制御卓コントローラ212
一1を介してシステム・バスA202と接続される。異
なった図面において同一番号を付した素子は同一の素子
を示し、例えば、第2図の制御パネル201は第1図の
制御パネル201で示されたものと同じ素子を示す。C
中央プロセサ・ユニット(CPU)の説明中央プロセ
サ・ユニット(CPU)は、システム内の制御素子とし
て設計されたファームウェアにより管理されるプロセサ
である。 このCPUが含む内部バスは2つのボート則ちシステム
・バスA及びシステム・バスBとを有し、これらはCP
U、1/0コントローラおよび王〆モリー(第1図およ
び第2図に示す)を相互に接続する。システム・バスの
ハードウェアと結合されたCPUフアームウエアは、1
/0コントローラおよび主メモリーの転送の制御を行う
。任意のソースからのデータはCPUファームウェア指
令によりシステム・バス上におかれ、主メモリーのアク
セスがこのCPU又は1/0コントローラいずれのため
に実施されていようとも主メモリーのアクセスがCPU
によってしか開始できない。このように、システム・バ
スの使用に対する要求の競合を解消するため各コントロ
ーラおよび主メモリー内に優先順位解決ロジックを設け
る必要がなくなる。CPU I/○構成は、2つのタイ
プの1/0チャネル即ちデータ多重制御(DMC)チャ
ネルと直接メモリー・アクセス(DMA)チャネルにお
ける主メモリーと1/0コントローラとの間の対話を支
持する。 DMCとDMAのいずれかのタイプのチャネルに対し、
システムは次データ・アドレス(即ち、1/0コントロ
−ラを介して周辺デバイスとの間で転送される次のユニ
ット情報が主メモリーから読出されあるいはこれに書込
まれるところの主メモリー内のロケ−ションのアドレス
)とおよび1つの範囲(レンジ)とを維持する。 この範囲は、CPUを介する主メモリーと1/0コント
ローフ(周辺デバイス)との間で転送されるべき情報ユ
ニットの数のカウントである。望ましい実施態様におい
ては、主メモリーは2つの8ビット・バイトを含むワー
ド‘こ構成される。次データ・アドレスはバイト・アド
レスとして指定され、範囲は転送されるべきバイト数と
して指定される。DMCチャネルに対しては、CPUが
CPU常駐スクラツチパッド・メモリー(SPM)内に
範囲および次データ・アドレスの情報を保持し管理する
。 DMAチャネルに対しては、範囲および次データ・アド
レスが1/0コントローラ内に局所的に維持される。1
ノ○コントローラは、専らシステム用に設計され、DM
Cタイプ又はDMAタイプのいずれかである。 チャネルの割当ては、ソフトウェア1/0命令における
チャネル番号による。CPUは予め定めた数のDMC入
出力チャネル対を支持し、こ)で各入出力チャネル対は
1つの入力チャネルと1つの出力チャネルを有する。例
えば、望ましい実施態様においては64の入出力チャネ
ル対があり、これ等はDMC I/○コントローうによ
ってしか使用できない。しかし、DMCチャネル番号は
、DMA又はDMCタイプの1/0コントローラに割当
てられるが、同じシステム内でその両方に割当てられる
ことはない。CPUが支持するオペレーティング・ソフ
トウェアは、可視レジスタと、データ書式と、命令セッ
トと、トラップおよび割込みの諸動作を含む。 オペレータ・インターフェースは制御パネルと制御卓周
辺デバイスを介する。制御パネルは、オペレータのアク
セスがシステムを初期化することを可能にする。CaC
PUの主要構成要素 CPU機能領域の主要ブロック図は第3図に示され、以
下の節において説明する。 制御ストア23川まCPUのコントローラ素子である。 これは、ファームウエア・マイクロプログラムを記憶す
る謙出し専用メモリーを含む。これ等のファームウェア
・マイクロプログラムはCPU動作の制御に必要な機能
を保有する。この領域に含まれるのは、ファームウェア
・マイクロプログラムを順次進行させステップ毎にハー
ドウェアに指令を発するのに必要な全てのアドレス指定
および復号ロジックである。マイクロプロセサ232は
CPU内の主要な処理素子である。 これは全ての演算、比較、論理積の諸操作を行い、専ら
ファームウェア・マイクロ命令指令により制御される。
1/0システム・バス領域234は、CPUが1/0コ
ントローラと通信するのに必要な全てのドライバ/レシ
ーバ、および制御回路を含んでいる。 2つのバス、即ちシステム・バスAおよびシステム・バ
スBが使用可能である。 主メモリーはシステム・バスB204にのみ接続できる
。システム・バス領域234はハードウェアおよびファ
ームウェアのマイクロ命令指令によって制御される。ス
クラツチパツド・メモリー236は、CPUデータに対
する一時的記憶を提供する読出し/書込みメモリーであ
る。 このメモリーには、DMCチャネルに対する範囲および
アドレス情報およびCPU動作に必要な種々の作業レジ
スタが保持される。このスクラツチパツド・メモリー2
36はファームウェア・マイクロ命令指令により制御さ
れる。Cb プログラミングの考察 本項では、ソフトウェア可視の種々のCPUレジスタに
ついて説明し、CPUにより使用される種々のデータお
よびアドレス書式を定義する。 Cbイ プログラム可視レジスタソフトウェア命令セッ
トを使用するプログラマーから可視である18の中央プ
ロセサ・レジスタがある。 各レジスタの書式および有意ビットは第4 J図に示さ
れる。これ等のレジスタは下記の如くである。ソフトウ
ェア可視レジスタ 7ワードのオペランド・レジスタRI〜R7。 その内の3つは又指標レジスタRI〜R3である。これ
等のレジスタは各々16ビットのものである。8アドレ
ス・レジスタBI〜B7およびP。 これ等のレジスタは各々16ビットである。マスク(M
I)レジスタ(8ビットは追跡トラップ付勢およびオー
バーフロー・トラツブ付勢を制御する)。 標識(1)レジスタ(8ビット:オーバーフロー、将来
の使用のため予約される(RFUは不便用)、キヤリー
・アウト、ビット・テスト、1/○、より大きい、より
小さい、および不等の記号)。 状態(S)レジスタ(16ビット:特権モード・ビット
、プロセサID(4ビット)、優先順位レベル数(6ビ
ット))。 Cbロ ワードおよびアドレスの書式 この項は、中央プロセサ・ユニットにより使用される、
第5図に示された種々のワードおよびアドレスの書式を
規定する。 ビット又はバイトの如き全てのデータ・ワード要素は1
6ビットの主メモリー・ワード‘こ基く。 各ワードの書式は左から右へ規定し、最初のビットに0
を最後のビットに15の番号を付す。主メモリー・デー
タ要素は命令によって、ビット、バイト、ワード又は多
重ワード・データの項目レベルでアクセスできる。これ
らあらゆる場合、左端の要素はワードの最上位要素であ
り、例えばビット0は最初のビット、ビット1は第2の
ビット、ビット0乃至7は最初のバイト、ビット8乃至
15は第2のバイト・・・・・・…である。多重ワード
項目は連続したワード・ロケーションを必要とし、最も
小さいアドレスは左端、即ちデータ項目の最上位の部分
として定義される。アドレス・ポインタは、ビット、バ
イト、ワード又は多重ワードのデータ項目を指示するの
に使用される。 このアドレスは、データ項目の最も左方で最も上位の要
素を表示する。1つの配列内ではデータ項目が左から右
へ番号を付される。 CPUアドレス、アドレス・レジスタおよびプログラム
・カウンタは16ビットおよび記憶ワード・アドレスを
含む。いずれのアドレス・フィールドの最も右側のビッ
ト(ビット15)もワード・アドレスの最下位のビット
であり、全てのアドレス・フィールド‘こは符号は付さ
ない。システムは12雛バイト(Kコ1024)迄をア
ドレス指定するよう構成することができる。DMCデー
タ要求に対するバイト依存アドレスはCPUスクラツチ
パツド・メモリーにおいて17ビット・アドレスとして
記憶される。その最下位ビット(ビット16)は、バイ
ト1がアドレス指定される時セットされる。1つのメモ
リー・ワードおよび1つのメモリー・バイトに対するア
ドレス書式を第5図に示す。 Cbハ 主メモリー 主メモリーは、最小4KW(キロ・ワード)から最大6
4KW迄に構成することができる。 メモリーは読出し/書込みランダム・アクセス・メモリ
ーからなる。主メモリーはシステム・バスBに取0付け
られたメモリー・ボードに含まれる。主メモリーのサイ
ズは必W単位で増大することができ、最小の4KWの主
メモリーは最下位の4KWアドレス空間に構成される。
CPU‘こおけるメモリー・サイズ・スイッチは、CP
Uが不在の主メモタリーの参照を試みるメモリー・アド
レスを検査できるように、システム内に構成された主メ
モリーのサイズと対応するようセットされねばならない
。以下に詳細に論述するように、CPUは、アクセスが
CPUのために行われつ)あるか(ソフ0トウェア命令
又はデータに対する)、DMA又はDMCの1/0コン
トローラのために行われつ)あるか(周辺デバイスに出
入りするデータに対する)にかかわらず、全てのメモリ
ー・アクセスに関して不在の主メモリーへの参照を検査
する。D CPUおよびシステム・バスのインターフェ
ースシステム・バスを備えた中央プロセサに対する2つ
の外部インターフェース、即ちシステム・バスAインタ
ーフェースおよびシステム・バスBインターフェースが
ある。 このシステム・バスAおよびBは、システムのシャシー
の一部であり、CPU、主メモリー又は1/0コントロ
ーラ間に通信経路を提供する。 これ等のシステム・バスは又コントローラおよび王〆モ
リーに対して配電する。システム・バスAおよびBは殆
んど同じで、それぞれ約50のワイヤ則ち信号を含む。
その異なる点は、システム・バスBが、システム・バス
Aにおける絹をなす信号の外に主メモリー・インターフ
ェースを有することである。信号のリストについては第
6図を参照され度い。Da システム・/ぐスA システム・バスAは、配電し、そしてシステムのシャシ
ーのシステム・バスA側のバス・コネクタに挿入された
各1/0コントローラ(IOC)とCPUとの間にデー
タ転送および割込みのための通信経路を提供する。 CP山ま、システム・バスの使用を制御し、別々の時間
基準でサービス要求サイクルを割当てる。システム・バ
スAにおける各IOCは、前記1/0コントローラに対
し唯一でありかつシステム・バスAにおける1/0コン
トローラの位置(CPUに対する)の関数である時間に
おいてのみ(データ転送又は割込みの目的のため)サー
ビス要求をすることを許可される。システム・バスAと
Bの作用については以下に説明する。第7図はシステム
・バスAにおける信号を示す。 システム・バスAは、CPUに対して特有の2つの信号
M旧MVAL,BWAC60を有する。これ等の信号は
、システム・バスAのCPUのシャシー・スロット・コ
ネクタにのみ存在する。このバスにおける他の全ての信
号は、2つの位置を除いて各バス・コネクタの同じピン
上にある。1つのバス・コネク夕のBCYCOT−BA
信号(システムAのサイクル・アウト時間)ピンは次の
バス・コネクタのBCYCIN−BA信号(システム・
バスAのサイクル・ィン時間)ピンに配線される。 このように、優先順位タイミング信号はバス上の1つの
IOCから次のIOCに送られる。第6図は、システム
・バスAおよびB上の各信号の機能およびソースを示し
ている。Db システム・バスB システム・バスBは、配電し、そしてシステムのシステ
ム・バスB側のバス・コネクタに挿入された各主メモリ
ー・ボード又は1/0コントローラとCPUとの間にデ
ータ転送および割込みのための通信経路を提供する。 システム・バス8はシステム・バスBと類似している。
然し、このシステム・バスは、システム・バスAには存
在しない3つの追加の主メモリー制御信号PMEMG○
,PMFRSH,P茂FMDを含む。従って、主メモリ
ー・ボードは、システムのシステム・バスBの側のシャ
シーのスロットにのみとり付け得る。他の全てのシステ
ム・バスBの信号はシステム・バスAと類似するが、別
々の組のドライバによって駆動される。CPUシャシー
・スロット・コネクタに特有な信号は全くシステムリゞ
スBには存在せず、各信号はシステム・バスBにおける
全てのシャシーのスロット・コネクタに与えられる。シ
ステム・バスAおよびBの動作および制御については以
下に説明する。第6図は各システム・バス信号の機能お
よびソースについて示している。システム・バスAの場
合における如く、システム・バスBにおける各1/0コ
ントローラは、前記IOCに特有のものでありかつシス
テム・バスBのIOCの位置(CPU‘こ対する)の関
数である時間においてのみサービス(データ転送又は割
込みのための)の要求を許可される。主メモリーは、シ
ステム・バスBにおかれるが、サービス要求を行わず、
システム・バスBにおける1/0コントローラによる使
用のため優先順位タイミング信号BCYCOT−BBお
よびBCYCIN−BBを依然として伝えなければなら
ない。システム・バスA又はBのいずれか一方において
一時に唯1つの1/0コントローラしかサービス要求を
行えないが、システム・バスAおよびシステム・バスB
において同じ相対的(時間スロット)位置にある2つの
1/○コントローラにより同時に2つのサービス要求が
なされ得る。例えば、第2図によれば、システム・バス
Bにおけるデイスケツト・コントローフ2,220一丁
は、システム・バスAにおけるプリンタ・コントローラ
208−1がDMCデータ要求を行うのと同時のシステ
ム・バス要求間の優先順位は、未完でありまだ応答され
ていない他の先のシステム・バス要求と共に、以下に述
べる如くCPUによって解決される。システム・バスA
におけるプリンタ・コントローラ208ーーはCPUも
こ関して第2の物理的バス・コネクタ・ス。 ットおよび第2のバス要求時間スロットにあるが、デイ
スケツト・コントローラ2,220−1はCPUに関し
て第4の物理的バス要求時間スロットにあるがシステム
・バスBの第2のバス要求時間スロットにあることが判
る。物理的バス・コネクタ・スロットとシステム・バス
Bにおけるバス要求時間スロットとの間の差は、各主メ
モリー・ボードが1つの物理的バス・コネクタ・スロッ
トを占めるがバス要求時間スロットを占めないという事
実に因る。その理由は、主メモリーが決してこのシステ
ム・バスを要求しないためである(即ち、主メモリーは
システム・バスにおいてどのデータ転送も開始せず、従
って優先順位タイミング信号BCYCOT−BBおよび
BCYCIN−BBは主メモリー・ボードによって遅延
される必要はない。E CPUのハードウェアの説明 CPUのハードウェアのブロック図は第8図に示される
。 主要なCPU機能領域 CPUのハードウェアは4つの主な領域に分けられる。 即ち、第3図に示す如く、制御ストアと、スクラツチパ
ツド・メモリーと、マイクロプロセサと、1/0システ
ム・バスである。以下の項は各領域にある構成要素をブ
ロック図レベルで説明する。制御ストア 第9図において、制御ストア230‘まシステムにおけ
る主要な制御素子である。 これは、ファームウェア・マイクロプログラムを含む読
出し専用言己除くROS)メモリーと、これ等のマイク
ロプログラムの解釈に必要な関連するアドレス指定およ
び復号ロジックからなる。ファームウェアは・ソフトウ
ェア制御プログラミングとシステムのハードウェア動作
との間のIJンクである。ファームウェアは、制御スト
アと、スクラッチパッド・メモリーと、マイクロプロセ
ッサと、1/0システム・バスの全ての諸動作を制御す
るあらゆる機能を有する。これ等のマイクロプログラム
は、ある論理的順序に配置されたファームウェア・ワー
ド(マイクロ命令)からなる。各々のファームウェアの
マイクロ命令ワードは48ビットの符号化データを含み
、これは復号される時特定のハードウェア操作を生じる
。500ナノ砂毎に、1つのファームウエア・ワードは
ROSメモリーからサイクル・アウトされ、復号されて
次のファームウェア・アドレスを決定し、そしてマイク
ロプロセサとスクラツチパツド・メモリーとおよび1/
0システム・バスとに対して特定の指令を発生する。 ファームウェア・マイクロプログラムを順次実行するこ
とにより、ハードウェアの諸動作は所望のCPU操作を
行うため適正な順序で実施される。多くのファームウェ
アのマイクロプログラムは、1つのハードウェア活動(
即ち、制御パネル操作、割込みのサービス)又は1つの
ソフトウェア命令の実行のため実行され得る。ファーム
・フローの概要およびファームウェア・ワードの説明に
ついては以下に行う。CPUハードウェアの説明を助け
るため制御ストアの中間規模のブロック図を第9図に示
し、各フロックについては以下の項において説明する。 次に第9図において、ファームウェアはIKロケーショ
ン×48ビットの議出し専用ストア(ROS)メモリー
238に記憶される。 各ロケ−ションは、工場においてROSメモリーに恒久
的に書込まれ変更不能な1つのファームウェア・ワード
を記憶する。1つのアドレスがこのROS〆モリーに与
えられると、対応するファームウェア・ワードが読出さ
れる。ブートPROM240はIK×8ビットのROS
〆モリーであり、ブートストラツプ操作の間だけ使用さ
れる。 これは、初期化の間主メモリーにロードされるソフトウ
ェア命令を含んでいる。ブートPROM240の出力は
正規のファームウェアROSメモリー238の出力のビ
ット24乃至31に対してワイアドOR結合される。ブ
ートストラップ操作の間、このブートPROMが付勢さ
れて正規ROSのビット24乃至31が消勢される。局
部レジスタ242は48ビットのレジスタであり、RO
Sメモリーからアドレス指定されたファームウェア・ワ
ードを受取る。このデータは時間PTIMEOにおいて
ストローブ入力され、500ナノ秒のCPUサイクルの
始めを表示する。デコーダ244はマルチプレクサおよ
び復号ロジックの回路網であり、局部レジスタ242に
現在記憶されているファームウェア・ワードに従って特
定のハードウェア指令を生じる。指令デコーダ244の
出力は、制御パネル201と、制御フロップ258と、
雑用フロップ264と、他のCPUロジック(第8図参
照)とに配分される。。デコーダ244は制御パネル2
01における種々の指示灯を制御する。制御フロツプ2
58は、マイクロ命令制御下でCPUファームウェアに
より直接セットされテストできる4つのフロツプCFI
乃至CF4からなる。 これ等のフロツプは、ファームウェア・ステップ間のあ
る一定の条件を記憶しそしてテストするために使用され
る。例えば、制御フロツプ3CF3はCPUファームウ
ェアによりDMCデータ転送シーケンスの間使用されて
、どのシステム・バスA又はBにデータ転送を要求する
1/0コントローラが配置されているかを想起する。雑
用フロツプ264は、CPUファームウェアによって直
接セットおよび(又は)テストが可能な他のフロツプか
らなる。 このフロツプ群に含まれるのはファームウェア監視タイ
マー(MDT)フロップと、ファームウェア実時間クロ
ック(RTC)フロツプと、電源故障フロップとがある
。又この雑用フロップ264の群にはPCLEARフロ
ツプとPDMCIOフロツプとがあり、これらはCPU
ファームウェアにより使用されて、進行時間中応答する
1/0コントローラによってセットされるシステム・バ
ス信号PBYTEXの状態を想起し、それによってCP
U指令シーケンス(第20図)の間CPUに対しその1
/0コントローラのタイプ(DMA又はDMC)を知ら
せる。 CPUは、入力アドレス又は入力範囲のCPU指令の間
PDMCIOフロップに記憶されたそのIOCタイプを
用いて、DMCIOCにおける場合のようにCPUのS
PM(スクラッチパッド・メモリ)プログラム・チャネ
ル表内にIOCのアドレスおよび範囲が見出されるか、
あるいはDMAIOCによりそこにおかれた後システム
・バスから受取られるかどうかを決定する。アドレス・
レジスタ246は現行ファームウェア・ワード・アドレ
スを記憶する10ビット・レジスタである。 その出力はROSメモリー238をアドレス指定するた
め使用される。次のファームウェア・ワード・アドレス
は各CPUサイクルの時庵歌TIME2においてこのレ
ジスタにクロックされる。制御ストア・アドレス・ゼネ
レータ248はROSメモリー238から謙出されるべ
き次のフア−ムウェア・ワードのアドレスを選択する。 全てのアドレスは分岐アドレスであり、現行ファームウ
ェア・ワード(マイクロ命令)から直援復号されるか、
ハードウェア割込みにより強制されることができる。フ
ァームウェア・ワードとCPUテスト条件から直接4つ
のタイプのファームウェア・アドレスが復号される(第
35D図参照)。 即ちm現行ファームウェア・ワードのビット38乃至4
7におけるファームウェア・アドレスへの無条件分岐(
UCB)、{2}32のファームウェア・テスト可能条
件の1つを選択して、選択された条件の真又は偽の状態
に従って2つのファームウェア・ロケーションの内の1
つへの分岐アドレスを生じるテスト条件に基く分岐(8
0T)(2通りのテスト分岐)、{3’選択されたテス
ト条件に基〈16通りの分岐を実施することによりソフ
トウェア命令OPコードおよびアドレス・シラブルと、
記憶された定数およびソフトウェア割込みを復号するた
め、ファームウェアにより使用されるメジャー・テスト
に基く分岐(BMT)(多重テスト分岐)、および{4
)ハードウェア割込み戻りレジス夕に記憶されたファー
ムウェア・アドレスへの分岐を生じ、ハードウェア割込
みファームウェア・シーケンスの完了時に正規のファー
ムウェア・フローに技るため使用される正規復帰(RT
N)(ハードウェア割込み復帰分岐)である。ハードウ
ェア割込み回路網25川ま、CPUによる即時動作が必
要とされる時、常に制御ストア・アドレス・ゼネレー夕
248に分岐アドレスを強制する。 ハードウェア割込みアドレスは各CPUサイクル毎に生
成でき、別のアドレスは各ハードウェア割込み条件に対
して生成される。このハードウェア割込み条件および優
先順位は第9図に示される。ファームウェアはどのある
いは全てのハードウェア割込み条件の検出も禁止するこ
とができる。もしハードウェア割込みが生ずれば、正規
の次のファームウェア・アドレスがハードウェア割込み
復帰レジスタ252に記憶される。ハードウェア割込み
復帰レジスタ252は10ビット中であり、ハードウェ
ア割込みが生じる時次の正規ファームウェア・ワード・
アドレスを記憶する。 このアドレスは、ハードウエア割込みシーケンスの完了
時に正規のファームウェア・フローに再び入るため使用
される。分岐オン・テスト回路網254は現行ファーム
ウェア・ワードを用いて32のファームウエア・テスト
可能条件の1つを選択し、制御ストア・アドレス・ゼネ
レータ248に対し選択された条件の真又は偽の状態を
通知する。 メジャー分岐回路網256は、BMT(16通り)分岐
が行われる時次のファームウェア・アドレスを生成する
。 現行ファームウェア・ワード(ビツト40,41,42
,43)は、〇Pコード、アドレス・シラブル、定常又
はソフトウェア割込み条件のどれが上記次のファームウ
ェア・アドレスの形成に用いられるかを表示する。ソフ
トウェア割込み回路257は、ソフトウェア処理に割込
むことが可能な諸条件を検出し、優先順位に基いて各条
件に対する独特なファームウェア・アドレスを生成する
。 ファームウェアはこれ等のアドレスを用いて割込み条件
をサービスする適正なファームウェア・ルーチンへ分岐
する。ソフトウェア割込み条件のテストのためのBMT
分岐は、主メモリからのソフトウェア命令取出しシーケ
ンスの始めにのみ実施されることに留意すべきである。
下表は、最高から最低への優先順位の順序でソフトウェ
ア割込み条件を含む。即ち、(1} データ操作の間オ
ーバーフローがCPUレジスタRI〜R7に生じ、その
レジスタがトラツプ付勢マスク・レジスタMIにその対
応ビットをセットさせる時の、レジスタ・オーバーフロ
ー・トラツプ。■ 電力損失が最小2ミリ秒間生じるこ
とを電源が検出する時の、電源故障。 ‘3} システム・バスAに取付けられた1/0コント
ローラが割込みサイクルを要求した時の、1/0割込み
システム・バスA。 ■ システム・バスBに取付けられた1/0コントロー
ラが割込みサイクルを要求した時の、1/0割込みシス
テム。 バスB、および{51 実時間クロックの更新に使用さ
れるAC回線信号から固定調時割込みを得る時の、タイ
マー割込み、である。 次に第8図において、スクラツチパッド・メモリー(S
PM)236は、CPU状態、1/0範囲およびDMC
チャネルに対するバッファ・アドレスの記憶のため使用
される256ロケーション×17ビットのランダム・ア
クセス・メモリーである。 これは又、データ、アドレス、固定情報および1/0バ
イトの転送のための一時記憶域を提供する。SPMには
、15作業ロケーション、CPU状態レジスタ、および
プログラム・チャネル表(PCT)が保持される。 SPMのロケーションの全てが使用される訳でない。 次に第10図のスクラッチパッド・メモリーのレイアウ
トについて述べる。15の作業ロケーション(16隻表
示のロケーション00乃至06および場所08乃至OF
)は一時記憶城として使用される。 これ等の作業。ケーションのある用途は、対メモリー転
送前の1/0データの一時記憶(先のプログラム・アド
レスを維持する)、およびDMCデータ転送の間バイト
・スワッピングのための中間記憶である。CPU状態レ
ジスタはSPMのロケーション07(16隻表示)であ
る。 このロケーションはソフトウェアにより直接アクセス可
能である。このロケーションは常に現行のCPU状態を
保持する。ビットの定義については第4図を参照され度
い。プログラム・チャネル表(PCT)はSPMの上位
(比較高いアドレス)の1280ケーションを占有する
。これはDMCチャネル操作の管理のため専らCP川こ
より使用される。プログラム・チャネル表の属性は下記
の如くである。即ち、‘1} 64のェントリからなり
、入出力チャネルが半2重(即ち、いかなる時点でも入
力モード又は出力モードのいずれかにある)であるため
各ェントリは入力チャネル又は出力チャネルのいずれか
として使用でき、従って入出力チャネル対当り唯1つの
ェントリが必要とされる。 {21各ェントリは17ビットのバイト・アドレスおよ
び16ビットの範囲からなり、2つの隣接するSPMロ
ケーションを占有する。 1つの1/0ロード(10LD)ソフトウェア命令がそ
の関連するDMCチャネルに指向される時、常に1つの
PCTェントリがロードされる。 1つのDMCデータ転送が生じる度毎に適当なPCTェ
ントリが更新される。 情報はPCTェントリからソフトウェア1/0命令を介
してDMCチャネルへ読出すことができ、次の1/0指
令良Pち、{1)入力アドレス、■ 入力範囲および(
31入力モジュ−ル、の1つをその機能コード・フィー
ルド‘こおいて指定する。スクラツチパツド・メモリー
は現行フア−ムウェア・ワ−ド(以下のフア−ムウェア
・ワードの説明参照)により直接制御される。 もしファームウェア・ワードのビット0が2進数1であ
れば、PM書込みはPTIME4において生じる。SP
M236に対するデータ入力は、内部バス260からバ
イト・スワッピング・マルチプレクサ262を介する(
第8図参照)。バイト動作においては、内部バス26川
こおけるワードの左バイトを操作する場合、マルチプレ
クサ262がSPM入力データの左右のバイトをスワッ
プ則ち交換する。DMCチヤネルについては、フアーム
ウエアがSPM内のPCTェントリ・アドレス・ポイン
タのビット16をリセットして、メモリー・ワードの左
バイトが操作されつ)あることを識別する。SPM内の
ロケーションのアドレス指定も又ファームウェアによっ
て制御される。PMアクセス・アドレスは、第8図のP
Mアドレス・マルチプレクサ294を介し第9図のデコ
ーダ244から作業場所および状態レジスタをアクセス
する時、ファームウェア・ワードから直接生じる。さも
なければ、PCTに対するアクセスが要求される時DM
Cチャネル番号が使用され、この場合はSPMアドレス
は第8図のSPMアドレス・マルチプレクサ294を介
してチャネル番号レジスタ296から生じる。DMCデ
ータ転送操作を行う時、CPUファームウェアはチャネ
ル番号の下位ビット(第24図のビット9)を用い、そ
れによって関連する入出力チャネル対に対するPCTェ
ントリに記憶されたアドレスおよび範囲を使用して入力
操作と出力操作のいずれが行われるべきかを決生定する
。Ea マイクロプロセサ 再び第8図において、CPUにおけるあらゆる活動はフ
ァームウェア制御のマイクロプロセサ232の処理能力
に集中する。 CPU内の全ての演算、比較、および論理積操作はマイ
クロプロセサ232により実行され、これは4蓮の4ビ
ットに分割されたマイクロプロセサからなり16ビット
のタ マィクブロセサを形成する。望ましい実施態様に
おいては、マイクロプロセサ232は、米国カルフオル
ニア州サニーベールのAdvance mlcroDe
vices社製の4タイプのAm2901マイクロフロ
セサからなっている。マイクロプロセサ232内0には
16ロケーション×16ビットのレジスタ・フアィル2
68と、8機能の16ビット中の演算論理装置(ALU
)266と、マイクロプロセサの諸能力を支持するため
必要なシフト・ロジックと雑用ロジックがある。タ マ
ィクロプロセサ232に対するデータ入力はデータ・セ
レク夕・マルチプレクサ269からの16ビット出力で
ある。 マルチプレクサ269は、SPM236の出力、内部バ
ス260、標識レジスタ270プラスMIレジスタ27
2の内容、又0は局部レジスタ242(第9図)からの
現行ファームウェア・ワードからの定数のいずれかから
データを選択できる。マイクロプロセサ232に対する
入力データは、レジスタ・ファイル268又はマイクロ
プロセサ内の作業レジスタに記憶でき、あるいはALU
266を経てマイクロプロセサの出力データとして内部
バス26川こ送ることができる。これは、マイクロプロ
セサに対するファームウェア入力によって決定される。
現行ファームウェア・ワードのビット8乃至19がマイ
クロプロセサを制御する(以下のファームウェア・ワー
ドの説明参照)。 これ等のビットは、ALUに対するデータ入力、ALU
が行うべき機能、およびALUの結果の行先を制御する
。このマイクロプロセサは、各CPUサイクル(本実施
例では500ナノ秒)でファーム・ワード‘こ従って新
らしい動作を行う。マイクロプロセサ232にはしジス
タ・フアイル268の16のレジスタが保持され、その
内の15がソフトウェア可視である(第11図参照)。 このマイクロプロセサに与えられる4ビット・アドレス
はしジスタ・ファイルをアドレス指定するため使用され
る。このアドレスは、機能レジスタ(FR)274から
、あるいはファームウエア・ワードから直接に選択が可
能である。FRレジスタ274は最初OPコードを記憶
し、次に種々のアドレス・シラブルおよび定数を保持し
、あるいはファームウェア・フローによって決定される
如く増減分できる。ファイル・アドレス指定のため、F
Rレジスタ274は3つのセクションFRO,タFR2
およびFR3に分割され、これ等のセクションの内のど
れか1つがマイクロプロセサのレジス夕・ファイル26
8のアドレス指定のため使用されるようファイル・アド
レス・マルチプレクサ276により選択できる。レジス
タ・ファイル26 Z8に対するデータ入力はALU2
66を介する。レジス夕・ファイル268の出力デー外
ま、現行ファームウェア・ワードにより決定された通り
ALU266、内部作業レジスタQ又は内部バス260
へ送ることができる。 Zマイクロプ
ロセサ232からのデータ出力は、内部バス2601こ
おけるシステム・バスAおよびBからのデータ入力レシ
ーバとワィアドOR結合される。従って、もシステム・
バスA又はBのレシーバのいずれかか付勢されるならば
、マイクロ2プロセサの出力が消勢される。しかし、マ
イクロプロセサ232からは常にファームウェア・テス
ト可能信号(ALU=零、SIGN、オーバフロー、キ
ヤli−)が出力される。マイクロプロセサ232に対
して入力データを2与えることの他、データ・セレクタ
・マルチプレクサ269の出力は、ファームウェア制御
下でMIレジスタ272および標識レジスタ270‘こ
ゲートされ得る。 データセレクタ269の出力の4ビットも又ファームウ
ェア制御下で品質論理テスト(QLT)レジスタ278
にゲートすることができる。QLTレジスタ278の出
力は、システムの初期化における品質論理テストの成否
の視覚的表示をデータ処理システムのオペレータに与え
るため使用されるCPUボード上に配された4つのLE
D標識の点灯を制御する。クロック281は、システム
全体で使用される種々のタイミング信号PTIM旧○乃
至PUIME4およびBCYCOTを与える。 (第14図および第15図参照)Eb システム・バス
の制御 第12図は、両システム・バスAおよびB、データ経路
および制御信号の生成を示す。 主な構成素子は、バス副指令デコーダ244とCPU内
部バス260と、各1/0システム・インターフェース
・データ/アドレス回線に対する別個のレシーバ284
,288とドライバ282,286と、CPUサイクル
・アウト時間ゼネレータ280である。ファームウェア
は、両システム・バスAとB上のデータ・フロー、およ
び16ビットのCPUの内部バス2601こおいて生じ
る転送を制御する。 各CPUサイクルの間、副指令デコーグ244は現行フ
ァームウェア・ワードを解釈し、サイクルの時間PTI
M旧1からPTIME4まで有効であるバス制御副指令
を生じる。これ等の復号された副指令は特定のデータ経
路を付勢し、ファームウェアにより要求される如くデー
タ転送を生じる。システム・バス上で行い得る対話は以
下においてシステム・バス動作の項で説明する。基本的
なシステム・バス制御は次の節で説明する。別個の副指
令は、システム・バスのレシーバ284と288のどち
らが付勢されて内部バス260‘こデータをおくかを決
定する。 もし両方のシステム・バスA,Bのレシーバ284と2
88が消勢されると、マイクロプロセサ232の出力が
内部バス2601こ転送される。もしデータが1/0コ
ントo−ラに送られると、CPUからシステム・バスへ
の適当なドライバ282又は286が付勢されて、内部
バス260‘こおけるデータを付勢されたシステム・バ
スのデータ/アドレス回線に対して転送させる。もしデ
ータがIOCからCPUへ転送されるならば、適当な付
勢1/0コントロo‐ラ・データ・ドライバ信号(PE
N既A−又はPENBSB−)が復号され、1/0コン
トローラを経て特定システム・バスにおける全ての1/
0コントローラに送られる。しかし、バス・アクセスを
要求したIOCのみがシステム・バスにデータを夕おく
。主メモリーがCPUにデータを転送する時は別の副指
令が生成される。主メモリーのデータを内部バスに転送
するためには適当なCPUレシーバ経路も又付勢されね
ばならない。前述の如く、全ての転送は内部バス260
を経0由する。 例えば、もしファームウェアが、データをシステム・バ
スA上のIOCからシステム・バスBの主メモリーへ転
送すべきことを決定するならば、このフアームウエアは
システム・バスAのIOCのデータ・ドライバ(信号P
EN既A−を介して)とシステム・バスAのレシーバ2
88とを付勢してロントローラから内部バス260へデ
ータを転送させる。もしこれが直接メモリー・アクセス
(DMA)転送であれば、ファームウェアは同時にシス
テム・バスBのドライバ282も付勢して内部バス26
0のデータを主メモリーに転送させる。もしこれカmM
C転送であれば、生じ得るバイト・スワッピングのため
内部バス・データが最初にSPM236(第8図)へ送
られる。以降のCPUサイクルの間、このデータはSP
M236からマイクロプロセサ232を介して検索され
、システム・バスBのドライバ282が付勢されて、デ
ータを内部バス260からシステム・バスB上の主メモ
リーに転送させる。CPUサイクル・アウト時間信号B
CYCOTを用いてIOCによるデータ転送又は割込み
のためのシステム・バスの要求を許可する。 これにより、一時に唯1つの1/0コントローラがCP
Uと通信することを確保する。この信号は4マイクロ秒
毎に生成され、各システム・バスを介してコントローラ
からコントローラへ伝播される。各1/0コントローラ
はこのパルスを受入れ、このパルスを次のコントローラ
(第13図参照)に送出する前に500ナノ秒間だけ遅
延させる。1/0コントローラがこの信号を遅らせる時
間は、この1/0コントローラに関してはサイクル・イ
ン時間と呼ぶ。 前に論述したように、主メモリーが決してデータ転送又
は割込み要求を行わないため、主メモリーはシステム・
バスにおけるサイクル・アウト時間信号は遅延させない
。その代り、主メモリーは信号BCYCOTを遅延させ
ずに次の主メモリー又はシステム・バスB上のIOCに
送る。サイクル・イン時間は、1/〇コントローラがシ
ステム・バス・アクセスを要求し得る唯1のインターバ
ルである。もしCPUファームウェアがアクセスを許可
すれば、CPUとその1/0コントローラ間のりンクが
形成されて、値の1/0コントローラがシステム・バス
にアクセスすることを阻止する。CPUおよびIOCが
リンクされるこの期間中、同じシステム・バス又は別の
システム・バスにおける他の1/0コントローラがそれ
らのサイクル・ィン時間中にシステム・バス要求を行う
ことができるが、CPUはこのシステム・バスに対して
はアクセスを許与しない。 このCPU−IOCリンクは、このリンクが解除される
迄ソフトウェアおよびハードウェアの割込みを禁止する
ことによりファームウェア制御下で行われる。このCP
U−IOCリンクを確立し維持するのは、ハードウェア
(およびソフトウェア)の割込みを禁止するようリセッ
トされたビットを有するデータ転送要求又は割込み要求
の処理に使用されるマイクロプログラムの各ファームウ
ェア・マイクロ命令ワードである。ハードウェア割込み
ビットがリセツトされた最初のマイクロ命令がCPU−
IOCリンクを確立し、その後そのビットをセットする
最初のマイクロ命令ワードがこのリンクを解除する。E
c 制御パネル 制御パネル(第9図の201)は直接CPUと結合し、
オペレータが手動にてシステムを初期化し、ブートロー
ドし、かつこれを始動することを許容する。 制御パネルは、初期化(ブ−トロード)シーケンスを開
始するため使用される押しボタン(瞬間形)スイッチを
含む。この初期化用押しボタンを押すと、スイッチはR
OSアドレス・レジス夕(第9図の246。制御ストア
・アドレス・ゼネレー夕248を介する)をリセットし
て初期化ファームウェア・ルーチンの分岐を生じる。こ
のスイッチは又両方のシステム・バス上の信号PCLE
AR−を瞬間的に接地して1/0コントローラに品質論
理テスト(QLT)を開始させる。Ed 基本システム
・タイミング 次に第14図において、基本システム・タイミングが1
0メガヘルツの発振器290から生成され、その信号則
ちPCLOCK−はクロック(C)入力の5ビットのシ
スト・レジスタ291に接続される。 シフト・レジス夕291は、米国テキサス州、ダラス市
のTexasInstruments社製のタイプSN
7496であり、参考として本文中に引用された「設計
技術者のためのTTLデータ・ブック」なる文献(第2
版)に記載される。シフト・レジスタ291はプリセッ
ト付勢(PE)入力に2進数零、クリア(R)入力に2
進数1、プリセット入力SI乃至S5に2進数零を有す
る。ANDゲート293の出力(信号PTIMIN+)
はシフト・レジスタ291の直列(D)入力側に接続さ
れる。シフト・レジスタ291の出力即ち信号PTIM
EO+乃至PTIME4キは、第15図に示される5つ
の等しい100ナノ秒期間に分割される基本500ナノ
秒CPUサイクルを生じるため使用される。これ等の時
間は特定の事象をストローブしゲートするためシステム
全体で使用される。PTIMEOはCPUサイクルの始
めを表示する。 アドレス指定されたファームウェア・ワードは制御スト
ア局部レジスタ242にゲートされ、そしてデコーダ2
44が付勢される(第9図参照)。PTIM旧1の始め
は全てのシステム・バス制御信号を付勢し、この状態は
PTIM旧4の終り迄維持される。反転される時PTI
MEIからPTIM旧4まで2進数1である信号PTI
MEO+は、副指令デコーダ244(第12図参照)を
介してシステム・バスおよび内部バス内の特定のデータ
経路を付勢する。PTIME2は、この時有効な次のフ
ァームウェア・アドレスを制御ストア・アドレス・レジ
スタ246(第9図参照)に対してゲートするため使用
される。 PTIME3はシステム・バス上の全ての1/0コント
ローラへ送られ、CPUおよび1/0コントローラを同
期させる。 バス・データはこの時有効である。PTIME4は主と
してCPUマイクロプロセサにより使用される。 マイクロプロセサ232およびスクラッチパッド・メモ
リー236内の情報のどの書込み又は記憶もこの時生じ
る(第8図参照)。次に第14図において、基本システ
ム・タイミング・ロジックの作用について簡単に説明す
る。 最初にシフト・レジス夕291の出力、信号PTIME
O+乃至PTIME4十が2進数零であり、又クロック
・ストール信号PFREEZ十が2進数零であってクロ
ックがストール即ち停止されるべきでないことを表示す
るものとすれば、ANDゲート293の出力(信号PT
IMIN十)は2進数1となる。シフト・レジスタ29
1の直列(D)入力側が2進数1であれば、発振器29
0からのクロック信号PCLOCK−の2進数零から2
進数1への遷移が生じると出力信号PTIMEI十を2
進数1にし、これが更にANDゲート293の出力(信
号PTIMIN+)を第15図に示す如くに2進数零に
する。発振器290からの夫々連続するクロック・パル
スにより、第11図に示す如く、シフト・レジスタ29
1の出力の1つは2進数1となり、他の4つの出力は2
進数零となる(2進数雫状態を維持する)。シフト・レ
ジスタ291の各出力はィンバータに与えられてタイミ
ング信号(即ち、信号PTIMEO+乃至PTIME4
一)の反転を生じる。簡単にするため、第14図には信
号PTIMEO+用のィンバータ297のみを示す。信
号PTIMEO十は又同期可逆2進カウンタ292に対
するクロツク(C)入力として使用される。カウンタ2
92は、米国テキサス州ダラス市のTexas lns
trments社製のタイプSN74SI6船であり、
前掲の文献に記載されている。カゥンタ292は、NA
NDゲート295と関連して使用されてCPUサイクル
・アウト時間信号8CYCOT−を発生し、この信号は
1つのシステム・バス当り唯1つの1/0コントローラ
のみが一時にそのシステム・バスに対する要求を行うこ
とを保証するため両システム・バスにおける1/0コン
トローラによって使用するため両方のシステム・バスA
およびBに与えられる。2進数零から2進数1の状態へ
の8つのPTIMEO+信号遷移をカウント・ダウンす
ることにより、カウンタ292はNANDゲート295
と関連して信号BCYCOT−を1つのCPUサイクル
時間(500ナノ砂)の間2進数零にし、その後7つの
CPUサイクル時間の間2進数1とする。 詳細には、カウン夕292のロード(L)入力は2進数
1にセットされ、その結果データ入力DI乃至D8は無
視され(即ち、カウンタのプリロードには使用されす)
、両カウント付勢入力PおよびTが2進教養にセットミ
れてカウント動作を付勢にし、可逆(U/D)入力が2
進数零にセットされてカウンタをカウント・ダウン・モ
ードにセットする。このように、クロック信号PTIM
旧0十の2進数零から2進数1の状態への最初の遷移が
生じると同時に、カウンタ292の4つの出力(信号B
CNTLI+乃至BCNTL8十)は2進数1となり(
零から2進数IS室カウント・ダウン)、NANDゲー
ト295の出力(信号BCYCOT−)が2進数零とな
る。信号PTIM旧0十の2番目の2進数零から2進数
1状態への遷移が生じる時に、信号BCNTLI十は2
進数零になりNANDゲート295の出力は2進数1と
なる。信号PTIMEO十9回目の2進数零からの2進
数1の状態への変換の発生までは、信号BCYCOT一
は2進数1の状態に留まり、この9回目の時に信号BC
NTLI十、BCNTL2十およびBCNTL4十が再
び全て2進数1となってその結果NANDゲート295
の出力が2進数零となる。CPUの1次(基本)時間信
号PTIM旧0乃至PTIME4とCPUのサイクル・
アウト時間信号BCYCOT−間の関係は第13図に示
す。次に第13図において、CPUのサイクル・アウト
時間信号BCYCOT−(最初のコントローラ・サイク
ル・ィン)は第2のCPUサイクルのPTIMEOの前
縁において2進数1から2進数零の状態に変り、第3の
CPUサイクルのPTIMEOの前緑において2進数零
から2進数1の状態に変ることが判る。このことは、P
TIME3−信号の後縁の発生と同時に2進数1から2
進数零の状態に変り、PTIME3−信号の次の後緑の
発生と同時に2進数零から2進数1の状態へ変る第2及
びそれに続くコントローフ・サイクル・イン(BCYC
OT−)信号と対照的である。 この差は、前述の如く、8番目のPTIMEO毎にカウ
ントすることによりCPUのサイクル・アウト信号を得
たことから生じ、一方各コントローラのサイクル・アウ
ト信号は信号PTIME3の後緑を受取ることにより得
られるが、前の(CPU側に隣接する)1/0コントロ
ーラからのサイクル・アウト信号は第40図に関して以
下に説明するように2進数零となる。適正に機能するよ
う実施される如き本システムに生じる必要条件は、ある
システム・バスの唯1つのIOCがTIME3の後緑に
会するが、その隣接するIOC(又はCPU)からのサ
イクル・アウト信号は2進数零であることである。各時
点において、システム・バスAの最初のIOCからシス
テム・バスA上の(例えば)第2のIOCによって受取
られる信号BCYCOT−が、システム・バスB上の最
初のIOCからシステム・バスB上の第2のICOによ
り受取られるBCYCOT−信号と同じ状態にあること
が判る。Ee システムの初期化 CPUは第16図に示す如くパワーアップ信号貝04ち
初期化信号に対して反応する。 次に第16図によれば、もし電源からのパワー・オン信
号の発生が検出されるならば、ブロック300において
CPU初期化シーケンスにェントリされる。 もし電源が既にONでありCPU制御パネル上の初期化
押しボタンが押されると、ェントリはブロック302か
らも行われる。フロツク304においては、マスター・
クリア信号が1/0コントロ−ラに送られてIOCにそ
れらロジックを初期化させることによりシステム・バス
AおよびBをクリアし、自蔵のIOC品質論理テスト(
QLT)を惹起する。 マスター・クリアは又CPUロジックも初期化し、フロ
ツク306に入る。フロック306は、制御ストアRO
S(第9図の238)のロケーション0でCPUファー
ムウェアを開始する。ブロック307においては、CP
Uフアームウエアは、シーケンスのエントリが初期化押
しボタン(即ち、ブロック302を介して)の押下げに
より開始されたかどうか、又そうであれば完全初期化が
行われてブロック312に入るかどうかを決定するため
テストする。もしシーケンス・ェントリがブロック30
0を介してパワー・オンの検出時になされたならば、ブ
ロック307からブロック308に入って、完全初期化
に至らない初期化が行われる。フロック308は主メモ
リーの内容が有効であるかをテストする(即ち、信号M
EMVAL−が2進数零であり、いかなる停電期間中で
も主メモリー・リフレッシュ電圧が維持されるようにメ
モリー保管ユニットが充電状態のバッテリを有すること
を示す。 )。もし主メモリーが有効であれば、限定された初期化
のみが行われればよく、フロック31川こ入って主メモ
リーのロケーション0への分岐を実行し、ソフトウェア
の実行が開始される。主メモリーのロケーション0はソ
フトウェア・スタート・アップ手順の最初のワードを含
む。次に、ブロック310はブロック324を出てソフ
トウェアを実行する。もし主メモリーが有効でなければ
、あるいはもしシーケンスのェントリが初期化押しボタ
ンによりなされたならば、完全初期化が行われてブロッ
ク312に入る。CPUフア−ムウェアQLT(第9図
のROSメモリー238に常駐)がブロック312にお
いて実行される。CPUファームウェアQLTが完了す
ると、フロック3 1 4に入り、ブートPROM(第
9図の240)におけるソフトェゥア・プログラムが主
メモリー(16隼表示のロケーション100乃至2FF
)へ転送されて実行される。ブロック316においては
、ブートPROMからロードされたソフトエウア・プロ
グラムの実行の結果、主メモリーのサイズの調べ、使用
可能な全ての主メモリーにおけるパリティ・テストの実
施、および拡張にPUQLTおよび1/0テストの実施
が行われる。ブロック318においては、拡張CPUの
ソフトウェアQLTテストの結果が検査される。もし拡
張CPUQLTによりエラーが検出されなければ、ブロ
ック320に入り、ソフトウエア・ブート・プログラム
がブート・ロード・デバイスから最初のレコードを主メ
モリーの。ケーション1 00(16隼表示)にロード
する。ブロック322においては、一たん最初のレコー
ドが主メモリーにロードされると、主メモリーのロケー
ション100への分岐が行われ、CPUが稼働してブロ
ック324において初期化シーケンスが完了する。もし
拡張CPUのソフトウェアQLTの結果エラーの検出が
なされると、ブロック318からブロック326に入り
、制御パネル上の制御パネル検査指示器が点灯状態を維
持し、CPUQLT指示器(CPUボード上のLED灯
)がエラーを表示する。次にブロック328に入り、C
PUが停止する。もしブロック324におけるソフトウ
ェア実行中に電源ブロック3301こより差し迫った電
源故障が検出されると、ソフトウェア実行が中断されて
ブロック332に入る。 ブロック332においては、CPUが、電源故障の時に
実行中のソフトウェア・プログラムの文脈保管を含む電
源故障割込みシーケンスを実施しようとする。文脈保管
の前に、CPUがシステム・バスをクリアしてこれ等の
バスを主メモリーのデータ転送に対するCPUの使用の
ため解放する。 文脈保管操作は、もし電源が維持されねばその情報を消
失する揮発性のCPUレジスタを停電期間中保持するた
め主メモリー内に記憶させるようにする。差し迫った電
源故障の検出の約2ミリ砂後に、主メモリーはCPU要
求への応答を停止してブロック334におけるソフトェ
ゥアの実行の停止を惹起する。十分な電力がない時もC
PUのファームウェア実行がブロック334で停止する
。その後ブロック300‘こおいて電源によるパワー・
オンの検出により、CPUはブロック334から出て、
主メモリーが停電期間中有効な状態を維持したかどうか
に従って、部分的初期化又は完全初期化を実施する。F
システム・バスの操作 システム・バスの操作は、システムに組込まれたCPU
と、1/0コントローラと、主メモリー間のアドレス、
データ、および制御情報の転送を行う(データ書式につ
いては、第17図参照)。 全てのシステム・バス操作はCPUタイミングおよびフ
ァームウェア・シーケンスによって制御される。本項は
、CPUが1/0コントローラ又は主メモリーと通信す
る時に生じるシステム・バスAおよびBにおける事象の
シーケンスについて記述する。システム・バスの操作は
CPU又は1/0コントローラのいずれかによっても開
始可能である。 CP山ま、下記理由からシステム・バス対話を開始する
。即ち、(1}全ての主メモリーのアクセス、■主メモ
リーのリフレツシュ、‘311/0コントローラに対す
る機能コード。1/0コントローラは下記理由からシス
テム・バス対話を開始する。即ち、{1}直接メモリー
・アクセス(DMA)データ転送、‘2}データ多重制
御(DMC)データ転送、および〔3’1/0コントロ
ーラ割込み。王〆モリーはシステム・バス対話を開始す
ることはない。全ての1/0コントローラが開始したバ
スの活動は別々の時間に基く。コントローフ・ロジック
のみが、この特定のバス上の他のIOCが既に同じタイ
プのバス・サイクル要求を行っていなければ、この1/
0コントローラの独自のサイクル・ィン時間中1つのバ
ス・サイクルをこのIOCが最初に要求することを許可
する(例えば、システム・バスB上のあるIOCが既に
回線PDMCR2を2進数零にセットしているならばシ
ステム・バスB上の別のIOCはDMC要求を行うこと
はできないが、回線PDMCRIを2進数零にセットす
ることによりシステム・バスA上の別のDMC IOC
が既にDMC要求を行ったと云う事がシステム・バスB
上のDMC要求を禁止することはない)。1/0コント
ローラのみがその独自のサイクル・イン時間中システム
・バスを要求することができるため、この1/0コント
ローラ内には優先順位回路は一切必要とされない。 2つの1/0バスが使用可能でありかつ1/0コントロ
ーラが異なる目的にためバスを要求することができるた
め、CPUは下記の如き最高から最低の優先順位におい
て反応する。 即ち、‘1}BバスがDM娘伝送を要求する。{2)A
バスがDMN転送を要求する。■AバスがDMC転送を
要求する。
同期日に出願され関連する主題を有する。 本文中に開示されたシステムおよびプロセスのある部分
は本発明ではなく、下記特許出願の特許請求の範囲によ
り規定される如き下記発明者の発明である。〔発明の分
野〕 本発明はデータ処理システムに関し、特に主メモリーと
共通バスに接続された諸ユニットとの間に情報の転送の
ための多数の共通バスを有するシステムに関する。 〔従来技術〕 今日のデータ処理システムのアーキテクチユアにおいて
は、中央処理ユニットと、主メモリーと、入出力サブシ
ステムは1組のバスにより論理的に接続されている。 各バス構造には4つの主なセクション、即ちアドレス、
データ、制御および電源がある。各セクションは信号又
は電流を送るための多数の回線からなり、その内のある
回線は2つ以上のセクション間で共用される可能性があ
る。物理的には、これら回線は、回路板モジュールおよ
びサブシステムが挿入されるコネクタ間の印刷回路板上
に食刻されたワイヤ、被覆線又は半田付け線、又は種々
のタイプのリボン・ケーブルである。アドレス・バスは
、データが読出されあるいは書込まれる主メモリーのロ
ケーション又は入出力コント。ーラを指定するのに使用
される。取扱われるデー外まデータ・バス上の1つのサ
ブシステムから他のサブシステムへ転送される。アドレ
ス指定およびデータ転送機能の制御に使用される信号は
制御バス上で送られる。アドレス存在、メモリーからの
読出し、メモリーへの書込み、データ存在、等の条件を
指定するためこのグループには種々の信号が含まれる。
給電バスは電力をシステム電源からデータ処理システム
の種々のサブシステムに分配するために使用される。典
型例のシステムにおいては、十5V、十12V、一5V
等のいくつかのDC電力が必要とされる。1つのバスに
対し複数のユニットが接続されるシステムにおいては、
この1つのバスは共通バスと考えられ、4つのセクショ
ン則ちアドレス・バス、データ・バス、制御バス、およ
び給電バスをそれぞれ含む。 1つの共通の入出力バスに結合される複数のュニットを
有するシステムにおいては、情報の両方向の転送をこの
ような諸ユニット間に提供する秩序化システムが設けら
れねばならない。 この問題は、このようなユニットが、例えば、中央処理
ユニット(CPU)、1つ以上の主メモリー・ユニット
、および磁気テープ記憶デバイス、ディスク記憶デバイ
ス、力ード読出し装置等の種種のタイプの周辺デバイス
を含む時益々複雑化する。これ等の全ての周辺デバイス
は屡々CPU又は主メモリーに対してアクセスしなけれ
ばならない。 このようなアクセスは「通常、その1つはアドレス指定
された情報のため、ある1つはデータ情報のため、他は
制御機能情報のために使用される多くのグループのワイ
ヤ線を含む共通のバスによって達成される。非常な混乱
を防止するため、予め定めた構成に従ってこの共通バス
に対するアクセスを制御するための装置が設けられねば
ならない。このような制御を行うため多くの方式が提供
されて来たが、その一例はD.R.Appeltの米国
特許第3886524号「非同期通信バス」である。こ
のような制御のための構成の中には、周辺デバイスが共
通バスに対するアクセスを必要としているかを確認する
ため、CPUが予め定めたシーケンスで個々の周辺デバ
イスをポールするボーリング方式がある。この時CPU
は、予め定めた優先順位スケジュールに塞いて周辺デバ
イスの1つに対する共通バスへのアクセスを付与する。
別のタイプの構成においては、周辺デバイスに対し順次
送出される制御信号が生成され、優先順位は連続ストリ
ングに従う直列順序により決定される。 このような方式の1つはR.A.Henzel等の米国
特許第3832692号「多回線バスにより結合される
諸デバイスに対する優先順位回路網」に示される。この
ようなコンピュータ・システムの構成においては、各周
辺デバイスと共通バスとの間に別個の1/0コントロー
ラがあるのが通常である。これ等の1/0コントローラ
は通常カード・ケージ内の予め定められたスロットに挿
入される回路カード上にある。第1のタイプのアクセス
・システムにおいては、特定の周辺デバイスのアドレス
はこのカード・ケージにおけるスロットの予め定めた1
つと関連付けられる。換言すれば、中央プロセスはカー
ド・ケージにおける特定のスロットをアドレス指定して
選択された周辺デバイスをアクセスする。前述の方式の
内の第2のタイプにおいては、選択されたアドレスは個
々のカード上にあるが、その直列の関係がカード・スロ
ットの配列に制約を課す。直列接続に対する要件がある
ため、カードはその優先順位でスロット内に挿入され、
最初と最後のカード間のスロットにギャップを持たず最
初のスロットから始まる。この両方の方式においては、
共通バスへ選択周辺デバイスを実際にアクセスさせる手
順にかなりの時間が必要とされる。現在使用中のコンピ
ュータ・システムを示す1つの典型例においては、マス
ター・ユニットとスレーフ・ユニットとの間の共通バス
は、別の制御回線と共に16並列データ回線のデ−夕・
チャネルと20並列アドレス・チャネルとからなる。 データ回線と、アドレス回線と、制御回線はその合計本
数が約80となるのが一般である。このようなシステム
は、中央の1組のディジタル・ロジックを使用して、種
々のマスター・ユニットによりこのシステムに入れられ
たアドレス又はデータ情報の転送のための共通バスに対
するアクセスの要求を全て追跡する。J.B.Cohe
n等の米国特許第3710324号「データ処理システ
ム」はこのようなシステムを開示する。調停用論理回路
網がシステム全体に分布される他のシステムが存在する
。 システム内のいくつかのマスター・ユニットから調停要
求を行うため、同様なロジックが各マスター・ユニット
に設けられる。Appeltの米国特許第388652
4号はこのような1つのシステムを開示し、GJ.Ba
rlowの米国特許第4030075号「優先順位回路
網を分布したデータ処理システムトG.J.Barlo
wの米国特許第400179び号「共通バス上のデータ
処理システム中に結合されたモジュールでアドレス指定
可能な装置」、F.V.Cassarlno、Jr.等
の米国特許第3997896号「スプリッド・バス・サ
イクル操作を行うデータ処理システム.トおよびF.V
.Cassanno、Jr.等の米国特許第39939
81号「データ処理システムにおけるデータ転送要求の
処理のための装置」は別のこのようなシステムを開示し
ている。これ等の両システムは、マスター・ユニット間
に割当てられた優先順位の順序で直列に接続された1つ
以上の回線を有する。従って、制御回線を介して論理回
路を動作させて割当てられた優先順位の順序でバスに対
するアクセスを制限し、共通バスの可用度に関してアク
セスを要求する他のマスター・ユニットと通信する装置
が提供される。このようなシステムを相互に結合するた
め種々の方法および装置が従来技術において知られてい
る。 このような従来技術のシステムは、共通データ・バス経
路を有するものから種々のデバイス間に特殊な経路を有
するものまである。このようなシステムは又、バス・タ
イプと組合わされる同期又は非同期操作の能力も含んで
いる。更に、このようなシステムは、一般に種々のパリ
ティ検査装置、優先順位方式および割込み構造を含んで
いる。このような構成の1つは、B.0.0ayman
等の米国特許第3886181号「割込み順序付け制御
装置」に示される。共通バスを用いるデータ処理システ
ムに対するバス割当て装置は、J.G.Valassi
s等の米国特許第3959775号「マイクロプロセサ
で構成される多車処理・システム」に示される。割込み
信号の走査を取扱うシステムは、W.EWoods等の
米国特許第4020471号「データ処理システム用の
割込み走査兼処理システム」に示される。他の優先方式
については、K.Kowal等の米国特許第39915
61号「データ処理システムにおける直列結合された周
辺インターフェース装置用の優先順位決定装置↓R.D
.Royer等の米国特許第4023668号「高速メ
モリー・アクセスのためのディジタル・コンピュータ構
成↓R.日.Gr皿er等の米国特許第3931613
号「データ処理システム」、SA.Cam等の米国特許
第3447135号「周辺装置のデータ交換」に示され
ている。バス構造を取扱った論文としては、本文中に参
考のため引用したDr.D.P.Bm■nとDr.A.
LDe幻er著「マイクロコンピュータのバス構造につ
いての知識」(エレクトロニクス・デザイン1入197
群王6月21日号)に見出される。 例えば、このようなシステムにおいてアドレス指定が行
われる方法、並びに、例えば諸デバイスのどれか1つが
データ転送を制御し得る方法は、システムの構成に依存
し、即ち、共通バスがあるか、その操作が同期的か非同
期的か、等に依存する。このシステムの応答能力および
処理能力は大いにこれ等の構造に依存する。共通バス上
のユニット数が増加するに伴って、このバス上の種々の
ユニットに使用される通常のTTL回路は全てを駆動す
るに十分な電力は持たず、特殊なドライバ回路が必要と
される。 更に、共通バス上のユニット数が増加するに伴ってバス
の長さが増大し、このためバスの伝送回線特性により悪
影響が生じる。もしバスが短かく保持できるならば、終
端抵抗は除くことができる。又長い共通バスは漏話その
他のノイズ問題を生じるおそれがある。 更に、もし信号が共通バス上のユニットからユニットへ
と連鎖されると、ユニット数が多くなる程遅延が大きく
なり、バスの処理能力が低くなる。このことは、バス上
の各ユニットがバス要求のできる特定の時間スロットを
割当てられる場合特にそうである。この場合、ユニット
数が多くなり時間スロットが増加する程、バス要求を行
うため個々のユニットが待たねばならない平均時間が長
くなるのである。〔発明の目的〕 従って、本発明の目的は複数のユニットを取扱うことが
可能な改良された共通バス構造の提供にある。 別の目的は、送出側のユニットに特殊なドライバ回路を
必要としない共通バス構造の提供にある。他の目的は、
多数の共通バスのどれに対して第1又は第2のユニット
が接続されるかを知ることなく第1のユニットが第2の
ユニットに関して送受し得る多くの共通バスを有するバ
ス構造の提供にある。 本発明の更に他の目的は、増大した処理能力および短縮
されたバス要求待機時間を有する共通バス構造の提供に
ある。 〔発明の要約〕 . 本発明によれば、第1の転送サイクルの間複数の共通バ
スの第1のバスに結合された第1のユニットから複数の
共通バスの1つに結合された第2のユニットに対する情
報の転送を制御するバス・コントーラが提供される。 更に、第2の後の転送サイクルの間の第2のユニットか
ら第1のユニットに対する情報の転送を許可する別の装
置が提供される。更に又提供される装置は、複数の共通
バスの内のどのバスにアドレス指定されたユニットが結
合されているかについて事前に知ることなく、バス・コ
ントローラに制御指令を複数のユニットのそのアドレス
指定されたユニットに対して送出させそしてこのアドレ
ス指定されたユニットからの応答を受信させる。本発明
とその望ましい実施態様との対応関係第IA図のフロー
チャートは、どのように本発明が望ましい実施態様にお
いて実施されるかを簡潔に示すものである。 このフローチャートから判るように、CPU又はバス・
コントローラは、要求側ユニットの要求を諸バスの全て
に散布し、それによって要求側ユニット及びバス・コン
トローラのいずれも宛先のユニットが結合された特定の
バスの識別を与えられなくてもよいようにする。これは
、諸バスの内の任意のバス上のデータを取扱うユニット
がそれらバスの内の任意のバス上の別のユニットと通信
できるようにする。本発明については頭書の特許請求の
範囲において特に規定される。 本発明の前記およびその他の目的および長所については
、添付図面に関して以下の記述を照合すれば理解されよ
う。〔目次〕 望ましい実施態様の説明 A 説明における約束 B システム・バスの概要 C 中央処理システム(CPU)の説明 a CPUの主要構成要素 b プログラミングの考察 ィ ソフトウェア可視レジスタ ロ ワードおよびアドレスの書式 ハ主メモリー D CPUおよびシステム・バスのインターフェースa
システム・バスA b システム・/ゞスB E CPUのハードウェアの説明 a マイクロフ。 ロセサb システム・バスの制御 c 制御パネル d 基本のシステム・タイミング e システムの初期化 F システム・バスの操作 a メモリー・アクセス b メモリー・リフレツシユ c l/○コントローラに対する機能コードd DMC
データ転送要求e DMAデータ転送要求 f l/0コントローラ割込み g 入出力命令の実行 ィ チャネル番号 ロ 1/0機能コード i 出力機能コード指令 ii 入力機能コード指令 ハ ソフトウェア入出力命令 i l○命令 ii lOLD命令 iii lOH命令 ニ トラップおよびソフトウェア割込み j ソフトウェア割込み ii トラツプ G ファームウェアの概要 a ファームウェア・フローの概説 b ソフトウェア割込み、トラツプ・ハードウェア割込
みの対話イ ソフトウエア・フ。 ログラムロ フアームウエア・マイクロプログラムハ
ソフトウェア割込み、ハードウェア害旧み、およびトラ
ツプi ソフトウェア割込み 11 ハードウェア割込み iii トラツフ。 ニ 割込およびトラツプ 日 CPUファームウェア・ワードの説明a スクラッ
チパッド・メモリーの制御 b 演算ロジック・ユニットの制御 c 副指令および制御 d 読出し専用記憶アドレス指定 1 1/0コントローラ・ロジックの詳細a l/○コ
ントローラ・デバイス・oジツクイ 指令ロジックロ
タスクおよび構成ロジック ハ 割込みロジック ニ 状態およびデバイスの識別ロジック ホ データ転送ロジック ヘ アドレスおよび範囲ロジック b l/○コントローラ・タイミング・ロジツクc l
ノ○コントローラ要求ロジック d l/○コントローラ割込み要求ロジックe l/○
コントローラ要求リセツト・ロジックf DMAIOC
要求およびリセット・ロジックJ I/○コントローラ
・システム・バス要求およびリンク・ロジックの要約K
CPUロジックの詳細 a 制御ストア・ロジックの詳細 ィ ROSアドレス生成ロジック ロ ハードウェア割込みロジック i 主メモリーのリフレッシュ時間切れロジック ii 主メモリーのパリティ・ェフー・ロジツクiii
不在メモリ−検出ロジック ハ ソフトウェア割込みロジック ニ ブートPROMロジック b CPUロジックの詳細 イデータ・トランシーバ・ロジック ロ スクラツチ/ぐンド・メモリー・ロジツクハ /
ゞイト・スワッピング・ロジックニ マィクロプロセサ
およびデータ選択ロジツクホ 1、MIおよびFレジス
夕・ロジックへ バス指令ロジック i l/○指令ロジック ii 進行中および使用中のロジック iii 読出し/書込みバイト・ロジックiv メモリ
ーGOロジック L 主メモリーの説明 a システム・/ゞス・インターフエースイデータ・ワ
ード 。 アドレス・ワードb 王メモリーの構造の概要 c モジュールの物理的/構造的特性 ィ モジュール・アドレス指定 d メモリー保管ユニット e 主メモリーの機能の概要 イ主メモリーのタイミング ロ 主メモリー・モジュール i タイミング・ゼネレータ 11 一5ボルト・ゼネレータ 餌 電源故障ロジック iv RAMアドレス制御および分配ロジックv セグ
メント選択ロジック W データ・イン/データ・アウト・レジスタ 肘 パリティ・ゼネレータおよび検査ロジツク 価 議出し/書込み制御ロジック 1×リフレツシュ・ロジック x チップ選択ロジック f 主メモリーの要約 〔望ましい実施態様の説明〕 A 説明における約束 本発明のシステムにおいては、2進数字(ビット)を表
示する電気信号は、種々の論理ゲート又は他の回路素子
に対して与えられかつこれから得られる。 以下の説明の簡明化のため、ビットを表示する信号とし
てよりも屡々ビットそれ自体について述べられる。更に
、簡明化のため、種々の論理ゲートおよび回路素子を結
ぶ回線を示すため信号名称を屡々使用.する。これ等の
信号は時に1群の文字又は番号により示される。例えば
、第14図においては、右上部のBCYCOT−はNA
NDゲート295により出力される信号を識別する。1
群の文字は屡々十符号又は一符号が後に続く。 十符号は、信号が2進数1(即ち、真)を示す時はハィ
のレベルの信号であることを意味し、一符号は信号が2
進数零(即ち、偽)を示す時ローのレベルの信号である
ことを意味する。ある場合には、十符号又は−符号の後
に複数の文字又は番号を付して名称の始めが同じ類似の
信号名称を区別する。例えば、第43図において、信号
PROCED−はデコーダ244一3から出力され、信
号PROCED−2Aはィンバータ546により出力さ
れ、信号PROCED−20はNORゲート550‘こ
よって出力される。 意味が明らかである時には、この十符号又は一符号又は
他の修飾接尾辞(文字又は番号)は屡々少略される。例
えば、第39図(その1)においては、接尾辞BAおよ
びBBが信号RDDT29十から省略され、1/0コン
トローラがシステム・バスAに接続されるならば信号は
RDDT29十BAとなり、又1/0コントローラがシ
ステム・バスBに接続されるならば信号はRDDT29
十BBとなることを意味する。他の場合において意味が
明瞭であれば、文字「X」を信号に用いていくつかの信
号の内の1つを表示する。例えば、第39図(その1)
において、もし1/0コントローラがシステム・バスA
に接続されると信号名称PINTRX−およびPIOC
TX−は信号P瓜TRIおよびPIOCTA−を示し、
1/0コントローラがシステム・バスBに接続されると
これ等の信号は信号PINTR2一およびPIOCTB
−を示す。ある場合には、最初の信号名称の後に/・ィ
フオンを用いその後に最後の信号名称の接尾辞をおくこ
とより一連の信号を示す。例えば、第42図(その2)
においては、レジス夕242の出力は、RDDTOO+
乃至RODT47十と呼ばれる48の信号である。簡潔
のため、論理ゲートはAND、OR、NANDおよびN
ORゲートと呼ばれる。 ANDゲートとNANDゲートの相異は、NANDゲー
トは図中その出力回線における小さな円で示されるィン
バータを有することである。出力回線におけるィンバー
タの存在は、NORゲートとORゲートの識別のために
も用いられる。ゲートの入力回線上のィンバータは論理
ゲートに付された名称に何の影響も及ばさない。例えば
、第42図(その1)においては、ゲート591はAN
Dゲート、ゲート594はNANDゲート(反転出力)
、ゲート584と594はNORゲート(引用に際し共
に反転出力を有し、そしてゲート584の入力のィンバ
ー夕は無視される)と呼ばれる。又、例えば、他の表示
がなければ、正の出力のためには正の入力を要求するロ
ジックを用いるものとする。 即ち、例えば、母NDおよびOR回路の如き論理回路は
、出力側に/・ィ・レベルの信号を生じるため入力側に
ハイの信号レベルにより操作される。ハイでない論理レ
ベルはローと呼ばれる。B システム・バスの概要 システムのブロック図は第1図に示される。 中央処理ユニットP(CPU)200はシステム・バス
を制御する。このシステム・バスは、システム・バスA
202およびシステム・バスB204と呼ばれる2つの
バスからなる。システム・バスA202とシステム・バ
スB204は、CPU200と、入出力(1/0)コン
トローラ206,208,210および2.12と、主
メモリー又は1/0コントローラ241,216,21
8および220と、メモリー保管ユニット222を相互
に結合するため使用される。簡素化のため、第1図は各
システム・バスに接続された4つの主メモリー又は1/
0コントローラのみを示す。 望ましい実施態様においては、システムの物理的実装(
使用可能な印刷回路板のスロット)が許容すれば、各シ
ステム・バスに対して8つ迄の1/0コントローラが接
続可能である。以下で明らかになるように、システム・
バス当りの1/0コントローラの数を8つに制限するの
はタイミング上の配慮によるもので、システム・タイミ
ングが変化するとき許容されるシステム・バス当りの1
/0コントローラ数は多くなったり少なくなったりする
。制御パネル201は直接CPU200に接続される。 システム・バスB204はシステム・バスA202と類
似するが、システム・バスBはシステム・バスAには存
在しない別のメモリー制御信号を含む。従って、システ
ム・バスAには1/0コントローラだけしか組込むこと
ができないが、システム・バスBに対しては主メモリー
又は1/○コントローラを接続することができる。これ
等システム・バスに接続された1/0コントローラは、
これらコントローラに接続された周辺デバイスの動作を
制御するために使用される。システム・バスBにのみ接
続し得る主メモリーは、CPUにより処理されるソフト
ウェア・プログラムの記憶に使用される。CPU200
に直結された制御パネル201は、システムの動作の開
始、監視および指揮のためシステム・オペレータによっ
て使用される。 任意選択のメモリー保管ユニット222がシステムの揮
発性半導体ランダム・アクセス主メモリーに対しDC電
圧を提供する。正常な電源状態においては、メモリー保
管ユニット222は、局部シス・テム電源(図示せず)
により供給されるDC電圧により作動し、この電源は充
電可能バッテリを完全充電状態に維持し乍ら所要のメモ
リー電圧を発生する。停電中は、給電されている主メモ
リーの量に従って例えば5乃至1び分の期間バッテリ給
電を行うことにより、揮発性の半導体主メモリーの内容
を保持するための緊急能力をメモリー保管ュニット22
2が提供する。第1図に示したシステムは、主メモリー
、1/○コントローラおよび周辺デバイスの種々の組合
せを選択することにより種々の特定の形態に構成するこ
とができる。 このようなシステム構成の一例を第2図に示す。この第
2図において、システム・バスA202およびシステム
・バスB204に接続されたCPU200を有するシス
テム構成の例が示される。第2図は、6巡(IK=lo
24)0ワードの主メモリーと、4つのデイスケツト周
辺デバイスと、ライン・プリンタと、4つの通信回線と
、制御卓デバイスと、プリンタとを下記の如く接続した
中央プロセサ・ユニット(CPU)を示す。4舷ワード
を含む主メモリー1,241‐1と、1雌ワードを含む
主メモリー2,216−1はシステム・バスB204に
接続されている。 メモリー保管ユニット222も又システム・バスB20
4に接続される。システム・バスA202およびシステ
ム・バスB204はCPU200に接続され、制御パネ
ル201はCPU200と直結される。デイスケット周
辺デバイスー,207−1及び2,207−2はデイス
ケツト・コントローラ1,206一1を介してシステム
・バスA202に接続される。ディスケット周辺デバイ
ス3,221−1と4,221一2はデイスケツト・コ
ントローラ220−1を蚤てシステム・バスB204と
接続される。通信回線1および2は通信コントローラ2
10一1を介してシステム・バスA202と接続される
。プリンタ周辺デバイス209はプリンタ・コントロー
ラ208−1を介してシステム・バスAと接続される。
制御卓周辺デバイス213は制御卓コントローラ212
一1を介してシステム・バスA202と接続される。異
なった図面において同一番号を付した素子は同一の素子
を示し、例えば、第2図の制御パネル201は第1図の
制御パネル201で示されたものと同じ素子を示す。C
中央プロセサ・ユニット(CPU)の説明中央プロセ
サ・ユニット(CPU)は、システム内の制御素子とし
て設計されたファームウェアにより管理されるプロセサ
である。 このCPUが含む内部バスは2つのボート則ちシステム
・バスA及びシステム・バスBとを有し、これらはCP
U、1/0コントローラおよび王〆モリー(第1図およ
び第2図に示す)を相互に接続する。システム・バスの
ハードウェアと結合されたCPUフアームウエアは、1
/0コントローラおよび主メモリーの転送の制御を行う
。任意のソースからのデータはCPUファームウェア指
令によりシステム・バス上におかれ、主メモリーのアク
セスがこのCPU又は1/0コントローラいずれのため
に実施されていようとも主メモリーのアクセスがCPU
によってしか開始できない。このように、システム・バ
スの使用に対する要求の競合を解消するため各コントロ
ーラおよび主メモリー内に優先順位解決ロジックを設け
る必要がなくなる。CPU I/○構成は、2つのタイ
プの1/0チャネル即ちデータ多重制御(DMC)チャ
ネルと直接メモリー・アクセス(DMA)チャネルにお
ける主メモリーと1/0コントローラとの間の対話を支
持する。 DMCとDMAのいずれかのタイプのチャネルに対し、
システムは次データ・アドレス(即ち、1/0コントロ
−ラを介して周辺デバイスとの間で転送される次のユニ
ット情報が主メモリーから読出されあるいはこれに書込
まれるところの主メモリー内のロケ−ションのアドレス
)とおよび1つの範囲(レンジ)とを維持する。 この範囲は、CPUを介する主メモリーと1/0コント
ローフ(周辺デバイス)との間で転送されるべき情報ユ
ニットの数のカウントである。望ましい実施態様におい
ては、主メモリーは2つの8ビット・バイトを含むワー
ド‘こ構成される。次データ・アドレスはバイト・アド
レスとして指定され、範囲は転送されるべきバイト数と
して指定される。DMCチャネルに対しては、CPUが
CPU常駐スクラツチパッド・メモリー(SPM)内に
範囲および次データ・アドレスの情報を保持し管理する
。 DMAチャネルに対しては、範囲および次データ・アド
レスが1/0コントローラ内に局所的に維持される。1
ノ○コントローラは、専らシステム用に設計され、DM
Cタイプ又はDMAタイプのいずれかである。 チャネルの割当ては、ソフトウェア1/0命令における
チャネル番号による。CPUは予め定めた数のDMC入
出力チャネル対を支持し、こ)で各入出力チャネル対は
1つの入力チャネルと1つの出力チャネルを有する。例
えば、望ましい実施態様においては64の入出力チャネ
ル対があり、これ等はDMC I/○コントローうによ
ってしか使用できない。しかし、DMCチャネル番号は
、DMA又はDMCタイプの1/0コントローラに割当
てられるが、同じシステム内でその両方に割当てられる
ことはない。CPUが支持するオペレーティング・ソフ
トウェアは、可視レジスタと、データ書式と、命令セッ
トと、トラップおよび割込みの諸動作を含む。 オペレータ・インターフェースは制御パネルと制御卓周
辺デバイスを介する。制御パネルは、オペレータのアク
セスがシステムを初期化することを可能にする。CaC
PUの主要構成要素 CPU機能領域の主要ブロック図は第3図に示され、以
下の節において説明する。 制御ストア23川まCPUのコントローラ素子である。 これは、ファームウエア・マイクロプログラムを記憶す
る謙出し専用メモリーを含む。これ等のファームウェア
・マイクロプログラムはCPU動作の制御に必要な機能
を保有する。この領域に含まれるのは、ファームウェア
・マイクロプログラムを順次進行させステップ毎にハー
ドウェアに指令を発するのに必要な全てのアドレス指定
および復号ロジックである。マイクロプロセサ232は
CPU内の主要な処理素子である。 これは全ての演算、比較、論理積の諸操作を行い、専ら
ファームウェア・マイクロ命令指令により制御される。
1/0システム・バス領域234は、CPUが1/0コ
ントローラと通信するのに必要な全てのドライバ/レシ
ーバ、および制御回路を含んでいる。 2つのバス、即ちシステム・バスAおよびシステム・バ
スBが使用可能である。 主メモリーはシステム・バスB204にのみ接続できる
。システム・バス領域234はハードウェアおよびファ
ームウェアのマイクロ命令指令によって制御される。ス
クラツチパツド・メモリー236は、CPUデータに対
する一時的記憶を提供する読出し/書込みメモリーであ
る。 このメモリーには、DMCチャネルに対する範囲および
アドレス情報およびCPU動作に必要な種々の作業レジ
スタが保持される。このスクラツチパツド・メモリー2
36はファームウェア・マイクロ命令指令により制御さ
れる。Cb プログラミングの考察 本項では、ソフトウェア可視の種々のCPUレジスタに
ついて説明し、CPUにより使用される種々のデータお
よびアドレス書式を定義する。 Cbイ プログラム可視レジスタソフトウェア命令セッ
トを使用するプログラマーから可視である18の中央プ
ロセサ・レジスタがある。 各レジスタの書式および有意ビットは第4 J図に示さ
れる。これ等のレジスタは下記の如くである。ソフトウ
ェア可視レジスタ 7ワードのオペランド・レジスタRI〜R7。 その内の3つは又指標レジスタRI〜R3である。これ
等のレジスタは各々16ビットのものである。8アドレ
ス・レジスタBI〜B7およびP。 これ等のレジスタは各々16ビットである。マスク(M
I)レジスタ(8ビットは追跡トラップ付勢およびオー
バーフロー・トラツブ付勢を制御する)。 標識(1)レジスタ(8ビット:オーバーフロー、将来
の使用のため予約される(RFUは不便用)、キヤリー
・アウト、ビット・テスト、1/○、より大きい、より
小さい、および不等の記号)。 状態(S)レジスタ(16ビット:特権モード・ビット
、プロセサID(4ビット)、優先順位レベル数(6ビ
ット))。 Cbロ ワードおよびアドレスの書式 この項は、中央プロセサ・ユニットにより使用される、
第5図に示された種々のワードおよびアドレスの書式を
規定する。 ビット又はバイトの如き全てのデータ・ワード要素は1
6ビットの主メモリー・ワード‘こ基く。 各ワードの書式は左から右へ規定し、最初のビットに0
を最後のビットに15の番号を付す。主メモリー・デー
タ要素は命令によって、ビット、バイト、ワード又は多
重ワード・データの項目レベルでアクセスできる。これ
らあらゆる場合、左端の要素はワードの最上位要素であ
り、例えばビット0は最初のビット、ビット1は第2の
ビット、ビット0乃至7は最初のバイト、ビット8乃至
15は第2のバイト・・・・・・…である。多重ワード
項目は連続したワード・ロケーションを必要とし、最も
小さいアドレスは左端、即ちデータ項目の最上位の部分
として定義される。アドレス・ポインタは、ビット、バ
イト、ワード又は多重ワードのデータ項目を指示するの
に使用される。 このアドレスは、データ項目の最も左方で最も上位の要
素を表示する。1つの配列内ではデータ項目が左から右
へ番号を付される。 CPUアドレス、アドレス・レジスタおよびプログラム
・カウンタは16ビットおよび記憶ワード・アドレスを
含む。いずれのアドレス・フィールドの最も右側のビッ
ト(ビット15)もワード・アドレスの最下位のビット
であり、全てのアドレス・フィールド‘こは符号は付さ
ない。システムは12雛バイト(Kコ1024)迄をア
ドレス指定するよう構成することができる。DMCデー
タ要求に対するバイト依存アドレスはCPUスクラツチ
パツド・メモリーにおいて17ビット・アドレスとして
記憶される。その最下位ビット(ビット16)は、バイ
ト1がアドレス指定される時セットされる。1つのメモ
リー・ワードおよび1つのメモリー・バイトに対するア
ドレス書式を第5図に示す。 Cbハ 主メモリー 主メモリーは、最小4KW(キロ・ワード)から最大6
4KW迄に構成することができる。 メモリーは読出し/書込みランダム・アクセス・メモリ
ーからなる。主メモリーはシステム・バスBに取0付け
られたメモリー・ボードに含まれる。主メモリーのサイ
ズは必W単位で増大することができ、最小の4KWの主
メモリーは最下位の4KWアドレス空間に構成される。
CPU‘こおけるメモリー・サイズ・スイッチは、CP
Uが不在の主メモタリーの参照を試みるメモリー・アド
レスを検査できるように、システム内に構成された主メ
モリーのサイズと対応するようセットされねばならない
。以下に詳細に論述するように、CPUは、アクセスが
CPUのために行われつ)あるか(ソフ0トウェア命令
又はデータに対する)、DMA又はDMCの1/0コン
トローラのために行われつ)あるか(周辺デバイスに出
入りするデータに対する)にかかわらず、全てのメモリ
ー・アクセスに関して不在の主メモリーへの参照を検査
する。D CPUおよびシステム・バスのインターフェ
ースシステム・バスを備えた中央プロセサに対する2つ
の外部インターフェース、即ちシステム・バスAインタ
ーフェースおよびシステム・バスBインターフェースが
ある。 このシステム・バスAおよびBは、システムのシャシー
の一部であり、CPU、主メモリー又は1/0コントロ
ーラ間に通信経路を提供する。 これ等のシステム・バスは又コントローラおよび王〆モ
リーに対して配電する。システム・バスAおよびBは殆
んど同じで、それぞれ約50のワイヤ則ち信号を含む。
その異なる点は、システム・バスBが、システム・バス
Aにおける絹をなす信号の外に主メモリー・インターフ
ェースを有することである。信号のリストについては第
6図を参照され度い。Da システム・/ぐスA システム・バスAは、配電し、そしてシステムのシャシ
ーのシステム・バスA側のバス・コネクタに挿入された
各1/0コントローラ(IOC)とCPUとの間にデー
タ転送および割込みのための通信経路を提供する。 CP山ま、システム・バスの使用を制御し、別々の時間
基準でサービス要求サイクルを割当てる。システム・バ
スAにおける各IOCは、前記1/0コントローラに対
し唯一でありかつシステム・バスAにおける1/0コン
トローラの位置(CPUに対する)の関数である時間に
おいてのみ(データ転送又は割込みの目的のため)サー
ビス要求をすることを許可される。システム・バスAと
Bの作用については以下に説明する。第7図はシステム
・バスAにおける信号を示す。 システム・バスAは、CPUに対して特有の2つの信号
M旧MVAL,BWAC60を有する。これ等の信号は
、システム・バスAのCPUのシャシー・スロット・コ
ネクタにのみ存在する。このバスにおける他の全ての信
号は、2つの位置を除いて各バス・コネクタの同じピン
上にある。1つのバス・コネク夕のBCYCOT−BA
信号(システムAのサイクル・アウト時間)ピンは次の
バス・コネクタのBCYCIN−BA信号(システム・
バスAのサイクル・ィン時間)ピンに配線される。 このように、優先順位タイミング信号はバス上の1つの
IOCから次のIOCに送られる。第6図は、システム
・バスAおよびB上の各信号の機能およびソースを示し
ている。Db システム・バスB システム・バスBは、配電し、そしてシステムのシステ
ム・バスB側のバス・コネクタに挿入された各主メモリ
ー・ボード又は1/0コントローラとCPUとの間にデ
ータ転送および割込みのための通信経路を提供する。 システム・バス8はシステム・バスBと類似している。
然し、このシステム・バスは、システム・バスAには存
在しない3つの追加の主メモリー制御信号PMEMG○
,PMFRSH,P茂FMDを含む。従って、主メモリ
ー・ボードは、システムのシステム・バスBの側のシャ
シーのスロットにのみとり付け得る。他の全てのシステ
ム・バスBの信号はシステム・バスAと類似するが、別
々の組のドライバによって駆動される。CPUシャシー
・スロット・コネクタに特有な信号は全くシステムリゞ
スBには存在せず、各信号はシステム・バスBにおける
全てのシャシーのスロット・コネクタに与えられる。シ
ステム・バスAおよびBの動作および制御については以
下に説明する。第6図は各システム・バス信号の機能お
よびソースについて示している。システム・バスAの場
合における如く、システム・バスBにおける各1/0コ
ントローラは、前記IOCに特有のものでありかつシス
テム・バスBのIOCの位置(CPU‘こ対する)の関
数である時間においてのみサービス(データ転送又は割
込みのための)の要求を許可される。主メモリーは、シ
ステム・バスBにおかれるが、サービス要求を行わず、
システム・バスBにおける1/0コントローラによる使
用のため優先順位タイミング信号BCYCOT−BBお
よびBCYCIN−BBを依然として伝えなければなら
ない。システム・バスA又はBのいずれか一方において
一時に唯1つの1/0コントローラしかサービス要求を
行えないが、システム・バスAおよびシステム・バスB
において同じ相対的(時間スロット)位置にある2つの
1/○コントローラにより同時に2つのサービス要求が
なされ得る。例えば、第2図によれば、システム・バス
Bにおけるデイスケツト・コントローフ2,220一丁
は、システム・バスAにおけるプリンタ・コントローラ
208−1がDMCデータ要求を行うのと同時のシステ
ム・バス要求間の優先順位は、未完でありまだ応答され
ていない他の先のシステム・バス要求と共に、以下に述
べる如くCPUによって解決される。システム・バスA
におけるプリンタ・コントローラ208ーーはCPUも
こ関して第2の物理的バス・コネクタ・ス。 ットおよび第2のバス要求時間スロットにあるが、デイ
スケツト・コントローラ2,220−1はCPUに関し
て第4の物理的バス要求時間スロットにあるがシステム
・バスBの第2のバス要求時間スロットにあることが判
る。物理的バス・コネクタ・スロットとシステム・バス
Bにおけるバス要求時間スロットとの間の差は、各主メ
モリー・ボードが1つの物理的バス・コネクタ・スロッ
トを占めるがバス要求時間スロットを占めないという事
実に因る。その理由は、主メモリーが決してこのシステ
ム・バスを要求しないためである(即ち、主メモリーは
システム・バスにおいてどのデータ転送も開始せず、従
って優先順位タイミング信号BCYCOT−BBおよび
BCYCIN−BBは主メモリー・ボードによって遅延
される必要はない。E CPUのハードウェアの説明 CPUのハードウェアのブロック図は第8図に示される
。 主要なCPU機能領域 CPUのハードウェアは4つの主な領域に分けられる。 即ち、第3図に示す如く、制御ストアと、スクラツチパ
ツド・メモリーと、マイクロプロセサと、1/0システ
ム・バスである。以下の項は各領域にある構成要素をブ
ロック図レベルで説明する。制御ストア 第9図において、制御ストア230‘まシステムにおけ
る主要な制御素子である。 これは、ファームウェア・マイクロプログラムを含む読
出し専用言己除くROS)メモリーと、これ等のマイク
ロプログラムの解釈に必要な関連するアドレス指定およ
び復号ロジックからなる。ファームウェアは・ソフトウ
ェア制御プログラミングとシステムのハードウェア動作
との間のIJンクである。ファームウェアは、制御スト
アと、スクラッチパッド・メモリーと、マイクロプロセ
ッサと、1/0システム・バスの全ての諸動作を制御す
るあらゆる機能を有する。これ等のマイクロプログラム
は、ある論理的順序に配置されたファームウェア・ワー
ド(マイクロ命令)からなる。各々のファームウェアの
マイクロ命令ワードは48ビットの符号化データを含み
、これは復号される時特定のハードウェア操作を生じる
。500ナノ砂毎に、1つのファームウエア・ワードは
ROSメモリーからサイクル・アウトされ、復号されて
次のファームウェア・アドレスを決定し、そしてマイク
ロプロセサとスクラツチパツド・メモリーとおよび1/
0システム・バスとに対して特定の指令を発生する。 ファームウェア・マイクロプログラムを順次実行するこ
とにより、ハードウェアの諸動作は所望のCPU操作を
行うため適正な順序で実施される。多くのファームウェ
アのマイクロプログラムは、1つのハードウェア活動(
即ち、制御パネル操作、割込みのサービス)又は1つの
ソフトウェア命令の実行のため実行され得る。ファーム
・フローの概要およびファームウェア・ワードの説明に
ついては以下に行う。CPUハードウェアの説明を助け
るため制御ストアの中間規模のブロック図を第9図に示
し、各フロックについては以下の項において説明する。 次に第9図において、ファームウェアはIKロケーショ
ン×48ビットの議出し専用ストア(ROS)メモリー
238に記憶される。 各ロケ−ションは、工場においてROSメモリーに恒久
的に書込まれ変更不能な1つのファームウェア・ワード
を記憶する。1つのアドレスがこのROS〆モリーに与
えられると、対応するファームウェア・ワードが読出さ
れる。ブートPROM240はIK×8ビットのROS
〆モリーであり、ブートストラツプ操作の間だけ使用さ
れる。 これは、初期化の間主メモリーにロードされるソフトウ
ェア命令を含んでいる。ブートPROM240の出力は
正規のファームウェアROSメモリー238の出力のビ
ット24乃至31に対してワイアドOR結合される。ブ
ートストラップ操作の間、このブートPROMが付勢さ
れて正規ROSのビット24乃至31が消勢される。局
部レジスタ242は48ビットのレジスタであり、RO
Sメモリーからアドレス指定されたファームウェア・ワ
ードを受取る。このデータは時間PTIMEOにおいて
ストローブ入力され、500ナノ秒のCPUサイクルの
始めを表示する。デコーダ244はマルチプレクサおよ
び復号ロジックの回路網であり、局部レジスタ242に
現在記憶されているファームウェア・ワードに従って特
定のハードウェア指令を生じる。指令デコーダ244の
出力は、制御パネル201と、制御フロップ258と、
雑用フロップ264と、他のCPUロジック(第8図参
照)とに配分される。。デコーダ244は制御パネル2
01における種々の指示灯を制御する。制御フロツプ2
58は、マイクロ命令制御下でCPUファームウェアに
より直接セットされテストできる4つのフロツプCFI
乃至CF4からなる。 これ等のフロツプは、ファームウェア・ステップ間のあ
る一定の条件を記憶しそしてテストするために使用され
る。例えば、制御フロツプ3CF3はCPUファームウ
ェアによりDMCデータ転送シーケンスの間使用されて
、どのシステム・バスA又はBにデータ転送を要求する
1/0コントローラが配置されているかを想起する。雑
用フロツプ264は、CPUファームウェアによって直
接セットおよび(又は)テストが可能な他のフロツプか
らなる。 このフロツプ群に含まれるのはファームウェア監視タイ
マー(MDT)フロップと、ファームウェア実時間クロ
ック(RTC)フロツプと、電源故障フロップとがある
。又この雑用フロップ264の群にはPCLEARフロ
ツプとPDMCIOフロツプとがあり、これらはCPU
ファームウェアにより使用されて、進行時間中応答する
1/0コントローラによってセットされるシステム・バ
ス信号PBYTEXの状態を想起し、それによってCP
U指令シーケンス(第20図)の間CPUに対しその1
/0コントローラのタイプ(DMA又はDMC)を知ら
せる。 CPUは、入力アドレス又は入力範囲のCPU指令の間
PDMCIOフロップに記憶されたそのIOCタイプを
用いて、DMCIOCにおける場合のようにCPUのS
PM(スクラッチパッド・メモリ)プログラム・チャネ
ル表内にIOCのアドレスおよび範囲が見出されるか、
あるいはDMAIOCによりそこにおかれた後システム
・バスから受取られるかどうかを決定する。アドレス・
レジスタ246は現行ファームウェア・ワード・アドレ
スを記憶する10ビット・レジスタである。 その出力はROSメモリー238をアドレス指定するた
め使用される。次のファームウェア・ワード・アドレス
は各CPUサイクルの時庵歌TIME2においてこのレ
ジスタにクロックされる。制御ストア・アドレス・ゼネ
レータ248はROSメモリー238から謙出されるべ
き次のフア−ムウェア・ワードのアドレスを選択する。 全てのアドレスは分岐アドレスであり、現行ファームウ
ェア・ワード(マイクロ命令)から直援復号されるか、
ハードウェア割込みにより強制されることができる。フ
ァームウェア・ワードとCPUテスト条件から直接4つ
のタイプのファームウェア・アドレスが復号される(第
35D図参照)。 即ちm現行ファームウェア・ワードのビット38乃至4
7におけるファームウェア・アドレスへの無条件分岐(
UCB)、{2}32のファームウェア・テスト可能条
件の1つを選択して、選択された条件の真又は偽の状態
に従って2つのファームウェア・ロケーションの内の1
つへの分岐アドレスを生じるテスト条件に基く分岐(8
0T)(2通りのテスト分岐)、{3’選択されたテス
ト条件に基〈16通りの分岐を実施することによりソフ
トウェア命令OPコードおよびアドレス・シラブルと、
記憶された定数およびソフトウェア割込みを復号するた
め、ファームウェアにより使用されるメジャー・テスト
に基く分岐(BMT)(多重テスト分岐)、および{4
)ハードウェア割込み戻りレジス夕に記憶されたファー
ムウェア・アドレスへの分岐を生じ、ハードウェア割込
みファームウェア・シーケンスの完了時に正規のファー
ムウェア・フローに技るため使用される正規復帰(RT
N)(ハードウェア割込み復帰分岐)である。ハードウ
ェア割込み回路網25川ま、CPUによる即時動作が必
要とされる時、常に制御ストア・アドレス・ゼネレー夕
248に分岐アドレスを強制する。 ハードウェア割込みアドレスは各CPUサイクル毎に生
成でき、別のアドレスは各ハードウェア割込み条件に対
して生成される。このハードウェア割込み条件および優
先順位は第9図に示される。ファームウェアはどのある
いは全てのハードウェア割込み条件の検出も禁止するこ
とができる。もしハードウェア割込みが生ずれば、正規
の次のファームウェア・アドレスがハードウェア割込み
復帰レジスタ252に記憶される。ハードウェア割込み
復帰レジスタ252は10ビット中であり、ハードウェ
ア割込みが生じる時次の正規ファームウェア・ワード・
アドレスを記憶する。 このアドレスは、ハードウエア割込みシーケンスの完了
時に正規のファームウェア・フローに再び入るため使用
される。分岐オン・テスト回路網254は現行ファーム
ウェア・ワードを用いて32のファームウエア・テスト
可能条件の1つを選択し、制御ストア・アドレス・ゼネ
レータ248に対し選択された条件の真又は偽の状態を
通知する。 メジャー分岐回路網256は、BMT(16通り)分岐
が行われる時次のファームウェア・アドレスを生成する
。 現行ファームウェア・ワード(ビツト40,41,42
,43)は、〇Pコード、アドレス・シラブル、定常又
はソフトウェア割込み条件のどれが上記次のファームウ
ェア・アドレスの形成に用いられるかを表示する。ソフ
トウェア割込み回路257は、ソフトウェア処理に割込
むことが可能な諸条件を検出し、優先順位に基いて各条
件に対する独特なファームウェア・アドレスを生成する
。 ファームウェアはこれ等のアドレスを用いて割込み条件
をサービスする適正なファームウェア・ルーチンへ分岐
する。ソフトウェア割込み条件のテストのためのBMT
分岐は、主メモリからのソフトウェア命令取出しシーケ
ンスの始めにのみ実施されることに留意すべきである。
下表は、最高から最低への優先順位の順序でソフトウェ
ア割込み条件を含む。即ち、(1} データ操作の間オ
ーバーフローがCPUレジスタRI〜R7に生じ、その
レジスタがトラツプ付勢マスク・レジスタMIにその対
応ビットをセットさせる時の、レジスタ・オーバーフロ
ー・トラツプ。■ 電力損失が最小2ミリ秒間生じるこ
とを電源が検出する時の、電源故障。 ‘3} システム・バスAに取付けられた1/0コント
ローラが割込みサイクルを要求した時の、1/0割込み
システム・バスA。 ■ システム・バスBに取付けられた1/0コントロー
ラが割込みサイクルを要求した時の、1/0割込みシス
テム。 バスB、および{51 実時間クロックの更新に使用さ
れるAC回線信号から固定調時割込みを得る時の、タイ
マー割込み、である。 次に第8図において、スクラツチパッド・メモリー(S
PM)236は、CPU状態、1/0範囲およびDMC
チャネルに対するバッファ・アドレスの記憶のため使用
される256ロケーション×17ビットのランダム・ア
クセス・メモリーである。 これは又、データ、アドレス、固定情報および1/0バ
イトの転送のための一時記憶域を提供する。SPMには
、15作業ロケーション、CPU状態レジスタ、および
プログラム・チャネル表(PCT)が保持される。 SPMのロケーションの全てが使用される訳でない。 次に第10図のスクラッチパッド・メモリーのレイアウ
トについて述べる。15の作業ロケーション(16隻表
示のロケーション00乃至06および場所08乃至OF
)は一時記憶城として使用される。 これ等の作業。ケーションのある用途は、対メモリー転
送前の1/0データの一時記憶(先のプログラム・アド
レスを維持する)、およびDMCデータ転送の間バイト
・スワッピングのための中間記憶である。CPU状態レ
ジスタはSPMのロケーション07(16隻表示)であ
る。 このロケーションはソフトウェアにより直接アクセス可
能である。このロケーションは常に現行のCPU状態を
保持する。ビットの定義については第4図を参照され度
い。プログラム・チャネル表(PCT)はSPMの上位
(比較高いアドレス)の1280ケーションを占有する
。これはDMCチャネル操作の管理のため専らCP川こ
より使用される。プログラム・チャネル表の属性は下記
の如くである。即ち、‘1} 64のェントリからなり
、入出力チャネルが半2重(即ち、いかなる時点でも入
力モード又は出力モードのいずれかにある)であるため
各ェントリは入力チャネル又は出力チャネルのいずれか
として使用でき、従って入出力チャネル対当り唯1つの
ェントリが必要とされる。 {21各ェントリは17ビットのバイト・アドレスおよ
び16ビットの範囲からなり、2つの隣接するSPMロ
ケーションを占有する。 1つの1/0ロード(10LD)ソフトウェア命令がそ
の関連するDMCチャネルに指向される時、常に1つの
PCTェントリがロードされる。 1つのDMCデータ転送が生じる度毎に適当なPCTェ
ントリが更新される。 情報はPCTェントリからソフトウェア1/0命令を介
してDMCチャネルへ読出すことができ、次の1/0指
令良Pち、{1)入力アドレス、■ 入力範囲および(
31入力モジュ−ル、の1つをその機能コード・フィー
ルド‘こおいて指定する。スクラツチパツド・メモリー
は現行フア−ムウェア・ワ−ド(以下のフア−ムウェア
・ワードの説明参照)により直接制御される。 もしファームウェア・ワードのビット0が2進数1であ
れば、PM書込みはPTIME4において生じる。SP
M236に対するデータ入力は、内部バス260からバ
イト・スワッピング・マルチプレクサ262を介する(
第8図参照)。バイト動作においては、内部バス26川
こおけるワードの左バイトを操作する場合、マルチプレ
クサ262がSPM入力データの左右のバイトをスワッ
プ則ち交換する。DMCチヤネルについては、フアーム
ウエアがSPM内のPCTェントリ・アドレス・ポイン
タのビット16をリセットして、メモリー・ワードの左
バイトが操作されつ)あることを識別する。SPM内の
ロケーションのアドレス指定も又ファームウェアによっ
て制御される。PMアクセス・アドレスは、第8図のP
Mアドレス・マルチプレクサ294を介し第9図のデコ
ーダ244から作業場所および状態レジスタをアクセス
する時、ファームウェア・ワードから直接生じる。さも
なければ、PCTに対するアクセスが要求される時DM
Cチャネル番号が使用され、この場合はSPMアドレス
は第8図のSPMアドレス・マルチプレクサ294を介
してチャネル番号レジスタ296から生じる。DMCデ
ータ転送操作を行う時、CPUファームウェアはチャネ
ル番号の下位ビット(第24図のビット9)を用い、そ
れによって関連する入出力チャネル対に対するPCTェ
ントリに記憶されたアドレスおよび範囲を使用して入力
操作と出力操作のいずれが行われるべきかを決生定する
。Ea マイクロプロセサ 再び第8図において、CPUにおけるあらゆる活動はフ
ァームウェア制御のマイクロプロセサ232の処理能力
に集中する。 CPU内の全ての演算、比較、および論理積操作はマイ
クロプロセサ232により実行され、これは4蓮の4ビ
ットに分割されたマイクロプロセサからなり16ビット
のタ マィクブロセサを形成する。望ましい実施態様に
おいては、マイクロプロセサ232は、米国カルフオル
ニア州サニーベールのAdvance mlcroDe
vices社製の4タイプのAm2901マイクロフロ
セサからなっている。マイクロプロセサ232内0には
16ロケーション×16ビットのレジスタ・フアィル2
68と、8機能の16ビット中の演算論理装置(ALU
)266と、マイクロプロセサの諸能力を支持するため
必要なシフト・ロジックと雑用ロジックがある。タ マ
ィクロプロセサ232に対するデータ入力はデータ・セ
レク夕・マルチプレクサ269からの16ビット出力で
ある。 マルチプレクサ269は、SPM236の出力、内部バ
ス260、標識レジスタ270プラスMIレジスタ27
2の内容、又0は局部レジスタ242(第9図)からの
現行ファームウェア・ワードからの定数のいずれかから
データを選択できる。マイクロプロセサ232に対する
入力データは、レジスタ・ファイル268又はマイクロ
プロセサ内の作業レジスタに記憶でき、あるいはALU
266を経てマイクロプロセサの出力データとして内部
バス26川こ送ることができる。これは、マイクロプロ
セサに対するファームウェア入力によって決定される。
現行ファームウェア・ワードのビット8乃至19がマイ
クロプロセサを制御する(以下のファームウェア・ワー
ドの説明参照)。 これ等のビットは、ALUに対するデータ入力、ALU
が行うべき機能、およびALUの結果の行先を制御する
。このマイクロプロセサは、各CPUサイクル(本実施
例では500ナノ秒)でファーム・ワード‘こ従って新
らしい動作を行う。マイクロプロセサ232にはしジス
タ・フアイル268の16のレジスタが保持され、その
内の15がソフトウェア可視である(第11図参照)。 このマイクロプロセサに与えられる4ビット・アドレス
はしジスタ・ファイルをアドレス指定するため使用され
る。このアドレスは、機能レジスタ(FR)274から
、あるいはファームウエア・ワードから直接に選択が可
能である。FRレジスタ274は最初OPコードを記憶
し、次に種々のアドレス・シラブルおよび定数を保持し
、あるいはファームウェア・フローによって決定される
如く増減分できる。ファイル・アドレス指定のため、F
Rレジスタ274は3つのセクションFRO,タFR2
およびFR3に分割され、これ等のセクションの内のど
れか1つがマイクロプロセサのレジス夕・ファイル26
8のアドレス指定のため使用されるようファイル・アド
レス・マルチプレクサ276により選択できる。レジス
タ・ファイル26 Z8に対するデータ入力はALU2
66を介する。レジス夕・ファイル268の出力デー外
ま、現行ファームウェア・ワードにより決定された通り
ALU266、内部作業レジスタQ又は内部バス260
へ送ることができる。 Zマイクロプ
ロセサ232からのデータ出力は、内部バス2601こ
おけるシステム・バスAおよびBからのデータ入力レシ
ーバとワィアドOR結合される。従って、もシステム・
バスA又はBのレシーバのいずれかか付勢されるならば
、マイクロ2プロセサの出力が消勢される。しかし、マ
イクロプロセサ232からは常にファームウェア・テス
ト可能信号(ALU=零、SIGN、オーバフロー、キ
ヤli−)が出力される。マイクロプロセサ232に対
して入力データを2与えることの他、データ・セレクタ
・マルチプレクサ269の出力は、ファームウェア制御
下でMIレジスタ272および標識レジスタ270‘こ
ゲートされ得る。 データセレクタ269の出力の4ビットも又ファームウ
ェア制御下で品質論理テスト(QLT)レジスタ278
にゲートすることができる。QLTレジスタ278の出
力は、システムの初期化における品質論理テストの成否
の視覚的表示をデータ処理システムのオペレータに与え
るため使用されるCPUボード上に配された4つのLE
D標識の点灯を制御する。クロック281は、システム
全体で使用される種々のタイミング信号PTIM旧○乃
至PUIME4およびBCYCOTを与える。 (第14図および第15図参照)Eb システム・バス
の制御 第12図は、両システム・バスAおよびB、データ経路
および制御信号の生成を示す。 主な構成素子は、バス副指令デコーダ244とCPU内
部バス260と、各1/0システム・インターフェース
・データ/アドレス回線に対する別個のレシーバ284
,288とドライバ282,286と、CPUサイクル
・アウト時間ゼネレータ280である。ファームウェア
は、両システム・バスAとB上のデータ・フロー、およ
び16ビットのCPUの内部バス2601こおいて生じ
る転送を制御する。 各CPUサイクルの間、副指令デコーグ244は現行フ
ァームウェア・ワードを解釈し、サイクルの時間PTI
M旧1からPTIME4まで有効であるバス制御副指令
を生じる。これ等の復号された副指令は特定のデータ経
路を付勢し、ファームウェアにより要求される如くデー
タ転送を生じる。システム・バス上で行い得る対話は以
下においてシステム・バス動作の項で説明する。基本的
なシステム・バス制御は次の節で説明する。別個の副指
令は、システム・バスのレシーバ284と288のどち
らが付勢されて内部バス260‘こデータをおくかを決
定する。 もし両方のシステム・バスA,Bのレシーバ284と2
88が消勢されると、マイクロプロセサ232の出力が
内部バス2601こ転送される。もしデータが1/0コ
ントo−ラに送られると、CPUからシステム・バスへ
の適当なドライバ282又は286が付勢されて、内部
バス260‘こおけるデータを付勢されたシステム・バ
スのデータ/アドレス回線に対して転送させる。もしデ
ータがIOCからCPUへ転送されるならば、適当な付
勢1/0コントロo‐ラ・データ・ドライバ信号(PE
N既A−又はPENBSB−)が復号され、1/0コン
トローラを経て特定システム・バスにおける全ての1/
0コントローラに送られる。しかし、バス・アクセスを
要求したIOCのみがシステム・バスにデータを夕おく
。主メモリーがCPUにデータを転送する時は別の副指
令が生成される。主メモリーのデータを内部バスに転送
するためには適当なCPUレシーバ経路も又付勢されね
ばならない。前述の如く、全ての転送は内部バス260
を経0由する。 例えば、もしファームウェアが、データをシステム・バ
スA上のIOCからシステム・バスBの主メモリーへ転
送すべきことを決定するならば、このフアームウエアは
システム・バスAのIOCのデータ・ドライバ(信号P
EN既A−を介して)とシステム・バスAのレシーバ2
88とを付勢してロントローラから内部バス260へデ
ータを転送させる。もしこれが直接メモリー・アクセス
(DMA)転送であれば、ファームウェアは同時にシス
テム・バスBのドライバ282も付勢して内部バス26
0のデータを主メモリーに転送させる。もしこれカmM
C転送であれば、生じ得るバイト・スワッピングのため
内部バス・データが最初にSPM236(第8図)へ送
られる。以降のCPUサイクルの間、このデータはSP
M236からマイクロプロセサ232を介して検索され
、システム・バスBのドライバ282が付勢されて、デ
ータを内部バス260からシステム・バスB上の主メモ
リーに転送させる。CPUサイクル・アウト時間信号B
CYCOTを用いてIOCによるデータ転送又は割込み
のためのシステム・バスの要求を許可する。 これにより、一時に唯1つの1/0コントローラがCP
Uと通信することを確保する。この信号は4マイクロ秒
毎に生成され、各システム・バスを介してコントローラ
からコントローラへ伝播される。各1/0コントローラ
はこのパルスを受入れ、このパルスを次のコントローラ
(第13図参照)に送出する前に500ナノ秒間だけ遅
延させる。1/0コントローラがこの信号を遅らせる時
間は、この1/0コントローラに関してはサイクル・イ
ン時間と呼ぶ。 前に論述したように、主メモリーが決してデータ転送又
は割込み要求を行わないため、主メモリーはシステム・
バスにおけるサイクル・アウト時間信号は遅延させない
。その代り、主メモリーは信号BCYCOTを遅延させ
ずに次の主メモリー又はシステム・バスB上のIOCに
送る。サイクル・イン時間は、1/〇コントローラがシ
ステム・バス・アクセスを要求し得る唯1のインターバ
ルである。もしCPUファームウェアがアクセスを許可
すれば、CPUとその1/0コントローラ間のりンクが
形成されて、値の1/0コントローラがシステム・バス
にアクセスすることを阻止する。CPUおよびIOCが
リンクされるこの期間中、同じシステム・バス又は別の
システム・バスにおける他の1/0コントローラがそれ
らのサイクル・ィン時間中にシステム・バス要求を行う
ことができるが、CPUはこのシステム・バスに対して
はアクセスを許与しない。 このCPU−IOCリンクは、このリンクが解除される
迄ソフトウェアおよびハードウェアの割込みを禁止する
ことによりファームウェア制御下で行われる。このCP
U−IOCリンクを確立し維持するのは、ハードウェア
(およびソフトウェア)の割込みを禁止するようリセッ
トされたビットを有するデータ転送要求又は割込み要求
の処理に使用されるマイクロプログラムの各ファームウ
ェア・マイクロ命令ワードである。ハードウェア割込み
ビットがリセツトされた最初のマイクロ命令がCPU−
IOCリンクを確立し、その後そのビットをセットする
最初のマイクロ命令ワードがこのリンクを解除する。E
c 制御パネル 制御パネル(第9図の201)は直接CPUと結合し、
オペレータが手動にてシステムを初期化し、ブートロー
ドし、かつこれを始動することを許容する。 制御パネルは、初期化(ブ−トロード)シーケンスを開
始するため使用される押しボタン(瞬間形)スイッチを
含む。この初期化用押しボタンを押すと、スイッチはR
OSアドレス・レジス夕(第9図の246。制御ストア
・アドレス・ゼネレー夕248を介する)をリセットし
て初期化ファームウェア・ルーチンの分岐を生じる。こ
のスイッチは又両方のシステム・バス上の信号PCLE
AR−を瞬間的に接地して1/0コントローラに品質論
理テスト(QLT)を開始させる。Ed 基本システム
・タイミング 次に第14図において、基本システム・タイミングが1
0メガヘルツの発振器290から生成され、その信号則
ちPCLOCK−はクロック(C)入力の5ビットのシ
スト・レジスタ291に接続される。 シフト・レジス夕291は、米国テキサス州、ダラス市
のTexasInstruments社製のタイプSN
7496であり、参考として本文中に引用された「設計
技術者のためのTTLデータ・ブック」なる文献(第2
版)に記載される。シフト・レジスタ291はプリセッ
ト付勢(PE)入力に2進数零、クリア(R)入力に2
進数1、プリセット入力SI乃至S5に2進数零を有す
る。ANDゲート293の出力(信号PTIMIN+)
はシフト・レジスタ291の直列(D)入力側に接続さ
れる。シフト・レジスタ291の出力即ち信号PTIM
EO+乃至PTIME4キは、第15図に示される5つ
の等しい100ナノ秒期間に分割される基本500ナノ
秒CPUサイクルを生じるため使用される。これ等の時
間は特定の事象をストローブしゲートするためシステム
全体で使用される。PTIMEOはCPUサイクルの始
めを表示する。 アドレス指定されたファームウェア・ワードは制御スト
ア局部レジスタ242にゲートされ、そしてデコーダ2
44が付勢される(第9図参照)。PTIM旧1の始め
は全てのシステム・バス制御信号を付勢し、この状態は
PTIM旧4の終り迄維持される。反転される時PTI
MEIからPTIM旧4まで2進数1である信号PTI
MEO+は、副指令デコーダ244(第12図参照)を
介してシステム・バスおよび内部バス内の特定のデータ
経路を付勢する。PTIME2は、この時有効な次のフ
ァームウェア・アドレスを制御ストア・アドレス・レジ
スタ246(第9図参照)に対してゲートするため使用
される。 PTIME3はシステム・バス上の全ての1/0コント
ローラへ送られ、CPUおよび1/0コントローラを同
期させる。 バス・データはこの時有効である。PTIME4は主と
してCPUマイクロプロセサにより使用される。 マイクロプロセサ232およびスクラッチパッド・メモ
リー236内の情報のどの書込み又は記憶もこの時生じ
る(第8図参照)。次に第14図において、基本システ
ム・タイミング・ロジックの作用について簡単に説明す
る。 最初にシフト・レジス夕291の出力、信号PTIME
O+乃至PTIME4十が2進数零であり、又クロック
・ストール信号PFREEZ十が2進数零であってクロ
ックがストール即ち停止されるべきでないことを表示す
るものとすれば、ANDゲート293の出力(信号PT
IMIN十)は2進数1となる。シフト・レジスタ29
1の直列(D)入力側が2進数1であれば、発振器29
0からのクロック信号PCLOCK−の2進数零から2
進数1への遷移が生じると出力信号PTIMEI十を2
進数1にし、これが更にANDゲート293の出力(信
号PTIMIN+)を第15図に示す如くに2進数零に
する。発振器290からの夫々連続するクロック・パル
スにより、第11図に示す如く、シフト・レジスタ29
1の出力の1つは2進数1となり、他の4つの出力は2
進数零となる(2進数雫状態を維持する)。シフト・レ
ジスタ291の各出力はィンバータに与えられてタイミ
ング信号(即ち、信号PTIMEO+乃至PTIME4
一)の反転を生じる。簡単にするため、第14図には信
号PTIMEO+用のィンバータ297のみを示す。信
号PTIMEO十は又同期可逆2進カウンタ292に対
するクロツク(C)入力として使用される。カウンタ2
92は、米国テキサス州ダラス市のTexas lns
trments社製のタイプSN74SI6船であり、
前掲の文献に記載されている。カゥンタ292は、NA
NDゲート295と関連して使用されてCPUサイクル
・アウト時間信号8CYCOT−を発生し、この信号は
1つのシステム・バス当り唯1つの1/0コントローラ
のみが一時にそのシステム・バスに対する要求を行うこ
とを保証するため両システム・バスにおける1/0コン
トローラによって使用するため両方のシステム・バスA
およびBに与えられる。2進数零から2進数1の状態へ
の8つのPTIMEO+信号遷移をカウント・ダウンす
ることにより、カウンタ292はNANDゲート295
と関連して信号BCYCOT−を1つのCPUサイクル
時間(500ナノ砂)の間2進数零にし、その後7つの
CPUサイクル時間の間2進数1とする。 詳細には、カウン夕292のロード(L)入力は2進数
1にセットされ、その結果データ入力DI乃至D8は無
視され(即ち、カウンタのプリロードには使用されす)
、両カウント付勢入力PおよびTが2進教養にセットミ
れてカウント動作を付勢にし、可逆(U/D)入力が2
進数零にセットされてカウンタをカウント・ダウン・モ
ードにセットする。このように、クロック信号PTIM
旧0十の2進数零から2進数1の状態への最初の遷移が
生じると同時に、カウンタ292の4つの出力(信号B
CNTLI+乃至BCNTL8十)は2進数1となり(
零から2進数IS室カウント・ダウン)、NANDゲー
ト295の出力(信号BCYCOT−)が2進数零とな
る。信号PTIM旧0十の2番目の2進数零から2進数
1状態への遷移が生じる時に、信号BCNTLI十は2
進数零になりNANDゲート295の出力は2進数1と
なる。信号PTIMEO十9回目の2進数零からの2進
数1の状態への変換の発生までは、信号BCYCOT一
は2進数1の状態に留まり、この9回目の時に信号BC
NTLI十、BCNTL2十およびBCNTL4十が再
び全て2進数1となってその結果NANDゲート295
の出力が2進数零となる。CPUの1次(基本)時間信
号PTIM旧0乃至PTIME4とCPUのサイクル・
アウト時間信号BCYCOT−間の関係は第13図に示
す。次に第13図において、CPUのサイクル・アウト
時間信号BCYCOT−(最初のコントローラ・サイク
ル・ィン)は第2のCPUサイクルのPTIMEOの前
縁において2進数1から2進数零の状態に変り、第3の
CPUサイクルのPTIMEOの前緑において2進数零
から2進数1の状態に変ることが判る。このことは、P
TIME3−信号の後縁の発生と同時に2進数1から2
進数零の状態に変り、PTIME3−信号の次の後緑の
発生と同時に2進数零から2進数1の状態へ変る第2及
びそれに続くコントローフ・サイクル・イン(BCYC
OT−)信号と対照的である。 この差は、前述の如く、8番目のPTIMEO毎にカウ
ントすることによりCPUのサイクル・アウト信号を得
たことから生じ、一方各コントローラのサイクル・アウ
ト信号は信号PTIME3の後緑を受取ることにより得
られるが、前の(CPU側に隣接する)1/0コントロ
ーラからのサイクル・アウト信号は第40図に関して以
下に説明するように2進数零となる。適正に機能するよ
う実施される如き本システムに生じる必要条件は、ある
システム・バスの唯1つのIOCがTIME3の後緑に
会するが、その隣接するIOC(又はCPU)からのサ
イクル・アウト信号は2進数零であることである。各時
点において、システム・バスAの最初のIOCからシス
テム・バスA上の(例えば)第2のIOCによって受取
られる信号BCYCOT−が、システム・バスB上の最
初のIOCからシステム・バスB上の第2のICOによ
り受取られるBCYCOT−信号と同じ状態にあること
が判る。Ee システムの初期化 CPUは第16図に示す如くパワーアップ信号貝04ち
初期化信号に対して反応する。 次に第16図によれば、もし電源からのパワー・オン信
号の発生が検出されるならば、ブロック300において
CPU初期化シーケンスにェントリされる。 もし電源が既にONでありCPU制御パネル上の初期化
押しボタンが押されると、ェントリはブロック302か
らも行われる。フロツク304においては、マスター・
クリア信号が1/0コントロ−ラに送られてIOCにそ
れらロジックを初期化させることによりシステム・バス
AおよびBをクリアし、自蔵のIOC品質論理テスト(
QLT)を惹起する。 マスター・クリアは又CPUロジックも初期化し、フロ
ツク306に入る。フロック306は、制御ストアRO
S(第9図の238)のロケーション0でCPUファー
ムウェアを開始する。ブロック307においては、CP
Uフアームウエアは、シーケンスのエントリが初期化押
しボタン(即ち、ブロック302を介して)の押下げに
より開始されたかどうか、又そうであれば完全初期化が
行われてブロック312に入るかどうかを決定するため
テストする。もしシーケンス・ェントリがブロック30
0を介してパワー・オンの検出時になされたならば、ブ
ロック307からブロック308に入って、完全初期化
に至らない初期化が行われる。フロック308は主メモ
リーの内容が有効であるかをテストする(即ち、信号M
EMVAL−が2進数零であり、いかなる停電期間中で
も主メモリー・リフレッシュ電圧が維持されるようにメ
モリー保管ユニットが充電状態のバッテリを有すること
を示す。 )。もし主メモリーが有効であれば、限定された初期化
のみが行われればよく、フロック31川こ入って主メモ
リーのロケーション0への分岐を実行し、ソフトウェア
の実行が開始される。主メモリーのロケーション0はソ
フトウェア・スタート・アップ手順の最初のワードを含
む。次に、ブロック310はブロック324を出てソフ
トウェアを実行する。もし主メモリーが有効でなければ
、あるいはもしシーケンスのェントリが初期化押しボタ
ンによりなされたならば、完全初期化が行われてブロッ
ク312に入る。CPUフア−ムウェアQLT(第9図
のROSメモリー238に常駐)がブロック312にお
いて実行される。CPUファームウェアQLTが完了す
ると、フロック3 1 4に入り、ブートPROM(第
9図の240)におけるソフトェゥア・プログラムが主
メモリー(16隼表示のロケーション100乃至2FF
)へ転送されて実行される。ブロック316においては
、ブートPROMからロードされたソフトエウア・プロ
グラムの実行の結果、主メモリーのサイズの調べ、使用
可能な全ての主メモリーにおけるパリティ・テストの実
施、および拡張にPUQLTおよび1/0テストの実施
が行われる。ブロック318においては、拡張CPUの
ソフトウェアQLTテストの結果が検査される。もし拡
張CPUQLTによりエラーが検出されなければ、ブロ
ック320に入り、ソフトウエア・ブート・プログラム
がブート・ロード・デバイスから最初のレコードを主メ
モリーの。ケーション1 00(16隼表示)にロード
する。ブロック322においては、一たん最初のレコー
ドが主メモリーにロードされると、主メモリーのロケー
ション100への分岐が行われ、CPUが稼働してブロ
ック324において初期化シーケンスが完了する。もし
拡張CPUのソフトウェアQLTの結果エラーの検出が
なされると、ブロック318からブロック326に入り
、制御パネル上の制御パネル検査指示器が点灯状態を維
持し、CPUQLT指示器(CPUボード上のLED灯
)がエラーを表示する。次にブロック328に入り、C
PUが停止する。もしブロック324におけるソフトウ
ェア実行中に電源ブロック3301こより差し迫った電
源故障が検出されると、ソフトウェア実行が中断されて
ブロック332に入る。 ブロック332においては、CPUが、電源故障の時に
実行中のソフトウェア・プログラムの文脈保管を含む電
源故障割込みシーケンスを実施しようとする。文脈保管
の前に、CPUがシステム・バスをクリアしてこれ等の
バスを主メモリーのデータ転送に対するCPUの使用の
ため解放する。 文脈保管操作は、もし電源が維持されねばその情報を消
失する揮発性のCPUレジスタを停電期間中保持するた
め主メモリー内に記憶させるようにする。差し迫った電
源故障の検出の約2ミリ砂後に、主メモリーはCPU要
求への応答を停止してブロック334におけるソフトェ
ゥアの実行の停止を惹起する。十分な電力がない時もC
PUのファームウェア実行がブロック334で停止する
。その後ブロック300‘こおいて電源によるパワー・
オンの検出により、CPUはブロック334から出て、
主メモリーが停電期間中有効な状態を維持したかどうか
に従って、部分的初期化又は完全初期化を実施する。F
システム・バスの操作 システム・バスの操作は、システムに組込まれたCPU
と、1/0コントローラと、主メモリー間のアドレス、
データ、および制御情報の転送を行う(データ書式につ
いては、第17図参照)。 全てのシステム・バス操作はCPUタイミングおよびフ
ァームウェア・シーケンスによって制御される。本項は
、CPUが1/0コントローラ又は主メモリーと通信す
る時に生じるシステム・バスAおよびBにおける事象の
シーケンスについて記述する。システム・バスの操作は
CPU又は1/0コントローラのいずれかによっても開
始可能である。 CP山ま、下記理由からシステム・バス対話を開始する
。即ち、(1}全ての主メモリーのアクセス、■主メモ
リーのリフレツシュ、‘311/0コントローラに対す
る機能コード。1/0コントローラは下記理由からシス
テム・バス対話を開始する。即ち、{1}直接メモリー
・アクセス(DMA)データ転送、‘2}データ多重制
御(DMC)データ転送、および〔3’1/0コントロ
ーラ割込み。王〆モリーはシステム・バス対話を開始す
ることはない。全ての1/0コントローラが開始したバ
スの活動は別々の時間に基く。コントローフ・ロジック
のみが、この特定のバス上の他のIOCが既に同じタイ
プのバス・サイクル要求を行っていなければ、この1/
0コントローラの独自のサイクル・ィン時間中1つのバ
ス・サイクルをこのIOCが最初に要求することを許可
する(例えば、システム・バスB上のあるIOCが既に
回線PDMCR2を2進数零にセットしているならばシ
ステム・バスB上の別のIOCはDMC要求を行うこと
はできないが、回線PDMCRIを2進数零にセットす
ることによりシステム・バスA上の別のDMC IOC
が既にDMC要求を行ったと云う事がシステム・バスB
上のDMC要求を禁止することはない)。1/0コント
ローラのみがその独自のサイクル・イン時間中システム
・バスを要求することができるため、この1/0コント
ローラ内には優先順位回路は一切必要とされない。 2つの1/0バスが使用可能でありかつ1/0コントロ
ーラが異なる目的にためバスを要求することができるた
め、CPUは下記の如き最高から最低の優先順位におい
て反応する。 即ち、‘1}BバスがDM娘伝送を要求する。{2)A
バスがDMN転送を要求する。■AバスがDMC転送を
要求する。
【4}BバスがDMC転送を要求する。{5
’Aバスが割込みを要求する。‘6}Bバスが割込みを
要求する。第9図によれば、4つの最高優先順位のバス
要求(DMA/DMC転送)がハードウェア割込みとし
て取扱われ、ハードウェア割込み回路網250により取
扱われることが判る。2つの最低の優先順位のバス要求
(割込み)はソフトウェア割込みとして取扱われ、ソフ
トウェア割込み回路網258によって取扱われる。 各システム・バス操作はCPUファームウェア・シーケ
ンスにより制御される。 特定のファームウェア指令が1/0コントローラに対し
、所要の動作がシステム・バス上に発生されることを通
知する。これ等の1/0コントローラ指令はシステム・
バスのRDDT回線(第6図のRDDT29,RDDT
30,RODT31)上に発され、現行CPUファーム
ウェア・ワードから直接来る。ファームウェアが1つの
IOCに対して指令を発する時、符号化された指令がシ
ステム・バスRDDT回線上におかれ、指令ストローブ
回線(システム・バスA上のPIOCTA、又はシステ
ム・バスB上のPIOCTB、又はPIOCTAとPI
OCTBの両方。第7図参照)が2進数零に強制される
。これは、システム・バス上のIOCに指令を復号させ
て所要の動作を行う。第18図は、1つの1/0コント
ロ−ラに対して発し得る全てのCPUファームウェア1
/0指令を列挙している。以下において更に詳細に論述
する如く、第18図に示された1/0指令は、指令が指
向される1/0コントローラがシステム・バスAとBの
いずれかにあるかに関わらずシステムAとBの両方の回
線RDDT上に送られる。 指令が唯1のシステム・バスに対して送られねばならな
い場合、例えば、システム・バスB上の1つのIOCの
DMA要求に答える時、唯1つの指令ストローブ回線(
システム・バスA上のPIOCTA又はシステム・バス
B上のPIOCTB)が2進数零の状態にセットされ、
その結果そのシステム・バスのみの1/0コントローラ
が1/0指令と会することになる。CPUがIOC指令
をどちらかのシステム・バスにあるIOCに指向する他
の場合、例えば、IOCに対してCPU指令(CPCM
D)を開始する時、両方の指令ストローブ回線(PIO
CTAおよびPIOCTB)が2進数零にセットされ、
その結果全ての1/0コントローラが1/0指令に会す
る。Fa メモリー・アクセス 全てのメモリーアクセスはCPUファームウェアにより
生成される。 これはメモリーをアクセスするため本PUサイクル(合
計1マイクロ秒)を要する。第19図はメモリーに関し
データを転入出するのに必要な事象と信号のシーケンス
を示している。第1のCPU(500ナノ秒)のサイク
ルの間、書込みバイト信号が生成されるPWRTB1,
PWRTBO。 もしデータ左側のバイト(零)がメモリーに書込まれる
るならば、信号PWRTB川ま2進数1である。もしデ
ータの右側バイト1がメモリーに書込まれるならば、信
号PWRTBIは2進数1である。これ等の信号はDM
Aコントローラ又はCPUファームウェアから来る。い
ずれの場合も、これ等信号は最初のCPUサイクルの1
次時間1から1次時間4まで有効である。これ等信号は
1ワードの読出し又は関連するバイトの書込みを行うこ
とをメモリーに通知する。最初のCPUサイクルの1次
時間3において、メモリーGOパルスRM旧MOOが生
成される。このメモリーGOパルスと共に、ワード・ア
ドレス(16ビット)がシステム・バスBのアドレス/
データ回線BUSBOO乃至BUSB1 5におかれる
。このアドレスはDMAI/○コントoーラ又はCPU
のいずれかから生じ得る。全ての場合に、これは1つの
システム・バスA又はBから内部バスを経て他のシステ
ム・バスB又はAへ送られる。アドレス(第1のサイク
ルの間)およびデータ(第2のサイクルの間)は内部バ
スを経て両方のシステム・バスAおよびBにおかれる。
この両方のシステム・バスにアドレス又はデータをおく
ことは、いずれかのシステム・バスをアドレス又はデー
タに関してモニターするのを許可するという便宜のため
には、そのアドレス(又はデータ)がシステム.バスB
のDMAI/○コントローラからあるいはCPUから来
たときでさえも起こるが、便宜を考えなければそのアド
レス又はデータをおくことはこれらの場合適正なシステ
ム動作のためには必要としない。メモリーGOパルスは
、メモリ一にアドレスを受入れさせてそのアクセス1シ
ーケンスを開始させる。もしアクセスがDMA I/○
コントローラ要求によるものであるならば、CPUはこ
のCPUにおける主メモリー構成スイッチのセットによ
り許可される最大アドレスに対してそのアドレスを試験
する。もしアドレスがスイッチのセット値より大きけれ
ば、メモリー・ェフー信号(PEMPARおよびMEM
PER)を強制して1/0コントローラに対し不在アド
レスの検出を通知する。次に1/0コントローラはその
状態レジスタの適正なビットをセットする。CPUが開
始したメモリー要求はメモリーGOの前に不在メモリー
・アドレスについて検査され、そしてトラツプ15が生
じる。第2のCPUサイクルの間、データ転送が生じる
。 もしCPU又は1/0コントローラがデータを受取るべ
き場合、CPUがメモリー・ボードのデータ・ドラィバ
(P既FMD)を付勢し、1次時間3においてメモリー
がデータをシステム・バスBにおきそしてCPUの内部
バスを経てシステム・バスAにおく。もしメモリーがフ
ルワード読出しを行ってパリティ・エラーを検出したな
らば、このメモリーはメモリー・エラー信号M駐M円E
Rを強制する。 CPUは、パリティ検査エラー信号PMMPARにより
システム・バスAにそのエラーを送る。もしアクセスが
1/0コントローラ要求によるものであるならば、コン
トローフはその状態レジスタのエラー・ビットをセット
する。CPUが要求した主メモリー・アクセスに関し検
出されたパリティエラーはトラツプ17を生じる。どの
主メモリー・エラー信号も、次の主メモリー動作の次の
メモリーGO時にリセットされる。もしデータがメモリ
ーへ書込まれるべき場合、CPU又は1/0コントロー
ラは第2のサイクルの間システム・バスにデータをおき
、メモリーは書込みバイト信号に従ってデータを1時時
間3においてアドレス指定されたロケーションへ書込む
。Fb メモリー・リフレツシュ もしCPUがシステム・バスBにおけるメモリー・リフ
レツシュ信号PMFRSHと共にメモリーGOPMEM
GOを発するならば、主メモリーのリフレッシュ・サイ
クルが生じる。 他のシステム・バス対話は要求されない。CPUは少く
とも15マイクロ秒毎に主メモリー・リフレッシュを発
する。もしCPUファームウェアが主メモリーが使用さ
れていないことを決定すれば、CPUはいつでもメモリ
ー・リフレツシュ信号を発し得、こうしてCPU処理の
中断を防止してメモリー・リフレツシュを発する。Fc
l/○コントローラに対する機能コードCPUは10
,10日,10LDソフトウェア命令の実行中1/0コ
ントローラに対して機能コードを転送し、その結果16
ビット・ワードが1/0コントローラに転送されるかこ
れら受取られる。 第20図はこのシステム・バス操作を実施するのに要す
る事象および信号のシーケンスを示す。このシーケンス
はCPUにより開始され、RDDT回線上にCPU指令
(CPCMD)を発して両システム・バスAおよびBの
アドレス/データ回線BUSXOO乃至BUSX15に
チャネル番号および機能コードをおく。 CPUは、チャネル番号により識別される1/0コント
ローラから応答のため最大1.2ミリ秒を待機する。こ
の時間中CPUが実効上停止、ソフトウェア割込みは全
く認められないが、データ転送要求はサービスされる。
このCPUのストール則ち停止は、CPU指令を1/0
コントローラに対して発させたソフトウェア命令10,
10日,10LDを処理するCPUマイクロプログラミ
ング内でのファームウェア・ループ動作から生じる。こ
の1/0ソフトウェア命令内のループ動作は他のソフト
ウェア命令の処理又はソフトウェア割込みに対する応答
を禁止する。このループ動作の間、CPUファームウェ
アは、ファームウェアがSPM作業ロケーションに記憶
した時間切れカウンタをカウント・ダウンするまで、1
/0コントローラからの進行又は使用中の信号PROC
ED又はPBUSYを待機する。 下記の応答が可能である。もしCPUが不在又は欠陥の
ある資源をアクセスすることを試みるならば、応答は得
られない。 CPUファームウェア・タイマーはこの条件を検出し、
トラツプ15が生じる。アドレス指定された1/0コン
トローラが使用中であり、1/0コントローラは現在の
指令を受入れることができない。 この場合、1/0コントローラは使用中の回線PBUS
Yを2進数零に強制して命令を終了させる。もしアドレ
ス指定された1/0コントローラが、アドレス指定され
たチャネル番号と関連しない1/0コントローラ内の1
時条件の故に新らしい指令を受入れることができなけれ
ば、再試行(待機)応答が受取られる。 コントローラは進行中PROCEDおよび使用中PBU
SYの両回線を2進数零に強制して、CPU‘こ現行命
令を再抽出させ対話を再開させる。正規の応答は、1/
0コントローラが進行中PROCED回線を2進数零に
強制して、1/0コントローラが使用中でないことおよ
びCPUがこのシーケンスを完了すべきことを通知する
。 もしアドレス指定された1/0コントローラがDMAタ
イプであれば、これも又信号PBYTEXをロー(2進
数零)に強制してCPUに応答する1/0コントローラ
のタイプを通知する。1/0コントローラからの応答の
検出時に、CPUはRDDT回線上に回答指令(ASC
MD)指令を発して、1/0コントローラに使用中/進
行中の回線をリセットさせる。 回答指令が発されると、CPUおよび1/0コントロー
ラかりンクされ、CPUファームウェアがCPU−1/
0コントローラの転送に専用化される。リンク使用中、
CPUはDMCコントローラであるかどうか範囲値を検
査する。 もしこの範囲値が零と等しければ、CPUがRDDT回
線上の範囲終り(EOFRG)指令を発することにより
この条件をIOCに通知する。あるDMC I/○コン
トローラはこの情報を必要とし、他のものはこれを無視
する。CPUが回答指令(ASCMD)を発した後約6
マイクロ秒時に、CPUはRDDT回線上にリンク終り
(EOFLK)指令を発する。 CPUがASCMD指令とEOFLK指令とを発生する
時の時間インターバルは、CPCMD指令において送ら
れた特定の機能コードに対して実行されねばならないC
PUファームウェア・ステップ(マイクロ命令ワード)
の数に依存する。CPUおよびIOCはこの期間中りン
クされてCPUファームウエアおよびシステム・バスが
IOCシーケンスに専用化されかつハ−ドウェァ割込み
が禁止されるため、設計パラメータとしてこの時間は約
6マイクロ秒に制限されてハードウェア割込みおよびシ
ステム・バス要求に対するシステムの応答性を保証する
。「リンク終り」時間の始めに、もし機能コードが入力
タイプであったならば、CPUはIOCデータ・ドライ
バPENBSXを付勢し、データ・ワードがアドレス/
データ回線上をCPU迄転送される。もし機能コードが
出力タイプであったならば、CPUはデータをシステム
・バス・アドレス/データ回線におき、IOCはリンク
終り時間の1次時間3時にバスからデータをストローブ
する。もしCPUが17ビット・アドレスをDMAコン
トローラに転送中であれば、回線PBYTEXはリンク
終り時間中下位のアドレス・ビット(バイト・オフセッ
ト)を反映する。CPU−IOCリンクはリンク終りが
検出された結果としてリセットされる。FdDMCデー
タ転送要求 DMCI/○コントローラは、1/〇コントローラがデ
ータのバイトを主メモリー内の1/0バッファに関して
転入出させることを要求する時、DMCデータ転送要求
シーケンスを開始する。 この要求は、ソフトウェア10LD命令がDh4C I
OCに対して発され入出力操作を開始した後でのみ生じ
得る。第21図A図乃至第21D図は、DMCデータ転
送シーケンスに対するシステム・バス対話を示す。次に
第21A図においては、データ転送が要求されるとき、
DMC I/○コントローラは、要求側の1/○コント
ローラがおかれたシステム・バスのDMCデータ要求回
線PDMCRXを2進教養に強制することによってCP
Uファームウェアに通知する。 もし下記2条件、即ち、(1にの回線が既に特定のシス
テム・バス上の他のIOCもこより既に活動状態におか
れていないこと、および■このIOCに対するサイクル
・イン時間の1次時間3におけること、が満たされされ
すれば、IOCはこの回線を2進数零に強制することを
許可される。サイクル・ィン時間(BCYCIN信号)
は、特定のシステム・バスにおいて一時に1つのIOC
のみが1つのデータ転送シーケンスを開始できることを
保証する。DMC要求回線PDMCRXはCPUが応答
する迄セット状態を維持する。DMC要求回線の付勢に
よりDMC要求CPUファームウェア・マイクロプログ
ラムに対するCPUハードウェア割込みを生じる。 他の優先順位の高いハードウェア割込みの関数であるハ
ードウェア割込みが生じる時、かつCPUファームウエ
アがハードウェア割込みを禁止しているかどうかに従っ
て、CPUは回線RDDTRDDT29乃至RGGT3
1上に回答DMC要求(ASDMC)指令を発すること
によりDMC要求に対し肯定応答する。この時CPUと
IOCはリンクされた状態になる。次の略々6マイクロ
秒間、DMC転送に関与するCPUファームウェア・ス
テップ数に従ってCPUがこのDMCデータ転送に専用
化され、このDMCデータ転送と関連するものを除いて
他の通信はシステム・バスA,Bのいずれにも許可され
ない。ANSDMCの後の次のサイクルにおいて、CP
Uは1/0コントローフ・ドライバ(信号PENBSX
を介して)を付勢し、これによりIOCにそのチャネル
番号をアドレス/データ回線BUSXOO乃至BUSX
15におくことを通知する。 チャネル番号はCPUフア−ムウェアにより使用されて
スクラツチパツド・メモリーにおけるプログラム・チャ
ネル表をアクセスし、又転送方向を決定する。次の6乃
至7CPUサイクルの間、CPUはプログラム・チャネ
ル表からのこのチャネルに対するメモリー・アドレスお
よび範囲の情報を得る。 この範囲は城分され、メモリー・アドレスは増分され、
そしてプログラム・チャネル表に記憶される。もしこの
範囲がこの要求によって減少し尽されるならば、CPU
はRDDT回線上に範囲終り(EOFRG)指令を発し
て、IOCに対してこれが最後の転送であることを通知
する(第21A図乃至第21D図)。もしデータがメモ
リーから読出されるべき場合(第21B図乃至第21D
図)、CPUは、メモリーをアクセスし、必要なバイト
・スワッピングを行い、データをシステム・バス・アド
レス/データ回線上のバイト位置1(即ち、ビット8〜
15)におく。次に、CPUはRDDT回線上にリンク
終り(EOFLK)指令を発する。 これは、1/0コントローラに対して、もしメモリーか
らの議出しならば主メモリーからのデータがデータ/ア
ドレス回線上にあることを表示する。もしメモリ一読出
しが行われつ)あれば、1/0コントローラはこのデー
タをEOFLKの1次時間3において得る。主メモリー
の書込みの場合、CPUは信号PENBSXを介して1
/0コントローラ・ドライバを付勢し、1/0コントロ
ーラはデータをバイト位置1(即ちビット8〜15)に
おき、このバイトは起こり得るバイト・スワッピングの
ためSPMに転送され、次にCPUはメモリー・アクセ
スを行ってデータを主メモリーに書込む。 リンク終り(EOFLK)は、CPUと1/0コントロ
ーフ間のりンクを終了させて、CPUと1/0コントロ
ーラ間に別のりンクが確立される迄これ以上ある種のシ
ステム・バス指令に応答しないように1/0コントロー
ラをリセットする。DMCデータ転送のためのCPUフ
ァームウェア・マイクロプログラムが完了するとハード
ウェア割込み(DMAおよびDMCデータ転送要求およ
び転送要求および主メモリー・リフレッシュ時間切れ)
を付勢し、これら割込みの夫々は継続中であればシステ
ム・バス通信をもたらす。全システム・バス通信はCP
Uファームウェアの制御下にあるため、CPU−IOC
リンクの終了は、ハードウェア割込みを許可するCPU
ファームウェアなしには他のシステム・バスの通信を確
立するのには不十分であることに留意すべきである。例
えば、第21A図において、CPUサイクル8および9
の間、システム・バスの通信はいずれのシステムリベス
においても生じ得ないが、これはCPUが依然として占
有されIOCからメモリーへのDMC入力転送のための
ファームウェア・マイクロプログラムを実行しているた
めである。FeDMAデータ転送要求 1/0コントローラがデータのバイト又はワードを主メ
モリーにおける1/0バッファに関して転入出させるこ
とを要求する時、DMA I/○コントローラはDMA
データ転送シーケンスを開始する。 この要求は、ソフトウェア10LD命令が1/0コント
o−ラに対して発された後にのみ生じ得る。第22図は
このシーケンスのためのシステム・バス対話を示す。D
MA I/○コントローラは、この要求側の1/0コン
トローラが配置されているシステム・バス上のDMA要
求回線PDMARXを2進数零に強制することにより、
これがDMAデータ要求を行うことをCPUに通知する
。 この回線PDMARXはCPUから応答が受取られる迄
活動状態を維持する。もし下記2つの条件、即ち、【1
)この回線がその特定のシステム・バス上のある他の1
/0コントローラにより既に活動状態におかれていない
こと、‘2にの1/0コントローラに対するサイクル・
ィン時間(BCYCm−2進数零)の1次時間3 PT
IME3にあること、が満たされさえすれば、1/0コ
ントローラはこの回線を(1次時間3において)セット
することが許可される。DMA要求回線の付勢により、
DDMA要求マイクロプログラムに対するCPUのハー
ドウェア割込みを生じる。この状態が生じると、CPU
はRDDT回線RDDT29乃至RDDT3 1上に回
答DMA要求(ASDMA)指令を発することによりこ
の要求を肯定応答し、適当なシステム・バス上の(PE
NBX)回線をセットすることによって1/0コントロ
ーラ・ドライバを付勢する。CPUと1/0コント。ー
ラはリンクされ、全てのシステム・バス活動はこのDM
A転送に対してのみ専用化される。1/0コントローラ
が回答DMA要求 (ASDMA)指令を検出する時、この1/0コントロ
ーラは即時下記動作を行う。 即ち(1}要求回線PDMARXをリセットし、■アド
レス/データ回線BUSXOO乃至BUSX1 5上に
メモリー・ワード・アドレスをおき、{3レゞス回線P
WRTBIおよびPWRTBO上に書込みバイト信号を
ゲートする。もしコントローラがシステム・バスA上に
あれば、CPUは主メモリーの使用のためアドレスおよ
び書込みバイト信号をシステム・バスBに対して付勢す
ることに留意されたい。回答DMA要求(ASDMA)
指令サイクルの1次時間3において、CPUはメモリー
GO信号PMEMGOを発し、主メモリーはこのメモリ
ーGO信号を用いてストローブする。 もしこのアドレスがCPUボード上におかれたメモリー
構成スイッチにより許可されたものよりも大きいことを
CPUが検出すると、CPUはメモリー・エラー回線(
システム・バスA上のPMMPARおよびシステム・バ
スB上,のMEMPER)をセットすることにより1/
0コントローラに通知し、ェフー・ビットを1/0コン
トローラの状態レジスタ内でセットさせる。回答指令A
SDMAに続くCPUサイクルにおいて、CPUはRD
DT回線上にリンク終り指令EOFLKを発してデータ
転送が生じることを指示する。 もしこれが書込み操作であれば、CPUはコントローラ
・ドライバPENSBXを付勢し、1/0コントローラ
はデータ・ワードをアドレス/データ回線上におく。も
し1/0コントローラがシステム・バスA上にあれば、
CPUはシステム・バスBおよび主メモリーに対するデ
ータ転送を付勢する。もしこの操作がメモリー読出しで
あれば、メモリー・ドライバはCPUにより付勢され、
主メモリーはデータをバス上におき(CP山ま必要に応
じてシステム・バスAにおけるデータを付勢する)、1
/0コントローラはリンク終り(EOFLK)サイクル
の1次時間3においてこのデータを取る。 もし主メモリーがパリティ・エラーを検出した場合、こ
れは主メモリーのパリティ・ェフー(M旧MPER)回
線をセットすることにより1/0コントローラに通知す
る。必要に応じて、このエラーは回線PMA作AR上を
CPU‘こよりシステム・バスAに送られる。リンク終
り信号の直後のCPUサイクルにおいては、CPU.1
/0コントローラ・リンクが終了され、メモリー・エラ
ー信号MEMBERおよびPMA仲ARがリセットされ
る。Ff l/○コントローラ割込み 1/0コントローラは、あるデータ転送が完了するか又
はあるデバイスの状態が変化する時、システム・バス1
/0割込みシーケンスを開始する。 第23図はシステム・バス上で行われる対話を示す。1
/0割込みはソフトウェア割込みであってハードウェア
割込みではないことが判る。 即ち、もしCPUにより受入れられるならば、この1/
0割込みは、CPUを強制してソフトウェアの現行状態
を保管させることにより現行ソフトウェア・プログラム
の実行を中断する。この時、CPUは1/0割込みのサ
ービスに専用化された他のソフトウェアの実行を開始す
る。1/0割込みソフトウェアの完了時に、割込みを受
けたソフトウェアの状態は復元され、CP山ま元の割込
みされたソフトウェア・プログラムの実行を続行する。 割込みが要求されるとき、1/0コントローフは、割込
み要求回線PIMTRXを2進数零に強制することによ
りCPUファームウェアに通知する。この回線はCPU
が応答する迄セットされた状態を維持する。1/0コン
トローラは、そのサイクル・イン時間の1次時間3にお
いてのみ、かつこの回線が既に同じシステム・バスA又
はB上のある他のIOCにより付勢されていない場合、
この回線を付勢することを許可される。 CPUファームウェアが次のソフトウェア命令の処理を
開始する時、どちらかのシステム・バス上の1/0割込
み要求回線PINTRXの付勢がCPUを1/0割込み
ファームウェアに分岐させる。 ソフトウェア命令の実行の間においてのみソフトウェア
割込みが生じる(即ち、ソフトウエア割込みの存在には
、あるソフトウェア命令の実行中ではなく次のソフトウ
ェア命令の始めにのみCPUが作用する)。 これは、CPUソフトウェア命令を実施するのに使用さ
れるCPUファームウェアをマイクロプログラムして、
主メモリーから次のソフトウェア命令を取出して復号す
るそのCPUファームウェア・マイクロプログラムの開
始時においてのみソフトウェア割込に分岐させるように
すること、によって達成される。もしあるソフトウェア
命令の実行の始めに1/0割込みが未完であれば、CP
Uファームウェアは次のソフトウェア命令の実行を打切
り、1/0割込み処理を取扱うCPUファームウェア・
マイクロプログラムに分岐する。1/0割込みの処理中
に第23図に示したシーケンスがシステム・バスに生じ
る。 もし1/0割込みがCP山こより受入れられると(即ち
、IOCの優先順位レベルが現在実行中のソフトウェア
・プログラムのそれよりも高ければ)、CPUファーム
ウェアは現行ソフトウェア状態を保管し、この1/0割
込みと関連するソフトウェア・プログラムの実行を開始
する。もし1/○割込みが拒絶させれば、CPUファー
ムウェアは割込みを生じることなくソフトウェア命令の
実行を続行する。次に、第23図において、CPUが1
/0割込みファームウェアに分岐する時、CPUはRD
DT回線上に回答割込み(ASINT)指令を発するこ
とによりこの要求に対し肯定応答する。 これはIOCに割込み要求回線をリセツトさせる。CP
Uおよび1/0コントローラはリンクされ、全てのシス
テム・バス、主メモリーおよびCPUの活動はシステム
・バスの1/0割込み要求のサービスに専用化される。
回答割込み(ASINT)指令の直後、CPUは付勢コ
ントローラ・ドライバ回線PENSBXを付勢し、IO
Cはアドレスノデータ回線上にそのチャネルおよび割込
みレベルをおく。 もしIOCがDMCタイプでありその割込みが後退文字
によるものであれば、チャネル番号および割込みレベル
をシステム・バスのアドレス/データ回線BUSXOO
乃至BUSX15を介してCPUへ送出する時、IOC
は回線PBYTEXを2進数零にセットすることによっ
てCPUに通知する。後退文字割込みの場合には、この
レベルは無視されて割込みは常に受入れられる。後退文
字割込みは、関連するDMCチャネルに対するPCT内
のメモリー・アドレスおよび範囲カウントを、CPUフ
ァームウェアにより変更させて前の文字を無視する。も
し後退文字でなければ、CPUが割込みレベルを受取る
時、CPUはIOCにより示されるレベルがCPUにお
ける現行レベルよりも高い優先順位であるかどうかを決
定する。 もしこのIOC割みが高い優先順位のものであれば、C
PUはRDDT回線上のりンク終り(EOFLK)指令
の発生と関連して進行回線PROCEDをセットし、リ
ンクは終了させられる。もしコントローラ割込みが低い
(又は等しい)優先順位であれば、CPUはEOFLK
の発生と関連させて使用中回線PBUSYをセットする
。この場合、リンク終了され、IOCは1/0割込みを
スタツクしてCPUがRDDT回線上に再開割込み(R
ESUM)指令を発生する迄待機しなければならない。
CPUはしベル変化が生じる時常に再開割込み(RES
UM)指令を発する。 このRESUM指令は、両システム・バスAおよびB上
に同報通信され、システム・バス上の各1/0コントロ
ーラによって監視される。割込みをスタックさせたIO
CがRESUM指令を復号する時、IOCは1/0コン
トローラ内の標識をセットし、その結果このIOCのサ
イクル・イン時間(BCYCIN時間)中IOCが1/
0割込み要求を再発し、割込みシーケンスが再開する。
この時再発された1/0割込み要求は受入れられるかあ
るいは拒絶される。もし割込み要求が把絶されると(P
BUSYが零)、IOCは再び1/0割込みをスタツク
し、CPUからのRESUM指令を待機する。RESU
M指令が発されるときは常に、各システム・バスの割込
みをスタックさせた各IOCは、割込み要求回線PIN
TRXが既に特定のシステム・バス上の別のIOCによ
りセットされていなければ、そのサイクル・ィン時間に
おいて1/0割込み要求を行う。 1/0割込み要求回線がCPUからASINT指令に応
答してIO0こよりセットされるため(CPUが割込み
を受入れるか拒絶するかにかかわらず)、CPUが依然
として最初の1/0割込み要求を処理している間別のI
OCが1/0割込み要求を行い(即ち、PINTRXを
2進数零にセットする)得る。 この第2の1/0割込み要求は、CPUファームウェア
が次のソフトウェア命令の処理を開始する迄CPUによ
る作用を受けない。割込みが要求側のIOCにスタツク
される結果となる1/0割込み要求の拒絶は、RESU
M指令に続いて1/0割込み要求(スタックされたもの
又は、他のもの)を行うこの特定のシステム・バスにお
ける他の1/0コントローラをブロックしたりあるいは
干渉したりすることがない。これは、IOCが1/0割
込みのスタックの後RESUM指令を受取る迄はスタッ
クされた割込みが再試行されないためである。このよう
に、各IOCは、(各IOCが割込み要求を行う機会を
持つ前に第2のRESUM指令が生じなければ)各RE
SUM指令に続いてそのスタックされた割込みに関し割
込み要求を行う。ソフトウェア割込みの受入れは他のソ
フトウェア割込みをブロックせず単にCPU優先順位レ
ベルを上げるのみであることを留意すべきである。 従って、もし第2の割込みが第1の割込みよりも高い優
先レベルであるならば、第1のソフトウェア割込みの処
理中はその第2のソフトウェア割込み要求が受入れられ
得る。この高いレベルの受入れは、割込みレベルが割込
みされたレベルより高い優先順位であると云う要件によ
り、又CPUにおけるレベル数(本例では64)によっ
てのみ制限されるある瞬間において、実行を待機する如
き多くの優先レベルに対して割込みを入れ子にする結果
を生じ得るのである。Fg 入出力命令の実行CPUも
こより支持されるソフトウェア1/0命令は3つのタイ
プ即ち10,10LDおよび10日がある。 これ等命令の実行によりCPUは、選択されたチャネル
に割当てられた1/0コントローラとの対話を開始し、
そしてIOCがこの指令を受入れたかどうかをCPUの
1標識を介してソフトウェアに通知する。 1標識は標識レジス夕のビット12である(第4図参照
)。 もし1=0ならば、IOCは指令を受入れなかった。も
し1=1ならば、IOCは指令を受入れた。1/0コン
トローラからの応答が検出されなかったとき、トラップ
15が生じる。 もし1/0コントローラから応答(PROCED又はP
BUSY信号)が受取られなければ、1.2ミリ秒のC
PUファームウェア・タイマは時間切れとなる。 1.2ミリ秒の時間切れ期間中、ソフトウェア割込みは
生じ得ない(これが1/0ソフトウェア命令の実行開始
後であるため)が、ハードウェア割込みはCPU時間切
れファームウェアにより禁止されないため生じ得る(第
20図参照)。 CPUが−たんIOCから進行信号PROCEDを受取
ると、CPUファームウェアはハードウェア割込みを禁
止して回答(ASCMD)指令を発する。CPUファー
ムウェアはリンク終りEOFLKを発した後迄ハードウ
ェア割込みの禁止を維持する。Fgイ チヤネル番号 入出力データ転送チャネルは、メモリー・アドレスによ
ってだけ識別される主メモリーを除き、システム・バス
に取付けられた各ユニット(CPU、1/0コントロー
ラ、又は主メモリー)のために存在する。 チャネル番号は、プロセサ、周辺デバイス、および必要
ならばシステムに取付けられる。1/0コントローラと
関連する1/0チャネルを識別する。 CPUは常にチャネル零が付される。第1の8つの1/
0チャネル対はCPUによる使用のため予約され(即ち
、チャネル番号000乃至0300(16進表示))、
その結果、SPMプログラム・チャネル表(第10図参
照)において64のチャネル対に対する空間が予約され
ているが、本実施例の64のDMC I/○チャネル対
の内56が実際にDMC 1/0コントローラに後続さ
れた周辺デバイスの使用のため利用可能である。ソフト
ウェアはこのチャネル番号を用いてどの1/0コントロ
ーラに対してソフトウ.ェア1/0命令を指向させるか
を識別する。 (チャネル番号はソフトウェア1/0命令の制御ワード
に含まれる。)このチャネル番号は又、データ転送時間
中データ転送の方向を識別するためCPUによっても使
用される(即ち、チャネル番号のビット9が方向を決定
する)。第24図はソフトウェア1/0命令制御ワード
書式を示す。 第24図は又有効DMCチャネル番号および有効DMA
チャネル番号も示している。DMAおよびDMCの両方
に対しては、最初の8チャネル対(16チャネル番号)
がCPUの使用にため予約され、従って有効1/0チャ
ネル番号ではない。システムに組込まれた1/0コント
ローフのチャネル番号スイッチ・セット値とは一致しな
いチャネル番号を指定するソフトウェア1/0命令は、
CPUファームウェア・タイマの時間切れ時にCPUに
より通知されるトラツプ15を生じる結果となる。1/
0コントローラはこのチャネル番号を用いてこれがCP
Uからサービスを要求する時そのチャネルを識別する。
2つのタイプのサービスが存在する。 即ち、{11割込み一全てのチャネルDMAおよびDM
Cにより使用されてCPUに対するそのレベル番号を指
定する(第17図参照)、および【2}データ−DMC
チャネルにより使用されバイトの送受を行う。このチャ
ネル番号はCPUによって使用されてプログラム・チャ
ネル表(PTC)をアドレス指定することを留意された
い。CPUに対し送られたチャネル番号は第24図に示
した書式を有する。DMCデータ転送要求に対しては制
御ワードのビット10乃至15が第17図に示す如く無
視されることに留意されたい。Fgロ 1/0機能コー
ド 1/0機能コードは第25図に示される。 この機能コードは1/0コントローラによって実施され
る特定の1/0機能を指定する。全ての奇数機能コード
は出力転送(書込み)を表示し、全ての偶数機能コード
は入力転送要求(読出し)を示す。機能コード指令は、
常に、チャネルに関して16ビット(もし10命令を介
して発されるならば)又は8ビット(もしlOH命令を
介して発されるならば)のいずれかを入出力する。それ
にも拘わらず、1/0コントローラは転送に関わるデー
タ・ビットの一部のみ又は全部を使用するよう選択でき
る。Fgoi 出力機能コード指令 8つの出力機能コード指令については以下に説明する。 初期化(FC=01)。この指令はチャネルに対して1
6ビットの制御ワードをロードする。個々のビットは下
記の如く特定の動作を生じる。即ち、ビット0=初期化
、ビット1=1停止1/0、ビット2乃至15=将来の
使用のため予約。この指令はチャネル使用中条件の如何
に関わらず受入れられる。初期化(IOC用):IOC
にその常駐の品質論理テスト(QLT)を実行させ、I
OCの全チャネルをクリアし、バス・インターフェース
をクリアし、割込みをブロックし、使用中条件をクリア
する。ストップ1/0(チャネル用):使用中条件をク
リアし、付勢されれば割込みを生じ、チャネルからの転
送を急激に停止し、同じIOC上の他のチャネルには影
響を与えない。出力割込み制御ワード(FC=03)。 この指令は、チャネルに対して16ビットの割込み制御
ワードを送出し、ビット0乃至9においてCPUチャネ
ル番号(零)をそしてビット10乃至15において割込
みレベルを指定する。チャネルはその割込み制御レジス
外こ割込み制御ワードを記憶する。割込み時に、IOC
は第17図に示す如く割込み制御ワードを戻す。出力タ
スク(EC=07)。 この指令はタスク・ワード(又はバイト)をチャネルに
対し出力する。個々のビットの意味はデバイス固有のも
のである。出力タスクは、構成指令(以下参照)を介し
て出力される比較的静的な情報と比較して瀕繁に出力さ
れねばならない機能(例、ディスク・レコードの議出し
等)に対し意図されたものである。出力アドレス(EC
=09)。この指令は、データ転送が行われる開始バイ
ト・アドレスとしてチャネルにより使用される17ビッ
ト量を出力する。もしこの指令力mMAチャネルに対し
て指向されると、バイト・アドレスはバス上をチャネル
に対して送られてIOCに記憶される。もしこの指令が
DMCチャネルに送られると、バイト・アドレスはCP
U内の適当なPCTヱントリに記憶される。出力アドレ
スFCはソフトウェア10LD命令と関連して使用され
る。他の入出力命令によるこの指令の使用は規定されな
い結果を生じる。出力範囲(FC=血)。 この指令は、0乃至ぞ5−1の範囲内のチャネルに対し
範囲情報を出力する。もしこの指令力mMAチャネルに
対して指向されると、範囲はバス上をチャネルに対して
送られてIOC‘こ記憶される。もしこの指令がDMC
チャネルに指向されると、範囲はCPU内の適当なPC
Tェントリに記憶される。出力範囲FCはソフトウェア
10LD命令とともに使用される。他の入出力命令のい
ずれかとともにこの指令を使用すると規定されざる結果
を生じる。出力構成ワードA(FC=11)。 この指令は構成情報をチャネルへ出力する。個々のビッ
トの意味はデバイス(即ちIOC)固有のものである。
出力構成は、あまり瀕繁に出力されない機能(例、端末
速度、カード・リーダ・モード等)に対し意図されたも
のである。出力構成ワードB(FC=13)。 この指令は別の構成情報をチャネルに対し出力する。ビ
ットの意味はデバイス(即ちIOC)固有である。この
指令は、構成ワードAに符号化される場合よりも更に大
〈の情報が要求される場合に使用される。Fgロii
入力機能コード指令10入力機能コード指令について以
下に述べる。入力割込み制御(FC=02)。この指令
はチャネルをしてその割込み制御レジスタの内容をシス
テム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。データ書式は第17図に示す如くである
。チャネル番号はCPUのチャネル番号(即ち零)であ
って応答するIOCのそれではない。入力タスク(FC
=06)。この指令はチャネルをしてそのタスク・レジ
スタの内容をシステム・バス・データ回線BUSXOO
乃至BUSX15におかせる。入力アドレス(FC=8
0)。 この指令はDMAチャネルをしてそのアドレス・レジス
タの内容(下位の16ビット)をシステム・バス・デー
タ回線BUSXOO乃至BUSX1 5におかせる。こ
の指令はDMCチャネルに指向される時、CPUをして
CPU内の適当なPCTェントリからアドレス(残余)
情報を抽出させる。入力モジュール(FC=船)。 この指令は、DMAチヤネルをしてそのアドレス・レジ
スタの上位ビット(右寄せされた)をシステム・バス上
におかせる。この指令はDMCチャネルに指向された時
CPUをしてCPU内の適当なPCTェントリからアド
レス情報の上位ビットを抽出させる。この上位アドレス
・ビット(即ち、モジュール番号)はシステム・バス上
で右寄せされてデータ回線BUSX15上におかれる。
入力範囲(EC=に)。 この指令は、DMAチャネルをしてその範囲レジスタの
内容をシステム・バス・データ回線BUSXOO乃至B
USX1 5におかせる。この指令はDMAチャネルに
指向される時、CPUをしてその適当なPCTェントリ
から残余範囲を抽出させる。入力構成ワードA(FC=
10)。 この指令はチャネルをしてその範囲ワードAの内容をシ
ステム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。入力構成ワードB(FC=12)。 この指令はチャネルをしてその構成ワードBの内容をシ
ステム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。入力状態ワード1(FC=18)。 この指令はチャネルをしてその最初の状態ワードをシス
テム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。入力状態ワード2(FC=IA)。 この指令はチャネルをしてその第2の状態ワードをシス
テム・バス・データ回線BUSXOO乃至BUSX1
5をおかせる。状態ビットの定義はIOC個有のもので
ある。入力デバイス識別(FC=26)。 この指令はチャネルをしてその16ビットのデバイス識
別番号をシステム・バス・データ回線BUSXOO乃至
BUSX15におかせる。各周辺デバイス・タイプは独
自の識別番号を割当てられ、これによりソフトウェア・
プログラムがシステム内の各チャネルに取付けられた特
定の周辺デバイス・タイプを識別することを可能にする
。Fgハ ソフトウェア入出力命令 CPUはファームウェアを介して次の3タイプのソフト
ウェア1/0命令を認識してこれを実行する。 即ち、‘1)データ・ワードおよび指令1/0命令(ソ
フトウェア・プログラミング簡略符号10)、■データ
・バイト(半ワード)および指令1/0命令(ソフトウ
ェア・プログラミング簡略符号10H)、および‘3’
アドレスおよび範囲ロード1/0命令(ソフトウェア・
プログラミング簡略符号10LD)。Fgハi l○命
令「 制御ワードを1/0コントローラに関して送受するため
10ソフトウェア命令が使用される。 10命令により規定される機能コードは情報転送方向を
決定する。 代表的には、このソフトウェアは10命令を用いてIO
Cに対して必要なタスク・ワードおよびデータ転送の実
施に必要な構成情報を送る。又、1/0操作の完了時に
、ソフトウェアは再び10命令を用いて状態および残余
範囲の情報を検索する。10ソフトウェア命令(および
10日命令)の書式は第26A図および第268図に示
される。 10命令は2つの量、即ち、01DASにより識別され
るデータ・ワード、および(2ー実施すべき外部チャネ
ル(又はデバイス)および実行すべき機能を識別する制
御ワード、を規定する。 この制御ワードは、第26A図の書式に示す如く10命
令に直嬢盛込まれ、あるいはソフトウェア・プログラム
のどこかにおかれて第26B図の書式により示す如き1
0命令により指示されるようにすることができる。 次に、第26A図および第26B図においては、OP=
命令OPコード・フィールド OP=00000(2進数表示)(10命令に対して)
=00010(2進数表示)(10日命令に対して)D
AS=データ・アドレス・シラブル。 これは、ワード(10命令に対する)又はバイト(10
日命令に対する)が1/0チャネルに関して転入出させ
る主メモリーのロケ ーション又はCPUレジスタを指定す る。 データ・アドレス・シラブル(OAS)は次の3つの書
式の内の1つを有する。 即ち、・CPUレジスタが操作の行先のソースであるレ
ジタ・アドレス・シラブル。 ・適当なサイズのオペランド(ワード又はバイト)直接
命令中に盛込まれる即値オペランド・アドレス・シラブ
ル。 ・オペランドを含む主メモリー内のロケーションのアド
レスが規定されるメモリー・アドレス・シラブル。 CII=チャネル番号又は1/0デバイス・アドレス。 F =機能コード。下記制約においてIOC即ちデバイ
ス固有である。即ち、・もしFが偶数ならば、データは
IOCからCPU/メモリーへ転送される(例、読出し
状態)。 ・もしFが、奇数ならば、データはCPU/メモリーか
らIOCへ転送される(例、制御レジスタのロード)。 CAS=制御ワード・アドレス・シラブル。CHおよび
Fを含む制御ワードを指示する。CASに対する書式は
DASと同じであ る。 10ソフトウェア命令の実行はCPUファームウェアに
より制御される。 10命令のフローチャートについては第28図参照のこ
と。 10命令実行中のシステム・バス操作については既に説
明した。 DACチャネルに対し指向される1/0命令を実行する
とき、CPUは機能コードを検査してこれが下記の内の
いずれであるかどうかを決定する。 即ち、・入力モジュール(1ビットのモジュール番号)
・入力アドレス(16ビットのバイト・アドレス)・入
力範囲 もし前記の機能コードの内の1つであれば、これはスク
ラツチパツド・メモリーにおいてこの情報を管理するた
め、CPUは直ちにこの命令の全て又は一部を実行する
。 もしこれが前記の機能コードの1つでなければ、データ
は1/0コントローラに対し転送されるかあるいはこれ
から受取られる。DMAチャネルに指向される1/0命
令を実行する時は、CPUは機能コードを1/0コント
ローラに対して送り、1/0コントローラに対し情報の
1ワードを送りあるいは1/0コントローフからこれを
受取る。 次に第28図において、10ソフトウェア命令を実行す
るのに使用されるCPUファームウェアについて詳細に
論述する。 第28図について説明する前に、フローチャートに示さ
れるブロックとおよび各ブロックの実施に使われるCP
Uファームウェア・マイクロ命令の数との間には必ずし
も1対1の対応はないことに留意すべきである。例えば
、多重CPUファームウェア・マイクロ命令はブロック
904に示される如き機能の実施に使用され、1つのC
PUファームウエア・マイクロ命令はブロック914お
よび920として示された機能の実施に使用される。C
PUファームウエアは、ファームウェアが主メモリーか
らソフトウェア(SW)命令の最初のワードを取出すブ
ロック901において、10ソフトウェア命令の処理を
開始する。 主メモリーからのソフトウェア命令の最初のワードの議
出いこ続いて、CPUファームウェアは任意のソフトウ
ェア割込みが未完であるかどうかを知るためにテストを
行う(第28図には示さないが、第33図および第34
図参照)。もしソフトウェア割込みが禾完でない場合、
ブロック902に入り、ソフトウェア命令の最初のワー
ドを指示するプログラム・カウンタは保管され、次のC
PUサイクルの間はメモリーがアクセスされないためメ
モリー・リフレッシュ操作が開始され、主メモリーから
取出されたソフトウェア命令の命令コードのテストが行
われる。もし主メモリーから取出されたソフトウェア命
令の命令(OP)コードが10ソフトウェア命令であれ
ば、ブロック903に入り、10命令の実行と関連する
CPUファームウェア・ルーチンが開始される。ブロッ
ク904においては、CPUフアームウエアがデータ・
アドレス・シラブル(DAS)を用いてワード・アドレ
スを決定する(第26図参照)。もし指標付けが指定さ
れると、指標値はバイトではなくワード基準となる。D
ASにより指定されるワード・アドレスは主メモリーの
ロケーション又はCPUレジスタを指定し、これとIO
Cとの間で1ワードのデータが転送される。この指定さ
れたロケーションは、IOCに対し送られるべきデータ
のワードを含むか、あるいはこのロケーションはIOC
から読出されたデータのワードが記憶される場所である
。ブロック905においては、CPUフアームウエアが
、必要に応じてCASを用いることにより10ソフトウ
ェア命令により指定されたチャネル番号および機能コー
ドを決定する(第26B図参照)。ブロック927にお
いては、機能コードが出力機能コードであるかどうか、
又そうであればOASにより指定されるデータ・ワード
がアクセスされてスクラッチパッド・メモリーの作業ロ
ケーションに記憶されるかどうかを決定するためテスト
が行われる。ブロック906においては、チャネル番号
および機能コードがシステム・バスのデータ/アドレス
回線BUSXOO乃至BUSX15上のIOCに対し送
られる(第17図、1/0指令書式参照)。更にブロッ
ク906においては、CPUはシステム・バスのRDD
T回線上にCPCMD指令を送り、全てのIOCに対し
て、チャネル番号および機能コードがシステム・バス上
に存在することを表示する(第20図参照)。CPUの
CPCMD指令の送りに続いて、ファームウェアは1/
0命令処理されたファームウェア艮0ちブロック948
に入り、このブロックはアドレス指定された(チャネル
番号により)IOCがCPCMD指令を受入れるか拒絶
するか、あるいはCPUに対し1/0ソフト命令を再試
行することを通知する迄ループ動作する。 ブロック907において応答時間切れカウンタを初期化
することにより、1/0命令進行ファームウェア・ブロ
ック948が開始する。この応答時間切れカゥンタはス
クラッチパッド・メモリーの作業ロケーションに含まれ
、このカウンタは、入出力(10、10日又は10LD
)ソフトウェア命令からのCPCMD指令をIOCが肯
定応答するのをファームウェアがループ動作をして待機
するとき、カウント・ダウンされる。もし、IOCが1
.2ミリ秒以内にCPCMD指令を肯定応答又は拒絶を
しなければ、応答時間切れカウン夕は零迄滅分され、C
PUファームウェアはトラップを生じる(第20図参照
)。応答時間切れカウンタの初期化の後、ブロック90
8においてCPUフアームウエアはIOCがシステム・
バスのPROCED回線をローにセットしたかどうかを
テストする。もしPROCED回線がローでなければブ
ロック909に入り、IOCがシステム・バス上のPB
USY回線をローにセットしたかどうかを知るためテス
トが行われる。もしシステム・バスPBUSY回線がロ
ーでなければブロック910に入り、応答時間切れカウ
ンタが滅分される。ブロック911においては、応答時
間切れカウンタが零に等しいかを知るためテストが行わ
れ、又等しければ1.2ミリ秒の時間が切れてCPCM
功旨令が不在1/0コントローラあるいは誤動作1/0
コントローラに向けられたことを表示する(即ち、シス
テム・バスA又はBにおけるIOCがチャネル番号に応
答しない)。もしいずれのシステム・バスA又はBにお
けるIOCも応答しなければブロック912に入り、標
識(1)レジスタの入出力標識(1)ビットに零がセッ
トされる。標識レジスタにおけるこの入出力標識ビット
は以降のソフトウェア命令によりテストされて、前の1
/0指令が受入れられたかどうかを決定する。入出力ビ
ット標識のセット後ブロック913に入り、トラツプ番
号15が実施されて、使用できない資源がアドレス指定
されて1/0ソフトウェア命令の実行が終了されること
を示す。次にブロック908において、もしIOCがシ
ステム・バスのPROCED回線をローにセットする場
合ブロック919に入り、PBUSY回線がテストされ
る。 ブロック919において、もしシステム・バスの回線P
BUSYがIOCによりローにセットされればこのこと
はIOCが一時的に使用中でありかつCPUが命令を再
試行すべきこと(即ち、待機条件)を表示する。もし待
機条件が存在すればブロック920に入り、CPUファ
ームウエアはシステム・バスRDDT回線上でASCM
D指令をIOCに送り、これがCPU−IOCリンクを
確立する。これに続いてCPUがブロック921におい
てEOFLK指令をシステム・バスRDDT回線を介し
てIOCに送り、これによりCPU−IOCリンクを終
了する(第20図参照)。CPU−IOCリンクの終了
後にブロック922に入り、前に保管されたプログラム
・カウンタを後退させて現在実行中の1/0ソフトウェ
ア命令の最初のワードを指示する。次にブロック923
へ入り、CPUファームウェアはプログラム・カウンタ
により指示されたソフトウェア命令の最初のワードを取
出す。その結果、ソフトウェアが1/0コントローラか
ら待機応答を受取った同じ1/0ソフトウェア命令を再
び取出して再実行する。1/0ソフトウェア命令が始め
から再試行されるため、プログラム’カウンタの復元だ
けでなく、一時的に使用中のIOCから待期応答を受取
る前の実行の試みの間変更される可能性のある他のCP
Uレジスタの復元にも注意がされなければならない。 望ましい実施態様においては、これは、アドレス生成に
おいて使用されるレジスタの自動的な増分又は滅分を生
じる結果となるオペランド・アドレス指定形式を、許可
しないことにより達成される。この制限条件のため、プ
ログラム・カウンタ以外のどのレジスタの復元に対する
必要もなくなる。次にブロック909において、IOC
はシステムバスのPBUSY回線をローにセットしてブ
ロック91 4に入り、PROCED回線も又ローであ
るかどうかを知るためテストが行われる。 もし両方の回線PBUSYおよびPROCEDがローで
あればブロック920に入ってCPUがCPU−IOC
リンクの確保および終了を行い、次に前述の如く1/0
ソフトウェア命令を再実行する。ブロック914におい
て、もしシステム・バスのPROCED回線がローでな
くIOCが使用中であることを表示するならば、ブロッ
ク915に入る。再びブロック915において、標識(
1)レジス外こおける入出力標識(1)ビットが零にセ
ットされ、これはIOCが最終1/0指令を受入れなか
ったことを表示するため以降のソフトウェア命令により
テストされる。次のブロック91 6に入り、CPUは
ASCMD指令をIOCに送ってCPU−IOCリンク
を確立する。フロツク917において、CPUフアーム
ウェアはIOCに対してシステム・バスのPDDT回線
上にEOFLK指令を送出して、これによりCPU−I
OCリンクを終了する。次にブロック918に入り、C
PUファームウェアが主メモリーから次のソフトウェア
(SW)命令を取出すことになる。1/0命令進行ファ
ームウェア、ブロック948の論述を終る前に、注目す
べき重要なことは、CPUファームウェアがループ動作
して1/0コントo−ラが進行、使用中、待機又は時間
切れで応答するのを待機する期間中、ブロック908乃
至911のル−プ内のあるファームウェア・マイクロ命
令の間でのハードウェア割込みが禁止されるが、ハード
ウェア割込みがループの各通過の終りもこ許可されるこ
とである。 従って、DMAデータ転送、DMCデータ転送、又はメ
モリー・リフレツシュ操作を行うためにCPUファーム
ウェアに割込んでシステム・バスを使用することができ
る。第34図に関して以下において明らかになるように
、ソフトウェア割込みが主メモリーからのソフトウェア
命令の取出しの直後(即ちブロック901の後)にのみ
CPUファームウェアによりテストされるため、この1
.2ミリ秒間のタイミング操作中にはソフトウェア割込
みは応答を受けない。CPUファームウェアが進行条件
を検出する時(即ち、応答側のIOCはシステム・バス
の回線PROCEDをローにセットし、PBUSY回線
はハィにしたままである)、ブロック924に入る。 ブロック924においては、CPUフアームウエアは、
標識(1)レジスタの入出力標識(1)ビットに2進数
1をセットし、又以降のIOCタイプのテストのためP
DMCIOフロツプにシステム・バスのPBYTEX回
線の状態を記憶する。もしシステム・バスのPBYTE
Xが/・ィであれば、これは応答するIOCがDMCI
OCであり、もしローならば、応答するIOCがDMA
IOCであることを表示する。次に、CPUファームウ
エアはブロック925において応答するIOCに対しシ
ステム・バスのRDDT回線上でASCMD指令を送出
してCPU−IOCリンクを確立する。ブロック926
においては、機能コードがテストされる。もし機能コー
ドが奇数であって出力機能コードを表示すればブロック
928に入り、CPUファームウエアはSPMの作業ロ
ケ−ションからデータ・アドレス・シラブル(DAS)
により指示されるデータのワードを得る。このデータ・
ワードはシステム・バスのアドレス/データ回線BUS
XOO乃至BUSX15上をIOCに送られ、CPUも
又FOFLK指令をRDDT回線上でIOCに対して送
出する。IOCはEOFLK指令と会すると、アドレス
/データ回線からデータ・ワードを取りCPU−IOC
リンクを終了する。ブロック928は1/0ソフトウェ
ア命令の処理を完了し、次にCPUがブロック929を
出て、ブロック929がCPUファームウエアに行き次
のソフトウェア命令を出す。もし機能コードが偶数であ
り入力機能コードを表示すれば、ブロック926からブ
ロック930に入り、IOCタイプを決めるためテスト
が行われる。 もし応答するIOCがDMC IOCであれば、ブロッ
ク931に入って別のテストを行ない、機能コードが関
連するプログラム・チャネル表(PCT)であるかどう
かを決定する。 もし10ソフトウェア命令からの機能が関連するプログ
ラム・チャネル表であれば(即ち、入力モジュール、入
力アドレス、又は入力範囲)、ブロック932に入って
機能コーlゞ‘こより指定されたデータがスクラッチパ
ッド・メモリ一に記憶されたプログラムチャネル表から
抽出され、EOFLK指令がIOCに与えられてCPU
−IOCリンクを終了する。再びブロック930に戻っ
て、IOCタイプは前記ブロック924においてロード
されたままPDMCIOフロップの状態をテストするこ
とにより決定される。ブロック933において、CPU
からE○FLKおよび付勢(PENBSX)信号を受取
ると同時に、システム・バスのアドレス/データ回線(
第17図、データ・ワード書式参照)にIOCがデータ
をおく。ブロック934において、プログラム・チャネ
ル表(PCT)から抽出されるかIOCから受取られる
データは、10ソフトウェア命令のデータ・アドレス・
シラブル(DAS)により指定されるロケーションに記
憶される。10ソフトウェア命令はDASロケーション
にデータ・ワードを記憶して完了し、CPUファームウ
ェアがブロック935において次のソフトウェア命令を
取出す。 10ソフトウェア命令の論議を終るに先立ち、ソフトウ
ェアの観点からは、1/0コントローフがDMAI/。 コントローラかDMCI/○コントローラの如何を問わ
ず、10ソフトウェア命令の実行結果は同じであること
に留意すべきである。DMAI/○コントローラとDM
CI/○コントローラ間の差は、CPUファームウェア
によりソフトウエアからマスクされていることである。
ソフトウェア・プログラムは、入出力プログラムを書込
んでいるデバイスがDMA又はDMCI/○コントロー
ラのいずれに取付けられているかについて認識する必要
はない。Fgハii lOLD命令 10LDソフトウェア命令は、主メモリー内の1/0バ
ッファとのデータの転入出の準備のために使用される。 ある1/0コントローラに関しては、10LDソフトウ
ェア命令は又データ転送を関始する。DMC I/○コ
ントローラに関しては、CPUは常に1/0バッファが
構成された主メモリー内に含まれることを保証する。も
しそうでなければ、使用できない資源トラッフ。TV1
5が生じる。10LDソフトウェア命令の書式は第27
A図および第27B図に示される。 10LD命令は3つの量を指定する。 即ち、(1’AASにより識別される1/0バッファ開
始アドレス、{2}外部チャネル(又はデバイス)およ
び実施すべき機能を識別する制御ワード、および、【3
’RASにより識別される1/0バッファ範囲(サイズ
)である。制御ワードは、第27A図に示す如き10L
D命令に直綾盛込まれるか、ソフトウェア・プログラム
のどこか他におかれて第27B図の書式に示す如く10
LD命令により指示される。 次に第27A図および第27B図において、OP=命令
OPコード・フィールド。 OP=00011(2進数表示)(10LD命令に対し
て)AAS=アドレス・アドレス・シラブル。 これは1つ以上のバイトが1/0チャネルとの間で転入
出される主メモリー内のバイ ト・ロケーションを指示する。 アドレス・アドレス・シラブル(AAS)は2 つの書式を有する ・適当なサイズ(1つ又は2つのバイト)の1/0バッ
ファが直接命令に組込まれる即値オペランド・アドレス
・シラブル。 ・主メモリー内の1/0バッファの開始バイト・アドレ
スが指定されるメモリー・アドレス・シラブル。 CH=チャネル番号又は1/0デバイス・アドレス。 F=出力アドレスを指定する09(1金隼)の機能コー
ド。 CPUファームウェアによる10LDソフトウェア命令
の実行中、アドレスが出力された後、CPUファームウ ェアがこの機能コードを0D(16進)に変更して範囲
を出力する。 CAS=CHおよびFを含む制御ワードを指示する制御
ワード・アドレス・シラプル。 CASの書式はDASと同じである(10ソフトウェア
命令参照)。 RAS=範囲アドレス・シラブル。 これは、データのバイト数に照して1/0バッファの範
囲が1/0チャネルの転送されるべき 場所を指示する。 RASの書式はOASと同じである(10ソフトウェア
命令参 照)。 10LD命令の実行はCPUファームウェアにより制御
される。 ソフトウェア10LD命令実行については第29図参照
。10LD実行中のシステム・バス操作および実行後の
1/0バッファ転送の1/0コントローラ要求について
は既に述べた。 CPUファームウェアによる10LD命令実行は指向さ
れるIOCタイプにより決定される如く変化し、詳細に
は、・DMAI/○コントローラに指向された10LD
命令は2つのシステム・バス転送を生じる。 即ち、第1の転送は主メモリー内の1/0バッファ開始
ロケーションを指定する17ビットのバイト・アドレス
であり、第2の転送は16ビットの範囲値であり、1/
0操作の間転送されるバイト数に塞いで1/0バッファ
のサイズを指定する。これはチャネルにとって2つの別
々のバス転送の如く見え、これ等はアドレス転送に関し
ては機能コード09(16隻)そして範囲転送に関して
は機能コード血を有する。プログラムは、10LD命令
制御ワーNこおける第1の機能コードを指定するだけで
よく、CPUファームウェアは第2の機能コードを生成
する。 アドレス転送:第1の転送は17ビットの量であり、こ
れは1/0バッファに対するデータの転入出のための開
始バイト・アドレスとしてチャネルによって使用される
。 範囲の転送:第2の転送は16ビットの範囲値であり、
これはDMA操作の間転送されるバイト数を表示する。
この範囲は、範囲値が0000乃至7FFF(16進)
である正の整数のデータ・ワードである。この範囲の転
送が生じると、これも又1/0バッファに対するデータ
転送要求を開始するようにある1/0コントローラを条
件付ける。データ転送は、IOC特定機能コードをもつ
10ソフトウェア命令の使用により他の1/0コントロ
ーラにおいて開始される。。・DMCIOCに指向され
る10LD命令は、適当なプログラム・チャネル表のェ
ントリ内に17ビット・バイト・アドレスおよび16ビ
ットの範囲値をCPUに記憶させる。 (第30図参照)1/0操作の完了時に、残余アドレス
および範囲はPCTにおいて使用可能となる。CPUは
又2つの転送を生じ、これによりシステム・バス上でバ
ッファ・アドレスおよび範囲を1/0コントローラへ送
出する。もしプログラマが範囲値零を符号化すれば、あ
る1/0コントローラの特定動作が必要とされる。この
条件をDMCIOCに通知するため、DMCチャネルに
指向される10LDの実行中、CPUが1/0コントロ
ーフへ範囲終り信号を送る。あるDMC I/○コント
ローラはこの条件を無視する。次に第29図に関して、
10LDソフトウェア命令を実施するため使用されるC
PUファームウェアについて詳細に説明する。 再び第28図に関して説明したように、第29図におい
ては、フローチャートに示したブロックと各ブ。ツクの
構成に使用したCPUファームウェア・マイクロ命令の
数との間には必らずしも1対1の対応関係はないことに
留意すべきである。CPUフアームウエアはブロック9
0 1において10LDソフトウェア命令の処理を開始
し、こ)でファームウェアは主メモリーからソフトウェ
ア(SW)命令の最初のワードを取出す。 主メモリーからのソフトウェア命令の最初のワードの議
出しに続いて、このソフトウェアはソフトウヱア割込み
が禾完であるかどうかについて知るためにテストを行う
(第29図には示されず、第33図および第34図参照
)。もしどのソフトウェア割込みも禾完でなければブロ
ック902に入り、ソフトウェア命令の最初のワードを
指示するプログラム・カウンタが保管され、メモリーが
次のCPUサイクルの間アクセスされないためメモリー
・リフレツシュ操作が開始され、主メモリーから取出さ
れたソフトウェア命令のOPコードのテストが行われる
。もし主メモリーから取出されたソフトウェア命令のO
Pコードが10LDソフトウェア命令であれば、ブロッ
ク942に入った10LDソフトウェア命令と関連する
CPUファームウェア・ルーチンが実行される。第29
図のブロック901と902は第28図のブロック90
1と902に示されたものと同じファームウェア命令で
ある。フロツク943において、CPUフアームウエア
は、アドレス・アドレス・シラブル(AAS)(第27
図参照)を用いてバイト・アドレスを決定する。もし指
標付けが指定されれば、指標値はワードではなくバイト
に基〈。AASにより指定されるバイト・アドレスは、
IOCとの間でデータの転入出が生じる1/0バッファ
の主メモリー内の開始バイト・ロケーションを指定する
(第30図参照)。ブロック944においては、CPU
ファームウェアは、必要に応じてCASを用いて10L
Dソフトウェア命令により指定されるチャネル番‐号お
よび機能コードを決定する(第27B図参照)。ブロッ
ク945においては、機能コードが09(16隻)であ
るかどうかを決定するため機能コードについてテストが
行われ、もし09でなければ、トラツプ16がブロック
949により行われてプログラム・エラーを表示し、1
0LDソフト命令の実行が終了される。もしブロック9
45が、機能コードが出力アドレス機能コード(09
1金隼表示)であることを決定すれば、ブロック946
に入る。フロツク946においては、CPUフアームウ
ェアが範囲アドレス・シラブル(RAS)を用いて1/
0転送の範囲(バイト数)を決定し、この範囲をSPM
の作業ロケーションに記憶する。 フロック947において、チャネル番号および機能コー
ドがシステム・バスのアドレス/データ回線BUSXO
O乃至BUSX1 5上をIOCに送られる(第17
図の1/0指命書式参照)。更に、フロック947にお
いて、CPUがシステム・バスRDDT回線上にCPC
MD指令を送り、全てのIOCに対してチャネル番号お
よび機能コードはシステム・バス上に存在することを表
示する(第20図参照)。CPUがCPCMD指令を送
出するのに続いて、ファームウェアが1/0命令進行フ
ァームウェアに入り(第28図のブロック948)、ア
ドレス指定(チャネル番号による)されたIOCがCP
CMD指令を受入れあるいは拒絶するか、あるいはIO
Cが再び1/0ソフトウェア命令を試行すること(即ち
、待機)をCPU‘こ通知する迄ループ動作する。もし
アドレス指定されたIOCがCPCMD指令を肯定応答
すれば、ブロック948はブロック951に出る。CP
Uファームウェアが進行条件を検出する時(即ち、応答
するIOCは、システム・バスのPROCED回線をロ
ーにセットし、PBUSY回線をハイのままにする)、
ブロック951に入る。 フロツク951においては、CPUフアームウエアは入
出力標識(1)レジスタに2進数1をセットし、更にP
DMCIOフロップにシステム・バスPBYTEX回線
の状態を記憶する。もしシステム・バスのPBYTEX
回線が/・ィであれば、応答するIOCがDMCIOC
であることを表示し、もしローならば応答するIOCが
DMAIOCであることを示す(第20図参照)。この
時CPUファームウェアは応答するIOCに対してシス
テム・バスのRODT回線上にASCMD指令を送出し
てCPU−IOCリンクを確立する。ブロック953に
おいては、機能コードがテストされる。もしこの機能コ
ードが09(16隻)で出力アドレス機能コードを表示
すればブロック954に入る。ブロック954において
は、機能コードを4だけ増補して09(16進)の出力
アドレス機能コードを血(16進)の出力範囲機能コー
ドに変化させる。機能コードを09からODに増補する
ことにより、ファームウェアがブロック947に入った
後10LDソフトウェア命令の出力範囲機能について再
び実行される時、ブロック953が出力範囲経路をとっ
てブロック964に行く。機能コードの増補の後ブロッ
ク955に入り、PDMCIOフロップがテストされて
CPCMD指命に応答したIOCのタイプを決定する。
もし応答するIOCがDMC IOCであればブロック
9 5 6に入り、AASにより決定される10バッフ
ァ開始バイト・アドレスはスクラツチパツド・メモリー
内の指定されたチャネル番号と関連したプログラム・チ
ャネル表ェント川こ記憶される(第30図参照)。又、
ブロック956においては、その10バッファの開始バ
イト・アドレスはシステム・バスのアドレス/データ回
線BUSXOO乃至BUSX15におかれ、これととも
にシステム・バス回線PBYTEXによりこれがバイト
零かバイト1かを表示する。更に、フロック956はE
OFLK指令をIOCに送り、IOC‘こ対するデータ
がシステム・バス上にあることを表示する。バッファの
開始バイト・アドレスはDMCおよびDMAのIOCに
対するシステム・バス上で同報通信されるが、DMCI
OCはこの開始バイト・アドレスを無視する。ブロック
956におけるEOFLK指令のIOCに対する送出は
ブロック952において送出されたASCN■指令によ
り確立されたCPU−IOCリンクを終了させる。フロ
ツク957においては、CPUファームウェアは、1/
0バッファの開始バイト・アドレスを取りそして1/0
バッファの範囲(バイトにおける)を加算することによ
り1/0バッファの上限を決定する。フロツク958に
おいては、CPUフアームウェアは、1/0バッファの
最終バイトがシステム内に物理的に存在する主メモリー
内に存在するかどうかを決定するが、これは1/0バッ
ファの最終ワード(最終バイトを含む)をアドレス指定
するメモリー・リフレッシュ操作を実行することにより
行う。 もしCPUロジックが不在メモリー・ロケーションのア
ドレス指定の試みを検出するならば、ハードウエア割込
みが生じてブロック970へ入り、トラップ15へ分岐
して(ブロック96 1)10LDソフトウェア命令の
実行を終了する。もし1/0バッファの最終バイトがシ
ステム内に物理的に存在する主メモリー内に含まれるな
らばブロック959に入り、別の検査を行なって、1/
0バッファが64Kワード・メモリーの上端から下位の
アドレス・メモリー・ロケーションに循環したかどうか
を知る。もし循環が生じるならばブロック961に入り
、トラップ15(使用不熊ネの資源)が実行され、10
LDソフトウェア命令の実行が終了させられる。もし1
/0バッファが循環しなければ、ブロック959はブロ
ック9601こ出て10LDファームウェアに再び入り
、範囲を出力する。ブロック96川まブロック950に
入り、これからブロック947へ入り、この時点の出力
範囲(OD、16進)機能コードで処理を開始する。次
にブロック955に戻って、もしIOCタイプがDMA
IOCであればブロック962に入る。 ブロック962においては、1/0バッファの開始バイ
ト・アドレスがシステム・バスのアドレス/データ回線
BUSXOO乃至BUSX1 5上をDMAIOCに送
られ(第17図のメモリー・アドレス書式参照)、これ
とともにシステム・バスの回線PBYTEXでバイト雫
又はバイト1を表示する。フロツク962も又EOFL
K指令をシステム・バスのRDDT回線上のIOCに対
して送出し、これによりのCに対してアドレスがシステ
ム・バス上にあることを通知し、又ブロック952にお
いて前述の如く確立されたCPU−IOCリンクを終了
させる。次にCPUファームウェアがブロック963に
出て範囲を出力し、更にブロック950を介してブロッ
ク947に入る。フロック947に2回目に入って範囲
をIOCに対して出力する時、チャネル番号および機龍
コ−ドは再びCPCMD指令と共にIOCに送られる。 アドレス指定されたIOCが進行で応答する時、ブロッ
ク951に入り、その後ブロック952が続いて2回目
のCPU−IOCリンクを再び確立する。この時ブロッ
ク953に入って機能コードがテストされ、この時出力
範囲機能コード血(16進)のためブロック964に入
る。ブロック964においては、PDMCIOフロツプ
がテストされてIOCタイプを決定し、もしDMCIO
Cが応答すればブロック965に入る。ブロック965
においては、CPUファームウェアが範囲をSPMの作
業ロケーションから取り、この範囲をチャネル番号と関
連するプログラム・チャネル表ェントリの第2のワー日
こ記憶する(第30図参照)。ブロック965に続いて
、もしDMCIOC又はDMAIOCが応答したらブロ
ック966に入り、10LDソフトウェア命令に指定さ
れた範囲が零に等しいかどうかを決定するためテストが
行われる。もし範囲が零であれば、ブロック967に入
ってCPUが指令EOFRGをシステム・バスRDDT
回線上でIOCに送出する。ある1/0コントローラは
その状態標識にこの範囲終り条件を記憶し、他のIOC
はこの条件を無視する。ブロック968においてはCP
Uがこの範囲をバイト数でシステム・バスのアドレス/
データ回線上でIOCに送出し(第17図のデータ・ワ
ード書式参照)、又EOFLK指令をシステム・バスの
RDDT回線上に送出する。DMAIOCとDMC I
OCのあるものとはIOC内にその範囲を記憶し、他の
DMCIOCはこの範囲を無視する。ブロック968に
おけるEOFLK指令はブロック952において確立さ
れたCPU−IOCリンクを終了させ、他の用途のため
このシステム・バスを解放する。CPU−IOCリンク
の終了で10LDソフトウェア命令の処理を完了し、C
PUファームウェアはブロック969に出て次のソフト
ウェア命令を取出す。10LDソフトウェア命令の論述
を終るに先立ち、ソフトウェアの観点から、ソフトウェ
ア10LD命令の実行結果は1/0コントローラがDM
A I/○コ・ントローラであるかDMC I/○コン
トローラであるかに拘わらず同じであることに留意すべ
きである。 DMAとDMCの1/0コントローラ間の差はCPUフ
ァームウェアによりソフトウェアからマスクされること
である。再び10ソフトウェア命令の場合と同様に、プ
ログラマは入出力プログラムを書込んでいるデバイスが
DMAI/〇コントローラとDMCI/〇コントローラ
のいずれに取付けられているのかを認識する必要はない
。ソフトウエア・プログラマはIOCタイプについて認
識する必要はないが、デバイスがDMAIOCとDMC
IOCのどちらに接続されるかに依存して、1/0バッ
ファ限界越えを指定する10LD命令に対しシステムが
応答する方法に相異がある。 前述の如く、DMC I/○コントローラにおいては、
10LDCPUフアームウエアが1/0バッファの終り
がシステムに存在する物理的メモリー内にあるかどうか
を検査し、もしなければ使用不能な資源(トラツプ15
)が生じ、10LDソフトウェア命令の実行はIOCと
主メモリーとの間にデータ転送を開始することなく終了
される。システム内の主メモリーが物理的に連続してい
る(即ち、アドレス空間に空孔がない)これが必要であ
るため、もし10バッファの主メモリーの終端ロケーシ
ョンがシステム内で物理的に存在するならば、開始ロケ
ーションと中間のロケーションも又存在しなくてはなら
ない。従って、DMC I/○コントローラに対するこ
の最初の検査が、個々のロケーションが個々のDMCデ
ータ転送操作時にシステムに物理的に存在するかどうか
の検査の必要を軽減することになる。DMAI/○コン
トローフについては、最初の1/0バッファ範囲検査は
行われず、アドレス指定されたロケーションが主メモリ
ー内に物理的に存在するかどうかを決定するため各DM
Aデータ転送中に検査が行われる。従つて、DMAI/
○コントローラは、システム・バスの回線M旧MMER
又はPMMPARで受取られる使用不能資源の標識を記
憶し、かつ転送の状態がCPUにより要求される時CP
川こ後で通知するためのこのエラー標識を記憶すること
ができなければならない。Fgハiii 1O日命令 10日ソフトウェア命令は1/0コントローラとの間で
制御バイト又はデータを送受するために使用される。 この命令は、ワード転送の代物こバイト転送を取扱う点
を除けば10命令と類似する。10ソフトウェア命令の
場合と同様、CPUファームウェアは10日命令の実行
を制御する。 10日命令のフローチャートは下記の点を異にする外は
10命令のそれと同様である。 次に第28図によれば、10日命令に対しては、ブロッ
ク904においてバイト・アドレススが決定され、ブロ
ック927においては1バイトのデータがアクセスされ
、ブロック928においては1バイトがIOCに送られ
、ブロック933においては1バイトがIOCから読出
される。10日命令の実行中のシステム・バス操作につ
いては既に述べた。 Fgニ トラツプおよびソフトウェア割込みソフトウェ
ア割込みは、現行ソフトウェア命令の完了時に対処され
る電源故障、IOC割込み等の如きCP山こより実行さ
れている現行命令にとって外部の事象により生じる。 しかし、トラツプは、パリティ・ェフー、プログラム・
ェフ−、不在資源アドレス指定等の如き現行ソフトウェ
ア命令と関連する事象によって惹起され、命令完了を待
つことなく即時対処される。Fgニi ソフトウェア割
込み 中央プロセサにおける各プログラムはあるソフトウェア
優先順位レベルにおいて実行するが、より高い優先順位
を有する事象により割込みされ得る。 割込みを行う各事象はある優先順位レベルを割当てられ
る。ソフトウェア割込みは0から63まで付番された6
4のレベルがあり、レベル0が最高、63が最低の陵先
順位を持つ。優先レベル0,1および2は固定事象に対
し予約され、他の事象はソフトウェアにより動的に割込
みレベルを割当てられている。望ましい実施態様におい
ては、64のソフトウェア割込みレベルが下記の如く割
当てられる。即ち、電源故障はしベル0(最高のレベル
)、監視タイマー(WDT)切れはしペルー、使用ごれ
た最終トラップ保管城はしベル2、実時間クロック(R
TC)は0〜2以外の任意のレベル(ソフトウェア割当
てレベルは主メモリーのロケーション0016(16進
)で表示される)、周辺デバイス又はIOCのサービス
要求は0〜2以外の任意のレベル(ソフトウェアにより
動的に制御される)レベル変更(LEV)ソフトウェア
命令はどのレベルでもよい(このレベルはLEVソフト
ウェア命令において規定される)。各ソフトウェア割込
みレベルと関連するのは割込みベクトルを含む専用化さ
れた主メモリー・ロケーションである。この割込みベク
トルは、レベルと関連する割込み保管域(第31図)へ
のポィンタである。ソフトウェアは、特定のソフトウェ
ア・プログラムにおいて活動的な各レベルに対し割込み
保管城をセットアップする。割込み保管城は常に6つの
ロケーションを保有し、別の16のロケーションを有す
ることもできる。各割込み保管城のレイアウトは下記の
如くである。第1のロケーションはこのレベルと現在関
連するトラップ保管域TSAPのリストに対するポィン
タである。 第2のロケーションは割込みを行うデバイス(DEV)
のチャネル番号および割込みレベルを保有する。 このロケーションはCPUファームウェアによってロー
ドされる。第3のロケーションは割込み保管マスク (ISM)を保有する。 このマスクはどのレジスタが可変場所で保管されるべき
かを決定する。第4のロケーションは将来の使用のため
予約され、零でなければならない(M旧Z)。第5のロ
ケーションは割込みハンドラ手順(IHP)ポィンタを
有する。 これは新らしいレベルに対する割込み取扱い手順(ソフ
トウェア・プログラム)へのポインタとして作用し、割
込み取扱い手順からの復帰のため復帰アドレスを記憶す
るために使用される。第6のロケーションは状態(S)
レジスタ(例、割込みレベルおよび(CPUID)を記
憶する。 残りのコケーションは割込み保管マスクの制御下で記憶
されるレジスタ用の予約される。もしマスクが全て零で
あれば、これ等のロケーションは全て使用されない。各
割込み優先レベルに対する活動/不活動フラッグ・ビッ
トが専用化された主メモリーに保持される(第32図参
照)。 フラッグはソフトウェア命令が開始される時セットされ
、ソフトウェア・レベル変化(LEV)命令によりセッ
ト/リセットされる。CPUファームウェアはこれ等フ
ラッグを走査して処理されるべき最高レベルのソフトウ
ェア割込みを決定する。Fgニii トラツフ。 トラップは現行ソフト命令の実行と同期する事象によっ
て生じる。 各タイプのトラップと関連しているのは、ソフトウェア
・トラップ取扱手順に対するポィンタを含む専用化され
た主メモリ−・ロケーションである。これ等のロケーシ
ョンはトラップ・ベクトル(TV)と呼ばれる。17の
トラップ・ベクトルが使用可能(第32図におけるロケ
ーション006F乃至007F)であるが、本実施例に
おいてはその全ては使用されない。 本実施例では、カッコ内に示されたトラツプ・ベクトル
数を有する下記の事象の取扱いに使用されるトラップ・
ベクトルを有する。即ち、パリティ・エラー17、プロ
グラム・エラー16、使用不能資源15、特権操作違法
13、整数演算オーバーフロー6、組込まれない(科学
計算ではない)操作5、組込まれない科学計算3、追跡
/区切り点トラップ2、およびモニター呼出し1である
。トラツプ事象が生じると、CPUファームウェアがソ
フトウェア命令の実行を打切ってトラップを生じ、主メ
モリー内の関連するトラップ・ベクトルからトラップ取
扱い手順ポインタを抜出してそのトラップ・ハンドラに
分岐する。トラップはどのソフトウヱア割込みレベルで
も生じ得、いくつかのトラップが一時に継続され得る。
トラップは、ソフトウェア・トラッブ手順の実行中割込
まれる1つのソフトウェア・レベルで入り得、同じソフ
トウェア・トラツプ手順が異なるレベルで入り得、ある
いは新らしいトラップが元のトラップの処理中生じ得る
。この可能性を調整するため、トラップ保管域のプール
が使用可能である。 これ等のトラップ保管城は主メモリー内保持され、この
トラップと関連するあるレジスタおよび情報を記憶する
ために使用される(第31図参照)。専用化された主メ
モリー・ロケーション0010(頭)は常に次に使用可
能なトラップ保管城を指示する。トラップが生じると、
CDUファームウェアが次の使用可能なトラップ保管城
において関連するレジスタの文脈を記憶し、現行割込み
保管域の最初のワ−ド‘こおけるポィンタ(TSAP)
がトラップ保管城を指示する(即ち、新らしいトラツプ
保管域がリストの始めにリンクされる)ように調整され
る。トラップ保管城リンク(TSAL)の最初のロケー
ションにおけるポィン夕は同じ割込みレベルで生じた他
のトラッブを指示するりンクである。もしこのロケーシ
ョンがリストにおいて空であれば、これは、この保管城
がソフトウェア割込みレベルに対する最後のトラッププ
保管域であることを表示する。もしリンクが空でなけれ
ば、これはこのソフトウェア割込みレベルと関連する次
のトラップ保管城を指示する。更に、トラツプ保管城を
指示する最初のロケーションは、空であるかあるいはこ
のソフトウェア割込みレベルに対する別のトラップ保管
城を指示する。各トラップ取扱い手順の終りでは、トラ
ツプ・ソフトウェア命令からの戻りが実行されねばなら
ず、このため保管されたトラツブ文脈の復元を生じ、リ
ストの始めからのトラップ保管域のりンクを解き、リン
ク・ポィンタをその元の状態にリセットする。トラツプ
と割込みとそのベクトル・リンクの関係は第31図に示
す。 トラツプ・ベクトルはトラップ取扱い手順を指示する。
このトラップ保管城は割込みレベルと関連している。割
込みベクトルは割込み保管域を指示し、これが更に関連
するトラップ保管域および割込み取扱い手順を指示する
。トラップ保管域は下記の情報を保持する。即ち、最初
のロケーションはこの割込みレベルと関連する他のトラ
ツプ保管城を指示するトラップ保管リンク(TSAL)
を有する。 第2のロケーションはトラップが生じる時標識(1)レ
ジスタの内容を記憶する。 第3のロケーションはトラツプが生じた時汎用レジスタ
R3の内容を記憶する。 第4のロケーションはトラップが生じるソフトウェア命
令(INST)の最初のワードを記憶する。 第5図のロケーションZは種々の情報(即ち、トラツプ
された命令のサイズ、フィールド情報の有効性、特権状
態等)を記憶する。 第6のロケーションAはトラップされたソフトウェア命
令により生成される実効アドレスを記憶する。 第7のロケーションはトラップ取扱い手順からの復帰に
用いられるプログラム(P)カウンタ・アドレスを記憶
する。 第8のロケーションはトラップが生じる時基底B3レジ
ス夕の内容を記憶する。 G ファームウェアの概要 Ga ファームウェア・フローの概説 CPUフア−ムウエアは、1024ワード×48ビット
の読出し専用ストア(ROS)(第9図の素子238)
に常駐する1組の機能ルーチンからなる。 これ等のルーチンは、ソフトウェア命令およびハードウ
ェア条件に応答して種々のハードウェア動作を制御する
。これ等の動作は、初期化/パワーアップの自動スター
ト、命令の取出し、命令の実行、および割込み(ハ−ド
ウェア又はソフトウェア)である。ファームウェア・ス
テップが復号されるとき、2つのレジスタの内容をAL
Uに算術的に加算させてレジスタ内容を再びレジスタの
1つにロードさせたり、要求をスクラッチパツド・メモ
リーに書込ませたり等のある種のハードウェア動作が生
じる。 順序付けは、マイクロ動作をマイクロ命令に分類して次
にマイクロ命令の分類を行うことにより行われる。 1つのマイクロ命令は500ナノ秒の各フアームウエア
・ステップ(CPUサイクル)の間に実施される。 これ等のマイクロ命令シーケンスはマイクロルーチン又
はマイクロプログラムと呼ばれる。これ等はソフトウェ
ア制御のシステム・プログラミングとハードウェア動作
との間のりンクを与える。CPUファームウェア制御下
で行われる主メモリーからのソフトウェア命令の取出し
の間、実行されるべきソフトウェア割込み及びソフトウ
ェア命令の書式に関する分岐が実行され、それによって
未完のソフトウェア割込み又は主メモリーから丁度読出
されたばかりのソフトウェア命令を処理するためファー
ムウェアを含むROS内の特定のマイク。 ルーチンを選択する。マイクロル−チンの各ファームウ
ェア命令(マイクロ命令)復号されるとき、これは更に
適正なハードウェア経路を付勢する。指定されたマイク
ロ命令が実行された後、次のファームウェア・マイクロ
命令がアドレス指定されて実行されるか、分岐先のマイ
クロ命令が実行される。 ある状況下では、次のマイクロ命令アドレスの決定のた
め条件分岐テストが行われる。このように、CPUフア
ームウエアはソフトウェア命令の実行の完了に必要な種
々のシーケンスに沿って循環する。完了すると、次のソ
フトウェア命令が主メモリーから取出されて同機に実行
される。一般的なファームウェア・フローを第33図に
示す。 本システムは、システムに電力を供給する(ブロック3
50)か、制御パネル上のCLEAR押しボタンを押す
(ブロック352)ことにより初期化される。初期化シ
ーケンス(ブロック354)はファームウェア常駐品質
論理テスト(QLT)を実行し、そしてソフトウェアを
システム・バスに取付けられたある周辺デバイスから主
メモリーヘブートロードする。 ブートロードが完了すると、ソフトウェア命令抽出(ブ
ロック356)および実行(ブロック358)のための
ファームウェア・ループに入る。もしトラップ条件が生
じると、トラツプ・ファームウェアに入ったこの条件を
処理する。トラツプ・ルーチン(ブ。ック362)のフ
ァームウェアはトラップ条件の初期処理を行い、優先順
位レベル変更ルーチン(ブロック374)に出る。この
優先順位レベル変更ルーチンにおいては、ソフトウェア
の優先順位レベル変更は行われない(即ち、トラップを
生じたソフトウェア命令のレベルと同じソフトウェア優
先順位レベルでトラツプが処理される)が、ファームウ
ェアがトラップ保管域の処理を完了し、そしてプログラ
ム・カウンタをセットアップしそれによって、ソフトウ
ェア命令抽出シーケンスへ出る時にトラップ取扱い手順
の最初のソフトウェア命令が抜出されるようにする。ソ
フトウェア・トラップ取扱い手順は、「トラップからの
復帰(RTT)ソフトウェア命令」を実行することによ
り終了し、このソフトウェア命令はトラップ保管域に保
管されたレジスタを復元してそして実行されるべき次の
ソフトウェア命令(トラップを生じた事象によって決定
される)への復帰を制御する。第33図のトラップ・ル
ーチン・フロック362は、1組のCPUファームウェ
ア・マイクロ命令であり、第31図に示されるソフトウ
ェア・トラップ取扱手順の実行をCPUが開始する準備
において実行される。再び第33図において、1/0ソ
フトウェア割込み(ブロック360)、監視タイマーW
DT(ブロック364)、又は実時間クロックRTC(
ブロック364)のいずれかのサービスは、ソフトウェ
ア命令の抽出シーケンスの完了時でかつソフトウェア命
令抽出シーケンスが開始される前にファームウェアによ
り実施される。 この割込みファームウェアの完了(ブロック360又は
364)時に、ファームウェアはソフトウェア命令抽出
シーケンスに再び分岐して戻る。もしソフトウェア割込
みのソフトウェア優先順位レベルがブロック360にお
けるファームウェアにより決定される如きCP川こより
現在実行されつつあるプログラムの優先順位レベルより
も高い場合、又はブロック364における監視タイマー
(WDT)又は実時間クロック(RTC)と関連するカ
ウンタが零に滅分される場合、優先順位レベル変更ファ
−ムウェア・ルーチン・ブロック374に入り、現在実
行中のソフトウェア・プログラムは中断される。 優先順位レベルの変更の場合は、優先順位レベル変更ル
ーチンはソフトウェア命令抽出シーケンスに出(ブロッ
ク356)、サービス中のソフトウェア割込みと関連す
る割込み取扱い手順の最初のソフトウェア命令の実行を
開始する。ソフトウェア割込み取扱手順の完了時に、C
PUはソフトウェア・レベル変更(LEV)命令の実行
によりソフトウェア優先順位レベルを変更する。もし割
込みを受けたプログラムが実行を待機する最高優先順位
レベルであれば、ファームウェアは、抽出と実行との間
で割込みを受けたそのソフトウェア命令を再び抽出する
ことによりその割込みを受けたソフトウェア・プログラ
ムの実行をピックアップする。もしソフトウェア割込み
のソフトウェア優先順位レベルが現在CPUにより実行
されつ)あるプログラムの優先順位レベル(再びブロッ
ク360におけるファームウェアにより決定される)よ
り低いかこれと同じであれば、ソフトウェア優先順位レ
ベルは変更されず、割込みルーチン・フロック360は
ブロック356におけるソフトウェア命令抽出シーケン
スへ再び分岐することにより出て、その実行が打切られ
たソフトウェア命令の再抽出を生じることになる。この
場合、比較的低い優先順位のソフトウェア割込みは未完
状態のままであり、この割込みは、最終的に優先順位レ
ベル変更ルーチン・フロック374に入.ることにより
実行されるソフトウェア・プログラムの優先順位レベル
をCPUが下げる時順番を与えられる。第33図のソフ
トウェア割込みルーチソ・フロック360と優先順位レ
ベル変更ルーチン374は1組のCPUフア−ムウェア
・マイクロ命令であり、これが第31図に示されるソフ
トウェア割込み取扱い手順の実行を開始するCPUの準
備のため実行される。再び第33図において、もしハー
ドウェア割込み条件が検出出されると、ハードウェア割
込みファームウェア(ブロック370)への即時強制ェ
ントリ(ブロック368)が実行され、この条件がサー
ビスされる。 ハードウェア割込みシーケンスの完了時に、割込みを受
けたファームウェア・フローへの戻り分岐(ブロック3
72)が実行される。Gb ソフトウエア割込み、トラ
ツプ、ハードウェア割込みの対話CPUによって実行さ
れるソフトウェア・プログラムとCPUファームウェア
との関係は、ソフトウェア割込み、トラツプおよびハー
ドウェア割込み対話を示す第34図において知ることが
できる。 Gbイ ソフトウエア・プログラム 第34図において、CPU‘こおいて実行中の現行ソフ
トウエア(SW)プログラムはブロック380として示
される。 望ましい実施態様においては、実行中に現行ソフトウェ
ア・プログラム380は主メモリーに常駐し、ファーム
ウェア制御下のCPUにより一時に1つの命令が主メモ
リーから読出されて処理される。第34図においては3
つのソフトウェア命令、即ち前のソフトウェア命令31
8S、現行ソフトウェア命令382S、および次のソフ
トウェア命令383Sが詳細に示される。修飾辞の「前
の↓「現行」および「次の」はソフトウェア命令の一時
的関係を取扱うもので、必らずしもソフトウェア命令の
空間的な関係について述べるものではない。即ち、実際
において、前のソフトウェア命令は主メモリー内のロケ
ーション10001こおかれ、もしこれが分岐命令であ
れば、これはロケーション2000におかれた現行ソフ
トウェア命令に分岐し、次のソフトウェア命令はロケー
ション2001におかれてもよい。従って、修飾辞「前
の」、「現行」、「次の」は命令が実行される順序を記
述し、必らずしも王〆モリー内の相対的位置を述べるも
のではない。Gbロ フアームウヱア・マイクロプログ
ラム再び第34図において、前のソフトウェア命令ファ
ームウェア・ブロック381F、現行ソフトウェア命令
ファームウェア・ブロック382F、および次のソフト
ウェア命令ファームウェア・ブロック383Fは、それ
ぞれ前のソフトウヱア命令381S、現行ソフトウェア
命令382Sおよび次のソフトウェア命令383Sの処
理において実行されるCPUファームウェア・マイクロ
命令のシーケンスを表わす。ブロック381F乃至38
3Fにより表わされるファームウェアは、実行されるC
PUファームウェア・マイクロ命令のシーケンスを表わ
すが、必らずしもファームウェアROS(第9図の23
8)に個々に記憶されるファームウェア・マイクロ命令
自体を表わすとは限らない。又、もし現行ソフトウェア
命令382Sが前のソフトウェア命令381Sと同じも
のであれば、ブロック382Fで実行されるファームウ
ェア命令がブロック381Fで実行されるファームウェ
ア命令と同じものが可能であることが判る。特に、現行
ソフトウェア命令ファームウェア・ブロック382F内
の抽出ファームウェア・ブロック384も又、ソフトウ
ェア割込み判断ブロック385と同様前のソフトウェア
命令ファームウェア・ブロック381Fおよび次のソフ
トウェア命令ファームウエア・ブロック383Fにおい
て実行され、その相万は実行される特定のソフトウェア
命令とは無関係であることが判る。ソフトウェア命令の
関係と同様に、ソフトウェア命令ファームウェアに関す
る用語「前の」、「現行」および「次の」はファームウ
ェアの実行シーケンス間の一時的関係を示し、ファーム
ウェアROS内に記憶された通りのファームウェア命令
それ自体の空間的関係を表わすものではない。このよう
に、第34図においては、前のソフトウェア命令ファー
ムウェア381Fが前のソフトウェア命令381Sの処
理を完了する時に現行ソフトウェア命令ファームウェア
382Fに入り、又その完了時に次のソフトウェア命令
ファームウェア383Fに入ることが判る。Gbハ ソ
フトウェア割込み、ハードウェア割込み、およびトラツ
プ次に現行ソフトウェア命令ファームウェアブロック3
82Fに関しては、現行ソフトウェア命令382Sの実
行はソフトウェア割込み、ハードウェア割込み又はトラ
ップの発生によって中断され得ることが判る。 以下において判るように、1つのソフトウェア割込みの
発生は常に現行ソフトウェア命令の処理の中止をもたら
し、ソフトウェア割込みの優先順位レベルに依存して現
行ソフトウェア命令の実行の再開に先立ってソフトウェ
ア割込み取扱手順の実行をもたらし得る。あるハードウ
ェア割込みの発生は現行ソフトウェア命令ファームウェ
アの実行の中止をもたらし、その間CPUファームウェ
アはハードウェア割込みを処理し、その完了時にハード
ウェア割込み時の現行ソフトウェア命令の処理に復帰す
る。1つのトラッブの発生は現行ソフトウェア命令の実
行の放棄およびこのトラツプの処理に専用化された1組
のソフトウェア命令であるトラツプ取扱手順によるトラ
ップの処理をもたらすことになる。 トラツプ取扱手順ソフトウェアの完了時に、トラツプさ
れたソフトウェア命令に続く次のソフトウェア命令が処
理され、あるいは以下で明らかになるように別のソフト
ウェア・プログラム実行が開始され得る。Gbハi ソ
フトウェア割込み 次に、現行ソフトウェア命令ファームウェア382Fに
ついて詳細に論述する。 CPUファームウェアによる現行ソフトウェア命令の処
理は、ブロック384においてファームウェア制御下で
主メモリーから現行ソフトウェア命令を抽出するファー
ムウェアによって開始される。現行ソフトウェア命令の
最初のワードの抽出の完了時に、ブロック385におい
て禾完のソフトウェア割込みがあるかどうかをテストす
るためファームウェア分岐が行われる。もし1つ以上の
ソフトウェア割込みが未完であれば、ファームウェア分
岐が最高優先順位の禾完ソフトウェア割込みのファーム
ウェア・マイクロプログラムへ分岐する。第34図にお
いては2つのソフトウェア割込みファームウェア・ルー
チン則ちブロック388一1および388一2が示され
、その各々は特定のソフトウェア割込みを取扱うCPU
ファームウェア・マイクロプログラムを表わす。388
一2の如き特定のソフトウェア割込みファームウェア・
マイクロプログラム内では、ソフトウェア割込みの優先
順位が現在実行中のソフトウェア・プログラムの優先順
位より高いかどうかを知るためテストが行われる。 このテストはブロック389において行われる。もしこ
のソフトウェア割込みが現在実行中のソフトウェア・プ
ログラムのそれより低いかあるいはこれと等しければ、
割込みは受入れられず、フロック389からの低いか等
しい分岐が行われ、ファームウェアは、ブロック382
Fに入り続いてブロック384において主メモリーから
現行ソフトウェア命令の再抽出を行うことにより現行ソ
フトウェア命令の実行を再開する。もしこのソフトウェ
ア命令の優先順位が現在実行中のソフトウェア・プログ
ラムより高い場合にはソフトウェア割込みは受入れられ
、ブロック389からブロック390‘こ入り、このブ
ロックは現行ソフトウェア・プログラムの状態を保管す
る割込み保管城をセットアップし、そしてこのソフトウ
ェア割込みと関連するソフトウェア割込み取扱い手順に
分岐する。ブロック391において1組のソフトウェア
命令であるソフトウェア割込み取扱い手順がこの時実行
されて、それに含まれるソフトウェア命令の各々がCP
Uファームウェアによって処理される。ソフトウェア割
込み取扱い手順ソフトウェアにおける最後の命令がレベ
ル変更(LEV)ソフトウェア命令391Lであり、こ
の命令が実行を待機中の最高優先順位のソフトウェア・
プログラムに対するCPUファームウェア走査をもたら
す。 このレベル変更ソフトウェア命令391Lはしベル変更
命令ファームウェア・マイクロプログラム392により
実行され、これはブロック393において現在実行を待
機中の最高優先順位のソフトウェア・プログラムを決定
する。もし更に高い優先順位のソフトウェア・プログラ
ム394が実行を待機中であれば、このソフトウェア・
プログラムがCPUファームウェア制御下で実行され、
そして又LEVソフトウェア命令394Lによって終了
される。ソフトウェア命令394LのレベルはLEV命
令ファームウェア・マイクロプログラム392の実行を
もたらし、再び最高優先順位のソフトウェア・プログラ
ム・レベルに対するテストがブロック393で行われる
。もしこのブロック393におけるレベル・テストによ
り前に中止された現行ソフトウェア・プログラム380
が実行を待機中の最高優先順位のプログラムであること
を決定するならば、現行ソフトウェア命令ファームウェ
ア382日こ入り、現行ソフトウェア命令382Sが抽
出ファームウェア384により再抽出され、現行ソフト
ウェア命令のCPUファームウェア実行が続行する。要
約すれば、CPUファームウェアは、あるソフトウェア
命令の実行中にソフトウェア割込みの未完状況をテスト
し、ある特定のソフトウェア割込みを取扱うよう専用化
された特定のソフトウェア割込みファームウェア・マイ
クロプログラムにベクトル化され、このソフトウェア割
込みファームウェアは現行ソフトウェア・プ。 グラムの優先順位に対するそのソフトウェア割込みの優
先順位についてテストし、もしこの優先順位が現行ソフ
トウェア・プログラムの優先順位より低い又はこれに等
しい場合には、現行ソフトウェア・プログラムは割込み
されずCPUファームウェアによる現行ソフトウェア命
令の処理が再開されることが判る。一方、もしソフトウ
ェア割込みが現在実行中のソフトウェア・プログラムよ
り高い優先順位であるならば、割込み保管城に現行ソフ
トウェア・プログラムの状態を保管しかつそれ自体1組
のソフトウェア命令であるソフトウェア割込み取扱い手
順の実行を開始することによりそのソフトウェア割込み
はサービスされる。このソフトウェア割込み取扱い手順
は次にレベル変更ソフトウェア命令によって終了し、こ
のレベル・ソフトウェア命令は早晩割込みされた現行ソ
フトウェア命令の再活動化をもたらし、現行ソフトウェ
ア命令の実行が壬〆モリーからその現行ソフトウェア命
令を再抽出することにより再開される。○bハii ハ
ードウェア割込み 現行ソフトウェア命令の実行中に未完のソフトウェア割
込みがなければ、ブロック385が実行ファームウェア
・ブロック386に出る。 この実行ファームウェア・ブロック386は現行ソフト
ウェア命令の実行を完了するため必要なファームウェア
・ステップを実施する。ブロック386における実行フ
ァームウェアの実施の過程においてはハードウェア割込
みが生じ得る。ソフトウェア割込みの場合はCPUファ
ームウェアが検出して未完のソフトウェア割込のときに
特定のソフトウェア割込みファームウェア・ルーチンに
分岐してその特定の未完ソフトウェア割込みを取扱うの
であるが、これとは異なってハードウェア(HW)割込
みの場合は、CPUファームウェアによって検出されず
、その代りハードウェア割込みロジックがCPUファー
ムウェアを強制してハードウェア割込みと関連する一連
のマイクロ命令の実行を開始させることによりハードウ
ェア割込みが生ずる。第34図においては、4つのハー
ドウェア割込みファームウェア・マイクロプログラム3
95−1乃至395一4が示される。これ等のハードウ
ェア割込みファームウェア・マイクロプログラム395
ーー乃至395−4はCPUファームウェア・マイクロ
命令からなり、これ等はハードウェア割込みを生じた特
定の割込み条件を取扱うよう構成されている。これ等の
4つのハードウェア割込みマイクロプログラムの内、2
つは非トラツプ・ハードウェア割込み条件に対するもの
であり395−1および395一2として示される。非
トラップ条件ハードウェア割込みファームウェア・ルー
チン395−2についてみれば、マイクロプログラムの
最後のマイクロ命令395一2Rはハードウェア割込み
復帰マイクロ操作を含み、これはハードウェア割込みの
発生の直前に実行されたものに後続するフア−ムウェア
・マイクロ命令へのファームウェア復帰制御をもたらす
。例えば、ハードウェア割込みをもたらし得るある条件
はシステムリゞス上のDMAデータ転送要求の発生であ
る。この場合、CPUファームウェアによる現行ソフト
ウェア命令の実行が中止され、DMAデータ転送がCP
Uファームウェア・ルーチンによって取扱われ、その完
了にDMAハードウェア割込みの発生時点の現行ソフト
ウェア命令の実行がピックアップされる。再び第34図
に示す2つのトラツプ条件ハードウェア割込みファーム
ウエア・マイクロプログラム、即ちブロック395−3
および395−4については、トラツプ条件と関連する
ハードウェア割込みの発生により395−4の如き関連
するハードウェア割込みファームウェア.マイクロプロ
グラムに入る。このトラップ条件ハードウェア割込みフ
ァームウェア・マイクロプログラムは、このトラップの
処理を完了するトラツプフアームウェア・マイクロプロ
グラムへ出る前にハードウェア割込みのある予備的処理
を行う。例えば、ブロック395−4はトラツプ・ファ
ームウェアに行く(ブロック396−2)。トラツプ条
件ハードウェア割込みファームウェア・マイクロプログ
ラム395−3および395−4は割込みの時点の実行
ファームウェア386へは戻らないため、現行ソフトウ
ェア命令の実行はハードウェア割込みにより検出される
トラップ条件の場合には打切られる。一方、非トラッフ
。条件ハードウェア割込みは現行ソフトウェア命令の実
行の延期をもたらすのみであるが、これはこれ等の割込
みが割込みの時点の実行ファームウェア386に戻るた
めである。ハードウェア割込みにより検出されるトラッ
プ条件の一例は主メモリー・パリティ・エラーで、これ
はハードウエア割込みの発生をもたらす。パリティ・エ
ラーの場合、CPUファームウェアはハードウェア割込
み発生時点の現行ソフトウェア命令の処理に戻る代り‘
こ、396一2の如きトラップ・フアームウエア・マイ
クロプログラムへ出てパリティ・エフーの処理を続行す
る。その結果現行ソフトウェア命令の実行の打切りをも
たらす。第34図において示される如く、ベクトル化さ
れたハードウェア割込みは、実行ファームウェア・ブロ
ック386の間のみ、従ってハードウェア割込みが付勢
される(即ち、禁止されない)時間にのみ生じ得るので
ある。更に第34図に示される如く、ハードウェア割込
みの処理中、ハードウェア割込みファームウエア・マイ
クロプログラムは自ら、ハードウエア割込みファームウ
ェア・マイクロプログラムがそれ自体別のハードウェア
割込みにより割込みされないようにハードウェア割込み
を禁止する(即ち、ソフトウェア割込みは入れ子状にで
きるが、ハードウェア割込みは入れ子にならない)。G
bハiii トラツプ再び実行ファームウェアのブロッ
ク386に関して、現行ソフトウェア命令の実行中、フ
ァームウェア自体がトラツプ条件に関し1つ以上のテス
トを行うことが判る。 例えば、ブロック387はトラツブ条件の存在に対する
CPUファームウェア・テストを示し、もしトラップ条
件が検出されると、この実行ファームウェアはトラップ
フア−ムウェア・ブロック396−3に分岐してトラッ
プ条件を処理する。その後現行ソフトウェア命令の実行
中、1つ以上の他のトラッブ・テストがファームウェア
によって行うことができる。もう1つのトラツプ・テス
トがブロック388として示されるが、もしトラツプ条
件が検出されると、このテストはトラツプ・フアームウ
エア・マイクロプログラム396−1に出る。次にトラ
ツプフアームウエア・マイクロプログラム396−3に
ついて述べれば、トラップ・ファームウェア・マイクロ
プログラムの機能は、トラッフ。保管城をセットアップ
することであり、この保管機にCPUフアームウェアが
トラツプ・ハンドラ手順の処理を開始する前に現行ソフ
トウェア・プログラムの状態を保管する。トラツプ・ハ
ンドラ手順はトラップ条件を処理するよう書かれた1組
のソフトウェア命令である。このトラツプ・ハンドラ手
順397はブロック387により検出され更にブロック
396−3によって処理される特定のトラップ条件と関
連している。CPUファームウェアによって検出される
各トラツプ条件に対する別個のトラツプ・ハンドラ手順
がある。このトラツプ・ハンドラ手順397は次に他の
ソフトウェア・プログラムと同様にPUファームウェア
によって実行され、「トラップからの復帰(RTT)ソ
フトウェア命令397R」によって終了される。このト
ラッブからの復帰ソフトウェア命令397RはRTT命
令ファームウェア398によって実行され、このフアー
ムウエアはトラツプ396一3によりトラップ保管城に
保管されたソフトウェア文脈を復元して戻り次のソフト
ウェア命令ファームウェア・ブロック383Fに入るこ
とにより次のソフトウェア命令の処理を開始する。代わ
りとして、RTT命令ファームウェア398はブロック
39・9に示す如き別のソフトウェア・プログラムの実
行の開始をもたらし得る。RTT命令ファームウェア・
ブロック398からの出口は、トラツプ条件の処理中ト
ラツプ・ハンドラ手順397により変更され得るトラッ
プ保管城の内容によって決定される。トラップにより取
扱われる条件の一例としては、科学計算用ソフトウェア
命令操作(浮動小数点)のブロック387における実行
ファームウェアによる検出があり、これはトラツプ・フ
ァームウェア・ブロック396一3に入る結果となる。
ブロック396−3においては、トラップ保管域がセッ
トアップされ、ブロック397に入る。トラツプ・ハン
ドラ手順397は、これ等の任意の科学計算用ソフトウ
ェア命令の結果をシミュレートする1組のソフトウェア
命令であって、指示された操作を行う。トラップ・ソフ
トウェア命令397Rからの戻りの実行によりRTT命
令ファームウェア398を実行させ、これが更に次のソ
フトウェア命令ファームウェア383Fの実行をもたら
すことによって次のソフトウェア命令383Sを実行す
る。本例において、あるトラップの発生が現行ソフトウ
ェア命令の実行の打切りおよびトラツプ・ハンドラ手順
ソフトウェア・ルーチンによる現行ソフトウェア命令の
完了が生じ、これに続いて次のソフトウェア命令の実行
が生じることが判る。Gbニ 割込みおよびトラツプ 要約すれば、ソフトウェア割込みおよびトラツブは、ソ
フトウェア命令の実行中CPUファームウェアが種々の
条件に対する系統立ったファームウェア・テストを行う
ことによって生じることが判る。 このソフトウェア割込みは、更に現行ソフトウェア命令
の実行の再開を生じ、これは主メモリーから割込みされ
た現行ソフトウェア命令の再抽出で始まる。一方、トラ
ップは現行ソフトウェア命令の実行の打切りを生じ、特
定のトラップ条件を取扱うよう書かれたトラップ・ハン
ドラ手順ソフトウェアに依存して、次のソフトウェア命
令の実行を生じたり生じなかったりする。ハードウェア
割込み条件は、CPUファームウェアによるテストを必
要としない。ハードウェア割込みの発生は、現行のソフ
トウェア命令の処理の中止が生じ、これにCPUファー
ムウエアによるハードウェア割込みのサービスが後続す
る。もしハードウェア割込みが非トラツブ条件に対する
ものであれば、ハードウェア割込みファームウェア・マ
イクロプログラムが割込みの時点の現行ソフトウェア命
令の処理に戻る。もしハードウェア割込みがトラツプ条
件と関連していれば、トラップ・ファームウェア・ルー
チンに入り、現行ソフトウェア・プログラムの処理への
復帰がこのトラップ条件と関連する特定のトラップ・ハ
ンドラ手順ソフトウェア・プログラムによって決定され
る。もしこのトラツプ・ハンドラ手順が現行ソフトウェ
ア・プログラムへ制御を戻すならば、次のソフトウェア
命令が処理されるよう制御が戻されるのが通常である。
H CPUファームウェア・ワードの説明CPUファー
ムウェア・ワード全体については、第35図に示す。 このマイクロ命令ワードは4つの主なフィールドに区分
され、この主フィールドは種々の副フィールドに再分割
されている。CPUフアームウエア・ワードのスクラツ
チ/ぐッド・メモリー制御フィールド‘ま第35A図に
示される。ビット0乃至7は、スクラツチパッド・メモ
リ一(SPM、第8図の素子236)とマイクロプロセ
ッサ・レジスタ・ファイル(第8図の素子268)の相
万を制御するのに使用される。 前記副フィールドは第35A図に示される。ビット0は
スクラッチパッド・メモリーの動作を決定する。2進数
1にセットされるとデータが書込まれ、2進教養にリセ
ットされるとデータを読出すことができる。 ビット1,5,6および7はスクラツチパッド・メモリ
ーの作業ロケーションのアドレス則ち第10図のロケー
ション00乃至OFであり、これに関してデータが書込
まれあるし、は読出される。ビット2,3および4はマ
イクロプロセサRAM内のレジスタをアドレス指定する
(第8図のレジスタ・ファイル268)。CPUファー
ムウェア・ワードの演算論理ユニット(ALU)の制御
フィールドは第35B図に示される。 ビット8乃至19はALU(第8図の素子266)の制
御のために使用される。 副フィールドは第35B図に示す。ビット8および9は
シフト・タイプの制御を行い、ビット10,11および
12は処理されるデータのソースを決定する。 ビット13,14,15はマイクロプロセサALUによ
りそのデータについて実施される機能を決定する。ビッ
ト19は演算のためキャリー注入が必要とされるときセ
ットされる。更にこのキャリ−入力を用いて第36図に
従ってソースおよび機能の組合せを変更するために使用
される。ビット16,17,18は第36図に従って、
ALU‘こより行われる機能から生じるデータが送られ
る行先を示す。 ビット8および9は、AL山こ対するシフト・タイプの
制御を行うことの外、ビット23が2進数1で主メモリ
ーの操作が行われることを示す時、主メモリーの詠出し
/書込み制御としても作用する。 CPUファームウェア・ワードの副指令および制御フィ
ールドを第35C図に示す。 ビット20乃至35は副指令および制御フィールドを成
す。 副フィールドは第35C図に示される。ビット20およ
び21はデータ・セレクタ・マルチプレクサ(第9図の
269)における入力ポートを制御し、これによりAL
Uに対して送られるデータのソースを決定する。 ビット23はメモリー制御ビットであり、2進数1にセ
ットされると、システムバス B上に メ モリーG○
(MEMGO)信号を生じて主メモリーの読出しサイク
ル、書込みサイクル又はリフレッシュ・サイクルを開始
する。行われるべきメモリー操作はマイクロ命令のビッ
ト8および9によって決定される。ビット24乃至31
の機能は、副指令復号フィールドとして使用されるビッ
ト32乃至34における状態により決定される。ビット
36はハードウヱア割込みを制御し、2進数1にセット
されるとハードウェア割込みを可能にし、2進数零にリ
セットされるとハードウェア割込みを禁止する。 第37A図は、副指令復号ビット32乃至34が2進数
110と等しい時に復号できる種々の割込み指令をリス
トしたものである。ファームウェア・ビット32〜34
が割込み指令を表示する時、ビット24乃至27が無視
される。第37B図乃至第37E図は、副指令復号ビッ
ト32乃至34が2進数101と等しい時復号できる他
の指令をリストしたものである。副指令復号ビット32
〜34が2進数101と等しい時、もしビット24〜2
7が3(1鏡隼)と等しければ第37B図にリストされ
た制御パネル指令が実施され、これは第37C図に示す
如く制御パネル・ストローブを生じる(ビット24〜2
6=001、ビット27=注意不要)。副指令復号ビッ
ト32〜34が101(2進数)と等しくビット24〜
27が0011(2進数)と等しくなければ、第37C
図乃至第37E図にリストされた1/0指令の符号化さ
れた組合せが行われる。これ等1/0指令は3、2およ
び3ビットの組に区分され、これ等の指令の粗の各々か
らの1つの指令を同時に実行することを許可する。第3
7C図乃至第37E図にリストごれた種々の1/0指令
の使用については第20図乃至第23図に示され、これ
ら図はCPUファームウェアの制御下でシステム・バス
上に生じる種々のシ−ケンスを示している。副指令復号
フィールドのビット32が零である時、副指令フィール
ド全体が2つの副指令フィールドと解釈され、副指令フ
ィールド1(第37F図)はファームウェア・ワードの
ビット24乃至27により指定され、副指令フィールド
2は(第37G図)はCPUファームウエア・ワードの
ビット28乃至31によの旨定される。 更に、ビット32が零の時、ビット33と34は第35
C図に示す如く主メモリー制御を提供する。CPUファ
ームウェア・ワードの講出し専用ストア(ROS)のア
ドレス指定フィールドは第35D図に示す。 ビット36乃至47はROSアドレス指定フィールドを
構成する。副フィールドは第35D図に示される。R0
6アドレス指定フィールドは、ROS(第9図の素子2
38)のアクセスに使用される次の引き続くファームウ
ェア・アドレスを決定する。ビット36および37は、
第35D図にリストされる如きビット38と47間の粗
において見出されるアドレスのタイプを決定する。無条
件分岐が表示される時(ビット36および37における
2進数00)、ファームウェアはビット38乃至47に
含まれるアドレスに分岐する。テスト分岐が表示される
時(ビット36と37における2進数01)、ビット3
8乃至41およびビット47が使用されて2通りの分岐
を示す。分岐多重テストが表示される時(ビット36と
37における2進数10)、ビット40〜43が使用さ
れて16通りのテスト分岐を表示する。ビット36およ
び37が共にセットされると、ビット38乃至47に含
まれるアドレスが無視され、ハードウェア割込み後フロ
ーが戻るファームウェア・アドレスはハードウェア割込
み戻りアドレス・レジスタ(第9図の252)から得ら
れる。舷 スクラッチパッド・メモリーの制御CPUフ
アームウエア・ワードのスクラツチ/fッド・メモリー
制御フィールド‘ま第35A図に示す。 ビット0,1および5〜7はスクラツチ・パッド・メモ
リー(SPM、第8図の素子236)の制御のため使用
される。ビット川まスクラッチパツド・メモリーの動作
を決定する。2進数1にセットされるとデータが書込ま
れ、2進数零にリセットされるとデータが読出される。 ビット1および5乃至7は、データの書込み読出しが行
われるスクラッチパツド・メモリーの作業ロケーション
則ち第10図のロケーション00乃至OFのアドレス指
定に使用されるアドレスを形成する。ビット2および3
は、マイクロプロセサのランダム・アクセス・メモリー
(RMA、第8図のレジス夕・ファイル268)をアド
レス指定するため使用される4ビット・アドレスの3つ
の下位ビットの選択を制御する。ビット2および3の種
々の組合せは、マイクロプロセサのRAMアドレスの下
位のビットを機能【F}レジスタ(第8図の274)の
副フイールドFRO,FR2,FR3から、あるいはフ
ァームウェア・ワード自体のビット5乃至7から選択さ
れることを許可する。マイクロプロセサのRAMアドレ
スの上位ビット(ビット0)は常にファームウェア・ワ
ードのビット4によって決定される。Fレジスタの種々
の副フィールドからのマイクロプロセサのRAMアドレ
ス指定ビットの選択を制御するCPUファームウェア・
ワードのビット2および3の能力は、Fレジスタに含ま
れるソフトウェア命令の迅速な復号を可能にする上で重
要である。ソフトウェア命令内では、Fレジスタにおけ
る墓』フィールドFROは通常1つのレジスタ番号を保
有し、副フィールドFR2とFR3はソフトウェア命令
のアドレス・シラブルを構成する。Hb 演算ロジック
・ユニットの制御 CPUファームウェア・ワードのALU制御フィールド
は第35B図に示される。 ビット8乃至19はマイクロプロセサ(第8図の素子2
32)の制御のため使用される。副フィールドは第35
8図に示される。前述の如く、第8図の16ビットのマ
イクロプロセサ232は、米国カルフオルニア州サニー
ベィルのAdvancedMicroDevices社
製のタイプAm2901の4つの4ビット・スライス形
マイクロプロセサのカスケード接続からなる。このマイ
クロプロセサ制御フィールドのあるものは直接カスケー
ド接続されたビット・スライス形マイクロプロセサによ
り使用され、他のもの(シフト・タイプ制御およびキャ
リー注入)は最上位ビット・マイクロプロセサおよび最
下位ビットマイクロプロセサにより生成された終端条件
の制御のために使用される。ファームウエア・ワードの
ビット8および9は、カスケード接続されたマイクロプ
ロセサの最上位および最下位ビットへあるいはこれらか
らシフトされるビットを制御することによりシフト・タ
イプの制御を行う。ビット10乃至12はマイクロプロ
セサのALUのソースを決定し、4ビットのスライス形
マイクロプロセサの各々の直接制御に使用される。これ
等のビットの正確な定義は、前記のAdvancedM
icro戊vices社により出版され本文に参考のた
め引用された文献「マイクoプログラムされた16ビッ
ト・コンピュータ」に見出されよう。ビット13乃至1
5はマイクロプロセサALUの機能を制御し、又4ビッ
トのスライス形マイクロプロセサの各々により直接使用
される。ビット16乃至18はマイクロプロセサの行先
を制御し、これも又各4ビット・スライス形マイクロプ
ロセサによって直接使用される。ビット19はキャリー
注入入力を制御し、4蓮のビット・スライス形マイクロ
プロセサの最下位のものにより直接使用される。マイク
ロプロセサのALUソースの副フィールドはALU入力
のソースを制御し、マイクロプロセサのレジスタ・ファ
イルの1次脚出力、その複写職出力、マイクロプロセサ
の内部作業レジス夕(Q)の出力、又はスクラツチパツ
ド・メモリーからのデータ皿入力、を選択することがで
きる。マイクロプロセサのALU機能副フィールドは、
演算ロジック・ユニットにより実施される操作(例、算
術的加算、論理的AND、等)を決定する。マイクロプ
ロセサの行先副フィールドは、ALU‘こより実施され
る機能から生じるデータが送られる行先を決定する。1
6ビットのマイクロプロセサによって行われる諸操作は
、マイクロプロセサALUソース副フィールド、マイク
ロプロセサALU機能副フィールドおよびキャリー注入
副フィールドの関数であり、これは第36図に示す。 シフト・タイプ制御の提供に加えて、ファームウェアの
ビット8および9は又主メモリーの読出し/書込み制御
を行う。ファームウェア・ビット23が2進数1である
時、ビット8および9は、1ワード、バイト0又はバイ
ト1のいずれが主メモリーに書込まれるか、あるいは1
ワードが主メモリーから読出されるかを制御する。Hc
副指令および制御 CPUファームウェア・ワードの副指令および制御フィ
ールドは第35C図に示される。 ビット20乃至35は副指令および制御フィールドを構
成する。ビット20および21は4−1マルチプレクサ
である第8図のデータ・セレクタ269を制御し、その
出力はマイクロプロセサのデータ入力ボートに直接接続
され、これによりマイクロプロセサALUに送られるデ
ータのソースを決定する。ALU入力は、スクラツチパ
ツド・メモリー236の出力を含むSPMデータ・レジ
スタ、標準(1)レジスタ270およびMIレジスタ2
72、マイクロ命令ビット8,9および24乃至31を
用いることにより生成された定数、又は内部バス260
からのデータ(全て第8図に示す)、から選択できる。
ビット22はスクラツチパツド・メモリー・アドレス選
択制御であり、マイクロ命令ビット1および5乃至7を
用いてのスクラツチパッド・メモリーの作業ロケーショ
ン(第10図のロケーション00乃至OF)のアドレス
指定か又は第8図のチャネル番号レジスタ296から得
たチャネル番号を用いてプログラム・チャネル表(ロケ
ーション80乃至FF)のアドレス指定かのいずれかを
マイクロ命令に許可する。ビット23は主メモリーGO
制御ビットであり、セットされるときシステム・バスB
上のPMEMGO−信号をローにさせてメモリー読出し
/書込みサイクルを開始する。ビット24乃至31は副
指令フィールドであり、その意味は副指令復号副フィー
ルドを形成するビット32乃至34によって解釈される
。 副指令復号副フィールド(ビット32乃至34)におけ
る値に従って、副指令フィールド(ビット24乃至31
)は、8ビット定数、割込み指令、制御パネル指令、1
/0指令、機能(F)レジスタ制御、又は副指令のいず
れかである。これ等の種々の副指令フィールドの意味は
第37A図乃至第37G図に示される。ビット35はハ
ードウェア割込み制御フィールドであり、CPUマイク
ロプロセサ書込みファームウエアがマイクロプログラム
・フアームウエァ・ステム間のハードウェア割込みの発
生を禁止又は付勢することを許可する。 ビット35が2進数零である時、ハードウェア割込みは
禁止され、マイクロプ。グラムは現行マイクロ命令に続
いて割込され得ない。ビット36が2進数1の時はハー
ドウェア割込みが付勢され、もしハードウェア割込みが
現在未完則ち継続中であれば、マイクロプログラムは現
行マイクロ命令の実行完了時点で割込みされる。第37
A図は割込み指令のリストであり、これはビット28乃
至31から復号できる(ビット24乃至27は無視され
る)。 第378図は、ビット24乃至27が0011(2進数
)に等しい時ビット28乃至31から復号される制御パ
ネル指令のリストである。第37C図乃至第37E図に
リストされた1/0指令の符号化された組合せは2進数
で示される。これ等は3、2および3ビットの組に区分
され、これ等の組の1/0指令が同時に実行されること
を可能にする。ビット32が2進数1であり、ビット3
3と34が2進数零である時、副指令フィールドは機能
レジスタ制御指令と解釈される。ビット32が2進数零
の時は、副指令フィールド全体が2つの副指令と解釈さ
れ、副指令1(第37F図参照)はファームウェア・ワ
ードのビット24乃至27により指定され、副指令2(
第37G図参照)はCPUファームウェア・ワードのビ
ット28乃至31により指定される。Hd 読出し専用
記憶アドレス指定 CPUファームウェア・ワードの読出し専用ストア(R
OS)のアドレス指定は第35D図に示される。 ビット36乃至47はROSアドレス指定フィールドを
成す。副フィールドは第35D図に示される。ROSア
ドレス指定フィールドはROS(第9図の素子238)
から次のファームウェア・ワードをアクセスするために
使用される次の引き続くファームウェア・アドレスを決
定する。ビット36および37はビット38乃至47間
のビットの組に見出される分岐アドレスのタイプを決定
する。ビット36と37が00(2進数)の時、ファー
ムウェアは、ROSから次のファームウェア・ワードを
検索するため10ビットのアドレスを使用することによ
りビット38乃至47内に含まれアドレスに分岐する。
2通りテスト分岐が表示される時(ビット36および3
7における2進数01)、ビット38乃至41およびビ
ット47が使用されテストを選択しそして最下位のRO
Sアドレス・ビット(ビット9)を生成する。 次のROSアドレスの4つの最上位ビット(ビット0乃
至3)は現行ROSアドレスの4つの最上位ビットから
得られ、ファームウェア・ワードのビット42乃至46
はROSアドレス・ビット4乃至8として直接使用され
る。これ等の2通り分岐はファームウェアによって使用
されて制御フロツプ1乃至4CFI〜CF4および機能
レジスタの各ビットの状態の如き種々の条件をテストす
る。多重テスト分岐が表示される時(ビット36および
37における2進数10)、ビット38,39,44乃
至47は次のROSアドレスにおいて直接使用され、ビ
ット40乃至43は16の異なる多重テスト分岐の1つ
を表示するため使用される。 多重テスト分岐はファームウェア・プログラマにより使
用されるソフトウェア命令の復号を助け、ソフトウェア
割込みに応答する。ビット36と37が共にビットされ
る時(2進数11)はファームウェア・ワードのビット
38乃至47は使用されず、次のROSアドレスは、C
PUフア−ムウエアがハードウェア割込みによって中断
された時の次のROSアドレスを有するハードウェア割
込み戻りアドレス・レジスタ(第9図の素子252)か
ら得られる。 ハードウェア割込み戻り分岐はハードウェア割込みファ
ームウェア・マイクロプログラム(第34図のブロック
395一2)の終りにファームウェア・プログラムによ
って使用され、それによってファームウェアがハードウ
ェア割込みにより中断された時点に制御を戻す。1 1
/0コントローフ・ロジックの詳細中央プロセサ、1/
0コントローラおよびシステム・バスにおける種々の対
話の動作についてこれ迄説明したが、次に1/0コント
ローフ・ロジックについて詳細に説明する。 第38図は、本発明の諸原理に基いて構成された1/0
コントローラのロジック・ブロック図である。 第38図によれば、1/0コントローラの主要セクショ
ンには、タイミング・ロジック400と、DMA/DM
C要求ロジック402と、割込み要求ロジック404と
、要求リセット・ロジック406と、デバイス・ロジッ
ク407が含まれることが判る。タイミング・ロジック
40川ま、1/0コントローラ全体に使用される基本的
な1/0同期信号(信号PTIME3十20およびDM
YTM3十)を提供する。 更に、タイミング・ロジック400Gま、前の1/0コ
ントローラ(又は、もし1/0コントローラがシステム
・バスAとBのいずれかにおける最初の1ノ○コントロ
ーラであれば、CPU)からバス・サイクル・アウト信
号を得て、信号を次の1/0コントローラに送る前に5
00ナノ砂間遅延させる。 更に、タイミング・ロジック40川ま、コントローラを
初期化してIOCの品質論理テスト(QLT)ファーム
ウェアを開始するために使用されるIOC初期化信号P
CLEAR+20の生成に使用される。 DMA/DMC要求ロジック402は、もしIOCがO
MA又はDMCデータ転送サイクルを要求しかつDMA
又はDMC要求回線が既にそのシステム・バス上の別の
DMA又はDMC I/○コントローラによりセットさ
れていない場合、IOCの時間スロットの間システム・
バスのDMA又はDMC要求回線PDMARX−又はP
DMCRX一を2進数零にセットするために使用される
。 特定の1/0コントローラはDMA又はDMCIOCの
いずれかである。DMA IOCに対してはDMA要求
回線PDMARX一を、又DMCIOCに対してはDM
C要求回線PDMCRX−を使用する。割込み要求ロジ
ック404は、もしIOCがCPUのソフトウェアの実
行に割込みを行うことを欲しかっこの特定のシステム・
バスにおける別のIOCが既に割込み要求回線をセット
していない場合、こののCの時間スロットの間バス割込
み要求回線PINTRX−を2進数零にセットするため
使用される。 1/0コントローラに接続された周辺デバイスの1つに
おける状態変化が感知される時、あるいは特定の1/0
指令が例えば読出し又は書込み指令は続く範囲の満了時
に完了する時は常に、IOCは割込みシーケンスを開始
する。 要求リセツト・ロジック406は、システム・バスの回
線RDDT29十乃至舷DDT31十において符号化さ
れたCPU応答に応答して1/0コントローラのDMA
要求フロツプ又はDMC要求フロップ又は割込み要求フ
ロップをリセツトするために使用される。 以下に説明するように、あるIOCはDMA要求又はD
MC要求のいずれかと割込み要求の相方を同時に未完則
ち継続中の状態で有し得る。このことは、多数の周辺デ
バイスを取付けられたIOCもこついては特に真であり
、その結果1つの周辺デバイスが読出し又は書込み操作
を完了してそれにより1つの割込みを要求することが可
能であり、そして第2のデバイスが読出し又は書込み操
作の実行中にあってこの周辺デバイスに関して議出し又
は書込みされるデータの次のワード又はバイトを要求す
ることが可能である。ね1/0コントローラ・デバイス
・ロジック更に第38図に関してデバイス・ロジック4
07の動作について論述する。 デバイス・ロジック407は、指令ロジック409と、
タスクおよび構成ロジック429と、割込みロジック4
17と、状態およびデバイスIDロジック437と、デ
ータ転送ロジック421と、アドレスおよび範囲ロジッ
ク445からなる。アドレスおよび範囲ロジック445
はDMA1/0コントローラにおいてのみ存在すること
が判る。ねィ 指令。 ジツク指令ロジック409は、IOCにアドレス指定さ
れた1/0制御指令および機能コードを復号する。 指令ロジック409は、IOCが1/0指令を受入れる
ことができそして回線PROCED−を2進数零にセッ
トするか、1/0が使用中であり回線PBUSY−を2
進数零にセットするか、あるいはIOCが一時的に使用
中であり両回線PROCED−とFBUSY一を2進数
零にセットしそれによって、CPUに待機して1/0指
令を再試行するように通知するかどうか、を決定する。
指令ロジック409は、1/0コントローラにより行わ
れる動作のタイプを決定し、指令サイクルを生成し、そ
してもしこの1/0指令が受入れられればシステム・バ
スのアドレスノデータ回線と1/0コントローラあるい
は周辺デバイスとの間の経路を付勢する。この指令ロジ
ックは又システム・バスとIOCとの間に対話リンクを
維持する。機能コード・デコーダ415は、1/0指令
制御ワ−ド(第24図参照)の機能コードを復号する。
システムが1/0コントローラのチャネル番号を含むよ
うに組込まれる時、チャネル番号スイッチ411がセッ
トされる。チャネル番号コンパレータ413は、チャネ
ル番号スイッチ411にセットされたチャネル番号をシ
ステム・アドレス/データ回線BUSXOO十乃至BU
SX08十上に現われるチャネル番号と比較し、もしこ
れ等チャネル番号が等しければ信号DMYCMD+を2
進数1にセットする。信号DMYCMD+は要求リセッ
ト・ロジック406への入力である。更に、チャネル番
号スイッチ411に含まれるチャネル番号は、DMCデ
ータ転送要求中又は1/0割込み要求シーケンス(第1
7図参照)の間、システム・バスのアドレス/データ回
線を介してCPUに対して転送され得る。チャネル番号
スイッチ411におけるIOCのチャネル番号と一致し
たチャネル番号を有する1/○指令のみがIOCによっ
て受入れられる。 以下において明らかになるように、1/0指令の復号の
あるものは要求リセット・ロジック406内のデコーダ
によって行われる。指令サイクルは、任意のタイプの入
力指令又は出力指令の実行中にIOCが実施するシーケ
ンスである(第20図参照)。入力指令においては、I
OCは、記憶された制御情報、状態又はデバイス情報を
読出し、次にこれ等をシステム・バスに送出する。出力
指令においては、IOCが制御情報をシステム・バスか
らデバイス・ロジック記憶に送出する。laロ タスク
および構成ロジック 指令サイクルの間、タスク・ワード、構成ワードA又は
構成ワードBの読出し又は書込みを指定する機能コード
を指令ロジック409が復号した後タスクおよび構成ロ
ジック429が付勢される。 タスク・ワード‘こおける個々のビットの意味はデバイ
ス固有である。このタスク・ワードは、構成ワード指令
を介して出力される比較的静的な情報と比し、瀕繁に出
力されねばならないような機能に対し意図したものであ
る。構成ワードAおよびBにおける個々のビットの意味
はデバイス固有のものである。構成ワードはあまり瀕繋
に出力されないような機能に対し意図されたものである
。構成ワードBは、構成ワードAに符号化され得る以上
の情報が要求される時に使用される。1/0コントロー
ラは常にタスク・ワードAレジスタ431を含むが、構
成ワードAレジスタ433と構成ワ−ドBレジスタ43
5の存在は特定の周辺デバイスに対し要求される情報量
に依存する。 ある周辺デバイスは構成ワードを全く必要としないが、
他の周辺デバイスは構成ワードAのみを、又他の周辺デ
バイスは構成ワードAとBを必要とする。laハ 割込
みロジック 指示サイクルの間、復号された機能コードが割込み制御
ワード・レジスタ419に含まれる割込みレベルの読出
し又は書込みを指定した後に割込みロジック417が付
勢される。 この割込みロジックは又、下記の条件のいずれかが存在
する時に割込み要求を生成するため使用される。即ち、
割込みレベルが零に等しくなくかつ前の周辺デバイスの
動作が完了した時、又は停止1/0指令が完了した時で
ある。これ等条件の一方が存在する時に割込みサイクル
が開始され、IOCは割込み要求ロジック404に対す
る入力である信号D山NOK十を2進数1にセットする
ことにより割込み要求をCPUに対して送出する。 信号D山NOK十2進数1へのセットの結果、システム
・バス上の信号PINTRX−が2進数零にセットされ
ことになる。CPUが割込み要求に肯定応答する時、I
OCはCPUに送るため割込みレベルとチャネル番号を
システム・バスのアドレス/データ回線にロードする。
次に、CPUはその割込みレベルを検査する。もし割込
みレベルをCPUが回線PROCED−を2進数零にセ
ットして肯定応答するならば、割込み操作が完了する。
もし割込みレベルをCPUが回線PBUSY−を2進数
零にセットして肯定応答しないならば、1/0コントロ
ーラは割込みロジック417にこの割込み要求をスタツ
クしそしてCPUが再開割込み(RESUM)1/0指
令を送出するのを待機する。CPUが再開割込み1/0
指令を送出する時、IOCが割込み要求を再び開始する
。laニ 状態およびデバイス識別ロジック状態および
デバイス識別(ID)ロジック437はIOCにより付
勢されて状態ワードおよびデバイスIDコードを記憶す
る。 状態ワードー,439および状態ワード2,441‘ま
周辺デバイスおよび主メモリー条件を保有する。状態ワ
ード‘こおける個々のビットの意味はIOC固有である
。状態ワード2は、状態ヮ−ド1に符号化され得る以上
の状態情報を有する如き1/0コントローラにのみ存在
する。デバイスIDコードはデバイスIDワード443
に保有されてIOCに接続される周辺デバイスのタイプ
を表示する。指令ロジックが入力状態ワード1又は2指
令を復号する時、状態ワードー又は2がシステム・バス
のアドレス/データ回線を介してCPUに転送される。
入力デバイスm指令が指令ロジックにより復号される時
、デバイスmコードはシステム・バスのアドレス/デー
タ回線BUSXOO十乃至BUSX1 5十を介してC
PUに転送される。主メモリー・ェフー(パリティ又は
不在アドレス)信号MEMPER−(システム・バスB
上)およびPMMPAR一(システム・バスA上)が状
態およびデバイスIDロジック437により入力され、
後でCP川こ対して通知するため状態ワード1,439
内の適当なビットをセットするのに使用される。laホ
データ転送ロジック データ転送が開始された後、指令ロジック409は周辺
デバイスとの間でデータを転送するためデータ転送ロジ
ック421を付勢する。 IOCはCPUにデータ転送要求を行うが、これは信号
DERSWT−およびDMCINC−を用いてDMA/
DMC要求ロジック402に信号PDMARX−(DM
AIOCに対する)又は信号PDMCRX−(DMCI
OCに対する)を2進数零にセットさせることにより行
う。もしIOCがDMCIOCであれば、DMC要求が
1/0コントローラからCPUに送られる(第21A図
乃至第21D図)。 CPUはこの要求に肯定応答し、そしてIOCのチャネ
ル番号はCPUに対して与えるためシステム・バスのア
ドレス/データ回線に対しロードされる。チャネル番号
の送出後DMCデータ転送サイクルが開始され、データ
の1バイトがCPU‘こよりIOCに対するシステム・
バス(出力のため)に転送され、あるいはIOCにより
CPUに対するシステム・バス(入力のため)に転送さ
れる。もし出力であれば、システム・バスのアドレス/
データ回線からデータの1バイトが取出されてこれが周
辺デバイスに送出される前にデータ・アウト・レジスタ
423に記憶される。もし入力であれば、周辺デバイス
からデータの1バイトが取出されてシステム・バスのア
ドレス/データ回線を介してCPUに送出される前にデ
ータ・ィン・レジスタ425に保持される。いずれの場
合も、DMC I/○コントローラに対しては、データ
・バイト位置合せロジック427は存在しない。DMC
IOCに対しては、データがDMCIOCから主メモリ
ーへ又は主メモリーからDMCIOCへ転送される時デ
ータ・バイト位置合せはCPUによって行われるのであ
る。laヘ アドレスおよび範囲ロジック アドレスおよび範囲ロジック445はDMAIOCにの
み見出される。 DMCIOCにおいては、このアドレスおよび範囲ロジ
ック445により実施される機能はプログラム・チャネ
ル表を用いてCPUによって行われる。アドレス・レジ
スタ・カウン夕447は、10LDソフトウェア命令の
出力アドレス機能の間、CPUにより出力される17ビ
ットを保有する。アドレス・レジスタ・カウンタ447
は、データの各ワード(又はバイト)が主メモリーとD
MAIOCとの間で転送される毎に増分される。範囲レ
ジスタ・カウンタ449は転送されるデータの範囲(バ
イトの数)を保持するために使用される。範囲カウンタ
は、最初10LDソフトウェア命令の出力範囲機能によ
ってセットされる。データの各ワード(又はバイト)が
DMAIOCと主メモリーとの間で転送される時、範囲
レジスタ・カウンタ449が滅分される。アドレス・レ
ジスタ・カウンタ447の内容は、入力アドレス指令又
は入力モジュール1/0指令によりCPUに転送される
ことができる。範囲レジスタ・カウンタ449の内容は
入力範囲1/0指令によりCPUに入力され得る。DM
AIOCがDMA要求に応答してCPUから肯定応答を
受取る時、コントローラはデータ転送のためCPUにリ
ンクされ、DMAサイクルが開始する(第22図参照)
。 CPUの肯定応答の受取りと同時に、アドレスおよび範
囲ロジック445は書込みバイト0および書込みバィト
ーの回線PWRTBO+とPWRTBI+を活動化する
。 これ等2回線は王〆モリーに対し実施すべき読出し/書
込み操作のタイプを表示する。アドレスおよび範囲ロジ
ック445は主メモリー・アドレスをシステム・バスの
アドレスノデータ回線BUSXoo+乃至BUSX15
十にロードし、そしてCPUは「付勢にPU行きバス回
線PENBSX−」を活動化してこれを得る。もし不在
の主メモリーのアドレス・エラーが生じると、CPUは
PENBSX−の間主メモリー・エラー回線MEMPE
R−およびPMMmAR−を活動化してDMAIOCに
通知する。入力操作(主メモリーに対する書込み)の実
行中、信号PEN斑X−は2進数零の状態を維持して、
データ・イン・レジスタ425からのデータ・ワードを
システム・バスを介して主メモリーへ転送する。出力操
作(主メモリーからの議出し)の実行中、信号PENB
SX−が2進数1となる。システム・バスのRDDT回
線におけるリンク終り指令の受取り時に、DMAIOC
はデータ・ィン・レジスタ425の内容をシステム・バ
スのアドレス/データ回線にロードし(入力のため)、
あるいはシステム・バスのアドレスノデータ回線をデー
タ・アウト・レジスタ423にアンロードする(出力の
ため)。もし主メモリーのパリティ・エラーが生じると
、CPUはリンク終り指令の間信号M旧MPER−/P
MMPAR一を活動化することによりDMAIOCに通
知する。DMAサイクルは終了され、データ転送シーケ
ンスは完了する。データ転送ロジック421におけるデ
ータ・バイト位置合せロジック427はDMAIOCの
ためにだけ存在することに留意されたい。 DMA出力操作の間、データ・バイト位置合せロジック
427はアドレスおよび範囲ロジック445と関連して
動作し、適正なバイトを主メモリー(データ・アウト・
レジスタ423に含まれる)から受取るデータのワード
から適当なバイトを抜出し、そしてこのデータのバイト
又はワードを周辺デバイスへ転送する。1ワードのデー
タは常に主メモリーから読出されることが判る。 DMA入力操作の間は、周辺デバイスから受取ったデー
タのワード(又はバイト)を位置合せしてこれをデータ
・ィン・レジスタ425内の適正位置におくことがデー
タ・バイト位置合せロジック427の機能であり、その
結果主メモリーへの転送のためアドレス/データ回線上
に適正に位置合せされる。更に、データの一方は他方の
バイト又はその両方を主メモリーに書込むことができる
ことが判る。2つのバイトの内のどれが、又は両方が主
メモリーに書込まれるかは、DMAデータ転送の間アド
レスおよび範囲ロジック445によってセットされる信
号PWRTBO+およびPWRTBI十によって制御さ
れる。 lb1/0コントローラ・タイミング・ロジック前述の
如く、システム・バス上の各IOCは、500ナノ秒の
バス・サイクル・スロットが割当てられ、この間システ
ム・バス要求を行うことができる。 バス上の各IOCは、システム・バスからの信号PTI
MF3一およびBCYCIN−を使用することにより何
時が前述IOCのバス・サイクル・スロットであるかを
決定する。1次時間3(PTIM旧3一)信号はシステ
ム・バス上の各IOCに配分され、第13図に示す如く
、バス・サイクルの100ナノ秒間2進教養の状態に、
システム・バス・サィクルの400ナノ秒間2進数1の
状態になる。 第13図は又、このバス・サイクル・イン(BCYC川
−)信号は、1つの1次時間3パルスの後緑から次の1
次時間3パルスの後緑迄500ナノ秒の期間2進数1で
あることを示す。 特定のIOCのシステム。バスのサイクル・イン信号E
CYC川一が前のIOC(即ち、システム・バス上のC
PUに更に近い隣接IOC)のシステム・バス・サイク
ル・アウト信号BCYCOT−であることが判る。次の
第39図を参照してタイミング・ロジック400の動作
について詳細に説明する。 マィ・タイム3フロツプ408およびサイクル・イン・
フロツプ410が最初にセットされる(即ち、2進数1
はそのQ出力側に生じる。)マイ・タイム3フロップは
、現行IOCの1次時間3の期間中にのみリセットされ
る。サイクル・イン・フロツプ41川ま現行IOCのサ
イクル・イン時間中にのみリセットされる。IOCにつ
いての用語「現行↓「前の」、「次の」はシステム・バ
ス上の各IOCの相対的な物理的位置を言及することが
判る。このように、第1図においては、もし現行のIO
Cが1/0コントローラ208であれば、前のIOCは
1/0コントローラ206、次のIOCは1/0コント
ローラ210である。前の10Cはシステム・バス上の
中央プロセサにより近い隣接IOCである。次のIOC
はこのCPUからより遠い隣接IOCである。次に第3
9図によれば、システム・バスの1次時間3信号PTI
ME3一が2進数1から2進数零の状態に遷移する度に
、ANDゲート412の出力(信号PTIME3十20
)は2進数零から2進数1の状態に遷移してマィ・タイ
ム3フロップ408をクロックすることが判る。始めに
、バス・サイクル・イン時間信号BCYCm−が2進数
1であって前のIOCのサイクル・ィン時間でないこと
を表わすならば、フロツプ408がセットされる。マイ
・タイム3フロツプ408がセットされるかセット状態
を維持すれば、そのQ出力(信号DMYTM3一)は2
進数1となり、これをサイクル・イン・フロツプ410
にクロツクするのは1次時間3の終りに2進数零から2
進数1の状態に遷移する信号PTIME3一30である
。 信号PTIME3一30は、ANDゲート412の出力
を反転するィンバータ414の出力である。1次時間3
システム・バス信号PTIME3一に対するクロツキン
グ信号PTIM伍3十20およびPTIM旧3−30の
関係は第40図を参照すれば判る。 第40図は、PTME3一信号が2進数1である時、P
TIME3十20が2進数零、PTIME3一3川ま2
進数1であることを示す。各論理素子と関連する第5乃
至10ナノ秒の遅延については本文での論議の目的にお
いては無視するものとする。次に第39図および第40
図においては、時間A則ち最初の1次時間3の期間の始
めにおいて、2進数零から2進数1への信号PTIME
3十20の遷移がそのデータ‘D}入力側の信号BCY
CIN−をその出力側(QおよびQ)にゲートすること
によりフロツプ408をセットする。 もしフロツプ408がこの時間Aの前にセットされてい
たならば、その状態は時間Aでも変化しない。時間B則
ち最初の1次時間3の期間の終りにおいては、システム
・バス上の信号BCYCIN一は2進数1から2進数零
へ遷移して前のIOCのシステム・バス・サイクル・ィ
ン時間の開始を表示する。時間C則ち第2の1次時間3
の期間の始めにおいては、信号PTIM旧3十20は再
びフロツプ408のD入力をその出力側にゲートし、こ
の時バス上の信号BCYCIN−が2進数零であるため
、フロツプ408がリセットされ、そのQ出力則ち信号
DMYTM3−が2進数零となる。時間D即ち第2の1
次時間3の期間の終りでかつ現行IOCのシステム・バ
ス・サイクル・イン時間の始めにおいては、サイクル・
イン・フロツプ41川こ対するクロツク信号PTIME
3−30は2進数零から2進数1に遷移してそのD入力
をそのQ出力側にゲートする。時間Dにおいてはフロッ
プ410のD入力(信号DMYTM3−)は2進数零で
あり、従ってフロップ4 10はリセットされて現行I
OCのシステム・バス・サイクル・ィン時間の始めを表
示する。サイクル・ィン・フロップ410のリセット動
作は2進数零になる信号BCYCOT−をそのQ出力側
に生じ、これはマイ・タイム3フロツプ408のセット
(S)入力側に入力される時、フロツプ408がセット
されてそのQ出力側に2進数1の信号DMYTM3−を
生じる。時間E則ち第3の1次時間3の期間の終り‘こ
、フロップ4101こ対するクロツク信号PTIME3
一30が再び2進数零から2進数1の状態に遷移し、こ
れによりそのD入力側の2進数1信号をそのQ出力側に
クロックすることによってフロツプ410をセットし、
信号BCYCOT−を2進数1にさせる。信号BCYC
OT−の2進数零から2進数1の状態へのこの遷移によ
り現行IOCのシステム・バス・サイクル・ィン期間が
完了し、次のIOCがそのサイクル・イン時間を開始す
るのを許可する。再び第39図によれば、サイクル・ィ
ン・フロップ41 0がバス上の2進数零の信号PCL
EAR−の発生により最初にセットされることが判る。 信号PCLEAR一はシステム初期化の間中央プロセサ
によってセットされてシステム・バス上の全ての周辺装
置をクリアする。信号PCLEAR−が2進数零である
時、ANDゲート416の出力は、ANDゲート41
8の出力である信号PCEAR十20と同様に2進数1
である。ィンバ−夕420はANDゲート418の出力
を反転する。ANDゲート418の出力が2進数1の時
、ィンバータ420はサイクル・イン・フロツプ410
のセット(S)入力側に2進数零を生じ、これによりそ
のQ出力を2進数1に初期化する。信号PCLEAR−
がサイクル・イン・フロツプ4 1 0をセットする能
力は、マスター・クリア操作の間システムにより使用さ
れてマスター・クリア時に進行中の入出力操作を打切る
。 再び第40図によれば、マィ・タイム3フロップ408
のQ出力(信号DMYTM3一)が現行IOCの1次時
間3の期間(時間C乃至D)の間だけリセツトされるこ
と、およびサイクル・イン・フロツプ41 0のQ出力
(信号8CYCOT−)は500ナノ秒の現行IOCの
システム・バス・サイクル・ィン時間(時間D乃至E)
の間だけリセットされる。 lc l/○コントローラ要求ロジック 次に第39図に関して、DMC要求ロジック402−1
の動作を詳細に論述する。 簡単化のため、第38図のDMA/DMC要求ロジック
402は第39図ではDMC要求ロジック402−1と
して示してあり、第39図の以下の論述においては1/
0コントローラがDMCIOCであり従ってデータ転送
要求ロジックが信号PDMCRX−の使用によりDMC
要求を行うことを前提とする。もしIOCがアドレスお
よび範囲ロジック(第38図の445)を含むDMAタ
イプであったならば、データ転送要求ロジックは信号P
DMARX−の使用によりDMA要求を行うことになる
。最初に、需要DMCフロップ424がリセットされ、
これによってIOCがデータの1バイトをこのIOCに
接続された周辺デバイスに対しあるいはこれから転送す
るためDMCサイクルを現在必要としていないことを表
示する。 その後、デバイス・ロジック407(第38図)がデー
タの1バイトが主メモリーから読出されるかあるいはこ
れに書込まれることを必要とすることを決定する時、フ
ロツプ424のD入力側の信号OMCmC一は2進数1
となる。更にその後、クロック信号OERSWT−を2
進数零から2進数1の状態へ遷移することによりデバイ
ス・ロジック407がフロツプ424のデータ入力信号
をその出力側にクロックする時、需要DMCフロップ4
24はセットされてそのQ出力(信号DRQAOK+)
を2進数1にさせる。一たんこの需要DMCフロツプ4
24がセットされると、もし同一のシステム・バス上の
別のIOCが既にDMCサイクルを要求中でなければ、
IOCはその次のシステム・バス・サイクル・ィン時間
中DMCバス・サイクルを要求する。このように、もし
同じシステム・バス上の別のIOCがDMCサイクルを
要求中でなければ、このシステム・バス上のDMC要求
信号PDMCRX−(IOCの内部に対しては信号DD
MCRX−として表わされる)は2進数1となって、D
MCサイクルがこのシステム・バス上のIOCにより要
求中ではないことを表示する。NAND426に対する
3つの入力の内の2つが2進数1であるとき、即ちDM
C要求フロップがセットされずかつ需要DMCフロツプ
がセットされる時、第3の入力側に2進数1の信号DM
YTM3十が発生することにより、その出力則ち信号D
MYDMC−を2進数零にさせ、これによりDMC要求
フロツプ428をセットする。第40図に示す如く、信
号DMYTM3−は、現行IOCシステム・バス・サイ
クル・ィン時間に対する1次時間3の始めである時間C
において2進数零となり(従って、信号DMYTM3一
は2進数1となる)、システム・バスのDMC要求回線
の信号PDMCRX−を2進数零の状態にさせる。次に
第39図によれば、DMC要求フロップ428のセット
の結果そのQ出力則ち信号DMDMCF+が2進数1と
なり、このため更にNANDゲート430の出力を2進
数零にさせることによりシステム・バスの回線PDMC
RX−上にDMCサイクルを要求する。 一たんDMCサイクル要求回線が2進数零にセットされ
ると、第39図によれば、このシステム・バス上の他の
DMCIOCは、DMC要求回線が現行IOCによりリ
セットされる迄はそれ自身のためにDMCサイクルの要
求をできないことが判る。尚、これらシステム・バス上
の各DMCIOCは第39図に示したものと同様なDM
C要求ロジックを有することが判る。現行IOCのDM
C要求フロップ428は2つの事象のいずれかの発生に
よってリセットされ得る。 マスター・クリア操作の結果システム・バスクリア信号
PCLEAR−が2進数零となり、その結果ANDゲー
ト418の出力PCLEAR+20が2進数1となり、
これがNORゲート422への1入力である。信号PC
LEAR+20が2進数1となると、NORゲート42
2の出力郎ち信号DMCCLR−が2進数零となり、こ
れが更に需要DMCフロツプ424とDMC要求フロッ
プ428をリセットする。クリア信号を介するフロップ
424と428のこのリセット動作は、記憶されたが未
だ処理されない需要DMC要求のクリア動作と、及びも
しシステム・バスのDMC要求回線が現在DMC要求フ
ロップ428によりセットされているならばこのDMC
要求回線のリセット動作と、を生じる結果となる。フロ
ップ424と428がリセットされ得る第2の方法は、
バス回線RODT29+乃至RDDT31十上で符号化
された回答DMC指令に応答するものであり、この指令
の結果DMCリンク・フロップ454のセット動作を生
じる。 DMCリンク・フロツプ454がセットされると、その
出力である信号DDMCCY+は2進数1となり、これ
がDMC要求フロップ428のD入力側の2進数零をそ
の出力側にクロツクし、これによりDhIC要求フロツ
プ428をリセットする。この結果NORゲート422
の出力も又2進数零となり、これが更に需要のMCフロ
ップ424のリセットを生じる。このように、以下の説
明で明らかになるように、CPUが要求側IOCに対し
システム・バス上の回答DMC指令で応答する時、要求
側IOCのDMC要求フロップ428はその需要DMC
フロップ424と同様にリセットされる。DMC要求フ
ロップ428のリセツトの結果、IOCが取付けられた
特定のシステム・バス上のDMC要求回線(信号PDM
CRX−)が2進数1となり、これにより別のIOC又
はこのリセットするIOCがそのDMC要求フロツプを
セットすることによってその特定のシステム・バス上に
DMC要求を行うことを許可する。もしあるシステム・
バス上の2つ以上のIOCが需要DMCフロップをセッ
トさせるならば、このシステム・バス上のそのサイクル
・ィン時間を与えられる第1のIOCは、そのDMC要
求フロップをセットすることによりDMC要求を行うこ
とを許可されるIOCである。例えば、第13図におい
て、第3のIOCがDMC転送要求を与えられておりか
つ第3のIOCのDMC転送要求の処理中第4と第2の
IOCがその各々の需要DMCフロップをセットしかつ
第3のIOCのDMC要求フロップが第1のIOCのシ
ステム・バス・サイクル・ィン時間中IJセットされる
場合、第2のIOCがそれ自身のシステム・バス・サイ
クル・イン時間中そのDMC要求フロップをセットする
ことを許可される。第4のIOCはそのシステム・バス
・サイクル・ィン時間のより後の時間迄待機しなければ
ならす、このより後のシステム・バス・サイクル・ィン
時間において第4のIOCはそのシステム・バス上のD
MC要求回線が既に同一のシステム・バス上の別のIO
Cによってセットされていないことを見出した後にそれ
自身のDMC要求フロップをセットしてDMCデータ転
送サイクルを要求できる。ld l/○コントローラ割
込み要求ロジック再び第39図に関して、割込み要求ロ
ジック404の作用について説明する。 割込み要求ロジック404はDMC要求ロジック402
−1の場合と類似した方法で動作する。即ち、需要割込
みフロッブ434および割込み要求フロツプ438が最
初にリセットされて、その各Q出力側に2進数零を生じ
る。1/0コントローラが割込みが必要であることを決
定する時、需要フロップ434のクロック信号DAIN
OK+は2進数零から2進数1の状態に遷移してそのデ
ータ入力側の2進数1をそのQ出力側にクロツクし、こ
れによりこのフロッブをセットし信号DBINOK+を
2進数1にさせる。 その後、特定のIOCのサイクル・ィン時間中、2進数
1になるクロツク信号DMYTM3十の発生によりNA
NDゲート436を付勢し、もしその第3の入力即ち信
号DINTRX−が2進数1ならばその出力を2進数零
にさせる。もし特定のシステム・バス上の割込み要求回
線の信号PmTRX−が2進数1であってこれがこのシ
ステム・バス上での他のIOCが既にその割込みフロツ
プをセットしたものがないことを表示する場合、信号D
INTRX−は2進数1となる。 もしNANDゲート436に対する3入力が全て2進数
1であれば、その出力である信号DMYINT一は2進
数零となり、これにより割込み要求フ。ツプ438をセ
ットし、そのQ出力である信号DMINTF十を2進数
1にさせる。割込み要求フロツプ438のセットにより
NANDゲート440の出力である信号DINTRX−
が2進数零にさせられる。この信号DINTRX−はシ
ステム・バス上の割込み要求信号PINTRX−と同じ
ものである。割込み要求フロップ438のセットにより
、同じシステム・バス上の別のIOCは、現在要求中の
IOCの割込み要求フロツプがリセットされる迄割込み
要求を行うことを阻止される。以下で明らかになるよう
に、CPUがシステム・バスの回線RDDT29+乃至
RDDT3 1 十における回答割込み指令(ASIN
T)で応答する時、割込みリンク・フロツプ450がセ
ットされてそのQ出力である信号DINTCY+を2進
数1にさせる。2進数1になる信号DINTCY+は割
込み要求フロップ438をリセットするが、これはその
データ出力側の2進教養をその出力側にクロツクするこ
とにより行い、その結果システム・バスの割込み要求回
線(信号PINTRX−)をリセットする。 CPUからの回答割込み指令に応答して2進数1になる
信号DINTCY十も又NORゲート432の出力(信
号DINSTS−)を2進教義にさせることにより需要
割込みフロップ434をリセットする。 代わりとして、DMC要求ロジック402−1に関して
論述した如く、CPUからのマスター・クリアの発生は
信号PCLEAR+20を2進数1にさせ、これにより
NORゲート432の出力を2進数零にさせ、これが更
に需要フロップ434と割込み要求フロップ438をリ
セットすることにより現在進行中のどの割込み要求も打
切る。このシステム・バスの割込み要求回線PINTR
Xのセット動作およびリセット動作も、システム・バス
の1/0割込みシーケンスを示す第23図に示されてい
る。 le l/○コントローラ要求リセット・ロジック再び
第39図に関して、IOC要求リセット・ロジック40
6の動作について詳細に論述する。 指令デコーダ442は、ファームウェア制御下でCPU
により生成されてそしてシステム・バスRDDT29+
乃至RODT31十上に2進符号化されるシステム・バ
ス指令を復号するのに使用される。指令デコーダ442
は、前記のTexas1nstmmenね社により製造
され前記の「設計技術者のためのTTLデータ・ブック
」第2版なる文献に記載されたタイプ番号SN74SI
38の3一8回線デコーダである。一緒にANDされて
指令デコーダを付勢する3つの付勢(EN)入力の内、
唯1つが可変でありそしてこの1つはシステム・バスの
回線PIOCTX−に接続され、それによってこの回線
上に2進数零が生じる時デコーダ442が付勢されて3
つの2進入力11,12,14を復号しそして8つの出
力QO〜Q7の1つに2進数零を生じる。この3つの指
令回線の2進符号化については8つのシステム・バス指
令を説明する第18図に示される。例えば、もし2進数
011がシステム・バスの回線RDDT29+乃至RD
DT31十上に符号化されるならば、2進数零が指令デ
コーダ442のQ3出力側に生じて信号DASDMC−
を2進数零にする。このように、指令ストローフ信号P
IOCTX−が2進数零になる時、指令デコーダ442
の8つの出力の内の1つが2進数零となり、他の7つの
出力は2進数1の状態を維持する。指令ストローブ信号
PIOCTX−が2進零になる前、即ち付勢信号が2進
数1である時、指令デコーダ442の全ての出力は2進
数1である。指令ストローブ信号PIOCTX−の生成
は、前述しかつ第35C図および第37D図に示したよ
うにCPUファームウェア・ワード・ビット32乃至3
4によって制御される。第37D図によれば、CPUフ
アームウエア・ワードのビット27および28はシステ
ム・バス・ストローブ指令回線のどちらが又は相万が付
勢されるかどうかを制御することが判る。即ち、CPU
フアームウエアのマイクロプロセサはその制御下で、ど
のシステム・バスが指令ストローブを受取るかを示すビ
ット27と28の使用により、かつ選択されたシステム
・バスヘストローブされるビット29乃至31(第37
E図参照)の指令の使用により、システム・バスA又は
システム・バスBのいずれか、又は両方のシステム・バ
スA,Bを有する。従って、もしシステム・バスAにお
いてDMC要求が行われつ)ありかつシステム・バスB
において別のDMC要求が行われつ)ある場合、CPU
ファームウェアはシステム・バス回線RDDT29+乃
至RDDT31十上に回答DMC指令で応答するようマ
イクロプログラムされ得る。一方又は他方のシステム・
バス又はその両方に対するシステム・バス・バス指令ス
トローブを制御する能力は、回線RDDT29+乃至R
DDT31十上のこのシステム・バス指令が同時に両方
のシステム・バスに同轍通信されるという点で重要であ
り、2つの可能な要求IOCの内の一方のみが回答され
るように2つのバスの内の一方のみにこのバス指令スト
ローブ信号PIOCTX−がゲートされる。第21図に
示す如く、指令ストローブ信号PIOCTX−は1次時
間0の終りで2進数1から2進数零の状態に遷移し、こ
れにより指令デコーダ442の8つの出力の内の1つを
付勢する。次に第39図によれば、ANDゲート452
の入力の1つは指令デコーダ442からの信号DAS−
DMC−であることが判る。 ANDゲート452に対する他の入力はDMC要求フロ
ップ428からのQ出力である信号DMDMCF−であ
る。このように、もし回答DMC指令がシステム・バス
回線RDDT29+乃至RDDT31十上で符号化され
かつ指令ストローブ回線PIOCTX−が同じシステム
・バスにおいて2進教養であるならば、信号DASDM
C−は2進数零で部分的にANDゲート452を付勢す
ることが判る。もしIOCのDMC要求フロップ428
がセットされれば、ANDゲート452に対する下側の
入力が付勢され(2進数隻)、こうしてANDゲート4
52を完全に付勢してその出力側に2進数1(信号DD
MCCS+)を生じる。○タイプのフロップ454のデ
ータm}入力側に2進数1が現われると、2進数零から
2進数1の状態に遷移するクロック信号DMYLKC+
の発生によりDMCリンク・フロツプ454をセットし
、信号DDMCCY+は2進数1となる。前述のことか
ら判るように、信号DDMCCY+の2進数零から2進
数1の状態への遷移は、DMC要求フロッブ428のク
ロック動作とそのリセット動作を生じ、このリセット動
作はシステム・バス上のDMC要求回線PDMCRX−
を2進数1にする。これも又前に述べたが、信号DDM
CCY+が2進数1になる時は需要DMCフロツプ42
4も又リセツトされる。 次に、指令リンク・フロツプ446、割込みリンク・フ
ロツプ4 5 0、DMCリンク・フロツプ454、お
よびIOCリンク・フロツプ468をクロックするクロ
ック信号DMYLKC十の生成について説明する。 前述の如く、ANDゲート452の出力が2進数1とな
るのは、ANDゲート452に対する両入力が2進数零
となって、これが、IOCがシステム・バス回線RDD
T29+乃至RODT31十からの回答DMC指令を受
取り中であること、および特定の1/0コントローラの
DMC要求フロップ428がセットされていることを表
示する場合である。もしこれ等条件が満たされれば、O
Rゲート458に対する入力の1つは2進数1となり、
これによりその出力(信号DMYLKS十)を2進数1
にする。リセット要求フロップ460のデータ入力側の
2進数1は、クロック信号PTIME3十20が2進数
零から2進数1の状態に遷移する時1次時間3時におい
て出力側にクロツクされる。リセット要求フロップ46
0のセットの結果として、出力(信号DMYLKC+)
が2進教養から2進数1の状態に遷移し、そしてフロツ
プ446,450,454および468のクロック動作
を生じる。 いかなる時点においても、3つのフロツプ446,45
0,454の内の1つのみがセットされる。これ等3つ
のフロップの1つのセットは、システム・バス回線上に
符号化された指令に依存し、かつ関連する要求フロップ
(即ち、CPU指令フロツプ470、割込み要求フロツ
プ438、又はDMC要求フロップ428)のどれがセ
ットされているかに依存する。以上の説明から、AND
ゲート452が2重の目的を備えることが判る。 第1目的は、システム・バスに符号化された1/0指令
が回答DMC指令である場合、かつそのIOCのDMC
要求フロツプがセットされている場合、DMCリンク・
フロップ454のデータ入力側に2進数1を与えること
である。もしこのIOCのDMC要求フロップがセット
されていなければ、DMCリンク・フロップ454のセ
ット動作はアンセット(既にリセットされた)DMC要
求フロツプ428をリセツトするためには要求されない
。ANDゲート452の第2目的はORゲート458に
よりORされる3つの信号の内の1つを発生することで
あり、このORゲート458の出力がリセット要求フロ
ッoフ。460のセット動作に使用される。 更に、フロツプ460の出力はフロツプ446,450
,454をクロツクするために使用される。このように
、1/0コントローラのDMC要求フロップ428がセ
ットされかつ回答DMC指令が受取られる場合か、ある
いは1/0コントローラの割込み要求フロップ438が
セットされかつ回答割込み指令が受取られる場合か、あ
るいはCPU指令フロップ470がセットされかつ回答
指令がシステム・バスの指令回線RDDT29+乃至R
DDT31十上で受取られる場合、にのみこのクロック
信号DMYLKC十が生成されるのである。これ等の後
者の2条件はANDゲート444およびANDケー−ト
448によって確立され、その出力はそれぞれ指令リン
ク・フロップ446および割込みリンクフロップ450
のデ−タ入力側に接続されている。従って、指令リンク
・フロップ446は、CPU指令フロツプ470がセッ
トされかつ回答指令がシステム・バスから受取られる場
合、セットされることになる。これに対応して、割込み
要求フロップ438がセットされかつ回答割込み指令が
システム・バス上で受取られる場合、割込みリンク・フ
ロツプ450がセットされる。割込みリンク・フロップ
450のセット動作は2進数1となる信号DINTCY
+を生じ、これが更に前述の如く割込み要求フロップ4
38と需要割込みフロップ434のリセットを生じる結
果となる。CPU指令フロップ470がセットされた結
果、信号DMCMDF−が2進数零となり、この信号は
更に、1/0コントローラによりCPU}こ対して送ら
れる進行中又は使用中の信号を生じる際10Cにより使
用されて、IOCがCPUからの指令対話で進行する条
件にあるかどうかを表示する。CPU指令フロツプ47
川ま、システム・バスの回線BUSXOO+乃至BUS
XO9十上の目的のIOCのチャネル番号と共にシステ
ム・バス回線RDDT29十及至RDDT31十上のC
PU指令の受取りに応答して、IOCによりセットされ
る。 IOCシーケソスに対するCPU指令は、第20図に示
されている。CPU指令がRDDTシステム・バス回線
上に符号化される間、IOCがバス・デ−タ回線BUS
XOO+乃至BUSXO9十上のチャネル番号を特定の
IOCのチャネル番号を表示するようプリセットされた
IOCにおける手動セット可能スイッチのチャネル番号
と比較する。もしこのシステム・バス上のチャネル番号
がIOCのそれと等しければ、CPU指令フロップ47
0はクロツク入力側で2進数零から2進数1に遷移する
信号DMYCMD一によってセットされ、データ入力側
に2進数1をクロツクする。 フロップ470のセット動作はQ出力信号DMCMDF
−を2進数零にさせてANDゲート444を部分的に付
勢し、このゲートはRDDTシステム・バス回線上に符
号化された回答指令の発生時に完全に符勢される。CP
U指令フロップ47川ま信号DCMDR3一によりリセ
ットされるが、これはシステム・バス上のマスター・ク
リア(NORゲート472を介する信号PCLEAR十
20)が発生する時に、又は指令リンク・フロップ44
6がセットされている場合に1次時間3時においてRD
DTシステム・バス回線上でリンクの終り指令(EOF
LK)が発生する(即ち、CPU指令システム・バス・
シーケンスを終了するりンク終り信号の発生の間、AN
Dゲート474の出力が2進数1となる)時に生ずる。
信号PTIM旧3十4 0は1次時間3信号PTIME
3−30を反転するィンバータ476により生じ、又信
号DEOFLK+はリンク終り信号DEOFLK−を反
転するィンバータ478により生じることに注意。更に
第39図についての説明によれば、IOCリンク・フロ
ップ468がリセット要求フロップ460の出力により
クロツクされ、この出力は又フロツプ446,450,
454をクロツクすることが判る。 IOCリンク・フロツプ468のデータ入力側に2進数
1があれば、IOCリンク・フロツプ468はリンク・
フロツプ446,450および454の1つがセットさ
れる時常にセットされる。IOCリンク・フロツブ46
8がセットされると、そのQ出力則ち2進数零である信
号DMYLNK一は部分的にANDゲート456を付勢
する。 ANDゲート456の他の入力は信号DEOFLK−で
あって、これはリンク終り指令がシステム・バスのRD
DT回線上に符号化される時2進数零となる。このよう
に、ANDゲート456の出力、即ち信号DMYEND
十は、システム・バス上にリンク終り指令が生じ、かつ
3つのりンク・フロツプ446,450,454の内の
1つがセットされてこれによりシステム・バス上のりン
ク指令がこのIOCに指向されていることを保証する時
、常に2進数1となる。信号DMYEND−が2進数1
であれば、ORゲート462の出力則ち信号DMEOL
K十は2進数1となる。リンク終了レジスタ464のD
I入力側の2進数1は、リンク終り指令がシステム・バ
ス上にあるバス・サイクルの1次時間3の期間において
、そのQI出力側にクロックされてそこに保持される。
次のシステム・バス・サイクルの1次時間3の間、IJ
ンク終了レジスタ464のQI出力側およびD2入力側
で2進数1である信号DELKDI十は、そのQ2出力
側にクロックされてこ)で保持され、信号DELKD2
十は2進数1となる。DELKD2十が2進数1であれ
ば、ィンバータ466の出力である信号DELKD2一
は2進数零となり、これによりIOCリンク・フロップ
468および他のりンク・フロツプ446,450,4
54をリセットし、そしてIOCがCPUにリンクされ
た現行リンク・シーケンスを終了する。リンク・フロツ
プ446,450,454および468をリセットする
りンク終りシーケンスに加え、システム・バス上のマス
ター・クリアも又ORゲート462に対してPCLEA
R+20を与えることによりこれ等フロップをクリアし
、これが更に2つの1次時間3の期間後これ等のフロッ
プのリセット動作を生じることになる。リンク終了レジ
スタ464の目的は、1システム・バス・サイクル時間
だけリンク・フロツプのリセット動作を遅延させること
である。 ィンバータ466の後のその出力艮0ち信号DELKD
2一は、1つの1次時間3の始めから次の1次時間2の
終り迄の完全な1システム・バス・サイクル時間だけ2
進数零の状態に止まり、それよってリンク・フロツプ4
46,450,454,468がそれ等のりセット入力
側の信号DELKD2−が2進数1となる迄セットされ
得ないようにする。従つて、リンク・フロツブ446,
450,454および468は、リンク終り指令がシス
テム・バスのRDDT回線上に符号化されたシステム・
バス・サイクルに続いて2つのシステム・バス・サイク
ルが経過する迄はセットされ得ない。このことは実施に
おいて制約とはならないが、その理由はシステム・バス
RDDT回線上のCPUバス指令がCPUファームウェ
アにより生成されて、前の指令のリンク終りの処理と、
回答指令か回答割込みか回答DMAか又は回線DMCバ
ス指令かによる未完のバス要求の回答と、の間でCPU
が1つ以上のファームウエア・ステップ(即ち、システ
ム・バス・サイクル)を実施しなければならないためで
ある。前述の如く、リンク・フロップ・クロック信号D
MYLKC十はリセット要求フロツプ460をセットす
ることにより生成される。信号DMYLKC十が2進数
1の状態に遷移することを要求するその後のクロック信
号を生じるために、フリツプ460がリセットされねば
ならない。フロツプ460のデータ入力である信号DM
YLKS+が2進数零であることを保証することにより
、後続するバス・サイクルの次の1次時間3の間フロツ
プ460がリセットされる。これは、システム・バスの
RDDT回線上に符号化されるバス指令が回答指令、回
答割込み、又は回答DMC指令でなく、このためORゲ
ート458の出力が2進数零であることを保証する場合
である。これは、CPUファームウエア・マイクロプロ
グラムがシステム・バス上に回答指令を生成する2つの
連続するマイクロ命令を符号化しないことを保証するこ
と、によって達成される。これはバス・シーケンス対話
に照して実施上制約とはならない。lf DMAIOC
要求およびリセット・ロジックシステム内に与えられる
1/0コントローラはDMAコントローラ又はDMCコ
ントローラのいずれかである。要求ロジック、要求リセ
ット・ロジックおよびリンク・ロジックに関する前の論
述はDMC I/○コントローラに基くものであったが
、このロジックは等しくDMA I/○コント。ーラの
場合にも適用できるものである。即ち、第39図におい
ては、需要フロップ424、要求フロップ428おより
ンク・フロツプ454は等しくDMAフロップであり得
るが、この場合指令デコーダ442からの回答DMA信
号DASDMA−はANDゲート452を介してリンク
・フロツプ454をセットするため使用されることにな
ろう。J I/○コントローラ・システム・バス要求お
よびリンク・ロジックの要約第39図に示したロジック
の動作についてこ)で簡単にまとめてみよう。 タイミング・ロジック400‘ま、特定のIOC内で使
用されるタイミング信号の生成、およびサイクル・イン
・タイミング信号BCYC川のバス上の前のIOCから
の送出、およびこれを信号BCYCOTとしてシステム
・バス上の次のIOCに送る前に500ナノ秒間遅延さ
せること、に主として関する。更に、このタイミング・
ロジック400は、各システム・バス・サイクルの間2
進数1である1次時間3信号PTIM旧3十20と、特
定のIOCのシステム・バス・サイクル・ィン時間の1
次時間3期間だけ2進数1である信号DMYTM3十を
生成する。DMA要求ロジック(図示せず)、DMA/
DMC要求。ジツク402(第38図)および割込み要
求ロジック404は、それぞれCPUにDMA、DMC
又は割込み要求を要求するため使用される。IOCの要
求フロツブ、例えばDMC要求フロツプ428のセット
動作はシステムにおける特定のIOCのサイクル・イン
時間のみ許可され、これにより前記システム・バスA又
はB上で特定の1つのタイプの要求を2つ以上のIOC
が試みる可能性を除去するものである。システム・バス
AにおけるDMA、DMCおよび割込み要求回線がシス
テム・バスB上のものと別個のものであるため、システ
ム・バスA上の1つのIOCは,例えば、システム・バ
スB上の1つのIOCがDMC要求を行し、つ)ある同
じ瞬間にDMC要求を行うことができる。これは各IO
Cがそのサイクル・ィン時間を現在有しているためであ
る。更に、特定のあるシステム・バス上にあるIOCは
、同時に割込み要求とDMC要求(又はDMA要求)を
行うことができる。その理由は、所与の時刻に所与のI
OC内の2つ以上の要求ロジックのセットを妨げるもの
が要求ロジック内には何もないためである。異なる要求
タイプ(即ち、DMA、DMC、又は割込み)間の優先
順位が、システム・バスAとB間の同じタイプの競合す
る要求と同様に、CPUによって分別されることも判る
。要求ロジックのこれ以後の説明により示されることは
、特定のサイクル・ィン時間中に第1のIOCがそのD
MC要求フロツプ428をリセツトし、かつ同じシステ
ム・バス上の第2のIOCがもしこれが第2のIOCの
サイクル・イン時間でありかつその需要DMCフロツプ
424がセットされているならばそのDMC要求フロツ
プ428をセットできることである。このことは、同じ
システム・バス上の両方のIOCがシステム・バスのR
DDT回線上で回答DMC指令を受取りつ)ある場合で
さえ生じ得る。第1のIOCのみがDMCリンク・フロ
ツプ454からDMC要求フロツプ・リセット信号DD
MCCY十を生成するが、これは第1のIOCのDMC
要求フロップ428のみがクロック信号PTIME3十
20がリセット要求フロップ460をクロツクする時に
セットされたためである。同じシステム・バス上の第2
のIOCにおけるPTIM旧3十20の前縁において、
ANDゲート452の出力である信号DDMCCS+2
進数零となり、その結果ORゲート458の出力である
信号DMYLKS+が2進数零となり、その結果リセッ
ト要求フロップ460がクロツク信号PTIME3十2
0によってはセットされない。第2のIOCのリセット
要求フロツプ460はセットされないため、そのQ出力
の信号DMYLKC+は2進数零の状態を維持し、DM
Cリンク・フロップ454はクロックされずIJセット
状態を維持する。ORゲート458の第2のIOCの出
力である信号DMYLKS+は2進数零となるが、これ
は任意の時にCPUがシステム・バスの回線RODT上
に1つのタイプの指令のみを与え得る故にそのORゲー
トの他の2入力である信号DINTCS+およびDCM
DCS+も又PTIME3十20の前縁において2進数
零となるためである。 従って、指令デコーダ442の唯1つの出力のみが2進
数零となり、従ってANDゲート444,448および
452の唯1つの出力(もしあれば)がPTIM旧3十
20‘こおいて2進数1となり得る。即ち、リセット要
求フロップ460がセットされ、そしてもし要求フロッ
プ470,438又は428がセットされかつ対応する
指令(それぞれASCMD、ASINT、又はASDM
S)がCPUからシステム・バスのRDDT回線を介し
て受取られる場合、リンク・フロツプ446,450,
454および468 クロツク信号DMYLKC+を発
生する。特定のIOCに接続されたある周辺デバイスが
通常いかなる時点でも1つの割込み要求と関連してDM
A(又はDMC)要求を共に行わないが、多くの周辺デ
バイスが1つの10Cに接続されることは可能で、この
場合は特定のIOCがある特定の時点で割込みおよびデ
ータ転送の両方を要求できるが、この場合このIOCは
その要求フロツプの1つ以上をセット状態にすることに
なる。一たんあるIOCがシステム・バス要求を行うと
、CPUフアームウエアはシステム・バスRDDT回線
上の回答指令によって応答する。 要求リセットロジック406において示した如く、シス
テム・バス要求に対するCPUの応答は2つの動作を生
じる。第1の動作は要求側のIOCの要求フロツプがリ
セットされ、対応するりンク・フロツプがセットされる
ことである。このようにDMCの事例について続けると
、もしシステム・バスA上のIOCがDMC要求を行う
ならば、CPUファームウェアは両方のシステム・バス
AおよびBに対するシステム・バスのRODT回線上の
回答DMC指令で回答するが、システム・バスA上で2
進数零にセットされるコントローラ回線のPIOCTX
−(この場合はPIOCTA−)で応答するだけである
。このように、回答DMC指令がシステム・バスAとB
の両方に同報通信されるが、システム・バスA上のIO
Cのみがシステム・バスの回線PIOCTA一によって
その指令デコーダ442を付勢させ、その結果システム
・バスA上のIOCのみが回答DMC指令に応答するこ
とができるのである。システム・バスA上の唯1つのI
OCがそのDMC要求フロツプをセットさせることがで
きるため、システム・バスA上のこのIOCのみがその
DMCリンク・フロツプ454をセットし、そのDMC
要求フロップ428をリセットする。システム・バスの
回線RDDT上の回答DMC指令の同報通信およびシス
テム・バスAの特定のIOCのDMCリンク・フロツプ
454のリセット動作が任意の1次時間3の間に生じ得
、必らずしもDMC要求側IOCのサイクル・ィン時間
中に生じる必要はないことに注意。一たん特定IOCの
リンク・フロップがセットされると、この特定のIOC
およびCPUは互いにリンクされ、システム・バスのア
ドレスノデータ回線(BUSXOO十乃率BUSX15
十)上のこれ以外の全ての対話が処理される特定の要求
に専用化される。このように、システム・バスAおよび
B上では、唯1つのIOCがそのリンク・フロッブ44
6,450又は454の内の1つをセットし、これがリ
ンク終り指令がCPUにより送出されこの特定のIOC
により受取られる迄セット状態を維持する。システムに
おける唯1つのIOCがリンク・フロツプをセットさせ
るため、リンク終り指令は両方のシステム・バス上にC
PUファームウェアによって同報通信され得、唯1つの
IOCがそのリンク・フロツプをリセツトすることによ
りリセツトすることになる。CPUはいかなる時点でも
リンク終り指令を同報通信でき、現在CPU‘こリンク
されている特定のIOCのサイクル・ィン時間を待機す
る必要はないことに再び留意されたい。このように、サ
イクル・イン時間の目的は、特定のシステム・バス上の
IOC間の競合問題の除去にあること、および一たん開
始されるとIOCとCPU間の対話は関与するIOCの
サイクル・ィン時間とは無関係に生じ得ることが判る。
前述の如く、又第16図乃至第18図において示した如
く、DMC要求、DMA要求および割込み要求に対する
通常のシーケンスは、IOCがそのサイクル・ィン時間
中バス要求を開始し、CPUが任意の時刻に回答で応答
し、その後任意の織こCPUからのりンク終り指令が後
続する。更に、前述の如く、又第16図に示す如く、C
PUは、任意の時にシステム・バスの回線RDDT上に
CPU指令(CPCMD)をおきかつシステム・バスの
アドレス/データ回線上に特定のIOCチャネル番号を
おくことにより、IOC動作を開始することができる。
ここで、用語「任意の時」とは、関与するIOCのサイ
クル・ィン時間に無関係にCPUにリンクされる別のI
OCにより既にシステム・バスが使用状態にない期間(
即ち、IOCのリンク・フロツプがセットされない期間
)を意味する。更に、通常のバス対話シーケンスは、I
OCによるバス要求の後、CPUからの回答指令が続き
、更にCPUからのりンク終り指令が続くが、このシー
ケンスはマスター・クリア(信号PCLEAR)により
いかなる時でも打切ることができ、これが対応するフロ
ップをリセットし新らしいシーケンスが開始できるよう
にこのシーケンスを打切る、ものであることに注意すべ
きである。K CPUロジックの詳細 これ迄1/0コントローフ・ロジックの動作について記
述したが、次にCPUロジックについて詳細に説明する
。 第42図は第9図の制御ストアのブロック図に関連して
前に説明した制御ストア・ロジックを示し、第43図は
第8図のCPUのブロック図と関連して説明したCPU
ロジックを示す。Ka 制御ストア・ロジックの詳細 次に第42図に関して制御ストア・ロジックの動作につ
いて詳細に論述する。 システムが初期設定されると、アドレス・レジスタ1,
246−1およびアドレス・レジスタ2,246−2が
リセツトされ、これにより10ビット・アドレス出力を
零にセットさせる。10ビットのROSアドレスRAD
ROO十乃至RADRO9十が零にセットされると、ロ
ケーション零力ミR061,238−8およびROS2
,238−2から続出されて1次時間0の始めに局部レ
ジスタ242にロードされる。 局部レジスタ242に含まれる48ビットのマイクロ命
令ファームウェア・ワードは次のCPU全体に送られる
。ROSから謙出されたこのファームウエア・ワードに
おける2つのビットはアドレス・ゼネレータ1マルチプ
レクサ(MUX)248−1に対する4つの入力の内の
1つの選択を制御し、その出力のあるものはアドレス・
レジスタ1,246−1に再び送り戻され、その他の出
力はアドレス・ゼネレータ、248一2に与えられる。
アドレス・ゼネレータ2,248一2の出力は更にアド
レス・レジスタ2,246−2に送られる。アドレス・
レジスタ1および2,246−1および246−2の出
力が前のマイクロ命令ファ−ムウェア・ワードによって
決定される場合、次のマイクロ命令のアドレスがROS
1,238−1およびROS2,238−2に与えられ
、そして次のマイクロ命令が読出され、一次に1次時間
0の始めにおいて局部レジスタ242にクロックミれる
。このように、以下に述べる如きハードウェア割込みを
生じることなく、現行マイクロ命令がROSから読出さ
れるべき次のマイクロ命令を決定するのである。Kaィ
ROSアドレス生成ロジック 次にアドレス・レジスター,246−1および2,24
6一2に関して前記の動作を更に詳細に論述する。 システムが初期化されると信号PCLEAR−が2進数
1となり、このため以下に説明するように、更に1次時
間4の始めにPCPCLR十を2進数1にそしてPCP
CLR+を2進数零にさせる。 NORゲート595の1つの入力側で信号PCPCLR
+が2進数1であると、その出力貝0ち信号RARCL
R一は2進数零となり、これが更にアドレス・レジスタ
1,246−1をクリして10ビットのROSアドレス
の最上位の6ビットの信号RADROO+乃至RADR
05十を2進数零にさせる。アドレス・レジス夕2,2
46−2のリセット(R)入力側の信号PCPCLR−
が2進教養であれば、10ビットのROSアドレスの最
下位ビットの信号RADR06十乃至RADRO9十は
2進数零となり、これにより10ビットのROSアドレ
スを全て零にする。付勢EN)読出し入力の信号KEN
ROS−が2進数零であれば、ROS1,238ーーは
10ビットのアドレスにより指定されるロケーションを
アドレス指定し、その40ビット出力を回線PROSO
O+乃至PROS23十およびPROS32十乃至PR
OS47十におく。付勢(EN)読出し入力の信号KE
NROS−およびPEN−BBT+が2進数奏であれば
、RCS2,238−2は10ビット・アドレスにより
指定されるロケーションをアドレス指定してその8ビッ
ト出力を回線PROS24十FM乃至RROS31十F
Mにおく、ROS1,238一1は4ビット×1024
ロケーションの10個のPROMからなり、RS2,2
38−2およびブートPROM240はそれぞれ4ビッ
ト×1024ロケーションの2個のPROMからなる。
これ等の4ビット×1024ロケーションのPROMは
米国・カリフオルニア州サニービルのSigletic
s社により製造され本文に参考のため引用する文献「S
ignetics社のバィポーラおよびMOSメモlj
ーデータ・マニュアル」に記載されたタイプ8$137
である。ROSIおよび2から読出された48ビットの
マイクロ命令ファームウェア・ワードは1次時間0の始
めに信号PTIMEO+よって局部レジスタ242にク
ロツクされる。局部レジスタ242の出力である信号R
DDTOO乃至RDDT47十はCPU全体で使用され
て中央プロセサを制御し、これも又ィンバータ(図示せ
ず)により反転されて必要に応じ制御信号RDDT00
一乃至RDDT47一を生じる。9図は制御ストア・ア
ドレス・ゼネレータ248は、第42図のアドレス・ゼ
ネレータ1マルチプレクサ248一1およびアドレス・
ゼネレータ2マルチプレセサ248一2からなる。 4−1マルチプレクサからなるアドレス・ゼネレータ1
マルチブレセサ248−1は、現行ファームウェア・ワ
ードのビット36および37に指定される分岐タイプに
従って、ROS238から取出される次のマイクロ命令
のアドレスを決定する。 第35D図は、もし選択(SEL)入力RDDT37十
およびRDDT36十が2進数零であれば、現行マイク
ロ命令において指定される分岐タイプが無条件分岐であ
り、次のマイクロ命令の10ビットROSアドレスは1
0入力の信号RDDT38+乃至RDDT47十により
指定されることを示す。もし現行マイクロ命令のビット
36および37が2進数01を指定するならば、2通り
のテスト分岐が指定され、11入力は、アドレス・レジ
スタ1,246ーーからの4ビットの信号RADROO
+乃至RADR03十と、現行マイクロ命令からの5ビ
ット、信号RDDT42乃至RODT46十とおよび分
岐オン・テスト回路網254(第9図参照)からの1ビ
ット、信号RASBT9十とを用いて選択される。もし
現行マイクロ命令のビット36および37が2進数10
を指令するならば、アドレス・ゼネレータ1マルチプレ
クサは多重チスト分岐入力12を選択して、現行マイク
ロ命令からの6ビットの信号RDDT38十,RDDT
39十およびRDDT44+乃至RDDT47と、およ
びメジャー分岐回路網256(第9図)からの4ビット
の信号RAMBT2+乃至RAMBT5十とを使用する
。現行マイクロ命令のビット36および37がハ−ドウ
ェァ割込み戻り分岐を指指定するならば、13入力が使
用され、10ビット・アドレスはハードウェア割込み復
帰レジスタ252からの信号RITROO+乃至RIT
RO9十によって決定される。アドレス・ゼネレータ1
マルチプレクサ248−1の出力則ち信号RADMOO
+乃至RハDMO9」‐は、出力制御(F)入力信号K
ENRAM−が2進数零を維持する限り有効である。ア
ドレス・ゼネレータ2マルチプレクサ248−2は、】
0ビットROSアドレスの4つの最下位ビットがアドレ
ス・ゼネレータ1マルチブレクサ248ーーの出力か又
はハードウェア割込みェンコーダ250一2から生じる
かどうかを選択するために使用される。 ハードウェア割込みが全く継続中でない場合か又は1つ
以上の割込みが継続中であるがハードウェア割込みが禁
止されている場合、信号PflINTL+が2進数零と
なり、10入力の信号RADM06+乃至RADMO9
十が選択される。もし1つ以上のハードウェア割込みが
未完貝0ち継続中でありかつハードウェア割込みが付勢
されている場合、信号PHINTL+は2進数1となり
、11入力の2進数1とおよび信号PHINT7十乃至
PHINT9十とが選択され、10ビットROSアドレ
スの4つの最下位ビットは継続中のハードウェア割込み
の符号化によって決定される。アドレス・ゼネレータ2
マルチプレクサ248一2の出力である信号RADN0
6+乃至RADNO9十は、1次時間2の始め則ち信号
PTIME2十が2進教養から2進数1の状態へ遷移す
る時にアドレス・レジスタ2,246−2にクロツクさ
れる。 同様に、アドレス・レジスタ1,246一1は、アドレ
ス・ゼネレータ1マルチプレクサ248−1の出力によ
り決定される如き10ビットROSアドレスの6番目の
最上位ビットを含む。1次時間2の始めにアドレス・レ
ジス夕1および2にクロツクされた10ビットのROS
アドレスは、次にROSIおよびROS2をアドレス指
定するのに使用されて48ビットのファームウェア・ワ
ードを論出し、このファームウェア・ワードは次に1次
時間0の始めに局部レジス夕242にクロックされる。 このように現行マイクロ命令は、ハードウェア割込み又
はソフトウェア割込みの発生時に説出されるべき次のマ
イクロ命令のアドレスを決定する。Kaロ ハードウェ
ア割込みロジック 更に第42図において、ハードウェア割込みおよびソフ
トウェア割込みの取扱いについて詳細に説明する。 各CPUサイクル間1次時間4の終りに1度割込み要求
レジスタ250一1が信号PT1八4E4一によってク
ロックされる。割込み要求レジス夕250−1のデータ
入力は、それぞれ、割込み要求システム・バスB(信号
PINTR2−)、割込み要求システム・バスA(信号
PINTRI−)、DMCデータ要求システム・バスB
(信号PDMCR2一)、DMCデータ要求システム・
バスA(信PDMCRI−)、DMAデータ要求システ
ム・バスA(信号PDMAR1−)、DMAデータ要求
システム・バスB(信号PDMAR2一)、主メモリー
・リフレツシュ時間切れ(信号PHM股FL−)および
主メモリー読出しサイクル(信号PMRCYC−)に接
続される。 割込み要求レジスタ250ーーのDMAおよびDMCの
データ要求および主メモリー・リフレッシュ時間切れの
出力信号はハードウェア割込みェンコーダ250−2の
入力側に接続される。パリティ・ェフー・フロップ58
6の出力である信号PHM円ER−および不在メモリー
・フロツプ592の信号PHNDXM−も又入力として
ハードウェア割込みェンコーダ250−2へ接続される
。 ハードウェア割込みェンコーダ250一2は前記Tex
aslnstrumenは社製のタイプSN74148
の8回線−3回線優先順位ェンコーダである。ハードウ
ェア割込みェンコーダ250一2は、付勢(EN)出力
信号が2進数零である時常に、8入力回線を3つの出力
回線の信号PHINT7十乃至PHINT9十に符号化
する。ハードウェア・ェンコーダ250−2の1出力の
信号PHINTP+はその8入力の1つが2進数零であ
る時常に2進数1となり、ハードウェア割込みが禾完即
ち継続中であることを表示する。もしハードウェア割込
みが継続中であれば、ハードウェア割込みェンコーダ2
50−2の付勢(1)出力の信号PHINTP十は2進
数1であり、ANDゲート591を部分的に付勢する。 もし現行ファームウェア・ワードのビット35が2進数
1であってハードウェア割込みを付勢するならば(第3
5C図参照)、信号RDDT35十が2進数1となって
ANDゲート591を完全に付勢し、出力信号PHIN
TL+を2進数1にする。信‐号PHINTL+が2進
数1でANDゲート593を部分的に付勢するならば、
1次時間2の始めに信号PTIME2十が2進数1にな
りANDゲート593を完全に付勢し、その出力の信号
PHINTC−を2進数1にする。ト10Rゲート59
5の1つの入力が2進数1であれば、その出力の信号R
ARCLR−が2進教養となってアドレス・レジスタ1
,246−1をリセットし、これにより10ビットのR
OSアドレスの最上位6ビットを零にクリアする。AN
Dゲート59 1の出力である信号PHINTL十が2
進数1であれば、アドレス・ゼネレータ2マルチプレク
サ248一2は11入力を選択して、ハードウェア割込
みェンコーダ250一2の入力側の未完の最高優先順位
割込みの入力番号と対応するアドレスを10ビットのR
OSアドレスの最下位の3ビットに符号化する。10ビ
ットのROSアドレスの最下位の4番目のビットがアド
レス・ゼネレータ2マルチプレクサ248−2の入力1
1のビット零に現われる2進数1により2進数1に等し
くセットされるとき、もしハードウェア割込みが未完で
ありかつハードウェア割込みが付勢されているならば、
アドレス・レジスタ1およびアドレス・レジス夕2の合
成出力が8乃至15の範囲内で10ビットのROSアド
レスなることが判る。 このように、もしハードウェア割込みが未完でありかつ
ハードウェア割込みが付勢されるとき、ハードウェア割
込みェンコーダ250一2の出力は、アドレス・レジス
ター,246−1をクリヤし、かつアドレス・ゼネレー
タ2マルチプレクサ248−2およびアドレス・レジス
タ2,246−2を介してハードウェア割込みの符号化
された優先順位を選択することによって、10ビットの
ROSアドレスの最上位の6ビットをクリアすることが
判る。 この機構の使用により、特定の未完のハードウェア割込
みを取扱うよう符号化されたマイクロルーチンに対する
10ビットのROSアドレスが生成され、マイクロルー
チンが実行される。ハードウェア割込みマイクロルーチ
ンを呼出す前に次のマイクロ命令の10ビットのROS
アドレスを保管するのがハードウェア割込み復帰レジス
タ252の機能である。 このように、ハードウェア割込みマイクoルーチンが呼
出される時常に、ANDゲート593の出力の信号PH
INTC十が2進数零から2進数1の状態に遷移してハ
ードウェア割込み復帰レジスタ252をクロックし、こ
れにより次にROSから使用されるマイクロ命令がどれ
かについての10ビットのROSアドレスを保管する。
信号PHINTC+がハードウェア割込み毎に唯1度2
進数零から2進数1へ遷移するため、従ってハードウェ
ア割込みマイクロルーチンの始めにのみハードウェア割
込み復帰レジスタ252は、マイクロ命令の10ビット
のROSアドレスの内容を保持することになり、このマ
イクロ命令は、もしこのハードウェア割込みと関連する
マイクロルーチンの処理の期間を通じて1回のハードウ
ェア割込みもなかったならば、ROSから読出されるこ
とになっていたものである。ハ−ドウェア割込みマイク
ロルーチンの処理の間はハードウェア割込みが禁止され
る(即ち、ハードウェア割込みは入れ子にはならない)
ことが判る。ハードウェア割込みを処理するためのマイ
クロルーチンの最後の命令は、このファームウェア・ワ
ードのビット36および37におけるハードウェア割込
み復帰分岐を符号化して、信号RDDT36十およびR
DDT37十を2進数1にさせることによりアドレス・
ゼネレータ1マルチプレクサ248ーーの13入力を選
択し、これによって次のマイクロ命令の10ビットのR
OSアドレスをハードウェア割込み復帰レジスタ252
から取出させ、これが第34図に関して前に述べたハー
ドウェア割込みの発生の直前にアドレス・ゼネレータ1
マルチプレクサ248一1によって発生された10ビッ
ト・アドレス、によりアドレス指定されたマイクロ命令
ファームウェア・ワードへ制御を有効に戻す。第42図
の説明は、現行マイクロ命令の実行中に次のマイクロ命
令のアドレスが生成されることを示す。このように、も
し現行マイクロ命令の始め(1次時間2の前)にハード
ウェア割込みェンコーダ250−2の入力の1つのハー
ドウェア割込み信号が2進数0であり、かつハードウェ
ア割込みが現行マイクロ命令(ビット35が2進数1の
信号RODT35十)において付勢される場合、取出さ
れる次のマイクロ命令は継続中の最高優先順位の割込み
をサービスするためのマイクロルーチンの最初のマイク
ロ命令となる。もし割込みが現行マイクロ命令により禁
止される(ビット35が2進数零)ならば、現行マイク
ロ命令の終りではハードウェア割込みが生ぜず、現行マ
イクロ命令のROSアドレス指定フィールド‘こよりア
ドレス指定されるマイクロ命令が次のマイクロ命令とな
る。マイクロ命令ビット35が現行マイクロ命令の終り
に何か生じるかを制御するため、ハードウェア割込みサ
ービス・マイクロルーチンはマイクロプログラムされて
、その結果マイクロルーチンの最終マイクロ命令の間ハ
ードウェア割込みが付勢され、そしてROSアドレス指
定フィールド(第35D図参照)は、次のマイクロ命令
のアドレスがハードウェア割込み復帰レジスタ252か
ら取出されるべきことを指定し、このレジスタは制御を
割込みされた元のマイクロプログラムに戻す(もしハー
ドウェア割込みが未完でなければ)。 もしハードウェア割込みが最初のハードウェア割込みサ
ービスのマイクロルーチンの最終マイクロ命令の間継続
中であれば、アドレス・ゼネレータ1マルチプレクサ2
48−1は13入力を選択し(即ち、ハードウェア割込
み復帰レジスタ252に記憶されたアドレス)、そのQ
出力(信号RADMOO十乃至RADMO9十を13入
力に等しくさせる。アドレス・ゼネレータ1マルチプレ
クサ248一1の出力は次に、信号PHINTC+が2
進数零から2進数1に遷移するとき1次時間2において
ハードウェア割込み復帰レジスタ252において復元さ
れる。更に、アドレス・ゼネレータ2マルチプレクサ2
48−2はその11入力の第2のハードウェア割込みア
ドレスを選択し、1次時間2においてアドレス・レジス
タ1,246一1が信号RARCLR−によりクリアさ
れ、アドレス・レジスタ2,246一2が第2のハード
ウェア割込みアドレスにセットされる。このように、第
1のハードウェア割込みサービス・マイクロルーチンの
最終マイクロ命令である現行マイクロ命令の1次時間2
において、アドレス・レジスタ1,246−1と2,2
46−2に含まれるアドレスは第2のハードウェア割込
みサービス・マイクロルーチンの第1のマイクロ命令の
アドレスとなる。第24図についての以降の説明によれ
ば、第2のハードウェア割込みサービス・マイクロルー
チンの終りに継続中のハードウェア割込みがなければ制
御はマイクロ命令に戻され、そのアドレスはハードウェ
ア割込み復帰レジスタ252に記憶され、こうして第1
のハ−ドウェア割込みにより割込みされた時点における
元のマイクロプログラムに制御を戻すことが明らかにな
る。このように、バック・ッウ・バック(即ち連続した
)ハードウェア割込みが、第1と第2のハードウェア割
込みサービス・マイクロ・ルーチン間で割込みを受けた
元のマイクロプログラムに戻ることなくサービスされる
ことが判る。システム・バスA又はBにおけるDMAデ
ータ要求又はDMAデータ要求がいかにしてROSロケ
ーション12乃至15に対するハードウェア割込みを生
じかつ関連するハードウェア割込みマイクロルーチンを
呼出すかについて説明したが、第42図の他のハードウ
ェア割込みロジックについては以下に説明する。 Kaロi 主メモリーリフレツシュ時間切れロジツクフ
ロツプ572および574は主メモリー・リフレツシュ
信号RHMRFL−が8乃至15マイクロ秒に生成され
ることを保証するため使用される。 第14図に関して前に説明したように、クロック信号B
CNTL8十は4マイクロ秒毎に2進数零から2進数1
へ遷移し、これによりフロップ672および574をク
ロックする。8マイクo秒リフレッシュ・フロップ57
2が4マイクロ秒毎にクロツクされると、その出力の信
号PMRFPM+が4マイクロ秒間2進数零となり、こ
れに続いて次の4マイクロ秒間2進数1となって、これ
により8マイクロ秒の1サイクルを完了する。 16マイクロ秒リフレッシュ・フロツプ574のデータ
(D)入力に8マイクロ秒リフレッシュ・フロツプ57
2の出力である信号PMRFTM+を継続接続すること
により、フロツプ574の出力である信号PHMRFL
−は8マイクロ秒間2進数零となり、これに続いて8マ
イクロ秒間2進数1となって16マイクロ秒で1サイク
ルを完了する。 16マイクロ秒リフレツシュ・フロツプ574の出力が
2進数零である時、割込み要求レジスタ250−1の出
力信号PHMRFH−が2進数零となり、2進数101
をハードウェア割込みェンコーダ250一2の出力回線
PHINT7+乃至PHINT9十に符号化させ、これ
が更にハードウェア割込みが付勢される時アドレス・ゼ
ネレー夕2マルチプレクサ248−2を、主メモリー・
リフレッシュ時間切れマイクロルーチンを開始するRO
Sロケーション1川こ分岐させる。 再びフロップ572および574について考察すれば、
NORゲート5 8 0の出力の信号PMFRSH−が
2進数零である時両フロツプがリセットされることが判
る。 もしファームウェア・ワードのビット32乃至34が2
進数001に等しくなるようセットされこれが信号RO
DT32十およびRDDT33十を2進数零にそして信
号RDDT34十を2進数1にさせるならば、副指令デ
コーダ244−2(第43図参照)からの信号PMRF
SH−は2進数1にセットされる。 信号PMRFSH−はィンバータ576によって反転さ
れ、入力が2進数零である時は常に信号PMRFSH十
を2進数1にさせる。 信号PMRFSH十がNORゲート580の入力側で2
進数1である時、その出力である信号PMFRSH−は
2進数零となって8マイクロ秒フロップ572および1
6マイクロ秒リフレツシュ・フロツプ574をそのリセ
ット(R)入力を介してリセットする。主メモリー・リ
フレッシュ信号PMFRSH−も又システム・バスBを
介して主メモリーに対し転送される。代わりとして、信
号KEFRSH−が2進数隻であってィンバ−夕578
を介して反転されて信号KEFRSH−をNORゲート
580の第2入力側で2進数1にさせる時常に、信号P
MFRSH−は2進数零となる。フロツプ572および
574のハードウエア割込みロジックとの相互作用につ
いて検査することにより、16マイクロ秒リフレッシュ
・フロップ574の出力である信号PHMRFL−がメ
モリー・リフレツシュ信号PM『RSH−がシステム・
バスBを介して主メモリーに対して送られた後8マイク
ロ秒時に2進教養となることが判る。 リフレツシュ割込み信号PHMRFL一は、8マイクロ
秒間又は引き続くメモリー・リフレッシュ信号によりク
リアされる(PM『RSH−は2進数零となる)迄、2
進数零の状態を維持する。2進数零である信号PHMR
FL−は信号PHM旧FH−を2進数零にさせ、もしハ
ードウェア割込みが許可されると、ファームウェアをマ
イクロル−チンに分岐させ、このマイクロルーチンは更
にメモリー・リフレツシュ信号PMFRSH−をシステ
ム・バスBを介して主メモリーに送出する。 16マイクロ秒フロップ574の出力である信号PHM
RFL−は前のメモリー・リフレツシュの後8マイクロ
秒時に2進数零となるため、15マイクロ秒の適正なM
OSメモリー・リフレッシュ速度を維持して主メモリー
情報を脱落しないようにするために、ハードウェア割込
みが7マイクロ秒より長期間禁止されないようにCPU
ファームウェアを符号化することが重要である。 もしCPUファームウェアがハードウェア割込みを禁止
していないならば、第1のメモリー・リフレツシュが8
マイクロ秒の終りに生じてCPUファームウェアは主メ
モリー・リフレッシュ・マイクロルーチンに分岐させ、
これが更にリフレッシュ指令を信号刊4FRSH−を介
してシステム・バスB上の主メモリーに送出させ、この
信号が更にリフレツシュ・フロツプ572および574
をリセットして第2の主メモリー・リフレッシュ割込み
を更に8マイクロ秒後に送出させる。 主メモリー・リフレッシュ指令も又ソフトウェア命令の
処理内で符号化されるため、主メモリーが次の2つのC
PUサイクルの間使用されないことをCPUマイクロプ
ログラムが決定する時は常に、主メモリー・リフレッシ
ュ時間の満了によって全てのIJフレッシュ信号が生成
されるとは限らない(即ち、フロツプ572および57
4)。リフレツシュ・フロツプ572および574の目
的は、最小限リフレッシュ信号が15マイクロ秒毎に1
回主メモリーに送出されることを保証することであるが
、実際にはCPUファームウェアが符号化されてそれに
より、ソフトウェア命令の処理中にもし主メモリーが次
のXPU期間使用されないことが判る場合リフレッシュ
指令がCPUファームウェア・マイクロ命令内で符号化
されて15マイクロ秒毎に1回以上瀕繁に主メモリー・
リフレッシュ信号を生成するようにする。Ka。 ii 主メモリーのパリティ・ェフー・ロジツク各主メ
モリ一読出し操作中、メモリーはメモリーから読出され
る16ビット・ワード当り2パリティ・ビット(8ビッ
ト・バイト当り1パリティ・ビット)を生成して、この
生成したパリティをメモリーから読出されたものと比較
する。もし生成されたパリティ・ビットがメモリーから
読出されたパリティ・ビットと合致しなければ、主メモ
リーはシステム・バスBを介して回線MEMPER−上
をCPUに対して送出されるパリティ・ェフー信号を生
成する。更に第42図において、主メモリーにより検出
されたパリティ・エラーの発生はパリティ・ヱフー・フ
ロップ586のセット動作を生じ、これが更にハードウ
ェア割込みをもたらす。 もし主メモリーがメモリ一読出し操作時にパリティ・ェ
フーを検出すらならば、主メモリーは信号MEMPES
−をシステム・バスB上で2進数零にセットする。信号
PEMPER−が2進数零のとき、ィンバータ596の
出力である信号PMMPAR+は2進数1となり、信号
PMM円AR+はィンバー夕598により反転されてシ
ステム・バスAに対し信号刊4^WAR−として送られ
る。もしDMAデータ要求に応答してメモリー読出しか
行われたならば、パリティ・エラー信号即ちシステム・
バスA上の信号PMMPAR−およびシステム・バスB
上の信号MEMPER−は要求側のDMAIOCの状態
レジス外こストローブされ、その結果1/0転送の状態
が要求される時このエラーがソフトウェア・プログラム
に通知され得る。パリティ・エフー・フロツプ586の
データ(D)入力側の主メモリー・パリティ・エラー信
号PMM円AR十は、クロツク信号PARFMD−が2
進数零から2進数1へ遷移する時クロツクされる。 パリテイ・エフー・フロツプ586のデータ入力側の2
進数1のクロック動作は2進数零となる出力信号PHM
PER−を生じ、ハードウェア割込みが付勢されている
時ハードウェア割込みを惹起する。NANDゲート58
2の出力であるクロツク信号PARFMD−は、もし信
号PBSFMD−が2進数零であれば信号PTIM旧4
十が2進数1になる1次時間4の始めにおいて、2進数
零から2進数1の状態に遷移する。信号P既FMD−は
第19図において示す如く2サイクルの主メモリ一読出
し操作の第2のサイクルの間2進数零である。信号PB
SFMD−は、データが主メモリーからシステム・バス
B上に読出されることを付勢するよう主メモリーにより
用いられる。パリティ・ヱフー・フロップ586はセッ
ト状態を維持し、これによりハードウェア割込みを要求
し続け、これはCPU初期化信号がNORゲート584
の1入力側の信号PCPCLR−を2進数零にさせてそ
の出力の信号PARCLR−を2進数零にさせることに
よりフロツプ586をリセットすることによりクリアさ
れる迄続ける。 代わりとして、パリティ・エラーフロップ586は後続
の主メモリ一読出し操作によってリセットされる。Ka
ロiii 不在メモリー検出ロジック前述の如く、シス
テム内のCPUは、各主メモリー・アドレスが主メモリ
ーに与えられるときのこのアドレスを監視して、アドレ
ス指定されたロケーションがシステム・バスBに接続さ
れた主メモリー・ボードの1つに物理的に存在するかど
うかを決定する。 更に第42図によれば、システムが動作に入る前に、主
メモリーに物理的に存在する最終ロケーションのアドレ
スが、16ビット・アドレスの最上位の5ビットを2進
符号化することによりメモリー・サイズ・スイッチ58
8にセットされる。メモリー・コンパレータ590は前
記Texas Instruments社製のタイプS
N74S85であり、最終メモリー・ロケーションのア
ドレスの最上位の5ビットを内部バス260からのアド
レスの最上位の5ビット(信号PBUSOO+乃至PB
US04十)と比較し、もしバス上のアドレスがシステ
ム内に物理的に存在する最終ロケーションのアドレスを
越えるならば出力信号PBUSLG十を2進数1にセッ
トする。内部バス260の内容とメモリーに物理的に存
在する最終ロケーションのアドレスとの比較は連続的に
行われるが、この比較の出力である信号PBUSLG+
はクロック信号PMEMGO+の2進数零から2進数1
の状態への遷移によってのみ不在メモリー・フロツプ5
92へクロツクされる。ハードウェア・ワード・ビット
23が2進数1である時(第35C図参照)、クロック
信号PMEMGO+は1次時間3の始め(第16図参照
)において2進数零から2進数1の状態へ遷移する。 信号PMEMGO十が2進数1であれば、内部バス26
0の内容は主メモリー内の1つのロケーションのアドレ
スとなり、従って不在メモリー・フロツプ592のデー
タ(D)入力はアドレス指定されたロケーションが主メ
モリー内に物理的に存在するかどうかを反映する。もし
アドレス指定されたロケーションが主メモリー内に物理
的に存在しなければ、信号PBUSLG+は2進数1と
なって不在メモリ−・フロツプ592にクロツクされ、
そのQ出力である信号PHNDXM十を2進数1に「又
そのQ出力である信号PHNDXM−を2進数零にする
。信号PHNDXM+2進数1へのセットはNANDゲ
ート594の出力である信号M旧M円ER−を、ィンバ
ータ596と598を介して信号PMMPAR−と同じ
ように2進数零にさせる。従って、不在メモリー・ロケ
ーションをアドレス指定する試みを検出すると、その結
果メモリ−・パリティ・エラー信号h伍M円ER−およ
び信号PMMPAR−が2進数零となり、これにより不
在メモリー・ロケーションがアドレス指定されているこ
とをシステム・バスAおよびB上で1/0コントローラ
に通知する。メモリー・アクセスを行う1/0コントロ
ーラは、これ等のエラー回線の状態をソフトウェアに対
し後で通知するため、その状態レジスタにこれ等エラー
回線の状態を保管する。不在メモリ−・フロップ592
のセットは、ハードウェア割込みェンコーダ250−2
の最高優先順位の入力において信号PHNDXM−を2
進数隻にさせ、これは割込みが許可される時不在メモリ
ー・ハードウェア割込みを生じさせる。 不在メモリー・ハードウェア割込みの処理はCPUファ
ームウェアをROSロケーション8に分岐させてハ−ド
ウェア割込みを処理させる。不在メモリー・マイクロル
ーチンは引き続く不在メモリー.エラーが生じないこと
を保証するため主メモリー・アドレス零を用いてメモリ
ー・リフレツシュ操作を行、これが更に信号PBUSL
G十を2進数零にさせることにより不在メモリー・フロ
ップ592をリセットし、継続中の不在メモリー・ハー
ドウェア割込みをクリアする。不在メモリー・検出ロジ
ックについての説明を終る前に、不在メモリー・ロケー
ションへのアクセスの試みの検出の結果、不在メモリー
・フロツプ592のセットとおよびインバータ596の
出力である信号PMMPAR+を介するパリティ・ェフ
ー・フロツプ589のセットを生じることに留意すべき
である。 不在メモリー・フロップ592のセットも又パリティ・
ェフー・フロツプ586のセットを生じるが、唯1つの
ハードウェア割込みが処理されることになり、これは次
に高い優先順位であるメモリー・パリティ・エラー割込
みよりも高い優先順位である不在メモリー・ハードウェ
ア割込みである。このハードウェア割込み優先順位はハ
ードウエア割込みェンコーダ250一2への入力を検査
することによって知り得る。不在メモリー・ハードウェ
ア割込みマイクロルーチンにおいて行われる主メモリー
・リフレツシュ操作が不在メモリー・フロツプ592と
パリティ・ェフー・フロップ586の相方をクリアする
ために、メモリー・/ぐリテイ・エラーのハードウエア
割込みは生じない。従って、不在メモリー・ハードウェ
ア割込みマイクロルーチンからの復帰時に、信号PHM
PER−は2進数1となってメモリー・パリティ・ハー
ドウェア割込みは継続中とならない。もしDMA又はD
MCデータ転送の間不在メモリー・アドレス又はメモリ
ー・パリティ・エラーが検出されるならば、メモリーG
O信号が主メモリーに送られるサイクル(第19図参照
)に続くCPUサイクル(第2サイクル)の間、信号P
TIOGO−が2進数零にセットされる。 2進数零への信号PTIOGO−のセットによりNOR
ゲ−ト584の出力である信号PARCLR−を2進数
零にさせ、その結果、ハードウェア割込みCPUファー
ムウェアによって付勢される前に不在メモリー・フロツ
プ592とパリテイ・エフー・フロップ586のリセッ
トを生じ、これにより関連するハードウェア割込みを阻
止する。 このフロップ592と586のリセットは、1/0コン
トローラとの間のデータの転入出と関連する潜在的なハ
ードウェア割込みがCPUファームウェア・フローに割
込むのをマスクする。これは又、不在メモリー・アドレ
ス又はメモリー・パリティ・ェフーのハードウェア割込
みのいずれかの発生がソフトウェア命令の実行過程の間
CPUファームウェアにより行われるメモリー・アクセ
スによるものであり、これも又CPUファームウェアに
より行われるDMA又はDMCデータ転送によるもので
はないこと、を保証する。CPUが不在メモリー・ロケ
ーションをアクセスする試みを検出する時、メモリー・
エラー回線PMMmAR一およびMEMPER−がセッ
トされるが、データをメモリーに書込むDMCデータ転
送の場合にはメモリー・エラー回線のセットはDMC
I/○コントローラがそのエラー回線の探索を停止した
のみ後でのみ生じる。 第21A図によれば、もしエラーが生じる場合、リンク
終り(EOFLK)指令がCPUおよびIOCリンクを
終了した後でのみ、メモリー・エラー回線がセットされ
ることが判る。IOCがCPUに対しリンクされる時だ
けIOCはエラー回線を監視して、それによりどんなェ
ラ−信号もそのIOCに対して指向されることを保証し
、従って入力データ転送サイクルの間不在メモリー・エ
ラーがDMAIOCには見えなし、。不在メモリー・エ
ラーが検出不能とならないことを確保するため、転送さ
れるべきブロックの上限(最上位アドレス)は、DMC
データ転送が開始される前の10LDソフトウェア命令
の実行中に検査される(第29図およびその説明参図)
。 この特別な検査はDMC入力(メモリーへの書込み)操
作のために実施されることが必要であるだけである。更
に、メモリー書込み操作の間、メモリー・エラー回線が
不在メモリー・エラーに対してセットされるだけであり
、メモリーに書込まれる時パリティ検査は行われないこ
とを注意。DMC出力操作とおよびDMAの入力および
出力の操作とのため、メモリー・エラー回線はリンク終
り以前にセットされるが、IOCは依然としてメモリー
・エラー回線を監視し、その結果特別な検査はこれ等の
場合必要でない。Kaハ ソフトウェア割込みロジック ソフトウェア割込みの処理については、第34図に関し
て既に述べた。 再び第42図に関して、ソフトウェア割込みロジックに
ついて詳細に説明する。ソフトウェア割込みェンコーダ
257一1はTexaslnstrmments社製の
タイプSN74148である。最上高から最低の優先順
位のソフトウェア割込みに向って、ソフトウェア割込み
ェンコーダ257−1の入力は連続するソフトウェア割
込み条件の状態に基いて2進数零となる。もしレジスタ
のオーバーフローが検出されると信号PFITRP−が
2進数零となり、対応するビットはマスク(MI)レジ
スタにセットされる(第4図参照)。もし切迫した電源
故障が検出されるならば、信号PFAILF−2進数零
となる。もしシステム・バスA上の1/0コントローラ
が割込み要求を行なっているならば信号PFINTI一
は2進数零となり、又もしシステム・バスB上の1/0
コントローラが割込み要求を行なっているならば信号P
FINT2一は2進数零となる。もしタイマーが切れれ
ば、信号PFITKL−は2進数零となる。ソフトウェ
ア割込みヱンコーダ257−1の入力はその3出力であ
る信号PFINT3+乃至PFINT5十に2進符号化
される。もしいずれかの入力が2進数零であって1つ以
上のソフトウェア割込みが未完であることを表示するな
らば、ソフトウェア割込みェンコーダ257−1の付勢
(1)出力信号PFINTP一は2進数零となる。ソフ
トウェア割込みェンコーダ257−1の4つの出力信号
はメジャー分岐マルチプレクサ256−1への13入力
の4つの入力信号に接続され、マルチプレクサ選択信号
RDDT41+乃至RDDT43十が2進数011と等
しい(第35D図参照)時、その4つの出力である信号
RAMBT2+乃至RAMBT5十にゲートされる。メ
ジャー分岐マルチプレクサ256ーーのこれ等の4出力
信号は更にアドレス・ゼネレー夕1マルチプレクサ24
8−1の12入力側への10入力の内の4つに連続され
、これによりファームウェア・マイク。命令内の適当な
多重テスト分岐を指定することにより未完のソフトウェ
ア割込みの存在についてCPUファームウェアがテスト
を行うことを可能にする。第34図の説明から判るよう
に、CPUファームウェアを符号化して、未完のソフト
ウェア割込みの存在を各ソフトウェア命令の実行の始め
にテストし、これにより特定のソフトウェア割込みを吸
扱うよう符号化されたマイクロルーチンへCPUファー
ムウェアが分岐することを可能にする。Kaニ ブート
PROMロジック第16図に関してシステムの始動およ
び初期化シーケンスの説明において既に述べたように、
本システムは、ブートPRO肌こ記憶されたソフトウェ
アプログラムを読出しそしてこれを主メモリーからの実
行のための主メモリーにロードする能力を有する。 次に第42図によれば、48ビットのCPUファームウ
ェア・マイクロ命令ワードの内の8ビットが複数の並列
のPROMメモリー内に含まれることが判る。詳細には
、48ビットのマイクロ命令ワードの内のビット24乃
至31はブートPROM240か又はROS2,238
−2のいずれかから謙出すことができる。前述の如く、
ROS2,238−2が2進数零である両方の信号KE
NROS−およびPENBBT十によって付勢される時
、これ等の8ビットが通常R062,238一2から読
出される。代わりとしては又、システムの始動の間、ィ
ンバータ589の入力である信号PENBBT−が、フ
ァームウェア・ワードのビット24乃至27にて2進数
0010をかつビット32に2進数零を符号化すること
によって、2進数零にセットされる(第35C図および
37F図参照)。マイクロ命令ワード・ビット24乃至
27、およびビット32は、反転された付勢入力側のク
ロック信号PTIM旧○十により付勢されるデコーダに
よって復号される。従って、信号PENBBT−は1次
時間1の始めから1次時間4の終り迄2進数零となる。 もしファームウェア・マイクロ命令がブートPROMが
読出されるべきことを表示すれば、2進数零である信号
PENDBT−はブートPROM240を部分的に付勢
し、もしクリア操作が進行中でなければ、信号PCPC
LR十も又2進数零となってブートPROM240を完
全に付勢し、その8ビットの信号RROS24十BT乃
至RROS31十BTを出力させる。 信号PENB8Tが2進数零であれば、ィンバータ58
9の出力が2進数1となってR062,238−2を消
勢し、これらのデータの読出しをさせない。ブートPR
OM240およびROS2,238−2の3状態の出力
は点599で一緒にワィャドORされて信号RROS2
4十乃至RROS31十を生じ、これ等は更にクロック
信号PTIM旧○十により1次時間0の始めに局部レジ
スタ242にクロツクされる。第42図によれば、もし
現行CPUファームウェア・マイクロ命令がブートPR
OM240を付勢すれば、制御ストアから読出された次
のマイクロ命令のビット24乃至31が、ROS2,2
38一2から得られるのではなく、ブートPROM24
0から得られることが判る。ブートPROM240への
アドレス入力である信号PRFR15+乃至PRFR0
6十は機能(F)レジスタからの最下位の10ビットで
ある。従って、以下に示す如く、CPUファームウェア
が有する能力は、機能(F)レジスタにアドレスをロー
ドし、かつCPUファームウエアがブートPROM24
0に記憶されたデータのバイトをアクセスしてこれを主
メモリーに記憶することを許可するのに要求される他の
必要な制御と共にFレジスタの増減分を制御することで
ある。ブートPROMロジックの説明を終る前に、第3
5C図を参照すれば、ブートPROMメモリーから謙出
される8ビットが、さもなければ副指令復号フィールド
のビット32乃至34が2進111と等しい時固定情報
を保持するために使用される8ビットの代わりに使用さ
れることを知るべきである。 これは、ブートPROM240からの8ビットをROS
2,238一2からの8ビットの代りに使用するイク。
命令が、ROS2からの8ビットに対するブートPRO
Mからの8ビットの代替が行われなかった場合に、依然
としてマイクロ命令の殆んどを実施することを可能にす
る。簡単のため、第42図において、局部レジスタ24
2が48ビットを含む1つのレジスタとして示される。 望ましい実施態様においては、局部レジスタ242が6
つの8ビット・レジスタによつて構成される。第42図
を簡単にするため、局部レジスタ242に対するリセッ
ト(R〉入力は2進数1として示され、これにより局部
レジスタ242が決してクリアされないことを表示する
。望ましい実施態様においては、信号RDDT16+乃
至RDDT23十を出力する8ビット・レジスタはその
リセッ(R)入力として信号HPCPCLP−を有し、
この信号がシステムの初期化に際してこれ等の8ビット
をクリアさせる。KbCPUロジックの詳細 第43図は、第8図および第12図に関連して既に説明
したCPUロジックを示す。 内部バス260は16本の回線の信号PBUSOO+乃
至PBUS15十からなり、これはCPU全体にアドレ
スおよびデータを送るために使用される。 データ・トランシーバA,288一1、データ・トラン
シーバB,284−1およびマイクロプロセサ232の
3状態の出力は点509において一緒にワイアドORさ
れる。データ・トランシーバA,288一1およびB,
284一11はそれぞれ前記Te滋s lnstrmm
ents社製のタイプSN74S245の2つの8ビッ
ト・バス・トランシーバからなる。指向(DIR)入力
の状態に従って、データ・トランシーバAとBは、シス
テム・バスA,Bからデータを受取ってこれを内部バス
260‘こおくか、あるいは内部バス260からデータ
を取ってこれをシステム・バスAおよびシステム・バス
Bに送る。もしデータ・トランシーバA又はデータ・ト
ランシーバBのDIR入力側の信号が2進数零であれば
、D入力における信号はQ出力におかれる(即ち、デー
タはシステム・バスから受取られる)。もしDIR入力
における信号が2進数1であれば、Q入力における信号
はD出力上におかれる(即ち、内部バス上のデータはシ
ステム・バスに対して送られる)。Kbイ デー夕・ト
ランシー/ゞ・ロジック前述の如く、データ・トランシ
ーバAおよびBによるデータの送受はCPUファームウ
ェアによって個々に制御される。 従って、システム・バスBの主メモリーはデータをCP
Uへ又はシステム・バスA又はBに配される1/0コン
トローフへ与える時、データ・トランシーバBはセット
されて信号BUSBOO+乃至BUSB1 5十を介し
てシステム・バスからデータを受取りそしてこれを内部
バスに送り、データ・トランシーバAは内部バスから情
報を得てこれを信号BUSAOO十乃至BUSAI5十
を介してシステム・バスAをおくように制御される。デ
ータがシステム・バスB上の主メモリー又はシステム・
バスA又はB上の1/0コントローラのいずれかへCP
Uにより送られつ)ある時、両データ・トランシーバA
とBは内部バスから情報を得てこれをシステム・バスA
およびBへ送るように制御される。もしシステム・バス
A又はBのIOCがCPU又は主メモリーに対し情報を
送りつ)あるならば、CPUファームウェアはデータ・
トランシーバAとBを制御して、それにより送出10C
がおかれるシステム・バスと関連するデータ・トランシ
ーバがシステム・バスから情報を受取ってこれを内部バ
スにおき、他のデータ・レシーバが内部バスから情報を
得てこれをその関連するシステム・バス上におくように
する。このようにデータ・トランシーバA,288−1
およびデータ・トランシーバB,284−1を制御する
ことによって、システム・バス上の16本のアドレス/
データ回線上に現われるデータは常に同じものである。
次にデータ・トランシーバA,288一1について見れ
ば、指向(DIR)入力である信号P斑FAP−はNO
Rゲート5 1 2の出力である。 NORゲート5 1 2の1入力は信号PBSFKP−
であって、これはマイクロ命令ワードのビット24乃至
27が2進数0101(第37F図参照)のとき2進数
零であり、この2進数0101は反転された付勢入力側
の信号PTIMEO十を用いてデコーダ(図示せず)に
より復号される。NORゲート512に対する他の入力
である信号PENBSA−00は、ビット24乃至26
が2進数100(第37C図)と等しい時1/0指令1
デコーダ244−3からN位NDゲート521を介して
得られる。次にデータ・トランシーバB,284一1に
ついて老えると、指向(DIR)入力である信号P斑F
BP−はNORゲート510の出力である。NORゲー
ト510の1入力は、NANDゲート531の出力であ
る信号PMRCYC−がロードされる割込み要求レジス
タ250−1(第42図参照)の出力の1つである信号
PBSFMD−である。NORゲート51川こ対する他
の入力は信号PENBSB−00であり、これはまたビ
ット24乃至26が2進数110と等しい時NANDゲ
ート534を介して1/0指令1デコーダ244一3か
ら得られる。内部バス260おけるデータはチャネル番
号レジス夕296にロードすることができ、又これから
スクラツチパツド・メモリー(SPM)アドレス・マル
チプレクサ294にロードし、その出力はスクラツチパ
ツド・メモリー236をアドレス指定するために使用さ
れる。 代わりとして、内部バス260におけるデータはバイト
・スワッピング・マルチプレクサ262に。−ドでき、
その出力はスクラツチパツド・メモリー236に書込む
ことができる。更に、内部バス2601こおけるデータ
はデータ選択マルチプレクサ269にロードでき、その
出力はFレジスタ274、1レジスタ270、MIレジ
スタ272、およびマイクロプロセサ232にロードで
きる。Kbロ スクラツチパツド・メモリー・ロジック
チャネル番号レジスタ296は、クロツク信号PCLK
CH−が2進数零から2進数1の状態に遷移する時内部
バス260のデータ回線PBUS03+乃至PBUSO
9十をそのデータ入力にクロツクすることにより、10
ビットのチャネル番号の最下位の7ビットでロードされ
る。このチャネル番号レジスタはDMC I/○コント
ローラと関連して使用されてスクラツチパツド・メモリ
ー236のPCT表をアドレス指定するため、チャネル
番号の最下位の7ビットだけがチャネル番号レジスタに
おいて保管されるだけでよい(第24図参照)。PMC
チャネル番号の最上位の3ビットは常に零である。シス
テム1バスAおよびBからの信号 PBYTEX十の状態も又チャネル番号レジスタ296
に入力され、信号PDMCIO+として出力される。 チャネル番号レジスタ296のクロック信号PCLKC
H−はNANDゲート504から得られる。NANDゲ
ート504の1入力である信号PIOCTL+は、フア
ームウエア・ワード・ビット32乃至34の状態(第3
5C図)を復号する副指令デコーダ244−2の出力を
反転するィンバータ528により出力される。NAND
ゲート504に対する他の2入力は局部レジスタ242
(第42図)によって出力される信号RDDT27十お
よびRDDT28十であり、その相方が2進数1にセッ
トされる時(第37D図参照)、NANDゲート504
を完全に付勢してその出力である信号PSAF斑−を2
進数零にする。信号PSAR茂‐が2進数零の時、ィン
バータ506の出力である信号PSAFBS+は2進数
1となりANDゲート508を部分的に付勢する。信号
PTIME3十が1次時間3の始めに2進数零から2進
数1に遷移する時ANDゲート508は完全に付勢され
、これによりクロック信号PCLKCH−を2進数零か
ら2進数1の状態に遷移してチャネル番号レジスタ29
6をクロツクする。チャネル番号レジスタの出力である
信号PSAROI+乃至PSAR06十はSPMアドレ
ス・マルチプレクサ294の11入力側に入力される。 チャネル番号レジスタ296の他の2つの出力である、
信号PDMCIO+およびPS山OB十は分岐オン・テ
スト回路網254に対して入力され(第9図)、その出
力である信号RASBT9十はアドレス・ゼネレータ1
マルチプレクサ248−1(第42図)に入力される。
信号RASBT9十はCPUファームウェアにより使用
されて、信号PDMCIO十から得る時IOCタイプが
DMA IOCかDMC IOCかをテストし、信号R
ASBT9が信号PSAIOB十から得る時入力チャネ
ルと出力チャネルのどちらが使用されるかかをテストす
る。チャネル番号レジス夕296のロック動作に加えて
、信号PCLKCH−は又アドレス/範囲フロップ50
2をクロツクする。 クロツク信号PCLKCH一はアドレス/範囲フロツプ
502のデータ(D)入力における信号RDDTI9十
をクロツクする。 CPUファームウェア・ワードのビット19の状態およ
びアドレス/範囲フロツプ502のクロック動作の制御
により、CPUファームウェアはフロツプ502のセッ
ト又はリセツト動作を制御することができる。アドレス
/範囲フロップ502のセットおよびリセット動作は又
、更にファームウェア・ワード・ビット24乃至26の
復号から出力されるそのセット(S)およびリセット(
R)入力側の信号PSAR7S−およびPSAR7R一
によって制御される。アドレス/範囲フロップ502の
出力である信号門AR07十はSPMアドレス・マルチ
プレクサ294の11入力側へ入力され、スクラッチパ
ッド・メモリー236のアドレス指定に際して最下位ビ
ットして使用される。 2進数1はSPMのマルチブレクサ294の11入力の
最上位ビットにセットされ、SPMのアドレス・マルチ
プレクサ294の選択(SEL)入力側で2進数1とな
る信号RDDT22十によってこの11入力が選択され
る時、スクラッチパッド・メモリー236内におかれた
プログラム・チャネル表がアクセスされる。SPM内の
PCTをアドレス指定する時、SPMアドレスの最下位
ビットは、チャネル番号レジスタ296からの6ビット
によりPCTエントリ・アドレスのアドレス・ワード又
は範囲ワードが参照されるかどうかを決定する。即ち、
もしアドレス/範囲フロツプ502がセットされてその
出力(信号PSAR07十)を2進数1にするならば、
PCTチャネル対の範囲ワードがアドレス指定され、又
もしフロツプ502がリセットされるとPCTチャネル
対ェントリのアドレス・ワードがアドレスに指定される
(第10図参照)。SPMアドレス・マルチブレクサ2
94の10入力は2進数零に等しくセットされた最上位
の4ビットを有し、他の4ビットは信号RDDTOI+
およびRDDT05+乃至RODT07十である。 このため、10入力が2進数零である信号RDDT22
十(第35C図および第35C図参照)によって選択さ
れる時、マイクロ命令CPUファームウェア・ワードが
SPM236をアドレス指定することが可能となる。出
力制御(F)入力側の信号KENSPA−が2進数零で
ある時、SPMアドレス・マルチプレクサ294の出力
が付勢される。スクラツチ/ぐツド・メモリー236は
、SPMのアドレス・マルチプレクサ294からその8
ビットのアドレスである信号PSARSO十乃至PSA
RS7十を受取る。スクラッチパッド・メモリー236
は、本文中に参考のため引用された「インターシル(l
nte岱il)社半導体製品カタログ」なる文献に記載
されたインターシル社製のタイプ5539一2の17個
の1ビット×25蹄AMチップからなる。これらRAM
チップは、SPM236が第10図に示す如く各17ビ
ットの256ワードを提供するように構成される。SP
M236への書込みは、スクラッチパッド・メモリーの
書込み付勢(WE)入力側に2進数零をおくことにより
可能となる。もしファームウエア・ワードのビット0が
2進数1であれば、信号RDDTOO+は2進数1とな
ってNANDゲート587を部分的に付勢する。1次時
間4の始めにクロツク信号PTIME4十が2進数零か
ら2進数1の状態に遷移する時、NANDゲート587
が完全に付勢され、NANDゲート587の出力である
信号PSDWRT−を2進数零にさせる。 SPM236に対するデータ入力の最上位16ビットは
/ゞイト・スワッピング・マルチプレクサ262の出力
側からの信号PSDIOO−乃至唯Oil5一である。 SPM236に対するデータ入力信号の最下位ビットは
ファームウェア・ワードのビット1 9から得る信号R
DDTI 9十である。SPM236の出力は信号PS
DOOO+乃至PSDO1 6十である。SPMデータ
・レジスタ5 1 8は、Texas lnstmme
n広社製のタイプSN74S373の2つの8ビットの
Dタイプ透過ラツチからなる。SPMデータ・レジスタ
518の入力は、ORゲート585の信号PTIMEO
−およびPTIM旧1一を介して1次時間0および1次
時間1の間その出力側に対して付勢される。ORゲート
585の出力である信号PSDRCK+はSPMデータ
・レジスタ618のクロック(C)入力側に接続される
。SPMデータ・レジスタ518の出力は、常に、その
出力制御(F)入力側に生じる2進数零により付勢され
る。SPMデータ・レジスタ518の出力である信号P
SDROO+乃至PSDR15十はデータ・セレクタ・
マルチプレクサ269の10入力側に接続される。クロ
ック信号PCLEAR−が2進数零から2進数1へ遷移
する時、クリア・フロップ514がセットされ、そして
そのリセット(R)入力側で2進数零になる信号PCL
ERR−によってリセットできる。 フロツプ514のQ出力である信号PCPCLF十とお
よびPSD○16十であってスクラッチパッド・メモリ
ー236から読出される17ビット・ワードの最下位ビ
ットを保有するこの信号とは、クロツク信号PTIME
4十が1次時間4の始めに2進数零から2進数1の状態
に遷移する時レジスタ516にクロツクされる。クリア
・フロツプ5 1 4の他の出力である信号PCPCL
F−は、局部レジスタ242(第42図)に含まれるマ
イクロ命令ファームウェア・ワードのビット16乃至2
3のクリアのために使用される。レジスタ516からの
信号PCPCLR+およびィンバータ583からの信号
PCPCLR一は種々のレジスタおよびフロツプのクリ
アのためCPU全体にわたって使用される。 例えば、信号PCPCLR+はNORゲート595を介
してアドレス・レジスタ1,246−1のクリアに使用
され、信号PCPCLR−はアドレス・レジスタ2,2
46−2のクリアのために使用される(第42図参照)
。 又信号PCPCLR十はブートFROM240からのデ
ータの論出しを禁止するために使用される(第42図参
照)。レジスタ516に示される他の出力であってスク
ラツチパツド・メモリー236から読出されるワードの
最下位ビットの状態を反映する信号PTBS13十は分
岐オン・テスト回路網254(第9図)へ行き、アドレ
ス・ゼネレータマルチプレクサ248一1(第42図)
へ入力されるビットRASBT9十の決定に使用される
。、Kbハ バイト・スワッピング・ロジック次に第4
3図のバイト・スワッピング・マルチプレクサ262に
関して、CPUファームウェアがスクラツチパツド・メ
モリー236への書込みの前に内部バス上のデータの左
右のバイトのスワッピングを制御することができる方法
について説明する。 副指令1デコーダ244一1はマイクロ命令ファームウ
ェア・ワードのビット25乃至27の復号に使用され、
これが2進数001にセットされる時(第37F図参照
)、その出力の1つである信号PSDEXEN−を2進
数零にセットさせる。副指令1デコーダ244一1の出
力は2進数1である信号RDDT24一および2進数零
である信号RDDT32十によって部分的に付勢され、
1次時間1の始めに2進数1から2進数零の状態に遷移
しそして1次時間4の終り迄2進数零の状態に止まる信
号PTIMEO+により完全に付勢される。信号PSD
EXEN−が2進数零である時、バイト・スワッピング
・マルチプレクサ262の10入力がその出力側に付勢
され、内部バスに現われる左右のバイトの交換を生じさ
せる。もし信号鴎DEXEN−が2進数1であれば、バ
イト・スワッピング・マルチプレクサ262のli入力
が選択され、内部バス上のデータがバイトのスワッピン
グを生じることなくマルチプレクサ262の出力側に転
送される。このように、内部バス260からのデータの
バイトのスワッピングはデータがスクラッチパッド・メ
モリー236に書込まれる前に制御される。Kbニ マ
ィクロプロセサおよびデータ選択ロジツク前述の如く、
内部バス26川こ対する第3の入力はマイクロプロセサ
232により出力されるデータからのものである。 マイクロプロセサ232は、データ・セレクタ・マルチ
プレクサ269の出力側から16ビットの入力データで
ある信号PAUD15+乃至PAUDOO+を受取る。
マイクロプロセサ・レジスタ・フアイルはビットPST
A03+乃至PSPAOI+およびビットRDDT04
十によってアドレス指定される。ファイル・レジスタ・
アドレス・ビットPSPA03十乃至PSPAOI+は
第8図に示されるファイル・アドレス・マルチプレクサ
276から得られる。ファイル・アドレス・マルチプレ
クサの選択はファームウェア・ワードのビット2および
3によって制御される(第35A図参照)。マイクロプ
ロセサ232によって実行される命令は、ファームウェ
ア・ワード・ビット10乃至18(第35B図)から得
られる9命令(INSTR)入力である信号RDDTI
O+乃至RDDT18十によって制御される。前述の如
く、マイクロプロセサ232のデータ出力である信号P
BUS1 5十CP乃至PBUSOO+CPは、データ
・トランシーバA,288一1およびデータ・トランシ
ーバB,248一1の出力と点509でワイヤORされ
ている。データ・セレクタ・マルチプレクサ269の1
1入力は、標識(1)レジスタ・フロツブ270の8ビ
ットである信号PI08十乃至PI15十と、マスク(
MI)レジスタ272の出力である信号PRMROO十
乃至PRMR07十から得られる。 データ・セレクタ・マルチプレクサ269の12入力は
、信号RDDT08十,RDDTO9十およびRDDT
24+乃至RDDT31十である。データ・セレクタ・
マルチプレクサ269の出力は、その2つのセレクタ(
SEL)入力側の信号RDDT20十およびRDDT2
1十によって4つの入力から選択される。データ・セレ
クタ・マルチプレクサ269のストローブ(CE)入力
における2進数零は出力を付勢する。ファームウェア・
ワード・ビット20および21を制御することにより、
データ・セレクタ・マルチプレクサ269の出力は、ス
クラツチパツド・メモリー・データ・レジスタ518と
、1レジスタ270およびMIレジスタ272と、マイ
クロ命令ワード・ビット8,9および24乃至31から
の定数と、および内部バス260とから選択することが
できる(第36C図参照)。Kbホ 1、MIおよびF
レジスタ・ロジック標識(1)レジスタ270は8つの
Dタイプ・フロップからなり、その各々は2進数零から
2進数1の状態に変える信号PIRFBS一によりクロ
ックされる。信号PIRFBS−はマイクロ命令ファー
ムウェア・ビッド24乃至27を復号することにより生
成され、これらが2進数110と等しい時、信号PIR
FBS−を2進数零にセットする(第37F図参照)。
マスク(MI)レジスタ272は2進数零から2進数1
の状態に変える信号PRMRCK−によりクロツクされ
る。信号PRMRCK一はマイクロ命令ファームウェア
・ワードのビット28乃至31を復号することにより生
成され、これらが2進数1100と等しいとき、信号P
RMRCK−を2進数零にセットする(第37G図参照
)。MIレジスタ272は2進数零にセットされる信号
PCPCLR一によりクリアされる。ク。ツク信号PI
RFBS−およびPRMRCK一は反転付勢入力の信号
PTIME4一により付勢されるデコーダによって生成
され、従ってこれ等のク。ツク信号の相方が1次時間4
の終りに2進数零から2進数1の状態に変ることに注意
。機能(F)レジスタは、Fレジスタ・カウンタFRO
,274−0、Fレジスタ・力ウンタFR3,274一
2、およびFレジスタ・カウンタFR3、274一3か
らなる。 FRO,274−0およびFR3,274一3はそれぞ
れTexaslnstmmen$社製のタィプSN74
SI6叫同期4ビット可逆カウンタからなる。FR2,
274一2は2つのタイプSN74SI69Aカウンタ
からなる。FRO,FR2,FR3のクロツクはそのク
ロツク‘C)入力側の信号PRFOLK+により制御さ
れる。もしマイクロ命令ファームウエア・ワード・ビッ
ト32乃至34が2進数100と等しければ、信号PF
RCLK+は1次時間3の終りに2進数零から2進数1
へ変る。(第35C図参照)。Fレジスタ・力ウン夕F
RO,274−0のロードはそのロード(L)入力側に
おける信号PFRLDO−によって制御される。宿部P
FRLDO−は信号RDDT26十およびRDDT27
十を一緒のNANDすることによって生成される。Fレ
ジスタ・カウン夕FR2,274一2のロードはそのロ
ード(L)入力側における信号PFRLDM−によって
制御される。信号PFRLDM一は信号RDDT28十
およびRDDT29十を一緒にNANDすることにより
生成される。入力信号PAUO15十乃至PAUD12
十によるFレジスタ・力ウンタFR3のロードはそのロ
ード(L)入力側で信号PFRLD3一によって制御さ
れる。信号PFRLD3一は信号RDDT30十および
RDDT31十を一緒にNANDすることによって生成
される。Fレジス夕・力ウンタFRO,274一0はそ
のカウント付勢(PおよびT)入力側の信号RDDT2
6十によってカウントするように付勢される。 FレジスタFR2,274−2はそのカウント付勢(P
およびT)入力側の信号RDDT28十によりカウント
するよう付勢される。Fレジスタ・力ウンタFR3,2
74一3はそのカウント付勢(PおよびT)入力側の信
号RDDT30十によりカウントするよう付勢される。
Fレジスタ・カウンタFRO,274−0のカウントの
方向はその可逆(U/D)入力側の信号RDDT27十
により制御される。Fレジスタ・カウンタFR2,27
4一2のカウント方向はその可逆(U/D)入力側の信
号RDDT29十によって制御される。Fレジスタ.力
ウンタFR3,274一3の力ウンタト方向はその可逆
(U/D)入力側の信号RDDT31十によって制御さ
れる。Fレジスタの出力のあるものは、ブートPROM
240(第42図)、ファイル・アドレス・マルチプレ
クサ276(第8図)、および分岐オン・テスト回路網
254の入力である。Fレジスタの出力も又CPUロジ
ック内の他の場所においても使用される。Kbへ バス
指令ロジックCPUからシステム・バスAおよびBにお
ける1/0コントローラおよび主メモリーへ行く種々の
指令信号は第43図に示される。 指令トランシーバA,286一1および指令トランシー
バB,282一1から来る信号および信号PIOCTA
−およびPIOCTB−は全てCPUにおいて生成され
、システム・バス上を1/0コントローラ又は主メモリ
ーへ伝送される。PBYTEX+,PBUSY−2Aお
よびPBUSY−2B等の他の指令信号はCPUにおい
て生じて1/0コントローラ又は主メモリーへ送出され
るか、あるいは1/0コントローラ内で生じてシステム
・バスを介してCPUへ送出され得る。Kbへi l/
○指令ロジック 次に第43図において、指令トランシーバA,286一
1、および指令トランシーバB,282−1はTe滋s
lnstmments社製のタイプSN74LS24
5であり、データ・トランシーバA,288一1および
データ・トランシーバB,284−1に関して前に述べ
た如きものである。 指令トランシーバAおよび指令トランシーバBの指向(
01R)および出力付勢(F)入力側に2進数零を有す
ることにより、両トランシーバはその出力を常に付勢さ
せ、情報転送の方向はCPU(D)入力からシステム・
バスAおよびB(Q)出力へ向う。入力信号RODT2
9+乃至RDDT31十は、ファームウェア・ワード・
ビット29乃至31から得られ、1/0指令(第37E
図)をシステム・バスAおよびB上の1/0コントロー
ラに送るため使用され、指令トランシーバA,286一
1およびB,282一1に共通である。信号BCYCO
T−およびPTIM旧3一は、第14図に示したクロッ
ク・ロジックから得たタイミング信号であり、指令トラ
ンシーバA,286−1および指令トランシーバB,2
82−1によりシステム・バスAおよびBの相方に伝送
される。初期化信号PCLEAR一は同様にシステム・
バスAおよびシステム・バスBの両方に送られる。付勢
IOCデータ・ドライバ信号PENBSA−0 0およ
びPENBSB−00はNANDゲート52 1および
5 34の出力であり、それぞれ指令トランシーバA,
286一1および指令トランシーバB,282一1によ
ってシステム・バスAおよびシステム・バスBに伝送さ
れる。副指令デコーダ244一2は1次時間1の始めに
付勢され、付勢(EN)入力側の信号PTIMEO+に
よって1次時間4まで付勢状態を維持する。 副指令デコーダ244一2は信号RDDT32+乃至R
DDT34十を復号し、前述の如く、信号PMRFSH
一,PMRCON−を生成し、又信号PIOCTLを生
成する(第35C図参照)。信号PIOCTLはィンバ
ータ528によって反転されて信号PIOCTL+を生
じる。信号PIOCTL十はNANDゲート536およ
びNANDゲート538を部分的に付勢する。NAND
ゲート536が2進数零である信号RDDT27一によ
り完全に付勢される時、その出力である信号PIOCT
A−は2進数零であって、システム・バスA上のIOC
に対して回線RDDT28十BA乃至RDDT31十B
A上の符号化された1/0指令が有効であることを表示
する。同様に、NANDゲート538は2進数零である
信号RDDT28一により完全に付勢される。このため
、NANDゲート538の出力である信号PIOCTB
−を2進数零にさせ、システム・バスB上のIOCに対
して回線RODT29十BB乃至RDDT31十BB上
に符号化された1/0指令が有効であることを表示する
。(第37D図参照)。副指令デコーダ244−2の出
力信号PIOCTL一は又1/0指令1デコーダ244
−3を付勢するため使用され、このデコーダは信号RD
DT24+乃至RDDT26十を復号する(第37C図
参照)。1/0指令1デコーダ244一3の出力信号P
BSIOA−およびPBSIOB一はそれぞれNAND
ゲート521および534に接続され、マイクロ命令フ
ァームウェア・ワードのビット24乃至26の復号が各
出力信号を2進数零にセットする時各NANDゲートを
部分的に付勢する。 NANDゲート521および534は2進数零である信
号P既FMD+によって完全に付勢される。信号P斑F
MD十は、割込み要求レジスタ250‐1から生じる信
号P斑FMD−を反転するィンバ‐夕520の出力であ
る(第42図参照)。Kbへii 進行中および使用中
のロジック1/0指令1デコーダ244一3からの出力
信号PROCED−はィンバータ544により反転され
て信号PROCED+を生じ、この信号は更にィンバー
タ546により反転されて信号PROCED−2Aを生
じ、ィンバータ547により反転されて信号PROCE
D−2Bを生じる。 信号PROCED一2Aはシステム・バスAに行き、信
号PROCED−2Bはシステム・バスBに行き、各バ
ス上の1/0コントローラに対してCPUが各システム
・バス上のIOCから最新の割込み要求を受入れたこと
を表示する。あるいは又、CPUは回線PROCED−
2A上のシステム・バスAのIOCから、又回線PRO
CED−2B上のシステム・バスBのIOCから進行中
信号を受取る。これ等の両回線はNORゲート550に
対する入力であって信号PROCED−20を生じ、こ
れが更に分岐オン・テスト回線網254(第9図)へ行
き、この回線網はアドレス・ゼネレータ1マルチブレク
サ248−1(第42図)によって使用される信号RA
SBT9十を生じ、それによるシステム・バスA又はB
上のアドレス指定されたIOCがシステム・バス回線R
DDT29+乃至RDDT31十上の1/0指令を受取
ったかどうかをCPUファームウエアにテストさせる。
1/0指令1デコーダ244一3の出力側の信号PBB
USY一は前に述べたばかりの進行中ロジックのそれと
頬以のロジックに行き、システム・バスAおよびBにお
ける1/0コントローラに関して使用中信号を送受する
。 詳細には、信号PBBUSY一はインバータ552によ
って反転されて信号PBBUSY+を生じ、この信号は
更にィンバータ554によって反転されてシステム・バ
スAに関して入出する信号PBUSY−2Aを生じ、ま
たインバータ566によって反転されてシステム・バス
B‘こ関して入出する信号PBUSY−2Bを生じる。
信号PBUSY−2AおよびPBUSY−2BはNOR
ゲート558に入力されて、このゲートは分岐オン・テ
スト回路網254(第9図)へ行く信号PBBUSY−
20を生じ、この回線網254の出力である信号RAS
BT9十アドレス・ゼネレータ1マルチプレクサ248
ーー(第42図)に行く。Kbへiii 議出し/書込
みバイト・ロジック書込みバイト0、信号PWRTBO
+および書込みバイト1信号PWRTBI+は、それぞ
れインバータ524および526を経てRDDT08十
およびRDDTOI+を反転することによってCPUか
ら生じることができ、あるいはこれ等の信号はシステム
・バスA又はB上におかれたIOCから受取ることがで
きる。 従って、これら書込みバイト信号は、ファームウェア・
ワードのビット8および9(第35B図)によって制御
されるか、システム・バスの一方のIOCから受取るこ
とができる。信号PWRTBO+およびPWRTBI+
は共に、出力信号PMREAD+を生じるANDゲート
530を部分的に付勢するため使用される。信号PMR
EAD十は、2進数1の時NANDゲート531を部分
的に付勢し、このゲートはANDゲート564により出
力される信号PMMCYC+が2進数1である時完全に
付勢される。 NANDゲート531の出力である信号PMRCYC一
は割込み要求レジスタ250−1(第42図)の入力に
1つに行く。Kbへiv メモリーGOロジック 読出しサイクル、書込みサイクル又はリフレッシュ・サ
イクルを実施するよう〆モリーに通知する主メモリーG
O信号は、主としてファームウェア・ワードのビット2
3の制御によって生成される(第35C図)。 条件付き議出し信号PMRCON一は副指令デコーダ2
44一2の出力の1つであり、ィンバー夕560によっ
て反転されて、NANDゲート5 6 2を部分的に付
勢する信号PMRCON十を生じる。制御フロップ4の
フロップ258−4は、そのセット(S)入力側で2進
数零である信号PTCF4S一によりセットされ、その
リセット(R)入力側で2進数零である信号PTCF4
R−によってリセットできる。制御フロッブ4のフロッ
プ258一4は又、2進数零から2進数1の状態に変る
信号PCTF4Cークロックによりそのデータ(D)入
力側で回線PBUSOO+上で生じる16ビットの内部
バス260の最上位ビットをゲートすることによってセ
ットできる。信号PTCF4S−,PTCF4C−およ
びPTCF4R一はファームウェア・ワードのビット2
8乃至31を復号することによって生成される(第27
G図)。セットされると、制御フロツプ4のフロツプ2
58一4の信号PTCF04−2進数1となり、NAN
Dゲート562を完全に付勢して、その出力側の信号P
RMCON−20を2進数零の状態にセットする。条件
付き論出しを行うことにより信号PMRCON−は2進
数零となり、制御フロップ4のフロツプ258−4をセ
ットすることにより信号PTCF0 4十は2進数1に
なって信号PMRCON−2川ま2進数零となり、AN
Dゲート564を消勢する。ANDゲート564の消勢
により、さもなければマイクロ命令のビット23が2進
数1であれば生じるメモリーGO信号の生成を禁止する
。メモリーGO信号の生成を禁止するこの能力は、同じ
主メモリーのロケーションへの記憶に先立ってメモリー
読出しを行うことが望ましくないような状態(記憶タイ
プのソフトウェア命令の処理における如き)において、
CPUファームウェアによって使用される。 このような状態においては、主メモリーの議出し(メモ
リー・パリティ・エラーの検出を行う)は禁止され、メ
モリー書込み操作のみが許可され(パリティ・エラーの
検査は行わない)、それによりメモリー・パリティ・エ
ラー・トラツプの可能性を除去するものである。もし信
号RDDT23十が2進数1であり、信号PMRCON
−20が2進数1であれば、ANDゲート564は完全
に付勢され、出力信号PMMCYC+がメモリーGOフ
ロツプ566のデータ(D)入力側で2進数1となる。 メモリーGOフロップ566のデータ入力における2進
数1は、1次時間3の始めに2進数零から2進数1に遷
移する信号PTIM頂3十によりクロツクされ、これに
よりフロツプをセットし出力信号PMEMGO+CPを
2進数1にする。メモリーGOフロツプ566は、信号
PTIMEO−が2進数1から2進数零の状態に変える
時1次時間0の始めにリセットされる。信号KMEMG
O−はィンバータ568によって反転されて信号PME
MGO十MPを生じる。もしNORゲート570の入力
側の信号PMEMGO+CPとPMEMGO+MPのい
ずれかが2進数1であれば、出力信号PM旧MOO−は
2進数零となり、システム・バスB上のメモリーに通知
して主メモリーの講出しサイクル、書込みサイクル又は
リフレツシュ・サイクルを開始させる。L 主メモリー
の説明 主メモリーは高速のランダム・アクセス・メモリー(R
AM)であり、アドレス・シーケンス、データ・パター
ン、又は記憶反復速度の制限なしに全ての議生し/書込
み機能を行なうことが可能である。 その基本的アーキテクチュアは、それぞれ1紬乃至64
Kの16ビット・ワードの最小乃至最大の読出し/書込
み記憶域(RAM)を提供するよう横成された独自のメ
モリー構成からなっている。又、ワード当り2つのパリ
ティ・ビットが含まれる。主メモリーの性能特性は、そ
れぞれ1000ナノ秒のメモリ一読出しサイクル、書込
みサイクル又はリフレッシュ・サイクル(即ち、2つの
連続する500ナノ秒のCPUサイクル)と、500ナ
ノ秒のメモリー読出しアクセス時間と、15マイクロ秒
のメモリー・リフレッシュ速度を含む。La システム
・/ゞス・インターフエース主メモリーとCPUとの間
、又は1/0コントZローラを有する主記憶装置間の情
報(即ち、アドレス、データ、又はCPU指令)の全て
の転送はシステム・バスBによる。 主メモリー制御はCPU‘こより排他的に送られるメモ
リー指令により与えられる。主メモリーとシステム・バ
スとの間のインターフェース信号は:BUSXOO+乃
至BUSX 1 5 十,PTIME 3 −,PCL
EAR−,PWRTBO +,PWRTB I 十,M
EMPER一,PMEMGO−,PMFRSH−および
PBSFMD一であり、第6図および第7図に示される
。Laイ デー夕・ワード 主メモリー・データ・ワードは、第5図に示す如く16
データ・ビット(2バイト)からなり、2パリティ・ビ
ット(バイト当り1パリティ・ビット)を有する。 この2つのパリティ・ビットは主メモリー装置に対し独
自のものであるため、これ等はシステム・バス上をCP
U又はIOCには送られない。Laロ アドレス・ワー
ド メモリー・アドレス・ワード(第5図参照)は、主メモ
リー構成内の主メモリー・モジュールのメモリー・ロケ
ーションをソフトウエアがアクセスすることを可能にす
る。 Lb 主メモリーの構造の概要 主メモリー構成は、1つ以上の主メモリー・ボードを使
用することによって謙出し/書込みメモリー(RAM)
として構成される。 主メモリー・ボードは1弧、3が又は64Kの読出/書
込みメモリーを与える。主メモリー構成に対する最小乃
至最大記憶容量はそれぞれ1腿乃至64Kの16ビット
・ワード(1舷W乃至64KW)である。1つ以上の主
メモリー・ボード上のアドレス・スイッチにおいてセッ
トされた主メモリー・アドレス・フィールドは、{1)
主メモリー構成におけるロケーション0からその終り迄
連続し、【2ー常に4KWアドレスの境界で始まり、{
31下位メモIJ−0〜Xにおいて最大サイズの主メモ
リー・ボード(即ちモジュール)を常に保持して、別の
比較的4・ごな主メモリー・ボードの各々が先行する比
較的大きな主メモリー・ボード(即ちモジュール)の最
終アドレスに1を加えたもの(即ち、X+1)で始まら
なければならない。 じ モジュールの物理的/構造的特性 主メモリー・ボードは1弧×1ビットRAMチップを用
いて、アドレス指定を容易化し記憶の多機能性を得るた
め各主メモリー・ボード上に独立のRAMデータおよび
パリティのアレーを形成する。 このアレーは4つの行(0乃至3)に構成される。各行
は、その各々のワード当り2パリティ・ビットを1舷の
16ビット・ヮ一日こ与えるよう構成された18のRA
Mチップを使用する。各々の主メモリー・ボード‘ま、
各行を然るべ〈配置することにより1巡W、3狐W、又
は64KWの論出し/書込み記憶城を提供するように構
成することができる。アセンプルされた主メモリー・モ
ジュールにおける記憶容量は1細WRAMチップに配置
された行の数によって決定することができる。(例、主
メモリー・ボード上の行0および1の群は3がWの記憶
城と等しい)。仏イ モジュールのアドレス指定 アドレス・スイッチ組立体を用いて、主メモリー構成内
の固定されたアドレス範囲を主メモリー・ボードを割当
てる。 0 このアドレス・スイッチ組立体は、主メモリー・モ
ジュール内の主メモリー・アドレスを形成するために専
ら使用される。 このアドレスはシステム・バスのアドレス回線からのセ
グメント識別フィールド(ビット0乃至3)の1つと比
較され5てそれによりアドレス指定される主メモIJ−
・モジュールを決定する。主メモリー・モジュールにお
けるアドレス・スイッチ組立体の各モジュール・サイズ
・スイッチはそのOFF位置におかれる時4KWの主メ
モリー・アドレス・フィールド0を可能にし、このよう
に4KWの増分において1狐W乃至64KWの主メモリ
ー・サイズ手動形成を可能にする。W メモリー保管ユ
ニット メモリー保管ユニット(第1図の素子222)は主メモ
リー・ボードと共に使用される。 メモリー保管ユニットは、システムに対するAC電源が
突然遮断される時主メモリー・ボードのRAMアレーに
DC電力を維持し、メモリー保管ユニットが活動状態を
維持する限り、AC電源が回復される迄連続的なりフレ
ッシュ・サイクルを可能にする。仏 主メモリーの機能
の概要 本項では、システム・バスからのデータの処理における
その活動を強調する主メモリーの機能の概要を述べる。 第41図は王〆モリー・モジュールにおける主な素子を
示し、主メモリーとシステム・バスとの間のデータ・フ
ロー活動を示す。制御情報(即ち、リフレッシュ指令、
読出し/書込み指令、アドレス、等)は主メモリーによ
りシステム・バスから取出され、一時的に関連するメモ
リー・レジスタに記憶されてデータを処理し、あるいは
必要に応じて主メモリーをリフレッシュする。適合した
活動は、メモリー・サイクルがCPUからのメモリー開
始要求によって開始される時(信号PMEMGO−が2
進数零となる)実施される。リフレッシュ指令が受取ら
れる時、各RAMチップにおける選択された行が以下の
項で説明される如くリフレッシュされ得る。読出し指令
又は書込み指令が受取られる時、最初にそのメモリー・
アドレスがテストされてこれが規定されれたアドレス境
界を越えないことを検査する(即ち、開始アドレスの後
、および開始アドレスにメモリー・サイズを加えたもの
)。もしこの境界を越すと、メモリー・サイクルが終了
させられる。もしこの境界を越えなければ、メモリー・
サイクルは、議出し指令又は書込み指令に対する指令レ
ジスタを検査することによりこの要求を処理し続ける。
議出し指令の受取りはメモリー読出しサイクルを開始し
て、主メモリー・ロケーションからシステム・バスに2
バイトのデータ・ワードを取出す。同様に、ワード又は
バイトのメモリー操作に対する書込み指令がメモリー書
込みサイクルを開始して、システム・バスからデータ・
ワードを取出し4てこのワードを記憶し、あるいはこの
ワードからのいずれかのバイトを規定された主メモリー
・ロケーションへ記憶する。CPUは、メモリー読出し
操作のためのデータをシステム・バスが受入れることを
可能にし、データがメモリー書込み操作のためシステム
・バス上にあることを保証するデータ書込み操作におい
ては、2バイトのデータ・ワードがシステム・バスから
取出されてメモリ−・データ・イン・レジスタに記憶さ
れる。次に、書込み機能のタイプ(ワード書込み又はバ
イト書込み)に従って、ワード又はバイト書込みメモリ
ー操作が行われてメモリーにこのワード又はバイトを記
憶し、そしてパリティ・ビットが生成0されて各バイト
に対して記憶される(即ち、ワード当り2パリティ・ビ
ット、又はバイト当り1パリティ・ビット)。バイト操
作においては、バイト0(左)又はバイト1(右)がメ
モリー・ロケーションに記憶される時、このメモリー・
ロケーションの隣りのロケーション(反対側)のバイト
は影響されない。議出しサイクルにおいては、2バイト
のデータ・ワードはその2パリティ・ビットと共に規定
されたメモリー・ロケーションから取出される。 2パリティ・ビットは直接パリティを検査ロジックに送
られるが、16ビットのデータ・ワードはデータ・アウ
ト・レジスタに直接送られ、ここでそのデータ・ワード
はCPUによる獲得のためシステム・バスにおかれる。 このデータ・ワードも又データ・アウト・レジスタから
データ・イン・レジスタを介してパリティ検査ロジック
に再循環され、この検査ロジツタでは2パリティ・ビッ
トと共に可能性のあるパリティ・エラーについて検査さ
れる。パリティ・エラーが生じる時メモリー・エラー・
ラツチにラツチ・アップされ、欠陥主メモリー・ボード
‘こおけるエラー表示灯が点灯され、CPUが然るべく
通知される(回線MEMPER−上のシステムリゞス上
)。主メモリーがリフレッシュ指令(CPUにより15
マイクロ秒以下毎に送出される)を受取って受入れる時
、システム・バスに対するデータは禁止され、講出しサ
イクルが開始されて各々の主メモリー・ボード上のRA
Mアレーの選択されたロケーションのデータを復元する
。 その完了後、リフレツシュ・アドレス・カウンタは次の
りフレッシュ指令に備えて1だけ増加される。仏イ主メ
モリーのタイミング 主メモリーの動作は、1000ナノ秒のメモリー・サイ
クルを合致する連続した500ナノ秒の2つのCPUサ
イクルを使用する。 第1のCPUサイクルはメモリー・サイクル(メモリー
GO)を要求してメモリー・アドレスおよび各指令を与
える。第2のCPUサイクルは、規定されたメモリー・
アドレスに対するシステム・バス・データを与え、ある
いはこのアドレスからシステム・バス・データを受取る
。その最初のCPUサイクルにおいて、主メモリーはリ
フレッシュ指令又は論出し/書込み指令と、低レベルの
メモリーG○(2進数零、PMEMGO−)信号を受取
る。 リフレッシュ指令又は議出し/書込み指令は適合した操
作に対して主メモリー・ボードを条件付ける。しかし、
低レベルのリフレツシュ指令信号PM『RSH一は、メ
モリー・サイクル要求の約200ナノ秒前にシステム・
バスにおかれ、それによって次のりフレッシュ指令を主
メモリーに警告する。メモリーGO信号PMEMGO−
は主メモリー構成内の各主メモリー・モジュールに配分
され、各主メモリー・ボード内のクロツク・ゼネレータ
を始動させる。もしリフレッシュ指令が受取られると、
1完全メモリー・サイクルの間記憶論出しサイクルが開
始されてアレー内の各RAMチップ1行をリフレッシュ
する。もし議出し/書込み指令が受取られると、システ
ム・バスからのメモリー・アドレスの最上位の4ビット
0〜3は各主メモリー・モジュールにおけるセグメント
・アドレスと比較される。どれか1つの主メモリー・モ
ジュールにおける比較一致が生ずれば、これはアドレス
指定されるものとして定義され、又メモIJ−存在(M
MPRES)信号を生じる。この信号、MMPRESは
、選択された主メモリー・ボード内の読出し又は書込み
操作のためのメモリー・サイクルを開始する。もし比較
不一致の場合、この要求は打切られてメモリー・サイク
ルが終了させられる。メモリー書込み操作における第2
の500ナノ秒のCPUサイクルの間、データは外部ソ
ース(CPU又は1/0コントローラ)からのシステム
・バスにおいて使用可能になる。メモリー読出し操作に
おいて、低レベル付勢メモリー・データ信号P既FMD
−がシステム・バスから受取られてバス上にメモリー・
データを付勢する。同時に、メモリーは又パリティ・ェ
フー(MEMPER−)信号を送出し、ハイの時エラー
のない講出しメモリー操作を表示し、ローの時は現行メ
モリー・サイクルにおいてパリティ・エラーが生じたこ
とを表示する。戊口 主メモリー・モジュール 本項では、主メモリー・モジュール(ボード)において
使用されたロジックの機能について簡単な記述を行う。 第41図は、各素子間の信号およびデータの転送経路を
示す主メモリー・ボードのブロック図である。主要素子
は、1つの主メモリー・ボード‘こ対して6巡x16ビ
ット迄のワード(1ワードり2パリティ・ビットが含ま
れる)の記憶容量を提供するため使用されるRAMデー
タ・アレー630とRAMパリティ・アレー632(合
わせてRAM又はアレーと呼ぶ)である。他の全ての素
子はこれ等アレーを支持して、これ等とシステム・バス
との間でデータを転送し、読出し又は書込みメモリー操
作の間各データ・ワ−ド‘こついてパリティを検査しあ
るいはこれを生成する。仏oi タイミング・ゼネレー
タ タイミング・ゼネレータ602は、王〆モリ−・モジュ
ール(第41図参照)において実施される全操作を活動
化してこれを同期させるタイミング・パルスを提供する
。 これはシステム・バスからのメモリー・サイクルに対す
る要求で活動化され(即ち、信号PMEMGO−)、あ
るいはシステムに対するAC電源が消勢される時パワー
・オン信号BPOWON十によって活動される無先行リ
フレッシュ要求(MNOPRR+)信号で活動化される
。タイミング・ゼネレータ602は主メモリー・ボード
全体に配分されるタイミング信号を発生して、アドレス
・レジスタ604、データ・ィン・レジスタ606およ
び書込み付勢をクロックし、および列アドレスと行アド
レスをストローフする。Leロii 一5Vゼネレータ RAMチップは主メモリー・ボードにおかれた−5ボル
ト・ゼネレータ608によって生成される直流の−5ボ
ルトを要求する。 システム電源又はメモリー保管ユニットからの直流十1
2Vおよび直流+5Vゼネレータを駆動する。このゼネ
レータから生じる−5VDCがフィル夕され、アレー内
のRAMチップに送られる。仏ロiii 電源故障ロジ
ック 電源故障ロジック628はバス・パワー・オン・(BP
OWON+)信号を監視してメモリーに来るべきAC電
源遮断を警告する。 このモニターにより、CPUに追加の2ミリ秒を与えて
、中央プロセサの操作AC電源故障のため停止する前に
関連するシステム情報でメモリーを更新させる。AC電
源故障の後、主メモリー・モジュールが内部リフレッシ
ュ操作モードにセットされ、AC電源がシステムに対し
回復される迄主メモリー・モジュールをアクセスするこ
とができない。比ロiv RAMアドレス制御および分
配ロジック1腿WRAMァレ‐に対するアドレス・フィ
‐ルドは7行7列に構成されて12餅庁×128列のマ
トリックスを形成する。 RAMアドレス制御及び配分ロジック604は、このア
レーにおける特定のロケーションのアドレス指定をこの
ロケーションに関する特定の行及び列のアドレスを発生
することによって行うように設計されている。このため
、メモリ一読出し又は書込みデータ・サイクルの始めに
システム・バスからデータ・イン・レジスタ606に記
憶された16ビットのメモリー・アドレス・ワードを用
いてこのタスクを実施する。データ・イン・レジスタ6
06のビット3とビット10乃至15は行アドレス・フ
ィールドを形成し、データ・レジスタ・ビット2および
4乃至9は列アドレス・フィールドを形成する。両フィ
ールド同時にその各々の行および列のアドレス・レジス
タ634と636に記憶される。行アドレス・レジス夕
634の内容は、行アドレス・スロープ信号やローにな
る時アレー内にストローブされる。列アドレス・レジス
タ636の内容はこの時低レベルの列アドレス・ストロ
ーブ信号によりアレー内にストローブされる。行および
列アドレスの相方は、新しい行および列アドレスでオー
ハーレィされるアレー内に留まる。メモリー・アドレス
制御及び分配ロジック604は又、2ビット・メモリー
・アドレス・フィールドをデータ・ィン・レジスタ60
6から分離してチップ選択ロジック624におけるチッ
プ選択レジスタに記憶し、それによって主メモリー・モ
ジュールにおける適合した行を選択する。 この特定のビットはビット0および1である。このフィ
ールドは、レジスタ内の1狐Wチップの機能性と関連し
て、主メモリー・モジュールにおける行0、1、2又は
3を選択する。リフレツシユ・ロジック622内のりフ
レッシュ行アドレス・カウンタの内容は、リフレッシュ
操作の間行アドレス・レジスタ634の内容にとって代
わり、行アドレス・レジスタからの内容と同様にしてこ
のアレー内にストローブされる。 更に、リフレツシユ・メモリー・サイクル信号はリフレ
ツシュ操作中にローに維持され、‘1}適合したアレー
内の全チップを付勢することによりアレーをリフレツシ
ユし、かつ【2}デ−夕のチップ・アレーからシステム
・バスへの転送を阻止する。仏ロv セグメント選択ロ
ジックセグメント選択ロジック610は主メモリー・モ
ジュールのアドレス範囲を規定し(アドレス・スイッチ
組立体638からのスイッチ・セッティングのあるもの
を用いて)、この範囲をシステム・バスからのメモリー
・アドレスを用いて有効にし、このアドレス範囲を越え
ない時この主メモリー・モジュール内でメモリー・サイ
クルを実施する。 もしこの範囲を越えるとメモリー・サイクルは実施され
ない。リフレッシュ操作又はAC電源故障は選択ロジッ
クを無視してアドレス存在条件をシミュレートし、主メ
モリー・モジュールにおいてリフレッシュ操作を活動化
する。戊口の データ・イン/データ・アウト・レジス
タデータ・イン・レジスタおよびデータ・アウト・レジ
ス夕606および612は、書込み又は読出しメモリー
操作の間システム・バスBUSXOO+乃至BUSX1
5十とRAMデ−夕・アレー630間でのデータ転送の
ため一時的にデータ・バッファとして使用されるこれ等
のレジスタは又議出し操作において使用されて、出力デ
ータをパリティ検出ロジックに再循環させ、ここでこの
データが可能性のあるパリティ・エラーについて検査さ
れる。 戊ロ価 パリティ・ゼネレータおよび検査ロジックパリ
ティ・ゼネレータおよび検査ロジック616はデータ・
イン・レジス夕を監視して、ワード又はバイト書込みメ
モリー操作の間、各16ビット・データ・ワード}こ対
する2パリティ・ビットを、あるいは各データ・バイト
に対する1パリティ・ビットを生成してパリティ・アレ
ー632に記憶する。 読出しメモリー操作においては、パリティ・ゼネレータ
および検査ロジックは又データ・アウト・レジスタおよ
びパリティ・アウト・レジスタ612および614を監
視して各データ・ワードにおけるパリティを検査する。
書込みワード操作においては、両パリティ・ビットがパ
リティ・アレーに記憶される。 しかし、書込みバイト操作において、記憶されるバイト
に対する適合したパリティ・ビットのみがパリティ・ァ
レーに記憶される。対向するパリティ・ビットに対する
パリティ・アレー内の隣接ロケーションは影響を受けな
い。読出しメモリー操作においては、データ・ィン・レ
ジスタ606からのデータ・ワードおよびパリティ・ア
ウト・レジスタ614からの2パリティ・ビットが可能
性のあるパリティ・エラーについてパリティ検査ロジッ
クにおいて検査される。 もしパリティ・エラーが生ずれば、ェフー・ロジック6
26内のエラー・フロツプがセットされて、システム・
バスに対して低レベルのメモリー・パリティ・ェフー(
MEMPER−)信号を送り、主メモリー・ボ−ド‘こ
おける発光ダイオード(LFD)のパリティ・エラー表
示灯618をONにする。丘ロ価 読出し/書込み制御
ロジック 論出し/書込み制御ロジック620は、回線PWRTB
O十およびPLyRTBI十に付号化された読出し/書
込み指令コード‘こついてシステム・バスを監視し、読
出し(ワード)指令、書込みバイト0指令、書込みバイ
ト1指令又は書込みワード指令に関するこのコードを復
号し(第6図参照)、そして符号化された指令を実行の
ためRAMアレーに送出する。 リフレッシュ指令が受取られる時、読出し指令は読出し
/書込み制御ロジック620内で自動的に符号化されて
アレ−をリフレツシュする。Leロix リフレツシュ
・ロジック リフレツシュ・ロジック622の目的は、2ミリ秒(m
s)毎に主メモリー(RAM)内のデータを復元するた
めに必要なりフレッシュ・サイクルを活動化しかつこれ
を制御することである。 規則正しいインターバルでのRAMデータ復元は、MO
SRMMデバイスの動的特性の故に必要である。(例、
MOSRAMデバイスを動的メモリーとして使用すると
き、その充電されたデータの劣化は、ある限られた時間
が満了する前に再充電されれば、この時間内に始まる)
。このリフレツシュ・ロジックは15マイクロ秒毎にリ
フレッシュ・サイクルを支持して主メモリー構成内のデ
ータを維持するよう設計される。15マイクロ秒のIJ
フレッシュ・サイクルは1母KRAMチップ・アレーに
よって決定される(即ち、2ミリ秒/128行=15マ
イクロ秒)。 リフレッシュ・ロジックは正規のIJフレッシュ指令(
PMFRSH一は2進数零)についてシステム・バスを
監視してリフレツシュ・サイクルを実施する。 この指令は、リフレツシュ指令の時が近づいていること
を警告するため、メモリー要求(PMEMGO−=2進
数零)の開始の200ナノ秒前一にシステム・バス上に
なければならない。メモリーGO信号の受取りと同時に
、リフレッシュ・ロジックはこの指令を受入れ、これを
テストしてこれが最後の正規のりフレッシュ指令から1
5マイクロ秒経過していることを検証し、そしてメモリ
ー・リフレツシュ・サイクル(行アドレス・ストローブ
のみ)を開始してこの指令を実施する。リフレッシュ・
ロジックは又、現行リフレッシュ・サイクル中システム
・バス上へのいかなるデータ転送も禁止する。もしこれ
が正規の指令でれば、各RAMチップにおける論理的な
ローがその現行リフレッシュ・サイクルを介してその存
在するデータ・リフレッシュ(再充電)される。その完
了と同時に、リフレツシュ行アドレス・カウンタが次の
正規リフレツシュ指令に備えて1だけ増分される。もし
第2のリフレッシュ指令が15マイクロ秒内に受取られ
るならば、読出し操作がメモリー・アドレス・レジスタ
によって指定された単一メモリー・ロケーションにて行
なわれ、このデータはシステム・バスに転送されず、リ
フレツシュ行カウンタは変更されない。仏o× チップ
選択ロジック チップ選択ロジック624(開始アドレス・ロジックと
も呼ぶ)は、主メモリー構成に他の主メモリー・モジュ
ールの付加を許容する。 これは、主メモリー構成のアドレス・フィールド内の主
メモリー・ボード・アドレス・フィールトを再配置する
ことによってこの機能を行う。このロジックは又、RA
Mチップの第1行として主メモリー・ボード上の物理的
行0を規定する。アドレス・スイッチ組立体638にお
ける2つのスイッチは、4つの開始アドレスOK,16
K,32K,又は48Kの内の1つをセットするために
使用される2ビットの2進アドレス・フィールドを形成
する。この4つの開始アドレスは主メモリー構成におけ
る論理的行位置を表わす(論理的行0=1郎W、行1=
3松W、行2=4紬W、および行3=64KW)。チッ
プ選択ロジック624の更に詳細な説明は、本文中に参
考のため引用された1978王7月3日出願のC.M.
Nibの等の係属中の米国特許出願第921292号「
回転チップ選択法およびその装置」において見出される
。 Lf 主メモリーの要約 本システムの主メモリーは1乃至4つの主メモリー・モ
ジュールをシステム・バスBに取付けることにより構成
され、合計1舵乃至64Kワードの王〆モリーを提供す
る。 各メモリー・モジュール(又はボード)は1舷、3松又
は64Kワードを含む。各ワ−ドはデータ用の2つの8
ビットリゞィトとおよび2パリティ・ビットからなる(
データ・バイト当り1パリティ・ビット)。主メモリー
は全て、システム・バスAには見出されない主メモリー
独自のいくつかの信号を有するシステム・バスB上にお
かれねばならない。 更に、CPUは、CPUシステム・バスのデータ回線の
トランシーバを制御するのを可能にするため、主メモリ
ーからデータが読出されるべき時どのシステム・バス上
に主メモリーがあるかを無条件に知らねばならない(即
ち、データが来るシステム・バスに対するトランシーバ
はデータを受取るように、又他のシステム・バスのトラ
ンシーバはデータを伝送するように制御されねばならな
い)。このようにシステム・バスのトランシーバを制御
するCPUによって、両システム・バスAとB上のデー
タは同一となり、データが主メモリーから来るサイクル
の間、CPUはデータを要求するIOCがどのシステム
・バスにおかれているか子を考慮する必要はない。デー
タが主メモリーに送られるサイクルの間、CPUはどの
バスにIOCがおかれているかを考慮し、その結果シス
テム・バスのトランシーバがIOCにおかれているシス
テム・バスから受取るようにかつ他方のシステム・バス
に送出するように制御でき、これによって再びシステム
・バス上のデータ(又はアドレス)が同一であることを
保証する。MOS主メモリーは主メモリー・ボード上に
含まれるロジックにより2ミリ秒毎にリフレッシュされ
るが、RAMチップの各行はCPUからリフレツシュ信
号を受取った後にだけリフレッシュされる。 CPUは少くとも15マイクロ秒毎に1回リフ0レツシ
ュ信号を生成する(15マイクロ秒×128行=2ミリ
秒)。リフレッシュ操作は、2つのCPUサイクルを要
し、この間、CPUは主メモリーをアクセスしない。こ
のように主メモリー・リフレッシュを制御するCPUに
より、CPU(および5CPUファームウェアの制御下
で主メモリーと通信する全て1/0コントローラ)は、
アクセスが試みられる時主メモリーが使用可能となるこ
とを保証され得るのである。従って、主メモリーがリフ
レッシュ操作に使用中でありアクセスを再び試みなけれ
ばならないことをCPUに対し通知するため、システム
・バス信号又は回復ロジックを設ける必要はなくなる。
この保証がなされた主メモリーの可用度によりシステム
・バスの中とシステムの論理的要件を減少させることに
なる。これ迄の記述は例示のためのみに示したものであ
って、バス・コントローラはCPU以外のユニットでも
よいことは理解されよう。 又、システムに3つ以上の共通バスを設けてバス・コン
トローラに各共通バスを回らせ、それによって制御情報
が適正な共通バス上に生じかつデータが全ての共通バス
上に生じることを確保する方法で1つの共通バスが情報
を送出し他の全ての共通バスが情報を受取るようにし得
ることも理解されよう。又更に、主メモリーは直接共通
バスの1つに結合される必要がないこと、即ちCPUを
介して結合することができることも理解されよう。ある
いは又、主メモリーは直接共通バスに結合することもで
きるが、全ての主メモリー・モジュールを共通バスの1
つに結合する代りに、データが謙出されるべき主メモリ
ー・モジュールがどの共通バスに結合されるかをバス・
コントローラが知る限り、即ち通知される限り2つ以上
の共通バスに配分することがきる。これは、データが謙
出しデータを含むメモリー・モジュールが接続された1
つの非通/ゞスから受取られそして全ての他の共通バス
に伝送されるように、バス・コントローラが共通バスを
回るのを可能にする。本発明についてはその望ましい一
実施態様に関して記述したが、当業者にとっては、その
形態および詳細における前記およびその他の変更が本発
明の主旨および範囲から逸脱することなく可能であるこ
とが了解される。
’Aバスが割込みを要求する。‘6}Bバスが割込みを
要求する。第9図によれば、4つの最高優先順位のバス
要求(DMA/DMC転送)がハードウェア割込みとし
て取扱われ、ハードウェア割込み回路網250により取
扱われることが判る。2つの最低の優先順位のバス要求
(割込み)はソフトウェア割込みとして取扱われ、ソフ
トウェア割込み回路網258によって取扱われる。 各システム・バス操作はCPUファームウェア・シーケ
ンスにより制御される。 特定のファームウェア指令が1/0コントローラに対し
、所要の動作がシステム・バス上に発生されることを通
知する。これ等の1/0コントローラ指令はシステム・
バスのRDDT回線(第6図のRDDT29,RDDT
30,RODT31)上に発され、現行CPUファーム
ウェア・ワードから直接来る。ファームウェアが1つの
IOCに対して指令を発する時、符号化された指令がシ
ステム・バスRDDT回線上におかれ、指令ストローブ
回線(システム・バスA上のPIOCTA、又はシステ
ム・バスB上のPIOCTB、又はPIOCTAとPI
OCTBの両方。第7図参照)が2進数零に強制される
。これは、システム・バス上のIOCに指令を復号させ
て所要の動作を行う。第18図は、1つの1/0コント
ロ−ラに対して発し得る全てのCPUファームウェア1
/0指令を列挙している。以下において更に詳細に論述
する如く、第18図に示された1/0指令は、指令が指
向される1/0コントローラがシステム・バスAとBの
いずれかにあるかに関わらずシステムAとBの両方の回
線RDDT上に送られる。 指令が唯1のシステム・バスに対して送られねばならな
い場合、例えば、システム・バスB上の1つのIOCの
DMA要求に答える時、唯1つの指令ストローブ回線(
システム・バスA上のPIOCTA又はシステム・バス
B上のPIOCTB)が2進数零の状態にセットされ、
その結果そのシステム・バスのみの1/0コントローラ
が1/0指令と会することになる。CPUがIOC指令
をどちらかのシステム・バスにあるIOCに指向する他
の場合、例えば、IOCに対してCPU指令(CPCM
D)を開始する時、両方の指令ストローブ回線(PIO
CTAおよびPIOCTB)が2進数零にセットされ、
その結果全ての1/0コントローラが1/0指令に会す
る。Fa メモリー・アクセス 全てのメモリーアクセスはCPUファームウェアにより
生成される。 これはメモリーをアクセスするため本PUサイクル(合
計1マイクロ秒)を要する。第19図はメモリーに関し
データを転入出するのに必要な事象と信号のシーケンス
を示している。第1のCPU(500ナノ秒)のサイク
ルの間、書込みバイト信号が生成されるPWRTB1,
PWRTBO。 もしデータ左側のバイト(零)がメモリーに書込まれる
るならば、信号PWRTB川ま2進数1である。もしデ
ータの右側バイト1がメモリーに書込まれるならば、信
号PWRTBIは2進数1である。これ等の信号はDM
Aコントローラ又はCPUファームウェアから来る。い
ずれの場合も、これ等信号は最初のCPUサイクルの1
次時間1から1次時間4まで有効である。これ等信号は
1ワードの読出し又は関連するバイトの書込みを行うこ
とをメモリーに通知する。最初のCPUサイクルの1次
時間3において、メモリーGOパルスRM旧MOOが生
成される。このメモリーGOパルスと共に、ワード・ア
ドレス(16ビット)がシステム・バスBのアドレス/
データ回線BUSBOO乃至BUSB1 5におかれる
。このアドレスはDMAI/○コントoーラ又はCPU
のいずれかから生じ得る。全ての場合に、これは1つの
システム・バスA又はBから内部バスを経て他のシステ
ム・バスB又はAへ送られる。アドレス(第1のサイク
ルの間)およびデータ(第2のサイクルの間)は内部バ
スを経て両方のシステム・バスAおよびBにおかれる。
この両方のシステム・バスにアドレス又はデータをおく
ことは、いずれかのシステム・バスをアドレス又はデー
タに関してモニターするのを許可するという便宜のため
には、そのアドレス(又はデータ)がシステム.バスB
のDMAI/○コントローラからあるいはCPUから来
たときでさえも起こるが、便宜を考えなければそのアド
レス又はデータをおくことはこれらの場合適正なシステ
ム動作のためには必要としない。メモリーGOパルスは
、メモリ一にアドレスを受入れさせてそのアクセス1シ
ーケンスを開始させる。もしアクセスがDMA I/○
コントローラ要求によるものであるならば、CPUはこ
のCPUにおける主メモリー構成スイッチのセットによ
り許可される最大アドレスに対してそのアドレスを試験
する。もしアドレスがスイッチのセット値より大きけれ
ば、メモリー・ェフー信号(PEMPARおよびMEM
PER)を強制して1/0コントローラに対し不在アド
レスの検出を通知する。次に1/0コントローラはその
状態レジスタの適正なビットをセットする。CPUが開
始したメモリー要求はメモリーGOの前に不在メモリー
・アドレスについて検査され、そしてトラツプ15が生
じる。第2のCPUサイクルの間、データ転送が生じる
。 もしCPU又は1/0コントローラがデータを受取るべ
き場合、CPUがメモリー・ボードのデータ・ドラィバ
(P既FMD)を付勢し、1次時間3においてメモリー
がデータをシステム・バスBにおきそしてCPUの内部
バスを経てシステム・バスAにおく。もしメモリーがフ
ルワード読出しを行ってパリティ・エラーを検出したな
らば、このメモリーはメモリー・エラー信号M駐M円E
Rを強制する。 CPUは、パリティ検査エラー信号PMMPARにより
システム・バスAにそのエラーを送る。もしアクセスが
1/0コントローラ要求によるものであるならば、コン
トローフはその状態レジスタのエラー・ビットをセット
する。CPUが要求した主メモリー・アクセスに関し検
出されたパリティエラーはトラツプ17を生じる。どの
主メモリー・エラー信号も、次の主メモリー動作の次の
メモリーGO時にリセットされる。もしデータがメモリ
ーへ書込まれるべき場合、CPU又は1/0コントロー
ラは第2のサイクルの間システム・バスにデータをおき
、メモリーは書込みバイト信号に従ってデータを1時時
間3においてアドレス指定されたロケーションへ書込む
。Fb メモリー・リフレツシュ もしCPUがシステム・バスBにおけるメモリー・リフ
レツシュ信号PMFRSHと共にメモリーGOPMEM
GOを発するならば、主メモリーのリフレッシュ・サイ
クルが生じる。 他のシステム・バス対話は要求されない。CPUは少く
とも15マイクロ秒毎に主メモリー・リフレッシュを発
する。もしCPUファームウェアが主メモリーが使用さ
れていないことを決定すれば、CPUはいつでもメモリ
ー・リフレツシュ信号を発し得、こうしてCPU処理の
中断を防止してメモリー・リフレツシュを発する。Fc
l/○コントローラに対する機能コードCPUは10
,10日,10LDソフトウェア命令の実行中1/0コ
ントローラに対して機能コードを転送し、その結果16
ビット・ワードが1/0コントローラに転送されるかこ
れら受取られる。 第20図はこのシステム・バス操作を実施するのに要す
る事象および信号のシーケンスを示す。このシーケンス
はCPUにより開始され、RDDT回線上にCPU指令
(CPCMD)を発して両システム・バスAおよびBの
アドレス/データ回線BUSXOO乃至BUSX15に
チャネル番号および機能コードをおく。 CPUは、チャネル番号により識別される1/0コント
ローラから応答のため最大1.2ミリ秒を待機する。こ
の時間中CPUが実効上停止、ソフトウェア割込みは全
く認められないが、データ転送要求はサービスされる。
このCPUのストール則ち停止は、CPU指令を1/0
コントローラに対して発させたソフトウェア命令10,
10日,10LDを処理するCPUマイクロプログラミ
ング内でのファームウェア・ループ動作から生じる。こ
の1/0ソフトウェア命令内のループ動作は他のソフト
ウェア命令の処理又はソフトウェア割込みに対する応答
を禁止する。このループ動作の間、CPUファームウェ
アは、ファームウェアがSPM作業ロケーションに記憶
した時間切れカウンタをカウント・ダウンするまで、1
/0コントローラからの進行又は使用中の信号PROC
ED又はPBUSYを待機する。 下記の応答が可能である。もしCPUが不在又は欠陥の
ある資源をアクセスすることを試みるならば、応答は得
られない。 CPUファームウェア・タイマーはこの条件を検出し、
トラツプ15が生じる。アドレス指定された1/0コン
トローラが使用中であり、1/0コントローラは現在の
指令を受入れることができない。 この場合、1/0コントローラは使用中の回線PBUS
Yを2進数零に強制して命令を終了させる。もしアドレ
ス指定された1/0コントローラが、アドレス指定され
たチャネル番号と関連しない1/0コントローラ内の1
時条件の故に新らしい指令を受入れることができなけれ
ば、再試行(待機)応答が受取られる。 コントローラは進行中PROCEDおよび使用中PBU
SYの両回線を2進数零に強制して、CPU‘こ現行命
令を再抽出させ対話を再開させる。正規の応答は、1/
0コントローラが進行中PROCED回線を2進数零に
強制して、1/0コントローラが使用中でないことおよ
びCPUがこのシーケンスを完了すべきことを通知する
。 もしアドレス指定された1/0コントローラがDMAタ
イプであれば、これも又信号PBYTEXをロー(2進
数零)に強制してCPUに応答する1/0コントローラ
のタイプを通知する。1/0コントローラからの応答の
検出時に、CPUはRDDT回線上に回答指令(ASC
MD)指令を発して、1/0コントローラに使用中/進
行中の回線をリセットさせる。 回答指令が発されると、CPUおよび1/0コントロー
ラかりンクされ、CPUファームウェアがCPU−1/
0コントローラの転送に専用化される。リンク使用中、
CPUはDMCコントローラであるかどうか範囲値を検
査する。 もしこの範囲値が零と等しければ、CPUがRDDT回
線上の範囲終り(EOFRG)指令を発することにより
この条件をIOCに通知する。あるDMC I/○コン
トローラはこの情報を必要とし、他のものはこれを無視
する。CPUが回答指令(ASCMD)を発した後約6
マイクロ秒時に、CPUはRDDT回線上にリンク終り
(EOFLK)指令を発する。 CPUがASCMD指令とEOFLK指令とを発生する
時の時間インターバルは、CPCMD指令において送ら
れた特定の機能コードに対して実行されねばならないC
PUファームウェア・ステップ(マイクロ命令ワード)
の数に依存する。CPUおよびIOCはこの期間中りン
クされてCPUファームウエアおよびシステム・バスが
IOCシーケンスに専用化されかつハ−ドウェァ割込み
が禁止されるため、設計パラメータとしてこの時間は約
6マイクロ秒に制限されてハードウェア割込みおよびシ
ステム・バス要求に対するシステムの応答性を保証する
。「リンク終り」時間の始めに、もし機能コードが入力
タイプであったならば、CPUはIOCデータ・ドライ
バPENBSXを付勢し、データ・ワードがアドレス/
データ回線上をCPU迄転送される。もし機能コードが
出力タイプであったならば、CPUはデータをシステム
・バス・アドレス/データ回線におき、IOCはリンク
終り時間の1次時間3時にバスからデータをストローブ
する。もしCPUが17ビット・アドレスをDMAコン
トローラに転送中であれば、回線PBYTEXはリンク
終り時間中下位のアドレス・ビット(バイト・オフセッ
ト)を反映する。CPU−IOCリンクはリンク終りが
検出された結果としてリセットされる。FdDMCデー
タ転送要求 DMCI/○コントローラは、1/〇コントローラがデ
ータのバイトを主メモリー内の1/0バッファに関して
転入出させることを要求する時、DMCデータ転送要求
シーケンスを開始する。 この要求は、ソフトウェア10LD命令がDh4C I
OCに対して発され入出力操作を開始した後でのみ生じ
得る。第21図A図乃至第21D図は、DMCデータ転
送シーケンスに対するシステム・バス対話を示す。次に
第21A図においては、データ転送が要求されるとき、
DMC I/○コントローラは、要求側の1/○コント
ローラがおかれたシステム・バスのDMCデータ要求回
線PDMCRXを2進教養に強制することによってCP
Uファームウェアに通知する。 もし下記2条件、即ち、(1にの回線が既に特定のシス
テム・バス上の他のIOCもこより既に活動状態におか
れていないこと、および■このIOCに対するサイクル
・イン時間の1次時間3におけること、が満たされされ
すれば、IOCはこの回線を2進数零に強制することを
許可される。サイクル・ィン時間(BCYCIN信号)
は、特定のシステム・バスにおいて一時に1つのIOC
のみが1つのデータ転送シーケンスを開始できることを
保証する。DMC要求回線PDMCRXはCPUが応答
する迄セット状態を維持する。DMC要求回線の付勢に
よりDMC要求CPUファームウェア・マイクロプログ
ラムに対するCPUハードウェア割込みを生じる。 他の優先順位の高いハードウェア割込みの関数であるハ
ードウェア割込みが生じる時、かつCPUファームウエ
アがハードウェア割込みを禁止しているかどうかに従っ
て、CPUは回線RDDTRDDT29乃至RGGT3
1上に回答DMC要求(ASDMC)指令を発すること
によりDMC要求に対し肯定応答する。この時CPUと
IOCはリンクされた状態になる。次の略々6マイクロ
秒間、DMC転送に関与するCPUファームウェア・ス
テップ数に従ってCPUがこのDMCデータ転送に専用
化され、このDMCデータ転送と関連するものを除いて
他の通信はシステム・バスA,Bのいずれにも許可され
ない。ANSDMCの後の次のサイクルにおいて、CP
Uは1/0コントローフ・ドライバ(信号PENBSX
を介して)を付勢し、これによりIOCにそのチャネル
番号をアドレス/データ回線BUSXOO乃至BUSX
15におくことを通知する。 チャネル番号はCPUフア−ムウェアにより使用されて
スクラツチパツド・メモリーにおけるプログラム・チャ
ネル表をアクセスし、又転送方向を決定する。次の6乃
至7CPUサイクルの間、CPUはプログラム・チャネ
ル表からのこのチャネルに対するメモリー・アドレスお
よび範囲の情報を得る。 この範囲は城分され、メモリー・アドレスは増分され、
そしてプログラム・チャネル表に記憶される。もしこの
範囲がこの要求によって減少し尽されるならば、CPU
はRDDT回線上に範囲終り(EOFRG)指令を発し
て、IOCに対してこれが最後の転送であることを通知
する(第21A図乃至第21D図)。もしデータがメモ
リーから読出されるべき場合(第21B図乃至第21D
図)、CPUは、メモリーをアクセスし、必要なバイト
・スワッピングを行い、データをシステム・バス・アド
レス/データ回線上のバイト位置1(即ち、ビット8〜
15)におく。次に、CPUはRDDT回線上にリンク
終り(EOFLK)指令を発する。 これは、1/0コントローラに対して、もしメモリーか
らの議出しならば主メモリーからのデータがデータ/ア
ドレス回線上にあることを表示する。もしメモリ一読出
しが行われつ)あれば、1/0コントローラはこのデー
タをEOFLKの1次時間3において得る。主メモリー
の書込みの場合、CPUは信号PENBSXを介して1
/0コントローラ・ドライバを付勢し、1/0コントロ
ーラはデータをバイト位置1(即ちビット8〜15)に
おき、このバイトは起こり得るバイト・スワッピングの
ためSPMに転送され、次にCPUはメモリー・アクセ
スを行ってデータを主メモリーに書込む。 リンク終り(EOFLK)は、CPUと1/0コントロ
ーフ間のりンクを終了させて、CPUと1/0コントロ
ーラ間に別のりンクが確立される迄これ以上ある種のシ
ステム・バス指令に応答しないように1/0コントロー
ラをリセットする。DMCデータ転送のためのCPUフ
ァームウェア・マイクロプログラムが完了するとハード
ウェア割込み(DMAおよびDMCデータ転送要求およ
び転送要求および主メモリー・リフレッシュ時間切れ)
を付勢し、これら割込みの夫々は継続中であればシステ
ム・バス通信をもたらす。全システム・バス通信はCP
Uファームウェアの制御下にあるため、CPU−IOC
リンクの終了は、ハードウェア割込みを許可するCPU
ファームウェアなしには他のシステム・バスの通信を確
立するのには不十分であることに留意すべきである。例
えば、第21A図において、CPUサイクル8および9
の間、システム・バスの通信はいずれのシステムリベス
においても生じ得ないが、これはCPUが依然として占
有されIOCからメモリーへのDMC入力転送のための
ファームウェア・マイクロプログラムを実行しているた
めである。FeDMAデータ転送要求 1/0コントローラがデータのバイト又はワードを主メ
モリーにおける1/0バッファに関して転入出させるこ
とを要求する時、DMA I/○コントローラはDMA
データ転送シーケンスを開始する。 この要求は、ソフトウェア10LD命令が1/0コント
o−ラに対して発された後にのみ生じ得る。第22図は
このシーケンスのためのシステム・バス対話を示す。D
MA I/○コントローラは、この要求側の1/0コン
トローラが配置されているシステム・バス上のDMA要
求回線PDMARXを2進数零に強制することにより、
これがDMAデータ要求を行うことをCPUに通知する
。 この回線PDMARXはCPUから応答が受取られる迄
活動状態を維持する。もし下記2つの条件、即ち、【1
)この回線がその特定のシステム・バス上のある他の1
/0コントローラにより既に活動状態におかれていない
こと、‘2にの1/0コントローラに対するサイクル・
ィン時間(BCYCm−2進数零)の1次時間3 PT
IME3にあること、が満たされさえすれば、1/0コ
ントローラはこの回線を(1次時間3において)セット
することが許可される。DMA要求回線の付勢により、
DDMA要求マイクロプログラムに対するCPUのハー
ドウェア割込みを生じる。この状態が生じると、CPU
はRDDT回線RDDT29乃至RDDT3 1上に回
答DMA要求(ASDMA)指令を発することによりこ
の要求を肯定応答し、適当なシステム・バス上の(PE
NBX)回線をセットすることによって1/0コントロ
ーラ・ドライバを付勢する。CPUと1/0コント。ー
ラはリンクされ、全てのシステム・バス活動はこのDM
A転送に対してのみ専用化される。1/0コントローラ
が回答DMA要求 (ASDMA)指令を検出する時、この1/0コントロ
ーラは即時下記動作を行う。 即ち(1}要求回線PDMARXをリセットし、■アド
レス/データ回線BUSXOO乃至BUSX1 5上に
メモリー・ワード・アドレスをおき、{3レゞス回線P
WRTBIおよびPWRTBO上に書込みバイト信号を
ゲートする。もしコントローラがシステム・バスA上に
あれば、CPUは主メモリーの使用のためアドレスおよ
び書込みバイト信号をシステム・バスBに対して付勢す
ることに留意されたい。回答DMA要求(ASDMA)
指令サイクルの1次時間3において、CPUはメモリー
GO信号PMEMGOを発し、主メモリーはこのメモリ
ーGO信号を用いてストローブする。 もしこのアドレスがCPUボード上におかれたメモリー
構成スイッチにより許可されたものよりも大きいことを
CPUが検出すると、CPUはメモリー・エラー回線(
システム・バスA上のPMMPARおよびシステム・バ
スB上,のMEMPER)をセットすることにより1/
0コントローラに通知し、ェフー・ビットを1/0コン
トローラの状態レジスタ内でセットさせる。回答指令A
SDMAに続くCPUサイクルにおいて、CPUはRD
DT回線上にリンク終り指令EOFLKを発してデータ
転送が生じることを指示する。 もしこれが書込み操作であれば、CPUはコントローラ
・ドライバPENSBXを付勢し、1/0コントローラ
はデータ・ワードをアドレス/データ回線上におく。も
し1/0コントローラがシステム・バスA上にあれば、
CPUはシステム・バスBおよび主メモリーに対するデ
ータ転送を付勢する。もしこの操作がメモリー読出しで
あれば、メモリー・ドライバはCPUにより付勢され、
主メモリーはデータをバス上におき(CP山ま必要に応
じてシステム・バスAにおけるデータを付勢する)、1
/0コントローラはリンク終り(EOFLK)サイクル
の1次時間3においてこのデータを取る。 もし主メモリーがパリティ・エラーを検出した場合、こ
れは主メモリーのパリティ・ェフー(M旧MPER)回
線をセットすることにより1/0コントローラに通知す
る。必要に応じて、このエラーは回線PMA作AR上を
CPU‘こよりシステム・バスAに送られる。リンク終
り信号の直後のCPUサイクルにおいては、CPU.1
/0コントローラ・リンクが終了され、メモリー・エラ
ー信号MEMBERおよびPMA仲ARがリセットされ
る。Ff l/○コントローラ割込み 1/0コントローラは、あるデータ転送が完了するか又
はあるデバイスの状態が変化する時、システム・バス1
/0割込みシーケンスを開始する。 第23図はシステム・バス上で行われる対話を示す。1
/0割込みはソフトウェア割込みであってハードウェア
割込みではないことが判る。 即ち、もしCPUにより受入れられるならば、この1/
0割込みは、CPUを強制してソフトウェアの現行状態
を保管させることにより現行ソフトウェア・プログラム
の実行を中断する。この時、CPUは1/0割込みのサ
ービスに専用化された他のソフトウェアの実行を開始す
る。1/0割込みソフトウェアの完了時に、割込みを受
けたソフトウェアの状態は復元され、CP山ま元の割込
みされたソフトウェア・プログラムの実行を続行する。 割込みが要求されるとき、1/0コントローフは、割込
み要求回線PIMTRXを2進数零に強制することによ
りCPUファームウェアに通知する。この回線はCPU
が応答する迄セットされた状態を維持する。1/0コン
トローラは、そのサイクル・イン時間の1次時間3にお
いてのみ、かつこの回線が既に同じシステム・バスA又
はB上のある他のIOCにより付勢されていない場合、
この回線を付勢することを許可される。 CPUファームウェアが次のソフトウェア命令の処理を
開始する時、どちらかのシステム・バス上の1/0割込
み要求回線PINTRXの付勢がCPUを1/0割込み
ファームウェアに分岐させる。 ソフトウェア命令の実行の間においてのみソフトウェア
割込みが生じる(即ち、ソフトウエア割込みの存在には
、あるソフトウェア命令の実行中ではなく次のソフトウ
ェア命令の始めにのみCPUが作用する)。 これは、CPUソフトウェア命令を実施するのに使用さ
れるCPUファームウェアをマイクロプログラムして、
主メモリーから次のソフトウェア命令を取出して復号す
るそのCPUファームウェア・マイクロプログラムの開
始時においてのみソフトウェア割込に分岐させるように
すること、によって達成される。もしあるソフトウェア
命令の実行の始めに1/0割込みが未完であれば、CP
Uファームウェアは次のソフトウェア命令の実行を打切
り、1/0割込み処理を取扱うCPUファームウェア・
マイクロプログラムに分岐する。1/0割込みの処理中
に第23図に示したシーケンスがシステム・バスに生じ
る。 もし1/0割込みがCP山こより受入れられると(即ち
、IOCの優先順位レベルが現在実行中のソフトウェア
・プログラムのそれよりも高ければ)、CPUファーム
ウェアは現行ソフトウェア状態を保管し、この1/0割
込みと関連するソフトウェア・プログラムの実行を開始
する。もし1/○割込みが拒絶させれば、CPUファー
ムウェアは割込みを生じることなくソフトウェア命令の
実行を続行する。次に、第23図において、CPUが1
/0割込みファームウェアに分岐する時、CPUはRD
DT回線上に回答割込み(ASINT)指令を発するこ
とによりこの要求に対し肯定応答する。 これはIOCに割込み要求回線をリセツトさせる。CP
Uおよび1/0コントローラはリンクされ、全てのシス
テム・バス、主メモリーおよびCPUの活動はシステム
・バスの1/0割込み要求のサービスに専用化される。
回答割込み(ASINT)指令の直後、CPUは付勢コ
ントローラ・ドライバ回線PENSBXを付勢し、IO
Cはアドレスノデータ回線上にそのチャネルおよび割込
みレベルをおく。 もしIOCがDMCタイプでありその割込みが後退文字
によるものであれば、チャネル番号および割込みレベル
をシステム・バスのアドレス/データ回線BUSXOO
乃至BUSX15を介してCPUへ送出する時、IOC
は回線PBYTEXを2進数零にセットすることによっ
てCPUに通知する。後退文字割込みの場合には、この
レベルは無視されて割込みは常に受入れられる。後退文
字割込みは、関連するDMCチャネルに対するPCT内
のメモリー・アドレスおよび範囲カウントを、CPUフ
ァームウェアにより変更させて前の文字を無視する。も
し後退文字でなければ、CPUが割込みレベルを受取る
時、CPUはIOCにより示されるレベルがCPUにお
ける現行レベルよりも高い優先順位であるかどうかを決
定する。 もしこのIOC割みが高い優先順位のものであれば、C
PUはRDDT回線上のりンク終り(EOFLK)指令
の発生と関連して進行回線PROCEDをセットし、リ
ンクは終了させられる。もしコントローラ割込みが低い
(又は等しい)優先順位であれば、CPUはEOFLK
の発生と関連させて使用中回線PBUSYをセットする
。この場合、リンク終了され、IOCは1/0割込みを
スタツクしてCPUがRDDT回線上に再開割込み(R
ESUM)指令を発生する迄待機しなければならない。
CPUはしベル変化が生じる時常に再開割込み(RES
UM)指令を発する。 このRESUM指令は、両システム・バスAおよびB上
に同報通信され、システム・バス上の各1/0コントロ
ーラによって監視される。割込みをスタックさせたIO
CがRESUM指令を復号する時、IOCは1/0コン
トローラ内の標識をセットし、その結果このIOCのサ
イクル・イン時間(BCYCIN時間)中IOCが1/
0割込み要求を再発し、割込みシーケンスが再開する。
この時再発された1/0割込み要求は受入れられるかあ
るいは拒絶される。もし割込み要求が把絶されると(P
BUSYが零)、IOCは再び1/0割込みをスタツク
し、CPUからのRESUM指令を待機する。RESU
M指令が発されるときは常に、各システム・バスの割込
みをスタックさせた各IOCは、割込み要求回線PIN
TRXが既に特定のシステム・バス上の別のIOCによ
りセットされていなければ、そのサイクル・ィン時間に
おいて1/0割込み要求を行う。 1/0割込み要求回線がCPUからASINT指令に応
答してIO0こよりセットされるため(CPUが割込み
を受入れるか拒絶するかにかかわらず)、CPUが依然
として最初の1/0割込み要求を処理している間別のI
OCが1/0割込み要求を行い(即ち、PINTRXを
2進数零にセットする)得る。 この第2の1/0割込み要求は、CPUファームウェア
が次のソフトウェア命令の処理を開始する迄CPUによ
る作用を受けない。割込みが要求側のIOCにスタツク
される結果となる1/0割込み要求の拒絶は、RESU
M指令に続いて1/0割込み要求(スタックされたもの
又は、他のもの)を行うこの特定のシステム・バスにお
ける他の1/0コントローラをブロックしたりあるいは
干渉したりすることがない。これは、IOCが1/0割
込みのスタックの後RESUM指令を受取る迄はスタッ
クされた割込みが再試行されないためである。このよう
に、各IOCは、(各IOCが割込み要求を行う機会を
持つ前に第2のRESUM指令が生じなければ)各RE
SUM指令に続いてそのスタックされた割込みに関し割
込み要求を行う。ソフトウェア割込みの受入れは他のソ
フトウェア割込みをブロックせず単にCPU優先順位レ
ベルを上げるのみであることを留意すべきである。 従って、もし第2の割込みが第1の割込みよりも高い優
先レベルであるならば、第1のソフトウェア割込みの処
理中はその第2のソフトウェア割込み要求が受入れられ
得る。この高いレベルの受入れは、割込みレベルが割込
みされたレベルより高い優先順位であると云う要件によ
り、又CPUにおけるレベル数(本例では64)によっ
てのみ制限されるある瞬間において、実行を待機する如
き多くの優先レベルに対して割込みを入れ子にする結果
を生じ得るのである。Fg 入出力命令の実行CPUも
こより支持されるソフトウェア1/0命令は3つのタイ
プ即ち10,10LDおよび10日がある。 これ等命令の実行によりCPUは、選択されたチャネル
に割当てられた1/0コントローラとの対話を開始し、
そしてIOCがこの指令を受入れたかどうかをCPUの
1標識を介してソフトウェアに通知する。 1標識は標識レジス夕のビット12である(第4図参照
)。 もし1=0ならば、IOCは指令を受入れなかった。も
し1=1ならば、IOCは指令を受入れた。1/0コン
トローラからの応答が検出されなかったとき、トラップ
15が生じる。 もし1/0コントローラから応答(PROCED又はP
BUSY信号)が受取られなければ、1.2ミリ秒のC
PUファームウェア・タイマは時間切れとなる。 1.2ミリ秒の時間切れ期間中、ソフトウェア割込みは
生じ得ない(これが1/0ソフトウェア命令の実行開始
後であるため)が、ハードウェア割込みはCPU時間切
れファームウェアにより禁止されないため生じ得る(第
20図参照)。 CPUが−たんIOCから進行信号PROCEDを受取
ると、CPUファームウェアはハードウェア割込みを禁
止して回答(ASCMD)指令を発する。CPUファー
ムウェアはリンク終りEOFLKを発した後迄ハードウ
ェア割込みの禁止を維持する。Fgイ チヤネル番号 入出力データ転送チャネルは、メモリー・アドレスによ
ってだけ識別される主メモリーを除き、システム・バス
に取付けられた各ユニット(CPU、1/0コントロー
ラ、又は主メモリー)のために存在する。 チャネル番号は、プロセサ、周辺デバイス、および必要
ならばシステムに取付けられる。1/0コントローラと
関連する1/0チャネルを識別する。 CPUは常にチャネル零が付される。第1の8つの1/
0チャネル対はCPUによる使用のため予約され(即ち
、チャネル番号000乃至0300(16進表示))、
その結果、SPMプログラム・チャネル表(第10図参
照)において64のチャネル対に対する空間が予約され
ているが、本実施例の64のDMC I/○チャネル対
の内56が実際にDMC 1/0コントローラに後続さ
れた周辺デバイスの使用のため利用可能である。ソフト
ウェアはこのチャネル番号を用いてどの1/0コントロ
ーラに対してソフトウ.ェア1/0命令を指向させるか
を識別する。 (チャネル番号はソフトウェア1/0命令の制御ワード
に含まれる。)このチャネル番号は又、データ転送時間
中データ転送の方向を識別するためCPUによっても使
用される(即ち、チャネル番号のビット9が方向を決定
する)。第24図はソフトウェア1/0命令制御ワード
書式を示す。 第24図は又有効DMCチャネル番号および有効DMA
チャネル番号も示している。DMAおよびDMCの両方
に対しては、最初の8チャネル対(16チャネル番号)
がCPUの使用にため予約され、従って有効1/0チャ
ネル番号ではない。システムに組込まれた1/0コント
ローフのチャネル番号スイッチ・セット値とは一致しな
いチャネル番号を指定するソフトウェア1/0命令は、
CPUファームウェア・タイマの時間切れ時にCPUに
より通知されるトラツプ15を生じる結果となる。1/
0コントローラはこのチャネル番号を用いてこれがCP
Uからサービスを要求する時そのチャネルを識別する。
2つのタイプのサービスが存在する。 即ち、{11割込み一全てのチャネルDMAおよびDM
Cにより使用されてCPUに対するそのレベル番号を指
定する(第17図参照)、および【2}データ−DMC
チャネルにより使用されバイトの送受を行う。このチャ
ネル番号はCPUによって使用されてプログラム・チャ
ネル表(PTC)をアドレス指定することを留意された
い。CPUに対し送られたチャネル番号は第24図に示
した書式を有する。DMCデータ転送要求に対しては制
御ワードのビット10乃至15が第17図に示す如く無
視されることに留意されたい。Fgロ 1/0機能コー
ド 1/0機能コードは第25図に示される。 この機能コードは1/0コントローラによって実施され
る特定の1/0機能を指定する。全ての奇数機能コード
は出力転送(書込み)を表示し、全ての偶数機能コード
は入力転送要求(読出し)を示す。機能コード指令は、
常に、チャネルに関して16ビット(もし10命令を介
して発されるならば)又は8ビット(もしlOH命令を
介して発されるならば)のいずれかを入出力する。それ
にも拘わらず、1/0コントローラは転送に関わるデー
タ・ビットの一部のみ又は全部を使用するよう選択でき
る。Fgoi 出力機能コード指令 8つの出力機能コード指令については以下に説明する。 初期化(FC=01)。この指令はチャネルに対して1
6ビットの制御ワードをロードする。個々のビットは下
記の如く特定の動作を生じる。即ち、ビット0=初期化
、ビット1=1停止1/0、ビット2乃至15=将来の
使用のため予約。この指令はチャネル使用中条件の如何
に関わらず受入れられる。初期化(IOC用):IOC
にその常駐の品質論理テスト(QLT)を実行させ、I
OCの全チャネルをクリアし、バス・インターフェース
をクリアし、割込みをブロックし、使用中条件をクリア
する。ストップ1/0(チャネル用):使用中条件をク
リアし、付勢されれば割込みを生じ、チャネルからの転
送を急激に停止し、同じIOC上の他のチャネルには影
響を与えない。出力割込み制御ワード(FC=03)。 この指令は、チャネルに対して16ビットの割込み制御
ワードを送出し、ビット0乃至9においてCPUチャネ
ル番号(零)をそしてビット10乃至15において割込
みレベルを指定する。チャネルはその割込み制御レジス
外こ割込み制御ワードを記憶する。割込み時に、IOC
は第17図に示す如く割込み制御ワードを戻す。出力タ
スク(EC=07)。 この指令はタスク・ワード(又はバイト)をチャネルに
対し出力する。個々のビットの意味はデバイス固有のも
のである。出力タスクは、構成指令(以下参照)を介し
て出力される比較的静的な情報と比較して瀕繁に出力さ
れねばならない機能(例、ディスク・レコードの議出し
等)に対し意図されたものである。出力アドレス(EC
=09)。この指令は、データ転送が行われる開始バイ
ト・アドレスとしてチャネルにより使用される17ビッ
ト量を出力する。もしこの指令力mMAチャネルに対し
て指向されると、バイト・アドレスはバス上をチャネル
に対して送られてIOCに記憶される。もしこの指令が
DMCチャネルに送られると、バイト・アドレスはCP
U内の適当なPCTヱントリに記憶される。出力アドレ
スFCはソフトウェア10LD命令と関連して使用され
る。他の入出力命令によるこの指令の使用は規定されな
い結果を生じる。出力範囲(FC=血)。 この指令は、0乃至ぞ5−1の範囲内のチャネルに対し
範囲情報を出力する。もしこの指令力mMAチャネルに
対して指向されると、範囲はバス上をチャネルに対して
送られてIOC‘こ記憶される。もしこの指令がDMC
チャネルに指向されると、範囲はCPU内の適当なPC
Tェントリに記憶される。出力範囲FCはソフトウェア
10LD命令とともに使用される。他の入出力命令のい
ずれかとともにこの指令を使用すると規定されざる結果
を生じる。出力構成ワードA(FC=11)。 この指令は構成情報をチャネルへ出力する。個々のビッ
トの意味はデバイス(即ちIOC)固有のものである。
出力構成は、あまり瀕繁に出力されない機能(例、端末
速度、カード・リーダ・モード等)に対し意図されたも
のである。出力構成ワードB(FC=13)。 この指令は別の構成情報をチャネルに対し出力する。ビ
ットの意味はデバイス(即ちIOC)固有である。この
指令は、構成ワードAに符号化される場合よりも更に大
〈の情報が要求される場合に使用される。Fgロii
入力機能コード指令10入力機能コード指令について以
下に述べる。入力割込み制御(FC=02)。この指令
はチャネルをしてその割込み制御レジスタの内容をシス
テム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。データ書式は第17図に示す如くである
。チャネル番号はCPUのチャネル番号(即ち零)であ
って応答するIOCのそれではない。入力タスク(FC
=06)。この指令はチャネルをしてそのタスク・レジ
スタの内容をシステム・バス・データ回線BUSXOO
乃至BUSX15におかせる。入力アドレス(FC=8
0)。 この指令はDMAチャネルをしてそのアドレス・レジス
タの内容(下位の16ビット)をシステム・バス・デー
タ回線BUSXOO乃至BUSX1 5におかせる。こ
の指令はDMCチャネルに指向される時、CPUをして
CPU内の適当なPCTェントリからアドレス(残余)
情報を抽出させる。入力モジュール(FC=船)。 この指令は、DMAチヤネルをしてそのアドレス・レジ
スタの上位ビット(右寄せされた)をシステム・バス上
におかせる。この指令はDMCチャネルに指向された時
CPUをしてCPU内の適当なPCTェントリからアド
レス情報の上位ビットを抽出させる。この上位アドレス
・ビット(即ち、モジュール番号)はシステム・バス上
で右寄せされてデータ回線BUSX15上におかれる。
入力範囲(EC=に)。 この指令は、DMAチャネルをしてその範囲レジスタの
内容をシステム・バス・データ回線BUSXOO乃至B
USX1 5におかせる。この指令はDMAチャネルに
指向される時、CPUをしてその適当なPCTェントリ
から残余範囲を抽出させる。入力構成ワードA(FC=
10)。 この指令はチャネルをしてその範囲ワードAの内容をシ
ステム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。入力構成ワードB(FC=12)。 この指令はチャネルをしてその構成ワードBの内容をシ
ステム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。入力状態ワード1(FC=18)。 この指令はチャネルをしてその最初の状態ワードをシス
テム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。入力状態ワード2(FC=IA)。 この指令はチャネルをしてその第2の状態ワードをシス
テム・バス・データ回線BUSXOO乃至BUSX1
5をおかせる。状態ビットの定義はIOC個有のもので
ある。入力デバイス識別(FC=26)。 この指令はチャネルをしてその16ビットのデバイス識
別番号をシステム・バス・データ回線BUSXOO乃至
BUSX15におかせる。各周辺デバイス・タイプは独
自の識別番号を割当てられ、これによりソフトウェア・
プログラムがシステム内の各チャネルに取付けられた特
定の周辺デバイス・タイプを識別することを可能にする
。Fgハ ソフトウェア入出力命令 CPUはファームウェアを介して次の3タイプのソフト
ウェア1/0命令を認識してこれを実行する。 即ち、‘1)データ・ワードおよび指令1/0命令(ソ
フトウェア・プログラミング簡略符号10)、■データ
・バイト(半ワード)および指令1/0命令(ソフトウ
ェア・プログラミング簡略符号10H)、および‘3’
アドレスおよび範囲ロード1/0命令(ソフトウェア・
プログラミング簡略符号10LD)。Fgハi l○命
令「 制御ワードを1/0コントローラに関して送受するため
10ソフトウェア命令が使用される。 10命令により規定される機能コードは情報転送方向を
決定する。 代表的には、このソフトウェアは10命令を用いてIO
Cに対して必要なタスク・ワードおよびデータ転送の実
施に必要な構成情報を送る。又、1/0操作の完了時に
、ソフトウェアは再び10命令を用いて状態および残余
範囲の情報を検索する。10ソフトウェア命令(および
10日命令)の書式は第26A図および第268図に示
される。 10命令は2つの量、即ち、01DASにより識別され
るデータ・ワード、および(2ー実施すべき外部チャネ
ル(又はデバイス)および実行すべき機能を識別する制
御ワード、を規定する。 この制御ワードは、第26A図の書式に示す如く10命
令に直嬢盛込まれ、あるいはソフトウェア・プログラム
のどこかにおかれて第26B図の書式により示す如き1
0命令により指示されるようにすることができる。 次に、第26A図および第26B図においては、OP=
命令OPコード・フィールド OP=00000(2進数表示)(10命令に対して)
=00010(2進数表示)(10日命令に対して)D
AS=データ・アドレス・シラブル。 これは、ワード(10命令に対する)又はバイト(10
日命令に対する)が1/0チャネルに関して転入出させ
る主メモリーのロケ ーション又はCPUレジスタを指定す る。 データ・アドレス・シラブル(OAS)は次の3つの書
式の内の1つを有する。 即ち、・CPUレジスタが操作の行先のソースであるレ
ジタ・アドレス・シラブル。 ・適当なサイズのオペランド(ワード又はバイト)直接
命令中に盛込まれる即値オペランド・アドレス・シラブ
ル。 ・オペランドを含む主メモリー内のロケーションのアド
レスが規定されるメモリー・アドレス・シラブル。 CII=チャネル番号又は1/0デバイス・アドレス。 F =機能コード。下記制約においてIOC即ちデバイ
ス固有である。即ち、・もしFが偶数ならば、データは
IOCからCPU/メモリーへ転送される(例、読出し
状態)。 ・もしFが、奇数ならば、データはCPU/メモリーか
らIOCへ転送される(例、制御レジスタのロード)。 CAS=制御ワード・アドレス・シラブル。CHおよび
Fを含む制御ワードを指示する。CASに対する書式は
DASと同じであ る。 10ソフトウェア命令の実行はCPUファームウェアに
より制御される。 10命令のフローチャートについては第28図参照のこ
と。 10命令実行中のシステム・バス操作については既に説
明した。 DACチャネルに対し指向される1/0命令を実行する
とき、CPUは機能コードを検査してこれが下記の内の
いずれであるかどうかを決定する。 即ち、・入力モジュール(1ビットのモジュール番号)
・入力アドレス(16ビットのバイト・アドレス)・入
力範囲 もし前記の機能コードの内の1つであれば、これはスク
ラツチパツド・メモリーにおいてこの情報を管理するた
め、CPUは直ちにこの命令の全て又は一部を実行する
。 もしこれが前記の機能コードの1つでなければ、データ
は1/0コントローラに対し転送されるかあるいはこれ
から受取られる。DMAチャネルに指向される1/0命
令を実行する時は、CPUは機能コードを1/0コント
ローラに対して送り、1/0コントローラに対し情報の
1ワードを送りあるいは1/0コントローフからこれを
受取る。 次に第28図において、10ソフトウェア命令を実行す
るのに使用されるCPUファームウェアについて詳細に
論述する。 第28図について説明する前に、フローチャートに示さ
れるブロックとおよび各ブロックの実施に使われるCP
Uファームウェア・マイクロ命令の数との間には必ずし
も1対1の対応はないことに留意すべきである。例えば
、多重CPUファームウェア・マイクロ命令はブロック
904に示される如き機能の実施に使用され、1つのC
PUファームウエア・マイクロ命令はブロック914お
よび920として示された機能の実施に使用される。C
PUファームウエアは、ファームウェアが主メモリーか
らソフトウェア(SW)命令の最初のワードを取出すブ
ロック901において、10ソフトウェア命令の処理を
開始する。 主メモリーからのソフトウェア命令の最初のワードの議
出いこ続いて、CPUファームウェアは任意のソフトウ
ェア割込みが未完であるかどうかを知るためにテストを
行う(第28図には示さないが、第33図および第34
図参照)。もしソフトウェア割込みが禾完でない場合、
ブロック902に入り、ソフトウェア命令の最初のワー
ドを指示するプログラム・カウンタは保管され、次のC
PUサイクルの間はメモリーがアクセスされないためメ
モリー・リフレッシュ操作が開始され、主メモリーから
取出されたソフトウェア命令の命令コードのテストが行
われる。もし主メモリーから取出されたソフトウェア命
令の命令(OP)コードが10ソフトウェア命令であれ
ば、ブロック903に入り、10命令の実行と関連する
CPUファームウェア・ルーチンが開始される。ブロッ
ク904においては、CPUフアームウエアがデータ・
アドレス・シラブル(DAS)を用いてワード・アドレ
スを決定する(第26図参照)。もし指標付けが指定さ
れると、指標値はバイトではなくワード基準となる。D
ASにより指定されるワード・アドレスは主メモリーの
ロケーション又はCPUレジスタを指定し、これとIO
Cとの間で1ワードのデータが転送される。この指定さ
れたロケーションは、IOCに対し送られるべきデータ
のワードを含むか、あるいはこのロケーションはIOC
から読出されたデータのワードが記憶される場所である
。ブロック905においては、CPUフアームウエアが
、必要に応じてCASを用いることにより10ソフトウ
ェア命令により指定されたチャネル番号および機能コー
ドを決定する(第26B図参照)。ブロック927にお
いては、機能コードが出力機能コードであるかどうか、
又そうであればOASにより指定されるデータ・ワード
がアクセスされてスクラッチパッド・メモリーの作業ロ
ケーションに記憶されるかどうかを決定するためテスト
が行われる。ブロック906においては、チャネル番号
および機能コードがシステム・バスのデータ/アドレス
回線BUSXOO乃至BUSX15上のIOCに対し送
られる(第17図、1/0指令書式参照)。更にブロッ
ク906においては、CPUはシステム・バスのRDD
T回線上にCPCMD指令を送り、全てのIOCに対し
て、チャネル番号および機能コードがシステム・バス上
に存在することを表示する(第20図参照)。CPUの
CPCMD指令の送りに続いて、ファームウェアは1/
0命令処理されたファームウェア艮0ちブロック948
に入り、このブロックはアドレス指定された(チャネル
番号により)IOCがCPCMD指令を受入れるか拒絶
するか、あるいはCPUに対し1/0ソフト命令を再試
行することを通知する迄ループ動作する。 ブロック907において応答時間切れカウンタを初期化
することにより、1/0命令進行ファームウェア・ブロ
ック948が開始する。この応答時間切れカゥンタはス
クラッチパッド・メモリーの作業ロケーションに含まれ
、このカウンタは、入出力(10、10日又は10LD
)ソフトウェア命令からのCPCMD指令をIOCが肯
定応答するのをファームウェアがループ動作をして待機
するとき、カウント・ダウンされる。もし、IOCが1
.2ミリ秒以内にCPCMD指令を肯定応答又は拒絶を
しなければ、応答時間切れカウン夕は零迄滅分され、C
PUファームウェアはトラップを生じる(第20図参照
)。応答時間切れカウンタの初期化の後、ブロック90
8においてCPUフアームウエアはIOCがシステム・
バスのPROCED回線をローにセットしたかどうかを
テストする。もしPROCED回線がローでなければブ
ロック909に入り、IOCがシステム・バス上のPB
USY回線をローにセットしたかどうかを知るためテス
トが行われる。もしシステム・バスPBUSY回線がロ
ーでなければブロック910に入り、応答時間切れカウ
ンタが滅分される。ブロック911においては、応答時
間切れカウンタが零に等しいかを知るためテストが行わ
れ、又等しければ1.2ミリ秒の時間が切れてCPCM
功旨令が不在1/0コントローラあるいは誤動作1/0
コントローラに向けられたことを表示する(即ち、シス
テム・バスA又はBにおけるIOCがチャネル番号に応
答しない)。もしいずれのシステム・バスA又はBにお
けるIOCも応答しなければブロック912に入り、標
識(1)レジスタの入出力標識(1)ビットに零がセッ
トされる。標識レジスタにおけるこの入出力標識ビット
は以降のソフトウェア命令によりテストされて、前の1
/0指令が受入れられたかどうかを決定する。入出力ビ
ット標識のセット後ブロック913に入り、トラツプ番
号15が実施されて、使用できない資源がアドレス指定
されて1/0ソフトウェア命令の実行が終了されること
を示す。次にブロック908において、もしIOCがシ
ステム・バスのPROCED回線をローにセットする場
合ブロック919に入り、PBUSY回線がテストされ
る。 ブロック919において、もしシステム・バスの回線P
BUSYがIOCによりローにセットされればこのこと
はIOCが一時的に使用中でありかつCPUが命令を再
試行すべきこと(即ち、待機条件)を表示する。もし待
機条件が存在すればブロック920に入り、CPUファ
ームウエアはシステム・バスRDDT回線上でASCM
D指令をIOCに送り、これがCPU−IOCリンクを
確立する。これに続いてCPUがブロック921におい
てEOFLK指令をシステム・バスRDDT回線を介し
てIOCに送り、これによりCPU−IOCリンクを終
了する(第20図参照)。CPU−IOCリンクの終了
後にブロック922に入り、前に保管されたプログラム
・カウンタを後退させて現在実行中の1/0ソフトウェ
ア命令の最初のワードを指示する。次にブロック923
へ入り、CPUファームウェアはプログラム・カウンタ
により指示されたソフトウェア命令の最初のワードを取
出す。その結果、ソフトウェアが1/0コントローラか
ら待機応答を受取った同じ1/0ソフトウェア命令を再
び取出して再実行する。1/0ソフトウェア命令が始め
から再試行されるため、プログラム’カウンタの復元だ
けでなく、一時的に使用中のIOCから待期応答を受取
る前の実行の試みの間変更される可能性のある他のCP
Uレジスタの復元にも注意がされなければならない。 望ましい実施態様においては、これは、アドレス生成に
おいて使用されるレジスタの自動的な増分又は滅分を生
じる結果となるオペランド・アドレス指定形式を、許可
しないことにより達成される。この制限条件のため、プ
ログラム・カウンタ以外のどのレジスタの復元に対する
必要もなくなる。次にブロック909において、IOC
はシステムバスのPBUSY回線をローにセットしてブ
ロック91 4に入り、PROCED回線も又ローであ
るかどうかを知るためテストが行われる。 もし両方の回線PBUSYおよびPROCEDがローで
あればブロック920に入ってCPUがCPU−IOC
リンクの確保および終了を行い、次に前述の如く1/0
ソフトウェア命令を再実行する。ブロック914におい
て、もしシステム・バスのPROCED回線がローでな
くIOCが使用中であることを表示するならば、ブロッ
ク915に入る。再びブロック915において、標識(
1)レジス外こおける入出力標識(1)ビットが零にセ
ットされ、これはIOCが最終1/0指令を受入れなか
ったことを表示するため以降のソフトウェア命令により
テストされる。次のブロック91 6に入り、CPUは
ASCMD指令をIOCに送ってCPU−IOCリンク
を確立する。フロツク917において、CPUフアーム
ウェアはIOCに対してシステム・バスのPDDT回線
上にEOFLK指令を送出して、これによりCPU−I
OCリンクを終了する。次にブロック918に入り、C
PUファームウェアが主メモリーから次のソフトウェア
(SW)命令を取出すことになる。1/0命令進行ファ
ームウェア、ブロック948の論述を終る前に、注目す
べき重要なことは、CPUファームウェアがループ動作
して1/0コントo−ラが進行、使用中、待機又は時間
切れで応答するのを待機する期間中、ブロック908乃
至911のル−プ内のあるファームウェア・マイクロ命
令の間でのハードウェア割込みが禁止されるが、ハード
ウェア割込みがループの各通過の終りもこ許可されるこ
とである。 従って、DMAデータ転送、DMCデータ転送、又はメ
モリー・リフレツシュ操作を行うためにCPUファーム
ウェアに割込んでシステム・バスを使用することができ
る。第34図に関して以下において明らかになるように
、ソフトウェア割込みが主メモリーからのソフトウェア
命令の取出しの直後(即ちブロック901の後)にのみ
CPUファームウェアによりテストされるため、この1
.2ミリ秒間のタイミング操作中にはソフトウェア割込
みは応答を受けない。CPUファームウェアが進行条件
を検出する時(即ち、応答側のIOCはシステム・バス
の回線PROCEDをローにセットし、PBUSY回線
はハィにしたままである)、ブロック924に入る。 ブロック924においては、CPUフアームウエアは、
標識(1)レジスタの入出力標識(1)ビットに2進数
1をセットし、又以降のIOCタイプのテストのためP
DMCIOフロツプにシステム・バスのPBYTEX回
線の状態を記憶する。もしシステム・バスのPBYTE
Xが/・ィであれば、これは応答するIOCがDMCI
OCであり、もしローならば、応答するIOCがDMA
IOCであることを表示する。次に、CPUファームウ
エアはブロック925において応答するIOCに対しシ
ステム・バスのRDDT回線上でASCMD指令を送出
してCPU−IOCリンクを確立する。ブロック926
においては、機能コードがテストされる。もし機能コー
ドが奇数であって出力機能コードを表示すればブロック
928に入り、CPUファームウエアはSPMの作業ロ
ケ−ションからデータ・アドレス・シラブル(DAS)
により指示されるデータのワードを得る。このデータ・
ワードはシステム・バスのアドレス/データ回線BUS
XOO乃至BUSX15上をIOCに送られ、CPUも
又FOFLK指令をRDDT回線上でIOCに対して送
出する。IOCはEOFLK指令と会すると、アドレス
/データ回線からデータ・ワードを取りCPU−IOC
リンクを終了する。ブロック928は1/0ソフトウェ
ア命令の処理を完了し、次にCPUがブロック929を
出て、ブロック929がCPUファームウエアに行き次
のソフトウェア命令を出す。もし機能コードが偶数であ
り入力機能コードを表示すれば、ブロック926からブ
ロック930に入り、IOCタイプを決めるためテスト
が行われる。 もし応答するIOCがDMC IOCであれば、ブロッ
ク931に入って別のテストを行ない、機能コードが関
連するプログラム・チャネル表(PCT)であるかどう
かを決定する。 もし10ソフトウェア命令からの機能が関連するプログ
ラム・チャネル表であれば(即ち、入力モジュール、入
力アドレス、又は入力範囲)、ブロック932に入って
機能コーlゞ‘こより指定されたデータがスクラッチパ
ッド・メモリ一に記憶されたプログラムチャネル表から
抽出され、EOFLK指令がIOCに与えられてCPU
−IOCリンクを終了する。再びブロック930に戻っ
て、IOCタイプは前記ブロック924においてロード
されたままPDMCIOフロップの状態をテストするこ
とにより決定される。ブロック933において、CPU
からE○FLKおよび付勢(PENBSX)信号を受取
ると同時に、システム・バスのアドレス/データ回線(
第17図、データ・ワード書式参照)にIOCがデータ
をおく。ブロック934において、プログラム・チャネ
ル表(PCT)から抽出されるかIOCから受取られる
データは、10ソフトウェア命令のデータ・アドレス・
シラブル(DAS)により指定されるロケーションに記
憶される。10ソフトウェア命令はDASロケーション
にデータ・ワードを記憶して完了し、CPUファームウ
ェアがブロック935において次のソフトウェア命令を
取出す。 10ソフトウェア命令の論議を終るに先立ち、ソフトウ
ェアの観点からは、1/0コントローフがDMAI/。 コントローラかDMCI/○コントローラの如何を問わ
ず、10ソフトウェア命令の実行結果は同じであること
に留意すべきである。DMAI/○コントローラとDM
CI/○コントローラ間の差は、CPUファームウェア
によりソフトウエアからマスクされていることである。
ソフトウェア・プログラムは、入出力プログラムを書込
んでいるデバイスがDMA又はDMCI/○コントロー
ラのいずれに取付けられているかについて認識する必要
はない。Fgハii lOLD命令 10LDソフトウェア命令は、主メモリー内の1/0バ
ッファとのデータの転入出の準備のために使用される。 ある1/0コントローラに関しては、10LDソフトウ
ェア命令は又データ転送を関始する。DMC I/○コ
ントローラに関しては、CPUは常に1/0バッファが
構成された主メモリー内に含まれることを保証する。も
しそうでなければ、使用できない資源トラッフ。TV1
5が生じる。10LDソフトウェア命令の書式は第27
A図および第27B図に示される。 10LD命令は3つの量を指定する。 即ち、(1’AASにより識別される1/0バッファ開
始アドレス、{2}外部チャネル(又はデバイス)およ
び実施すべき機能を識別する制御ワード、および、【3
’RASにより識別される1/0バッファ範囲(サイズ
)である。制御ワードは、第27A図に示す如き10L
D命令に直綾盛込まれるか、ソフトウェア・プログラム
のどこか他におかれて第27B図の書式に示す如く10
LD命令により指示される。 次に第27A図および第27B図において、OP=命令
OPコード・フィールド。 OP=00011(2進数表示)(10LD命令に対し
て)AAS=アドレス・アドレス・シラブル。 これは1つ以上のバイトが1/0チャネルとの間で転入
出される主メモリー内のバイ ト・ロケーションを指示する。 アドレス・アドレス・シラブル(AAS)は2 つの書式を有する ・適当なサイズ(1つ又は2つのバイト)の1/0バッ
ファが直接命令に組込まれる即値オペランド・アドレス
・シラブル。 ・主メモリー内の1/0バッファの開始バイト・アドレ
スが指定されるメモリー・アドレス・シラブル。 CH=チャネル番号又は1/0デバイス・アドレス。 F=出力アドレスを指定する09(1金隼)の機能コー
ド。 CPUファームウェアによる10LDソフトウェア命令
の実行中、アドレスが出力された後、CPUファームウ ェアがこの機能コードを0D(16進)に変更して範囲
を出力する。 CAS=CHおよびFを含む制御ワードを指示する制御
ワード・アドレス・シラプル。 CASの書式はDASと同じである(10ソフトウェア
命令参照)。 RAS=範囲アドレス・シラブル。 これは、データのバイト数に照して1/0バッファの範
囲が1/0チャネルの転送されるべき 場所を指示する。 RASの書式はOASと同じである(10ソフトウェア
命令参 照)。 10LD命令の実行はCPUファームウェアにより制御
される。 ソフトウェア10LD命令実行については第29図参照
。10LD実行中のシステム・バス操作および実行後の
1/0バッファ転送の1/0コントローラ要求について
は既に述べた。 CPUファームウェアによる10LD命令実行は指向さ
れるIOCタイプにより決定される如く変化し、詳細に
は、・DMAI/○コントローラに指向された10LD
命令は2つのシステム・バス転送を生じる。 即ち、第1の転送は主メモリー内の1/0バッファ開始
ロケーションを指定する17ビットのバイト・アドレス
であり、第2の転送は16ビットの範囲値であり、1/
0操作の間転送されるバイト数に塞いで1/0バッファ
のサイズを指定する。これはチャネルにとって2つの別
々のバス転送の如く見え、これ等はアドレス転送に関し
ては機能コード09(16隻)そして範囲転送に関して
は機能コード血を有する。プログラムは、10LD命令
制御ワーNこおける第1の機能コードを指定するだけで
よく、CPUファームウェアは第2の機能コードを生成
する。 アドレス転送:第1の転送は17ビットの量であり、こ
れは1/0バッファに対するデータの転入出のための開
始バイト・アドレスとしてチャネルによって使用される
。 範囲の転送:第2の転送は16ビットの範囲値であり、
これはDMA操作の間転送されるバイト数を表示する。
この範囲は、範囲値が0000乃至7FFF(16進)
である正の整数のデータ・ワードである。この範囲の転
送が生じると、これも又1/0バッファに対するデータ
転送要求を開始するようにある1/0コントローラを条
件付ける。データ転送は、IOC特定機能コードをもつ
10ソフトウェア命令の使用により他の1/0コントロ
ーラにおいて開始される。。・DMCIOCに指向され
る10LD命令は、適当なプログラム・チャネル表のェ
ントリ内に17ビット・バイト・アドレスおよび16ビ
ットの範囲値をCPUに記憶させる。 (第30図参照)1/0操作の完了時に、残余アドレス
および範囲はPCTにおいて使用可能となる。CPUは
又2つの転送を生じ、これによりシステム・バス上でバ
ッファ・アドレスおよび範囲を1/0コントローラへ送
出する。もしプログラマが範囲値零を符号化すれば、あ
る1/0コントローラの特定動作が必要とされる。この
条件をDMCIOCに通知するため、DMCチャネルに
指向される10LDの実行中、CPUが1/0コントロ
ーフへ範囲終り信号を送る。あるDMC I/○コント
ローラはこの条件を無視する。次に第29図に関して、
10LDソフトウェア命令を実施するため使用されるC
PUファームウェアについて詳細に説明する。 再び第28図に関して説明したように、第29図におい
ては、フローチャートに示したブロックと各ブ。ツクの
構成に使用したCPUファームウェア・マイクロ命令の
数との間には必らずしも1対1の対応関係はないことに
留意すべきである。CPUフアームウエアはブロック9
0 1において10LDソフトウェア命令の処理を開始
し、こ)でファームウェアは主メモリーからソフトウェ
ア(SW)命令の最初のワードを取出す。 主メモリーからのソフトウェア命令の最初のワードの議
出しに続いて、このソフトウェアはソフトウヱア割込み
が禾完であるかどうかについて知るためにテストを行う
(第29図には示されず、第33図および第34図参照
)。もしどのソフトウェア割込みも禾完でなければブロ
ック902に入り、ソフトウェア命令の最初のワードを
指示するプログラム・カウンタが保管され、メモリーが
次のCPUサイクルの間アクセスされないためメモリー
・リフレツシュ操作が開始され、主メモリーから取出さ
れたソフトウェア命令のOPコードのテストが行われる
。もし主メモリーから取出されたソフトウェア命令のO
Pコードが10LDソフトウェア命令であれば、ブロッ
ク942に入った10LDソフトウェア命令と関連する
CPUファームウェア・ルーチンが実行される。第29
図のブロック901と902は第28図のブロック90
1と902に示されたものと同じファームウェア命令で
ある。フロツク943において、CPUフアームウエア
は、アドレス・アドレス・シラブル(AAS)(第27
図参照)を用いてバイト・アドレスを決定する。もし指
標付けが指定されれば、指標値はワードではなくバイト
に基〈。AASにより指定されるバイト・アドレスは、
IOCとの間でデータの転入出が生じる1/0バッファ
の主メモリー内の開始バイト・ロケーションを指定する
(第30図参照)。ブロック944においては、CPU
ファームウェアは、必要に応じてCASを用いて10L
Dソフトウェア命令により指定されるチャネル番‐号お
よび機能コードを決定する(第27B図参照)。ブロッ
ク945においては、機能コードが09(16隻)であ
るかどうかを決定するため機能コードについてテストが
行われ、もし09でなければ、トラツプ16がブロック
949により行われてプログラム・エラーを表示し、1
0LDソフト命令の実行が終了される。もしブロック9
45が、機能コードが出力アドレス機能コード(09
1金隼表示)であることを決定すれば、ブロック946
に入る。フロツク946においては、CPUフアームウ
ェアが範囲アドレス・シラブル(RAS)を用いて1/
0転送の範囲(バイト数)を決定し、この範囲をSPM
の作業ロケーションに記憶する。 フロック947において、チャネル番号および機能コー
ドがシステム・バスのアドレス/データ回線BUSXO
O乃至BUSX1 5上をIOCに送られる(第17
図の1/0指命書式参照)。更に、フロック947にお
いて、CPUがシステム・バスRDDT回線上にCPC
MD指令を送り、全てのIOCに対してチャネル番号お
よび機能コードはシステム・バス上に存在することを表
示する(第20図参照)。CPUがCPCMD指令を送
出するのに続いて、ファームウェアが1/0命令進行フ
ァームウェアに入り(第28図のブロック948)、ア
ドレス指定(チャネル番号による)されたIOCがCP
CMD指令を受入れあるいは拒絶するか、あるいはIO
Cが再び1/0ソフトウェア命令を試行すること(即ち
、待機)をCPU‘こ通知する迄ループ動作する。もし
アドレス指定されたIOCがCPCMD指令を肯定応答
すれば、ブロック948はブロック951に出る。CP
Uファームウェアが進行条件を検出する時(即ち、応答
するIOCは、システム・バスのPROCED回線をロ
ーにセットし、PBUSY回線をハイのままにする)、
ブロック951に入る。 フロツク951においては、CPUフアームウエアは入
出力標識(1)レジスタに2進数1をセットし、更にP
DMCIOフロップにシステム・バスPBYTEX回線
の状態を記憶する。もしシステム・バスのPBYTEX
回線が/・ィであれば、応答するIOCがDMCIOC
であることを表示し、もしローならば応答するIOCが
DMAIOCであることを示す(第20図参照)。この
時CPUファームウェアは応答するIOCに対してシス
テム・バスのRODT回線上にASCMD指令を送出し
てCPU−IOCリンクを確立する。ブロック953に
おいては、機能コードがテストされる。もしこの機能コ
ードが09(16隻)で出力アドレス機能コードを表示
すればブロック954に入る。ブロック954において
は、機能コードを4だけ増補して09(16進)の出力
アドレス機能コードを血(16進)の出力範囲機能コー
ドに変化させる。機能コードを09からODに増補する
ことにより、ファームウェアがブロック947に入った
後10LDソフトウェア命令の出力範囲機能について再
び実行される時、ブロック953が出力範囲経路をとっ
てブロック964に行く。機能コードの増補の後ブロッ
ク955に入り、PDMCIOフロップがテストされて
CPCMD指命に応答したIOCのタイプを決定する。
もし応答するIOCがDMC IOCであればブロック
9 5 6に入り、AASにより決定される10バッフ
ァ開始バイト・アドレスはスクラツチパツド・メモリー
内の指定されたチャネル番号と関連したプログラム・チ
ャネル表ェント川こ記憶される(第30図参照)。又、
ブロック956においては、その10バッファの開始バ
イト・アドレスはシステム・バスのアドレス/データ回
線BUSXOO乃至BUSX15におかれ、これととも
にシステム・バス回線PBYTEXによりこれがバイト
零かバイト1かを表示する。更に、フロック956はE
OFLK指令をIOCに送り、IOC‘こ対するデータ
がシステム・バス上にあることを表示する。バッファの
開始バイト・アドレスはDMCおよびDMAのIOCに
対するシステム・バス上で同報通信されるが、DMCI
OCはこの開始バイト・アドレスを無視する。ブロック
956におけるEOFLK指令のIOCに対する送出は
ブロック952において送出されたASCN■指令によ
り確立されたCPU−IOCリンクを終了させる。フロ
ツク957においては、CPUファームウェアは、1/
0バッファの開始バイト・アドレスを取りそして1/0
バッファの範囲(バイトにおける)を加算することによ
り1/0バッファの上限を決定する。フロツク958に
おいては、CPUフアームウェアは、1/0バッファの
最終バイトがシステム内に物理的に存在する主メモリー
内に存在するかどうかを決定するが、これは1/0バッ
ファの最終ワード(最終バイトを含む)をアドレス指定
するメモリー・リフレッシュ操作を実行することにより
行う。 もしCPUロジックが不在メモリー・ロケーションのア
ドレス指定の試みを検出するならば、ハードウエア割込
みが生じてブロック970へ入り、トラップ15へ分岐
して(ブロック96 1)10LDソフトウェア命令の
実行を終了する。もし1/0バッファの最終バイトがシ
ステム内に物理的に存在する主メモリー内に含まれるな
らばブロック959に入り、別の検査を行なって、1/
0バッファが64Kワード・メモリーの上端から下位の
アドレス・メモリー・ロケーションに循環したかどうか
を知る。もし循環が生じるならばブロック961に入り
、トラップ15(使用不熊ネの資源)が実行され、10
LDソフトウェア命令の実行が終了させられる。もし1
/0バッファが循環しなければ、ブロック959はブロ
ック9601こ出て10LDファームウェアに再び入り
、範囲を出力する。ブロック96川まブロック950に
入り、これからブロック947へ入り、この時点の出力
範囲(OD、16進)機能コードで処理を開始する。次
にブロック955に戻って、もしIOCタイプがDMA
IOCであればブロック962に入る。 ブロック962においては、1/0バッファの開始バイ
ト・アドレスがシステム・バスのアドレス/データ回線
BUSXOO乃至BUSX1 5上をDMAIOCに送
られ(第17図のメモリー・アドレス書式参照)、これ
とともにシステム・バスの回線PBYTEXでバイト雫
又はバイト1を表示する。フロツク962も又EOFL
K指令をシステム・バスのRDDT回線上のIOCに対
して送出し、これによりのCに対してアドレスがシステ
ム・バス上にあることを通知し、又ブロック952にお
いて前述の如く確立されたCPU−IOCリンクを終了
させる。次にCPUファームウェアがブロック963に
出て範囲を出力し、更にブロック950を介してブロッ
ク947に入る。フロック947に2回目に入って範囲
をIOCに対して出力する時、チャネル番号および機龍
コ−ドは再びCPCMD指令と共にIOCに送られる。 アドレス指定されたIOCが進行で応答する時、ブロッ
ク951に入り、その後ブロック952が続いて2回目
のCPU−IOCリンクを再び確立する。この時ブロッ
ク953に入って機能コードがテストされ、この時出力
範囲機能コード血(16進)のためブロック964に入
る。ブロック964においては、PDMCIOフロツプ
がテストされてIOCタイプを決定し、もしDMCIO
Cが応答すればブロック965に入る。ブロック965
においては、CPUファームウェアが範囲をSPMの作
業ロケーションから取り、この範囲をチャネル番号と関
連するプログラム・チャネル表ェントリの第2のワー日
こ記憶する(第30図参照)。ブロック965に続いて
、もしDMCIOC又はDMAIOCが応答したらブロ
ック966に入り、10LDソフトウェア命令に指定さ
れた範囲が零に等しいかどうかを決定するためテストが
行われる。もし範囲が零であれば、ブロック967に入
ってCPUが指令EOFRGをシステム・バスRDDT
回線上でIOCに送出する。ある1/0コントローラは
その状態標識にこの範囲終り条件を記憶し、他のIOC
はこの条件を無視する。ブロック968においてはCP
Uがこの範囲をバイト数でシステム・バスのアドレス/
データ回線上でIOCに送出し(第17図のデータ・ワ
ード書式参照)、又EOFLK指令をシステム・バスの
RDDT回線上に送出する。DMAIOCとDMC I
OCのあるものとはIOC内にその範囲を記憶し、他の
DMCIOCはこの範囲を無視する。ブロック968に
おけるEOFLK指令はブロック952において確立さ
れたCPU−IOCリンクを終了させ、他の用途のため
このシステム・バスを解放する。CPU−IOCリンク
の終了で10LDソフトウェア命令の処理を完了し、C
PUファームウェアはブロック969に出て次のソフト
ウェア命令を取出す。10LDソフトウェア命令の論述
を終るに先立ち、ソフトウェアの観点から、ソフトウェ
ア10LD命令の実行結果は1/0コントローラがDM
A I/○コ・ントローラであるかDMC I/○コン
トローラであるかに拘わらず同じであることに留意すべ
きである。 DMAとDMCの1/0コントローラ間の差はCPUフ
ァームウェアによりソフトウェアからマスクされること
である。再び10ソフトウェア命令の場合と同様に、プ
ログラマは入出力プログラムを書込んでいるデバイスが
DMAI/〇コントローラとDMCI/〇コントローラ
のいずれに取付けられているのかを認識する必要はない
。ソフトウエア・プログラマはIOCタイプについて認
識する必要はないが、デバイスがDMAIOCとDMC
IOCのどちらに接続されるかに依存して、1/0バッ
ファ限界越えを指定する10LD命令に対しシステムが
応答する方法に相異がある。 前述の如く、DMC I/○コントローラにおいては、
10LDCPUフアームウエアが1/0バッファの終り
がシステムに存在する物理的メモリー内にあるかどうか
を検査し、もしなければ使用不能な資源(トラツプ15
)が生じ、10LDソフトウェア命令の実行はIOCと
主メモリーとの間にデータ転送を開始することなく終了
される。システム内の主メモリーが物理的に連続してい
る(即ち、アドレス空間に空孔がない)これが必要であ
るため、もし10バッファの主メモリーの終端ロケーシ
ョンがシステム内で物理的に存在するならば、開始ロケ
ーションと中間のロケーションも又存在しなくてはなら
ない。従って、DMC I/○コントローラに対するこ
の最初の検査が、個々のロケーションが個々のDMCデ
ータ転送操作時にシステムに物理的に存在するかどうか
の検査の必要を軽減することになる。DMAI/○コン
トローフについては、最初の1/0バッファ範囲検査は
行われず、アドレス指定されたロケーションが主メモリ
ー内に物理的に存在するかどうかを決定するため各DM
Aデータ転送中に検査が行われる。従つて、DMAI/
○コントローラは、システム・バスの回線M旧MMER
又はPMMPARで受取られる使用不能資源の標識を記
憶し、かつ転送の状態がCPUにより要求される時CP
川こ後で通知するためのこのエラー標識を記憶すること
ができなければならない。Fgハiii 1O日命令 10日ソフトウェア命令は1/0コントローラとの間で
制御バイト又はデータを送受するために使用される。 この命令は、ワード転送の代物こバイト転送を取扱う点
を除けば10命令と類似する。10ソフトウェア命令の
場合と同様、CPUファームウェアは10日命令の実行
を制御する。 10日命令のフローチャートは下記の点を異にする外は
10命令のそれと同様である。 次に第28図によれば、10日命令に対しては、ブロッ
ク904においてバイト・アドレススが決定され、ブロ
ック927においては1バイトのデータがアクセスされ
、ブロック928においては1バイトがIOCに送られ
、ブロック933においては1バイトがIOCから読出
される。10日命令の実行中のシステム・バス操作につ
いては既に述べた。 Fgニ トラツプおよびソフトウェア割込みソフトウェ
ア割込みは、現行ソフトウェア命令の完了時に対処され
る電源故障、IOC割込み等の如きCP山こより実行さ
れている現行命令にとって外部の事象により生じる。 しかし、トラツプは、パリティ・ェフー、プログラム・
ェフ−、不在資源アドレス指定等の如き現行ソフトウェ
ア命令と関連する事象によって惹起され、命令完了を待
つことなく即時対処される。Fgニi ソフトウェア割
込み 中央プロセサにおける各プログラムはあるソフトウェア
優先順位レベルにおいて実行するが、より高い優先順位
を有する事象により割込みされ得る。 割込みを行う各事象はある優先順位レベルを割当てられ
る。ソフトウェア割込みは0から63まで付番された6
4のレベルがあり、レベル0が最高、63が最低の陵先
順位を持つ。優先レベル0,1および2は固定事象に対
し予約され、他の事象はソフトウェアにより動的に割込
みレベルを割当てられている。望ましい実施態様におい
ては、64のソフトウェア割込みレベルが下記の如く割
当てられる。即ち、電源故障はしベル0(最高のレベル
)、監視タイマー(WDT)切れはしペルー、使用ごれ
た最終トラップ保管城はしベル2、実時間クロック(R
TC)は0〜2以外の任意のレベル(ソフトウェア割当
てレベルは主メモリーのロケーション0016(16進
)で表示される)、周辺デバイス又はIOCのサービス
要求は0〜2以外の任意のレベル(ソフトウェアにより
動的に制御される)レベル変更(LEV)ソフトウェア
命令はどのレベルでもよい(このレベルはLEVソフト
ウェア命令において規定される)。各ソフトウェア割込
みレベルと関連するのは割込みベクトルを含む専用化さ
れた主メモリー・ロケーションである。この割込みベク
トルは、レベルと関連する割込み保管域(第31図)へ
のポィンタである。ソフトウェアは、特定のソフトウェ
ア・プログラムにおいて活動的な各レベルに対し割込み
保管城をセットアップする。割込み保管城は常に6つの
ロケーションを保有し、別の16のロケーションを有す
ることもできる。各割込み保管城のレイアウトは下記の
如くである。第1のロケーションはこのレベルと現在関
連するトラップ保管域TSAPのリストに対するポィン
タである。 第2のロケーションは割込みを行うデバイス(DEV)
のチャネル番号および割込みレベルを保有する。 このロケーションはCPUファームウェアによってロー
ドされる。第3のロケーションは割込み保管マスク (ISM)を保有する。 このマスクはどのレジスタが可変場所で保管されるべき
かを決定する。第4のロケーションは将来の使用のため
予約され、零でなければならない(M旧Z)。第5のロ
ケーションは割込みハンドラ手順(IHP)ポィンタを
有する。 これは新らしいレベルに対する割込み取扱い手順(ソフ
トウェア・プログラム)へのポインタとして作用し、割
込み取扱い手順からの復帰のため復帰アドレスを記憶す
るために使用される。第6のロケーションは状態(S)
レジスタ(例、割込みレベルおよび(CPUID)を記
憶する。 残りのコケーションは割込み保管マスクの制御下で記憶
されるレジスタ用の予約される。もしマスクが全て零で
あれば、これ等のロケーションは全て使用されない。各
割込み優先レベルに対する活動/不活動フラッグ・ビッ
トが専用化された主メモリーに保持される(第32図参
照)。 フラッグはソフトウェア命令が開始される時セットされ
、ソフトウェア・レベル変化(LEV)命令によりセッ
ト/リセットされる。CPUファームウェアはこれ等フ
ラッグを走査して処理されるべき最高レベルのソフトウ
ェア割込みを決定する。Fgニii トラツフ。 トラップは現行ソフト命令の実行と同期する事象によっ
て生じる。 各タイプのトラップと関連しているのは、ソフトウェア
・トラップ取扱手順に対するポィンタを含む専用化され
た主メモリ−・ロケーションである。これ等のロケーシ
ョンはトラップ・ベクトル(TV)と呼ばれる。17の
トラップ・ベクトルが使用可能(第32図におけるロケ
ーション006F乃至007F)であるが、本実施例に
おいてはその全ては使用されない。 本実施例では、カッコ内に示されたトラツプ・ベクトル
数を有する下記の事象の取扱いに使用されるトラップ・
ベクトルを有する。即ち、パリティ・エラー17、プロ
グラム・エラー16、使用不能資源15、特権操作違法
13、整数演算オーバーフロー6、組込まれない(科学
計算ではない)操作5、組込まれない科学計算3、追跡
/区切り点トラップ2、およびモニター呼出し1である
。トラツプ事象が生じると、CPUファームウェアがソ
フトウェア命令の実行を打切ってトラップを生じ、主メ
モリー内の関連するトラップ・ベクトルからトラップ取
扱い手順ポインタを抜出してそのトラップ・ハンドラに
分岐する。トラップはどのソフトウヱア割込みレベルで
も生じ得、いくつかのトラップが一時に継続され得る。
トラップは、ソフトウェア・トラッブ手順の実行中割込
まれる1つのソフトウェア・レベルで入り得、同じソフ
トウェア・トラツプ手順が異なるレベルで入り得、ある
いは新らしいトラップが元のトラップの処理中生じ得る
。この可能性を調整するため、トラップ保管域のプール
が使用可能である。 これ等のトラップ保管城は主メモリー内保持され、この
トラップと関連するあるレジスタおよび情報を記憶する
ために使用される(第31図参照)。専用化された主メ
モリー・ロケーション0010(頭)は常に次に使用可
能なトラップ保管城を指示する。トラップが生じると、
CDUファームウェアが次の使用可能なトラップ保管城
において関連するレジスタの文脈を記憶し、現行割込み
保管域の最初のワ−ド‘こおけるポィンタ(TSAP)
がトラップ保管城を指示する(即ち、新らしいトラツプ
保管域がリストの始めにリンクされる)ように調整され
る。トラップ保管城リンク(TSAL)の最初のロケー
ションにおけるポィン夕は同じ割込みレベルで生じた他
のトラッブを指示するりンクである。もしこのロケーシ
ョンがリストにおいて空であれば、これは、この保管城
がソフトウェア割込みレベルに対する最後のトラッププ
保管域であることを表示する。もしリンクが空でなけれ
ば、これはこのソフトウェア割込みレベルと関連する次
のトラップ保管城を指示する。更に、トラツプ保管城を
指示する最初のロケーションは、空であるかあるいはこ
のソフトウェア割込みレベルに対する別のトラップ保管
城を指示する。各トラップ取扱い手順の終りでは、トラ
ツプ・ソフトウェア命令からの戻りが実行されねばなら
ず、このため保管されたトラツブ文脈の復元を生じ、リ
ストの始めからのトラップ保管域のりンクを解き、リン
ク・ポィンタをその元の状態にリセットする。トラツプ
と割込みとそのベクトル・リンクの関係は第31図に示
す。 トラツプ・ベクトルはトラップ取扱い手順を指示する。
このトラップ保管城は割込みレベルと関連している。割
込みベクトルは割込み保管域を指示し、これが更に関連
するトラップ保管域および割込み取扱い手順を指示する
。トラップ保管域は下記の情報を保持する。即ち、最初
のロケーションはこの割込みレベルと関連する他のトラ
ツプ保管城を指示するトラップ保管リンク(TSAL)
を有する。 第2のロケーションはトラップが生じる時標識(1)レ
ジスタの内容を記憶する。 第3のロケーションはトラツプが生じた時汎用レジスタ
R3の内容を記憶する。 第4のロケーションはトラップが生じるソフトウェア命
令(INST)の最初のワードを記憶する。 第5図のロケーションZは種々の情報(即ち、トラツプ
された命令のサイズ、フィールド情報の有効性、特権状
態等)を記憶する。 第6のロケーションAはトラップされたソフトウェア命
令により生成される実効アドレスを記憶する。 第7のロケーションはトラップ取扱い手順からの復帰に
用いられるプログラム(P)カウンタ・アドレスを記憶
する。 第8のロケーションはトラップが生じる時基底B3レジ
ス夕の内容を記憶する。 G ファームウェアの概要 Ga ファームウェア・フローの概説 CPUフア−ムウエアは、1024ワード×48ビット
の読出し専用ストア(ROS)(第9図の素子238)
に常駐する1組の機能ルーチンからなる。 これ等のルーチンは、ソフトウェア命令およびハードウ
ェア条件に応答して種々のハードウェア動作を制御する
。これ等の動作は、初期化/パワーアップの自動スター
ト、命令の取出し、命令の実行、および割込み(ハ−ド
ウェア又はソフトウェア)である。ファームウェア・ス
テップが復号されるとき、2つのレジスタの内容をAL
Uに算術的に加算させてレジスタ内容を再びレジスタの
1つにロードさせたり、要求をスクラッチパツド・メモ
リーに書込ませたり等のある種のハードウェア動作が生
じる。 順序付けは、マイクロ動作をマイクロ命令に分類して次
にマイクロ命令の分類を行うことにより行われる。 1つのマイクロ命令は500ナノ秒の各フアームウエア
・ステップ(CPUサイクル)の間に実施される。 これ等のマイクロ命令シーケンスはマイクロルーチン又
はマイクロプログラムと呼ばれる。これ等はソフトウェ
ア制御のシステム・プログラミングとハードウェア動作
との間のりンクを与える。CPUファームウェア制御下
で行われる主メモリーからのソフトウェア命令の取出し
の間、実行されるべきソフトウェア割込み及びソフトウ
ェア命令の書式に関する分岐が実行され、それによって
未完のソフトウェア割込み又は主メモリーから丁度読出
されたばかりのソフトウェア命令を処理するためファー
ムウェアを含むROS内の特定のマイク。 ルーチンを選択する。マイクロル−チンの各ファームウ
ェア命令(マイクロ命令)復号されるとき、これは更に
適正なハードウェア経路を付勢する。指定されたマイク
ロ命令が実行された後、次のファームウェア・マイクロ
命令がアドレス指定されて実行されるか、分岐先のマイ
クロ命令が実行される。 ある状況下では、次のマイクロ命令アドレスの決定のた
め条件分岐テストが行われる。このように、CPUフア
ームウエアはソフトウェア命令の実行の完了に必要な種
々のシーケンスに沿って循環する。完了すると、次のソ
フトウェア命令が主メモリーから取出されて同機に実行
される。一般的なファームウェア・フローを第33図に
示す。 本システムは、システムに電力を供給する(ブロック3
50)か、制御パネル上のCLEAR押しボタンを押す
(ブロック352)ことにより初期化される。初期化シ
ーケンス(ブロック354)はファームウェア常駐品質
論理テスト(QLT)を実行し、そしてソフトウェアを
システム・バスに取付けられたある周辺デバイスから主
メモリーヘブートロードする。 ブートロードが完了すると、ソフトウェア命令抽出(ブ
ロック356)および実行(ブロック358)のための
ファームウェア・ループに入る。もしトラップ条件が生
じると、トラツプ・ファームウェアに入ったこの条件を
処理する。トラツプ・ルーチン(ブ。ック362)のフ
ァームウェアはトラップ条件の初期処理を行い、優先順
位レベル変更ルーチン(ブロック374)に出る。この
優先順位レベル変更ルーチンにおいては、ソフトウェア
の優先順位レベル変更は行われない(即ち、トラップを
生じたソフトウェア命令のレベルと同じソフトウェア優
先順位レベルでトラツプが処理される)が、ファームウ
ェアがトラップ保管域の処理を完了し、そしてプログラ
ム・カウンタをセットアップしそれによって、ソフトウ
ェア命令抽出シーケンスへ出る時にトラップ取扱い手順
の最初のソフトウェア命令が抜出されるようにする。ソ
フトウェア・トラップ取扱い手順は、「トラップからの
復帰(RTT)ソフトウェア命令」を実行することによ
り終了し、このソフトウェア命令はトラップ保管域に保
管されたレジスタを復元してそして実行されるべき次の
ソフトウェア命令(トラップを生じた事象によって決定
される)への復帰を制御する。第33図のトラップ・ル
ーチン・フロック362は、1組のCPUファームウェ
ア・マイクロ命令であり、第31図に示されるソフトウ
ェア・トラップ取扱手順の実行をCPUが開始する準備
において実行される。再び第33図において、1/0ソ
フトウェア割込み(ブロック360)、監視タイマーW
DT(ブロック364)、又は実時間クロックRTC(
ブロック364)のいずれかのサービスは、ソフトウェ
ア命令の抽出シーケンスの完了時でかつソフトウェア命
令抽出シーケンスが開始される前にファームウェアによ
り実施される。 この割込みファームウェアの完了(ブロック360又は
364)時に、ファームウェアはソフトウェア命令抽出
シーケンスに再び分岐して戻る。もしソフトウェア割込
みのソフトウェア優先順位レベルがブロック360にお
けるファームウェアにより決定される如きCP川こより
現在実行されつつあるプログラムの優先順位レベルより
も高い場合、又はブロック364における監視タイマー
(WDT)又は実時間クロック(RTC)と関連するカ
ウンタが零に滅分される場合、優先順位レベル変更ファ
−ムウェア・ルーチン・ブロック374に入り、現在実
行中のソフトウェア・プログラムは中断される。 優先順位レベルの変更の場合は、優先順位レベル変更ル
ーチンはソフトウェア命令抽出シーケンスに出(ブロッ
ク356)、サービス中のソフトウェア割込みと関連す
る割込み取扱い手順の最初のソフトウェア命令の実行を
開始する。ソフトウェア割込み取扱手順の完了時に、C
PUはソフトウェア・レベル変更(LEV)命令の実行
によりソフトウェア優先順位レベルを変更する。もし割
込みを受けたプログラムが実行を待機する最高優先順位
レベルであれば、ファームウェアは、抽出と実行との間
で割込みを受けたそのソフトウェア命令を再び抽出する
ことによりその割込みを受けたソフトウェア・プログラ
ムの実行をピックアップする。もしソフトウェア割込み
のソフトウェア優先順位レベルが現在CPUにより実行
されつ)あるプログラムの優先順位レベル(再びブロッ
ク360におけるファームウェアにより決定される)よ
り低いかこれと同じであれば、ソフトウェア優先順位レ
ベルは変更されず、割込みルーチン・フロック360は
ブロック356におけるソフトウェア命令抽出シーケン
スへ再び分岐することにより出て、その実行が打切られ
たソフトウェア命令の再抽出を生じることになる。この
場合、比較的低い優先順位のソフトウェア割込みは未完
状態のままであり、この割込みは、最終的に優先順位レ
ベル変更ルーチン・フロック374に入.ることにより
実行されるソフトウェア・プログラムの優先順位レベル
をCPUが下げる時順番を与えられる。第33図のソフ
トウェア割込みルーチソ・フロック360と優先順位レ
ベル変更ルーチン374は1組のCPUフア−ムウェア
・マイクロ命令であり、これが第31図に示されるソフ
トウェア割込み取扱い手順の実行を開始するCPUの準
備のため実行される。再び第33図において、もしハー
ドウェア割込み条件が検出出されると、ハードウェア割
込みファームウェア(ブロック370)への即時強制ェ
ントリ(ブロック368)が実行され、この条件がサー
ビスされる。 ハードウェア割込みシーケンスの完了時に、割込みを受
けたファームウェア・フローへの戻り分岐(ブロック3
72)が実行される。Gb ソフトウエア割込み、トラ
ツプ、ハードウェア割込みの対話CPUによって実行さ
れるソフトウェア・プログラムとCPUファームウェア
との関係は、ソフトウェア割込み、トラツプおよびハー
ドウェア割込み対話を示す第34図において知ることが
できる。 Gbイ ソフトウエア・プログラム 第34図において、CPU‘こおいて実行中の現行ソフ
トウエア(SW)プログラムはブロック380として示
される。 望ましい実施態様においては、実行中に現行ソフトウェ
ア・プログラム380は主メモリーに常駐し、ファーム
ウェア制御下のCPUにより一時に1つの命令が主メモ
リーから読出されて処理される。第34図においては3
つのソフトウェア命令、即ち前のソフトウェア命令31
8S、現行ソフトウェア命令382S、および次のソフ
トウェア命令383Sが詳細に示される。修飾辞の「前
の↓「現行」および「次の」はソフトウェア命令の一時
的関係を取扱うもので、必らずしもソフトウェア命令の
空間的な関係について述べるものではない。即ち、実際
において、前のソフトウェア命令は主メモリー内のロケ
ーション10001こおかれ、もしこれが分岐命令であ
れば、これはロケーション2000におかれた現行ソフ
トウェア命令に分岐し、次のソフトウェア命令はロケー
ション2001におかれてもよい。従って、修飾辞「前
の」、「現行」、「次の」は命令が実行される順序を記
述し、必らずしも王〆モリー内の相対的位置を述べるも
のではない。Gbロ フアームウヱア・マイクロプログ
ラム再び第34図において、前のソフトウェア命令ファ
ームウェア・ブロック381F、現行ソフトウェア命令
ファームウェア・ブロック382F、および次のソフト
ウェア命令ファームウェア・ブロック383Fは、それ
ぞれ前のソフトウヱア命令381S、現行ソフトウェア
命令382Sおよび次のソフトウェア命令383Sの処
理において実行されるCPUファームウェア・マイクロ
命令のシーケンスを表わす。ブロック381F乃至38
3Fにより表わされるファームウェアは、実行されるC
PUファームウェア・マイクロ命令のシーケンスを表わ
すが、必らずしもファームウェアROS(第9図の23
8)に個々に記憶されるファームウェア・マイクロ命令
自体を表わすとは限らない。又、もし現行ソフトウェア
命令382Sが前のソフトウェア命令381Sと同じも
のであれば、ブロック382Fで実行されるファームウ
ェア命令がブロック381Fで実行されるファームウェ
ア命令と同じものが可能であることが判る。特に、現行
ソフトウェア命令ファームウェア・ブロック382F内
の抽出ファームウェア・ブロック384も又、ソフトウ
ェア割込み判断ブロック385と同様前のソフトウェア
命令ファームウェア・ブロック381Fおよび次のソフ
トウェア命令ファームウエア・ブロック383Fにおい
て実行され、その相万は実行される特定のソフトウェア
命令とは無関係であることが判る。ソフトウェア命令の
関係と同様に、ソフトウェア命令ファームウェアに関す
る用語「前の」、「現行」および「次の」はファームウ
ェアの実行シーケンス間の一時的関係を示し、ファーム
ウェアROS内に記憶された通りのファームウェア命令
それ自体の空間的関係を表わすものではない。このよう
に、第34図においては、前のソフトウェア命令ファー
ムウェア381Fが前のソフトウェア命令381Sの処
理を完了する時に現行ソフトウェア命令ファームウェア
382Fに入り、又その完了時に次のソフトウェア命令
ファームウェア383Fに入ることが判る。Gbハ ソ
フトウェア割込み、ハードウェア割込み、およびトラツ
プ次に現行ソフトウェア命令ファームウェアブロック3
82Fに関しては、現行ソフトウェア命令382Sの実
行はソフトウェア割込み、ハードウェア割込み又はトラ
ップの発生によって中断され得ることが判る。 以下において判るように、1つのソフトウェア割込みの
発生は常に現行ソフトウェア命令の処理の中止をもたら
し、ソフトウェア割込みの優先順位レベルに依存して現
行ソフトウェア命令の実行の再開に先立ってソフトウェ
ア割込み取扱手順の実行をもたらし得る。あるハードウ
ェア割込みの発生は現行ソフトウェア命令ファームウェ
アの実行の中止をもたらし、その間CPUファームウェ
アはハードウェア割込みを処理し、その完了時にハード
ウェア割込み時の現行ソフトウェア命令の処理に復帰す
る。1つのトラッブの発生は現行ソフトウェア命令の実
行の放棄およびこのトラツプの処理に専用化された1組
のソフトウェア命令であるトラツプ取扱手順によるトラ
ップの処理をもたらすことになる。 トラツプ取扱手順ソフトウェアの完了時に、トラツプさ
れたソフトウェア命令に続く次のソフトウェア命令が処
理され、あるいは以下で明らかになるように別のソフト
ウェア・プログラム実行が開始され得る。Gbハi ソ
フトウェア割込み 次に、現行ソフトウェア命令ファームウェア382Fに
ついて詳細に論述する。 CPUファームウェアによる現行ソフトウェア命令の処
理は、ブロック384においてファームウェア制御下で
主メモリーから現行ソフトウェア命令を抽出するファー
ムウェアによって開始される。現行ソフトウェア命令の
最初のワードの抽出の完了時に、ブロック385におい
て禾完のソフトウェア割込みがあるかどうかをテストす
るためファームウェア分岐が行われる。もし1つ以上の
ソフトウェア割込みが未完であれば、ファームウェア分
岐が最高優先順位の禾完ソフトウェア割込みのファーム
ウェア・マイクロプログラムへ分岐する。第34図にお
いては2つのソフトウェア割込みファームウェア・ルー
チン則ちブロック388一1および388一2が示され
、その各々は特定のソフトウェア割込みを取扱うCPU
ファームウェア・マイクロプログラムを表わす。388
一2の如き特定のソフトウェア割込みファームウェア・
マイクロプログラム内では、ソフトウェア割込みの優先
順位が現在実行中のソフトウェア・プログラムの優先順
位より高いかどうかを知るためテストが行われる。 このテストはブロック389において行われる。もしこ
のソフトウェア割込みが現在実行中のソフトウェア・プ
ログラムのそれより低いかあるいはこれと等しければ、
割込みは受入れられず、フロック389からの低いか等
しい分岐が行われ、ファームウェアは、ブロック382
Fに入り続いてブロック384において主メモリーから
現行ソフトウェア命令の再抽出を行うことにより現行ソ
フトウェア命令の実行を再開する。もしこのソフトウェ
ア命令の優先順位が現在実行中のソフトウェア・プログ
ラムより高い場合にはソフトウェア割込みは受入れられ
、ブロック389からブロック390‘こ入り、このブ
ロックは現行ソフトウェア・プログラムの状態を保管す
る割込み保管城をセットアップし、そしてこのソフトウ
ェア割込みと関連するソフトウェア割込み取扱い手順に
分岐する。ブロック391において1組のソフトウェア
命令であるソフトウェア割込み取扱い手順がこの時実行
されて、それに含まれるソフトウェア命令の各々がCP
Uファームウェアによって処理される。ソフトウェア割
込み取扱い手順ソフトウェアにおける最後の命令がレベ
ル変更(LEV)ソフトウェア命令391Lであり、こ
の命令が実行を待機中の最高優先順位のソフトウェア・
プログラムに対するCPUファームウェア走査をもたら
す。 このレベル変更ソフトウェア命令391Lはしベル変更
命令ファームウェア・マイクロプログラム392により
実行され、これはブロック393において現在実行を待
機中の最高優先順位のソフトウェア・プログラムを決定
する。もし更に高い優先順位のソフトウェア・プログラ
ム394が実行を待機中であれば、このソフトウェア・
プログラムがCPUファームウェア制御下で実行され、
そして又LEVソフトウェア命令394Lによって終了
される。ソフトウェア命令394LのレベルはLEV命
令ファームウェア・マイクロプログラム392の実行を
もたらし、再び最高優先順位のソフトウェア・プログラ
ム・レベルに対するテストがブロック393で行われる
。もしこのブロック393におけるレベル・テストによ
り前に中止された現行ソフトウェア・プログラム380
が実行を待機中の最高優先順位のプログラムであること
を決定するならば、現行ソフトウェア命令ファームウェ
ア382日こ入り、現行ソフトウェア命令382Sが抽
出ファームウェア384により再抽出され、現行ソフト
ウェア命令のCPUファームウェア実行が続行する。要
約すれば、CPUファームウェアは、あるソフトウェア
命令の実行中にソフトウェア割込みの未完状況をテスト
し、ある特定のソフトウェア割込みを取扱うよう専用化
された特定のソフトウェア割込みファームウェア・マイ
クロプログラムにベクトル化され、このソフトウェア割
込みファームウェアは現行ソフトウェア・プ。 グラムの優先順位に対するそのソフトウェア割込みの優
先順位についてテストし、もしこの優先順位が現行ソフ
トウェア・プログラムの優先順位より低い又はこれに等
しい場合には、現行ソフトウェア・プログラムは割込み
されずCPUファームウェアによる現行ソフトウェア命
令の処理が再開されることが判る。一方、もしソフトウ
ェア割込みが現在実行中のソフトウェア・プログラムよ
り高い優先順位であるならば、割込み保管城に現行ソフ
トウェア・プログラムの状態を保管しかつそれ自体1組
のソフトウェア命令であるソフトウェア割込み取扱い手
順の実行を開始することによりそのソフトウェア割込み
はサービスされる。このソフトウェア割込み取扱い手順
は次にレベル変更ソフトウェア命令によって終了し、こ
のレベル・ソフトウェア命令は早晩割込みされた現行ソ
フトウェア命令の再活動化をもたらし、現行ソフトウェ
ア命令の実行が壬〆モリーからその現行ソフトウェア命
令を再抽出することにより再開される。○bハii ハ
ードウェア割込み 現行ソフトウェア命令の実行中に未完のソフトウェア割
込みがなければ、ブロック385が実行ファームウェア
・ブロック386に出る。 この実行ファームウェア・ブロック386は現行ソフト
ウェア命令の実行を完了するため必要なファームウェア
・ステップを実施する。ブロック386における実行フ
ァームウェアの実施の過程においてはハードウェア割込
みが生じ得る。ソフトウェア割込みの場合はCPUファ
ームウェアが検出して未完のソフトウェア割込のときに
特定のソフトウェア割込みファームウェア・ルーチンに
分岐してその特定の未完ソフトウェア割込みを取扱うの
であるが、これとは異なってハードウェア(HW)割込
みの場合は、CPUファームウェアによって検出されず
、その代りハードウェア割込みロジックがCPUファー
ムウェアを強制してハードウェア割込みと関連する一連
のマイクロ命令の実行を開始させることによりハードウ
ェア割込みが生ずる。第34図においては、4つのハー
ドウェア割込みファームウェア・マイクロプログラム3
95−1乃至395一4が示される。これ等のハードウ
ェア割込みファームウェア・マイクロプログラム395
ーー乃至395−4はCPUファームウェア・マイクロ
命令からなり、これ等はハードウェア割込みを生じた特
定の割込み条件を取扱うよう構成されている。これ等の
4つのハードウェア割込みマイクロプログラムの内、2
つは非トラツプ・ハードウェア割込み条件に対するもの
であり395−1および395一2として示される。非
トラップ条件ハードウェア割込みファームウェア・ルー
チン395−2についてみれば、マイクロプログラムの
最後のマイクロ命令395一2Rはハードウェア割込み
復帰マイクロ操作を含み、これはハードウェア割込みの
発生の直前に実行されたものに後続するフア−ムウェア
・マイクロ命令へのファームウェア復帰制御をもたらす
。例えば、ハードウェア割込みをもたらし得るある条件
はシステムリゞス上のDMAデータ転送要求の発生であ
る。この場合、CPUファームウェアによる現行ソフト
ウェア命令の実行が中止され、DMAデータ転送がCP
Uファームウェア・ルーチンによって取扱われ、その完
了にDMAハードウェア割込みの発生時点の現行ソフト
ウェア命令の実行がピックアップされる。再び第34図
に示す2つのトラツプ条件ハードウェア割込みファーム
ウエア・マイクロプログラム、即ちブロック395−3
および395−4については、トラツプ条件と関連する
ハードウェア割込みの発生により395−4の如き関連
するハードウェア割込みファームウェア.マイクロプロ
グラムに入る。このトラップ条件ハードウェア割込みフ
ァームウェア・マイクロプログラムは、このトラップの
処理を完了するトラツプフアームウェア・マイクロプロ
グラムへ出る前にハードウェア割込みのある予備的処理
を行う。例えば、ブロック395−4はトラツプ・ファ
ームウェアに行く(ブロック396−2)。トラツプ条
件ハードウェア割込みファームウェア・マイクロプログ
ラム395−3および395−4は割込みの時点の実行
ファームウェア386へは戻らないため、現行ソフトウ
ェア命令の実行はハードウェア割込みにより検出される
トラップ条件の場合には打切られる。一方、非トラッフ
。条件ハードウェア割込みは現行ソフトウェア命令の実
行の延期をもたらすのみであるが、これはこれ等の割込
みが割込みの時点の実行ファームウェア386に戻るた
めである。ハードウェア割込みにより検出されるトラッ
プ条件の一例は主メモリー・パリティ・エラーで、これ
はハードウエア割込みの発生をもたらす。パリティ・エ
ラーの場合、CPUファームウェアはハードウェア割込
み発生時点の現行ソフトウェア命令の処理に戻る代り‘
こ、396一2の如きトラップ・フアームウエア・マイ
クロプログラムへ出てパリティ・エフーの処理を続行す
る。その結果現行ソフトウェア命令の実行の打切りをも
たらす。第34図において示される如く、ベクトル化さ
れたハードウェア割込みは、実行ファームウェア・ブロ
ック386の間のみ、従ってハードウェア割込みが付勢
される(即ち、禁止されない)時間にのみ生じ得るので
ある。更に第34図に示される如く、ハードウェア割込
みの処理中、ハードウェア割込みファームウエア・マイ
クロプログラムは自ら、ハードウエア割込みファームウ
ェア・マイクロプログラムがそれ自体別のハードウェア
割込みにより割込みされないようにハードウェア割込み
を禁止する(即ち、ソフトウェア割込みは入れ子状にで
きるが、ハードウェア割込みは入れ子にならない)。G
bハiii トラツプ再び実行ファームウェアのブロッ
ク386に関して、現行ソフトウェア命令の実行中、フ
ァームウェア自体がトラツプ条件に関し1つ以上のテス
トを行うことが判る。 例えば、ブロック387はトラツブ条件の存在に対する
CPUファームウェア・テストを示し、もしトラップ条
件が検出されると、この実行ファームウェアはトラップ
フア−ムウェア・ブロック396−3に分岐してトラッ
プ条件を処理する。その後現行ソフトウェア命令の実行
中、1つ以上の他のトラッブ・テストがファームウェア
によって行うことができる。もう1つのトラツプ・テス
トがブロック388として示されるが、もしトラツプ条
件が検出されると、このテストはトラツプ・フアームウ
エア・マイクロプログラム396−1に出る。次にトラ
ツプフアームウエア・マイクロプログラム396−3に
ついて述べれば、トラップ・ファームウェア・マイクロ
プログラムの機能は、トラッフ。保管城をセットアップ
することであり、この保管機にCPUフアームウェアが
トラツプ・ハンドラ手順の処理を開始する前に現行ソフ
トウェア・プログラムの状態を保管する。トラツプ・ハ
ンドラ手順はトラップ条件を処理するよう書かれた1組
のソフトウェア命令である。このトラツプ・ハンドラ手
順397はブロック387により検出され更にブロック
396−3によって処理される特定のトラップ条件と関
連している。CPUファームウェアによって検出される
各トラツプ条件に対する別個のトラツプ・ハンドラ手順
がある。このトラツプ・ハンドラ手順397は次に他の
ソフトウェア・プログラムと同様にPUファームウェア
によって実行され、「トラップからの復帰(RTT)ソ
フトウェア命令397R」によって終了される。このト
ラッブからの復帰ソフトウェア命令397RはRTT命
令ファームウェア398によって実行され、このフアー
ムウエアはトラツプ396一3によりトラップ保管城に
保管されたソフトウェア文脈を復元して戻り次のソフト
ウェア命令ファームウェア・ブロック383Fに入るこ
とにより次のソフトウェア命令の処理を開始する。代わ
りとして、RTT命令ファームウェア398はブロック
39・9に示す如き別のソフトウェア・プログラムの実
行の開始をもたらし得る。RTT命令ファームウェア・
ブロック398からの出口は、トラツプ条件の処理中ト
ラツプ・ハンドラ手順397により変更され得るトラッ
プ保管城の内容によって決定される。トラップにより取
扱われる条件の一例としては、科学計算用ソフトウェア
命令操作(浮動小数点)のブロック387における実行
ファームウェアによる検出があり、これはトラツプ・フ
ァームウェア・ブロック396一3に入る結果となる。
ブロック396−3においては、トラップ保管域がセッ
トアップされ、ブロック397に入る。トラツプ・ハン
ドラ手順397は、これ等の任意の科学計算用ソフトウ
ェア命令の結果をシミュレートする1組のソフトウェア
命令であって、指示された操作を行う。トラップ・ソフ
トウェア命令397Rからの戻りの実行によりRTT命
令ファームウェア398を実行させ、これが更に次のソ
フトウェア命令ファームウェア383Fの実行をもたら
すことによって次のソフトウェア命令383Sを実行す
る。本例において、あるトラップの発生が現行ソフトウ
ェア命令の実行の打切りおよびトラツプ・ハンドラ手順
ソフトウェア・ルーチンによる現行ソフトウェア命令の
完了が生じ、これに続いて次のソフトウェア命令の実行
が生じることが判る。Gbニ 割込みおよびトラツプ 要約すれば、ソフトウェア割込みおよびトラツブは、ソ
フトウェア命令の実行中CPUファームウェアが種々の
条件に対する系統立ったファームウェア・テストを行う
ことによって生じることが判る。 このソフトウェア割込みは、更に現行ソフトウェア命令
の実行の再開を生じ、これは主メモリーから割込みされ
た現行ソフトウェア命令の再抽出で始まる。一方、トラ
ップは現行ソフトウェア命令の実行の打切りを生じ、特
定のトラップ条件を取扱うよう書かれたトラップ・ハン
ドラ手順ソフトウェアに依存して、次のソフトウェア命
令の実行を生じたり生じなかったりする。ハードウェア
割込み条件は、CPUファームウェアによるテストを必
要としない。ハードウェア割込みの発生は、現行のソフ
トウェア命令の処理の中止が生じ、これにCPUファー
ムウエアによるハードウェア割込みのサービスが後続す
る。もしハードウェア割込みが非トラツブ条件に対する
ものであれば、ハードウェア割込みファームウェア・マ
イクロプログラムが割込みの時点の現行ソフトウェア命
令の処理に戻る。もしハードウェア割込みがトラツプ条
件と関連していれば、トラップ・ファームウェア・ルー
チンに入り、現行ソフトウェア・プログラムの処理への
復帰がこのトラップ条件と関連する特定のトラップ・ハ
ンドラ手順ソフトウェア・プログラムによって決定され
る。もしこのトラツプ・ハンドラ手順が現行ソフトウェ
ア・プログラムへ制御を戻すならば、次のソフトウェア
命令が処理されるよう制御が戻されるのが通常である。
H CPUファームウェア・ワードの説明CPUファー
ムウェア・ワード全体については、第35図に示す。 このマイクロ命令ワードは4つの主なフィールドに区分
され、この主フィールドは種々の副フィールドに再分割
されている。CPUフアームウエア・ワードのスクラツ
チ/ぐッド・メモリー制御フィールド‘ま第35A図に
示される。ビット0乃至7は、スクラツチパッド・メモ
リ一(SPM、第8図の素子236)とマイクロプロセ
ッサ・レジスタ・ファイル(第8図の素子268)の相
万を制御するのに使用される。 前記副フィールドは第35A図に示される。ビット0は
スクラッチパッド・メモリーの動作を決定する。2進数
1にセットされるとデータが書込まれ、2進教養にリセ
ットされるとデータを読出すことができる。 ビット1,5,6および7はスクラツチパッド・メモリ
ーの作業ロケーションのアドレス則ち第10図のロケー
ション00乃至OFであり、これに関してデータが書込
まれあるし、は読出される。ビット2,3および4はマ
イクロプロセサRAM内のレジスタをアドレス指定する
(第8図のレジスタ・ファイル268)。CPUファー
ムウェア・ワードの演算論理ユニット(ALU)の制御
フィールドは第35B図に示される。 ビット8乃至19はALU(第8図の素子266)の制
御のために使用される。 副フィールドは第35B図に示す。ビット8および9は
シフト・タイプの制御を行い、ビット10,11および
12は処理されるデータのソースを決定する。 ビット13,14,15はマイクロプロセサALUによ
りそのデータについて実施される機能を決定する。ビッ
ト19は演算のためキャリー注入が必要とされるときセ
ットされる。更にこのキャリ−入力を用いて第36図に
従ってソースおよび機能の組合せを変更するために使用
される。ビット16,17,18は第36図に従って、
ALU‘こより行われる機能から生じるデータが送られ
る行先を示す。 ビット8および9は、AL山こ対するシフト・タイプの
制御を行うことの外、ビット23が2進数1で主メモリ
ーの操作が行われることを示す時、主メモリーの詠出し
/書込み制御としても作用する。 CPUファームウェア・ワードの副指令および制御フィ
ールドを第35C図に示す。 ビット20乃至35は副指令および制御フィールドを成
す。 副フィールドは第35C図に示される。ビット20およ
び21はデータ・セレクタ・マルチプレクサ(第9図の
269)における入力ポートを制御し、これによりAL
Uに対して送られるデータのソースを決定する。 ビット23はメモリー制御ビットであり、2進数1にセ
ットされると、システムバス B上に メ モリーG○
(MEMGO)信号を生じて主メモリーの読出しサイク
ル、書込みサイクル又はリフレッシュ・サイクルを開始
する。行われるべきメモリー操作はマイクロ命令のビッ
ト8および9によって決定される。ビット24乃至31
の機能は、副指令復号フィールドとして使用されるビッ
ト32乃至34における状態により決定される。ビット
36はハードウヱア割込みを制御し、2進数1にセット
されるとハードウェア割込みを可能にし、2進数零にリ
セットされるとハードウェア割込みを禁止する。 第37A図は、副指令復号ビット32乃至34が2進数
110と等しい時に復号できる種々の割込み指令をリス
トしたものである。ファームウェア・ビット32〜34
が割込み指令を表示する時、ビット24乃至27が無視
される。第37B図乃至第37E図は、副指令復号ビッ
ト32乃至34が2進数101と等しい時復号できる他
の指令をリストしたものである。副指令復号ビット32
〜34が2進数101と等しい時、もしビット24〜2
7が3(1鏡隼)と等しければ第37B図にリストされ
た制御パネル指令が実施され、これは第37C図に示す
如く制御パネル・ストローブを生じる(ビット24〜2
6=001、ビット27=注意不要)。副指令復号ビッ
ト32〜34が101(2進数)と等しくビット24〜
27が0011(2進数)と等しくなければ、第37C
図乃至第37E図にリストされた1/0指令の符号化さ
れた組合せが行われる。これ等1/0指令は3、2およ
び3ビットの組に区分され、これ等の指令の粗の各々か
らの1つの指令を同時に実行することを許可する。第3
7C図乃至第37E図にリストごれた種々の1/0指令
の使用については第20図乃至第23図に示され、これ
ら図はCPUファームウェアの制御下でシステム・バス
上に生じる種々のシ−ケンスを示している。副指令復号
フィールドのビット32が零である時、副指令フィール
ド全体が2つの副指令フィールドと解釈され、副指令フ
ィールド1(第37F図)はファームウェア・ワードの
ビット24乃至27により指定され、副指令フィールド
2は(第37G図)はCPUファームウエア・ワードの
ビット28乃至31によの旨定される。 更に、ビット32が零の時、ビット33と34は第35
C図に示す如く主メモリー制御を提供する。CPUファ
ームウェア・ワードの講出し専用ストア(ROS)のア
ドレス指定フィールドは第35D図に示す。 ビット36乃至47はROSアドレス指定フィールドを
構成する。副フィールドは第35D図に示される。R0
6アドレス指定フィールドは、ROS(第9図の素子2
38)のアクセスに使用される次の引き続くファームウ
ェア・アドレスを決定する。ビット36および37は、
第35D図にリストされる如きビット38と47間の粗
において見出されるアドレスのタイプを決定する。無条
件分岐が表示される時(ビット36および37における
2進数00)、ファームウェアはビット38乃至47に
含まれるアドレスに分岐する。テスト分岐が表示される
時(ビット36と37における2進数01)、ビット3
8乃至41およびビット47が使用されて2通りの分岐
を示す。分岐多重テストが表示される時(ビット36と
37における2進数10)、ビット40〜43が使用さ
れて16通りのテスト分岐を表示する。ビット36およ
び37が共にセットされると、ビット38乃至47に含
まれるアドレスが無視され、ハードウェア割込み後フロ
ーが戻るファームウェア・アドレスはハードウェア割込
み戻りアドレス・レジスタ(第9図の252)から得ら
れる。舷 スクラッチパッド・メモリーの制御CPUフ
アームウエア・ワードのスクラツチ/fッド・メモリー
制御フィールド‘ま第35A図に示す。 ビット0,1および5〜7はスクラツチ・パッド・メモ
リー(SPM、第8図の素子236)の制御のため使用
される。ビット川まスクラッチパツド・メモリーの動作
を決定する。2進数1にセットされるとデータが書込ま
れ、2進数零にリセットされるとデータが読出される。 ビット1および5乃至7は、データの書込み読出しが行
われるスクラッチパツド・メモリーの作業ロケーション
則ち第10図のロケーション00乃至OFのアドレス指
定に使用されるアドレスを形成する。ビット2および3
は、マイクロプロセサのランダム・アクセス・メモリー
(RMA、第8図のレジス夕・ファイル268)をアド
レス指定するため使用される4ビット・アドレスの3つ
の下位ビットの選択を制御する。ビット2および3の種
々の組合せは、マイクロプロセサのRAMアドレスの下
位のビットを機能【F}レジスタ(第8図の274)の
副フイールドFRO,FR2,FR3から、あるいはフ
ァームウェア・ワード自体のビット5乃至7から選択さ
れることを許可する。マイクロプロセサのRAMアドレ
スの上位ビット(ビット0)は常にファームウェア・ワ
ードのビット4によって決定される。Fレジスタの種々
の副フィールドからのマイクロプロセサのRAMアドレ
ス指定ビットの選択を制御するCPUファームウェア・
ワードのビット2および3の能力は、Fレジスタに含ま
れるソフトウェア命令の迅速な復号を可能にする上で重
要である。ソフトウェア命令内では、Fレジスタにおけ
る墓』フィールドFROは通常1つのレジスタ番号を保
有し、副フィールドFR2とFR3はソフトウェア命令
のアドレス・シラブルを構成する。Hb 演算ロジック
・ユニットの制御 CPUファームウェア・ワードのALU制御フィールド
は第35B図に示される。 ビット8乃至19はマイクロプロセサ(第8図の素子2
32)の制御のため使用される。副フィールドは第35
8図に示される。前述の如く、第8図の16ビットのマ
イクロプロセサ232は、米国カルフオルニア州サニー
ベィルのAdvancedMicroDevices社
製のタイプAm2901の4つの4ビット・スライス形
マイクロプロセサのカスケード接続からなる。このマイ
クロプロセサ制御フィールドのあるものは直接カスケー
ド接続されたビット・スライス形マイクロプロセサによ
り使用され、他のもの(シフト・タイプ制御およびキャ
リー注入)は最上位ビット・マイクロプロセサおよび最
下位ビットマイクロプロセサにより生成された終端条件
の制御のために使用される。ファームウエア・ワードの
ビット8および9は、カスケード接続されたマイクロプ
ロセサの最上位および最下位ビットへあるいはこれらか
らシフトされるビットを制御することによりシフト・タ
イプの制御を行う。ビット10乃至12はマイクロプロ
セサのALUのソースを決定し、4ビットのスライス形
マイクロプロセサの各々の直接制御に使用される。これ
等のビットの正確な定義は、前記のAdvancedM
icro戊vices社により出版され本文に参考のた
め引用された文献「マイクoプログラムされた16ビッ
ト・コンピュータ」に見出されよう。ビット13乃至1
5はマイクロプロセサALUの機能を制御し、又4ビッ
トのスライス形マイクロプロセサの各々により直接使用
される。ビット16乃至18はマイクロプロセサの行先
を制御し、これも又各4ビット・スライス形マイクロプ
ロセサによって直接使用される。ビット19はキャリー
注入入力を制御し、4蓮のビット・スライス形マイクロ
プロセサの最下位のものにより直接使用される。マイク
ロプロセサのALUソースの副フィールドはALU入力
のソースを制御し、マイクロプロセサのレジスタ・ファ
イルの1次脚出力、その複写職出力、マイクロプロセサ
の内部作業レジス夕(Q)の出力、又はスクラツチパツ
ド・メモリーからのデータ皿入力、を選択することがで
きる。マイクロプロセサのALU機能副フィールドは、
演算ロジック・ユニットにより実施される操作(例、算
術的加算、論理的AND、等)を決定する。マイクロプ
ロセサの行先副フィールドは、ALU‘こより実施され
る機能から生じるデータが送られる行先を決定する。1
6ビットのマイクロプロセサによって行われる諸操作は
、マイクロプロセサALUソース副フィールド、マイク
ロプロセサALU機能副フィールドおよびキャリー注入
副フィールドの関数であり、これは第36図に示す。 シフト・タイプ制御の提供に加えて、ファームウェアの
ビット8および9は又主メモリーの読出し/書込み制御
を行う。ファームウェア・ビット23が2進数1である
時、ビット8および9は、1ワード、バイト0又はバイ
ト1のいずれが主メモリーに書込まれるか、あるいは1
ワードが主メモリーから読出されるかを制御する。Hc
副指令および制御 CPUファームウェア・ワードの副指令および制御フィ
ールドは第35C図に示される。 ビット20乃至35は副指令および制御フィールドを構
成する。ビット20および21は4−1マルチプレクサ
である第8図のデータ・セレクタ269を制御し、その
出力はマイクロプロセサのデータ入力ボートに直接接続
され、これによりマイクロプロセサALUに送られるデ
ータのソースを決定する。ALU入力は、スクラツチパ
ツド・メモリー236の出力を含むSPMデータ・レジ
スタ、標準(1)レジスタ270およびMIレジスタ2
72、マイクロ命令ビット8,9および24乃至31を
用いることにより生成された定数、又は内部バス260
からのデータ(全て第8図に示す)、から選択できる。
ビット22はスクラツチパツド・メモリー・アドレス選
択制御であり、マイクロ命令ビット1および5乃至7を
用いてのスクラツチパッド・メモリーの作業ロケーショ
ン(第10図のロケーション00乃至OF)のアドレス
指定か又は第8図のチャネル番号レジスタ296から得
たチャネル番号を用いてプログラム・チャネル表(ロケ
ーション80乃至FF)のアドレス指定かのいずれかを
マイクロ命令に許可する。ビット23は主メモリーGO
制御ビットであり、セットされるときシステム・バスB
上のPMEMGO−信号をローにさせてメモリー読出し
/書込みサイクルを開始する。ビット24乃至31は副
指令フィールドであり、その意味は副指令復号副フィー
ルドを形成するビット32乃至34によって解釈される
。 副指令復号副フィールド(ビット32乃至34)におけ
る値に従って、副指令フィールド(ビット24乃至31
)は、8ビット定数、割込み指令、制御パネル指令、1
/0指令、機能(F)レジスタ制御、又は副指令のいず
れかである。これ等の種々の副指令フィールドの意味は
第37A図乃至第37G図に示される。ビット35はハ
ードウェア割込み制御フィールドであり、CPUマイク
ロプロセサ書込みファームウエアがマイクロプログラム
・フアームウエァ・ステム間のハードウェア割込みの発
生を禁止又は付勢することを許可する。 ビット35が2進数零である時、ハードウェア割込みは
禁止され、マイクロプ。グラムは現行マイクロ命令に続
いて割込され得ない。ビット36が2進数1の時はハー
ドウェア割込みが付勢され、もしハードウェア割込みが
現在未完則ち継続中であれば、マイクロプログラムは現
行マイクロ命令の実行完了時点で割込みされる。第37
A図は割込み指令のリストであり、これはビット28乃
至31から復号できる(ビット24乃至27は無視され
る)。 第378図は、ビット24乃至27が0011(2進数
)に等しい時ビット28乃至31から復号される制御パ
ネル指令のリストである。第37C図乃至第37E図に
リストされた1/0指令の符号化された組合せは2進数
で示される。これ等は3、2および3ビットの組に区分
され、これ等の組の1/0指令が同時に実行されること
を可能にする。ビット32が2進数1であり、ビット3
3と34が2進数零である時、副指令フィールドは機能
レジスタ制御指令と解釈される。ビット32が2進数零
の時は、副指令フィールド全体が2つの副指令と解釈さ
れ、副指令1(第37F図参照)はファームウェア・ワ
ードのビット24乃至27により指定され、副指令2(
第37G図参照)はCPUファームウェア・ワードのビ
ット28乃至31により指定される。Hd 読出し専用
記憶アドレス指定 CPUファームウェア・ワードの読出し専用ストア(R
OS)のアドレス指定は第35D図に示される。 ビット36乃至47はROSアドレス指定フィールドを
成す。副フィールドは第35D図に示される。ROSア
ドレス指定フィールドはROS(第9図の素子238)
から次のファームウェア・ワードをアクセスするために
使用される次の引き続くファームウェア・アドレスを決
定する。ビット36および37はビット38乃至47間
のビットの組に見出される分岐アドレスのタイプを決定
する。ビット36と37が00(2進数)の時、ファー
ムウェアは、ROSから次のファームウェア・ワードを
検索するため10ビットのアドレスを使用することによ
りビット38乃至47内に含まれアドレスに分岐する。
2通りテスト分岐が表示される時(ビット36および3
7における2進数01)、ビット38乃至41およびビ
ット47が使用されテストを選択しそして最下位のRO
Sアドレス・ビット(ビット9)を生成する。 次のROSアドレスの4つの最上位ビット(ビット0乃
至3)は現行ROSアドレスの4つの最上位ビットから
得られ、ファームウェア・ワードのビット42乃至46
はROSアドレス・ビット4乃至8として直接使用され
る。これ等の2通り分岐はファームウェアによって使用
されて制御フロツプ1乃至4CFI〜CF4および機能
レジスタの各ビットの状態の如き種々の条件をテストす
る。多重テスト分岐が表示される時(ビット36および
37における2進数10)、ビット38,39,44乃
至47は次のROSアドレスにおいて直接使用され、ビ
ット40乃至43は16の異なる多重テスト分岐の1つ
を表示するため使用される。 多重テスト分岐はファームウェア・プログラマにより使
用されるソフトウェア命令の復号を助け、ソフトウェア
割込みに応答する。ビット36と37が共にビットされ
る時(2進数11)はファームウェア・ワードのビット
38乃至47は使用されず、次のROSアドレスは、C
PUフア−ムウエアがハードウェア割込みによって中断
された時の次のROSアドレスを有するハードウェア割
込み戻りアドレス・レジスタ(第9図の素子252)か
ら得られる。 ハードウェア割込み戻り分岐はハードウェア割込みファ
ームウェア・マイクロプログラム(第34図のブロック
395一2)の終りにファームウェア・プログラムによ
って使用され、それによってファームウェアがハードウ
ェア割込みにより中断された時点に制御を戻す。1 1
/0コントローフ・ロジックの詳細中央プロセサ、1/
0コントローラおよびシステム・バスにおける種々の対
話の動作についてこれ迄説明したが、次に1/0コント
ローフ・ロジックについて詳細に説明する。 第38図は、本発明の諸原理に基いて構成された1/0
コントローラのロジック・ブロック図である。 第38図によれば、1/0コントローラの主要セクショ
ンには、タイミング・ロジック400と、DMA/DM
C要求ロジック402と、割込み要求ロジック404と
、要求リセット・ロジック406と、デバイス・ロジッ
ク407が含まれることが判る。タイミング・ロジック
40川ま、1/0コントローラ全体に使用される基本的
な1/0同期信号(信号PTIME3十20およびDM
YTM3十)を提供する。 更に、タイミング・ロジック400Gま、前の1/0コ
ントローラ(又は、もし1/0コントローラがシステム
・バスAとBのいずれかにおける最初の1ノ○コントロ
ーラであれば、CPU)からバス・サイクル・アウト信
号を得て、信号を次の1/0コントローラに送る前に5
00ナノ砂間遅延させる。 更に、タイミング・ロジック40川ま、コントローラを
初期化してIOCの品質論理テスト(QLT)ファーム
ウェアを開始するために使用されるIOC初期化信号P
CLEAR+20の生成に使用される。 DMA/DMC要求ロジック402は、もしIOCがO
MA又はDMCデータ転送サイクルを要求しかつDMA
又はDMC要求回線が既にそのシステム・バス上の別の
DMA又はDMC I/○コントローラによりセットさ
れていない場合、IOCの時間スロットの間システム・
バスのDMA又はDMC要求回線PDMARX−又はP
DMCRX一を2進数零にセットするために使用される
。 特定の1/0コントローラはDMA又はDMCIOCの
いずれかである。DMA IOCに対してはDMA要求
回線PDMARX一を、又DMCIOCに対してはDM
C要求回線PDMCRX−を使用する。割込み要求ロジ
ック404は、もしIOCがCPUのソフトウェアの実
行に割込みを行うことを欲しかっこの特定のシステム・
バスにおける別のIOCが既に割込み要求回線をセット
していない場合、こののCの時間スロットの間バス割込
み要求回線PINTRX−を2進数零にセットするため
使用される。 1/0コントローラに接続された周辺デバイスの1つに
おける状態変化が感知される時、あるいは特定の1/0
指令が例えば読出し又は書込み指令は続く範囲の満了時
に完了する時は常に、IOCは割込みシーケンスを開始
する。 要求リセツト・ロジック406は、システム・バスの回
線RDDT29十乃至舷DDT31十において符号化さ
れたCPU応答に応答して1/0コントローラのDMA
要求フロツプ又はDMC要求フロップ又は割込み要求フ
ロップをリセツトするために使用される。 以下に説明するように、あるIOCはDMA要求又はD
MC要求のいずれかと割込み要求の相方を同時に未完則
ち継続中の状態で有し得る。このことは、多数の周辺デ
バイスを取付けられたIOCもこついては特に真であり
、その結果1つの周辺デバイスが読出し又は書込み操作
を完了してそれにより1つの割込みを要求することが可
能であり、そして第2のデバイスが読出し又は書込み操
作の実行中にあってこの周辺デバイスに関して議出し又
は書込みされるデータの次のワード又はバイトを要求す
ることが可能である。ね1/0コントローラ・デバイス
・ロジック更に第38図に関してデバイス・ロジック4
07の動作について論述する。 デバイス・ロジック407は、指令ロジック409と、
タスクおよび構成ロジック429と、割込みロジック4
17と、状態およびデバイスIDロジック437と、デ
ータ転送ロジック421と、アドレスおよび範囲ロジッ
ク445からなる。アドレスおよび範囲ロジック445
はDMA1/0コントローラにおいてのみ存在すること
が判る。ねィ 指令。 ジツク指令ロジック409は、IOCにアドレス指定さ
れた1/0制御指令および機能コードを復号する。 指令ロジック409は、IOCが1/0指令を受入れる
ことができそして回線PROCED−を2進数零にセッ
トするか、1/0が使用中であり回線PBUSY−を2
進数零にセットするか、あるいはIOCが一時的に使用
中であり両回線PROCED−とFBUSY一を2進数
零にセットしそれによって、CPUに待機して1/0指
令を再試行するように通知するかどうか、を決定する。
指令ロジック409は、1/0コントローラにより行わ
れる動作のタイプを決定し、指令サイクルを生成し、そ
してもしこの1/0指令が受入れられればシステム・バ
スのアドレスノデータ回線と1/0コントローラあるい
は周辺デバイスとの間の経路を付勢する。この指令ロジ
ックは又システム・バスとIOCとの間に対話リンクを
維持する。機能コード・デコーダ415は、1/0指令
制御ワ−ド(第24図参照)の機能コードを復号する。
システムが1/0コントローラのチャネル番号を含むよ
うに組込まれる時、チャネル番号スイッチ411がセッ
トされる。チャネル番号コンパレータ413は、チャネ
ル番号スイッチ411にセットされたチャネル番号をシ
ステム・アドレス/データ回線BUSXOO十乃至BU
SX08十上に現われるチャネル番号と比較し、もしこ
れ等チャネル番号が等しければ信号DMYCMD+を2
進数1にセットする。信号DMYCMD+は要求リセッ
ト・ロジック406への入力である。更に、チャネル番
号スイッチ411に含まれるチャネル番号は、DMCデ
ータ転送要求中又は1/0割込み要求シーケンス(第1
7図参照)の間、システム・バスのアドレス/データ回
線を介してCPUに対して転送され得る。チャネル番号
スイッチ411におけるIOCのチャネル番号と一致し
たチャネル番号を有する1/○指令のみがIOCによっ
て受入れられる。 以下において明らかになるように、1/0指令の復号の
あるものは要求リセット・ロジック406内のデコーダ
によって行われる。指令サイクルは、任意のタイプの入
力指令又は出力指令の実行中にIOCが実施するシーケ
ンスである(第20図参照)。入力指令においては、I
OCは、記憶された制御情報、状態又はデバイス情報を
読出し、次にこれ等をシステム・バスに送出する。出力
指令においては、IOCが制御情報をシステム・バスか
らデバイス・ロジック記憶に送出する。laロ タスク
および構成ロジック 指令サイクルの間、タスク・ワード、構成ワードA又は
構成ワードBの読出し又は書込みを指定する機能コード
を指令ロジック409が復号した後タスクおよび構成ロ
ジック429が付勢される。 タスク・ワード‘こおける個々のビットの意味はデバイ
ス固有である。このタスク・ワードは、構成ワード指令
を介して出力される比較的静的な情報と比し、瀕繁に出
力されねばならないような機能に対し意図したものであ
る。構成ワードAおよびBにおける個々のビットの意味
はデバイス固有のものである。構成ワードはあまり瀕繋
に出力されないような機能に対し意図されたものである
。構成ワードBは、構成ワードAに符号化され得る以上
の情報が要求される時に使用される。1/0コントロー
ラは常にタスク・ワードAレジスタ431を含むが、構
成ワードAレジスタ433と構成ワ−ドBレジスタ43
5の存在は特定の周辺デバイスに対し要求される情報量
に依存する。 ある周辺デバイスは構成ワードを全く必要としないが、
他の周辺デバイスは構成ワードAのみを、又他の周辺デ
バイスは構成ワードAとBを必要とする。laハ 割込
みロジック 指示サイクルの間、復号された機能コードが割込み制御
ワード・レジスタ419に含まれる割込みレベルの読出
し又は書込みを指定した後に割込みロジック417が付
勢される。 この割込みロジックは又、下記の条件のいずれかが存在
する時に割込み要求を生成するため使用される。即ち、
割込みレベルが零に等しくなくかつ前の周辺デバイスの
動作が完了した時、又は停止1/0指令が完了した時で
ある。これ等条件の一方が存在する時に割込みサイクル
が開始され、IOCは割込み要求ロジック404に対す
る入力である信号D山NOK十を2進数1にセットする
ことにより割込み要求をCPUに対して送出する。 信号D山NOK十2進数1へのセットの結果、システム
・バス上の信号PINTRX−が2進数零にセットされ
ことになる。CPUが割込み要求に肯定応答する時、I
OCはCPUに送るため割込みレベルとチャネル番号を
システム・バスのアドレス/データ回線にロードする。
次に、CPUはその割込みレベルを検査する。もし割込
みレベルをCPUが回線PROCED−を2進数零にセ
ットして肯定応答するならば、割込み操作が完了する。
もし割込みレベルをCPUが回線PBUSY−を2進数
零にセットして肯定応答しないならば、1/0コントロ
ーラは割込みロジック417にこの割込み要求をスタツ
クしそしてCPUが再開割込み(RESUM)1/0指
令を送出するのを待機する。CPUが再開割込み1/0
指令を送出する時、IOCが割込み要求を再び開始する
。laニ 状態およびデバイス識別ロジック状態および
デバイス識別(ID)ロジック437はIOCにより付
勢されて状態ワードおよびデバイスIDコードを記憶す
る。 状態ワードー,439および状態ワード2,441‘ま
周辺デバイスおよび主メモリー条件を保有する。状態ワ
ード‘こおける個々のビットの意味はIOC固有である
。状態ワード2は、状態ヮ−ド1に符号化され得る以上
の状態情報を有する如き1/0コントローラにのみ存在
する。デバイスIDコードはデバイスIDワード443
に保有されてIOCに接続される周辺デバイスのタイプ
を表示する。指令ロジックが入力状態ワード1又は2指
令を復号する時、状態ワードー又は2がシステム・バス
のアドレス/データ回線を介してCPUに転送される。
入力デバイスm指令が指令ロジックにより復号される時
、デバイスmコードはシステム・バスのアドレス/デー
タ回線BUSXOO十乃至BUSX1 5十を介してC
PUに転送される。主メモリー・ェフー(パリティ又は
不在アドレス)信号MEMPER−(システム・バスB
上)およびPMMPAR一(システム・バスA上)が状
態およびデバイスIDロジック437により入力され、
後でCP川こ対して通知するため状態ワード1,439
内の適当なビットをセットするのに使用される。laホ
データ転送ロジック データ転送が開始された後、指令ロジック409は周辺
デバイスとの間でデータを転送するためデータ転送ロジ
ック421を付勢する。 IOCはCPUにデータ転送要求を行うが、これは信号
DERSWT−およびDMCINC−を用いてDMA/
DMC要求ロジック402に信号PDMARX−(DM
AIOCに対する)又は信号PDMCRX−(DMCI
OCに対する)を2進数零にセットさせることにより行
う。もしIOCがDMCIOCであれば、DMC要求が
1/0コントローラからCPUに送られる(第21A図
乃至第21D図)。 CPUはこの要求に肯定応答し、そしてIOCのチャネ
ル番号はCPUに対して与えるためシステム・バスのア
ドレス/データ回線に対しロードされる。チャネル番号
の送出後DMCデータ転送サイクルが開始され、データ
の1バイトがCPU‘こよりIOCに対するシステム・
バス(出力のため)に転送され、あるいはIOCにより
CPUに対するシステム・バス(入力のため)に転送さ
れる。もし出力であれば、システム・バスのアドレス/
データ回線からデータの1バイトが取出されてこれが周
辺デバイスに送出される前にデータ・アウト・レジスタ
423に記憶される。もし入力であれば、周辺デバイス
からデータの1バイトが取出されてシステム・バスのア
ドレス/データ回線を介してCPUに送出される前にデ
ータ・ィン・レジスタ425に保持される。いずれの場
合も、DMC I/○コントローラに対しては、データ
・バイト位置合せロジック427は存在しない。DMC
IOCに対しては、データがDMCIOCから主メモリ
ーへ又は主メモリーからDMCIOCへ転送される時デ
ータ・バイト位置合せはCPUによって行われるのであ
る。laヘ アドレスおよび範囲ロジック アドレスおよび範囲ロジック445はDMAIOCにの
み見出される。 DMCIOCにおいては、このアドレスおよび範囲ロジ
ック445により実施される機能はプログラム・チャネ
ル表を用いてCPUによって行われる。アドレス・レジ
スタ・カウン夕447は、10LDソフトウェア命令の
出力アドレス機能の間、CPUにより出力される17ビ
ットを保有する。アドレス・レジスタ・カウンタ447
は、データの各ワード(又はバイト)が主メモリーとD
MAIOCとの間で転送される毎に増分される。範囲レ
ジスタ・カウンタ449は転送されるデータの範囲(バ
イトの数)を保持するために使用される。範囲カウンタ
は、最初10LDソフトウェア命令の出力範囲機能によ
ってセットされる。データの各ワード(又はバイト)が
DMAIOCと主メモリーとの間で転送される時、範囲
レジスタ・カウンタ449が滅分される。アドレス・レ
ジスタ・カウンタ447の内容は、入力アドレス指令又
は入力モジュール1/0指令によりCPUに転送される
ことができる。範囲レジスタ・カウンタ449の内容は
入力範囲1/0指令によりCPUに入力され得る。DM
AIOCがDMA要求に応答してCPUから肯定応答を
受取る時、コントローラはデータ転送のためCPUにリ
ンクされ、DMAサイクルが開始する(第22図参照)
。 CPUの肯定応答の受取りと同時に、アドレスおよび範
囲ロジック445は書込みバイト0および書込みバィト
ーの回線PWRTBO+とPWRTBI+を活動化する
。 これ等2回線は王〆モリーに対し実施すべき読出し/書
込み操作のタイプを表示する。アドレスおよび範囲ロジ
ック445は主メモリー・アドレスをシステム・バスの
アドレスノデータ回線BUSXoo+乃至BUSX15
十にロードし、そしてCPUは「付勢にPU行きバス回
線PENBSX−」を活動化してこれを得る。もし不在
の主メモリーのアドレス・エラーが生じると、CPUは
PENBSX−の間主メモリー・エラー回線MEMPE
R−およびPMMmAR−を活動化してDMAIOCに
通知する。入力操作(主メモリーに対する書込み)の実
行中、信号PEN斑X−は2進数零の状態を維持して、
データ・イン・レジスタ425からのデータ・ワードを
システム・バスを介して主メモリーへ転送する。出力操
作(主メモリーからの議出し)の実行中、信号PENB
SX−が2進数1となる。システム・バスのRDDT回
線におけるリンク終り指令の受取り時に、DMAIOC
はデータ・ィン・レジスタ425の内容をシステム・バ
スのアドレス/データ回線にロードし(入力のため)、
あるいはシステム・バスのアドレスノデータ回線をデー
タ・アウト・レジスタ423にアンロードする(出力の
ため)。もし主メモリーのパリティ・エラーが生じると
、CPUはリンク終り指令の間信号M旧MPER−/P
MMPAR一を活動化することによりDMAIOCに通
知する。DMAサイクルは終了され、データ転送シーケ
ンスは完了する。データ転送ロジック421におけるデ
ータ・バイト位置合せロジック427はDMAIOCの
ためにだけ存在することに留意されたい。 DMA出力操作の間、データ・バイト位置合せロジック
427はアドレスおよび範囲ロジック445と関連して
動作し、適正なバイトを主メモリー(データ・アウト・
レジスタ423に含まれる)から受取るデータのワード
から適当なバイトを抜出し、そしてこのデータのバイト
又はワードを周辺デバイスへ転送する。1ワードのデー
タは常に主メモリーから読出されることが判る。 DMA入力操作の間は、周辺デバイスから受取ったデー
タのワード(又はバイト)を位置合せしてこれをデータ
・ィン・レジスタ425内の適正位置におくことがデー
タ・バイト位置合せロジック427の機能であり、その
結果主メモリーへの転送のためアドレス/データ回線上
に適正に位置合せされる。更に、データの一方は他方の
バイト又はその両方を主メモリーに書込むことができる
ことが判る。2つのバイトの内のどれが、又は両方が主
メモリーに書込まれるかは、DMAデータ転送の間アド
レスおよび範囲ロジック445によってセットされる信
号PWRTBO+およびPWRTBI十によって制御さ
れる。 lb1/0コントローラ・タイミング・ロジック前述の
如く、システム・バス上の各IOCは、500ナノ秒の
バス・サイクル・スロットが割当てられ、この間システ
ム・バス要求を行うことができる。 バス上の各IOCは、システム・バスからの信号PTI
MF3一およびBCYCIN−を使用することにより何
時が前述IOCのバス・サイクル・スロットであるかを
決定する。1次時間3(PTIM旧3一)信号はシステ
ム・バス上の各IOCに配分され、第13図に示す如く
、バス・サイクルの100ナノ秒間2進教養の状態に、
システム・バス・サィクルの400ナノ秒間2進数1の
状態になる。 第13図は又、このバス・サイクル・イン(BCYC川
−)信号は、1つの1次時間3パルスの後緑から次の1
次時間3パルスの後緑迄500ナノ秒の期間2進数1で
あることを示す。 特定のIOCのシステム。バスのサイクル・イン信号E
CYC川一が前のIOC(即ち、システム・バス上のC
PUに更に近い隣接IOC)のシステム・バス・サイク
ル・アウト信号BCYCOT−であることが判る。次の
第39図を参照してタイミング・ロジック400の動作
について詳細に説明する。 マィ・タイム3フロツプ408およびサイクル・イン・
フロツプ410が最初にセットされる(即ち、2進数1
はそのQ出力側に生じる。)マイ・タイム3フロップは
、現行IOCの1次時間3の期間中にのみリセットされ
る。サイクル・イン・フロツプ41川ま現行IOCのサ
イクル・イン時間中にのみリセットされる。IOCにつ
いての用語「現行↓「前の」、「次の」はシステム・バ
ス上の各IOCの相対的な物理的位置を言及することが
判る。このように、第1図においては、もし現行のIO
Cが1/0コントローラ208であれば、前のIOCは
1/0コントローラ206、次のIOCは1/0コント
ローラ210である。前の10Cはシステム・バス上の
中央プロセサにより近い隣接IOCである。次のIOC
はこのCPUからより遠い隣接IOCである。次に第3
9図によれば、システム・バスの1次時間3信号PTI
ME3一が2進数1から2進数零の状態に遷移する度に
、ANDゲート412の出力(信号PTIME3十20
)は2進数零から2進数1の状態に遷移してマィ・タイ
ム3フロップ408をクロックすることが判る。始めに
、バス・サイクル・イン時間信号BCYCm−が2進数
1であって前のIOCのサイクル・ィン時間でないこと
を表わすならば、フロツプ408がセットされる。マイ
・タイム3フロツプ408がセットされるかセット状態
を維持すれば、そのQ出力(信号DMYTM3一)は2
進数1となり、これをサイクル・イン・フロツプ410
にクロツクするのは1次時間3の終りに2進数零から2
進数1の状態に遷移する信号PTIME3一30である
。 信号PTIME3一30は、ANDゲート412の出力
を反転するィンバータ414の出力である。1次時間3
システム・バス信号PTIME3一に対するクロツキン
グ信号PTIM伍3十20およびPTIM旧3−30の
関係は第40図を参照すれば判る。 第40図は、PTME3一信号が2進数1である時、P
TIME3十20が2進数零、PTIME3一3川ま2
進数1であることを示す。各論理素子と関連する第5乃
至10ナノ秒の遅延については本文での論議の目的にお
いては無視するものとする。次に第39図および第40
図においては、時間A則ち最初の1次時間3の期間の始
めにおいて、2進数零から2進数1への信号PTIME
3十20の遷移がそのデータ‘D}入力側の信号BCY
CIN−をその出力側(QおよびQ)にゲートすること
によりフロツプ408をセットする。 もしフロツプ408がこの時間Aの前にセットされてい
たならば、その状態は時間Aでも変化しない。時間B則
ち最初の1次時間3の期間の終りにおいては、システム
・バス上の信号BCYCIN一は2進数1から2進数零
へ遷移して前のIOCのシステム・バス・サイクル・ィ
ン時間の開始を表示する。時間C則ち第2の1次時間3
の期間の始めにおいては、信号PTIM旧3十20は再
びフロツプ408のD入力をその出力側にゲートし、こ
の時バス上の信号BCYCIN−が2進数零であるため
、フロツプ408がリセットされ、そのQ出力則ち信号
DMYTM3−が2進数零となる。時間D即ち第2の1
次時間3の期間の終りでかつ現行IOCのシステム・バ
ス・サイクル・イン時間の始めにおいては、サイクル・
イン・フロツプ41川こ対するクロツク信号PTIME
3−30は2進数零から2進数1に遷移してそのD入力
をそのQ出力側にゲートする。時間Dにおいてはフロッ
プ410のD入力(信号DMYTM3−)は2進数零で
あり、従ってフロップ4 10はリセットされて現行I
OCのシステム・バス・サイクル・ィン時間の始めを表
示する。サイクル・ィン・フロップ410のリセット動
作は2進数零になる信号BCYCOT−をそのQ出力側
に生じ、これはマイ・タイム3フロツプ408のセット
(S)入力側に入力される時、フロツプ408がセット
されてそのQ出力側に2進数1の信号DMYTM3−を
生じる。時間E則ち第3の1次時間3の期間の終り‘こ
、フロップ4101こ対するクロツク信号PTIME3
一30が再び2進数零から2進数1の状態に遷移し、こ
れによりそのD入力側の2進数1信号をそのQ出力側に
クロックすることによってフロツプ410をセットし、
信号BCYCOT−を2進数1にさせる。信号BCYC
OT−の2進数零から2進数1の状態へのこの遷移によ
り現行IOCのシステム・バス・サイクル・ィン期間が
完了し、次のIOCがそのサイクル・イン時間を開始す
るのを許可する。再び第39図によれば、サイクル・ィ
ン・フロップ41 0がバス上の2進数零の信号PCL
EAR−の発生により最初にセットされることが判る。 信号PCLEAR一はシステム初期化の間中央プロセサ
によってセットされてシステム・バス上の全ての周辺装
置をクリアする。信号PCLEAR−が2進数零である
時、ANDゲート416の出力は、ANDゲート41
8の出力である信号PCEAR十20と同様に2進数1
である。ィンバ−夕420はANDゲート418の出力
を反転する。ANDゲート418の出力が2進数1の時
、ィンバータ420はサイクル・イン・フロツプ410
のセット(S)入力側に2進数零を生じ、これによりそ
のQ出力を2進数1に初期化する。信号PCLEAR−
がサイクル・イン・フロツプ4 1 0をセットする能
力は、マスター・クリア操作の間システムにより使用さ
れてマスター・クリア時に進行中の入出力操作を打切る
。 再び第40図によれば、マィ・タイム3フロップ408
のQ出力(信号DMYTM3一)が現行IOCの1次時
間3の期間(時間C乃至D)の間だけリセツトされるこ
と、およびサイクル・イン・フロツプ41 0のQ出力
(信号8CYCOT−)は500ナノ秒の現行IOCの
システム・バス・サイクル・ィン時間(時間D乃至E)
の間だけリセットされる。 lc l/○コントローラ要求ロジック 次に第39図に関して、DMC要求ロジック402−1
の動作を詳細に論述する。 簡単化のため、第38図のDMA/DMC要求ロジック
402は第39図ではDMC要求ロジック402−1と
して示してあり、第39図の以下の論述においては1/
0コントローラがDMCIOCであり従ってデータ転送
要求ロジックが信号PDMCRX−の使用によりDMC
要求を行うことを前提とする。もしIOCがアドレスお
よび範囲ロジック(第38図の445)を含むDMAタ
イプであったならば、データ転送要求ロジックは信号P
DMARX−の使用によりDMA要求を行うことになる
。最初に、需要DMCフロップ424がリセットされ、
これによってIOCがデータの1バイトをこのIOCに
接続された周辺デバイスに対しあるいはこれから転送す
るためDMCサイクルを現在必要としていないことを表
示する。 その後、デバイス・ロジック407(第38図)がデー
タの1バイトが主メモリーから読出されるかあるいはこ
れに書込まれることを必要とすることを決定する時、フ
ロツプ424のD入力側の信号OMCmC一は2進数1
となる。更にその後、クロック信号OERSWT−を2
進数零から2進数1の状態へ遷移することによりデバイ
ス・ロジック407がフロツプ424のデータ入力信号
をその出力側にクロックする時、需要DMCフロップ4
24はセットされてそのQ出力(信号DRQAOK+)
を2進数1にさせる。一たんこの需要DMCフロツプ4
24がセットされると、もし同一のシステム・バス上の
別のIOCが既にDMCサイクルを要求中でなければ、
IOCはその次のシステム・バス・サイクル・ィン時間
中DMCバス・サイクルを要求する。このように、もし
同じシステム・バス上の別のIOCがDMCサイクルを
要求中でなければ、このシステム・バス上のDMC要求
信号PDMCRX−(IOCの内部に対しては信号DD
MCRX−として表わされる)は2進数1となって、D
MCサイクルがこのシステム・バス上のIOCにより要
求中ではないことを表示する。NAND426に対する
3つの入力の内の2つが2進数1であるとき、即ちDM
C要求フロップがセットされずかつ需要DMCフロツプ
がセットされる時、第3の入力側に2進数1の信号DM
YTM3十が発生することにより、その出力則ち信号D
MYDMC−を2進数零にさせ、これによりDMC要求
フロツプ428をセットする。第40図に示す如く、信
号DMYTM3−は、現行IOCシステム・バス・サイ
クル・ィン時間に対する1次時間3の始めである時間C
において2進数零となり(従って、信号DMYTM3一
は2進数1となる)、システム・バスのDMC要求回線
の信号PDMCRX−を2進数零の状態にさせる。次に
第39図によれば、DMC要求フロップ428のセット
の結果そのQ出力則ち信号DMDMCF+が2進数1と
なり、このため更にNANDゲート430の出力を2進
数零にさせることによりシステム・バスの回線PDMC
RX−上にDMCサイクルを要求する。 一たんDMCサイクル要求回線が2進数零にセットされ
ると、第39図によれば、このシステム・バス上の他の
DMCIOCは、DMC要求回線が現行IOCによりリ
セットされる迄はそれ自身のためにDMCサイクルの要
求をできないことが判る。尚、これらシステム・バス上
の各DMCIOCは第39図に示したものと同様なDM
C要求ロジックを有することが判る。現行IOCのDM
C要求フロップ428は2つの事象のいずれかの発生に
よってリセットされ得る。 マスター・クリア操作の結果システム・バスクリア信号
PCLEAR−が2進数零となり、その結果ANDゲー
ト418の出力PCLEAR+20が2進数1となり、
これがNORゲート422への1入力である。信号PC
LEAR+20が2進数1となると、NORゲート42
2の出力郎ち信号DMCCLR−が2進数零となり、こ
れが更に需要DMCフロツプ424とDMC要求フロッ
プ428をリセットする。クリア信号を介するフロップ
424と428のこのリセット動作は、記憶されたが未
だ処理されない需要DMC要求のクリア動作と、及びも
しシステム・バスのDMC要求回線が現在DMC要求フ
ロップ428によりセットされているならばこのDMC
要求回線のリセット動作と、を生じる結果となる。フロ
ップ424と428がリセットされ得る第2の方法は、
バス回線RODT29+乃至RDDT31十上で符号化
された回答DMC指令に応答するものであり、この指令
の結果DMCリンク・フロップ454のセット動作を生
じる。 DMCリンク・フロツプ454がセットされると、その
出力である信号DDMCCY+は2進数1となり、これ
がDMC要求フロップ428のD入力側の2進数零をそ
の出力側にクロツクし、これによりDhIC要求フロツ
プ428をリセットする。この結果NORゲート422
の出力も又2進数零となり、これが更に需要のMCフロ
ップ424のリセットを生じる。このように、以下の説
明で明らかになるように、CPUが要求側IOCに対し
システム・バス上の回答DMC指令で応答する時、要求
側IOCのDMC要求フロップ428はその需要DMC
フロップ424と同様にリセットされる。DMC要求フ
ロップ428のリセツトの結果、IOCが取付けられた
特定のシステム・バス上のDMC要求回線(信号PDM
CRX−)が2進数1となり、これにより別のIOC又
はこのリセットするIOCがそのDMC要求フロツプを
セットすることによってその特定のシステム・バス上に
DMC要求を行うことを許可する。もしあるシステム・
バス上の2つ以上のIOCが需要DMCフロップをセッ
トさせるならば、このシステム・バス上のそのサイクル
・ィン時間を与えられる第1のIOCは、そのDMC要
求フロップをセットすることによりDMC要求を行うこ
とを許可されるIOCである。例えば、第13図におい
て、第3のIOCがDMC転送要求を与えられておりか
つ第3のIOCのDMC転送要求の処理中第4と第2の
IOCがその各々の需要DMCフロップをセットしかつ
第3のIOCのDMC要求フロップが第1のIOCのシ
ステム・バス・サイクル・ィン時間中IJセットされる
場合、第2のIOCがそれ自身のシステム・バス・サイ
クル・イン時間中そのDMC要求フロップをセットする
ことを許可される。第4のIOCはそのシステム・バス
・サイクル・ィン時間のより後の時間迄待機しなければ
ならす、このより後のシステム・バス・サイクル・ィン
時間において第4のIOCはそのシステム・バス上のD
MC要求回線が既に同一のシステム・バス上の別のIO
Cによってセットされていないことを見出した後にそれ
自身のDMC要求フロップをセットしてDMCデータ転
送サイクルを要求できる。ld l/○コントローラ割
込み要求ロジック再び第39図に関して、割込み要求ロ
ジック404の作用について説明する。 割込み要求ロジック404はDMC要求ロジック402
−1の場合と類似した方法で動作する。即ち、需要割込
みフロッブ434および割込み要求フロツプ438が最
初にリセットされて、その各Q出力側に2進数零を生じ
る。1/0コントローラが割込みが必要であることを決
定する時、需要フロップ434のクロック信号DAIN
OK+は2進数零から2進数1の状態に遷移してそのデ
ータ入力側の2進数1をそのQ出力側にクロツクし、こ
れによりこのフロッブをセットし信号DBINOK+を
2進数1にさせる。 その後、特定のIOCのサイクル・ィン時間中、2進数
1になるクロツク信号DMYTM3十の発生によりNA
NDゲート436を付勢し、もしその第3の入力即ち信
号DINTRX−が2進数1ならばその出力を2進数零
にさせる。もし特定のシステム・バス上の割込み要求回
線の信号PmTRX−が2進数1であってこれがこのシ
ステム・バス上での他のIOCが既にその割込みフロツ
プをセットしたものがないことを表示する場合、信号D
INTRX−は2進数1となる。 もしNANDゲート436に対する3入力が全て2進数
1であれば、その出力である信号DMYINT一は2進
数零となり、これにより割込み要求フ。ツプ438をセ
ットし、そのQ出力である信号DMINTF十を2進数
1にさせる。割込み要求フロツプ438のセットにより
NANDゲート440の出力である信号DINTRX−
が2進数零にさせられる。この信号DINTRX−はシ
ステム・バス上の割込み要求信号PINTRX−と同じ
ものである。割込み要求フロップ438のセットにより
、同じシステム・バス上の別のIOCは、現在要求中の
IOCの割込み要求フロツプがリセットされる迄割込み
要求を行うことを阻止される。以下で明らかになるよう
に、CPUがシステム・バスの回線RDDT29+乃至
RDDT3 1 十における回答割込み指令(ASIN
T)で応答する時、割込みリンク・フロツプ450がセ
ットされてそのQ出力である信号DINTCY+を2進
数1にさせる。2進数1になる信号DINTCY+は割
込み要求フロップ438をリセットするが、これはその
データ出力側の2進教養をその出力側にクロツクするこ
とにより行い、その結果システム・バスの割込み要求回
線(信号PINTRX−)をリセットする。 CPUからの回答割込み指令に応答して2進数1になる
信号DINTCY十も又NORゲート432の出力(信
号DINSTS−)を2進教義にさせることにより需要
割込みフロップ434をリセットする。 代わりとして、DMC要求ロジック402−1に関して
論述した如く、CPUからのマスター・クリアの発生は
信号PCLEAR+20を2進数1にさせ、これにより
NORゲート432の出力を2進数零にさせ、これが更
に需要フロップ434と割込み要求フロップ438をリ
セットすることにより現在進行中のどの割込み要求も打
切る。このシステム・バスの割込み要求回線PINTR
Xのセット動作およびリセット動作も、システム・バス
の1/0割込みシーケンスを示す第23図に示されてい
る。 le l/○コントローラ要求リセット・ロジック再び
第39図に関して、IOC要求リセット・ロジック40
6の動作について詳細に論述する。 指令デコーダ442は、ファームウェア制御下でCPU
により生成されてそしてシステム・バスRDDT29+
乃至RODT31十上に2進符号化されるシステム・バ
ス指令を復号するのに使用される。指令デコーダ442
は、前記のTexas1nstmmenね社により製造
され前記の「設計技術者のためのTTLデータ・ブック
」第2版なる文献に記載されたタイプ番号SN74SI
38の3一8回線デコーダである。一緒にANDされて
指令デコーダを付勢する3つの付勢(EN)入力の内、
唯1つが可変でありそしてこの1つはシステム・バスの
回線PIOCTX−に接続され、それによってこの回線
上に2進数零が生じる時デコーダ442が付勢されて3
つの2進入力11,12,14を復号しそして8つの出
力QO〜Q7の1つに2進数零を生じる。この3つの指
令回線の2進符号化については8つのシステム・バス指
令を説明する第18図に示される。例えば、もし2進数
011がシステム・バスの回線RDDT29+乃至RD
DT31十上に符号化されるならば、2進数零が指令デ
コーダ442のQ3出力側に生じて信号DASDMC−
を2進数零にする。このように、指令ストローフ信号P
IOCTX−が2進数零になる時、指令デコーダ442
の8つの出力の内の1つが2進数零となり、他の7つの
出力は2進数1の状態を維持する。指令ストローブ信号
PIOCTX−が2進零になる前、即ち付勢信号が2進
数1である時、指令デコーダ442の全ての出力は2進
数1である。指令ストローブ信号PIOCTX−の生成
は、前述しかつ第35C図および第37D図に示したよ
うにCPUファームウェア・ワード・ビット32乃至3
4によって制御される。第37D図によれば、CPUフ
アームウエア・ワードのビット27および28はシステ
ム・バス・ストローブ指令回線のどちらが又は相万が付
勢されるかどうかを制御することが判る。即ち、CPU
フアームウエアのマイクロプロセサはその制御下で、ど
のシステム・バスが指令ストローブを受取るかを示すビ
ット27と28の使用により、かつ選択されたシステム
・バスヘストローブされるビット29乃至31(第37
E図参照)の指令の使用により、システム・バスA又は
システム・バスBのいずれか、又は両方のシステム・バ
スA,Bを有する。従って、もしシステム・バスAにお
いてDMC要求が行われつ)ありかつシステム・バスB
において別のDMC要求が行われつ)ある場合、CPU
ファームウェアはシステム・バス回線RDDT29+乃
至RDDT31十上に回答DMC指令で応答するようマ
イクロプログラムされ得る。一方又は他方のシステム・
バス又はその両方に対するシステム・バス・バス指令ス
トローブを制御する能力は、回線RDDT29+乃至R
DDT31十上のこのシステム・バス指令が同時に両方
のシステム・バスに同轍通信されるという点で重要であ
り、2つの可能な要求IOCの内の一方のみが回答され
るように2つのバスの内の一方のみにこのバス指令スト
ローブ信号PIOCTX−がゲートされる。第21図に
示す如く、指令ストローブ信号PIOCTX−は1次時
間0の終りで2進数1から2進数零の状態に遷移し、こ
れにより指令デコーダ442の8つの出力の内の1つを
付勢する。次に第39図によれば、ANDゲート452
の入力の1つは指令デコーダ442からの信号DAS−
DMC−であることが判る。 ANDゲート452に対する他の入力はDMC要求フロ
ップ428からのQ出力である信号DMDMCF−であ
る。このように、もし回答DMC指令がシステム・バス
回線RDDT29+乃至RDDT31十上で符号化され
かつ指令ストローブ回線PIOCTX−が同じシステム
・バスにおいて2進教養であるならば、信号DASDM
C−は2進数零で部分的にANDゲート452を付勢す
ることが判る。もしIOCのDMC要求フロップ428
がセットされれば、ANDゲート452に対する下側の
入力が付勢され(2進数隻)、こうしてANDゲート4
52を完全に付勢してその出力側に2進数1(信号DD
MCCS+)を生じる。○タイプのフロップ454のデ
ータm}入力側に2進数1が現われると、2進数零から
2進数1の状態に遷移するクロック信号DMYLKC+
の発生によりDMCリンク・フロツプ454をセットし
、信号DDMCCY+は2進数1となる。前述のことか
ら判るように、信号DDMCCY+の2進数零から2進
数1の状態への遷移は、DMC要求フロッブ428のク
ロック動作とそのリセット動作を生じ、このリセット動
作はシステム・バス上のDMC要求回線PDMCRX−
を2進数1にする。これも又前に述べたが、信号DDM
CCY+が2進数1になる時は需要DMCフロツプ42
4も又リセツトされる。 次に、指令リンク・フロツプ446、割込みリンク・フ
ロツプ4 5 0、DMCリンク・フロツプ454、お
よびIOCリンク・フロツプ468をクロックするクロ
ック信号DMYLKC十の生成について説明する。 前述の如く、ANDゲート452の出力が2進数1とな
るのは、ANDゲート452に対する両入力が2進数零
となって、これが、IOCがシステム・バス回線RDD
T29+乃至RODT31十からの回答DMC指令を受
取り中であること、および特定の1/0コントローラの
DMC要求フロップ428がセットされていることを表
示する場合である。もしこれ等条件が満たされれば、O
Rゲート458に対する入力の1つは2進数1となり、
これによりその出力(信号DMYLKS十)を2進数1
にする。リセット要求フロップ460のデータ入力側の
2進数1は、クロック信号PTIME3十20が2進数
零から2進数1の状態に遷移する時1次時間3時におい
て出力側にクロツクされる。リセット要求フロップ46
0のセットの結果として、出力(信号DMYLKC+)
が2進教養から2進数1の状態に遷移し、そしてフロツ
プ446,450,454および468のクロック動作
を生じる。 いかなる時点においても、3つのフロツプ446,45
0,454の内の1つのみがセットされる。これ等3つ
のフロップの1つのセットは、システム・バス回線上に
符号化された指令に依存し、かつ関連する要求フロップ
(即ち、CPU指令フロツプ470、割込み要求フロツ
プ438、又はDMC要求フロップ428)のどれがセ
ットされているかに依存する。以上の説明から、AND
ゲート452が2重の目的を備えることが判る。 第1目的は、システム・バスに符号化された1/0指令
が回答DMC指令である場合、かつそのIOCのDMC
要求フロツプがセットされている場合、DMCリンク・
フロップ454のデータ入力側に2進数1を与えること
である。もしこのIOCのDMC要求フロップがセット
されていなければ、DMCリンク・フロップ454のセ
ット動作はアンセット(既にリセットされた)DMC要
求フロツプ428をリセツトするためには要求されない
。ANDゲート452の第2目的はORゲート458に
よりORされる3つの信号の内の1つを発生することで
あり、このORゲート458の出力がリセット要求フロ
ッoフ。460のセット動作に使用される。 更に、フロツプ460の出力はフロツプ446,450
,454をクロツクするために使用される。このように
、1/0コントローラのDMC要求フロップ428がセ
ットされかつ回答DMC指令が受取られる場合か、ある
いは1/0コントローラの割込み要求フロップ438が
セットされかつ回答割込み指令が受取られる場合か、あ
るいはCPU指令フロップ470がセットされかつ回答
指令がシステム・バスの指令回線RDDT29+乃至R
DDT31十上で受取られる場合、にのみこのクロック
信号DMYLKC十が生成されるのである。これ等の後
者の2条件はANDゲート444およびANDケー−ト
448によって確立され、その出力はそれぞれ指令リン
ク・フロップ446および割込みリンクフロップ450
のデ−タ入力側に接続されている。従って、指令リンク
・フロップ446は、CPU指令フロツプ470がセッ
トされかつ回答指令がシステム・バスから受取られる場
合、セットされることになる。これに対応して、割込み
要求フロップ438がセットされかつ回答割込み指令が
システム・バス上で受取られる場合、割込みリンク・フ
ロツプ450がセットされる。割込みリンク・フロップ
450のセット動作は2進数1となる信号DINTCY
+を生じ、これが更に前述の如く割込み要求フロップ4
38と需要割込みフロップ434のリセットを生じる結
果となる。CPU指令フロップ470がセットされた結
果、信号DMCMDF−が2進数零となり、この信号は
更に、1/0コントローラによりCPU}こ対して送ら
れる進行中又は使用中の信号を生じる際10Cにより使
用されて、IOCがCPUからの指令対話で進行する条
件にあるかどうかを表示する。CPU指令フロツプ47
川ま、システム・バスの回線BUSXOO+乃至BUS
XO9十上の目的のIOCのチャネル番号と共にシステ
ム・バス回線RDDT29十及至RDDT31十上のC
PU指令の受取りに応答して、IOCによりセットされ
る。 IOCシーケソスに対するCPU指令は、第20図に示
されている。CPU指令がRDDTシステム・バス回線
上に符号化される間、IOCがバス・デ−タ回線BUS
XOO+乃至BUSXO9十上のチャネル番号を特定の
IOCのチャネル番号を表示するようプリセットされた
IOCにおける手動セット可能スイッチのチャネル番号
と比較する。もしこのシステム・バス上のチャネル番号
がIOCのそれと等しければ、CPU指令フロップ47
0はクロツク入力側で2進数零から2進数1に遷移する
信号DMYCMD一によってセットされ、データ入力側
に2進数1をクロツクする。 フロップ470のセット動作はQ出力信号DMCMDF
−を2進数零にさせてANDゲート444を部分的に付
勢し、このゲートはRDDTシステム・バス回線上に符
号化された回答指令の発生時に完全に符勢される。CP
U指令フロップ47川ま信号DCMDR3一によりリセ
ットされるが、これはシステム・バス上のマスター・ク
リア(NORゲート472を介する信号PCLEAR十
20)が発生する時に、又は指令リンク・フロップ44
6がセットされている場合に1次時間3時においてRD
DTシステム・バス回線上でリンクの終り指令(EOF
LK)が発生する(即ち、CPU指令システム・バス・
シーケンスを終了するりンク終り信号の発生の間、AN
Dゲート474の出力が2進数1となる)時に生ずる。
信号PTIM旧3十4 0は1次時間3信号PTIME
3−30を反転するィンバータ476により生じ、又信
号DEOFLK+はリンク終り信号DEOFLK−を反
転するィンバータ478により生じることに注意。更に
第39図についての説明によれば、IOCリンク・フロ
ップ468がリセット要求フロップ460の出力により
クロツクされ、この出力は又フロツプ446,450,
454をクロツクすることが判る。 IOCリンク・フロツプ468のデータ入力側に2進数
1があれば、IOCリンク・フロツプ468はリンク・
フロツプ446,450および454の1つがセットさ
れる時常にセットされる。IOCリンク・フロツブ46
8がセットされると、そのQ出力則ち2進数零である信
号DMYLNK一は部分的にANDゲート456を付勢
する。 ANDゲート456の他の入力は信号DEOFLK−で
あって、これはリンク終り指令がシステム・バスのRD
DT回線上に符号化される時2進数零となる。このよう
に、ANDゲート456の出力、即ち信号DMYEND
十は、システム・バス上にリンク終り指令が生じ、かつ
3つのりンク・フロツプ446,450,454の内の
1つがセットされてこれによりシステム・バス上のりン
ク指令がこのIOCに指向されていることを保証する時
、常に2進数1となる。信号DMYEND−が2進数1
であれば、ORゲート462の出力則ち信号DMEOL
K十は2進数1となる。リンク終了レジスタ464のD
I入力側の2進数1は、リンク終り指令がシステム・バ
ス上にあるバス・サイクルの1次時間3の期間において
、そのQI出力側にクロックされてそこに保持される。
次のシステム・バス・サイクルの1次時間3の間、IJ
ンク終了レジスタ464のQI出力側およびD2入力側
で2進数1である信号DELKDI十は、そのQ2出力
側にクロックされてこ)で保持され、信号DELKD2
十は2進数1となる。DELKD2十が2進数1であれ
ば、ィンバータ466の出力である信号DELKD2一
は2進数零となり、これによりIOCリンク・フロップ
468および他のりンク・フロツプ446,450,4
54をリセットし、そしてIOCがCPUにリンクされ
た現行リンク・シーケンスを終了する。リンク・フロツ
プ446,450,454および468をリセットする
りンク終りシーケンスに加え、システム・バス上のマス
ター・クリアも又ORゲート462に対してPCLEA
R+20を与えることによりこれ等フロップをクリアし
、これが更に2つの1次時間3の期間後これ等のフロッ
プのリセット動作を生じることになる。リンク終了レジ
スタ464の目的は、1システム・バス・サイクル時間
だけリンク・フロツプのリセット動作を遅延させること
である。 ィンバータ466の後のその出力艮0ち信号DELKD
2一は、1つの1次時間3の始めから次の1次時間2の
終り迄の完全な1システム・バス・サイクル時間だけ2
進数零の状態に止まり、それよってリンク・フロツプ4
46,450,454,468がそれ等のりセット入力
側の信号DELKD2−が2進数1となる迄セットされ
得ないようにする。従つて、リンク・フロツブ446,
450,454および468は、リンク終り指令がシス
テム・バスのRDDT回線上に符号化されたシステム・
バス・サイクルに続いて2つのシステム・バス・サイク
ルが経過する迄はセットされ得ない。このことは実施に
おいて制約とはならないが、その理由はシステム・バス
RDDT回線上のCPUバス指令がCPUファームウェ
アにより生成されて、前の指令のリンク終りの処理と、
回答指令か回答割込みか回答DMAか又は回線DMCバ
ス指令かによる未完のバス要求の回答と、の間でCPU
が1つ以上のファームウエア・ステップ(即ち、システ
ム・バス・サイクル)を実施しなければならないためで
ある。前述の如く、リンク・フロップ・クロック信号D
MYLKC十はリセット要求フロツプ460をセットす
ることにより生成される。信号DMYLKC十が2進数
1の状態に遷移することを要求するその後のクロック信
号を生じるために、フリツプ460がリセットされねば
ならない。フロツプ460のデータ入力である信号DM
YLKS+が2進数零であることを保証することにより
、後続するバス・サイクルの次の1次時間3の間フロツ
プ460がリセットされる。これは、システム・バスの
RDDT回線上に符号化されるバス指令が回答指令、回
答割込み、又は回答DMC指令でなく、このためORゲ
ート458の出力が2進数零であることを保証する場合
である。これは、CPUファームウエア・マイクロプロ
グラムがシステム・バス上に回答指令を生成する2つの
連続するマイクロ命令を符号化しないことを保証するこ
と、によって達成される。これはバス・シーケンス対話
に照して実施上制約とはならない。lf DMAIOC
要求およびリセット・ロジックシステム内に与えられる
1/0コントローラはDMAコントローラ又はDMCコ
ントローラのいずれかである。要求ロジック、要求リセ
ット・ロジックおよびリンク・ロジックに関する前の論
述はDMC I/○コントローラに基くものであったが
、このロジックは等しくDMA I/○コント。ーラの
場合にも適用できるものである。即ち、第39図におい
ては、需要フロップ424、要求フロップ428おより
ンク・フロツプ454は等しくDMAフロップであり得
るが、この場合指令デコーダ442からの回答DMA信
号DASDMA−はANDゲート452を介してリンク
・フロツプ454をセットするため使用されることにな
ろう。J I/○コントローラ・システム・バス要求お
よびリンク・ロジックの要約第39図に示したロジック
の動作についてこ)で簡単にまとめてみよう。 タイミング・ロジック400‘ま、特定のIOC内で使
用されるタイミング信号の生成、およびサイクル・イン
・タイミング信号BCYC川のバス上の前のIOCから
の送出、およびこれを信号BCYCOTとしてシステム
・バス上の次のIOCに送る前に500ナノ秒間遅延さ
せること、に主として関する。更に、このタイミング・
ロジック400は、各システム・バス・サイクルの間2
進数1である1次時間3信号PTIM旧3十20と、特
定のIOCのシステム・バス・サイクル・ィン時間の1
次時間3期間だけ2進数1である信号DMYTM3十を
生成する。DMA要求ロジック(図示せず)、DMA/
DMC要求。ジツク402(第38図)および割込み要
求ロジック404は、それぞれCPUにDMA、DMC
又は割込み要求を要求するため使用される。IOCの要
求フロツブ、例えばDMC要求フロツプ428のセット
動作はシステムにおける特定のIOCのサイクル・イン
時間のみ許可され、これにより前記システム・バスA又
はB上で特定の1つのタイプの要求を2つ以上のIOC
が試みる可能性を除去するものである。システム・バス
AにおけるDMA、DMCおよび割込み要求回線がシス
テム・バスB上のものと別個のものであるため、システ
ム・バスA上の1つのIOCは,例えば、システム・バ
スB上の1つのIOCがDMC要求を行し、つ)ある同
じ瞬間にDMC要求を行うことができる。これは各IO
Cがそのサイクル・ィン時間を現在有しているためであ
る。更に、特定のあるシステム・バス上にあるIOCは
、同時に割込み要求とDMC要求(又はDMA要求)を
行うことができる。その理由は、所与の時刻に所与のI
OC内の2つ以上の要求ロジックのセットを妨げるもの
が要求ロジック内には何もないためである。異なる要求
タイプ(即ち、DMA、DMC、又は割込み)間の優先
順位が、システム・バスAとB間の同じタイプの競合す
る要求と同様に、CPUによって分別されることも判る
。要求ロジックのこれ以後の説明により示されることは
、特定のサイクル・ィン時間中に第1のIOCがそのD
MC要求フロツプ428をリセツトし、かつ同じシステ
ム・バス上の第2のIOCがもしこれが第2のIOCの
サイクル・イン時間でありかつその需要DMCフロツプ
424がセットされているならばそのDMC要求フロツ
プ428をセットできることである。このことは、同じ
システム・バス上の両方のIOCがシステム・バスのR
DDT回線上で回答DMC指令を受取りつ)ある場合で
さえ生じ得る。第1のIOCのみがDMCリンク・フロ
ツプ454からDMC要求フロツプ・リセット信号DD
MCCY十を生成するが、これは第1のIOCのDMC
要求フロップ428のみがクロック信号PTIME3十
20がリセット要求フロップ460をクロツクする時に
セットされたためである。同じシステム・バス上の第2
のIOCにおけるPTIM旧3十20の前縁において、
ANDゲート452の出力である信号DDMCCS+2
進数零となり、その結果ORゲート458の出力である
信号DMYLKS+が2進数零となり、その結果リセッ
ト要求フロップ460がクロツク信号PTIME3十2
0によってはセットされない。第2のIOCのリセット
要求フロツプ460はセットされないため、そのQ出力
の信号DMYLKC+は2進数零の状態を維持し、DM
Cリンク・フロップ454はクロックされずIJセット
状態を維持する。ORゲート458の第2のIOCの出
力である信号DMYLKS+は2進数零となるが、これ
は任意の時にCPUがシステム・バスの回線RODT上
に1つのタイプの指令のみを与え得る故にそのORゲー
トの他の2入力である信号DINTCS+およびDCM
DCS+も又PTIME3十20の前縁において2進数
零となるためである。 従って、指令デコーダ442の唯1つの出力のみが2進
数零となり、従ってANDゲート444,448および
452の唯1つの出力(もしあれば)がPTIM旧3十
20‘こおいて2進数1となり得る。即ち、リセット要
求フロップ460がセットされ、そしてもし要求フロッ
プ470,438又は428がセットされかつ対応する
指令(それぞれASCMD、ASINT、又はASDM
S)がCPUからシステム・バスのRDDT回線を介し
て受取られる場合、リンク・フロツプ446,450,
454および468 クロツク信号DMYLKC+を発
生する。特定のIOCに接続されたある周辺デバイスが
通常いかなる時点でも1つの割込み要求と関連してDM
A(又はDMC)要求を共に行わないが、多くの周辺デ
バイスが1つの10Cに接続されることは可能で、この
場合は特定のIOCがある特定の時点で割込みおよびデ
ータ転送の両方を要求できるが、この場合このIOCは
その要求フロツプの1つ以上をセット状態にすることに
なる。一たんあるIOCがシステム・バス要求を行うと
、CPUフアームウエアはシステム・バスRDDT回線
上の回答指令によって応答する。 要求リセットロジック406において示した如く、シス
テム・バス要求に対するCPUの応答は2つの動作を生
じる。第1の動作は要求側のIOCの要求フロツプがリ
セットされ、対応するりンク・フロツプがセットされる
ことである。このようにDMCの事例について続けると
、もしシステム・バスA上のIOCがDMC要求を行う
ならば、CPUファームウェアは両方のシステム・バス
AおよびBに対するシステム・バスのRODT回線上の
回答DMC指令で回答するが、システム・バスA上で2
進数零にセットされるコントローラ回線のPIOCTX
−(この場合はPIOCTA−)で応答するだけである
。このように、回答DMC指令がシステム・バスAとB
の両方に同報通信されるが、システム・バスA上のIO
Cのみがシステム・バスの回線PIOCTA一によって
その指令デコーダ442を付勢させ、その結果システム
・バスA上のIOCのみが回答DMC指令に応答するこ
とができるのである。システム・バスA上の唯1つのI
OCがそのDMC要求フロツプをセットさせることがで
きるため、システム・バスA上のこのIOCのみがその
DMCリンク・フロツプ454をセットし、そのDMC
要求フロップ428をリセットする。システム・バスの
回線RDDT上の回答DMC指令の同報通信およびシス
テム・バスAの特定のIOCのDMCリンク・フロツプ
454のリセット動作が任意の1次時間3の間に生じ得
、必らずしもDMC要求側IOCのサイクル・ィン時間
中に生じる必要はないことに注意。一たん特定IOCの
リンク・フロップがセットされると、この特定のIOC
およびCPUは互いにリンクされ、システム・バスのア
ドレスノデータ回線(BUSXOO十乃率BUSX15
十)上のこれ以外の全ての対話が処理される特定の要求
に専用化される。このように、システム・バスAおよび
B上では、唯1つのIOCがそのリンク・フロッブ44
6,450又は454の内の1つをセットし、これがリ
ンク終り指令がCPUにより送出されこの特定のIOC
により受取られる迄セット状態を維持する。システムに
おける唯1つのIOCがリンク・フロツプをセットさせ
るため、リンク終り指令は両方のシステム・バス上にC
PUファームウェアによって同報通信され得、唯1つの
IOCがそのリンク・フロツプをリセツトすることによ
りリセツトすることになる。CPUはいかなる時点でも
リンク終り指令を同報通信でき、現在CPU‘こリンク
されている特定のIOCのサイクル・ィン時間を待機す
る必要はないことに再び留意されたい。このように、サ
イクル・イン時間の目的は、特定のシステム・バス上の
IOC間の競合問題の除去にあること、および一たん開
始されるとIOCとCPU間の対話は関与するIOCの
サイクル・ィン時間とは無関係に生じ得ることが判る。
前述の如く、又第16図乃至第18図において示した如
く、DMC要求、DMA要求および割込み要求に対する
通常のシーケンスは、IOCがそのサイクル・ィン時間
中バス要求を開始し、CPUが任意の時刻に回答で応答
し、その後任意の織こCPUからのりンク終り指令が後
続する。更に、前述の如く、又第16図に示す如く、C
PUは、任意の時にシステム・バスの回線RDDT上に
CPU指令(CPCMD)をおきかつシステム・バスの
アドレス/データ回線上に特定のIOCチャネル番号を
おくことにより、IOC動作を開始することができる。
ここで、用語「任意の時」とは、関与するIOCのサイ
クル・ィン時間に無関係にCPUにリンクされる別のI
OCにより既にシステム・バスが使用状態にない期間(
即ち、IOCのリンク・フロツプがセットされない期間
)を意味する。更に、通常のバス対話シーケンスは、I
OCによるバス要求の後、CPUからの回答指令が続き
、更にCPUからのりンク終り指令が続くが、このシー
ケンスはマスター・クリア(信号PCLEAR)により
いかなる時でも打切ることができ、これが対応するフロ
ップをリセットし新らしいシーケンスが開始できるよう
にこのシーケンスを打切る、ものであることに注意すべ
きである。K CPUロジックの詳細 これ迄1/0コントローフ・ロジックの動作について記
述したが、次にCPUロジックについて詳細に説明する
。 第42図は第9図の制御ストアのブロック図に関連して
前に説明した制御ストア・ロジックを示し、第43図は
第8図のCPUのブロック図と関連して説明したCPU
ロジックを示す。Ka 制御ストア・ロジックの詳細 次に第42図に関して制御ストア・ロジックの動作につ
いて詳細に論述する。 システムが初期設定されると、アドレス・レジスタ1,
246−1およびアドレス・レジスタ2,246−2が
リセツトされ、これにより10ビット・アドレス出力を
零にセットさせる。10ビットのROSアドレスRAD
ROO十乃至RADRO9十が零にセットされると、ロ
ケーション零力ミR061,238−8およびROS2
,238−2から続出されて1次時間0の始めに局部レ
ジスタ242にロードされる。 局部レジスタ242に含まれる48ビットのマイクロ命
令ファームウェア・ワードは次のCPU全体に送られる
。ROSから謙出されたこのファームウエア・ワードに
おける2つのビットはアドレス・ゼネレータ1マルチプ
レクサ(MUX)248−1に対する4つの入力の内の
1つの選択を制御し、その出力のあるものはアドレス・
レジスタ1,246−1に再び送り戻され、その他の出
力はアドレス・ゼネレータ、248一2に与えられる。
アドレス・ゼネレータ2,248一2の出力は更にアド
レス・レジスタ2,246−2に送られる。アドレス・
レジスタ1および2,246−1および246−2の出
力が前のマイクロ命令ファ−ムウェア・ワードによって
決定される場合、次のマイクロ命令のアドレスがROS
1,238−1およびROS2,238−2に与えられ
、そして次のマイクロ命令が読出され、一次に1次時間
0の始めにおいて局部レジスタ242にクロックミれる
。このように、以下に述べる如きハードウェア割込みを
生じることなく、現行マイクロ命令がROSから読出さ
れるべき次のマイクロ命令を決定するのである。Kaィ
ROSアドレス生成ロジック 次にアドレス・レジスター,246−1および2,24
6一2に関して前記の動作を更に詳細に論述する。 システムが初期化されると信号PCLEAR−が2進数
1となり、このため以下に説明するように、更に1次時
間4の始めにPCPCLR十を2進数1にそしてPCP
CLR+を2進数零にさせる。 NORゲート595の1つの入力側で信号PCPCLR
+が2進数1であると、その出力貝0ち信号RARCL
R一は2進数零となり、これが更にアドレス・レジスタ
1,246−1をクリして10ビットのROSアドレス
の最上位の6ビットの信号RADROO+乃至RADR
05十を2進数零にさせる。アドレス・レジス夕2,2
46−2のリセット(R)入力側の信号PCPCLR−
が2進教養であれば、10ビットのROSアドレスの最
下位ビットの信号RADR06十乃至RADRO9十は
2進数零となり、これにより10ビットのROSアドレ
スを全て零にする。付勢EN)読出し入力の信号KEN
ROS−が2進数零であれば、ROS1,238ーーは
10ビットのアドレスにより指定されるロケーションを
アドレス指定し、その40ビット出力を回線PROSO
O+乃至PROS23十およびPROS32十乃至PR
OS47十におく。付勢(EN)読出し入力の信号KE
NROS−およびPEN−BBT+が2進数奏であれば
、RCS2,238−2は10ビット・アドレスにより
指定されるロケーションをアドレス指定してその8ビッ
ト出力を回線PROS24十FM乃至RROS31十F
Mにおく、ROS1,238一1は4ビット×1024
ロケーションの10個のPROMからなり、RS2,2
38−2およびブートPROM240はそれぞれ4ビッ
ト×1024ロケーションの2個のPROMからなる。
これ等の4ビット×1024ロケーションのPROMは
米国・カリフオルニア州サニービルのSigletic
s社により製造され本文に参考のため引用する文献「S
ignetics社のバィポーラおよびMOSメモlj
ーデータ・マニュアル」に記載されたタイプ8$137
である。ROSIおよび2から読出された48ビットの
マイクロ命令ファームウェア・ワードは1次時間0の始
めに信号PTIMEO+よって局部レジスタ242にク
ロツクされる。局部レジスタ242の出力である信号R
DDTOO乃至RDDT47十はCPU全体で使用され
て中央プロセサを制御し、これも又ィンバータ(図示せ
ず)により反転されて必要に応じ制御信号RDDT00
一乃至RDDT47一を生じる。9図は制御ストア・ア
ドレス・ゼネレータ248は、第42図のアドレス・ゼ
ネレータ1マルチプレクサ248一1およびアドレス・
ゼネレータ2マルチプレセサ248一2からなる。 4−1マルチプレクサからなるアドレス・ゼネレータ1
マルチブレセサ248−1は、現行ファームウェア・ワ
ードのビット36および37に指定される分岐タイプに
従って、ROS238から取出される次のマイクロ命令
のアドレスを決定する。 第35D図は、もし選択(SEL)入力RDDT37十
およびRDDT36十が2進数零であれば、現行マイク
ロ命令において指定される分岐タイプが無条件分岐であ
り、次のマイクロ命令の10ビットROSアドレスは1
0入力の信号RDDT38+乃至RDDT47十により
指定されることを示す。もし現行マイクロ命令のビット
36および37が2進数01を指定するならば、2通り
のテスト分岐が指定され、11入力は、アドレス・レジ
スタ1,246ーーからの4ビットの信号RADROO
+乃至RADR03十と、現行マイクロ命令からの5ビ
ット、信号RDDT42乃至RODT46十とおよび分
岐オン・テスト回路網254(第9図参照)からの1ビ
ット、信号RASBT9十とを用いて選択される。もし
現行マイクロ命令のビット36および37が2進数10
を指令するならば、アドレス・ゼネレータ1マルチプレ
クサは多重チスト分岐入力12を選択して、現行マイク
ロ命令からの6ビットの信号RDDT38十,RDDT
39十およびRDDT44+乃至RDDT47と、およ
びメジャー分岐回路網256(第9図)からの4ビット
の信号RAMBT2+乃至RAMBT5十とを使用する
。現行マイクロ命令のビット36および37がハ−ドウ
ェァ割込み戻り分岐を指指定するならば、13入力が使
用され、10ビット・アドレスはハードウェア割込み復
帰レジスタ252からの信号RITROO+乃至RIT
RO9十によって決定される。アドレス・ゼネレータ1
マルチプレクサ248−1の出力則ち信号RADMOO
+乃至RハDMO9」‐は、出力制御(F)入力信号K
ENRAM−が2進数零を維持する限り有効である。ア
ドレス・ゼネレータ2マルチプレクサ248−2は、】
0ビットROSアドレスの4つの最下位ビットがアドレ
ス・ゼネレータ1マルチブレクサ248ーーの出力か又
はハードウェア割込みェンコーダ250一2から生じる
かどうかを選択するために使用される。 ハードウェア割込みが全く継続中でない場合か又は1つ
以上の割込みが継続中であるがハードウェア割込みが禁
止されている場合、信号PflINTL+が2進数零と
なり、10入力の信号RADM06+乃至RADMO9
十が選択される。もし1つ以上のハードウェア割込みが
未完貝0ち継続中でありかつハードウェア割込みが付勢
されている場合、信号PHINTL+は2進数1となり
、11入力の2進数1とおよび信号PHINT7十乃至
PHINT9十とが選択され、10ビットROSアドレ
スの4つの最下位ビットは継続中のハードウェア割込み
の符号化によって決定される。アドレス・ゼネレータ2
マルチプレクサ248一2の出力である信号RADN0
6+乃至RADNO9十は、1次時間2の始め則ち信号
PTIME2十が2進教養から2進数1の状態へ遷移す
る時にアドレス・レジスタ2,246−2にクロツクさ
れる。 同様に、アドレス・レジスタ1,246一1は、アドレ
ス・ゼネレータ1マルチプレクサ248−1の出力によ
り決定される如き10ビットROSアドレスの6番目の
最上位ビットを含む。1次時間2の始めにアドレス・レ
ジス夕1および2にクロツクされた10ビットのROS
アドレスは、次にROSIおよびROS2をアドレス指
定するのに使用されて48ビットのファームウェア・ワ
ードを論出し、このファームウェア・ワードは次に1次
時間0の始めに局部レジス夕242にクロックされる。 このように現行マイクロ命令は、ハードウェア割込み又
はソフトウェア割込みの発生時に説出されるべき次のマ
イクロ命令のアドレスを決定する。Kaロ ハードウェ
ア割込みロジック 更に第42図において、ハードウェア割込みおよびソフ
トウェア割込みの取扱いについて詳細に説明する。 各CPUサイクル間1次時間4の終りに1度割込み要求
レジスタ250一1が信号PT1八4E4一によってク
ロックされる。割込み要求レジス夕250−1のデータ
入力は、それぞれ、割込み要求システム・バスB(信号
PINTR2−)、割込み要求システム・バスA(信号
PINTRI−)、DMCデータ要求システム・バスB
(信号PDMCR2一)、DMCデータ要求システム・
バスA(信PDMCRI−)、DMAデータ要求システ
ム・バスA(信号PDMAR1−)、DMAデータ要求
システム・バスB(信号PDMAR2一)、主メモリー
・リフレツシュ時間切れ(信号PHM股FL−)および
主メモリー読出しサイクル(信号PMRCYC−)に接
続される。 割込み要求レジスタ250ーーのDMAおよびDMCの
データ要求および主メモリー・リフレッシュ時間切れの
出力信号はハードウェア割込みェンコーダ250−2の
入力側に接続される。パリティ・ェフー・フロップ58
6の出力である信号PHM円ER−および不在メモリー
・フロツプ592の信号PHNDXM−も又入力として
ハードウェア割込みェンコーダ250−2へ接続される
。 ハードウェア割込みェンコーダ250一2は前記Tex
aslnstrumenは社製のタイプSN74148
の8回線−3回線優先順位ェンコーダである。ハードウ
ェア割込みェンコーダ250一2は、付勢(EN)出力
信号が2進数零である時常に、8入力回線を3つの出力
回線の信号PHINT7十乃至PHINT9十に符号化
する。ハードウェア・ェンコーダ250−2の1出力の
信号PHINTP+はその8入力の1つが2進数零であ
る時常に2進数1となり、ハードウェア割込みが禾完即
ち継続中であることを表示する。もしハードウェア割込
みが継続中であれば、ハードウェア割込みェンコーダ2
50−2の付勢(1)出力の信号PHINTP十は2進
数1であり、ANDゲート591を部分的に付勢する。 もし現行ファームウェア・ワードのビット35が2進数
1であってハードウェア割込みを付勢するならば(第3
5C図参照)、信号RDDT35十が2進数1となって
ANDゲート591を完全に付勢し、出力信号PHIN
TL+を2進数1にする。信‐号PHINTL+が2進
数1でANDゲート593を部分的に付勢するならば、
1次時間2の始めに信号PTIME2十が2進数1にな
りANDゲート593を完全に付勢し、その出力の信号
PHINTC−を2進数1にする。ト10Rゲート59
5の1つの入力が2進数1であれば、その出力の信号R
ARCLR−が2進教養となってアドレス・レジスタ1
,246−1をリセットし、これにより10ビットのR
OSアドレスの最上位6ビットを零にクリアする。AN
Dゲート59 1の出力である信号PHINTL十が2
進数1であれば、アドレス・ゼネレータ2マルチプレク
サ248一2は11入力を選択して、ハードウェア割込
みェンコーダ250一2の入力側の未完の最高優先順位
割込みの入力番号と対応するアドレスを10ビットのR
OSアドレスの最下位の3ビットに符号化する。10ビ
ットのROSアドレスの最下位の4番目のビットがアド
レス・ゼネレータ2マルチプレクサ248−2の入力1
1のビット零に現われる2進数1により2進数1に等し
くセットされるとき、もしハードウェア割込みが未完で
ありかつハードウェア割込みが付勢されているならば、
アドレス・レジスタ1およびアドレス・レジス夕2の合
成出力が8乃至15の範囲内で10ビットのROSアド
レスなることが判る。 このように、もしハードウェア割込みが未完でありかつ
ハードウェア割込みが付勢されるとき、ハードウェア割
込みェンコーダ250一2の出力は、アドレス・レジス
ター,246−1をクリヤし、かつアドレス・ゼネレー
タ2マルチプレクサ248−2およびアドレス・レジス
タ2,246−2を介してハードウェア割込みの符号化
された優先順位を選択することによって、10ビットの
ROSアドレスの最上位の6ビットをクリアすることが
判る。 この機構の使用により、特定の未完のハードウェア割込
みを取扱うよう符号化されたマイクロルーチンに対する
10ビットのROSアドレスが生成され、マイクロルー
チンが実行される。ハードウェア割込みマイクロルーチ
ンを呼出す前に次のマイクロ命令の10ビットのROS
アドレスを保管するのがハードウェア割込み復帰レジス
タ252の機能である。 このように、ハードウェア割込みマイクoルーチンが呼
出される時常に、ANDゲート593の出力の信号PH
INTC十が2進数零から2進数1の状態に遷移してハ
ードウェア割込み復帰レジスタ252をクロックし、こ
れにより次にROSから使用されるマイクロ命令がどれ
かについての10ビットのROSアドレスを保管する。
信号PHINTC+がハードウェア割込み毎に唯1度2
進数零から2進数1へ遷移するため、従ってハードウェ
ア割込みマイクロルーチンの始めにのみハードウェア割
込み復帰レジスタ252は、マイクロ命令の10ビット
のROSアドレスの内容を保持することになり、このマ
イクロ命令は、もしこのハードウェア割込みと関連する
マイクロルーチンの処理の期間を通じて1回のハードウ
ェア割込みもなかったならば、ROSから読出されるこ
とになっていたものである。ハ−ドウェア割込みマイク
ロルーチンの処理の間はハードウェア割込みが禁止され
る(即ち、ハードウェア割込みは入れ子にはならない)
ことが判る。ハードウェア割込みを処理するためのマイ
クロルーチンの最後の命令は、このファームウェア・ワ
ードのビット36および37におけるハードウェア割込
み復帰分岐を符号化して、信号RDDT36十およびR
DDT37十を2進数1にさせることによりアドレス・
ゼネレータ1マルチプレクサ248ーーの13入力を選
択し、これによって次のマイクロ命令の10ビットのR
OSアドレスをハードウェア割込み復帰レジスタ252
から取出させ、これが第34図に関して前に述べたハー
ドウェア割込みの発生の直前にアドレス・ゼネレータ1
マルチプレクサ248一1によって発生された10ビッ
ト・アドレス、によりアドレス指定されたマイクロ命令
ファームウェア・ワードへ制御を有効に戻す。第42図
の説明は、現行マイクロ命令の実行中に次のマイクロ命
令のアドレスが生成されることを示す。このように、も
し現行マイクロ命令の始め(1次時間2の前)にハード
ウェア割込みェンコーダ250−2の入力の1つのハー
ドウェア割込み信号が2進数0であり、かつハードウェ
ア割込みが現行マイクロ命令(ビット35が2進数1の
信号RODT35十)において付勢される場合、取出さ
れる次のマイクロ命令は継続中の最高優先順位の割込み
をサービスするためのマイクロルーチンの最初のマイク
ロ命令となる。もし割込みが現行マイクロ命令により禁
止される(ビット35が2進数零)ならば、現行マイク
ロ命令の終りではハードウェア割込みが生ぜず、現行マ
イクロ命令のROSアドレス指定フィールド‘こよりア
ドレス指定されるマイクロ命令が次のマイクロ命令とな
る。マイクロ命令ビット35が現行マイクロ命令の終り
に何か生じるかを制御するため、ハードウェア割込みサ
ービス・マイクロルーチンはマイクロプログラムされて
、その結果マイクロルーチンの最終マイクロ命令の間ハ
ードウェア割込みが付勢され、そしてROSアドレス指
定フィールド(第35D図参照)は、次のマイクロ命令
のアドレスがハードウェア割込み復帰レジスタ252か
ら取出されるべきことを指定し、このレジスタは制御を
割込みされた元のマイクロプログラムに戻す(もしハー
ドウェア割込みが未完でなければ)。 もしハードウェア割込みが最初のハードウェア割込みサ
ービスのマイクロルーチンの最終マイクロ命令の間継続
中であれば、アドレス・ゼネレータ1マルチプレクサ2
48−1は13入力を選択し(即ち、ハードウェア割込
み復帰レジスタ252に記憶されたアドレス)、そのQ
出力(信号RADMOO十乃至RADMO9十を13入
力に等しくさせる。アドレス・ゼネレータ1マルチプレ
クサ248一1の出力は次に、信号PHINTC+が2
進数零から2進数1に遷移するとき1次時間2において
ハードウェア割込み復帰レジスタ252において復元さ
れる。更に、アドレス・ゼネレータ2マルチプレクサ2
48−2はその11入力の第2のハードウェア割込みア
ドレスを選択し、1次時間2においてアドレス・レジス
タ1,246一1が信号RARCLR−によりクリアさ
れ、アドレス・レジスタ2,246一2が第2のハード
ウェア割込みアドレスにセットされる。このように、第
1のハードウェア割込みサービス・マイクロルーチンの
最終マイクロ命令である現行マイクロ命令の1次時間2
において、アドレス・レジスタ1,246−1と2,2
46−2に含まれるアドレスは第2のハードウェア割込
みサービス・マイクロルーチンの第1のマイクロ命令の
アドレスとなる。第24図についての以降の説明によれ
ば、第2のハードウェア割込みサービス・マイクロルー
チンの終りに継続中のハードウェア割込みがなければ制
御はマイクロ命令に戻され、そのアドレスはハードウェ
ア割込み復帰レジスタ252に記憶され、こうして第1
のハ−ドウェア割込みにより割込みされた時点における
元のマイクロプログラムに制御を戻すことが明らかにな
る。このように、バック・ッウ・バック(即ち連続した
)ハードウェア割込みが、第1と第2のハードウェア割
込みサービス・マイクロ・ルーチン間で割込みを受けた
元のマイクロプログラムに戻ることなくサービスされる
ことが判る。システム・バスA又はBにおけるDMAデ
ータ要求又はDMAデータ要求がいかにしてROSロケ
ーション12乃至15に対するハードウェア割込みを生
じかつ関連するハードウェア割込みマイクロルーチンを
呼出すかについて説明したが、第42図の他のハードウ
ェア割込みロジックについては以下に説明する。 Kaロi 主メモリーリフレツシュ時間切れロジツクフ
ロツプ572および574は主メモリー・リフレツシュ
信号RHMRFL−が8乃至15マイクロ秒に生成され
ることを保証するため使用される。 第14図に関して前に説明したように、クロック信号B
CNTL8十は4マイクロ秒毎に2進数零から2進数1
へ遷移し、これによりフロップ672および574をク
ロックする。8マイクo秒リフレッシュ・フロップ57
2が4マイクロ秒毎にクロツクされると、その出力の信
号PMRFPM+が4マイクロ秒間2進数零となり、こ
れに続いて次の4マイクロ秒間2進数1となって、これ
により8マイクロ秒の1サイクルを完了する。 16マイクロ秒リフレッシュ・フロツプ574のデータ
(D)入力に8マイクロ秒リフレッシュ・フロツプ57
2の出力である信号PMRFTM+を継続接続すること
により、フロツプ574の出力である信号PHMRFL
−は8マイクロ秒間2進数零となり、これに続いて8マ
イクロ秒間2進数1となって16マイクロ秒で1サイク
ルを完了する。 16マイクロ秒リフレツシュ・フロツプ574の出力が
2進数零である時、割込み要求レジスタ250−1の出
力信号PHMRFH−が2進数零となり、2進数101
をハードウェア割込みェンコーダ250一2の出力回線
PHINT7+乃至PHINT9十に符号化させ、これ
が更にハードウェア割込みが付勢される時アドレス・ゼ
ネレー夕2マルチプレクサ248−2を、主メモリー・
リフレッシュ時間切れマイクロルーチンを開始するRO
Sロケーション1川こ分岐させる。 再びフロップ572および574について考察すれば、
NORゲート5 8 0の出力の信号PMFRSH−が
2進数零である時両フロツプがリセットされることが判
る。 もしファームウェア・ワードのビット32乃至34が2
進数001に等しくなるようセットされこれが信号RO
DT32十およびRDDT33十を2進数零にそして信
号RDDT34十を2進数1にさせるならば、副指令デ
コーダ244−2(第43図参照)からの信号PMRF
SH−は2進数1にセットされる。 信号PMRFSH−はィンバータ576によって反転さ
れ、入力が2進数零である時は常に信号PMRFSH十
を2進数1にさせる。 信号PMRFSH十がNORゲート580の入力側で2
進数1である時、その出力である信号PMFRSH−は
2進数零となって8マイクロ秒フロップ572および1
6マイクロ秒リフレツシュ・フロツプ574をそのリセ
ット(R)入力を介してリセットする。主メモリー・リ
フレッシュ信号PMFRSH−も又システム・バスBを
介して主メモリーに対し転送される。代わりとして、信
号KEFRSH−が2進数隻であってィンバ−夕578
を介して反転されて信号KEFRSH−をNORゲート
580の第2入力側で2進数1にさせる時常に、信号P
MFRSH−は2進数零となる。フロツプ572および
574のハードウエア割込みロジックとの相互作用につ
いて検査することにより、16マイクロ秒リフレッシュ
・フロップ574の出力である信号PHMRFL−がメ
モリー・リフレツシュ信号PM『RSH−がシステム・
バスBを介して主メモリーに対して送られた後8マイク
ロ秒時に2進教養となることが判る。 リフレツシュ割込み信号PHMRFL一は、8マイクロ
秒間又は引き続くメモリー・リフレッシュ信号によりク
リアされる(PM『RSH−は2進数零となる)迄、2
進数零の状態を維持する。2進数零である信号PHMR
FL−は信号PHM旧FH−を2進数零にさせ、もしハ
ードウェア割込みが許可されると、ファームウェアをマ
イクロル−チンに分岐させ、このマイクロルーチンは更
にメモリー・リフレツシュ信号PMFRSH−をシステ
ム・バスBを介して主メモリーに送出する。 16マイクロ秒フロップ574の出力である信号PHM
RFL−は前のメモリー・リフレツシュの後8マイクロ
秒時に2進数零となるため、15マイクロ秒の適正なM
OSメモリー・リフレッシュ速度を維持して主メモリー
情報を脱落しないようにするために、ハードウェア割込
みが7マイクロ秒より長期間禁止されないようにCPU
ファームウェアを符号化することが重要である。 もしCPUファームウェアがハードウェア割込みを禁止
していないならば、第1のメモリー・リフレツシュが8
マイクロ秒の終りに生じてCPUファームウェアは主メ
モリー・リフレッシュ・マイクロルーチンに分岐させ、
これが更にリフレッシュ指令を信号刊4FRSH−を介
してシステム・バスB上の主メモリーに送出させ、この
信号が更にリフレツシュ・フロツプ572および574
をリセットして第2の主メモリー・リフレッシュ割込み
を更に8マイクロ秒後に送出させる。 主メモリー・リフレッシュ指令も又ソフトウェア命令の
処理内で符号化されるため、主メモリーが次の2つのC
PUサイクルの間使用されないことをCPUマイクロプ
ログラムが決定する時は常に、主メモリー・リフレッシ
ュ時間の満了によって全てのIJフレッシュ信号が生成
されるとは限らない(即ち、フロツプ572および57
4)。リフレツシュ・フロツプ572および574の目
的は、最小限リフレッシュ信号が15マイクロ秒毎に1
回主メモリーに送出されることを保証することであるが
、実際にはCPUファームウェアが符号化されてそれに
より、ソフトウェア命令の処理中にもし主メモリーが次
のXPU期間使用されないことが判る場合リフレッシュ
指令がCPUファームウェア・マイクロ命令内で符号化
されて15マイクロ秒毎に1回以上瀕繁に主メモリー・
リフレッシュ信号を生成するようにする。Ka。 ii 主メモリーのパリティ・ェフー・ロジツク各主メ
モリ一読出し操作中、メモリーはメモリーから読出され
る16ビット・ワード当り2パリティ・ビット(8ビッ
ト・バイト当り1パリティ・ビット)を生成して、この
生成したパリティをメモリーから読出されたものと比較
する。もし生成されたパリティ・ビットがメモリーから
読出されたパリティ・ビットと合致しなければ、主メモ
リーはシステム・バスBを介して回線MEMPER−上
をCPUに対して送出されるパリティ・ェフー信号を生
成する。更に第42図において、主メモリーにより検出
されたパリティ・エラーの発生はパリティ・ヱフー・フ
ロップ586のセット動作を生じ、これが更にハードウ
ェア割込みをもたらす。 もし主メモリーがメモリ一読出し操作時にパリティ・ェ
フーを検出すらならば、主メモリーは信号MEMPES
−をシステム・バスB上で2進数零にセットする。信号
PEMPER−が2進数零のとき、ィンバータ596の
出力である信号PMMPAR+は2進数1となり、信号
PMM円AR+はィンバー夕598により反転されてシ
ステム・バスAに対し信号刊4^WAR−として送られ
る。もしDMAデータ要求に応答してメモリー読出しか
行われたならば、パリティ・エラー信号即ちシステム・
バスA上の信号PMMPAR−およびシステム・バスB
上の信号MEMPER−は要求側のDMAIOCの状態
レジス外こストローブされ、その結果1/0転送の状態
が要求される時このエラーがソフトウェア・プログラム
に通知され得る。パリティ・エフー・フロツプ586の
データ(D)入力側の主メモリー・パリティ・エラー信
号PMM円AR十は、クロツク信号PARFMD−が2
進数零から2進数1へ遷移する時クロツクされる。 パリテイ・エフー・フロツプ586のデータ入力側の2
進数1のクロック動作は2進数零となる出力信号PHM
PER−を生じ、ハードウェア割込みが付勢されている
時ハードウェア割込みを惹起する。NANDゲート58
2の出力であるクロツク信号PARFMD−は、もし信
号PBSFMD−が2進数零であれば信号PTIM旧4
十が2進数1になる1次時間4の始めにおいて、2進数
零から2進数1の状態に遷移する。信号P既FMD−は
第19図において示す如く2サイクルの主メモリ一読出
し操作の第2のサイクルの間2進数零である。信号PB
SFMD−は、データが主メモリーからシステム・バス
B上に読出されることを付勢するよう主メモリーにより
用いられる。パリティ・ヱフー・フロップ586はセッ
ト状態を維持し、これによりハードウェア割込みを要求
し続け、これはCPU初期化信号がNORゲート584
の1入力側の信号PCPCLR−を2進数零にさせてそ
の出力の信号PARCLR−を2進数零にさせることに
よりフロツプ586をリセットすることによりクリアさ
れる迄続ける。 代わりとして、パリティ・エラーフロップ586は後続
の主メモリ一読出し操作によってリセットされる。Ka
ロiii 不在メモリー検出ロジック前述の如く、シス
テム内のCPUは、各主メモリー・アドレスが主メモリ
ーに与えられるときのこのアドレスを監視して、アドレ
ス指定されたロケーションがシステム・バスBに接続さ
れた主メモリー・ボードの1つに物理的に存在するかど
うかを決定する。 更に第42図によれば、システムが動作に入る前に、主
メモリーに物理的に存在する最終ロケーションのアドレ
スが、16ビット・アドレスの最上位の5ビットを2進
符号化することによりメモリー・サイズ・スイッチ58
8にセットされる。メモリー・コンパレータ590は前
記Texas Instruments社製のタイプS
N74S85であり、最終メモリー・ロケーションのア
ドレスの最上位の5ビットを内部バス260からのアド
レスの最上位の5ビット(信号PBUSOO+乃至PB
US04十)と比較し、もしバス上のアドレスがシステ
ム内に物理的に存在する最終ロケーションのアドレスを
越えるならば出力信号PBUSLG十を2進数1にセッ
トする。内部バス260の内容とメモリーに物理的に存
在する最終ロケーションのアドレスとの比較は連続的に
行われるが、この比較の出力である信号PBUSLG+
はクロック信号PMEMGO+の2進数零から2進数1
の状態への遷移によってのみ不在メモリー・フロツプ5
92へクロツクされる。ハードウェア・ワード・ビット
23が2進数1である時(第35C図参照)、クロック
信号PMEMGO+は1次時間3の始め(第16図参照
)において2進数零から2進数1の状態へ遷移する。 信号PMEMGO十が2進数1であれば、内部バス26
0の内容は主メモリー内の1つのロケーションのアドレ
スとなり、従って不在メモリー・フロツプ592のデー
タ(D)入力はアドレス指定されたロケーションが主メ
モリー内に物理的に存在するかどうかを反映する。もし
アドレス指定されたロケーションが主メモリー内に物理
的に存在しなければ、信号PBUSLG+は2進数1と
なって不在メモリ−・フロツプ592にクロツクされ、
そのQ出力である信号PHNDXM十を2進数1に「又
そのQ出力である信号PHNDXM−を2進数零にする
。信号PHNDXM+2進数1へのセットはNANDゲ
ート594の出力である信号M旧M円ER−を、ィンバ
ータ596と598を介して信号PMMPAR−と同じ
ように2進数零にさせる。従って、不在メモリー・ロケ
ーションをアドレス指定する試みを検出すると、その結
果メモリ−・パリティ・エラー信号h伍M円ER−およ
び信号PMMPAR−が2進数零となり、これにより不
在メモリー・ロケーションがアドレス指定されているこ
とをシステム・バスAおよびB上で1/0コントローラ
に通知する。メモリー・アクセスを行う1/0コントロ
ーラは、これ等のエラー回線の状態をソフトウェアに対
し後で通知するため、その状態レジスタにこれ等エラー
回線の状態を保管する。不在メモリ−・フロップ592
のセットは、ハードウェア割込みェンコーダ250−2
の最高優先順位の入力において信号PHNDXM−を2
進数隻にさせ、これは割込みが許可される時不在メモリ
ー・ハードウェア割込みを生じさせる。 不在メモリー・ハードウェア割込みの処理はCPUファ
ームウェアをROSロケーション8に分岐させてハ−ド
ウェア割込みを処理させる。不在メモリー・マイクロル
ーチンは引き続く不在メモリー.エラーが生じないこと
を保証するため主メモリー・アドレス零を用いてメモリ
ー・リフレツシュ操作を行、これが更に信号PBUSL
G十を2進数零にさせることにより不在メモリー・フロ
ップ592をリセットし、継続中の不在メモリー・ハー
ドウェア割込みをクリアする。不在メモリー・検出ロジ
ックについての説明を終る前に、不在メモリー・ロケー
ションへのアクセスの試みの検出の結果、不在メモリー
・フロツプ592のセットとおよびインバータ596の
出力である信号PMMPAR+を介するパリティ・ェフ
ー・フロツプ589のセットを生じることに留意すべき
である。 不在メモリー・フロップ592のセットも又パリティ・
ェフー・フロツプ586のセットを生じるが、唯1つの
ハードウェア割込みが処理されることになり、これは次
に高い優先順位であるメモリー・パリティ・エラー割込
みよりも高い優先順位である不在メモリー・ハードウェ
ア割込みである。このハードウェア割込み優先順位はハ
ードウエア割込みェンコーダ250一2への入力を検査
することによって知り得る。不在メモリー・ハードウェ
ア割込みマイクロルーチンにおいて行われる主メモリー
・リフレツシュ操作が不在メモリー・フロツプ592と
パリティ・ェフー・フロップ586の相方をクリアする
ために、メモリー・/ぐリテイ・エラーのハードウエア
割込みは生じない。従って、不在メモリー・ハードウェ
ア割込みマイクロルーチンからの復帰時に、信号PHM
PER−は2進数1となってメモリー・パリティ・ハー
ドウェア割込みは継続中とならない。もしDMA又はD
MCデータ転送の間不在メモリー・アドレス又はメモリ
ー・パリティ・エラーが検出されるならば、メモリーG
O信号が主メモリーに送られるサイクル(第19図参照
)に続くCPUサイクル(第2サイクル)の間、信号P
TIOGO−が2進数零にセットされる。 2進数零への信号PTIOGO−のセットによりNOR
ゲ−ト584の出力である信号PARCLR−を2進数
零にさせ、その結果、ハードウェア割込みCPUファー
ムウェアによって付勢される前に不在メモリー・フロツ
プ592とパリテイ・エフー・フロップ586のリセッ
トを生じ、これにより関連するハードウェア割込みを阻
止する。 このフロップ592と586のリセットは、1/0コン
トローラとの間のデータの転入出と関連する潜在的なハ
ードウェア割込みがCPUファームウェア・フローに割
込むのをマスクする。これは又、不在メモリー・アドレ
ス又はメモリー・パリティ・ェフーのハードウェア割込
みのいずれかの発生がソフトウェア命令の実行過程の間
CPUファームウェアにより行われるメモリー・アクセ
スによるものであり、これも又CPUファームウェアに
より行われるDMA又はDMCデータ転送によるもので
はないこと、を保証する。CPUが不在メモリー・ロケ
ーションをアクセスする試みを検出する時、メモリー・
エラー回線PMMmAR一およびMEMPER−がセッ
トされるが、データをメモリーに書込むDMCデータ転
送の場合にはメモリー・エラー回線のセットはDMC
I/○コントローラがそのエラー回線の探索を停止した
のみ後でのみ生じる。 第21A図によれば、もしエラーが生じる場合、リンク
終り(EOFLK)指令がCPUおよびIOCリンクを
終了した後でのみ、メモリー・エラー回線がセットされ
ることが判る。IOCがCPUに対しリンクされる時だ
けIOCはエラー回線を監視して、それによりどんなェ
ラ−信号もそのIOCに対して指向されることを保証し
、従って入力データ転送サイクルの間不在メモリー・エ
ラーがDMAIOCには見えなし、。不在メモリー・エ
ラーが検出不能とならないことを確保するため、転送さ
れるべきブロックの上限(最上位アドレス)は、DMC
データ転送が開始される前の10LDソフトウェア命令
の実行中に検査される(第29図およびその説明参図)
。 この特別な検査はDMC入力(メモリーへの書込み)操
作のために実施されることが必要であるだけである。更
に、メモリー書込み操作の間、メモリー・エラー回線が
不在メモリー・エラーに対してセットされるだけであり
、メモリーに書込まれる時パリティ検査は行われないこ
とを注意。DMC出力操作とおよびDMAの入力および
出力の操作とのため、メモリー・エラー回線はリンク終
り以前にセットされるが、IOCは依然としてメモリー
・エラー回線を監視し、その結果特別な検査はこれ等の
場合必要でない。Kaハ ソフトウェア割込みロジック ソフトウェア割込みの処理については、第34図に関し
て既に述べた。 再び第42図に関して、ソフトウェア割込みロジックに
ついて詳細に説明する。ソフトウェア割込みェンコーダ
257一1はTexaslnstrmments社製の
タイプSN74148である。最上高から最低の優先順
位のソフトウェア割込みに向って、ソフトウェア割込み
ェンコーダ257−1の入力は連続するソフトウェア割
込み条件の状態に基いて2進数零となる。もしレジスタ
のオーバーフローが検出されると信号PFITRP−が
2進数零となり、対応するビットはマスク(MI)レジ
スタにセットされる(第4図参照)。もし切迫した電源
故障が検出されるならば、信号PFAILF−2進数零
となる。もしシステム・バスA上の1/0コントローラ
が割込み要求を行なっているならば信号PFINTI一
は2進数零となり、又もしシステム・バスB上の1/0
コントローラが割込み要求を行なっているならば信号P
FINT2一は2進数零となる。もしタイマーが切れれ
ば、信号PFITKL−は2進数零となる。ソフトウェ
ア割込みヱンコーダ257−1の入力はその3出力であ
る信号PFINT3+乃至PFINT5十に2進符号化
される。もしいずれかの入力が2進数零であって1つ以
上のソフトウェア割込みが未完であることを表示するな
らば、ソフトウェア割込みェンコーダ257−1の付勢
(1)出力信号PFINTP一は2進数零となる。ソフ
トウェア割込みェンコーダ257−1の4つの出力信号
はメジャー分岐マルチプレクサ256−1への13入力
の4つの入力信号に接続され、マルチプレクサ選択信号
RDDT41+乃至RDDT43十が2進数011と等
しい(第35D図参照)時、その4つの出力である信号
RAMBT2+乃至RAMBT5十にゲートされる。メ
ジャー分岐マルチプレクサ256ーーのこれ等の4出力
信号は更にアドレス・ゼネレー夕1マルチプレクサ24
8−1の12入力側への10入力の内の4つに連続され
、これによりファームウェア・マイク。命令内の適当な
多重テスト分岐を指定することにより未完のソフトウェ
ア割込みの存在についてCPUファームウェアがテスト
を行うことを可能にする。第34図の説明から判るよう
に、CPUファームウェアを符号化して、未完のソフト
ウェア割込みの存在を各ソフトウェア命令の実行の始め
にテストし、これにより特定のソフトウェア割込みを吸
扱うよう符号化されたマイクロルーチンへCPUファー
ムウェアが分岐することを可能にする。Kaニ ブート
PROMロジック第16図に関してシステムの始動およ
び初期化シーケンスの説明において既に述べたように、
本システムは、ブートPRO肌こ記憶されたソフトウェ
アプログラムを読出しそしてこれを主メモリーからの実
行のための主メモリーにロードする能力を有する。 次に第42図によれば、48ビットのCPUファームウ
ェア・マイクロ命令ワードの内の8ビットが複数の並列
のPROMメモリー内に含まれることが判る。詳細には
、48ビットのマイクロ命令ワードの内のビット24乃
至31はブートPROM240か又はROS2,238
−2のいずれかから謙出すことができる。前述の如く、
ROS2,238−2が2進数零である両方の信号KE
NROS−およびPENBBT十によって付勢される時
、これ等の8ビットが通常R062,238一2から読
出される。代わりとしては又、システムの始動の間、ィ
ンバータ589の入力である信号PENBBT−が、フ
ァームウェア・ワードのビット24乃至27にて2進数
0010をかつビット32に2進数零を符号化すること
によって、2進数零にセットされる(第35C図および
37F図参照)。マイクロ命令ワード・ビット24乃至
27、およびビット32は、反転された付勢入力側のク
ロック信号PTIM旧○十により付勢されるデコーダに
よって復号される。従って、信号PENBBT−は1次
時間1の始めから1次時間4の終り迄2進数零となる。 もしファームウェア・マイクロ命令がブートPROMが
読出されるべきことを表示すれば、2進数零である信号
PENDBT−はブートPROM240を部分的に付勢
し、もしクリア操作が進行中でなければ、信号PCPC
LR十も又2進数零となってブートPROM240を完
全に付勢し、その8ビットの信号RROS24十BT乃
至RROS31十BTを出力させる。 信号PENB8Tが2進数零であれば、ィンバータ58
9の出力が2進数1となってR062,238−2を消
勢し、これらのデータの読出しをさせない。ブートPR
OM240およびROS2,238−2の3状態の出力
は点599で一緒にワィャドORされて信号RROS2
4十乃至RROS31十を生じ、これ等は更にクロック
信号PTIM旧○十により1次時間0の始めに局部レジ
スタ242にクロツクされる。第42図によれば、もし
現行CPUファームウェア・マイクロ命令がブートPR
OM240を付勢すれば、制御ストアから読出された次
のマイクロ命令のビット24乃至31が、ROS2,2
38一2から得られるのではなく、ブートPROM24
0から得られることが判る。ブートPROM240への
アドレス入力である信号PRFR15+乃至PRFR0
6十は機能(F)レジスタからの最下位の10ビットで
ある。従って、以下に示す如く、CPUファームウェア
が有する能力は、機能(F)レジスタにアドレスをロー
ドし、かつCPUファームウエアがブートPROM24
0に記憶されたデータのバイトをアクセスしてこれを主
メモリーに記憶することを許可するのに要求される他の
必要な制御と共にFレジスタの増減分を制御することで
ある。ブートPROMロジックの説明を終る前に、第3
5C図を参照すれば、ブートPROMメモリーから謙出
される8ビットが、さもなければ副指令復号フィールド
のビット32乃至34が2進111と等しい時固定情報
を保持するために使用される8ビットの代わりに使用さ
れることを知るべきである。 これは、ブートPROM240からの8ビットをROS
2,238一2からの8ビットの代りに使用するイク。
命令が、ROS2からの8ビットに対するブートPRO
Mからの8ビットの代替が行われなかった場合に、依然
としてマイクロ命令の殆んどを実施することを可能にす
る。簡単のため、第42図において、局部レジスタ24
2が48ビットを含む1つのレジスタとして示される。 望ましい実施態様においては、局部レジスタ242が6
つの8ビット・レジスタによつて構成される。第42図
を簡単にするため、局部レジスタ242に対するリセッ
ト(R〉入力は2進数1として示され、これにより局部
レジスタ242が決してクリアされないことを表示する
。望ましい実施態様においては、信号RDDT16+乃
至RDDT23十を出力する8ビット・レジスタはその
リセッ(R)入力として信号HPCPCLP−を有し、
この信号がシステムの初期化に際してこれ等の8ビット
をクリアさせる。KbCPUロジックの詳細 第43図は、第8図および第12図に関連して既に説明
したCPUロジックを示す。 内部バス260は16本の回線の信号PBUSOO+乃
至PBUS15十からなり、これはCPU全体にアドレ
スおよびデータを送るために使用される。 データ・トランシーバA,288一1、データ・トラン
シーバB,284−1およびマイクロプロセサ232の
3状態の出力は点509において一緒にワイアドORさ
れる。データ・トランシーバA,288一1およびB,
284一11はそれぞれ前記Te滋s lnstrmm
ents社製のタイプSN74S245の2つの8ビッ
ト・バス・トランシーバからなる。指向(DIR)入力
の状態に従って、データ・トランシーバAとBは、シス
テム・バスA,Bからデータを受取ってこれを内部バス
260‘こおくか、あるいは内部バス260からデータ
を取ってこれをシステム・バスAおよびシステム・バス
Bに送る。もしデータ・トランシーバA又はデータ・ト
ランシーバBのDIR入力側の信号が2進数零であれば
、D入力における信号はQ出力におかれる(即ち、デー
タはシステム・バスから受取られる)。もしDIR入力
における信号が2進数1であれば、Q入力における信号
はD出力上におかれる(即ち、内部バス上のデータはシ
ステム・バスに対して送られる)。Kbイ デー夕・ト
ランシー/ゞ・ロジック前述の如く、データ・トランシ
ーバAおよびBによるデータの送受はCPUファームウ
ェアによって個々に制御される。 従って、システム・バスBの主メモリーはデータをCP
Uへ又はシステム・バスA又はBに配される1/0コン
トローフへ与える時、データ・トランシーバBはセット
されて信号BUSBOO+乃至BUSB1 5十を介し
てシステム・バスからデータを受取りそしてこれを内部
バスに送り、データ・トランシーバAは内部バスから情
報を得てこれを信号BUSAOO十乃至BUSAI5十
を介してシステム・バスAをおくように制御される。デ
ータがシステム・バスB上の主メモリー又はシステム・
バスA又はB上の1/0コントローラのいずれかへCP
Uにより送られつ)ある時、両データ・トランシーバA
とBは内部バスから情報を得てこれをシステム・バスA
およびBへ送るように制御される。もしシステム・バス
A又はBのIOCがCPU又は主メモリーに対し情報を
送りつ)あるならば、CPUファームウェアはデータ・
トランシーバAとBを制御して、それにより送出10C
がおかれるシステム・バスと関連するデータ・トランシ
ーバがシステム・バスから情報を受取ってこれを内部バ
スにおき、他のデータ・レシーバが内部バスから情報を
得てこれをその関連するシステム・バス上におくように
する。このようにデータ・トランシーバA,288−1
およびデータ・トランシーバB,284−1を制御する
ことによって、システム・バス上の16本のアドレス/
データ回線上に現われるデータは常に同じものである。
次にデータ・トランシーバA,288一1について見れ
ば、指向(DIR)入力である信号P斑FAP−はNO
Rゲート5 1 2の出力である。 NORゲート5 1 2の1入力は信号PBSFKP−
であって、これはマイクロ命令ワードのビット24乃至
27が2進数0101(第37F図参照)のとき2進数
零であり、この2進数0101は反転された付勢入力側
の信号PTIMEO十を用いてデコーダ(図示せず)に
より復号される。NORゲート512に対する他の入力
である信号PENBSA−00は、ビット24乃至26
が2進数100(第37C図)と等しい時1/0指令1
デコーダ244−3からN位NDゲート521を介して
得られる。次にデータ・トランシーバB,284一1に
ついて老えると、指向(DIR)入力である信号P斑F
BP−はNORゲート510の出力である。NORゲー
ト510の1入力は、NANDゲート531の出力であ
る信号PMRCYC−がロードされる割込み要求レジス
タ250−1(第42図参照)の出力の1つである信号
PBSFMD−である。NORゲート51川こ対する他
の入力は信号PENBSB−00であり、これはまたビ
ット24乃至26が2進数110と等しい時NANDゲ
ート534を介して1/0指令1デコーダ244一3か
ら得られる。内部バス260おけるデータはチャネル番
号レジス夕296にロードすることができ、又これから
スクラツチパツド・メモリー(SPM)アドレス・マル
チプレクサ294にロードし、その出力はスクラツチパ
ツド・メモリー236をアドレス指定するために使用さ
れる。 代わりとして、内部バス260におけるデータはバイト
・スワッピング・マルチプレクサ262に。−ドでき、
その出力はスクラツチパツド・メモリー236に書込む
ことができる。更に、内部バス2601こおけるデータ
はデータ選択マルチプレクサ269にロードでき、その
出力はFレジスタ274、1レジスタ270、MIレジ
スタ272、およびマイクロプロセサ232にロードで
きる。Kbロ スクラツチパツド・メモリー・ロジック
チャネル番号レジスタ296は、クロツク信号PCLK
CH−が2進数零から2進数1の状態に遷移する時内部
バス260のデータ回線PBUS03+乃至PBUSO
9十をそのデータ入力にクロツクすることにより、10
ビットのチャネル番号の最下位の7ビットでロードされ
る。このチャネル番号レジスタはDMC I/○コント
ローラと関連して使用されてスクラツチパツド・メモリ
ー236のPCT表をアドレス指定するため、チャネル
番号の最下位の7ビットだけがチャネル番号レジスタに
おいて保管されるだけでよい(第24図参照)。PMC
チャネル番号の最上位の3ビットは常に零である。シス
テム1バスAおよびBからの信号 PBYTEX十の状態も又チャネル番号レジスタ296
に入力され、信号PDMCIO+として出力される。 チャネル番号レジスタ296のクロック信号PCLKC
H−はNANDゲート504から得られる。NANDゲ
ート504の1入力である信号PIOCTL+は、フア
ームウエア・ワード・ビット32乃至34の状態(第3
5C図)を復号する副指令デコーダ244−2の出力を
反転するィンバータ528により出力される。NAND
ゲート504に対する他の2入力は局部レジスタ242
(第42図)によって出力される信号RDDT27十お
よびRDDT28十であり、その相方が2進数1にセッ
トされる時(第37D図参照)、NANDゲート504
を完全に付勢してその出力である信号PSAF斑−を2
進数零にする。信号PSAR茂‐が2進数零の時、ィン
バータ506の出力である信号PSAFBS+は2進数
1となりANDゲート508を部分的に付勢する。信号
PTIME3十が1次時間3の始めに2進数零から2進
数1に遷移する時ANDゲート508は完全に付勢され
、これによりクロック信号PCLKCH−を2進数零か
ら2進数1の状態に遷移してチャネル番号レジスタ29
6をクロツクする。チャネル番号レジスタの出力である
信号PSAROI+乃至PSAR06十はSPMアドレ
ス・マルチプレクサ294の11入力側に入力される。 チャネル番号レジスタ296の他の2つの出力である、
信号PDMCIO+およびPS山OB十は分岐オン・テ
スト回路網254に対して入力され(第9図)、その出
力である信号RASBT9十はアドレス・ゼネレータ1
マルチプレクサ248−1(第42図)に入力される。
信号RASBT9十はCPUファームウェアにより使用
されて、信号PDMCIO十から得る時IOCタイプが
DMA IOCかDMC IOCかをテストし、信号R
ASBT9が信号PSAIOB十から得る時入力チャネ
ルと出力チャネルのどちらが使用されるかかをテストす
る。チャネル番号レジス夕296のロック動作に加えて
、信号PCLKCH−は又アドレス/範囲フロップ50
2をクロツクする。 クロツク信号PCLKCH一はアドレス/範囲フロツプ
502のデータ(D)入力における信号RDDTI9十
をクロツクする。 CPUファームウェア・ワードのビット19の状態およ
びアドレス/範囲フロツプ502のクロック動作の制御
により、CPUファームウェアはフロツプ502のセッ
ト又はリセツト動作を制御することができる。アドレス
/範囲フロップ502のセットおよびリセット動作は又
、更にファームウェア・ワード・ビット24乃至26の
復号から出力されるそのセット(S)およびリセット(
R)入力側の信号PSAR7S−およびPSAR7R一
によって制御される。アドレス/範囲フロップ502の
出力である信号門AR07十はSPMアドレス・マルチ
プレクサ294の11入力側へ入力され、スクラッチパ
ッド・メモリー236のアドレス指定に際して最下位ビ
ットして使用される。 2進数1はSPMのマルチブレクサ294の11入力の
最上位ビットにセットされ、SPMのアドレス・マルチ
プレクサ294の選択(SEL)入力側で2進数1とな
る信号RDDT22十によってこの11入力が選択され
る時、スクラッチパッド・メモリー236内におかれた
プログラム・チャネル表がアクセスされる。SPM内の
PCTをアドレス指定する時、SPMアドレスの最下位
ビットは、チャネル番号レジスタ296からの6ビット
によりPCTエントリ・アドレスのアドレス・ワード又
は範囲ワードが参照されるかどうかを決定する。即ち、
もしアドレス/範囲フロツプ502がセットされてその
出力(信号PSAR07十)を2進数1にするならば、
PCTチャネル対の範囲ワードがアドレス指定され、又
もしフロツプ502がリセットされるとPCTチャネル
対ェントリのアドレス・ワードがアドレスに指定される
(第10図参照)。SPMアドレス・マルチブレクサ2
94の10入力は2進数零に等しくセットされた最上位
の4ビットを有し、他の4ビットは信号RDDTOI+
およびRDDT05+乃至RODT07十である。 このため、10入力が2進数零である信号RDDT22
十(第35C図および第35C図参照)によって選択さ
れる時、マイクロ命令CPUファームウェア・ワードが
SPM236をアドレス指定することが可能となる。出
力制御(F)入力側の信号KENSPA−が2進数零で
ある時、SPMアドレス・マルチプレクサ294の出力
が付勢される。スクラツチ/ぐツド・メモリー236は
、SPMのアドレス・マルチプレクサ294からその8
ビットのアドレスである信号PSARSO十乃至PSA
RS7十を受取る。スクラッチパッド・メモリー236
は、本文中に参考のため引用された「インターシル(l
nte岱il)社半導体製品カタログ」なる文献に記載
されたインターシル社製のタイプ5539一2の17個
の1ビット×25蹄AMチップからなる。これらRAM
チップは、SPM236が第10図に示す如く各17ビ
ットの256ワードを提供するように構成される。SP
M236への書込みは、スクラッチパッド・メモリーの
書込み付勢(WE)入力側に2進数零をおくことにより
可能となる。もしファームウエア・ワードのビット0が
2進数1であれば、信号RDDTOO+は2進数1とな
ってNANDゲート587を部分的に付勢する。1次時
間4の始めにクロツク信号PTIME4十が2進数零か
ら2進数1の状態に遷移する時、NANDゲート587
が完全に付勢され、NANDゲート587の出力である
信号PSDWRT−を2進数零にさせる。 SPM236に対するデータ入力の最上位16ビットは
/ゞイト・スワッピング・マルチプレクサ262の出力
側からの信号PSDIOO−乃至唯Oil5一である。 SPM236に対するデータ入力信号の最下位ビットは
ファームウェア・ワードのビット1 9から得る信号R
DDTI 9十である。SPM236の出力は信号PS
DOOO+乃至PSDO1 6十である。SPMデータ
・レジスタ5 1 8は、Texas lnstmme
n広社製のタイプSN74S373の2つの8ビットの
Dタイプ透過ラツチからなる。SPMデータ・レジスタ
518の入力は、ORゲート585の信号PTIMEO
−およびPTIM旧1一を介して1次時間0および1次
時間1の間その出力側に対して付勢される。ORゲート
585の出力である信号PSDRCK+はSPMデータ
・レジスタ618のクロック(C)入力側に接続される
。SPMデータ・レジスタ518の出力は、常に、その
出力制御(F)入力側に生じる2進数零により付勢され
る。SPMデータ・レジスタ518の出力である信号P
SDROO+乃至PSDR15十はデータ・セレクタ・
マルチプレクサ269の10入力側に接続される。クロ
ック信号PCLEAR−が2進数零から2進数1へ遷移
する時、クリア・フロップ514がセットされ、そして
そのリセット(R)入力側で2進数零になる信号PCL
ERR−によってリセットできる。 フロツプ514のQ出力である信号PCPCLF十とお
よびPSD○16十であってスクラッチパッド・メモリ
ー236から読出される17ビット・ワードの最下位ビ
ットを保有するこの信号とは、クロツク信号PTIME
4十が1次時間4の始めに2進数零から2進数1の状態
に遷移する時レジスタ516にクロツクされる。クリア
・フロツプ5 1 4の他の出力である信号PCPCL
F−は、局部レジスタ242(第42図)に含まれるマ
イクロ命令ファームウェア・ワードのビット16乃至2
3のクリアのために使用される。レジスタ516からの
信号PCPCLR+およびィンバータ583からの信号
PCPCLR一は種々のレジスタおよびフロツプのクリ
アのためCPU全体にわたって使用される。 例えば、信号PCPCLR+はNORゲート595を介
してアドレス・レジスタ1,246−1のクリアに使用
され、信号PCPCLR−はアドレス・レジスタ2,2
46−2のクリアのために使用される(第42図参照)
。 又信号PCPCLR十はブートFROM240からのデ
ータの論出しを禁止するために使用される(第42図参
照)。レジスタ516に示される他の出力であってスク
ラツチパツド・メモリー236から読出されるワードの
最下位ビットの状態を反映する信号PTBS13十は分
岐オン・テスト回路網254(第9図)へ行き、アドレ
ス・ゼネレータマルチプレクサ248一1(第42図)
へ入力されるビットRASBT9十の決定に使用される
。、Kbハ バイト・スワッピング・ロジック次に第4
3図のバイト・スワッピング・マルチプレクサ262に
関して、CPUファームウェアがスクラツチパツド・メ
モリー236への書込みの前に内部バス上のデータの左
右のバイトのスワッピングを制御することができる方法
について説明する。 副指令1デコーダ244一1はマイクロ命令ファームウ
ェア・ワードのビット25乃至27の復号に使用され、
これが2進数001にセットされる時(第37F図参照
)、その出力の1つである信号PSDEXEN−を2進
数零にセットさせる。副指令1デコーダ244一1の出
力は2進数1である信号RDDT24一および2進数零
である信号RDDT32十によって部分的に付勢され、
1次時間1の始めに2進数1から2進数零の状態に遷移
しそして1次時間4の終り迄2進数零の状態に止まる信
号PTIMEO+により完全に付勢される。信号PSD
EXEN−が2進数零である時、バイト・スワッピング
・マルチプレクサ262の10入力がその出力側に付勢
され、内部バスに現われる左右のバイトの交換を生じさ
せる。もし信号鴎DEXEN−が2進数1であれば、バ
イト・スワッピング・マルチプレクサ262のli入力
が選択され、内部バス上のデータがバイトのスワッピン
グを生じることなくマルチプレクサ262の出力側に転
送される。このように、内部バス260からのデータの
バイトのスワッピングはデータがスクラッチパッド・メ
モリー236に書込まれる前に制御される。Kbニ マ
ィクロプロセサおよびデータ選択ロジツク前述の如く、
内部バス26川こ対する第3の入力はマイクロプロセサ
232により出力されるデータからのものである。 マイクロプロセサ232は、データ・セレクタ・マルチ
プレクサ269の出力側から16ビットの入力データで
ある信号PAUD15+乃至PAUDOO+を受取る。
マイクロプロセサ・レジスタ・フアイルはビットPST
A03+乃至PSPAOI+およびビットRDDT04
十によってアドレス指定される。ファイル・レジスタ・
アドレス・ビットPSPA03十乃至PSPAOI+は
第8図に示されるファイル・アドレス・マルチプレクサ
276から得られる。ファイル・アドレス・マルチプレ
クサの選択はファームウェア・ワードのビット2および
3によって制御される(第35A図参照)。マイクロプ
ロセサ232によって実行される命令は、ファームウェ
ア・ワード・ビット10乃至18(第35B図)から得
られる9命令(INSTR)入力である信号RDDTI
O+乃至RDDT18十によって制御される。前述の如
く、マイクロプロセサ232のデータ出力である信号P
BUS1 5十CP乃至PBUSOO+CPは、データ
・トランシーバA,288一1およびデータ・トランシ
ーバB,248一1の出力と点509でワイヤORされ
ている。データ・セレクタ・マルチプレクサ269の1
1入力は、標識(1)レジスタ・フロツブ270の8ビ
ットである信号PI08十乃至PI15十と、マスク(
MI)レジスタ272の出力である信号PRMROO十
乃至PRMR07十から得られる。 データ・セレクタ・マルチプレクサ269の12入力は
、信号RDDT08十,RDDTO9十およびRDDT
24+乃至RDDT31十である。データ・セレクタ・
マルチプレクサ269の出力は、その2つのセレクタ(
SEL)入力側の信号RDDT20十およびRDDT2
1十によって4つの入力から選択される。データ・セレ
クタ・マルチプレクサ269のストローブ(CE)入力
における2進数零は出力を付勢する。ファームウェア・
ワード・ビット20および21を制御することにより、
データ・セレクタ・マルチプレクサ269の出力は、ス
クラツチパツド・メモリー・データ・レジスタ518と
、1レジスタ270およびMIレジスタ272と、マイ
クロ命令ワード・ビット8,9および24乃至31から
の定数と、および内部バス260とから選択することが
できる(第36C図参照)。Kbホ 1、MIおよびF
レジスタ・ロジック標識(1)レジスタ270は8つの
Dタイプ・フロップからなり、その各々は2進数零から
2進数1の状態に変える信号PIRFBS一によりクロ
ックされる。信号PIRFBS−はマイクロ命令ファー
ムウェア・ビッド24乃至27を復号することにより生
成され、これらが2進数110と等しい時、信号PIR
FBS−を2進数零にセットする(第37F図参照)。
マスク(MI)レジスタ272は2進数零から2進数1
の状態に変える信号PRMRCK−によりクロツクされ
る。信号PRMRCK一はマイクロ命令ファームウェア
・ワードのビット28乃至31を復号することにより生
成され、これらが2進数1100と等しいとき、信号P
RMRCK−を2進数零にセットする(第37G図参照
)。MIレジスタ272は2進数零にセットされる信号
PCPCLR一によりクリアされる。ク。ツク信号PI
RFBS−およびPRMRCK一は反転付勢入力の信号
PTIME4一により付勢されるデコーダによって生成
され、従ってこれ等のク。ツク信号の相方が1次時間4
の終りに2進数零から2進数1の状態に変ることに注意
。機能(F)レジスタは、Fレジスタ・カウンタFRO
,274−0、Fレジスタ・力ウンタFR3,274一
2、およびFレジスタ・カウンタFR3、274一3か
らなる。 FRO,274−0およびFR3,274一3はそれぞ
れTexaslnstmmen$社製のタィプSN74
SI6叫同期4ビット可逆カウンタからなる。FR2,
274一2は2つのタイプSN74SI69Aカウンタ
からなる。FRO,FR2,FR3のクロツクはそのク
ロツク‘C)入力側の信号PRFOLK+により制御さ
れる。もしマイクロ命令ファームウエア・ワード・ビッ
ト32乃至34が2進数100と等しければ、信号PF
RCLK+は1次時間3の終りに2進数零から2進数1
へ変る。(第35C図参照)。Fレジスタ・力ウン夕F
RO,274−0のロードはそのロード(L)入力側に
おける信号PFRLDO−によって制御される。宿部P
FRLDO−は信号RDDT26十およびRDDT27
十を一緒のNANDすることによって生成される。Fレ
ジスタ・カウン夕FR2,274一2のロードはそのロ
ード(L)入力側における信号PFRLDM−によって
制御される。信号PFRLDM一は信号RDDT28十
およびRDDT29十を一緒にNANDすることにより
生成される。入力信号PAUO15十乃至PAUD12
十によるFレジスタ・力ウンタFR3のロードはそのロ
ード(L)入力側で信号PFRLD3一によって制御さ
れる。信号PFRLD3一は信号RDDT30十および
RDDT31十を一緒にNANDすることによって生成
される。Fレジス夕・力ウンタFRO,274一0はそ
のカウント付勢(PおよびT)入力側の信号RDDT2
6十によってカウントするように付勢される。 FレジスタFR2,274−2はそのカウント付勢(P
およびT)入力側の信号RDDT28十によりカウント
するよう付勢される。Fレジスタ・力ウンタFR3,2
74一3はそのカウント付勢(PおよびT)入力側の信
号RDDT30十によりカウントするよう付勢される。
Fレジスタ・カウンタFRO,274−0のカウントの
方向はその可逆(U/D)入力側の信号RDDT27十
により制御される。Fレジスタ・カウンタFR2,27
4一2のカウント方向はその可逆(U/D)入力側の信
号RDDT29十によって制御される。Fレジスタ.力
ウンタFR3,274一3の力ウンタト方向はその可逆
(U/D)入力側の信号RDDT31十によって制御さ
れる。Fレジスタの出力のあるものは、ブートPROM
240(第42図)、ファイル・アドレス・マルチプレ
クサ276(第8図)、および分岐オン・テスト回路網
254の入力である。Fレジスタの出力も又CPUロジ
ック内の他の場所においても使用される。Kbへ バス
指令ロジックCPUからシステム・バスAおよびBにお
ける1/0コントローラおよび主メモリーへ行く種々の
指令信号は第43図に示される。 指令トランシーバA,286一1および指令トランシー
バB,282一1から来る信号および信号PIOCTA
−およびPIOCTB−は全てCPUにおいて生成され
、システム・バス上を1/0コントローラ又は主メモリ
ーへ伝送される。PBYTEX+,PBUSY−2Aお
よびPBUSY−2B等の他の指令信号はCPUにおい
て生じて1/0コントローラ又は主メモリーへ送出され
るか、あるいは1/0コントローラ内で生じてシステム
・バスを介してCPUへ送出され得る。Kbへi l/
○指令ロジック 次に第43図において、指令トランシーバA,286一
1、および指令トランシーバB,282−1はTe滋s
lnstmments社製のタイプSN74LS24
5であり、データ・トランシーバA,288一1および
データ・トランシーバB,284−1に関して前に述べ
た如きものである。 指令トランシーバAおよび指令トランシーバBの指向(
01R)および出力付勢(F)入力側に2進数零を有す
ることにより、両トランシーバはその出力を常に付勢さ
せ、情報転送の方向はCPU(D)入力からシステム・
バスAおよびB(Q)出力へ向う。入力信号RODT2
9+乃至RDDT31十は、ファームウェア・ワード・
ビット29乃至31から得られ、1/0指令(第37E
図)をシステム・バスAおよびB上の1/0コントロー
ラに送るため使用され、指令トランシーバA,286一
1およびB,282一1に共通である。信号BCYCO
T−およびPTIM旧3一は、第14図に示したクロッ
ク・ロジックから得たタイミング信号であり、指令トラ
ンシーバA,286−1および指令トランシーバB,2
82−1によりシステム・バスAおよびBの相方に伝送
される。初期化信号PCLEAR一は同様にシステム・
バスAおよびシステム・バスBの両方に送られる。付勢
IOCデータ・ドライバ信号PENBSA−0 0およ
びPENBSB−00はNANDゲート52 1および
5 34の出力であり、それぞれ指令トランシーバA,
286一1および指令トランシーバB,282一1によ
ってシステム・バスAおよびシステム・バスBに伝送さ
れる。副指令デコーダ244一2は1次時間1の始めに
付勢され、付勢(EN)入力側の信号PTIMEO+に
よって1次時間4まで付勢状態を維持する。 副指令デコーダ244一2は信号RDDT32+乃至R
DDT34十を復号し、前述の如く、信号PMRFSH
一,PMRCON−を生成し、又信号PIOCTLを生
成する(第35C図参照)。信号PIOCTLはィンバ
ータ528によって反転されて信号PIOCTL+を生
じる。信号PIOCTL十はNANDゲート536およ
びNANDゲート538を部分的に付勢する。NAND
ゲート536が2進数零である信号RDDT27一によ
り完全に付勢される時、その出力である信号PIOCT
A−は2進数零であって、システム・バスA上のIOC
に対して回線RDDT28十BA乃至RDDT31十B
A上の符号化された1/0指令が有効であることを表示
する。同様に、NANDゲート538は2進数零である
信号RDDT28一により完全に付勢される。このため
、NANDゲート538の出力である信号PIOCTB
−を2進数零にさせ、システム・バスB上のIOCに対
して回線RODT29十BB乃至RDDT31十BB上
に符号化された1/0指令が有効であることを表示する
。(第37D図参照)。副指令デコーダ244−2の出
力信号PIOCTL一は又1/0指令1デコーダ244
−3を付勢するため使用され、このデコーダは信号RD
DT24+乃至RDDT26十を復号する(第37C図
参照)。1/0指令1デコーダ244一3の出力信号P
BSIOA−およびPBSIOB一はそれぞれNAND
ゲート521および534に接続され、マイクロ命令フ
ァームウェア・ワードのビット24乃至26の復号が各
出力信号を2進数零にセットする時各NANDゲートを
部分的に付勢する。 NANDゲート521および534は2進数零である信
号P既FMD+によって完全に付勢される。信号P斑F
MD十は、割込み要求レジスタ250‐1から生じる信
号P斑FMD−を反転するィンバ‐夕520の出力であ
る(第42図参照)。Kbへii 進行中および使用中
のロジック1/0指令1デコーダ244一3からの出力
信号PROCED−はィンバータ544により反転され
て信号PROCED+を生じ、この信号は更にィンバー
タ546により反転されて信号PROCED−2Aを生
じ、ィンバータ547により反転されて信号PROCE
D−2Bを生じる。 信号PROCED一2Aはシステム・バスAに行き、信
号PROCED−2Bはシステム・バスBに行き、各バ
ス上の1/0コントローラに対してCPUが各システム
・バス上のIOCから最新の割込み要求を受入れたこと
を表示する。あるいは又、CPUは回線PROCED−
2A上のシステム・バスAのIOCから、又回線PRO
CED−2B上のシステム・バスBのIOCから進行中
信号を受取る。これ等の両回線はNORゲート550に
対する入力であって信号PROCED−20を生じ、こ
れが更に分岐オン・テスト回線網254(第9図)へ行
き、この回線網はアドレス・ゼネレータ1マルチブレク
サ248−1(第42図)によって使用される信号RA
SBT9十を生じ、それによるシステム・バスA又はB
上のアドレス指定されたIOCがシステム・バス回線R
DDT29+乃至RDDT31十上の1/0指令を受取
ったかどうかをCPUファームウエアにテストさせる。
1/0指令1デコーダ244一3の出力側の信号PBB
USY一は前に述べたばかりの進行中ロジックのそれと
頬以のロジックに行き、システム・バスAおよびBにお
ける1/0コントローラに関して使用中信号を送受する
。 詳細には、信号PBBUSY一はインバータ552によ
って反転されて信号PBBUSY+を生じ、この信号は
更にィンバータ554によって反転されてシステム・バ
スAに関して入出する信号PBUSY−2Aを生じ、ま
たインバータ566によって反転されてシステム・バス
B‘こ関して入出する信号PBUSY−2Bを生じる。
信号PBUSY−2AおよびPBUSY−2BはNOR
ゲート558に入力されて、このゲートは分岐オン・テ
スト回路網254(第9図)へ行く信号PBBUSY−
20を生じ、この回線網254の出力である信号RAS
BT9十アドレス・ゼネレータ1マルチプレクサ248
ーー(第42図)に行く。Kbへiii 議出し/書込
みバイト・ロジック書込みバイト0、信号PWRTBO
+および書込みバイト1信号PWRTBI+は、それぞ
れインバータ524および526を経てRDDT08十
およびRDDTOI+を反転することによってCPUか
ら生じることができ、あるいはこれ等の信号はシステム
・バスA又はB上におかれたIOCから受取ることがで
きる。 従って、これら書込みバイト信号は、ファームウェア・
ワードのビット8および9(第35B図)によって制御
されるか、システム・バスの一方のIOCから受取るこ
とができる。信号PWRTBO+およびPWRTBI+
は共に、出力信号PMREAD+を生じるANDゲート
530を部分的に付勢するため使用される。信号PMR
EAD十は、2進数1の時NANDゲート531を部分
的に付勢し、このゲートはANDゲート564により出
力される信号PMMCYC+が2進数1である時完全に
付勢される。 NANDゲート531の出力である信号PMRCYC一
は割込み要求レジスタ250−1(第42図)の入力に
1つに行く。Kbへiv メモリーGOロジック 読出しサイクル、書込みサイクル又はリフレッシュ・サ
イクルを実施するよう〆モリーに通知する主メモリーG
O信号は、主としてファームウェア・ワードのビット2
3の制御によって生成される(第35C図)。 条件付き議出し信号PMRCON一は副指令デコーダ2
44一2の出力の1つであり、ィンバー夕560によっ
て反転されて、NANDゲート5 6 2を部分的に付
勢する信号PMRCON十を生じる。制御フロップ4の
フロップ258−4は、そのセット(S)入力側で2進
数零である信号PTCF4S一によりセットされ、その
リセット(R)入力側で2進数零である信号PTCF4
R−によってリセットできる。制御フロッブ4のフロッ
プ258一4は又、2進数零から2進数1の状態に変る
信号PCTF4Cークロックによりそのデータ(D)入
力側で回線PBUSOO+上で生じる16ビットの内部
バス260の最上位ビットをゲートすることによってセ
ットできる。信号PTCF4S−,PTCF4C−およ
びPTCF4R一はファームウェア・ワードのビット2
8乃至31を復号することによって生成される(第27
G図)。セットされると、制御フロツプ4のフロツプ2
58一4の信号PTCF04−2進数1となり、NAN
Dゲート562を完全に付勢して、その出力側の信号P
RMCON−20を2進数零の状態にセットする。条件
付き論出しを行うことにより信号PMRCON−は2進
数零となり、制御フロップ4のフロツプ258−4をセ
ットすることにより信号PTCF0 4十は2進数1に
なって信号PMRCON−2川ま2進数零となり、AN
Dゲート564を消勢する。ANDゲート564の消勢
により、さもなければマイクロ命令のビット23が2進
数1であれば生じるメモリーGO信号の生成を禁止する
。メモリーGO信号の生成を禁止するこの能力は、同じ
主メモリーのロケーションへの記憶に先立ってメモリー
読出しを行うことが望ましくないような状態(記憶タイ
プのソフトウェア命令の処理における如き)において、
CPUファームウェアによって使用される。 このような状態においては、主メモリーの議出し(メモ
リー・パリティ・エラーの検出を行う)は禁止され、メ
モリー書込み操作のみが許可され(パリティ・エラーの
検査は行わない)、それによりメモリー・パリティ・エ
ラー・トラツプの可能性を除去するものである。もし信
号RDDT23十が2進数1であり、信号PMRCON
−20が2進数1であれば、ANDゲート564は完全
に付勢され、出力信号PMMCYC+がメモリーGOフ
ロツプ566のデータ(D)入力側で2進数1となる。 メモリーGOフロップ566のデータ入力における2進
数1は、1次時間3の始めに2進数零から2進数1に遷
移する信号PTIM頂3十によりクロツクされ、これに
よりフロツプをセットし出力信号PMEMGO+CPを
2進数1にする。メモリーGOフロツプ566は、信号
PTIMEO−が2進数1から2進数零の状態に変える
時1次時間0の始めにリセットされる。信号KMEMG
O−はィンバータ568によって反転されて信号PME
MGO十MPを生じる。もしNORゲート570の入力
側の信号PMEMGO+CPとPMEMGO+MPのい
ずれかが2進数1であれば、出力信号PM旧MOO−は
2進数零となり、システム・バスB上のメモリーに通知
して主メモリーの講出しサイクル、書込みサイクル又は
リフレツシュ・サイクルを開始させる。L 主メモリー
の説明 主メモリーは高速のランダム・アクセス・メモリー(R
AM)であり、アドレス・シーケンス、データ・パター
ン、又は記憶反復速度の制限なしに全ての議生し/書込
み機能を行なうことが可能である。 その基本的アーキテクチュアは、それぞれ1紬乃至64
Kの16ビット・ワードの最小乃至最大の読出し/書込
み記憶域(RAM)を提供するよう横成された独自のメ
モリー構成からなっている。又、ワード当り2つのパリ
ティ・ビットが含まれる。主メモリーの性能特性は、そ
れぞれ1000ナノ秒のメモリ一読出しサイクル、書込
みサイクル又はリフレッシュ・サイクル(即ち、2つの
連続する500ナノ秒のCPUサイクル)と、500ナ
ノ秒のメモリー読出しアクセス時間と、15マイクロ秒
のメモリー・リフレッシュ速度を含む。La システム
・/ゞス・インターフエース主メモリーとCPUとの間
、又は1/0コントZローラを有する主記憶装置間の情
報(即ち、アドレス、データ、又はCPU指令)の全て
の転送はシステム・バスBによる。 主メモリー制御はCPU‘こより排他的に送られるメモ
リー指令により与えられる。主メモリーとシステム・バ
スとの間のインターフェース信号は:BUSXOO+乃
至BUSX 1 5 十,PTIME 3 −,PCL
EAR−,PWRTBO +,PWRTB I 十,M
EMPER一,PMEMGO−,PMFRSH−および
PBSFMD一であり、第6図および第7図に示される
。Laイ デー夕・ワード 主メモリー・データ・ワードは、第5図に示す如く16
データ・ビット(2バイト)からなり、2パリティ・ビ
ット(バイト当り1パリティ・ビット)を有する。 この2つのパリティ・ビットは主メモリー装置に対し独
自のものであるため、これ等はシステム・バス上をCP
U又はIOCには送られない。Laロ アドレス・ワー
ド メモリー・アドレス・ワード(第5図参照)は、主メモ
リー構成内の主メモリー・モジュールのメモリー・ロケ
ーションをソフトウエアがアクセスすることを可能にす
る。 Lb 主メモリーの構造の概要 主メモリー構成は、1つ以上の主メモリー・ボードを使
用することによって謙出し/書込みメモリー(RAM)
として構成される。 主メモリー・ボードは1弧、3が又は64Kの読出/書
込みメモリーを与える。主メモリー構成に対する最小乃
至最大記憶容量はそれぞれ1腿乃至64Kの16ビット
・ワード(1舷W乃至64KW)である。1つ以上の主
メモリー・ボード上のアドレス・スイッチにおいてセッ
トされた主メモリー・アドレス・フィールドは、{1)
主メモリー構成におけるロケーション0からその終り迄
連続し、【2ー常に4KWアドレスの境界で始まり、{
31下位メモIJ−0〜Xにおいて最大サイズの主メモ
リー・ボード(即ちモジュール)を常に保持して、別の
比較的4・ごな主メモリー・ボードの各々が先行する比
較的大きな主メモリー・ボード(即ちモジュール)の最
終アドレスに1を加えたもの(即ち、X+1)で始まら
なければならない。 じ モジュールの物理的/構造的特性 主メモリー・ボードは1弧×1ビットRAMチップを用
いて、アドレス指定を容易化し記憶の多機能性を得るた
め各主メモリー・ボード上に独立のRAMデータおよび
パリティのアレーを形成する。 このアレーは4つの行(0乃至3)に構成される。各行
は、その各々のワード当り2パリティ・ビットを1舷の
16ビット・ヮ一日こ与えるよう構成された18のRA
Mチップを使用する。各々の主メモリー・ボード‘ま、
各行を然るべ〈配置することにより1巡W、3狐W、又
は64KWの論出し/書込み記憶城を提供するように構
成することができる。アセンプルされた主メモリー・モ
ジュールにおける記憶容量は1細WRAMチップに配置
された行の数によって決定することができる。(例、主
メモリー・ボード上の行0および1の群は3がWの記憶
城と等しい)。仏イ モジュールのアドレス指定 アドレス・スイッチ組立体を用いて、主メモリー構成内
の固定されたアドレス範囲を主メモリー・ボードを割当
てる。 0 このアドレス・スイッチ組立体は、主メモリー・モ
ジュール内の主メモリー・アドレスを形成するために専
ら使用される。 このアドレスはシステム・バスのアドレス回線からのセ
グメント識別フィールド(ビット0乃至3)の1つと比
較され5てそれによりアドレス指定される主メモIJ−
・モジュールを決定する。主メモリー・モジュールにお
けるアドレス・スイッチ組立体の各モジュール・サイズ
・スイッチはそのOFF位置におかれる時4KWの主メ
モリー・アドレス・フィールド0を可能にし、このよう
に4KWの増分において1狐W乃至64KWの主メモリ
ー・サイズ手動形成を可能にする。W メモリー保管ユ
ニット メモリー保管ユニット(第1図の素子222)は主メモ
リー・ボードと共に使用される。 メモリー保管ユニットは、システムに対するAC電源が
突然遮断される時主メモリー・ボードのRAMアレーに
DC電力を維持し、メモリー保管ユニットが活動状態を
維持する限り、AC電源が回復される迄連続的なりフレ
ッシュ・サイクルを可能にする。仏 主メモリーの機能
の概要 本項では、システム・バスからのデータの処理における
その活動を強調する主メモリーの機能の概要を述べる。 第41図は王〆モリー・モジュールにおける主な素子を
示し、主メモリーとシステム・バスとの間のデータ・フ
ロー活動を示す。制御情報(即ち、リフレッシュ指令、
読出し/書込み指令、アドレス、等)は主メモリーによ
りシステム・バスから取出され、一時的に関連するメモ
リー・レジスタに記憶されてデータを処理し、あるいは
必要に応じて主メモリーをリフレッシュする。適合した
活動は、メモリー・サイクルがCPUからのメモリー開
始要求によって開始される時(信号PMEMGO−が2
進数零となる)実施される。リフレッシュ指令が受取ら
れる時、各RAMチップにおける選択された行が以下の
項で説明される如くリフレッシュされ得る。読出し指令
又は書込み指令が受取られる時、最初にそのメモリー・
アドレスがテストされてこれが規定されれたアドレス境
界を越えないことを検査する(即ち、開始アドレスの後
、および開始アドレスにメモリー・サイズを加えたもの
)。もしこの境界を越すと、メモリー・サイクルが終了
させられる。もしこの境界を越えなければ、メモリー・
サイクルは、議出し指令又は書込み指令に対する指令レ
ジスタを検査することによりこの要求を処理し続ける。
議出し指令の受取りはメモリー読出しサイクルを開始し
て、主メモリー・ロケーションからシステム・バスに2
バイトのデータ・ワードを取出す。同様に、ワード又は
バイトのメモリー操作に対する書込み指令がメモリー書
込みサイクルを開始して、システム・バスからデータ・
ワードを取出し4てこのワードを記憶し、あるいはこの
ワードからのいずれかのバイトを規定された主メモリー
・ロケーションへ記憶する。CPUは、メモリー読出し
操作のためのデータをシステム・バスが受入れることを
可能にし、データがメモリー書込み操作のためシステム
・バス上にあることを保証するデータ書込み操作におい
ては、2バイトのデータ・ワードがシステム・バスから
取出されてメモリ−・データ・イン・レジスタに記憶さ
れる。次に、書込み機能のタイプ(ワード書込み又はバ
イト書込み)に従って、ワード又はバイト書込みメモリ
ー操作が行われてメモリーにこのワード又はバイトを記
憶し、そしてパリティ・ビットが生成0されて各バイト
に対して記憶される(即ち、ワード当り2パリティ・ビ
ット、又はバイト当り1パリティ・ビット)。バイト操
作においては、バイト0(左)又はバイト1(右)がメ
モリー・ロケーションに記憶される時、このメモリー・
ロケーションの隣りのロケーション(反対側)のバイト
は影響されない。議出しサイクルにおいては、2バイト
のデータ・ワードはその2パリティ・ビットと共に規定
されたメモリー・ロケーションから取出される。 2パリティ・ビットは直接パリティを検査ロジックに送
られるが、16ビットのデータ・ワードはデータ・アウ
ト・レジスタに直接送られ、ここでそのデータ・ワード
はCPUによる獲得のためシステム・バスにおかれる。 このデータ・ワードも又データ・アウト・レジスタから
データ・イン・レジスタを介してパリティ検査ロジック
に再循環され、この検査ロジツタでは2パリティ・ビッ
トと共に可能性のあるパリティ・エラーについて検査さ
れる。パリティ・エラーが生じる時メモリー・エラー・
ラツチにラツチ・アップされ、欠陥主メモリー・ボード
‘こおけるエラー表示灯が点灯され、CPUが然るべく
通知される(回線MEMPER−上のシステムリゞス上
)。主メモリーがリフレッシュ指令(CPUにより15
マイクロ秒以下毎に送出される)を受取って受入れる時
、システム・バスに対するデータは禁止され、講出しサ
イクルが開始されて各々の主メモリー・ボード上のRA
Mアレーの選択されたロケーションのデータを復元する
。 その完了後、リフレツシュ・アドレス・カウンタは次の
りフレッシュ指令に備えて1だけ増加される。仏イ主メ
モリーのタイミング 主メモリーの動作は、1000ナノ秒のメモリー・サイ
クルを合致する連続した500ナノ秒の2つのCPUサ
イクルを使用する。 第1のCPUサイクルはメモリー・サイクル(メモリー
GO)を要求してメモリー・アドレスおよび各指令を与
える。第2のCPUサイクルは、規定されたメモリー・
アドレスに対するシステム・バス・データを与え、ある
いはこのアドレスからシステム・バス・データを受取る
。その最初のCPUサイクルにおいて、主メモリーはリ
フレッシュ指令又は論出し/書込み指令と、低レベルの
メモリーG○(2進数零、PMEMGO−)信号を受取
る。 リフレッシュ指令又は議出し/書込み指令は適合した操
作に対して主メモリー・ボードを条件付ける。しかし、
低レベルのリフレツシュ指令信号PM『RSH一は、メ
モリー・サイクル要求の約200ナノ秒前にシステム・
バスにおかれ、それによって次のりフレッシュ指令を主
メモリーに警告する。メモリーGO信号PMEMGO−
は主メモリー構成内の各主メモリー・モジュールに配分
され、各主メモリー・ボード内のクロツク・ゼネレータ
を始動させる。もしリフレッシュ指令が受取られると、
1完全メモリー・サイクルの間記憶論出しサイクルが開
始されてアレー内の各RAMチップ1行をリフレッシュ
する。もし議出し/書込み指令が受取られると、システ
ム・バスからのメモリー・アドレスの最上位の4ビット
0〜3は各主メモリー・モジュールにおけるセグメント
・アドレスと比較される。どれか1つの主メモリー・モ
ジュールにおける比較一致が生ずれば、これはアドレス
指定されるものとして定義され、又メモIJ−存在(M
MPRES)信号を生じる。この信号、MMPRESは
、選択された主メモリー・ボード内の読出し又は書込み
操作のためのメモリー・サイクルを開始する。もし比較
不一致の場合、この要求は打切られてメモリー・サイク
ルが終了させられる。メモリー書込み操作における第2
の500ナノ秒のCPUサイクルの間、データは外部ソ
ース(CPU又は1/0コントローラ)からのシステム
・バスにおいて使用可能になる。メモリー読出し操作に
おいて、低レベル付勢メモリー・データ信号P既FMD
−がシステム・バスから受取られてバス上にメモリー・
データを付勢する。同時に、メモリーは又パリティ・ェ
フー(MEMPER−)信号を送出し、ハイの時エラー
のない講出しメモリー操作を表示し、ローの時は現行メ
モリー・サイクルにおいてパリティ・エラーが生じたこ
とを表示する。戊口 主メモリー・モジュール 本項では、主メモリー・モジュール(ボード)において
使用されたロジックの機能について簡単な記述を行う。 第41図は、各素子間の信号およびデータの転送経路を
示す主メモリー・ボードのブロック図である。主要素子
は、1つの主メモリー・ボード‘こ対して6巡x16ビ
ット迄のワード(1ワードり2パリティ・ビットが含ま
れる)の記憶容量を提供するため使用されるRAMデー
タ・アレー630とRAMパリティ・アレー632(合
わせてRAM又はアレーと呼ぶ)である。他の全ての素
子はこれ等アレーを支持して、これ等とシステム・バス
との間でデータを転送し、読出し又は書込みメモリー操
作の間各データ・ワ−ド‘こついてパリティを検査しあ
るいはこれを生成する。仏oi タイミング・ゼネレー
タ タイミング・ゼネレータ602は、王〆モリ−・モジュ
ール(第41図参照)において実施される全操作を活動
化してこれを同期させるタイミング・パルスを提供する
。 これはシステム・バスからのメモリー・サイクルに対す
る要求で活動化され(即ち、信号PMEMGO−)、あ
るいはシステムに対するAC電源が消勢される時パワー
・オン信号BPOWON十によって活動される無先行リ
フレッシュ要求(MNOPRR+)信号で活動化される
。タイミング・ゼネレータ602は主メモリー・ボード
全体に配分されるタイミング信号を発生して、アドレス
・レジスタ604、データ・ィン・レジスタ606およ
び書込み付勢をクロックし、および列アドレスと行アド
レスをストローフする。Leロii 一5Vゼネレータ RAMチップは主メモリー・ボードにおかれた−5ボル
ト・ゼネレータ608によって生成される直流の−5ボ
ルトを要求する。 システム電源又はメモリー保管ユニットからの直流十1
2Vおよび直流+5Vゼネレータを駆動する。このゼネ
レータから生じる−5VDCがフィル夕され、アレー内
のRAMチップに送られる。仏ロiii 電源故障ロジ
ック 電源故障ロジック628はバス・パワー・オン・(BP
OWON+)信号を監視してメモリーに来るべきAC電
源遮断を警告する。 このモニターにより、CPUに追加の2ミリ秒を与えて
、中央プロセサの操作AC電源故障のため停止する前に
関連するシステム情報でメモリーを更新させる。AC電
源故障の後、主メモリー・モジュールが内部リフレッシ
ュ操作モードにセットされ、AC電源がシステムに対し
回復される迄主メモリー・モジュールをアクセスするこ
とができない。比ロiv RAMアドレス制御および分
配ロジック1腿WRAMァレ‐に対するアドレス・フィ
‐ルドは7行7列に構成されて12餅庁×128列のマ
トリックスを形成する。 RAMアドレス制御及び配分ロジック604は、このア
レーにおける特定のロケーションのアドレス指定をこの
ロケーションに関する特定の行及び列のアドレスを発生
することによって行うように設計されている。このため
、メモリ一読出し又は書込みデータ・サイクルの始めに
システム・バスからデータ・イン・レジスタ606に記
憶された16ビットのメモリー・アドレス・ワードを用
いてこのタスクを実施する。データ・イン・レジスタ6
06のビット3とビット10乃至15は行アドレス・フ
ィールドを形成し、データ・レジスタ・ビット2および
4乃至9は列アドレス・フィールドを形成する。両フィ
ールド同時にその各々の行および列のアドレス・レジス
タ634と636に記憶される。行アドレス・レジス夕
634の内容は、行アドレス・スロープ信号やローにな
る時アレー内にストローブされる。列アドレス・レジス
タ636の内容はこの時低レベルの列アドレス・ストロ
ーブ信号によりアレー内にストローブされる。行および
列アドレスの相方は、新しい行および列アドレスでオー
ハーレィされるアレー内に留まる。メモリー・アドレス
制御及び分配ロジック604は又、2ビット・メモリー
・アドレス・フィールドをデータ・ィン・レジスタ60
6から分離してチップ選択ロジック624におけるチッ
プ選択レジスタに記憶し、それによって主メモリー・モ
ジュールにおける適合した行を選択する。 この特定のビットはビット0および1である。このフィ
ールドは、レジスタ内の1狐Wチップの機能性と関連し
て、主メモリー・モジュールにおける行0、1、2又は
3を選択する。リフレツシユ・ロジック622内のりフ
レッシュ行アドレス・カウンタの内容は、リフレッシュ
操作の間行アドレス・レジスタ634の内容にとって代
わり、行アドレス・レジスタからの内容と同様にしてこ
のアレー内にストローブされる。 更に、リフレツシユ・メモリー・サイクル信号はリフレ
ツシュ操作中にローに維持され、‘1}適合したアレー
内の全チップを付勢することによりアレーをリフレツシ
ユし、かつ【2}デ−夕のチップ・アレーからシステム
・バスへの転送を阻止する。仏ロv セグメント選択ロ
ジックセグメント選択ロジック610は主メモリー・モ
ジュールのアドレス範囲を規定し(アドレス・スイッチ
組立体638からのスイッチ・セッティングのあるもの
を用いて)、この範囲をシステム・バスからのメモリー
・アドレスを用いて有効にし、このアドレス範囲を越え
ない時この主メモリー・モジュール内でメモリー・サイ
クルを実施する。 もしこの範囲を越えるとメモリー・サイクルは実施され
ない。リフレッシュ操作又はAC電源故障は選択ロジッ
クを無視してアドレス存在条件をシミュレートし、主メ
モリー・モジュールにおいてリフレッシュ操作を活動化
する。戊口の データ・イン/データ・アウト・レジス
タデータ・イン・レジスタおよびデータ・アウト・レジ
ス夕606および612は、書込み又は読出しメモリー
操作の間システム・バスBUSXOO+乃至BUSX1
5十とRAMデ−夕・アレー630間でのデータ転送の
ため一時的にデータ・バッファとして使用されるこれ等
のレジスタは又議出し操作において使用されて、出力デ
ータをパリティ検出ロジックに再循環させ、ここでこの
データが可能性のあるパリティ・エラーについて検査さ
れる。 戊ロ価 パリティ・ゼネレータおよび検査ロジックパリ
ティ・ゼネレータおよび検査ロジック616はデータ・
イン・レジス夕を監視して、ワード又はバイト書込みメ
モリー操作の間、各16ビット・データ・ワード}こ対
する2パリティ・ビットを、あるいは各データ・バイト
に対する1パリティ・ビットを生成してパリティ・アレ
ー632に記憶する。 読出しメモリー操作においては、パリティ・ゼネレータ
および検査ロジックは又データ・アウト・レジスタおよ
びパリティ・アウト・レジスタ612および614を監
視して各データ・ワードにおけるパリティを検査する。
書込みワード操作においては、両パリティ・ビットがパ
リティ・アレーに記憶される。 しかし、書込みバイト操作において、記憶されるバイト
に対する適合したパリティ・ビットのみがパリティ・ァ
レーに記憶される。対向するパリティ・ビットに対する
パリティ・アレー内の隣接ロケーションは影響を受けな
い。読出しメモリー操作においては、データ・ィン・レ
ジスタ606からのデータ・ワードおよびパリティ・ア
ウト・レジスタ614からの2パリティ・ビットが可能
性のあるパリティ・エラーについてパリティ検査ロジッ
クにおいて検査される。 もしパリティ・エラーが生ずれば、ェフー・ロジック6
26内のエラー・フロツプがセットされて、システム・
バスに対して低レベルのメモリー・パリティ・ェフー(
MEMPER−)信号を送り、主メモリー・ボ−ド‘こ
おける発光ダイオード(LFD)のパリティ・エラー表
示灯618をONにする。丘ロ価 読出し/書込み制御
ロジック 論出し/書込み制御ロジック620は、回線PWRTB
O十およびPLyRTBI十に付号化された読出し/書
込み指令コード‘こついてシステム・バスを監視し、読
出し(ワード)指令、書込みバイト0指令、書込みバイ
ト1指令又は書込みワード指令に関するこのコードを復
号し(第6図参照)、そして符号化された指令を実行の
ためRAMアレーに送出する。 リフレッシュ指令が受取られる時、読出し指令は読出し
/書込み制御ロジック620内で自動的に符号化されて
アレ−をリフレツシュする。Leロix リフレツシュ
・ロジック リフレツシュ・ロジック622の目的は、2ミリ秒(m
s)毎に主メモリー(RAM)内のデータを復元するた
めに必要なりフレッシュ・サイクルを活動化しかつこれ
を制御することである。 規則正しいインターバルでのRAMデータ復元は、MO
SRMMデバイスの動的特性の故に必要である。(例、
MOSRAMデバイスを動的メモリーとして使用すると
き、その充電されたデータの劣化は、ある限られた時間
が満了する前に再充電されれば、この時間内に始まる)
。このリフレツシュ・ロジックは15マイクロ秒毎にリ
フレッシュ・サイクルを支持して主メモリー構成内のデ
ータを維持するよう設計される。15マイクロ秒のIJ
フレッシュ・サイクルは1母KRAMチップ・アレーに
よって決定される(即ち、2ミリ秒/128行=15マ
イクロ秒)。 リフレッシュ・ロジックは正規のIJフレッシュ指令(
PMFRSH一は2進数零)についてシステム・バスを
監視してリフレツシュ・サイクルを実施する。 この指令は、リフレツシュ指令の時が近づいていること
を警告するため、メモリー要求(PMEMGO−=2進
数零)の開始の200ナノ秒前一にシステム・バス上に
なければならない。メモリーGO信号の受取りと同時に
、リフレッシュ・ロジックはこの指令を受入れ、これを
テストしてこれが最後の正規のりフレッシュ指令から1
5マイクロ秒経過していることを検証し、そしてメモリ
ー・リフレツシュ・サイクル(行アドレス・ストローブ
のみ)を開始してこの指令を実施する。リフレッシュ・
ロジックは又、現行リフレッシュ・サイクル中システム
・バス上へのいかなるデータ転送も禁止する。もしこれ
が正規の指令でれば、各RAMチップにおける論理的な
ローがその現行リフレッシュ・サイクルを介してその存
在するデータ・リフレッシュ(再充電)される。その完
了と同時に、リフレツシュ行アドレス・カウンタが次の
正規リフレツシュ指令に備えて1だけ増分される。もし
第2のリフレッシュ指令が15マイクロ秒内に受取られ
るならば、読出し操作がメモリー・アドレス・レジスタ
によって指定された単一メモリー・ロケーションにて行
なわれ、このデータはシステム・バスに転送されず、リ
フレツシュ行カウンタは変更されない。仏o× チップ
選択ロジック チップ選択ロジック624(開始アドレス・ロジックと
も呼ぶ)は、主メモリー構成に他の主メモリー・モジュ
ールの付加を許容する。 これは、主メモリー構成のアドレス・フィールド内の主
メモリー・ボード・アドレス・フィールトを再配置する
ことによってこの機能を行う。このロジックは又、RA
Mチップの第1行として主メモリー・ボード上の物理的
行0を規定する。アドレス・スイッチ組立体638にお
ける2つのスイッチは、4つの開始アドレスOK,16
K,32K,又は48Kの内の1つをセットするために
使用される2ビットの2進アドレス・フィールドを形成
する。この4つの開始アドレスは主メモリー構成におけ
る論理的行位置を表わす(論理的行0=1郎W、行1=
3松W、行2=4紬W、および行3=64KW)。チッ
プ選択ロジック624の更に詳細な説明は、本文中に参
考のため引用された1978王7月3日出願のC.M.
Nibの等の係属中の米国特許出願第921292号「
回転チップ選択法およびその装置」において見出される
。 Lf 主メモリーの要約 本システムの主メモリーは1乃至4つの主メモリー・モ
ジュールをシステム・バスBに取付けることにより構成
され、合計1舵乃至64Kワードの王〆モリーを提供す
る。 各メモリー・モジュール(又はボード)は1舷、3松又
は64Kワードを含む。各ワ−ドはデータ用の2つの8
ビットリゞィトとおよび2パリティ・ビットからなる(
データ・バイト当り1パリティ・ビット)。主メモリー
は全て、システム・バスAには見出されない主メモリー
独自のいくつかの信号を有するシステム・バスB上にお
かれねばならない。 更に、CPUは、CPUシステム・バスのデータ回線の
トランシーバを制御するのを可能にするため、主メモリ
ーからデータが読出されるべき時どのシステム・バス上
に主メモリーがあるかを無条件に知らねばならない(即
ち、データが来るシステム・バスに対するトランシーバ
はデータを受取るように、又他のシステム・バスのトラ
ンシーバはデータを伝送するように制御されねばならな
い)。このようにシステム・バスのトランシーバを制御
するCPUによって、両システム・バスAとB上のデー
タは同一となり、データが主メモリーから来るサイクル
の間、CPUはデータを要求するIOCがどのシステム
・バスにおかれているか子を考慮する必要はない。デー
タが主メモリーに送られるサイクルの間、CPUはどの
バスにIOCがおかれているかを考慮し、その結果シス
テム・バスのトランシーバがIOCにおかれているシス
テム・バスから受取るようにかつ他方のシステム・バス
に送出するように制御でき、これによって再びシステム
・バス上のデータ(又はアドレス)が同一であることを
保証する。MOS主メモリーは主メモリー・ボード上に
含まれるロジックにより2ミリ秒毎にリフレッシュされ
るが、RAMチップの各行はCPUからリフレツシュ信
号を受取った後にだけリフレッシュされる。 CPUは少くとも15マイクロ秒毎に1回リフ0レツシ
ュ信号を生成する(15マイクロ秒×128行=2ミリ
秒)。リフレッシュ操作は、2つのCPUサイクルを要
し、この間、CPUは主メモリーをアクセスしない。こ
のように主メモリー・リフレッシュを制御するCPUに
より、CPU(および5CPUファームウェアの制御下
で主メモリーと通信する全て1/0コントローラ)は、
アクセスが試みられる時主メモリーが使用可能となるこ
とを保証され得るのである。従って、主メモリーがリフ
レッシュ操作に使用中でありアクセスを再び試みなけれ
ばならないことをCPUに対し通知するため、システム
・バス信号又は回復ロジックを設ける必要はなくなる。
この保証がなされた主メモリーの可用度によりシステム
・バスの中とシステムの論理的要件を減少させることに
なる。これ迄の記述は例示のためのみに示したものであ
って、バス・コントローラはCPU以外のユニットでも
よいことは理解されよう。 又、システムに3つ以上の共通バスを設けてバス・コン
トローラに各共通バスを回らせ、それによって制御情報
が適正な共通バス上に生じかつデータが全ての共通バス
上に生じることを確保する方法で1つの共通バスが情報
を送出し他の全ての共通バスが情報を受取るようにし得
ることも理解されよう。又更に、主メモリーは直接共通
バスの1つに結合される必要がないこと、即ちCPUを
介して結合することができることも理解されよう。ある
いは又、主メモリーは直接共通バスに結合することもで
きるが、全ての主メモリー・モジュールを共通バスの1
つに結合する代りに、データが謙出されるべき主メモリ
ー・モジュールがどの共通バスに結合されるかをバス・
コントローラが知る限り、即ち通知される限り2つ以上
の共通バスに配分することがきる。これは、データが謙
出しデータを含むメモリー・モジュールが接続された1
つの非通/ゞスから受取られそして全ての他の共通バス
に伝送されるように、バス・コントローラが共通バスを
回るのを可能にする。本発明についてはその望ましい一
実施態様に関して記述したが、当業者にとっては、その
形態および詳細における前記およびその他の変更が本発
明の主旨および範囲から逸脱することなく可能であるこ
とが了解される。
第1図は本発明のシステム構成を示す全体ブロック図、
第IA図は本発明が実施例においてどのように実現され
るかを示すフローチャート、第2図は本発明の構成例を
示すブロック図、第3図は本発明の中央プロセサ・ユニ
ットを示す全体ブロック図、第4図は本発明のCPUレ
ジスタの書式を示す図、第5図は本発明のワードおよび
アドレスの書式を示す図、第6図は本発明のシステム・
バス・インターフェース信号を示す図、第7図は第6図
に示すシステム・バス信号の全体ブロック図、第8図は
第3図に示すCPUの更に詳細なブロック図、第9図は
第8図に示すCPUの制御ストアの更に詳細ブロック図
、第10図は本発明のCPUのスクラツチパツド・メモ
リーのレイアウトを示す図、第11図は本発明のCPU
‘こCPUレジスタが保持される位置を示す図、第12
図は第8図に示すシステム・バスのデータ制御部の更に
詳細なブロック図、第13図は本発明のシステム・バス
・タイミング図、第14図は本発明の基本・システム・
タイミングのロジック図、第15図は第14図に示され
た基本システム・タイミング・ロジックのタイミング図
、第16図は本発明のシステムのスタート・アップ/初
期化シーケンスのためのCPUフアームウエアのフロー
チヤ−トを示す図、第17図は本発明のシステム・バス
のアドレス/データ回線におけるアドレスおよびデータ
転送の書式を示す図、第18図は本発明のシステム・バ
スのRDDT回線において符号化される入出力指令を示
す図、第19図は本発明のシステム・バスにおけるメモ
リー・アクセス・シーケンスのタイミング図、第20図
は本発明のシステム・バスにおける入出力コントローラ
に対するCPU指令のシーケンスのタイミング図、第2
1A乃至第21D図は本発明のシステム・バスにおける
DMCデータ転送シーケンスのタイミング図、第22図
は本発明のシステム・バスにおけるDMAデータ転送シ
ーケソスのタイミング図、第23図は本発明のシステム
・バスにおける入出力割込みシーケンスのタイミング図
、第24図は本発明の入出力ソフトウェア命令に応答す
るシステム・バス上で転送される制御ワードの書式を示
す図、第25図は本発明の入出力ソフトウェア命令の入
出力機能コードを示す図、第26A図および第26B図
は本発明の10および10日のソフトウェア命令の書式
を示す図、第27A図および第27B図は本発明の10
LDソフトウェア命令の書式を示す図、第28図は第2
6A図および第26B図に示す10ソフトウェア命令を
実施するCPUファームウェアのフローチャート、第2
9図は第27A図および第27B図に示す10LDソフ
トウェア命令を実施するCPUファームウェアのフロー
チャート、第30図は本発明のCPUスクラッチパッド
・メモリーに保持されたプログラム・チャンネル表と1
0LDソフトウェア命令との間の相互対話を示す図、第
31図は本発明のトラップとソフトウェア割込み間の連
係を示す図、第32図は本発明のシステムにおける諸機
能に専用化された主メモリー・ロケーションを示す図、
第33図は本発明のCPUファームウェアの全体的フロ
ーチャート、第34図はCPUのファームウェアを示し
、本発明のソフトウェア割込み、トラップ、およびハー
ドウェア割込み間の対話を示す図、第35図は本発明の
CPUファームウェアのマイクロ命令ワードの書式を示
す図、第35A図乃至第35D図は本発明のCPUファ
ームウェアのマイクロ命令ワードの種々の制御フィール
ドを詳細に示す図、第36図は本発明のCPUマイクロ
プロセサにより実施される諸操作を示す図、第37A図
乃至第37G図は第35C図に示すCPUファームウェ
アのマイクロ命令ワードの副指令および制御フィールド
‘こより実施される諸機能を更に詳細に示す図、第38
図は本発明の入出力コントローラのブロック図、第39
図は第38図に示す1/○コントローラのタイミング、
要求およびリセット・ロジックを示す図、第40図は本
発明のシステム・バスおよび1/0コントローラにおい
て見出されるタイミング信号のタイミング図、第41図
は本発明の主メモリー・モジュールのブロック図、第4
2図は第9図に示される制御ストアのロジックを示す図
、第43図は第8図に示されたCPUのロジックを示す
図。 200…・・・中央プロセサ・ユニット(CPU)、2
01……制御パネル、202,204……システム・バ
スA,B、206,208,210,212,214,
216,218,220……入出力(1/0)コントロ
−ラ、222……メモリー保管ユニット、230・・・
・・・制御ストア、232……マイクロプロセサ、23
4……1/0システム・バス領域、236・・・・・・
スクラッチパツド・メモリー(PSM)、238..・
.・・フアームウエアROSメモリー、240・・・・
・・ブートPROM、242..・…局部レジス夕、2
44・・・・・・指令データ、248・・・…制御スト
ア・アドレス・ゼネレータ、250…・・・ハ−ドウェ
ア割込み回路網、254・・・・・・テスト回路網、2
56・・・・・・メジャー分岐回路網、257・・・・
・・ソフトウェア割込み回路網、258・・・・・・制
御フロップ、260・・・・・・内部バス、266・・
・・・・演算論理ユニット(ALU)、268・・・・
・・レジスタ・ファイル、269…・・・データ選択マ
ルチプレクサ、280・…・・CPUサイクル・アウト
時間ゼネレー夕、281“””クロツク、282,28
6”””システム・バス・ドライバ、284,288…
…レシーバ、290・・・…発振器、292・・・・・
・カゥンタ、2 9 4・・・・・・SPMアドレス・
マルチプレクサ、300〜334,350〜399……
フロツク、400……タイミング・ロジック、402…
・・・DMA/DMC要求ロジック、404・・・・・
・割込みロジック、406・・・・・・要求リセット・
ロジック、407・・・・・・デバイス・ロジック、4
09・・・・・・指令ロジック、413……チャネル番
号コンパレータ、417……割込みロジック、421・
・・…ナ−タ転送ロジック、429・・・・・・タスク
/構成ロジック、437・・・・・・状態ノデバィス識
別ロジック、445・・・・・・アドレス/範囲ロジッ
ク、602・・・…タイミング・ゼネレータ、604…
…RAMアドレス制御/分配ロジック、610・・・・
・・セグメント選択ロジック、622……リフレッシュ
・ロジック、628…・.・電源故障ロジック、630
……RAMデータ・アレー、6 3 2……RAMパリ
テイ・アレー、900〜990……フロツク。 ‘ノG.3F/G J FIG.IA Fノ○ 2 F/G.3 fノ○ 夕 ‘ン○.〆 〆/〇.Jア ○ 葦 ○ 葦 ○ 声 ○ 葦 ○ 葦 ○ 声 ‘ノ○.6 〆ノタ.ア ○ 葦 ○ ≦ ミ S コ 葦 S 葦 ‘/G.」3 ‘ノ○.′夕 ‘ンG・ ノタ ‘ソ○J9 FノG.20 ミ 葦 S ≦ FノG2ソ4−2ゾ〃 斤ンG‐2〆4 ‘ソG‐2ゾ8 ‘ン○.2JC ‘ンG・2ソク ‘ソG22 (ンG 23 〆/G.そぐ S 毒 蓮 葦 き ミ 」 き 毒 S〜 S S 葦 S 葦 S 岸 2 S L、 3 葦 S 毒 「〜 葦 Nh 葦 鍔 葦 ミ 声 や 声 * 岸 蔓 声 霊 声 8〜 葦 〜S ≦ 稔 葦 蔓 葦 葦 葦 き 葦 畠 葦 S 葦 S 葦 蓮 毒 FノG 38 ‘ノ6 38 FノG 39 FノG. 39 ‘ノ○ 39 ‘/G.子○ 雲 き 毒 ‘ノ○42 「ノ○.子2 ‘ノG 久3 FノG 子3 (スG 43
第IA図は本発明が実施例においてどのように実現され
るかを示すフローチャート、第2図は本発明の構成例を
示すブロック図、第3図は本発明の中央プロセサ・ユニ
ットを示す全体ブロック図、第4図は本発明のCPUレ
ジスタの書式を示す図、第5図は本発明のワードおよび
アドレスの書式を示す図、第6図は本発明のシステム・
バス・インターフェース信号を示す図、第7図は第6図
に示すシステム・バス信号の全体ブロック図、第8図は
第3図に示すCPUの更に詳細なブロック図、第9図は
第8図に示すCPUの制御ストアの更に詳細ブロック図
、第10図は本発明のCPUのスクラツチパツド・メモ
リーのレイアウトを示す図、第11図は本発明のCPU
‘こCPUレジスタが保持される位置を示す図、第12
図は第8図に示すシステム・バスのデータ制御部の更に
詳細なブロック図、第13図は本発明のシステム・バス
・タイミング図、第14図は本発明の基本・システム・
タイミングのロジック図、第15図は第14図に示され
た基本システム・タイミング・ロジックのタイミング図
、第16図は本発明のシステムのスタート・アップ/初
期化シーケンスのためのCPUフアームウエアのフロー
チヤ−トを示す図、第17図は本発明のシステム・バス
のアドレス/データ回線におけるアドレスおよびデータ
転送の書式を示す図、第18図は本発明のシステム・バ
スのRDDT回線において符号化される入出力指令を示
す図、第19図は本発明のシステム・バスにおけるメモ
リー・アクセス・シーケンスのタイミング図、第20図
は本発明のシステム・バスにおける入出力コントローラ
に対するCPU指令のシーケンスのタイミング図、第2
1A乃至第21D図は本発明のシステム・バスにおける
DMCデータ転送シーケンスのタイミング図、第22図
は本発明のシステム・バスにおけるDMAデータ転送シ
ーケソスのタイミング図、第23図は本発明のシステム
・バスにおける入出力割込みシーケンスのタイミング図
、第24図は本発明の入出力ソフトウェア命令に応答す
るシステム・バス上で転送される制御ワードの書式を示
す図、第25図は本発明の入出力ソフトウェア命令の入
出力機能コードを示す図、第26A図および第26B図
は本発明の10および10日のソフトウェア命令の書式
を示す図、第27A図および第27B図は本発明の10
LDソフトウェア命令の書式を示す図、第28図は第2
6A図および第26B図に示す10ソフトウェア命令を
実施するCPUファームウェアのフローチャート、第2
9図は第27A図および第27B図に示す10LDソフ
トウェア命令を実施するCPUファームウェアのフロー
チャート、第30図は本発明のCPUスクラッチパッド
・メモリーに保持されたプログラム・チャンネル表と1
0LDソフトウェア命令との間の相互対話を示す図、第
31図は本発明のトラップとソフトウェア割込み間の連
係を示す図、第32図は本発明のシステムにおける諸機
能に専用化された主メモリー・ロケーションを示す図、
第33図は本発明のCPUファームウェアの全体的フロ
ーチャート、第34図はCPUのファームウェアを示し
、本発明のソフトウェア割込み、トラップ、およびハー
ドウェア割込み間の対話を示す図、第35図は本発明の
CPUファームウェアのマイクロ命令ワードの書式を示
す図、第35A図乃至第35D図は本発明のCPUファ
ームウェアのマイクロ命令ワードの種々の制御フィール
ドを詳細に示す図、第36図は本発明のCPUマイクロ
プロセサにより実施される諸操作を示す図、第37A図
乃至第37G図は第35C図に示すCPUファームウェ
アのマイクロ命令ワードの副指令および制御フィールド
‘こより実施される諸機能を更に詳細に示す図、第38
図は本発明の入出力コントローラのブロック図、第39
図は第38図に示す1/○コントローラのタイミング、
要求およびリセット・ロジックを示す図、第40図は本
発明のシステム・バスおよび1/0コントローラにおい
て見出されるタイミング信号のタイミング図、第41図
は本発明の主メモリー・モジュールのブロック図、第4
2図は第9図に示される制御ストアのロジックを示す図
、第43図は第8図に示されたCPUのロジックを示す
図。 200…・・・中央プロセサ・ユニット(CPU)、2
01……制御パネル、202,204……システム・バ
スA,B、206,208,210,212,214,
216,218,220……入出力(1/0)コントロ
−ラ、222……メモリー保管ユニット、230・・・
・・・制御ストア、232……マイクロプロセサ、23
4……1/0システム・バス領域、236・・・・・・
スクラッチパツド・メモリー(PSM)、238..・
.・・フアームウエアROSメモリー、240・・・・
・・ブートPROM、242..・…局部レジス夕、2
44・・・・・・指令データ、248・・・…制御スト
ア・アドレス・ゼネレータ、250…・・・ハ−ドウェ
ア割込み回路網、254・・・・・・テスト回路網、2
56・・・・・・メジャー分岐回路網、257・・・・
・・ソフトウェア割込み回路網、258・・・・・・制
御フロップ、260・・・・・・内部バス、266・・
・・・・演算論理ユニット(ALU)、268・・・・
・・レジスタ・ファイル、269…・・・データ選択マ
ルチプレクサ、280・…・・CPUサイクル・アウト
時間ゼネレー夕、281“””クロツク、282,28
6”””システム・バス・ドライバ、284,288…
…レシーバ、290・・・…発振器、292・・・・・
・カゥンタ、2 9 4・・・・・・SPMアドレス・
マルチプレクサ、300〜334,350〜399……
フロツク、400……タイミング・ロジック、402…
・・・DMA/DMC要求ロジック、404・・・・・
・割込みロジック、406・・・・・・要求リセット・
ロジック、407・・・・・・デバイス・ロジック、4
09・・・・・・指令ロジック、413……チャネル番
号コンパレータ、417……割込みロジック、421・
・・…ナ−タ転送ロジック、429・・・・・・タスク
/構成ロジック、437・・・・・・状態ノデバィス識
別ロジック、445・・・・・・アドレス/範囲ロジッ
ク、602・・・…タイミング・ゼネレータ、604…
…RAMアドレス制御/分配ロジック、610・・・・
・・セグメント選択ロジック、622……リフレッシュ
・ロジック、628…・.・電源故障ロジック、630
……RAMデータ・アレー、6 3 2……RAMパリ
テイ・アレー、900〜990……フロツク。 ‘ノG.3F/G J FIG.IA Fノ○ 2 F/G.3 fノ○ 夕 ‘ン○.〆 〆/〇.Jア ○ 葦 ○ 葦 ○ 声 ○ 葦 ○ 葦 ○ 声 ‘ノ○.6 〆ノタ.ア ○ 葦 ○ ≦ ミ S コ 葦 S 葦 ‘/G.」3 ‘ノ○.′夕 ‘ンG・ ノタ ‘ソ○J9 FノG.20 ミ 葦 S ≦ FノG2ソ4−2ゾ〃 斤ンG‐2〆4 ‘ソG‐2ゾ8 ‘ン○.2JC ‘ンG・2ソク ‘ソG22 (ンG 23 〆/G.そぐ S 毒 蓮 葦 き ミ 」 き 毒 S〜 S S 葦 S 葦 S 岸 2 S L、 3 葦 S 毒 「〜 葦 Nh 葦 鍔 葦 ミ 声 や 声 * 岸 蔓 声 霊 声 8〜 葦 〜S ≦ 稔 葦 蔓 葦 葦 葦 き 葦 畠 葦 S 葦 S 葦 蓮 毒 FノG 38 ‘ノ6 38 FノG 39 FノG. 39 ‘ノ○ 39 ‘/G.子○ 雲 き 毒 ‘ノ○42 「ノ○.子2 ‘ノG 久3 FノG 子3 (スG 43
Claims (1)
- 【特許請求の範囲】 1 A バス・コントローラと、 B 前記バス・コントローラに結合されており、情報の
両方向転送のための複数の共通バスと、C 各々が前記
複数の共通バスの1つに結合された複数のユニツトと、
D 前記複数の共通バスの第1のバスに結合された前記
複数のユニツトの内の第1のユニツトであつて、該第1
のユニツトは、前記バス上の第1の転送サイクルの間情
報を前記複数のユニツト内の第2のユニツトに送出する
こと、E 前記第1の転送サイクルの間前記第1のユニ
ツトから情報を受取るための前記第2のユニツトであつ
て、該第2のユニツトは前記第1のユニツトにより送出
される前記情報の中で識別されること、F 前記複数の
共通バスを前記第1のユニツトに割当てて前記第1のユ
ニツトが情報を前記第2のユニツトへ送るのを可能にし
、かつ前記第1の転送サイクルの間前記第1のバスから
情報を受取りこれを前記複数の共通バスの内前記第1の
バス以外の全てのバスに送出する、前記バス・コントロ
ーラに含まれた第1手段であつて、それにより前記第2
のユニツトは前記複数のバスの任意のものに結合するこ
とができ、前記第2のユニツトが結合されたバスの識別
が前記第1のユニツト又は前記バス・コントローラに与
えられることを必要としないこと、から成るシステム。 2 A バス・コントローラと、 B 情報の両方向転送のため前記バス・コントローラに
結合された複数の共通バスと、C 各々が前記複数の共
通バスの1つに結合された複数のユニツトと、D 前記
バス・コントローラからの制御指令に応答して前記バス
・コントローラに対し進行指令を送出するための前記複
数のユニツトの内の第1のユニツトと、E 前記バス・
コントローラに含まれており、前記第1のユニツトから
前記進行指令を受取つて、前記第1のユニツトが前記複
数の共通バスのどれに結合されているかを決定するため
の第1の手段と、から成るシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/008,004 US4300194A (en) | 1979-01-31 | 1979-01-31 | Data processing system having multiple common buses |
US8004 | 1979-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS55103622A JPS55103622A (en) | 1980-08-08 |
JPS6030984B2 true JPS6030984B2 (ja) | 1985-07-19 |
Family
ID=21729285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55009508A Expired JPS6030984B2 (ja) | 1979-01-31 | 1980-01-31 | 多重共通バスを有するデ−タ処理システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US4300194A (ja) |
JP (1) | JPS6030984B2 (ja) |
AU (1) | AU540401B2 (ja) |
BE (1) | BE881410A (ja) |
CA (1) | CA1153079A (ja) |
FR (1) | FR2456974B1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6043546B2 (ja) * | 1980-06-27 | 1985-09-28 | 富士電機株式会社 | デ−タ転送異常処理方式 |
US4456965A (en) * | 1980-10-14 | 1984-06-26 | Texas Instruments Incorporated | Data processing system having multiple buses |
US4535448A (en) * | 1982-12-10 | 1985-08-13 | At&T Bell Laboratories | Dual bus communication system |
FR2538140B1 (fr) * | 1982-12-21 | 1988-06-24 | Thomson Csf Mat Tel | Dispositif de couplage de bus pour systeme de traitement de donnees a bus multiples |
US4615017A (en) * | 1983-09-19 | 1986-09-30 | International Business Machines Corporation | Memory controller with synchronous or asynchronous interface |
US4622630A (en) * | 1983-10-28 | 1986-11-11 | Data General Corporation | Data processing system having unique bus control protocol |
US4821174A (en) * | 1984-03-20 | 1989-04-11 | Westinghouse Electric Corp. | Signal processing system including a bus control module |
US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
US4878166A (en) * | 1987-12-15 | 1989-10-31 | Advanced Micro Devices, Inc. | Direct memory access apparatus and methods for transferring data between buses having different performance characteristics |
EP0357075A3 (en) * | 1988-09-02 | 1991-12-11 | Fujitsu Limited | Data control device and system using the same |
US5404137A (en) * | 1991-05-09 | 1995-04-04 | Levien; Raphael L. | High speed transition signalling communication system |
US5509127A (en) * | 1992-12-04 | 1996-04-16 | Unisys Corporation | Transmission logic apparatus for dual bus network |
JP3264465B2 (ja) | 1993-06-30 | 2002-03-11 | 株式会社日立製作所 | 記憶システム |
US6151643A (en) | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US11811420B2 (en) * | 2022-01-21 | 2023-11-07 | Texas Instruments Incorporated | Digital-to-analog converter with cascaded least significant bit (LSB) interpolator circuit |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3447135A (en) * | 1966-08-18 | 1969-05-27 | Ibm | Peripheral data exchange |
US3710324A (en) * | 1970-04-01 | 1973-01-09 | Digital Equipment Corp | Data processing system |
US3810114A (en) * | 1971-12-29 | 1974-05-07 | Tokyo Shibaura Electric Co | Data processing system |
US3832692A (en) * | 1972-06-27 | 1974-08-27 | Honeywell Inf Systems | Priority network for devices coupled by a multi-line bus |
US3909790A (en) * | 1972-08-25 | 1975-09-30 | Omnus Computer Corp | Minicomputer with selector channel input-output system and interrupt system |
US4016541A (en) * | 1972-10-10 | 1977-04-05 | Digital Equipment Corporation | Memory unit for connection to central processor unit and interconnecting bus |
US3886524A (en) * | 1973-10-18 | 1975-05-27 | Texas Instruments Inc | Asynchronous communication bus |
US3932841A (en) * | 1973-10-26 | 1976-01-13 | Raytheon Company | Bus controller for digital computer system |
GB1474385A (en) * | 1973-12-14 | 1977-05-25 | Int Computers Ltd | Multiprocessor data processing systems |
IT1002275B (it) * | 1973-12-27 | 1976-05-20 | Honeywell Inf Systems | Sistema di elaborazione dati a piu canali di ingresso uscita a risorse orientate per livelli di servizio distinti e interrompi bili |
US3999163A (en) * | 1974-01-10 | 1976-12-21 | Digital Equipment Corporation | Secondary storage facility for data processing systems |
US3996561A (en) * | 1974-04-23 | 1976-12-07 | Honeywell Information Systems, Inc. | Priority determination apparatus for serially coupled peripheral interfaces in a data processing system |
FR2273317B1 (ja) * | 1974-05-28 | 1976-10-15 | Philips Electrologica | |
US4028663A (en) * | 1974-06-05 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Digital computer arrangement for high speed memory access |
US3959775A (en) * | 1974-08-05 | 1976-05-25 | Gte Automatic Electric Laboratories Incorporated | Multiprocessing system implemented with microprocessors |
US3931613A (en) * | 1974-09-25 | 1976-01-06 | Data General Corporation | Data processing system |
US3993981A (en) * | 1975-06-30 | 1976-11-23 | Honeywell Information Systems, Inc. | Apparatus for processing data transfer requests in a data processing system |
US4030075A (en) * | 1975-06-30 | 1977-06-14 | Honeywell Information Systems, Inc. | Data processing system having distributed priority network |
US4001790A (en) * | 1975-06-30 | 1977-01-04 | Honeywell Information Systems, Inc. | Modularly addressable units coupled in a data processing system over a common bus |
US3997896A (en) * | 1975-06-30 | 1976-12-14 | Honeywell Information Systems, Inc. | Data processing system providing split bus cycle operation |
US4038644A (en) * | 1975-11-19 | 1977-07-26 | Ncr Corporation | Destination selection apparatus for a bus oriented computer system |
US4067059A (en) * | 1976-01-29 | 1978-01-03 | Sperry Rand Corporation | Shared direct memory access controller |
US4041472A (en) * | 1976-04-29 | 1977-08-09 | Ncr Corporation | Data processing internal communications system having plural time-shared intercommunication buses and inter-bus communication means |
US4079452A (en) * | 1976-06-15 | 1978-03-14 | Bunker Ramo Corporation | Programmable controller with modular firmware for communication control |
US4120029A (en) * | 1976-12-27 | 1978-10-10 | Honeywell Information Systems, Inc. | Method and apparatus for recovering a signal transferred over a common bus in a data processing system |
-
1979
- 1979-01-31 US US06/008,004 patent/US4300194A/en not_active Expired - Lifetime
-
1980
- 1980-01-29 BE BE0/199159A patent/BE881410A/fr unknown
- 1980-01-30 FR FR808001953A patent/FR2456974B1/fr not_active Expired
- 1980-01-30 AU AU55042/80A patent/AU540401B2/en not_active Ceased
- 1980-01-31 CA CA000344830A patent/CA1153079A/en not_active Expired
- 1980-01-31 JP JP55009508A patent/JPS6030984B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS55103622A (en) | 1980-08-08 |
FR2456974A1 (fr) | 1980-12-12 |
FR2456974B1 (fr) | 1989-05-12 |
CA1153079A (en) | 1983-08-30 |
AU5504280A (en) | 1980-08-07 |
US4300194A (en) | 1981-11-10 |
AU540401B2 (en) | 1984-11-15 |
BE881410A (fr) | 1980-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5706514A (en) | Distributed execution of mode mismatched commands in multiprocessor computer systems | |
US3573855A (en) | Computer memory protection | |
US4959781A (en) | System for assigning interrupts to least busy processor that already loaded same class of interrupt routines | |
EP0192944B1 (en) | Data processing system with a main processor and a co-processor sharing the same resources | |
US3478322A (en) | Data processor employing electronically changeable control storage | |
US4495571A (en) | Data processing system having synchronous bus wait/retry cycle | |
CA1116260A (en) | Method and means for path independent device reservation and reconnection in a multi-cpu and shared device access system | |
US4447874A (en) | Apparatus and method for communication of information between processes in an information system | |
US3566358A (en) | Integrated multi-computer system | |
US4493034A (en) | Apparatus and method for an operating system supervisor in a data processing system | |
JPS6030984B2 (ja) | 多重共通バスを有するデ−タ処理システム | |
JPS6252345B2 (ja) | ||
KR100472391B1 (ko) | 클러스터식 멀티프로세서 시스템의 응용프로그램 프로세서실행 개시 방법 및 장치 | |
JPH0916533A (ja) | 対称多重処理システム | |
US5228127A (en) | Clustered multiprocessor system with global controller connected to each cluster memory control unit for directing order from processor to different cluster processors | |
US8261053B2 (en) | Method and apparatus for maintaining a partition when booting another partition | |
JP2003296191A (ja) | 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路 | |
US11216284B2 (en) | Multi-die and multi-core computing platform and booting method therefor | |
US5146605A (en) | Direct control facility for multiprocessor network | |
JPH02250110A (ja) | チャンネル間の通信機能を有する専用サービス・プロセッサ | |
JPS6030985B2 (ja) | 中央に集中化したバスの優先順位解決手段を含むデ−タ処理システム | |
JP2000293436A (ja) | パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート | |
JPH0232659B2 (ja) | ||
US20180267829A1 (en) | Method for configuring an it system, corresponding computer program and it system | |
US3245044A (en) | Automatic program suspension system |