Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6030985B2 - 中央に集中化したバスの優先順位解決手段を含むデ−タ処理システム - Google Patents
[go: Go Back, main page]

JPS6030985B2 - 中央に集中化したバスの優先順位解決手段を含むデ−タ処理システム - Google Patents

中央に集中化したバスの優先順位解決手段を含むデ−タ処理システム

Info

Publication number
JPS6030985B2
JPS6030985B2 JP55009509A JP950980A JPS6030985B2 JP S6030985 B2 JPS6030985 B2 JP S6030985B2 JP 55009509 A JP55009509 A JP 55009509A JP 950980 A JP950980 A JP 950980A JP S6030985 B2 JPS6030985 B2 JP S6030985B2
Authority
JP
Japan
Prior art keywords
cpu
bus
firmware
system bus
interrupt
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
Application number
JP55009509A
Other languages
English (en)
Other versions
JPS55103623A (en
Inventor
ミン・テイ−・ミユ−
ジヨン・ジエ−・ブラツドレ−
ジアン・クオ・シエン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS55103623A publication Critical patent/JPS55103623A/ja
Publication of JPS6030985B2 publication Critical patent/JPS6030985B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling 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)

Description

【発明の詳細な説明】 〔関連出願〕 本願と同じ該受人に譲渡された下記の特許出願は本願と
同期日に出願され関連する主題を有する。
本文中に開示されたシステムおよびプロセスのある部分
は本発明ではなく、下記特許出願の特許請求の範囲より
規定される如き下記発明者の発明である。〔発明の分野
〕 本発明はデータ処理システムに関し、特に共通バスの使
用を要求するいくつかの競合間の優先順位の決定のため
のシステムに関する。
〔従来技術〕
1つ以上の共通入出力バス上に結合される複数のユニッ
トを有するシステムにおいては、このようなユニット間
に情報の両方向の転送を行うことができる秩序化システ
ムが設けられなければならない。
この問題は、このようなユニットが、例えば、中央処理
ユニット、1つ以上の主記憶ユニット、および磁気テー
プ記憶デバイス、ディスク記憶デバイス、カード説取り
装置等の如き種々のタイプの周辺デバイスを含む時益々
複雑化して来る。この等の周辺デバイスの全ては、屡々
中央プロセサ又は主メモリーに対してアクセスを行わね
ばならない。
このアクセスは通常共通バスにより行われるが、このバ
スは多数のグループのワイヤ線を含んでおり、あるグル
ープはアドレス指定された情報に関して使用され、ある
グループはデータ情報に関して使用され、又その他のグ
ループは制御機能情報に関して使用される。完全な混乱
を避けるため、予め定めた構成に従って共通バスに対す
るアクセスを制御するための装置が設けられねばならな
い。このような制御を行うための構成が数多く提供され
ており、その事例としてはD.RAppeltの米国特
許第3886524号「非同期通信バス」がある。この
ような制御のために設けられた構成の内には、予め定め
られたシーケンスでCPUが個々の周辺デバイスをポー
ルして周辺デバイスのどれかが共通バスのアクセスを必
要としているかどうかを確認するボーリング構造が含ま
れる。この時CPUは、予め定めた優先順位スケジュー
ルに従って周辺デバイスの1つに対して共通バスへのア
クセスを付与する。別のタイプの構成においては、周辺
デバイスに対し’順次送出される制御信号が生成され、
優先順位は連続ストリソグに従う直列順序により決定さ
れる。
このような方式の1つはR.A.Hcnzc!等の米国
特許第3832692号「多回線バスにより若古台され
る諸デバイスに対する優先順位回路網」に示される。こ
のようなコンピュータ・システムの構成においては、各
周辺デバイスと共通バス間に別個の1/0コントローラ
があるのが通常である。これ等の1/0コントローラは
通常カード・ケージ内の予め定められたスロットに挿入
された回路カード上にある。第1のタイプのアクセス・
システムにおいては、特定の周辺デバイスのアドレスは
このカード・ケージ内のスロットの予め定めた1つと関
連付けられる。換言すれば、中央プロセサはカード・ケ
ージ内の特定のスロットをアドレス指定して選択された
周辺デバイスをアクセスする。前述の方式の内の第2の
タイプにおいては、選択されるアドレスは個々のカード
上にあるが、その直列の関係がカード・スロットの配置
に制約を議す。直列接続に対する要件があるため、カー
ドはその優先順位でスロット内におかれ、最初と最後の
カード間のスロットにギャップを持たず最初のスロット
から始まる。この両方式においては、共通バスに対して
選択周辺デバイスを実際にアクセスさせる手順にかなり
の時間が必要とされる。現在使用中のコンピュータ・シ
ステムを示す1つの典型例においては、マスター・ユニ
ットとスレーブ・ユニットとの間の共通バスは、別の制
御回線と共に16並列データ回線データ・チャネルと2
0並列アドレス回線のアドレス・チャネルからなる。
データ回線と、アドレス回線と、制御回線はその合計本
数が約80となるのが一般である。このようなシステム
は、中央の1組のディジタル・ロジックを使用して、種
々のマスター・ユニットによりこのシステムに入れられ
たアドレス又はデータ情報の転送のための共通バスに対
するアクセスの要求を全て追跡する。J.B.Cohe
n等の米国特許第3710324号「データ処理システ
ム」はこのようなシステムを開示する。調停用論理回路
網がシステム全体に分布される他のシステムが存在する
システム内のいくつかのマスター・ユニットからの調停
要求を行うため、同様なロジック組が各マスター・ユニ
ットに設けられる。Appeltの米国特許第総865
24号はこのような1つのシステムを開示し、G.J.
母rlowの米国特許第4030075号「優先順位回
路網を分布したデータ処理システムぃF.V.Cass
anno、Jr.等の米国特許第3997896号「ス
プリッド・バス・サイクル操作を行うデータ処理システ
ムハおよびF.V.Cassanno、Jr.等の米国
特許第3993981号「データ処理システムにおける
データ転送要求の処理のための装置」は別のこのような
システムを開示している。これ等の両システムは、マス
ター・ユニット間に割当てられた優先順位の順序で直列
に接続された1つ以上の回線を有する。従って、制御回
線を介して論理回路を動作させる装置を設けて、それに
より割当てられた優先順位の順序でバスに対するアクセ
スを制限させ、かつ共通バスの可用度に関しアクセスを
要求する他のマスター・ユニットとに通信させる。この
ようなシステムを相互に結合するため種々の方法および
装置が従来技術において知られている。
このような従来技術のシステムは、共通データ・バス経
略を有するものから種々のデバイス間に特殊な経略を有
するもの迄ある。このようなシステムは又、バス・タイ
プと組合わされる同期又は非同期操作の能力も含んでい
る。更に、このようなシステムは、一般に種々のパリテ
ィ検査装置、優先順位方式および割込み構造を含んでい
る。このような構成の1つは、B.G.Gamman等
の米国特許第3866181号「割込み順序付け制御装
置」に示される。共通バスを用いるデータ処理システム
に対するバス割当て装置は、J.G.Valassis
等の米国特許第3959775号「マイクロプロセサで
機成される多重処理システム」に示される。割込み信号
の走査を取扱うシステムは、W.E.Woods等の米
国特許第4020471号「データ処理システム用の割
込み走査兼処理システム」に示される。他の優先方式に
ついては、K.Kowel等の米国特許第399156
1号「データ処理システムにおける直列結合された周辺
インターフェース装置用優先順位決定装置ハR.D.R
oyer等の米国特許第40236紙号「高送メモリー
・アクセスのためのディジタル・コンピュータ構成」、
R.日.Gr肌er等の米国特許第3931613号「
データ処理システムハS.A.Caltaの米国特許第
3447135号「周辺装置のデータ交換」に示されて
いる。例えば、このようなシステムにおいてアドレス指
定が行なわれる方法、並びに、例えばデバイスのどれか
1つがデータ転送を制御し得る方法は、システムの構成
に依存し、即ち、共通バスがあるか、その操作が同期的
か非同期的か、等に依存する。
このシステムの応答能力および処理能力は大いにこれ等
の構造に依存する。〔発明の目的) 従って、本発明の1つの目的は、優先順位に塞いて1/
0バス要求のCPU内での集中解決の提供にあり、これ
により1つ以上の共通1/0バスにおける入出力転送の
要求が可能な各ユニットにおかれなければならないロジ
ック量を減少することにある。
本発明の別の目的は、1つ以上の共通1/0バスの使用
を要求するために使用されかつ1つ以上の共通1/0バ
スに接続された1つ以上のユニットから生じる競合要求
間の優先順位を解決するために使用される1つ以上の共
通バスにおいてその制御回線の数を減少することにある
従って、本発明の他の目的は、入出力処理能力の全範囲
を維持しながら競合するユニットからの競合する1/0
バス要求の解消の間、CPU操作の禁止を減らし又はC
PUの関与を最少限度にすることにある。
更に他の目的は、このような応答におけるCPUの関与
を減らしながら1/0バス要求に対するデータ処理シス
テムの実時間応答を増加することにある。
本発明の更に他の目的は、ユニットがその最大データ速
度で入出力操作を維持することができることを保証する
ことである。〔発明の要約〕 本発明によれば、1つ以上のユニットが接続した共通バ
スに接続されこれら共通バスの割当てを調整することが
可能であるバス・アロケータが、バス割当ての競合する
要求の解消の目的のため設けられる。
要求は、優先順位に基いて競合要求を解消して1つ以上
の共通バスに対し割合てられる最高優先順位要求ユニッ
トに対し付与信号を発するバス・アロケータから作られ
る。又、本発明によれば、共通バスに結合された要求側
ユニットにおかれた要求装置が、同じ共通バス上の他の
ユニットがその時同様なタイプの割当て要求を行ってい
ない時、要求側ユニットが共通バスの割当てを要求する
ことを許可するため設けられ、バス割当てからの同期信
号が要求側ユニットがバス割当て要求を行い得ることを
表示する。本発明とその望ましい実施態様との対応関係
第IA図のフローチャートは、本発明が望ましい実施態
様において実現される方法を簡潔に示すものである。
このフローチャートから判るように、バス・アロケータ
は、バス要求信号を各バス上のユニットから受取り、そ
して最高優先順位の要求側ユニットの要求を許可する。
このアロケー外ま、要求が行なわれたバスと及びその要
求が表わすデータ転送動作のタイプとに基づいて同時の
要求に対し優先順位を与える。要求のこの許可時に、バ
ス・システム全体が要求を許可されたユニットが実行す
るデータ転送動作に割当てられる。本発明は特に頭書の
特許請求の範囲に記載されている。本発明の前記および
その他の目的および長所については添附図面に関して以
下の説明を照合することにより理解できる。〔目次〕 望ましい実施様態の説明 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/○コントローラ割込み g 入出力命令の実行 イ チャネル番号 ロ 1/0機能コード i 出力機能コード指令 ii 入力機能コード指令 ハ ソフトウェア入出力命令 i l○命令 ii lOLD命令 町 10日命令 ニ トラツプおよびソフトウェア割込み i ソフトウェア割込み 五 トラツプ G ファームウェアの概説 a ファームウェア・フローの概説 b ソフトウェア割込み、トラツブ・ハードウェア割込
みの対話イソフトウエア・プログラム ロ フアームウヱア・マイクロプログラムハ ソフトウ
ェア割込み、ハードウェア割込み、およびトラツプi
ソフトウェア割込み 11 ハードウェア割込み iiiトラツプ ニ 割込みおよびトラツプ 日 CPUファームウェア・ワードの説明a スクラツ
チパツド・メモリーの制御 b 演算ロジック・ユニットの制御 c 副指令および制御 d 読出し専用記憶アドレス指定 1 1/0コントローフ・ロジックの詳細a l/0コ
ントローラ・デバイス・ロジツクィ 指令ロジックロ
タスクおよび構成ロジック ハ 割込みロジック ニ 状態およびデバイスの識別ロジック ホ デー夕転送ロジック ヘ アドレスおよび範囲ロジック b l/○コントローラ・タイミング・ロジックc l
/○コントローラ要求ロジック d l/○コントローラ割込み要求ロジックe l/○
コントローラ要求リセット・ロジックf DMAIOC
要求およびリセット・ロジックJ I/○コントローラ
・システム・バス要求およびリンク・ロジックの要約K
CPUロジックの詳細 a 制御ストア・ロジックの詳細 ィ ROSアドレス生成ロジック ロ ハードウェア割込みロジック i 主メモリーのリフレツシュ時間切れロジック ii 主メモリーのパリティ・エフー・ロジツクiii
不在メモリー検出ロジック ハ ソフトウヱア割込みロジック ニ ブートPROMロジック b CPUロジックの詳細 イ データ・トランシー/ゞ・ロジック ロ スクラツチパツド・メモリー・ロジツクハ /ゞイ
ト・スワッピング・ロジツクニ マィクロプロセサおよ
びデータ選択ロジツクホ 1、M,およびFレジスタ・
ロジックへ バス指令ロジック i l/○指令ロジック ii 進行中および使用中のロジック iii 講出し/書込みバイト・ロジックiv メモリ
ーGOロジック L 主メモリーの説明 a システム・/くス・インターフエースイデータ・ワ
ード ロアドレス・ワード b 主メモリーの構造の概要 c モジュールの物理的/構造的特性 ィ モジョール・アドレス指定 d メモリー保管ユニット e 主メモリーの機能の概要 イ主メモリーのタイミング ロ主メモリー・モジュール i タイミング・ゼネレータ 11 −5ボルト・ゼネレータ iii 電源故障ロジック iv RAMアドレス制御および分配ロジックv セグ
メント選択ロジック の データ・インノデータ・アウト・レジスタ 凧 パリティ・ゼネレータおよび検査ロジツク 価 読出し/書込み制御ロジック Mリフレツシュ・ロジック x チップ選択ロジック f 主メモリーの要約 〔望ましい実施態様の説明〕 A 説明における約束 本発明のシステムにおいては、2進数字(ビット)を表
する電気信号は、種々の論理ゲート又は他の回路素子に
対して与えられかつこれから得られる。
以下の説明の簡明化のため、ビットを表示する信号とし
てよりも屡々ビットそれ自体につい述べらる。更に、簡
明化のため、種々の論理ゲートおよび回路素子を結ぶ回
線を示すため信号名称を屡々使用する。これ等の信号は
時に1群の文字又は番号により示される。例えば、第1
4図においては、石上部のBCYCOT−はNANDゲ
ート295により出力される信号を識別する。1群の文
字は屡々十符号又は−符号が後に続く。
十符号は、信号が2進数1(即ち、真)を示す時はハイ
のレベルの信号であることを意味し、一符号は信号が2
進数零(即ち、偽)を示す時ローのレベルの信号である
ことを意味する。ある場合には、十符号又は−符号の後
に複数の文字又は番号を付して名称の始めが同じ類似の
信号名称を区別する。例えば、第43図において、信号
PROCED一はデコーダ244一3から出力され、信
号PROCED−2Aはインバーダ546により出力さ
れ、信号PROCED−2川まNORゲート550によ
って出力される。
意味が明らかである時には、この十符号は−符号又は他
の修飾接尾辞(文字又は番号)は屡々少略される。例え
ば、第39図(その1)においては、接尾辞BAおよび
BBが信号RDDT29十から省略され、1/0コント
ローラがシステム・バスAに接続されるならば信号はR
DDT29十BAとなり、又1/0コントローラがシス
テム・バスBに接続されるならば信号はRDDT29十
BBとなることを意味する。他の場合において意味が明
瞭であれば、文字「×」を信号に用いていくつかの信号
の内の1つを表示する。例えば、第39図(その1)に
おいて、もし1/0コントローラがシステム・バスAに
接続されると信号名称PINTRX−およびPIOCT
X−は信号PINTRIおよびPIOCTA−を示し、
1/0コントローラがシステム・バスBに接続されると
これ等の信号は信号PINTR2−およびPIOCTB
−を示す。ある場合には、最初の信号名称の後にノ・ィ
フオンを用いその後に最後の信号名称の接尾辞をおくこ
とより一連の信号を示す。例えば、第42図(その2)
においては、レジスタ242出力は、RDDTOO+乃
至RDDT47十と呼ばれる48の信号である。簡潔の
ため、論理ゲートはAND、OR、NAND、およびN
ORゲートと呼ばれる。
ANDゲートとNANDゲートの相異は、NANDゲー
トは図中その出力回線における小さな円で示されるイン
バ−夕を有することである。出力回線におけるインバー
タの存在は、NORゲートとORゲートの識別のために
も用いられる。ゲートの入力回線上のィンバータは論理
ゲートに付された名称に何の影響も及ぼさない。例えば
、第42図(その1)においては、ゲート591はAN
Dゲート、ゲート594はNANDゲート(反転出力)
、ゲート584と595はNORゲート(引用に際し共
に反転出力を有し、そしてゲート584の入力のィンバ
ー外ま無視される)と呼ばれる。又、例えば、他の表示
がなければ、正の出力のためには正の入力を要求するロ
ジックを用いるものとする。
即ち、例えば、ANDおよびOR回路の如き論理回路は
、出力側に/・ィ・レベルの信号を生じるため入力側に
ハイの信号レベルにより操作される。ハィでない論理レ
ベルはローと呼ばれる。B システム・バスの概要 システムのブロック図は第1図に示される。
中央処理ユニット(CPU)200はシステム・バスを
制御する。このシステム・バスは、システム・バスA2
02およびシステム・バスB204と呼ばれる2つのバ
スからなる。システム・バスA202とシステム・バス
B204は、CPU200と、入出力(1/0)コント
ローラ206,208,210および212と、主メモ
リー又は1/0コントローラ214,216,218お
よび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コントローフは、
これらコントローラに接続された周辺デバィスの動作を
制御するために使用される。システム・バス8にのみ接
続し得る主メモリーは、CPUにより処理されるソフト
ウェア・プログラムの記憶に使用される。CPU20川
こ直結された制御パネル201は、システムの動作の開
始、監視および指揮のためシステム・オペレータによっ
て使用される。
任意選択のメモリー保管ユニット222がシステムの揮
発性半導体ランダム・アクセス主メモリーに対しDC電
圧を提供する。正常な電源状態においては、メモリー保
管ユニット222は、局部システム電源(図示せず)に
より供給されるDC電圧により作動し、この電源は充電
可能バッテリを完全充電状態に維持し乍ら所要のメモリ
ー電圧を発生する。停電中は、給電されている主メモリ
ーの量に従って例えば5乃至10分の期間バッテリ給電
を行うことにより、揮発性の半導体主メモリーの内容を
保持するための緊急能力をメモー保管ユニット222が
提供する。第1図に示したシステムは、主メモリー、1
/0コントローラおよび周辺デバイスの種々の組合せを
選択することにより種々の特定の形態に構成することが
できる。
このようなシステム構成の一例を第2図に示す。この第
2図において、システム・バスA202およびシステム
・バスB204に接続されたCPU200を有するシス
テム構成の例が示される。第2図は、6必(IK=lo
24)ワードの主メモリーと、4つのデイスケツト周辺
デバイスと、ライン・プリンタと、4つの通信回線と、
制御卓デバイスと、プリンタとを下記の如く接続した中
央プロセサ・ユニット(CPU)を示す。49Kワード
を含む主メモリー1,2 1 4ーーと、18Kワード
を含む主メモリー2,2 1 6一1はシステム・バス
B204に接続されている。
メモリー保管ユニット222も又システム・バスB20
4に接続される。システム・バスA202およびシステ
ム・バスB204はCPU200に接続され、制御パネ
ル201はCPU200と直結される。ディスケツト周
辺デバイス1,207一1及び2,207一2はディス
ケツト・コントローラ1,206−1を介してシステム
リゞスA202に接続される。ディスケット周辺デバイ
ス3,221ーーと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
/○コントローラおよび主メモリーの転送の制御を行う
。任意のソースからのデータはCPUファームウェア指
令によりシステム・バス上におかれ、壬〆モリーのアク
セスがこのCPU又は1/0コントローラのいずれのた
めに実施されていようとも主メモリーのアクセスがCP
U‘こよってしか開始できない。このように、システム
・バスの使用に対する要求の競合を解消するため各コン
トローラおよび主メモリー内に優先順位解決ロジックを
設ける必要がなくなる。CPUI/○構成は、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
/0コントローラは、専らシステム用に設計され、DM
Cタイプ又はDMAタイプのいずれかである。
チャネルの割当ては、ソフトウェア1/0命令における
チャネル番号による。CPUは予め定めた数のDMC入
出力チャネル対を支持し、こ)で各入出力チャネル対は
1つの入力チャネルと1つの出力チャネルを有する。例
えば、望ましい実施態様においては64の入出力チャネ
ル対があり、これ等はDMC I/○コントローラによ
ってしか使用できない。しかし、DACチャネル番号は
、DMA又はDMCタイプの1/0コントローラに割当
てられるが、同じシステム内でその両方に割当てられる
ことはない。CPUが支持するオペレーティング・ソフ
トウェアは、可視レジスタと、データ書式と、命令セッ
トと、トラップおよび割込みの諸動作を含む。
オペレータ・インターフェースは制御パネルと制御卓周
辺デバイスを介する。制御パネルは、オペレータのアク
セスがシステムを初期化することを可能にする。CaC
PUの主要構成要素 CPU機能領域の主要ブロック図は第3図に示され、以
下の節において説明する。
制御ストア23川まCPUのコントローラ素子である。
これは、ファームウエア・マイクロプログラムを記憶す
る読出し専用メモリーを含む。これ等のファームウェア
・マイクロプログラムはCPU動作の制御に必要な機能
を保有する。この領域に含まれるのは、ファームウェア
・マイクロプログラムを順次進行させステップ毎にハー
ドウェアに指令を発するのに必要な全てのアドレス指定
および復号ロジックである。マイクロプロセサ232は
CPU内の主要な処理素子である。
これは全ての演算、比較、論理積の諸操作を行い、専ら
ファームウェア・マイクロ命令指令により制御される。
1/0システム・バス領域234は、CPUが1/0コ
ントローラと通信するのに必要な全てのドライバノレシ
ーバ、および制御回路を含んでいる。
2つのバス、即ちシステム・バスAおよびシステム・バ
スBが使用可能である。
主メモリーはシステム・バスB2041このみ接続でき
る。システム・バス領域234はハードウェアおよびフ
ァームウェアのマイクロ命令指令によって制御される。
スクラツチパツド・メモリー236は、CPUデータに
対する一時的記憶を提供する議出し/書込みメモリーで
ある。
このメモリーには、DMCチャネルに対する範囲および
アドレス情報およびCPU動作に必要な種々の作業レジ
スタが保持される。このスクラツチパツド・メモリー2
36はファームウェア・マイクロ命令指令により制御さ
れる。Cb プログラミングの考察 本項では、ソフトウェア可視の種々のCPUレジスタに
ついて説明し、CPU‘こより使用される種々のデータ
およびアドレス書式を定義する。
Cbイ プログラム可視レジスタソフトウェア命令セッ
トを使用するプログラマーから可視である18の中央プ
ロセッサ・レジスタがある。
各レジス夕の書式および有意ビットは第4図に示される
。これ等のレジスタは下記の如くである。ソフトウェア
可視レジスタ 7ワードのオペランド・レジスタRI〜R7。
その内の3つは又指標レジスタR.RI〜R3である。
これ等のレジスタは各々16ビットのものである。8ア
ドレス・レジスタBI〜B7およびP。
これ等のレジスタは各々16ビットである。マスクMI
レジスタ(8ビットは追跡トラツプ付勢およびオーバー
フロー・トラップ付勢を制御する)。
標識(1)レジスタ(8ビット:オーバーフロー、将来
の使用のため予約される(RFUは不便用)、キヤリー
・アウト、ビット・テスト、1/○、より大きい、より
小さい、および不等の言己号)。
状態(S)レジスタ(16ビット:特権モード・ビット
、プロセサID(4ビット)、優先順位レベル数(6ビ
ット))。
Cbo ワードおよびアドレスの書式 この頃は、中央プロセサ・ユニットにより使用される。
第5図に示された種々のワードおよびアドレスの書式を
規定する。ビット又はバイトの如き全てのデータ・ワー
ド要素は16ビットの主メモリー・ワードに塞く。
各ワードの書式は左から右へ規定し、最初のビットに0
を最後のビットに15の番号を示す。主メモリー・デー
タ要素は命令によって、ビット、バイト、ワード又は多
重ワード・データの項目レベルでアクセスできる。これ
らあらゆる場合、左端の要素はワードの最上位要素であ
り、例えばビット川ま最初のビット、ビット1は第2の
ビット、ビット0乃至7は最初のバイト、ビット8乃至
15は第2のバイトーー一等である。多重のワード項目
は連続したワード・ロケーションを必要とし、最も小さ
いアドレスは左端、即ちデータ項目の最上位の部分とし
て定義される。アドレス・ポインタは、ビット、バイト
、ワ−ド又は多重ワードのデータ項目を指示するのに使
用される。このアドレスは、データ項目の最も左方で最
も上位の要素を表示する。1つの配列内ではデータ項目
が左から右へ番号を付される。
CPUアドレス、アドレス・レジスタおよびプログラム
・カウン外ま16ビットおよび記憶ワード・アドレスを
含む。いずれのアドレス・フィールドの最も右側のビッ
ト(ビット15)もワード・アドレスの最下位のビット
であり、全てのアドレス・フィールドもこは符号は付さ
ない。システムは12雛バイト(K=lo24)迄をア
ドレスに指定するよう構成することができる。DMCデ
ータ要求に対するバイト依存アドレスはCPUスクラッ
チパツド・メモリーにおいて17ビット・アドレスとし
て記憶される。その最下位ビット(ビット16)は、バ
イト1がアドレス指定される時セットされる。1つのメ
モリー・ワードおよび1つのメモリー・バイトに対する
アドレス書式を第5図に示す。
Cbハ 主メモリー 主メモリーは、最小4KW(キロ・ワード)から最大6
4KW迄に構成することができる。
メモリーは講出し/書込みランダム・アクセス・メモリ
ーからなる。主メモリーはシステム・バスBに取付けら
れたメモリー・ボードに含まれる。主メモリーのサイズ
は』KW単位で増大することができ、最少の必Wの主メ
モリーは最下位の4KWアドレス空間に構成される。C
PUにおけるメモリー・サイズ・スイッチは、CPUが
不在の主メモリーの参照を試みるメモリー・アドレスを
検査できるように、システム内に構成された主メモリー
のサイズと対応するようにセットされねばならない。以
下に詳細に論述するように、CPUは、アクセスがCP
Uのために行われつ)あるか(ソフトウェア命令又はデ
ータに対する)、DMA又はDMCの1/0コントロー
ラのために行われるつ)なるか(周辺デバイスに出入り
するデータに対する)にかかわらず、全てのメモリー・
アクセスに関して不在の主メモリーへの参照を検査する
。D CPUおよびシステム・バスのインターフエ‐−
スシステム・バスを備えた中央プロセサに対する2つの
外部インターフェース、即ちシステム・バスAインター
フェースおよびシステム・バスBインターフェースがあ
る。
このシステム・バスAおよびBは、システムのシャシー
の一部であり、CPU、主メモリー又は1/0コントロ
「ラ間に通信経路を提供する。
これ等のシステム・バスは又コントローラおよび主メモ
リーに対して配電する。システム・バスAおよびBは殆
んど同じで、それぞれ約50のワイヤ貝0ち信号を含む
む。その異なる点は、システム・バスBが、システム・
バスAにおける粗をなす信号の外に主メモリー・インタ
ーフェースを有することである。信号のリストについて
は第6図を参照され度い。Da システム・バスA システム・バスAは、配電し、そしてシステムのシャシ
ーのシステム・バスA側のバス・コネク外こ挿入された
各1/0コントローラ(IOC)とCPUとの間にデー
タ転送および割込みのための通信経路を提供する。
CPUは、システム・バスの使用を制御し、別々の時間
基準でサービス要求サイクルを割当てる。システム・バ
スAにおける各IOCは、前記1/0コントローラに対
し唯一でありかつシステム・バスAにおける1/0コン
トローラの位置(CPUに対する)の関数である時間に
おいてのみ(データ転送又は割込みの目的のため)サー
ビス要求をすることを許可される。システム・バスAと
Bの作用については以下に説明する。第7図はシステム
・バスAにおける信号を示す。
システム・バスAは、CPU‘こ対して特有の2つの信
号MEMVAL,BWAC60を有する。これ等の信号
は、システム・バスAのCPUのシャシー・スロット・
コネクタにのみ存在する。このバスにおける他の全ての
信号は、2つの位置を除いて各バス・コネクタの同じピ
ン上にある。1つのバス・コネクタのBCYCOT−B
A信号(システムAのサイクル・アウト時間)ピンは次
のバス・コネクタのBCYCIN−BA信号(システム
・バスAのサイクル・ィン時間)ピンに配線される。
このように、優先順位タイミング信号はバス上の1つの
IOCから次のIOCに送られる。第6図は、システム
・バスAおよびB上の各信号の機能およびソースを示し
ている。Db システム・バスB システム・バスBは、配電し、そしてシステムのシステ
ム・バスB側のバス・コネク外3軍入された主メモリー
・ボード又は1/0コントローフとCPUとの間にデー
タ転送および割込みのための通信経路を提供する。
システム・バスBはシス7ム・バス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一1
は、システム・バスAにおけるプリンタ・コントローラ
208−1がDMCデータ要求を行うのと同時に割込み
要求を行うことができる。これらの同時のシステム・バ
ス要求間の優先順位は、未完でありまだ応答されていな
い他の先のシステム・バス要求と共に、以下に述べる如
くCP山こよって解決される。システム・バスAにおけ
るプリンタ・コントローラ208−1はCPUもこ関し
て第2の物理的バス・コネクタ・スロットおよび第2の
バス要求時間スロットにあるが、デイスケツト・コント
ローラ2,220−1はCP山こ関して第4の物理的バ
ス要求時間スロットにあるがシステム・バスBの第2の
バス要求時間スロットにあることが判る。
物理的バス・コネクタ・スロットとシステム・バスBに
おけるバス要求時間スロットとの間の差は、各主メモリ
ー・ボードが1つの物理的バス・コネク夕・スロットを
占めるがバス要求時間スロットを占めないという事実に
因る。その理由は、主メモリーが決してこのシステム・
バスを要求しないためである(即ち、主メモリーはシス
テム・バスにおいてどのデータ転送も開始せず、従って
優先順位タイミング信号BCYCOT−BBおよびBC
YCIN−BBは主メモリー・ボードによって遅延され
る必要はない)。E CPUのハードウェアの説明 CPUのハードウェアのブロック図は第8図に示される
主要なCPU機能領域 CPUのハードウェアは4つの主な領域に分けられる。
即ち、第3図に示す如く、制御ストアと、スクラツチパ
ツド・メモリーと、マイクロプロセサと、1/0システ
ム・バスである。以下の項は各領域にある構成要素をブ
ロック図レベルで説明する。制御ストア 第9図において、制御ストア230はシステムにおける
主要な制御素子である。
これは、ファームウェア・マイクロプログラムを含む説
出し専用記憶(ROS)メモリーと、これ等のマイクロ
プログラムの解釈に必要な関連するアドレス指定および
復号ロジックからなる。ファームウェアは、ソフトウェ
ア制御プログラミングとシステムのハードウェア動作と
の間のりンクである。ファームウェアは、制御ストアと
、スクラツチパッド・メモリーと、マイクロプロセサと
、1/0システム・バスの全ての諸動作を制御するあら
ゆる機能を有する。これ等のマイクロプログラムは、あ
る論理的順序に配置されたファームウェア・ワード(マ
イクロ命令)からなる。各々のファームウェアのマイク
ロ命令ワードは48ビットの符号化デ−夕を含み、これ
は復号される時特定のハードウェア操作を生じる。50
0ナノ秒毎に、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つのフロツプ(CF
I乃至CF4)からなる。
これ等のフロップは、ファームウェア・ステップ間のあ
る一定の条件を記憶しそしてテストするために使用され
る。例えば、制御フロップ3(CF3)はCPUフアー
ムワエアによりDMCデータ転送シーケンスの間使用さ
れて、どのシステム・バスA又はBにデータ転送を要求
する1/0コントローラが配置されているかを想起する
。雑用フロツプ264は、CPUファームウェアによっ
て直接セットおよび(又は)テストが可能な他のフロッ
プからなる。このフロップ群に含まれるのはファームウ
ェア監視タイマー(MDT)フロップと、ファームウェ
ア実時間クロック(RTC)フロツプと、電源故陣フ。
ッブとがある。又この雑用フロップ264の群にはPC
LEARフロツプとPDMCIOフロツプとがあり、こ
れらはCPUファームウェアにより使用させて、進行時
間中応答する1/0コントローラによってセットされる
システム・バス信号PBYTEXの状態を想起し、それ
によってCPU指令シーケンス(第20図)の間CPU
もこ対しその1/0コントローラのタイプDMA又はD
MCを知らせる。
CPUは、入力アドレス又は入力範囲のCPU指令の闇
PDMCIOフロップに記憶されたそのIOCタイプを
用いて、DMCIOCにおける場合のようにCPUのS
PM(スクラツチパツド・メモリ)プログラム・チャネ
ル表内にIOCのアドレスおよび範囲が見出されるか、
あるいはDMAIOCによりそこにおかれた後システム
・バスから受取られるかどうかを決定する。アドレス・
レジスタ246は現行ファームウェア・ワード・アドレ
スを記憶する1ビット・レジスタである。
その出力はROSメモリー238をアドレス指定するた
めに使用される。次のファームウェア・ワード・アドレ
スは各CPUサイクルの時間PTIME2においてこの
レジスタにクロツクされる。制御ストア・アドレス・ゼ
ネレータ248はROSメモリー238から読出される
べき次のファームウェア・ワードのアドレスを選択する
・全てのアドレスは分岐アドレスであり、現行ファーム
ウェア・ワード(マイクロ命令)から直蚤復号されるか
、ハードウェア割込みにより強制されることができる。
ファームウェア・ワードとCPUテスト条件から直接4
つのタイプのファームウェア・アドレスが復号される(
第35D図参照)。
即ち、(1}現行ファームウェア・ワードのビット38
乃至47におけるファームウェア・アドレスへの無条件
分岐(UCB)、■32のファームウェア・テスト可能
条件の1つを選択して、選択された条件の真又は偽の状
態に従って2つのファームウェア・ロケーションの内の
1つへの分岐アドレスを生じるテスト条件に基〈分岐(
80T)(2通りのテスト分岐)、【3’選択されたテ
スト条件に基く16通りの分岐を実施することによりソ
フトウェア命令○Pコードおよびアドレス・シラブルと
、記憶された定数およびソフトウェア割込みを復号する
ため、ファームウェアにより使用されるメジャー・テス
トに基〈分岐(BWT)(多重テスト分岐)、および‘
4}ハードウェア割込み戻りレジスタに記憶されたファ
ームウェア・アドレスへの分岐を生じ、ハードウェア割
込みファームウェア・シーケンスの完了時に正規のファ
ームウェア・フローに戻るため使用される正規復帰(R
TN)(ハードウェア割込み復帰分岐)である。ハード
ウェア割込み回路網25川ま、CPUによる即時動作が
必要とされる時、常に制御ストア・アドレス・ゼネレー
夕248に分岐アドレスを強制する。
ハードウェア割込みアドレスは各CPUサイクル毎に生
成でき、別のアドレスは各ハードウェア割込み条件に対
して生成される。このハードウェア割込み条件および優
先順位は第9図に示される。ファームウェアはどのある
いは全てのハードウェア割込み条件の検出も禁止するこ
とができる。もしハードウェア割込みが生ずれば、正規
の次のファームウェア・アドレスがハードウェア割込み
復帰レジス夕242に記憶される。ハードウェア割込み
復帰レジスタ242は10ビット中であり、ハードウェ
ア割込みが生じる時次の正規ファームウェア・ワード・
アドレスを記憶する。
このアドレスは、ハードウェア割込みシーケンスの完了
時に正規のファームウェア・フローに再び入るため使用
される。分岐オン・テスト回路網254は現行ファーム
ウエア・ワードを用いて32のファームウエア・テスト
可能条件の1つを選択し、制御ストア・アドレス・ゼネ
レータ248に対し選択された条件の真又は偽の状態を
通知する。
メジャー分岐回路網256は、BMT(16通り)分岐
が行われる時次のファームウェア・アドレスを生成する
現行ファームウェア・ワードくビツト40,41,42
,43)は、〇Pコード、アドレス・シラブル、定常又
はソフトウェア割込み条件のどれが上記次のファームウ
ェア・アドレスの形成に用いられるかを表示する。ソフ
トウェア割込み回路257は、ソフトウェア処理に割込
むことが可能な諸条件を検出し、優先順位に塞いて各条
件に対する独特なファームウヱア・アドレスを生成する
ファームウェアはこれ等のアドレスを用いて割込み条件
をサービスする適正なファームウェア・ルーチンへ分岐
する。ソフトウェア割込み条件のテストのためのBMT
分岐は、主メモリからのソフトウェア命令取出しシーケ
ンスの始めにのみ実施されることに留意すべきである。
下表は、最高から最低への優先順位の順序でソフトウェ
ア割込み条件を含む。即ち、【1ー データ操作の間オ
ーバーフローがCPUレジスタRI〜R7に生じ、その
レジスタがトラップ付勢マスク・レジスタMIにその対
応ビットをセットさせる時の、レジスタ・オーバーフロ
ー・トラツプ。■ 電力損失が最小2ミリ秒間生じるこ
とを電源が検出する時の、電源故障。
糊 システム・バスAに取付られた1/0コントローラ
が割込みサイクルを要求した時の、1/○割込みサイク
ルを要求した時の、1/0割込みシステム・/ゞスA。
‘4} システム・バスBに取付けられた1/0コント
ローラが割込みサイクルを要求した時の、1/0割込み
システム・バスB、および‘5’実時間クロック又は希
望するオプションの更新に使用されるAC回線信号から
固定調時割込みを得る時の、タイマー割込み、である。
次に第8図において、スクラッチパツド・メモリー(S
PM)236は、CPU状態、1/0範囲およびDMC
チャネルに対するバッファ・アドレスの記憶のために使
用される256ロケーション×17ビットのランダム・
アクセス・メモリーである。
これは又、データ、アドレス、固定情報および1/0バ
イトの転送のための一時記憶域を提供する。SPMには
、15作業ロケーション、CPU状態レジス夕、および
プログラム・チャネル表(PCT)が保持される。SP
Mの。
ケーションの全てが使用される訳でない。次に第10図
のスクラツチパッド・メモリーのレイアウトについて述
べる。15の作業ロケーション(16隻表示のロケーシ
ョン00乃至06および場所08乃至OF)は一時記憶
城として使用される。
これ等の作業ロケーションのある用途は、対メモリー転
送前の1/0データの一時記憶(先のプログラム・アド
レスを維持する)、およびDMCデータ転送の間バイト
・スワッピングのための中間記憶である。CPU状態レ
ジスタはSPMのロケーション07(16隻表示)であ
る。
このロケーションはソフトウェアにより直接アクタス可
能である。このロケーションは常に現行のCPU状態を
保持する。ビットの定義については第4図を参照され度
い。プログラム・チャネル表(PCT)はSPMの上位
(比較的高いアドレス)の128ロケーションを占有す
る。これはDMCチャネル操作の管理のため専らCPU
‘こより使用される。プログラム・チャネル表の属性は
下記の如くである。即ち、‘1} 64のェントリから
なり、入出力チャネルが半2重(即ち、いかなる時点で
も入力モード又は出力モードのいずれかにある)である
ため各ェントリは入力チャネル又は出力チャネルのいず
れかとして使用でき、従って入出力チャネル対当り唯1
つのェントリが必要とされる。■ 各ェントリは17ビ
ットのバイト・アドレスおよび16ビットの範囲からな
り、2つの隣接するSPMロケーションを占有する。
1つの1/0ロード(10LD)ソフトウェア命令がそ
の関連するDMCチャネルに指向される時、常に1つの
PCTェントリがロードされる。
1つのDMCデータ転送が生じる度毎に適当なPCTェ
ントリが更新される。
情報はPCTェントリからソフトウェアF/○命令を介
してDMCチャネルへ読出すことができ、次の1/0指
令則ち、(1ー 入力アドレス、‘2) 入力範囲およ
び{3}入力モジュール、の1つをその機能コード・フ
ィールドにおいて指定する。スクラツチパツド・メモリ
ーは現行ファームウェア・ワード(以下のファームウェ
ア・ワードの説明参照)により直接制御される。
もしファームウェア・ワードのビット0が2進数1であ
れば、SPM書込みはPTIME4において生じる。S
PM236に対するデータ入力は、内部バス260から
バイト・スワッピング・マルチプレクサ262を介する
(第8図参照)。バイト動作においては、内部バス26
0におけるワードの左バイトを操作する場合、マルチプ
レクサ262がSPM入力データの左右のバイトをスワ
ップ艮0ち交換する。DMCチヤネルについては、フア
ームウエアがSPM内のPCTエントリ・アドレス・ポ
インタのビット16をリセツトして、メモリー・ワード
の左バイトが操作されっ)あることを識別する。SPM
内のロケーションのアドレス指定も又ファームウェアに
よって制御される。SPMアクセス・アドレスは、第8
図のSPMアドレス・マルチプレクサ294を介し第9
図のデコーダ244から作業場所および状態レジスタを
アクセスする時、ファームウェア・ワードから直接生じ
る。さもなければ、PCTに対するアクセスが要求され
る時DMCチャネル番号が使用され、この場合はSPM
アドレスは第8図のSPMアドレス・マルチプレクサ2
94を介してチャネル番号レジスタ296から生じる。
DMCデータ転送操作を行う時、CPUファームウェア
はチャネル番号の下位ビット(第24図のビット9)を
用い、それによって関連する入出力チャネル対に対する
PCTェントリに記憶されたアドレスおよび範囲を使用
して入力操作と出力操作のいずれが行われるべきかを決
定する。Ea マイクロフ。
ロセサ再び第8図において、CPUにおけるあらゆる活
動はファームウェア制御のマイクロプロセサ232の処
理能力に集中する。
CPU内の全ての演算、比較、および論理積操作はマイ
クロプロセサ232により実行され、これは4蓮の4ビ
ットに分割されたマイクロプロセサからなり16ビット
のマイクロプロセサを形成する。望ましい実施態様にお
いては、マイクロプロセサ232は、米国カルフオルニ
ア州サニーベールのAdvancemlcroDevi
ces社製の4タイプのAm2901マイクロプロセサ
からなっている。マイクロプロセサ232内には160
ケーシヨン×16ビットのレジスタ・フアィル268と
、8機能の16ビット中の演算論理装置(ALU)26
6と、マイクロプロセサの諸能力を支持するため必要な
シフト・ロジックと雑用ロジックがある。マイクロプロ
セサ232に対するデータ入力はデータ・セレク夕・マ
ルチプレクサ269からの16ビット出力である。マル
チプレクサ269は、SPM236の出力、内部バス2
60、標識レジスタ270プラスMIレジスタ272の
内容、又は局部レジスタ242(第9図)からの現行フ
ァームウェア・ワードからの定数のいずれかからデータ
を選択できる。マイクロプロセサ232に対する入力デ
ータは、レジスタ・ファイル268又はマイクロプロセ
サ内の作業レジスタに記憶でき、あるいはALU266
を経てマイクロプロセサの出力データとして内部バス2
60に送ることができる。これは、マイクロプロセサに
対するファームウェア入力によって決定される。現行フ
ァームウェア・ワードのビット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つがマイクロプレセサのレジスタ・ファイル268
のアドレス指定のため使用されるようファイル・アドレ
ス・マルチプレクサ276により選択できる。レジスタ
・ファイル268に対するデータ入力はALU266を
介する。レジスタ・ファイル268の出力データは、現
行ファームウェア・ワードにより決定された通りALU
266、内部作業レジスタQ又は内部バス260へ送る
ことができる。マイクロプロセサ232からのデータ出
力は、内部バス260におけるシステム・バスAおよび
Bからのデータ入力レシーバとワィアドOR結合される
従って、もしシステム・バスA又はBのレシーバのいず
れかが付勢されるならば、マイクロプロセサの出力が消
勢される。しかし、マイクロブ。セサ232からは常に
ファームウェア・テスト可能信号(ALU=零、SIG
N、オーバーフロ一、キヤリー)が出力される。マイク
ロプロセサ232に対して入力データを与えることの他
、データ・セレクタ・マルチプレクサ269の出力は、
ファームウェア制御下でMIレジスタ272および標識
レジス夕270にゲートされ得る。
データ・セレクタ269の出力の4ビットも又ファーム
ウェア制御下で品質論理テスト(QLT)レジスタ27
8にゲートすることができる。QLTレジスタ278の
出力は、システムの初期化における品質論理テストの成
否の視覚的表示をデータ処理システムのオペレータに与
えるために使用されるCPUボード上に配された4つの
LED標識の点灯を制御する。クロック281は、シス
テム全体で使用される種々のタイミング信号PTIM位
0乃至PTIME4およびBCYCOTを与える。
(第14図および第15図参)Eb システム・バスの
制御 第12図は、両システム:バスAおよびB、データ経路
および制御信号の生成を示す。
主な構成素子は、バス副指令デコーダ244とCPU内
部バス260と、各1/0システム・インタ−フェース
・データ/アドレス回線に対する別個のレシーバ284
,288とドライバ282,286と、CPUサイクル
・アウト時間ゼネレータ280である。ファームウェア
は、両システム・バスAとB上のデータ・フロー、およ
び16ビットのCPUの内部バス260において生じる
転送を制御する。
各CPUサイクルの間、副指令デコーダ244は現行フ
ア−ムウェア・ワードを解釈し、サイクルの時間PTI
M旧1からPTIME4まで有効であるバス制御副指令
を生じる。これ等の復号された副指令は特定のデータ経
路を付勢し、ファームウェアにより要求される如くデー
タ転送を生じる。システム・バス上で行い得る対話は以
下においてシステム・バス動作の項で説明する。基本的
なシステム・バス制御は次の節で説明する。別個の副指
令は、システム・バスのレシーバ284と288のどち
らが付勢されて内部バス260‘こデータをおくかを決
定する。
もし両方のシステム・バスA,Bのレシーバ284と2
88が消勢されると、マイクロプロセサ232の出力が
内部バス260に転送される。もしデータが1/Oコン
トローラに送られると、CPUからシステム・バスへの
適当なドライバ282又は286が付勢されて、内部バ
ス260‘こおけるデータを付勢されたシステム・バス
のデータ/アドレス回線に対して転送させる。もしデー
タがIOCからCPUへ転送されるならば、適当な付勢
1/0コントローラ・データ・ドライバ信号PEN既A
−又はPENBSB−が復号され、1/0コントローラ
を経て特定システム・バスにおける全ての1/0コント
ローラに送られる。しかし、バス・アクセスを要求した
IOCのみがシステム・バスにデータをおく。主メモリ
ーがCPUもこデータを転送する時は別の副指令が生成
される。主メモリーのデータを内部バスに転送するため
には適当なCPUレシーバ経路も又付勢されねばならな
い。前述の如く、全ての転送は内部バス260を経由す
る。
例えば、もしファームウェアが、データをシステム・バ
ス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サイクル・アウト時間信号
BCYCOTを用いてIOCによるデータ転送又は割込
みのためのシステム・バスの要求を許可する。
これにより、一時に唯1つの1/0コントローラがCP
Uと通信することを確保する。この信号は4マイクロ秒
毎に生成され、各システム・バスを介してコントローラ
からコントローラへ伝播される。各1/0コントローラ
はこのパルスを受入れ、このパルスを次のコントローラ
(第13図参照)に送出する前に500ナノ秒間だけ遅
延させる。1/0コントローラがこの信号を遅らせる時
間は、この1/0コントローラに関してはサイクル・イ
ン時間と呼ぶ。
前に論述したように、主メモリーが決してデータ転送又
は割込み要求を行わないため、主メモリーはシステム・
バスにおけるサイクル・アウト時間信号は遅延させない
。その代り、主メモリーは信号BCYCOTを遅延させ
ずに次の主メモリー又はシステム・バスB上のIOCに
送る。サイクル.イン時間は、1/0コントローラがシ
ステム・バス・アクセスを要求し得る唯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を介する)をリセットし
て初期化ファームウェア・ルーチンへの分岐を生じる。
このスイッチは又両方のシステム・バス上の信号PCL
EAR−を瞬間的に接地して1/0コントローラに品質
論理テスト(QLT)を開始させる。Ed 基本システ
ム・タイミング 次に第14図において、基本システム・タイミングが1
0メガヘルツの発振器290から生成され、その信号即
ちPCレOCK一はクロックに1入力の5ビットのシフ
ト・レジスタ291に接続される。
シフト・レジスタ291は、米国テキサス州、ダラス市
のTexaslnstmments社製のタイプSN7
496であり、参考として本文中に引用された「設計技
術者のためのTTLデータ・ブック」なる文献(第2版
)に記載される。シフト・レジスタ291はプリセット
付勢(PE)入力に2進数零、クリア(R)入力に2進
数1、プリセット入力(SI乃至S5)に2進数零を有
する。ANDゲート293の出力(信号PTIM州+)
はシフト・レジスタ291の直列■入力側に接続される
。シフト・レジスタ291の出力即ち信号PTIMEO
+乃至PTIME4十は、第15図に示される5つの等
しい100ナノ秒期間に分割される基本500ナノ秒C
PUサイクルを生じるため使用される。これ等の時間は
特定の事象をストロープしゲートするためシステム全体
で使用される。PTIMEOはCPUサイクルの始めを
表示する。
アドレス指定されたファームウェア・ワードは制御スト
ア局部レジスタ242にゲートされ、そしてデコーダ2
44が付勢される(第9図参照)。PTIM伍1の始め
は全てのシステム・バス制御信号を付勢し、この状態は
PTIM旧4の終り迄維持される。反転される時PTM
EIからPTIM旧4まで2進数1である信号PrIM
EO十は、副指令デコーダ244(第12図参照)を介
してシステム・バスおよび内部バス内の特定のデータ経
路を付勢する。PTIM旧2は、この時有効な次のファ
ームウェア・アドレスを制御ストア・アドレス・レジス
タ246(第9図参照)に対してゲートするため使用さ
れる。
PTIM旧3はシステム・バス上の全ての1/0コント
ローラへ送られ、CPUおよび1/0コントローラを同
期させる。
バス・データはこの時有効である。PTIME4は主と
してCPUマイクロプロセサにより使用される。
マイクロプレセサ232およびスクラッチパッド・メモ
リー236内の情報のどの書込み又は記憶もこの時生じ
る(第8図参照)次に第14図において、基本システム
・タイミング・ロジックの作用について簡単に説明する
。最初にシフト・レジスタ291の出力、信号PTIM
EO+乃至PTIME4十が2進数零であり、又クロッ
ク・ストール信号PFREEZ+が2進数零であってク
ロックがストール則ち停止されるべきでないことを表示
するものとすれば、ANDゲート293の出力(信号P
TIMIN十)は2進数1となる。シフト・レジスタ2
91の直列【D}入力側が2進数1であれば、発振器2
90からのクロツク信号PCLOCK−の2進数零から
2進数1への遷移が生じると出力信号PTIMEI+を
2進数1にし、これが更にANDゲート293の出力(
信号PTIMIN+)を第15図に示す如く2進数零に
する。発振器290から夫々連続するクロック・パルス
により、第15図に示す如く、シフト・レジスタ291
の出力の1つは2進数1となり、他の4つの出力は2進
数零となる(2進数零状態を維持する)。シフト・レジ
スタ291の各出力はィンバータに与えられてタイミン
グ信号(即ち、信号PTIM旧0+乃至PTIME4−
)の反転を生じる。簡単にするため、第14図には信号
PTIM旧0十用のィンバータ297のみを示す。信号
PTIMEO+は又同期可逆2進カウンタ292に対す
るクロック‘C}入力として使用される。カウンタ29
2は、米国テキサス州ダラス市のTaxaslnstr
ments社製のタイプZN74SI6叫であり、前掲
の文献に記載されている。カウンタ292は、NAND
ゲート295と関連して使用されてCPUサイクル・ア
ウト時間信号BCYCOT−を発生し、この信号は1つ
のシステム・バス当り唯1つの1/0コントローラのみ
が一時にそのシステム・バスに対する要求を行うことを
保証するため両システム・バスにおける1/0コントロ
ーラによって使用するため両方のシステム・バスAおよ
びBに与えられる。2進数零から2進数1の状態への8
つのPTIMEO+信号遷移をカウント・ダウンするこ
とにより、カウンタ292はNANDゲート296と関
連して信号BCYCOT−を1つのCPUサイクル時間
(500ナノ秒)の間2進教養にし、その後7つのCP
Uサイクル時間の間2進数1とする。
詳細には、カウソタ292のロード(L)入力は2進数
1にセットされ、その結果データ入力DI乃至D8は無
視され(即ち、カゥンタのプリロー日こは使用されず)
、両カウント付勢入力PおよびTが2進数零にセットさ
れてカウント動作を付勢にし、可逆(U/D)入力が2
進数零にセットされてカウンタをカウント・ダウン・モ
ードにセットする。このように、クロツク信号PTIM
EO+の2進数零から2進数1の状態への最初の遷移が
生じると同時に、カウンタ292の4つの出力(信号B
CNTLI十乃至BCNTL8十)は2進数1となり(
零から2進数1S室カウント・ダウン)、NANDゲー
ト295の出力(信号BCYCOT−)が2進数零とな
る。信号PTIM町0十の2番目の2進数零から2進数
1状態への遷移が生じる時に、信号BCNTLI十は2
進数零になりNANDゲート295の出力は2進数1と
なる。信号PTIM旧0十9回目の2進数零から2進数
1の状態への変換の発生までは、信号8CYCOT一は
2進数1の状態に留まり、この9回目の時に信号8CN
TLI+,BCNTL2十およびBCNTL4十が再び
全て2進数1となってその結果NANDゲート295の
出力が2進数零となる。CPUの1次(基本)時間信号
PTIM旧0乃至PTIME4とCPUのサイクル・ア
ウト時間信号BCYCOT一閲の関係は第13図に示す
。次に第13図において、CPUのサイクル・アウト時
間信号BCYCOT一(最初のコントローラ・サイクル
・イン)は第2のCPUサイクルにPTMEOの前緑に
おいて2進数1から2進数零の状態に変り、第3のCP
UサイクルのPTIMEOの前縁において2進数零から
2進数1の状態に変ることが判る。このことは、PTI
ME3−信号の後緑の発生と同時に2進数1から2進数
零の状態に変り、PTIM旧3一信号の次の後縁の発生
と同時に2進数零から2進数1の状態へ変る第2及びそ
れに続くコントローラ・サイクル・イン(BCYCOT
−)信号と対照的である。
この差は、前述の如く、8番目のPTIMEO毎にカウ
ントすることによりCPUのサイクル・アウト信号を得
たことから生じ、一方各コントローラのサイクル・アウ
ト信号は信号PTIME3の後縁を受取ることにより得
られるが、前の(CPU側に隣接する)1/0コントロ
ーラからのサイクル・アウト信号は第40図に関して以
下に説明するように2進数零となる。適正に機能するよ
う実施される如き本システムに生じる必要条件は、ある
システム・バス上の唯1つのIOCがPTIME3の後
緑に会するが、その隣接するIOC又はCPUからのサ
イクル・アウト信号は2進数零であることである。各時
点において、システムリゞスAの最初のIOCからシス
テム・バスA上の(例えば)第2のIOCによって受取
られる信号BCYCOT−が、システム・バスB上の最
初のIOCからシステム・バスB上の第2のIOCによ
り受取られるBCYCOT−信号と同じ状態にあること
が判る。Ee システムの初期化 CPUは第16図に示す如くパワー・アップ信号即ち初
期化信号に対して反応する。
次に第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に入るかどうかを決定するためテ
ストする。もしシーケンス・ェントリがブロック300
を介してパワー・オンの検出時になされたならば、ブロ
ック307からブロック308に入って、完全初期化に
至らない初期化が行われる。フロック308は王〆モリ
ーの内容が有効であるかをテストする(即ち、信号ME
MVAL−が2進数零であり、いかなる停電期間中でも
主メモリ一・リフレッシュ電圧が維持されるようにメモ
リー保管ユニットが充電状態のバッテリを有することを
示す。
)。もし主メモリーが有効であば、限定された初期化の
みが行われればよく、フロック310‘こ入って主メモ
リーのロケーション0への分岐を実行し、ソフトウェア
の実行が開始される。主メモリーのロケーション川まソ
フトウェア・スタート・アップ手順の最初のワードを含
む。次に、フロツク31川まブロック324を出てソフ
トウェアを実行する。もし主メモリーが有効でなければ
、あるいはもしシーケンスのェントリが初期化押しボタ
ンによりなされたならば、完全初期化が行われてブロッ
ク312に入る。CPUファームウェアQLT(第9図
のROSメモリー238に常駐)がブロック312にお
いて実行される。CPUファームウェアQLTが完了す
ると、フロツク3 1 4に入り、ブートPROM(第
9図の240)におけるソフトウェア・プログラムが主
メモリー(IS隼表示のロケーション100乃至2FF
)へ転送されて実行される。フロツク316においては
、ブートPROMからロードされたソフトウエア・プロ
グラムの実行の結果、主メモリーのサイズの調べ、使用
可能な全ての主メモリーにおけるパリティ・テストの実
施、および拡張にPUQLTおよび1/0テストの実施
が行われる。ブロック318においては、拡張にPUの
ソフトウェアQLTテストの結果が検査される。もし拡
張CPUQLTによりエラーが検出されなければ、ブロ
ック320に入り、ソフトウエア・ブート・プログラム
がブート・ロード・デバイスから最初のレコードを主メ
モリーのロケ−ション1 00(la隼表示)にロード
する。ブロック322においては、一たん最初のレコー
ドが主メモリーにロードされると、主メモリーのロケー
ション100への分岐が行われ、CPUが稼働してブロ
ック324において初期化シーケンスが完了する。もし
拡張CPUのソフトウェアQLTの結果エラーの検出が
なされると、フロック318からブロック326に入り
、制御パネル上の制御パネル検査指示器が点灯状態を維
持し、CPUQLT指示器(CPUボード上のLED灯
)がエラーを表示する。次にブロック328に入り、C
PUが停止する。もしブロック324におけるソフトウ
ェア実行中に電源ブロック330により差し迫った電源
故障が検出されると、ソフトウェア実行が中断されてブ
ロック332に入る。
ブロック332においては、CPUが、電源故障の時に
実行中のソフトウェア・プログラムの文脈保管を含む電
源故障割込みシーケンスを実施しようとする。文脈保管
の前に、CPUがシステム・バスをクリアしてこれ等の
バスを主メモリーのデータ転送に対するCPUの使用の
ため解放する。
文脈保管操作は、もし電源が維持されね‘よその情報を
消失する揮発性のCPUレジスタを停電期間中保持する
ため主メモリー内に記憶させるようにする。差し迫った
電源故障の検出の約2ミリ秒後に、主メモリーはCPU
要求への応答を停止してブロック334におけるソフト
ウェアの実行の停止を惹起する。十分な電力がない時も
CPUのファームウェア実行がブロック334で停止す
る。その後ブロック300において電源によるパワー・
オンの検出により、CPUはブロック334から出て、
主メモリーが停電期間中有効な状態を維持したかどうか
に従って、部分的初期化又は完全初期化を実施する。F
システム・バスの操作 システム・バスの操作は、システムに組込まれたCPU
と、1/0コントローラと、主メモリー間のアドレス、
データ、および制御情報の転送を行う(データ書式につ
いては、第17図参照)。
全てのシステム・バス操作はCPUタイミングおよびフ
ァームウェア・シーケンスによって制御される。本境は
、CPUが1/0コントローラ又は主メモリーと通信す
る時に生じるシステム・バスAおよびBにおける事象の
シーケンスについて記述する。システム・バスの操作は
CPU又は1/0コントローラのいずれによっても開始
可能である。
CPUは、下記理由からシステム・バス対話を開始する
。即ち、‘1}全ての主メモリーのアクセス、‘2}王
〆モリーのリフレツシュ、【3’1/0コントローラに
対する機能コード。1/0コントローラは下記理由から
システム・バス対話を開始する。
即ち、{1ー直接メモリー・アクセス(DMA)データ
転送、【2)データ多重制御(DMC)データ転送、お
よび‘3’1/0コントローラ割込み。主メモリーはシ
ステム・バス対話を開始することはない。全ての1/0
コントローラが開始したバスの活動は別々の時間に基く
。コントローラ・ロジックのみが、この特定のバス上の
他のIOCが既に同じタイプのバス・サイクル要求を行
っていなければ、この1/0コントローラの独自のサイ
クル・イン時間中1つのバス・サイクルをこののCが最
初に要求することを許可する(例えば、システム・バス
B上のあるIOCが既に回線PDMCR2を2進数零に
セットしているならばシステム・バスB上の別のIOC
はDMC要求を行うことはできないが、回線PDMCR
Iを2進数零にセットすることによりシステム・バスA
上の別のDMCIOCが既にDMC要求を行ったと云う
事がシステム・バスB上のDMC要求を禁止することは
ない)。1/○コントローラのみがその独自のサイクル
・イン時間中システム・バスを要求することができるた
め、この1/0コントローラ内には優先順位回路は一切
必要とされない。
2つの1/0バスが使用可能でありかつ1/0コントロ
ーラが異なる目的のためバスを要求することができるた
め、CPUは下記の如き最高から最低の優先順位におい
て反応する。
即ち、‘1)BバスがDMA転送を要求する。{2}
AバスがDMA転送を要求する。{3} AバスがDM
C転送を要求する。{4ー BバスがDMC転送を要求
する。‘5ーAバスが割込みを要求する。■ Bバスが
割込みを要求する。第9図によれば、4つの最高優先順
位のバス要求(DMA/DMC転送)がハードウェア割
込みとして取扱われ、ハードウェア割込み回路網250
によって取扱われることが判る。
2つの最低の優先順位のバス要求(割込み)はソフトウ
ェア割込みとして取扱われ、ソフトウェア割込み回路網
258によって取扱われる。
各システム・バス操作はCPUファームウェア・シーケ
ンスにより制御される。
特定のファームウェア指令が1/0コント。ーラに対し
、所要の動作がシステム・バス上に発生されることを通
知する。これ等の1/0コントローラ指令はシステム・
バスのRODT回線(第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を開始する時、両方の指令ストローブ回線PIOCT
AおよびPIOCTBが2進数隻にセットされ、その結
果全ての1/0コントローラが1/0指令に会する。F
a メモリー・アクセス 全てのメモリー・アクセスはCPUファーよウェアによ
り生成される。
これはメモリーをアクセスするため本PUサイクル(合
計1マイクロ秒)を要する。第19図はメモリーに関し
データを転入出するのに必要な事象と信号のシーケンス
を示している。第1のCf1U(500ナノ秒)のサイ
クルの間、書込みバイト信号が生成されるPWRTB1
,PWRTBO。
もしデータの左側バイト(零)がメモリーに書込まれる
ならば、信号PWRTBO‘ま2進数1である。もしデ
ータの右側バイト1がメモリーに書込まれるならば、信
号PWRTBIは2進数1である。これ等の信号はDM
Aコントローラ又はCPUファームウェアから来る。い
ずれの場合も、これ等信号は最初のCPUサイクルの1
次時間1から1時間4まで有効である。これ等信号は1
ワードの議出し又は関連するバイトの書込を行うことを
メモリーに通知する。最初のCPUサイクルの1次時間
3において、メモリーGOパルスPMEMGOが生成さ
れる。このメモリーGOパルスと共に、ワード・アドレ
ス(16ビット)がシステム・バスBのアドレス/デー
タ回線BUSBoo乃至BUSB15におかれる。この
アドレスDMAI/0コントローラ又はCPUのいずれ
かから生じ得る。全ての場合に、これは1つのシステム
・バスA又はBから内部バスを経て他のシステム・バス
B又はAへ送られる。アドレス(第1のサイクルの間)
およびデータ(第2のサイクルの間)は内部バスを経て
両方のシステム・バスAおよびBにおかれる。この両方
のシステム・バスにアドレス又はデータをおくことは、
いずれかのシステム・バスをアドレス又はデータに関し
てモニタ−するのを許可するという便宜のためには、そ
のアドレス(又はデータ)がシステム・バスBのDMA
I/○コント。ーラからあるいはCPUから来るときで
さえも起こるが、便宜を考えなければそのアドレス又は
データをおくことはこれらの場合適正なシステム動作の
ためには必要としない。メモリーGOパルスは、メモリ
ーにアドレスを受入れさせてそのアクセス・シーケンス
を開始させる。もしアクセスがDMA 1/0コントロ
ーラ要求によるものであるならば、CPUはこのCPU
における主メモリー構成スイッチのセットにより許可さ
れる最大アドレスに対してそのアドレスを試験する。も
しアドレスがスイッチのセット値より大きければ、メモ
リー・エラー信号PEMPARおよびMEMPERを強
制して1/0コントローラに対し不在アドレスの検出を
通知する。次に1/0コントロ−ラはその状態レジスタ
の適正なビットをセットする。CPUが開始したメモリ
ー要求はメモリーGOの前に不在メモリー・アドレスに
つし、て検査され、そしてトラツプ15が生じる。第2
のCPUサイクルの間、データ転送が生じる。もしCP
U又は1/0コントローラがデータを受取るべき場合、
CPUがメモリー・ボードのデータ・ドライバPBSF
MDを付勢し、1次時間3においてメモリ−がデータを
システム・バスBにおきそしてCPUの内部バスを経て
システム・バスAにおく。もしメモリーがフルワード論
出しを行ってパリティ・エラーを検出したならば、この
メモリーはメモリー・エラー信号MEMPERを強制す
る。CPUは、パリティ検査エラー信号PMM円ARに
よりシステム・バスAにそのエラーを送る。もしアクセ
スが1/0コントローラ要求によるものであるならば、
コントローラはその状態レジスタのエラー・ビットをセ
ットする。CPUが要求した主メモリー・アクセスに関
し検出されたパリティ・エラーはトラツプ17を生じる
。どの主メモリー・エラー信号も、次の主メモリー動作
の次のメモリーGO時にリセットされる。もしデータが
メモリーへ書込まれるべき場合、CPU又は1/0コン
トローラは第2のサイクルの間システム・バスにデータ
をおき、メモリーは書込みバイト信号に従ってデータを
1次時間3においてアドレス指定されたロケーションへ
書込む。Fb メモリー・リフレツシュ もしCPUがシステム・バスBにおけるメモリー・リフ
レツシュ信号PMFRESHと共にメモリーGOPME
MGOを発するならば、主メモリーのリフレッシュ・サ
イクルが生じる。
他のシステム・バス対話は要求されない。CPUは少く
とも15マイクロ秒毎に主メモリ−・リフレッシュを発
する。もしCPUファームウェアが主メモリーが使用さ
れていないことを決定すれば、CPUはいつでもメモリ
ー・リフレッシュ信号を発し得、こうしてCPU処理の
中断を防止してメモリー・リフレッシュを発する。Fc
l/○コントローラに対する機能コードCPUは10
、10日、UCLDソフトウェア命令の実行中1/0コ
ントローラに対して機能コードを転送し、その結果16
ビット・ワードが1/0コントロ−ラに転送されるかこ
れから受取られる。
第20図はこのシステム・バス操作を実施するのに要す
る事象および信号のシーケンスを示す。このシーケンス
はCPUにより開始され、RDDT回線上にCPU指令
CPCMDを発して両システム・バスAおよびBのアド
レス/データ回線BUSXOO乃至BUSX1 5にチ
ャネル番号および機熊コ−ドをおく。
CPUは、チャネル番号により識別される1/0コント
ローラから応答のため最大1.2ミリ秒を待機する。。
この時間中CPUが実効上停止、ソフトウェア割込みは
全く認められないが、データ転送要求はサービスされる
。このCPUのストール則ち停止は、CPU指令を1/
Oコントローラに対して発させたソフトウェア命令10
,10日,10LDを処理するCPUマイクロプログラ
ミング内でのファームウェア・ループ動作から生じる。
この1/0ソフトウェア命令内のループ動作は他のソフ
トウェア命令の処理又はソフトウェア割込みに対する応
答を禁止する。このループ動作の間、CPUファームウ
ェアは、ファームウェアがSPM作業ロケーションに記
憶した時間切れカウンタをカウント・ダウンするまで、
1/0コントローラからの進行又は使用中の信号PRO
CED又はPBUSYを待機する。
下記の応答が可能である。もしCPUが不在又は欠陥の
ある資源をアクセスすることを試みるならば、応答は得
られない。
CPUファームウェア・タイマーはこの条件を検出し、
トラップ15が生じる。アドレス指定された1/0コン
トローラが使用中であり、1/0コントローラは現在の
指令を受入れることができない。
この場合、1/0コントローラは使用中の回線PBUS
Yを2進数零に強制して命令を終了させる。もしアドレ
ス指定された1/0コントローフが、アドレス指定され
たチャネル番号と関連しない1/0コントローラの一時
条件の故に新らしい指令を受入れることができなければ
、再試行(待機)応答が受取られる。
コントローラは進行中PROCEPおよび使用中PBU
SYの両回線を2進数零に強制して、CPUに現行命令
を再抽出させ対話を再開させる。正規の応答は、1/0
コントローラが進行中(PROCED)回線を2進数零
に強制して、1/0コントローラが使用中でないことお
よびCPUがこのシ−ケンスを完了すべきことを通知す
る。
もしドアドレス指定された1/0コントローラがDMA
タイプであれば、これも又信号PBYTHXをロー(2
進数零)に強制してCPUに応答する1/0コントロー
ラのタイプを通知する。1/0コントローラからの応答
の検出時に、CPUはRDDT回線上に回答指令(AS
CMD)指令を発して、1/0コントローラに使用中/
進行中の回線をリセットさせる。
回答指令が発されると、CPUおよび1/0コントロー
ラがリンクされ、CPUファームウェアがCPU−1/
0コントローラの転送に専用化される。リンク時間中、
CPUはDMCコントローラであるかどうか範囲値を検
査する。
もしこの範囲値が零と等しければ、CPUがRDDT回
線上の範囲終り(EOFRG)指令を発することにより
この条件をIOCに通知する。あるDMC I/0コン
トローラはこの情報を必要とし、他のものはこれを無視
する。CPUが回答指令ASCMDを発した後約6マイ
ク。
秒時に、CPUはRODT回線上にリンク終り(EOF
LK)指令を発する。CPUがASCMD指令とEOF
LK指令とを発生する時の間の時間インターバルは、C
PCM戊旨令において送られた特定の機能コードに対し
て実行されねばならないCPUファームウェア・ステッ
プ(マイクロ命令ワード)の数に依存する。CPUおよ
びIOCはこの期間中りンクされてCPUファームウエ
アおよびシステム・バスがIOCシーケンスに専用化さ
れかつハードウェア割込みが禁止されるため、設計パラ
メ−夕としてこの時間は約6マイクロ秒に制限されてハ
ードウェア割込みおよびシステム・バス要求に対するシ
ステムの応答性を保証する。「リンク終り一時間の始め
に、もし機能コードが入力タイプであったならば、CP
UはIOCデータ・ドライバPENBSKを付勢し、デ
ータ・ワードがアドレスノデータ回線上をCPU迄転送
される。もし機能コードが出力タイプであったならば、
CPUはデータをシステム・バス・アドレス/データ回
線におき、IOCはリンクの終り時間の1次時間3時に
バスからデータをストローブする。もしCPUが17ビ
ット・アドレスをDMAコントローラに転送中であれば
、回線PBYTEXはリンク終り時間中下位のアドレス
・ビット(バイト・オフセット)を反映する。CPU−
IOCリンクはリンク終りが検出された結果としてリセ
ットされる。FdDMCデータ転送要求 DMCI/○コントローラは、1/○コントローラがデ
ータのバイトを主メモリー内の1/0バッファに関して
転入出させることを要求する時、DMCデータ転送要求
シーケンスを開始する。
この要求は、ソフトウェア10LD命令がDMC IO
Cに対して発され入出力操作を開始した後でのみ生じ得
る。第21A図乃至第21D図は、DMCデータ転送シ
ーケンスに対するシステム・バス対話を示す。次に第2
1A図においては、データ転送が要求されるとき、DM
CI/0コントローラは、要求側の1/0コントローラ
がおかれたシステム・バスのDMCデータ要求回線PD
MCRXを2進数零に強制することによってCPUファ
ームウェアに通知する。
もし下記2条件、即ち、m この回線が既に特定のシス
テム・バス上の他のIOCにより既に活動状態におかれ
ていないこと、および(21 このIOCに対するサイ
クル・イン時間の1次時間3におけること、が満たされ
さえすれば、IOCはこの回線を2進数零に強制するこ
とを許可される。サイクル・イン時間(BCYCm信号
)は、特定のシステム・バスにおいて一時に1つのIO
Cのみが1つのデータ転送シーケンスを開始できること
を保証する。DMC要求回線PDMCRXはCPUが応
答する迄セット状態を維持する。DMC要求回線の付勢
によりDMC要求CPUファームウェア・マイクロプロ
グラムに対するCPUハードウェア割込みを生じる。
他の優先順位の高いハードウェア割込みの関数であるハ
ードウェア割込みが生じる時、かつCPUファームウェ
アがハードウェア割込みを禁止しているかどうかに従っ
て、CPUは回線RDDT(RDDT29乃至RDDT
31)上に回答DMC要求(ASDMC)指令を発する
ことによりDMC要求に対し肯定応答する。この時CP
UとIOCはリンクされた状態になる。次の略々6マイ
クロ秒間、DMC転送に関与するCPUファームウェア
・ステップ数に従ってCPUがこのDMCデータ転送に
専用化され、このDMCデータ転送と関連するものを除
いて他の通信はシステム・バスA,Bのいずれにも許可
されない。ANSDMCの後の次のサイクルにおいて、
CPUは1/0コントローフ・ドライバ(信号PENB
SXを介して)を付勢し、これによりIOCにそのチャ
ネル番号をアドレス/データ回線BUSXOO乃至BU
SX1 5におくことを通知する。
チャネル番号はCPUファームウェアにより使用されて
スクラツチパツド・メモリーにおけるプログラム・チャ
ネル表をアクセスし、又転送方向を決定する。次の6乃
至7CPUサイクルの間、CPUはプログラム・チャネ
ル表からこのチャネルに対するメモリー・アドレスおよ
び範囲の情報を得る。
この範囲は減分され、メモリー・アドレスは増分され、
そしてプログラム・チャネル表に記憶される。もしこの
範囲がこの要求によって減少し尽されるならば、CPU
はRDDT回線上に範囲終り(EOFRG)指令を発し
て、IOCに対してこれが最後の転送であることを通知
する(第21A図乃至第21D図)。
もしデータがメモリーから謙出されるべき場合(第21
B図乃至第21D図)、CPUは、メモリーをアクセス
し、必要なバイト・スワッピングを行い、データをシス
テム・バス・アドレス/データ回線上のバイト位置1(
即ち、ビット8〜15)におく。次に、CPUはRDD
T回線上にリンク終り(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/Oコントローラを
リセットする。DMCデータ転送のためのCPUファー
ムウエア・マイクロプログラムが完了するとハードウェ
ア割込み(DMAおよびDMCデータ転送要求および主
メモリー・リフレッシュ時間切れ)を付勢し、これら割
込みの夫々は継続中であればシステム・バス通信をもた
らす。全システム・バス通信はCPUファームウェアの
制御下にあるため、CU−IOCリンクの終了は、ハー
ドウェア割込みを許可するCPUファームウェアなしに
は他のシステム・バスの通信を確立するのには不十分で
あることを留意すべきである。例えば、第21A図にお
いて、CPUサイクル8および9の間、システム・バス
の通信はいずれのシステム・バスにおいても生じ得ない
が、これはCPUが依然として占有されIOCからメモ
リ一へのDMC入力転送のためのファームウェア・マイ
クロプログラムを実行しているためである。FeDMA
データ転送要求1/0コントローラがデータのバイト又
はワードを主メモリーにおける1/0バッファに関して
転入出させることを要求する時、DMA I/○コント
ローラはDMAデータ転送シーケンスを開始する。
この要求は、ソフトウェア10LD命令が1/0コント
ローラに対して発された後にのみ生じ得る。第22図は
このシーケンスのためのシステム・バス対話を示す。D
MAI/0コントローラは、この要求側の1/0コント
ローラが配置されているシステム・バス上のDMA要求
回線PDMARXを2進数零に強制することにより、こ
れがDMAデータ要求を行うことをCPUに通知する。
この回線PDMARXはCPUから応答が受取られる迄
活動状態を維持する。もし下記2つの条件、即ち、‘1
} この回線がその特定のシステム・バス上にある他の
1/0コントローラにより既に活動状態におかれていな
いこと、■ この1/0コントローラに対するサイクル
・ィン時間(BCYC瓜−2進数零)の1次時間3(P
TIME3)にあること、が満たされさえすれば、1/
0コントローラはこの回線を(1次時間3において)セ
ットすることが許可される。DMA要求回線の付勢によ
り、DDMA要求マイクロプログラムに対するCPUの
ハードウェア割込みを生じる。この状態が生じると、C
PUはRDDT回線RDDT29乃至RDDT31上に
回答DMA要求(ASDMA)指令を発することにより
この要求を肯定応答し、適当なシステム・バス上の(P
ENBX)回線をセットすることによって1/0コント
ローラ・ドライバを付勢する。CPUと1/0コントロ
ーラはリンクされ、全てのシステム・バス活動はこのD
MA転送に対してのみ専用化される。1/0コントロー
ラが回答DMA要求 (ASDMA)指令を検出する時、この1/0コントロ
ーラは即時下記動作を行う。
即ち、{1} 要求回線(PDMARK)をリセットし
、‘2’アドレス/データ回線BUSXOO乃至BUS
X15上にメモリー・ワード・アドレスをおき、【3}
バス回線PWRTBIおよびPWRTBO上に書込み
バイト信号をゲートする。もしコントローラがシステム
・バスA上にあれば、CPUは主メモリーの使用のため
アドレスおよび書込みバイト信号をシステム・バスBに
対して付勢すること、に留意されたい。回答DMA要求
(ASDMA)指令サイクルの1次時間3において、C
PUはメモリーGO信号PMEM−GOを発し、主メモ
リーはこのメモリーGO信号を用いてストローブする。
もしこのアドレスが、CPUボード上におかれたメモリ
ー構成スイッチにより許可されたものよりも大きいこと
をCPUが検出すると、CP山まメモリー・ェフー回線
(システム・バスA上のPMMPARおよびシステム・
バスB上のM旧MPER)をセットすることにより1/
0コントローラに通知し、エラー・ビットを1/0コン
トローラの状態レジスタ内でセットさせる。回答指令A
SDMAに続くCPUサイクルにおいて、CPUはRD
DT回線上にリンク終り指令EOFLKを発してデータ
転送が生じることを指示する。
もしこれが書込み操作であれば、CPUはコントローラ
・ドライバPENSBXを付勢し、1/0コントローラ
はデータ・ワードをアドレス/データ回線上におく。も
し1/0コントローラがシステム・バスA上にあれば、
CPUはシステム・バスBおよび主メモリーに対するデ
ータ転送を付勢する。もしこの操作がメモリー・ドライ
バはCPUにより付勢され、主メモリーはデ7夕をバス
上におき(CPUは必要に応じてシステム・バスAに対
するデータを付勢する)、1/0コントローラはリンク
終り(EOFLK)サイクルの1次時間3においてこの
データを取る。もし主メモリーがパリティ・エラーを検
出した場合、これは主メモリーのパリティ・エラー(M
EMPER)回線をセットすることにより1/○コント
ローラに通知する。
必要に応じて、このエラーは回線PMMPAR上をCP
Uによりシステム・バスAに送られる。・リンク終り信
号の直後のCPUサイクルにおいては、CPU・1/0
コントロ−ラ・リンクが終了され、メモリー・エラー信
号MEMBERおよびPMMPARがリセットされる。
Ff l/○コントローラ割込み 1/0コントローラは、あるデータ転送が完了するか又
はあるデバイスの状態が変化する時、システム・バス1
/0割込みシーケンスを開始する。
第23図はシステム・バス上で行われる対話を示す。1
/0割込みはソフトウェア割込みであってハードウェア
割込みではないことが判る。
即ち、もしCPUにより受入れられるならば、この1/
0割込みは、CPUを強制してソフトウェアの現行状態
を保管させることにより現行ソフトウェア・プログラム
の実行を中断する。この時、CPUは1/0割込みのサ
ービスに専用化された他のソフトウェアの実行を開始す
る。1/0割込みのソフトウェアの完了時に、割込みを
受けたソフトウェアの状態は復元され、CPUは元の割
込みされたソフトウェア・プログラムの実行を続行する
割込みが要求されるとき、1/0コントローラは、割込
み要求回線PINTRXを2進数零に強制することによ
りCPUファームウェアに通知する。この回線はCPU
が応答する迄セットされた状態を維持する。1ノ○コン
トロ−ラは、そのサイクル・ィン時間の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割込みが高い優先順位のものであれば、
CPUはPDDT回線上のりンクり(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は、割込み要求回線PI
NTRXが既に特定のシステム・バス上の別のIOCに
よりセットされていなければ、そのサイクル・イン時間
において1/0割込み要求を行う。
1/割込み要求回線がCPUからのASINT指令に応
答してIOCによりリセットされるため(CPUが割込
みを受入れるか拒絶するかにかかわらず)、CPUが依
然として最初の1/○割込み要求を処理している間別の
IOCが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指令が生じなければ)各RES
UM指令に続いてそのスタックされた割込みに関し割込
み要求を行つ。ソフトウェア割込みの受入れは他のソフ
トウェア割込みをブロックせず単に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チャネル対はCP
Uによる使用のため予約され、(即ち、チャネル番号0
000乃至0300(16隻表示))、その結果、SP
Mプログラム・チャネル表(第10図参照)において私
のチャネル対に対する空間が予約されているが、本実施
例の64のDMC I/○チャネル対の内56が実際に
DMC I/○コントローラに後続された周辺デバイス
の使用のため利用可能である。ソフトウェアはこのチャ
ネル番号を用いてどの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コントローラはこのチャネル番号を用いてこれがC
PUからサービスを要求する時そのチャネルを識別する
2つのタイプのサービスが存在する。
即ち、m 割込み一全てのチャネルDMAおよびDMC
により使用されてCPUに対するそのレベル番号を指定
する(第17図参照)、および■ データ−DMCチャ
ネルにより使用されバイトの送受を行う。このチャネル
番号はCPUによって使用されてプログラム・チャネル
表(PCT)をアドレス指定することは留意されたい。
CPUに対し送られたチャネル番号は第24図に示した
書式を有する。DMCデータ転送要求に対しては制御ワ
ードのビット10乃至15が第17図に示す如く無視さ
れることに留意されたい。Fgロ 1/0機能コード 1/0機能コードは第25図に示される。
この機能コードは1/0コントローラによって実施され
る特定の1/0機能を指定する。全ての奇数機能コード
は出力転送(書込み)を表示し、全ての偶数機能コード
は入力転送要求(読出し)を示す。機能コード指令は、
常に、チャネルに関して16ビット(もし10命令を介
して発されるならば)又は8ビット(もしIOH命令を
介して発されるならば)のいずれかを入出力する。それ
にも拘わらず、1/0コントローラは転送に関わるデー
タ・ビットの一部のみ又は全部を使用するよう選択でき
る。Fgロi 出力機能コード指令 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図に示す如く割込み制御ワードを戻す。出力タ
スク(FC=07)。
この指令はタスク・ワード(又はバイト)をチャネルに
対し出力する。個々のビットの意味はデバイス固有のも
のである。出力タスクは、構成指令(以下参照)を介し
て出力される比較的静的な情報と比較して瀕繁に出力さ
れなければならない機能(例、ディスク・レコードの議
出し等)に対し意図されたものである。出力アドレス(
FC=09)。
この指令は、データ転送が行われる開始バイト・アドレ
スとしてチャネルにより使用される17ビット量を出力
する。もしこの指令がDMAチャネルに対して指向され
ると、バイト・アドレスはバス上をチャネルに対して送
られてIOCに記憶される。もしこの指令がDMCチャ
ネルに送られると、バイト・アドレスはCPU内の適当
なPCTェントリに記憶される。出力アドレスFCはソ
フトウェア10LD命令と関連して使用される。他の入
出力命令によるこの指令の使用は規定されない結果を生
じる。出力範囲(FC=血)。
この指令は、0乃至?5一1の範囲内のチャネルに対し
範囲情報を出力する。もしこの指令力mMAチャネルに
対して指向されると、範囲はバス上をチャネルに対して
送られてIOCに記憶される。もしこの指令がDMCチ
ャネルに指向されると、範囲はCPU内の適当なPCT
ェントIJIこ記憶される。出力範囲FCはスフトウェ
ァ10LD命令とともに使用される。他の入出力命令の
いずれかとともにこの指令を使用すると規定されざる結
果を生じる。出力構成ワードA(FC=11)。
この指令は構成情報をチャネルへ出力する。個々のビッ
トの意味をデバイス(即ちIOC)固有のものである。
出力構成は、あまり瀕※に出力されない機能(例、端末
速度、カード・リーダ・モード等)に対し意図されたも
のである。出力構成ワードB(FC=13)。
この指令はBUの構成情報をチャネルに対し出力する。
ビットの意味はデバイス(即ちIOC)固有である。こ
の指令は、構成ワードAに符号化される場合よりも更に
大〈の情報が要求される場合に使用される。Fgロii
入力機能コード指令10入力機能コード指令について
以下に述べる。
入力割込み制御(FC=02)。この指令はチャネルを
してその割込み制御レジスタの内容をシステム・バス・
データ回線BUSXOO乃至BUSX15におかせる。
データ書式は第17図に示す如くである。チャネル番号
はCPUのチャネル番号(即ち零)であって応答するI
OCのそれではない。入力タスク(FC=06)。この
指令はチャネルをしてそのタスク・レジスタの内容をシ
ステム・バス・データ回線BUSXOO乃至BUSX1
5におかせる。入力アドレス(FC=80)。
この指令はDMAチャネルをしてそのアドレス・レジス
タの内容(下位の16ビット)をシステム・バス・デー
タ回線BUSXOO乃至BUSX1 5におかせる。こ
の指令はDMCチャネルに指向される時、CPUをして
CRU内の適当なPCTェントリからアドレス(残余)
情報を抽出させる。入力モジュール(FC:帆)。
この指令は、DMAチャネルをしてそのアドレス・レジ
スタの上位ビット(右寄せされた)をシステム・バス上
におかせる。この指令はDMCチャネルに指向された時
CPUをしてCPU内の適当なPCTェントリからアド
レス情報の上位ビットを抽出させる。この上位アドレス
・ビット(即ち、モジュール番号)はシステム・バス上
で右寄せされてデータ回線BUSX15上におかれる。
入力範囲(FC=に)。
この指令は、DMAチャネルをしてその範囲レジス夕の
内容をシステム・バス・データ回線BUSXOO乃至B
USX15におかせる。この指令はDMCチャネルに指
向される時、CPUをしてその適当なPCTェントリか
ら残余範囲を抽出させる。入力構成ワード(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)、および剛
アドレスおよび範囲ロード1/0命令(ソフトウェア・
プログラミング簡略符号10LD)。Fgハi l○命
令 制御ワードを1/0コントローラに関して送受するため
10ソフトウェア命令が使用される。
10命令により規定される機能コードは情報転送方向を
決定する。
代表的には、このソフトウェアは10命令を用いてIO
Cに対して必要なタスク・ワードおよびデータ転送の実
施に必要な構成情報を送る。又、1/0操作の完了時に
、ソフトウェアは再び10命を用いて状態および残余範
囲の情報を検索する。10ソフトウェア命令(および1
0日命令)の書式は第26A図および第26B図に示さ
れる。
10命令は2つの量、即ち、【11 DASにより識別
されるデータ・ワード、および■ 実施すべき外部チャ
ネル(又はデバイス)および実行すべき機能を識別する
制御ワード、を規定する。
この制御ワードは、第26A図の書式に示す如く10命
令に直綾盛込まれ、あるいはソフトウェアプログラムの
どこかにおかれて第26B図の書式により示如き10命
令により指示されるようにすることができる。
次に第26A図および第26B図においては、OP=命
令OPコード・フィールド OP:00000(2進表示)(10命令に対して)=
00010(2進表示)(10日命令に対して)DAS
=データ・アドレス・シラブル。
これは、ワード(10命令に対する)又はバイト(10
日命令に対する)が1/0チャネルに関して転入出させ
る主メモリーのロケーション又はCPUレジスタを指定
する。データ・アドレス・シラブル(DAS)は次の3
つの書式の内の1とを有する。即ち、・CPUレジス夕
が操作の行先のソースであるレジスタ・アドレス・シラ
ブル。
・適当なサイズのオペランド(ワード又はバイト)直接
命令中に盛込まれる則則値オペランド・アドレス・シラ
ブル。
・オペランドを含む主メモリー内のロケーションのアド
レスが規定さされるメモリー・アドレス・シラブル。
CH=チャネル番号又は1/0デバイス・アドレス。
F=機能コード。
下記制約においてIOC即ちデバイス固有である。即ち
・もしFが偶数ならば、データはIOCからCPU/メ
モリーへ転送される例、読出し状態)。
・もしFが寄数ならば、データはCPU/メモリーから
IOCへ転送される(例、制御レジスタのロード)。
CAS=制御ワード・アドレス・シラブル。
CHおよびFを含む制御ワードを指示する。CASに対
する書式はDASと同じである。10ソフトウェア命令
の実行はCPUファームウェアにより制御される。
10命令のフローチャートについては第28図参照のこ
と。
10命令実行中のシステム・バス操作については既に説
明した。
DMCチャネルに対し指向される1/0命令を実行する
とき、CPUは機能コードを検査してこれが下記の内の
いずれであるかどうかを決定する。
即ち、・入力モジュール(1ビットのモジュール番号)
・入力アドレス(16ビットのバイト・アドレス)・入
力範囲 もし前記の機能コードの内の1つであれば、これはスク
ラツチパッド・メモリーにおいてこの情報を管理するた
め、CPUは直ちにこの命令の全て又は一部を実行する
もしこれが前記の機能コードの1つでなければ、データ
は1/0コントローラに対し転送されるかあるいはこれ
から受取られる。DMAチャネルに指向される1/0命
令を実行する時は、CPUは機能コードを【/0コント
ロ・ーラに対して送り、1/0コントローラに対し情報
の1ワードを送りあるいは1/0コントローフからこれ
を受取る。
次に第28図において、10ソフトウェア命令を実行す
るのに使用されるCPUファームウェアについて詳細に
論述する。
第28図について説明する前に、フローチャートに示さ
れるブロックとおよび各ブロックの実施に使われるCP
Uファームウェア、・マイクロ命令の数との間には必ら
ずしも1対1の対応はないことに留意すべきである。例
えば、多重CPUファームウェア・マイクロ命令はブロ
ック904に示される如き機能の実施に使用され、1つ
のCPUファームウェア・マイクロ命令はブロック91
4および920として示された機能の実施に使用される
。CPUファームウェアは、ファームウェアが主メモリ
ーからソフトウェア(SW)命令の最初のワードを取出
すブロック図901において、10ソフトウェア命令の
処理を開始する。
主メモリーからのソフトウェア命令の最初のワードの議
出しに続いて、CPUファームウェア割込みが禾完であ
るかどうかを知るためにテストを行う(第28図には示
さないが、第33図および第34図参照)。もしソフト
ウェア割込みが未完でない場合、ブロック902に入り
、ソフトウェア命令の最初のワードを指示するプログラ
ム・カウンタは保管され、次のCPUサイクルの間はメ
モリーがアクセスされないためメモリー・リフレッシュ
操作が開始され、主メモリーから取出されたソフトウェ
ア命令の命令コードのテストが行われる。もし主メモリ
ーから取出されたソフトウェア命令の命令(OP)コー
ドが10ソフトウェア命令であれば、ブロック903に
入り、10命令の実行と関連するCPUファームウェア
・ルーチンが開始される。ブロック904においては、
CPUファームウエアがデータ・アドレス・シラブル(
DAS)を用いてワード・アドレスを決定する(第26
図参照)。
もし指標付けが指定されると、指標値はバイトではなく
てワード基準となる。DMSにより指定されるワード・
アドレスは主メモリーのロケーション又はCPUレジス
タを指定し、これとIOCとの間で1ワードのデータが
転送される。この指定されたロケーションは、IOCに
対し送られるべきデータのワードを含むか、あるいはこ
のロケーションはIOCから読出されたデータのワード
が記憶される場所である。ブロック905においては、
CPUファームウェアが必要に応じてCASを用いるこ
とにより10ソフトウェア命令により指定されたチャネ
ル番号および機能コードを決定する(第26B図参照)
。ブロック927においては、機能コードが出力機能コ
ードであるかどうか、又そうであればDASにより指定
されるデータ・ワードがアクセスされてスクラツチパッ
ド・メモリーの作業ロケーションに記憶されるかどうか
を決定するためテストが行われる。フロック906にお
いては、チャネル番号および機能コードがシステム・バ
スのデータ/アドレス回線BUSXOO乃至BUSX1
5上のIOCに対し送られる(第17図、1/0指令
書式参照)。更にフロツク906においては、CPUは
システム・バスのRDDT回線上にCPCMD指令を送
り、全てのIOC‘こ対して、チャネル番号および機能
コードがシステム・バス上に存在することを表示する(
第20図参照)。CPUのCPCMD指令の送りに続い
て、ファームウェアは1/0命令処理されたファームウ
ェア即ちブロック948に入り、このブロックはアドレ
ス指定された(チャネル番号により)IOCがCPCM
D指令を受入れるか拒絶するか、あるいはCP山こ対し
1/0ソフト命令を再試行することを通知する迄ループ
動作する。
ブロック907において応答時間切れカウンタを初期化
することにより、1/0命令進行ファームウェア・ブロ
ック948が開始する。この応答時間切れカウンタはス
クラッチパッド・メモリーの作業ロケーションに含まれ
、このカウンタは、入出力(10、10日又は10LD
)ソフトウェア命令からのCPCMD指令をIOCが肯
定応答するのをファームウェアがループ動作をして待機
するとき、カウント・ダウンされる。もしIOCが1.
2ミリ秒以内にCPCMD指令を肯定応答又は拒絶をし
なければ、応答時間切れカウンタは零迄滅分され、CP
Uファームウェアはトラップを生じる(第20図参照)
。応答時間切れカウンタの初期化の後、ブロック908
においてCUフアームウエアはIOCがシステム・バス
のPROCED回線をローにセットしたかどうかをテス
トする。もしPROCED回線がロ−でなければブロッ
ク909に入り、IOCがシステム・バス上のPBUS
Y回線をローにセットしたかどうかを知るためテストが
行われる。もしシステム・バスPBUSY回線がローで
なければブロック9 1 01こ入り、応答時間切れカ
ゥン夕が城分される。ブロック911においては、応答
時間切れカゥンタが零に等しいかを知るためテストが行
われ、又等しければ1.2ミリ秒の時間が切れてCPC
MD指令が不在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クンク
を確立する。ブロック91 7において、CPUフアー
ムウェアはIOCに対してシステム・バスのRDD[回
線上にEOFLK指令を送出して、これによりCPU−
IOCリンクを終了する。次にブロック918に入り、
CPUファームウェアが主メモリーから次のソフトウェ
ア(SW)命令を取出すことになる。1/0命令進行フ
ァームウェア、ブロック948の論述を終る前に、注目
すべき重要なことは、CPUファームウェアがループ動
作して1/0コントローラが進行、使用中、待機又は時
間切れで応答するのを待機する期間中、ブロック908
乃911のループ内のあるファームウエア・マイクロ命
令の間でのハードウェア割込みが禁止されるが、ハード
ウェア割込みがループの各通過の終りに許可されること
である。
従って、DMAデータ転送、DMCデータ転送、又はメ
モlj−・リフレッシュ操作を行うためにCPUファー
ムウェアに割込んでシステム・バスを使用することがで
きる。第34図に関して以下において明らかになるよう
に、ソフトウェア割込みが主メモリーからのソフトウェ
ア命令の取出しの直後(即ちブロック901の後)にの
みCPUファームウェアによりテストされるため、この
1.2ミリ秒間のタイミング操作中にはソフトウェア割
込みは応答を受けない。CPUファームウェアが進行条
件を検出する時(即ち、応答側のIOCはシステム・バ
スの回線RPOCEDをローにセットし、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
においては機能コードがテストされる。もし機能コード
が奇数であって出力機能コードを表示すればブロック9
28に入り、CPUファームウエアはSPMの作業ロケ
ーションからデータ・アドレス・シラブル(DAS)に
より指示されるデータのワードを得る。このデータ・ワ
ードはシステム・バスのアドレスノデータ回線BUSX
O0乃至BUSX1 5上をIOCに送られ、CPUも
又FOFLK指令をRDDT回線上でIOCに対して送
出する。IOCはEOFLK指令と会すると、アドレス
ノデ−タ回線からデータ・ワードを取りCPU−IOC
リンクを終了する。フロック928は10ソフトウェア
命令の処理を完了し、次にCPUがブロック929を出
て、ブロック929がCPUファームウェアに行き次の
ソフトウェア命令が取出す。もし機能コードが偶数であ
り入力機能コードを表示すれば、ブロック926からブ
ロック930に入り、IOCタイプを決めるためテスト
が行われる。
もし応答するIOCがDMCIOCであれば、ブロック
931に入って別のテストを行ない、機能コードが関連
するプログラム・チャネル表(PCT)であるかどうか
を決定する。
もし10ソフトウェア命令からの機能が関連するプログ
ラムチャネル表であれば(即ち、入力モジュール、入力
アドレス、又は入力範囲)、ブロック932に入って機
能コード‘こより指定されたデータがスクラツチパツド
・メモリーに記憶されたプログラムチャネル表から抽出
され、EOFLK指令がIOCに与えられてCPU−I
OCリンクを終了する。再びブロック930‘こ戻って
、IOCタイプは前記ブロック924においてロードさ
れたPDMCIOフロツプの状態をテストすることによ
り決定される。ブロック933において、CPUからE
OFLKおよび付勢(PENBSX)信号を受取ると同
時に、システム・バスのアドレス/データ回線(第17
図、データ・ワード書式参照)にIOCがデータをおく
。ブロック934において、プログラム・チヤネル表(
PCT)から抽出されるかIOCから受取られるデータ
は、1/0ソフトウェア命令のデータ・アドレス・シラ
ブル(DAS)により指定されるロケーョンに記憶され
る。10ソフトウェア命令はDASロケーションにデー
タ・ワードを記憶して完了し、CPUファームウェアが
ブロック935において次のソフトウェア命令を取出す
10ソフトウェア命令の論議を終るに先立ち、ソフトウ
ェアの観点からは、1/0コントローラがDMAI/○
コントローラかDMCI/○コントローラの如何を問わ
ず、10ソフトウェア命令の実行結果は同じであること
を留意すべきである。
DMA/1/0コントローラとDMCI/0コントロー
ラ間の差は、CPUファームウエアによりソフトウェア
からマスクされていることである。ソフトウェア・プロ
グラムは、入出力プログラムを書込んでいるデバイスが
DMA又はDMCI/○コントローラのいずれに取付け
られているかについて認識する必要はない。Fgハii
lOLD命令 10LDソフトウェア命令は、主メモリー内の1/0バ
ッファとのデータの転入出の準備のために使用される。
ある1/0コントローラに関しては、10LDソフトウ
ェア命令は又データ転送を開始する。DMC I/○コ
ントローラに関しては、CPUは常に1/0バッファが
構成された主メモリー内に含まれることを保証する。も
しそうでなければ、使用できない資源トラップTV15
が生じる。10LDソフトウェア命令の書式は第27A
図および第27B図に示される。
10LD命令は3つの量を指定する。
即ち、【1’AASにより識別される1/0バッファ開
始アドレス、■ 外部チャネル(又はデバイス)および
実施すべき機能を識別する制御ワード、および、{31
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(16隻)の機能コー
ド。
CPUフアームウエアによる10LDソフトウア命令の
実行中、アドレスが出力された後、CPUファームウェ
アがこの機能コードを血(16隻)に変更して範囲を出
力する。CAS=CHおよびFを含む制御ワードを指示
する制御ワード・アドレス・シラブル。
CASの警視はDASと同じである(10ソフトウェア
命令参照)。RAS=範囲アドレス・シラブル。
これは、データのバイト数に照して1/0バッファの範
囲が1/0チャネルに転送されるべき場所を指示する。
RASの書式はDASと同じである。(10ソフトウェ
ア命令参照)。10LD命令の実行はCPUファームウ
ェアにより制御される。
ソフトウェア10LD命令実行については第29図参照
。10LD実行中のシステム・バス操作および実行後の
1/0バッファ転送の1/○コントローラ要求について
は既に述べた。
CPUファームウェアによる10LD命令実行は指向さ
れるIOCタイプにより決定される如く変化し、詳細に
は、・DMA I/○コントローラに指向された10L
D命令は2つのシステム・バス転送を生じる。
即ち、第1の転送は主メモリー内の1/0バッファ開始
ロケーションを指定する17ビットのバイト・アドレス
であり、第2の転送は16ビットの範囲値であり、1/
0操作の間転送されるバイト数に基いで1/0バッファ
のサイズを指定する。これはチャネルにとって2つの別
々のバス転送の如く見え、これ等はアドレス転送に関し
ては機能コード09(16隻)そして範囲転送に関して
は機能コード血(16進)を有する。プログラムは、1
0LD命令制御ワードにおける第1の機能コードを指定
するだけでよく、CPUファームウェアは第2の機能コ
ードを生成する。アドレス転送:第1の転送は17ビッ
トの量であり、これは1/0バッファに対するデータの
転入出のための開始バイト・アドレスとしてチャネルに
よって使用される。範囲の転送:第2の転送は16ビッ
トの範囲値であり、これはDMA操作の間転送されるバ
イト数を表示する。
この範囲は、範囲値が0000乃至7FFF(16隻)
である正の整数のデータ・ワードである。この範囲の転
送が生じると、これも又1/0バッファに対する転送要
求を開始するようにある1/0コントロ−ラを条件付け
る。データ転送は、IOC特定機能コードをもつ10ソ
フトウェア命令の使用により他の1/0コントローラに
おいて開始される。・DMCIOCに指向される10L
D命令は、適当なプログラム・チャネル表のェントリ内
に17ビット・バイト・アドレスおよび16ビットの範
囲値をCPU‘こ記憶させる。
(第30図参照)1/0操作の完了時に、残余アドレス
および範囲はPCTにおいて使用可能となる。CPUは
又2つの転送を生じ、これによりシステム・バス上でバ
ッファ・アドレスおよび範囲を1/0コントローラへ送
出する。もしプログラムが範囲値零を符号化すれば、あ
る1/0コントローラの特定動作が必要とされる。この
条件をDMCIOCに通知するため、DMCチャネルに
指向される10L中、CPUが1/0コントローラへ範
囲終り信号を送る。あるDMC 1/0コントローラは
この条件を無視する。次に第29図に関して、10LD
ソフトウェア命令を実施するため使用されるCPUファ
ームウェアについて詳細に説明する。
再び第28図に関して説明したように、第29図におい
ては、フローチャートに示したブレックと各ブロックの
構成に使用してCPUファームウェア・マイクロ命令の
数との間には必らずしも1対1の対応関係はないことに
留意すべきである。CPUフアームウエアはブロック9
0 1において10LDソフトウェア命令の処理を開始
し、こ)でファームウェアは主メモリーからソフトウェ
ア(SW)命令の最初のワードを取出す。
主メモリーからのソフトウェア命令の最初のワードの読
出しに続いて、このソフトウェアはソフトウェア割込み
未完であるかどうかについて知るためにテストを行う(
第29図には示されず、第33図および第34図参照)
。もしどのソフトウェア割込みも未完でなければブロッ
ク902に入り、ソフトウェア命令の最初のワードを指
示するプログラム・カウンタが保管され、メモリーが次
のCPUサイクルの間アクセスされないためメモリー・
リフレツシュ操作が開始され、主メモリーから取出され
たソフトウェア命令のOPコードのテストが行われる。
もし主メモリーから取出されたソフトウェア命令のOP
コードが10LDソフトウェア命令であれば、ブロック
942に入って10LDソフトウェア命令と関連するC
PUファームウェア・ルーチンが実行される。第29図
のブロック901と902は第28図のブロック901
と902に示されたものと同じファームウェア命令であ
る。フロツク943において、CPUフアームウエアは
アドレス・アドレス・シラブルAAS(第27図参照)
を用いてバイト・アドレスを決定する。もし指標付けが
指定されれば、指標値はワードではなくバイトに基〈。
AASにより指定されるバイト・アドレスは、IOCと
の間でデータの転入出が生じる1/0バッファの主メモ
リー内の開始バイト・ロケーションを指定する(第30
図参照)。ブロック944においては、CPUファーム
ウェアは、必要に応じてCASを用いて10LDソフト
ウェア命令により指定されるチャネル番号および機能コ
ードを決定する。(第27B図参照)。ブロック945
においては、機能コードが09(16進)であるかどう
かを決定するため機能コードについてテストが行われ、
もし09でなければ、トラツプ16がブロック949に
より行われてプログラム・エラーを表示し、10LDソ
フト命令の実行が終了される。もしブ。ック945が、
機能コードが出力アドレス機能コード(09、16隻表
示)であることを決定すれば、ブロック946に入る。
フロツク946においては、CPUフアームウヱアが範
囲アドレス・シラブルRASを用いて1/0転送の範囲
(バイト数)を決定し、この範囲をSPMの作業ロケー
ションに記憶する。フロック947において、チャネル
番号および機能コードがシステム・バスのアドレス/デ
ータ回線BUSXOO乃至BUSX1 5上をIOCに
送られる(第17図の1/0指令書式参照)。更に、フ
ロック9 47において、CPUがシステム・バスRD
DT回線上にCPCMD指令を送り、全てのIOCに対
してチャネル番号および機能コードはシステム・バス上
に存在することを表示する(第20図参照)。CPUが
CPCMD指令を送出するのに続いて、ファームウェア
が1/0命令進行ファームウェアに入り(第28図のブ
ロック948)、アドレス指定(チャネル番号による)
されたIOCがCPCMD指令を受入れあるいは拒絶す
るか、あるいはIOCが再び1/0ソフトウェア命令を
試行すること(即ち、待機)をCPUもこ通知する迄ル
ープ動作する。もしアドレス指定されIOCがCPCM
D指令を肯定応答すれば、ブロック948はブロック9
51に出る。CPUファームウェアが進行条件を検出す
る時(即ち、応答するIOCは、システ・バスのPRO
CED回線をローにセットし、PBUSY回線をハイの
ままにする)、ブロック951に入る。
ブロック951においては、CPUフアームウエアは入
出力標識(1)レジスタに2進数1をセットし、更にP
DMCIOフロップにシステム・バスPBYTEX回線
の状態を記憶する。もしシステム・バスのPBYTEX
回線がハィであれば、応答するIOCがDMCIOCで
あることを表示し、もしローならば応答するIOCがD
MAIOCであることを示す(第20図参照)。この時
CPUファームウェアは応答するIOCに対してシステ
ム・バスのRDDT回線上にASCMD指令を送出して
CPU−IOCリンクを確立する。ブロック953にお
いては、機能コードがテストされる。もしこの機能コー
ドが09(la隼)で出力アドレス機能コードを表示す
ればブロック954に入る。ブロック954においては
、機能コードを4だけ増補して09(16進)の出力ア
ドレス機能コードを血(16進)の出力範囲機能コード
もこ変化させる。機能コードを09から血に増補するこ
とにより、ファームウェアがブロック947に入った後
10LDソフトウェア命令の出力範囲機能について再び
実行される時、ブロック953が出力範囲経路をとって
ブロック964に行く。機能コードの増補の後ブ。
ック955に入り、PDMIOフロップがテストされて
CPCMD指令に応答したIOCのタイプを決定する。
もし応答するIOCがDMC IOCであればブロック
9 5 6に入り、AASにより決定される10バッフ
ァ開始バイト・アドレスはスクラツチパツド・メモリー
内の指定されたチャネル番号と関連したプログラム・チ
ャネル表ェント川こ記憶される(第30図参照)。又、
ブロック956においては、その10バッファの開始バ
イト・アドレスはシステム・バスのアドレス/データ回
線BUSXOO乃至BUSX15におかれ、これととも
にシステム・バス回線PBYTEXによりこれがバイト
零かバィトーかを表示する。更に、フロック956はE
OFLK指令をIOCに送り、IOCに対するデータが
システム・バス上にあることを表示する。バッファの開
始バイト・アドレスはDMCおよびDMAのIOCに対
するシステム・バス上で同報通信されるが、DMCIO
Cはこの開始バイト・アドレスを無視する。ブロック9
56におけるEOFLK指令のIOCに対する送出はブ
ロック952において送出されたASCMD指令により
確立されたCPU−IOCリンクを終了させる。ブロッ
ク957においては、CPUファームウェアは、1/0
バッファの開始バイト・アドレスを取りそして1/0バ
ッファの範囲(バイトにおける)を加算することにより
1/0バッファの上限を決定する。フロツク958にお
いては、CPUフアームウェアは、1/0バッファの最
後バイトがシステム内に物理的に存在する主メモリー内
に存在するかどうかを決定するが、これは1/0バッフ
ァの最終ワード(最終バイトを含む)をアドレス指定す
るメモリー・リフレッシュ操作を実行することにより行
う。
もしCPUロジックが不在メモリー・ロケーションのア
ドレス指定の試みを検出するならば、ハードウェア割込
みが生じてブロック970へ入り、トラップ15へ分岐
して(ブロック961)10LDソフトウェア命令の実
行を終了する。もし1/0バッファの最終バイトがシス
テム内に物理的に存在する主メモリー内に含まれるなら
ばブロック959に入り、別の検査を行なって、1/0
バッファが64Kワード・メモリーの上端から下位のア
ドレス・メモリー・ロケーションに循環したかどうかを
知る。もし循環が生じるならばブロック961に入り、
トラップ15(使用不能の資源)が実行され、10LD
ソフトウェア命令の実行が終了させられる。もし1/0
バッファが循環しなければ、ブロック959はブロック
960に出て10LDファームウェアに再び入り、範囲
を出力する。ブロック96川まブロック950に入り、
これからブロック947へ入り、この時点の出力囲(血
、1金隼)機能コードで処理を開始する。次にブロック
955に戻って、もしIOCタイプがDMAIOCであ
ればブロック962に入る。
ブロック962においては、1/0バッファの開始バイ
ト・アドレスがシステム・バスのアドレス/データ回線
BUSXOO乃至BUSX1 5上をDMAIOC}こ
送られ(第17図のメモリー・アドレス書式参照)、こ
れとともにシステム・バスの回線PBYTEXでバイト
零又はバイト1を表示する。ブロック962も又EOF
LK指令をシステム・バスのRODT回線上の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に入る。プoツク965
においては、CPUファームウェアが範囲をSPMの作
業ロケーションから取り、この範囲をチャネル番号と関
連するプログラム・チャネル表ェントリの第2のヮーW
こ記憶する(第30図参照)。ブロック965に続いて
、もしDMCIOC又はDMAIOCが応答したらブロ
ック966に入り、10LDソフトウェア命令に指定さ
れた範囲が零に等しいかどうかを決定するためテストが
行われる。もし範囲が零であれば、ブロック967に入
ってCPUが指令EOFRGをシステム・バスRODT
回線上でIOQこ送出する。ある1/0コントローラは
その状態標識にこの範囲終り条件を記憶し、他のIOC
はこの条件を無視する。フロック968においてはCP
Uがこの範囲をバイト数でシステム・バスのアドレス/
データ回線上でIOCに送出し(第17図のデータ・ワ
ード書式参照)、又EOFLK指令をシステム・バスの
RDDT回線上に送出する。DMAIOCとDMC I
OCのあるものとはIOC内にその範囲を記憶し、他の
DMC IOCはこの叢師を無視する。フロック968
におけるEOFLK指令はブロック952において確立
されたCPU−IOCリンクを終了させ、他の用途のた
めこのシステム・バスを解放する。CPU−IOCリン
クの終了で10LDソフトウェア命令の処理を完了し、
CPUファームウェアはブロック969に出て次のソフ
トウェア命令を取出す。10LDソフトウェア命令の論
述を終るに先立ち、ソフトウェアの観点からソフトウェ
ア10LD命令の実行結果は1/0コントローラがDM
AI/○コントローラであるか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旧MPER
又はPMMPARで受取られる使用不能資源の機識を記
憶し、かつ転送の状態がCPU‘こより要求される時C
PUに後で通知するためのこのエラー標識を記憶するこ
とができなければならない。Fgハ範 10日命令10
日ソフトウェア命令は1/0コントローラとの間で制御
バイト又はデータを送受するために使用される。
この命令は、ワード転送の代りにバイト転送を取扱う点
を除け‘ま10命令と類似する。10ソフトウェア命令
の場合と同様、CPUファームウェアは10日命令の実
行を制御する。
10日命令のフローチャートは下記の点を異にする外は
10命令のそれと同様である。
次に第28図によれば、10日命令に対しては、ブロッ
ク904においてバイト・アドレスが決定され、ブロッ
ク927においては1バイトのデータがアクセスされ、
ブロック928においては1バイトがIOCに送られ、
ブロック933においては1バイトがIOCから謙出さ
れる。10日命令の実行中のシステム・バス操作につい
ては既に述べた。
Fgニ トラツプおよびソフトウェア割込みソフトウェ
ア割込みは、現行ソフトウェア命令の完了時に対処され
る電源故障、IOC割込み等の如きCPUにより実行さ
れている現行命令にとって外部の事象により生じる。
しかし、トラッブは、パリティ・ェフー・プログラム・
ェフ−、不在資源アドレス指定等の如き現行ソフトウェ
ア命令と関連する事象によって惹起され、命令完了を待
つことなく即時対称される。Fgニi ソフトウェア割
込み 中央プロセサにおける各プログラムはあるソフトウェア
優先順位レベルにおいて実行するが、より高い優先順位
を有する事象により割込みこれ得る。
割込みを行う各事象はある優先順位レベルを割当てられ
る。ソフトウェア割込みは0から63まで付番された6
4のレベルがあり、レベル0が最高、63が最低の優先
順位を持つ。優先レベル0,1および2は固定事象に対
し予約され、他の事象はソフトウェアにより動的に割込
みレベルを割当てられている。望ましい実施態様におい
ては、64のソフトウェア割込みレベルが下記の如く割
当てられる。即ち、電源故障はしベル0(最高のレベル
)、監視タイマー(WDT)切れはしべル1、使用され
た最終トラップ保管域はしベル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ニ日 トラツプ トラップは現行ソフト命令の実行と同期する事象によっ
て生じる。
各タイプのトラップと関連しているのは、ソフトウェア
・トラップ取扱手順に対するポィンタを含む専用化され
た主メモリー・ロケーションである。これ等のロケーシ
ョンはトラツプ・ベクトル(TV)と呼ばれる。17の
トラップ・ベクトルが使用可能(第32図におけるロケ
ーション006F乃至007F)であるが、本実施例に
おいてはその全ては使用されない。
本実施例では、カッコ内に示されたトラップ・ベクトル
数を有する下記の事象の取扱いに使用されるトラップ・
ベクトルを有する。即ち、パリティ・エラー17、プロ
グラム・エラー16、使用不能資源15、特権操作違法
13、整数演算オーバーフロー6、組込まれない(科学
計算ではない)操作5、組込まれない科学計算3、追跡
/区切り点トラツプ2、およびモニター呼出し1である
。トラップ事象が生じると、CPUファームウェアがソ
フトウェア命令の実行を打切ってトラップを生じ、主メ
モリー内の関連するトラツプ・ベクトルからトラッブ取
扱い手順ポィン夕を抜出してそのトラップ・ハンドラに
分岐する。トラップはどのソフトウェア割込みレベルで
も生じ得、いくつかのトラツプが一時に継続され得る。
トラツプは、ソフトウェア・トラップ手順の実行中割込
まれる1つのソフトウェア・レベルで入り得、同じソフ
トウェア・トラップ手順が異なるレベルで入り得、ある
いは新らしいトラップが元のトラップの処理中生じ得る
。この可能性を調整するため、トラップ保管域のプール
が使用可能である。
これ等のトラップ保管城は主メモリー内保持され、この
トラップと関連するあるレジスタおよび情報を記憶する
ために使用される(第31図参照)。専用化された主メ
モリー・ロケーション0010(頭)は常に次に便用可
能なトラップ保管域を指示する。トラップが生じると、
CPUファームウェアが次の使用可能なトラップ保管城
において関連するレジスタの文脈を記憶し、現行割込み
保管城の最初のワードにおけるポィンタ(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図に示されるソフトウ
ェア・トラップ取扱手順の実行をOPUが開始する準備
において実行される。再び第33図において、1/0ソ
フトウェア割込み(ブロック360)、監視タイマーW
DT(ブロック364)、又は実時間クロックRTC(
ブロック364)のいずれかのサービスは、ソフトウェ
ア命令の抽出シーケンスの完了時でかつソフトウェア命
令抽出シーケンスが開始される前にファームウェアによ
り実施される。
この割込みファームウェアの完了(ブロック360又は
364)時に、ファームウェアはソフトウェア命令抽出
シーケンスに再び分岐して戻る。もしソフトウェア割込
みのソフトウェア優先順位レベルがブロック36川こお
けるファームウェアにより決定される如きCPU‘こよ
り現在実行されつつあるプログラムの優先順位レベルよ
りも高い場合、又はブロック364における監視タイマ
ー(WDT)又は実時間クロック(RTC)と関連する
カゥンタが零に減分される場合、優先順位レベル変更フ
ァームウェアリレーチン・ブロック374に入り、現在
実行中のソフトウェア・プログラムは中断される。
優先順位レベルの変更の場合は、優先順位レベル変更ル
ーチンはソフトウェア命令抽出シーケンスに出(ブロッ
ク356)、サービス中のソフトウェア割込みと関連す
る割込み取扱い手順の最初のソフトウェア命令の実行を
開始する。ソフトウェア割込み取扱手順の完了時に、C
PUはソフトウェア・レベル変更(LEV)命令の実行
によりソフトウエア優先順位レベルを変更する。もし割
込みを受けたプログラムが実行を待機する最高懐先順位
レベルであれば、ファームウェアは、抽出と実行との間
で割込みを受けたそのソフトウェア命令を再び抽出する
ことによりその割込みを受けたソフトウェア・プログラ
ムの実行をピックアップする。もしソフトウェア割込み
のソフトウェア優先順位レベルが現在CPUにより実行
されつ)あるプログラムのファームウェア3601こお
けるファームウェアにより決定される)より低いかこれ
と同じであれば、ソフトウェア懐先順位レベルは変更さ
れず、割込みルーチン・ブロック360はブロック35
6におけるソフトゥェア命令抽出シーケンスへ再び分岐
することにより出て、その実行が打切られたソフトウェ
ア命令の再抽出を生じることになる。この場合、比較的
低い優先順位のソフトウェア割込みは未完状態のままで
あり、この割込みは、最終的に優先順位レベル変更ルー
チン・ブロック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
つのソフトウェア命令、即ち前のソフトウェア命令38
1S、現行ソフトウェア命令382S、および次のソフ
トウェア命令383Sが詳細に示される。修飾辞の「前
の↓「現行」および「次の」はソフトウェア命令の一時
的関係を取扱うもので、必らずしもソフトウェア命令の
空間的な関係について述べるものではない。即ち、実際
におし、て、前のソフトウェア命令は主メモリー内のロ
ケーション1000‘こおかれ、もしこれが分岐命令で
あれば、これはロケーション200川こおかれた現行ソ
フトウェア命令に分岐し、次のソフトウェア命令はロケ
ーション2001におかれてもよい。従って、修飾辞「
前の」、「現行」、「次の」は命令が実行される順序を
記述し、必らずしも主メモリー内の相対的位置を述べる
ものではない。Gbロ フアームウエア・マイクロプロ
グラム再び第34図において、前のソフトウェア命令フ
ァームウェア・ブロック381F、現行ソフトウェア命
令ファームウェア・ブロック382F、および次のソフ
トウェア命令ファームウェア・ブロック383Fは、そ
れぞれ前のソフトウェア命令381S、現行ソフトウェ
ア命令382Sおよび次のソフトウェア命令382Sの
処理において実行されるCPUファームウェア・マイク
ロ命令のシーケンスを表わす。ブロック381F乃至3
83Fにより表わされるファームウェアは、実行される
CPUファームウェア・マイクロ命令のシーケンスを表
わすが、必らずしもファームウェアROS(第9図の2
38)に個々に記憶されるファームウェア・マイクロ命
令自体を表わすとは限らない。又、もし現行ソフトウェ
ア命令382Sが前のソフトウェア命令381Sと同じ
ものであれば、ブロック382Fで実行されるファーム
ウェア命令がブロック381Fで実行されるファームウ
ェア命令と同じものが可能であることが判る。特に、現
行ソフトウェア命令ファームウェア・ブロック382F
内の抽出ファームウェア・フロック384も又、ソフト
ウェア割込み判断ブロック385と同様前のソフトウェ
ア命令ファームウェア・ブロック381Fよび次のソフ
トウェア命令ファームウエア・ブロック383Fにおい
て実行され、その相方は実行される特定のソフトウェア
命令とは無関係であることが判る。ソフトウェア命令の
関係と同様に、ソフトウェア命令ファームウェアに関す
る用語「前の」、「現行」および「次の」はファームウ
ェアの実行シーケンス間の一時的関係を示し、ファーム
ウェアROS内に記憶された通りのファームウェア命令
それ自体の空間的関係を表わすものではない。このよう
に、第34図においては、前のソフトウェア命令ファー
ムウェア381Fが前のソフトウェア命令38ISの処
理を完了する時に現行ソフトウェア命令ファームウェア
382Fに入り、又その完了時に次のソフトウェア命令
フア−ムウェア383F‘こ入ることが判る。Gbハ
ソフトウェア割込み、ハードウェア割込み、およびトラ
ツプ次に現行ソフトウェア命令ファームウェアブロック
382日こ関しては、現行ソフトウェア命令382Sの
実行はソフトウェア割込み、ハードウェア割込み又はト
ラツプの発生によって中断され得ることが判る。
以下において判るように、1つのソフトウェア割込みの
発生は常に現行ソフトウェア命令の処理の中止をもたら
し、ソフトウェア割込みの優先順位レベルに依存して現
行ソフトウェア命令の実行の再開に先立ってソフトウェ
ア割込み取扱手順の実行をもたらし得る。あるハードウ
ェア割込みの発生は現行ソフトウェア命令ファームウェ
アの実行の中止をもたらし、その間CPUファームウェ
アはハードウエア割込みを処理し、その完了時にハード
ウェア割込み時の現行ソフトウェア命令の処理に復帰す
る。1つのトラップの発生は現行ソフトウェア命令の実
行の放棄およびこのトラツプの処理に専用化された1組
のソフトウェア命令であるトラツプ取扱手順によるトラ
ツプの処理をもたらすことになる。
トラツプ取扱手順ソフトウェアの完了時に、トラップさ
れたソフトウェア命令に続く次のソフトウェア命令が処
理され、あるいは以下で明らかになるように別のソフト
ウェア・プログラム実行が開始され得る。Gbハi ソ
フトウェア割込み 次に、現行ソフトウェア命令ファームウェア382Fに
ついて詳細に論述する。
CPUファームウェアによる現行ソフトウェア命令の処
理は、ブロック384においてファームウェア制御下で
主メモリーから現行ソフトウェア命令を抽出するファー
ムウェアによって開始される。現行ソフトウェア命令の
最初のワードの抽出の完了時に、フロツク385におい
て未完のソフトウェア割込みがあるかどうかをテストす
るためファームウェア分岐が行われる。もし1つ以上の
ソフトウェア割込みが未完であれば、ファームウェア分
岐が最高優先順位の未完ソフトウェア割込みのファーム
ウェア・マイクロプログラムへ分岐する。第34図にお
いては2つのソフトウェア割込みファームウェア・ルー
チン艮0ちブロック388−1および388一2が示さ
れ、その各々は特定のソフトウェア割込みを取扱うCP
Uファームウェア・マイクロプログラムを表わす。38
8−2の如き特定のソフトウェア割込みファームウェア
・マイクロプログラム内では、ソフトウェア割込みの優
先順位が現在実行中のソフトウェア・プログラムの優先
順位より高いかどうかを知るためテストが行われる。
このテストはブロック389において行われる。もしこ
のソフトウェア割込みが現在実行中のソフトウェア・プ
ログラムのそれより低いかあるいはこれと等しければ、
割込みは受入れられず、ブロック389からの低いか等
しい分岐が行われ、ファームウェアは、ブロック382
Fに入り続いてブロック384において主メモリーから
現行ソフトウェア命令の再抽出を行うことにより現行ソ
フトウェア命令の実行を再開する。もしこのソフトウェ
ア命令の優先順位が現在実行中のソフトウェア・プログ
ラムより高い場合にはソフトウェア割込みは受入れられ
、ブロック389からブロック39川こ入り、このブロ
ックは現行ソフトウェア・プログラムの状態を保管する
割込み保管城をセットアップし、そしてこのソフトウェ
ア割込みと関連するソフトウェア割込み取扱い手順に分
岐する。ブロック391において1組のソフトウェア命
令であるソフトウェア割込み取扱い手順がこの時実行さ
れて、それに含まれるソフトウェア命令の各々がCPU
ファームウェアによって処理される。ソフトウェア割込
み取扱い手順ソフトウェアにおける最後の命令がレベル
変更(LEV)ソフトウェア命令391Lであり、この
命令が実行を待機中の最高優先順位のソフトウェア・プ
ログラムに対すCPUファームウェア走査をもたらす。
このレベル変更ソフトウェア命令391Lはしベル変更
命令ファームウェア・マイクロプログラム392により
実行され、これはブロック393において現在実行を待
機中の最高優先順位のソフトウェア・プログラムを決定
する。もし更に高い優先順位のソフトウェア・プログラ
ム394が実行を待機中であれば、このソフトウェア・
プログラムがCPUファームウェア制御下で実行され、
そして又LEVソフトウェア命令394Lによって終了
される。ソフトウェア命令394LのレベルはLEV命
令ファームウェア・マイクロプログラム392の実行を
もたらし、再び最高優先願&のソフトウェア・プログラ
ム・レベルに対するテストがブロック393で行われる
。もしこのブロック393におけるレベル・テストによ
り前に中止された現行ソフトウェア・プログラム380
が実行を待機中の最高優先順位のプログラムであること
を決定するならば、現行ソフトウェア命令ファームウェ
ア382Fに入り、現行ソフトウェア命令382Sが抽
出ファームウェア384により再抽出され、現行ソフト
ウェア命令のCPUファームウェア実行が続行する。要
約すれば、CPUファームウェアは、あるソフトウェア
命令の実行中にソフトウェア割込みの未完状況をテスト
し、ある特定のソフトウェア割込みを取扱うよう専用化
された特定のソフトウェア割込みファームウェア・マイ
クロプログラムにベクトル化され、このソフトウェア割
込みファームウェアは現行ソフトウェア・プログラムの
優先順位に対するそのソフトウェア割込みの優先順位に
ついてテストし、もしこの優先順位が現行ソフトウェア
・プログラムの優先順位より低い又はこれに等しい場合
には、現行ソフトウェア・プログラムは割込みされずC
PUファームウェアによる現行ソフトウェア命令の処理
が再開されることが判る。
一方、もしソフトウェア割込みが現在実行中のソフトウ
ェア・プログラムより高い慶先順位であるならば、割込
み保管城に現行ソフトウェア・プログラムの状態を保管
しかつその自体1組のソフトウェア命令であるソフトウ
ェア割込み取扱い手順の実行を開始することによりその
ソフトウェア割込みはサービスされる。このソフトウエ
ア割込み取扱い手順は次にレベル変更ソフトウェア命令
によって終了し、このレベル・ソフトウェア命令は早晩
割込みされた現行ソフトウェア命令の再活動化をもたら
し、現行ソフトウェア命令の実行が主メモリーからその
現行ソフトウェア命令を再抽出することにより再開され
る。Gbハ‘e} ハードウェア割込み 現行ソフトウェア命令の実行中に未完のソフトウェア割
込みがなければ、ブロック385が実行ファームウェア
・ブロック386に出る。
この実行ファームウェア・ブロック386は現行ソフト
ウェア命令の実行を完了するため必要なファームウェア
・ステップを実施する。ブロック386における実行フ
ァームウェアの実施の過程においてはハードウェア割込
みが生じ得る。ソフトウェア割込みの場合はCPUファ
ームウェアが検出して未完のソフトウェア割込のときに
特定のソフトウェア割込みファームウェア・ルーチンに
分岐してその特定の未完ソフトウェア割込みを取扱うの
であるが、これとは異なってハードウェア(HW)割込
みの場合は、CPUファームウェアによって検出されず
、その代りハードウェア割込みロジックがCPUファー
ムウェアを強制してハードウェア割込みと関連する一連
のマイクロ命令の実行を開始させることによりハードウ
ェア割込みが生ずる。第34図においては、4つのハー
ドウェア割込みファームウエア・マイクロプログラム3
95一1乃至395一4が示される。これ等のハードウ
ェア割込みファームウェア・マイクロプログラム395
一1乃至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図に示される如く、ハードウェア割込みの
処理中、ハードウェア割込みファームウエア・マイクロ
プログラムは自ら、ハードウエア割込みファームウェア
・マイクロプログラムがそれ自体別のハードウェア割込
みにより割込みされないようにハードウェア割込みを禁
止する(即ち、ソフトウェア.割込みは入れ子状にでき
るが、ハードウェア割込みは入れ子にならない)。Gb
ハiij トラツプ再び実行ファームウェアのブロック
386に関して、現行ソフトウェア命令の実行中、ファ
ームウエア自体がトラツプ条件に関し1つ以上のテスト
を行うことが判る。
例えば、ブロック387はトラップ条件の存在に対する
CPUファームウェア・テストを示し、もしトラツプ条
件が検出されると、この実行ファームウェアはトラップ
フアームウェア・ブロック396一3に分岐してトラッ
プ条件を処理する。その後現行ソフトウェア命令の実行
中、1つ以上の他のトラップ・テストがファームウエア
によって行うことができる。もう1つのトラツプ・テス
トがブロック388として示されが、もしトラツブ条件
が検出されると、このテストはトラツブ・フアームウエ
ア・マイクロプログラム396−1に出る。次にトラツ
プフアームウエア・マイクロプログラム396一3につ
いて述べれば、トラップ・ファームウェア・マイクロプ
ログラムの機能は、トラツプ保管城をセットアップする
ことであり、この保管機にCPUファームウェアがトラ
ツプ・ハンドラ手順の処理を開始する前に現行ソフトウ
ェア・プログラムの状態を保管する。トラップ・ハンド
ラ手順はトラップ条件を処理するよう書かれた1組のソ
フトウェア命令である。このトラツプ・ハンドラ手順3
97はブロック387により検出され更にブロック39
6−3によって処理される特定のトラツプ条件と関連し
ている。CPUファームウェアによって検出される各ト
ラツプ条件に対する別個のトラップ・ハンドラ手順があ
る。このトラップ・ハンドラ手順397は次に他のソフ
トウェア・プログラムと同様CPUファームウェアによ
って実行され、「トラツプからの復帰(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を実行する。本
例において、あるトラップの発生が現行ソフトウェア命
令の実行の打切りおよびトラップ・ハンドラ手順ソフト
ウェア・ルーチンによる現行ソフトウェア命令の完了が
生じ、これに続いて次のソフトウェア命令の実行が生じ
ることが判る。○bニ 割込みおよびトラツプ 要約すれば、ソフトウェア割込みおよびトラップは、ソ
フトウェア命令の実行中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はスクラツチパツド・メモリ
ーの作業ロケーションのアドレス艮0ち第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図に従って、A
LUにより行われる機能から生じるデータが送られる行
先を示す。
ビット8および9は、ALU‘こ対するシフト・タイプ
の制御を行うことの外、ビット23が2進数1で主メモ
リーの操作が行われることを示す時、主メモリーの議出
し/書込み制御としても作用する。
CPUファームウエア・ワードの副指令および制御フィ
ールドを第35C図に示す。
ビット20乃至35は副指令および制御フィールドを成
す。
副フィールド‘ま第35C図に示される。ビット20お
よび21はデータ・セレクタ・マルチプレクサ(第9図
の269)における入力ボートを制御し、これによりA
LUに対して送られるデータのソースを決定する。
ビット23はメモリー制御ビットであり、2進数1にセ
ットされると、シ ステムバス B上に メ モリー0
0(MEMGO)信号を生じて主メモリーの議出しサィ
クル、書込みサイクル又はリフレツシュ・サイクルを開
始する。行われるべきメモリー操作はマイクロ命令のビ
ット8および9によって決定される。ビット24乃至3
1の機能は、副指令復号フィールドとして使用されるビ
ット32乃至34における状態により決定される。ビッ
ト35はハードウェア割込みを制御し、2進数1にセッ
トされるとハードウェア割込みを可能にし、2進数零に
リセットされるとハードウェア割込みを禁止する。
第37A図は、副指令復号ビット32乃至34が2進数
110と等しい時に復号できる種々の割込み指令をリス
トしたものである。ファームウェア・ビット32〜34
が割込み指令を表示する時、ビット24乃至27が無視
される。第37B図乃至第37E図は、副指令復号ビッ
ト32乃至34が2進数101と等しい時復号できる他
の指令をIJストしたものである。副指令復号ビット3
2〜34が2進数101と等しい時、もしビット24〜
27が3(IS隼数)と等しければ第37B図にリスト
された制御パネル指令が実施され、これは第37C図に
示す如く制御パネル・ストローブを生じる(ビット24
〜26=001、ビット27=注意不要)。副指令復号
ビット32〜34が101(2進数)と等しくビット2
4〜27が0011(2進数)と等しくなければ、第3
7C図乃至第37E図にリストされた1/0指令の符号
化された組合せが行われる。これ等1/0指令は3、2
および3ビットの粗に区分され、これ等の指令の組の各
々からの1つの指令を同時に実行することを許可する。
第37C図乃至第37E図にリストされた種々の1/0
指令の使用については第20図乃至第23図に示され、
これら図はCPUファームウェアの制御下でシステム・
バス上に生じる種々のシーケンスを示している。副指令
復号フィールドのビット32が零である時、副指令フィ
ールド全体が2つの副指令フィールドと解釈され、副指
令フィールド1(第37F図)はファームウェア・ワー
ドのビット24乃至27により指定され、副指令フィー
ルド2は(第37G図)はCPUファームウェア・ワー
ドのビット28乃至31により指定される。
更に、ビット32が零の時、ビット33と34は第35
C図に示す如く主メモリー制御を提供する。CPUファ
ームウェア・ワードの論出し専用ストア(ROS)のア
ドレス指定フィールドは第350図に示す。
ビット36乃至47はROSアドレス指定フィールドを
構成する。副フィールド‘ま第35D図に示される。R
06アドレス指定フィールド‘ま、ROS(第9図の素
子238)のアクセスに使用される次の引き続くファー
ムウェア・アドレスを決定する。ビット36および37
は、第35D図にリストされる如きビット38と47間
の紙において見出されるアドレスのタイプを決定する。
無条件分岐が表示される時(ビット36および37にお
ける2進数00)、ファームウェアはビット38乃至4
7に含まれるアドレスに分岐する。テスト分岐が表示さ
れる時(ビット36と37における2進数01)、ビッ
ト38乃至41およびビット47が使用されて2通りの
分岐を示す。分岐多重テストが表示される時(ビット3
6と37における2進数10)、ビット40〜43が使
用されて1鏡重りのテスト分岐を表示する。ビット36
および37が共にセットされると、ビット38乃至47
に含まれるアドレスが無視され、ハードウェア割込み後
フローが戻るファームウェア・アドレスはハードウェア
割込み戻りアドレス・レジス夕(第9図の252)から
得られる。Hb スクラツチパツド・メモリーの制御C
PUフアームウエア・ワ−ドのスクラツチ/ぐッド・メ
モリー制御フィールドは第35A図に示す。
ビット0,1および5〜7はスクラツチ・パッド・メモ
リー(SPM、第8図の素子236)の制御のため使用
される。ビット0はスクラツチパッド・メモリーの動作
を決定する。2進数1にセットされるとデータが書込ま
れ、2進数零にリセットされるとデータが謙出される。
ビット1および5乃至7は、データの書込み議出しが行
われるスクラッチパッド・メモリーの作業ロケーション
則ち第10図のロケーション00乃至OFのアドレス指
定に使用されるアドレスを形成する。ビット2および3
は、マイクロプロセサのランダム・アクセス・メモリー
(RAM、第8図のレジスタ・ファイル268)をアド
レス指定するため使用される4ビット・アドレスの3つ
の下位ビットの選択を制御する。ビット2および3の種
々の組合せは、マイクロプロセサのRAMアドレスの下
位のビットを機能■レジスタ(第8図の274)の副フ
ィールドFRO,FR2,FR3から、あるいはファー
ムウェア・ワード自体のビット5乃至7から選択される
ことを許可する。上位ビット(マイクロプロセサのRA
Mアドレスのビット0)は常にファームウェア・ワード
のビット4によって決定される。Fレジスタの種々の副
フィールドからのマイクロプロセサのRAMアドレス指
定ビットの選択を制御するCPUファームウェア・ワー
ドのビット2および3の能力は、Fレジス外こ含まれる
ソフトウェア命令の迅速な復号を可能にする上で重要で
ある。ソフトウェア命令内では、Fレジスタにおける副
フイールドFROは通常1つのレジスタ番号を保有し、
副フィールドFR2とFR3はソフトウェア命令のアド
レス・シラブルを構成する。Hb 演算ロジック・ユニ
ットの制御 CPUファームウェア・ワードのALU制御フィールド
は第358図に示される。
ビット8乃至19はマイクロプロセサ(第8図の素子2
32)の制御のため使用される。副フィールドは第35
B図に示される。前述の如く、第8図の16ビットのマ
イクロプロセサ232は、米国カルフオルニア州サニー
ベィルのAdvancedMicroDevices社
製のタイプAm2901の4つの4ビット・スライス形
マイクロプロセサのカスケード接続からなる。このマイ
クロプロセサ制御フィールドのあるものは直接カスケー
ド接続されたビット・スライス形マイクロプロセサによ
り使用され、他のもの(シフト・タイプ制御およびキャ
リー注入)は最上位ビット・マイクロプロセサおよび下
位ビット・マイクロプロセサにより生成された終端条件
の制御のために使用される。ファームウエア・ワードの
ビット8および9は、カスケード接続されたマイクロプ
ロセサの最上位および最下位ビットへあるいはこれらか
らシフトされるビットを制御することによりシフト・タ
イプの制御を行う。ビット10乃至12はマイクロプロ
セサのALUのソースを決定し、4ビットのスライス形
マイクロプロセサの各々の直接制御に使用される。これ
等のビットの正確な定義は、前記のAdvancedM
icroDevices社により出版され本文に参考の
ため引用された文献「マイクロプログラムされた16ビ
ット・コンピュータ」に見出されよう。ビット13乃至
15はマイクロプロセサ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
ワードが王〆モリーから謙出されるかを制御する。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は主メモリーG
O制御ビットであり、セットされるときシステム・バス
B上のPMEMGO−信号をローにさせてメモリー読出
し/書込みサイクルを開始する。ビット24乃至31は
副指令フィールドであり、その意味は副指令復号副フィ
ールドを形成するビット32乃至34によって解釈され
る。
副指令復号副フィールド(ビット32乃至34)におけ
る値に従って、副指令フィールド(ビット24乃至31
)は、8ビット定数、割込み指令、制御パネル指令、1
/0指令、機能‘Fルジスタ制御、又は副指令のいずれ
かである。これ等の種々の副指令フィールドの意味は第
37A図乃至第37G図に示される。ビット35はハー
ドウェア割込み制御フィールドであり、CPUマイクロ
プロセサ書込みファームウエアがマイクロプログラム・
ファームウエア・ステム間のハードウェア割込みの発生
を禁止又は付勢することを許可する。
ビット35が2進数零である時、ハードウェア割込みは
禁止され、マイクロプログラムは現行マイクロ命令に続
いて割込され得ない。ビット35が2進数1の時はハー
ドウェア割込みが付勢され、もしハードウェア割込みが
現在夫完即ち継続中であれば、マイクロプログラムは現
行マイクロ命令の実行完了時点で割込みされる。第37
A図は割込み指令のリストであり、これはビット28乃
至31から復号できる(ビット24乃至27は無視され
る)。
第37B図は、ビット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)を生成する。
次にROBアドレスの4つの最上位ビツトニ(ビツ0乃
至3)は現行ROSアドレスの4つの最上位ビットから
得られ、ファームウェア・ワードのビット42乃至46
はROSアドレス・ビット4乃至8として直接使用され
る。これ等の2通り分岐はファームウェアによって使用
されて制御フロツプ1乃至4(CFI〜CF4)および
機能レジスタの各ビットの状態の如き種々の条件をテス
トする。多重テスト分岐が表示される時(ビット36お
よび37における2進数10)、ビット38および39
、44乃至47は次のROSアドレスにおいて直接使用
され、ビット40乃至43は16の異なる多重テスト分
岐の1つを表示するため使用される。多重テスト分岐は
ファームウェア・プログラマにより使用されてソフトウ
ェア命令の復号を助け、ソフトウェア割込みに応答する
。ビット36と37が共にビットされる時(2進数11
)はファームウェア・ワードのビット8乃至47は使用
されず、次のROSアドレスは、CPUファームウェア
がハードウェア割込みによって中断された時の次のRO
Sアドレスを有するハードウェア割込み戻りアドレス・
レジスタ(第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が含まれることが判る。タイミング・ロジック
400は、1/0コントローラ全体に使用される基本的
な1/0同期信号(信号PTME3十20およびDMY
TM3十)を提供する。
更に、タイミング・ロジック400は、前の1/0コン
トローラ(又は、もし1/0コントローラがシステム・
バスAとBのいずれかにおける最初の1/0コントロー
ラであれば、CPU)からバス・サイクル・アウト信号
を得て、信号を次の1/0コントローラに送る前に50
0ナノ秒闇遅延させる。
更に、タイミング・ロジック400は、コントローラを
初期化してIOCの品質論理テスト(QLT)ファーム
ウェアを開始するために使用されるIOC初期化信号P
CLEAR+20の生成に使用される。
DMA/DMC要求ロジック402は、もしIOCがD
MA又はDMCデータ転送サイクルを要求しかつDMA
又はDMC要求回線が既にそのシステム・バス上の別の
DMA又はDMC I/0コントローラによりセットさ
れていない場合、IOCの時間スロットの間システム・
バスのDMA又はDMC要求回線PDMARX−又はP
DMCRX−をを2進数零にセットするために使用され
る。
特定の1/0コントローラはDMA又はDMC IOC
のいずれかである。DMA IOCに対してはDMA要
求回線PDMARX−を、又DMCIOCに対してはD
MC要求回線PDMCRX−を使用する。割込み要求ロ
ジック404は、もしIOCがCPUのソフトウェアの
実行に割込みを行うことを欲しかっこの特定のシステム
・バスにおける別のIOCが既に割込み要求回線をセッ
トしていない場合、このIOCの時間スロットの間バス
割込み要求回線PINTRX−を2進数零にセットする
ため使用される。
1/0コントローラに接続された周辺デバイスの1つに
おける状態変化が感知される時、あるいは特定の1/0
指令が例えば謙出し又は書込み指令は続く範囲の満了時
に完了する時は常に、IOCは割込みシーケンスを開始
する。
要求リセット・ロジック406は、システム・バスの回
線RDDT29+乃至KDDT31十において符号化さ
れたCPU応答に応答して1/0コントローラのDMA
要求フロツプ又はDMC要求フロップ又は割込み要求フ
ロップをリセツトするために使用される。
以下に説明するように、あるIOCはDMA要求又はD
MC要求のいずれかと割込み要求の相方を同時に未完艮
0ち継続中の状態で有し得る。このことは、多数の周辺
デバイスを取付けられたIOCについては特に真であり
、その結果1つの周辺デバイスが読出し又は書込み操作
を完了してそれにより1つの割込みを要求することが可
能であり、そして第2のデバイスが読出し又は書込み操
作の実行中にあってこの周辺デバイスに関して読出し又
は書込みされるデータの次のワード又はバイトを要求す
ることが可能である。la1/0コントローラ・デバイ
ス・ロジック更に第38図に関してデバイス・ロジック
407の動作について論述する。
デバイス・ロジック407は、指令ロジック409と、
タスクおよび構成ロジック429と、割込みロジック4
17と、状態およびデバイスIDロジック437と、デ
ータ転送ロジック421と「アドレスおよび範囲ロジッ
ク445からなる。アドレスおよび範囲ロジック445
はDMAI/○コントローラにおいてのみ存在すること
が判る。laイ 指令ロジック 指令ロジック409は、IOCにアドレス指定された1
/0制御指令および機能コードを復号する。
信号ロジック409は、IOCが1/0指令を受入れる
ことができそして回線PROCED−を2進数零にセッ
トするか、1/0が使用中であり回線PBUSY−を2
進数零にセットするか、あるいはIOCが一時的に使用
中であり両回線PROCED−とPBUSY−を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への入力である。更に、チャネル番
号スイッチに含まれるチネル番号は、DMCデータ転送
要求中又は1/0割込み要求シーケンス(第17図参照
)の間、システム・バスのアドレス/データ回線を介し
てCPUに対して転送され得る。チャネル番号スイッチ
411におけるIOCのチャネル番号と一致したチャネ
ル番号を有する1/0指令のみが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進数へのセットの結果、システム
・バス上の信号PINTRX−が2進数零にセットされ
ることになる。CPUが割込み要求に肯定応答する時、
IOCはCP川こ送るため割込みレベルとチャネル番号
をシステム・バスのアドレス/データ回線にロードする
。次に、CPUはその割込みレベルを検査する。もし割
込みレベルをCPUが回線PROCED−を2進教養に
セットして肯定応答するならば、割込み操作が完了する
。もし割込みレベルCPUが回線PBUSY−を2進数
零にセットして肯定応答しないならば、1/0コントロ
ーラは割込みロジック417にこの割込み要求をスタツ
クしそしてCPUが再開割込み(RESUM)1/0指
令を送出するのを待機する。CPUが再開割込み1/0
指令を送出する時、IOCが割込み要求を再び開始する
。laニ 状態およびデバイス識別ロジック状態および
デバイス識別(ID)ロジック437はIOCにより付
勢されて状態ワードおよびデバイスIDコードを記憶す
る。
状態ワード1,439および状態ワード2,441は周
辺デバイスおよび主メモリー条件を保有する。状態ワー
日こおける個々のビットの意味はIOC固有である。状
態ワード2は、状態ワード1に符号化され得る以上の状
態情報を有する如き1/0コントローラにのみ存在する
。デバイスIDコードはデバイスIDワード443に保
有されてIOCに接続される周辺デバイスのタイプを表
示する。指令ロジックが入力状態ワード1又は2指令を
復号する時、状態ワード1又は2がシステム・バスのア
ドレス/データ回線を介してCPUに転送される。入力
デバイスm指令が指令ロジックにより復号される時、デ
バイスmコードはシステム・バスのアドレス/データ回
線BUSXOO+乃至BUSX15十を介してCPUに
転送される。主メモリー・ェフー(パリティ又は不在ア
ドレス)信号MEMPER−(システム・バスB上)お
よびPMMPAR−(システム・ノミA上)が状態およ
びデバイスmロジック437により入力され、後でCP
Uに対して通知するため状態ワード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によりC
PUに対するシステム・バス(入力のため)に転送され
る。もし出力であれば、システム・バスのアドレス/デ
ータ回線からデータの1バイトが取出されてこれが周辺
デバイスに送出される前にデータ・アウト・レジスタ4
23に記憶される。もし入力であれば、周辺デバイスか
らデータの1バイトが取出されてシステム・バスのアド
レスノデータ回線を介してCPUに送出される前にデー
タ・イン・レジスタ425に保持される。いずれの場合
も、DMC I/0コントローラに対しては、データ・
バイト位置合せロジック427は存在しない。DMCI
OCに対しては、データがDMCIOCから主メモリー
へ又は主メモリーからDMCIOCへ転送される時デー
タ・バイト位置合せはCPUによって行われるのである
。laヘ アドレスおよび範囲ロジック アドレスおよび範囲ロジック445はDMAIOCにの
み見出される。
DMCIOCにおいては、このアドレスおよび範囲ロジ
ック445により実施される機能はプログラム・チャネ
ル表を用いてCPUによって行われる。アドレス・レジ
スタ・カウン夕447は、10LDソフトウェア命令の
出力アドレス機能の間、CP川こより出力される17ビ
ットを保有する。アドレス・レジスタ・カウンタ447
は、データの各ワード(又はバイト)が主メモリーとD
MAIOCとの間で転送される毎に増分される。範囲レ
ジスタ・カゥンタ449は転送されるデータの範囲(バ
イトの数)を保持するために使用される。範囲カゥンタ
は、最初10LDソフトウェア命令の出力範囲機能によ
ってセットされる。データの各ワード(又はバイト)が
DMAIOCと主メモリーとの間で転送される時、範囲
レジスタ・カウンタ449が滅分される。アドレス・レ
ジスタ・カウンタ447の内容は、入力アドレス指令又
は入力モジュール1/0指令によりCPUに転送される
ことができる。範囲レジスタ・カウンタ449の内容は
入力範囲1/0指令によりCP川こ入力され得る。DM
AIOCがDMA要求に応答してCAPUから肯定応答
を受取る時、コントローラはデータ転送のためCPUに
リンクされ、DMAサイクルが開始する(第22図参照
)。
CPUの肯定応答の受取りと同時に、アドレスおよび範
囲ロジック445は書込みバイト0および書込みバイト
1の回線PWRTBO+とPWRTBI+を活動化する
これ等2回線は主メモリーに対し実施すべき議出し/書
込み操作のタイプを表示する。アドレスおよび範囲ロジ
ック445は主メモリー・アドレスをシステム・バスの
アドレス/データ回線BUSXoo十乃至BUSX1
5十にoードし、そしてCPU「付努にPU行きバス回
線PEN斑X−」を活動化してこれを得る。もし不在の
主メモリーのアドレス・エラーが生じると、CPUはP
ENBSX−の間主メモリー・エラー回線M旧MPER
−およびPMMFAR一を活動化してDMAIOCに通
知する。入力操作(主メモリーに対する誓込み)の実行
中、信号PENBSX一は2進数零の状態を維持して、
データ・イン・レジスタ425からのデータ・ワードを
システム・バスを介して主メモリーへ転送する。出力操
作(主メモリーからの議出し)の実行中、信号PENB
SX一が2進数1となる。システム・バスのRDDT回
線におけるリンク終り指令の受取り時に、DMAIOC
はデータ・イン・レジスタ425の内容をシステム・バ
スのアドレス/データ回線にロードし(入力のため)、
あるいはシステムリゞスのアドレスノデータ回線をデー
タ・アウト・レジスタ423にアンロードする(出力の
ため)。もし主メモリーのパリティ・エラーが生じると
、CPUはリンク終り指令の間信号M旧MMER−/P
MMPAR−を活動化することによりDMAIOCに通
知する。DMAサイクルは終了され、データ転送シーケ
ンスは完了する。データ転送ロジック421におけるデ
ータ・バイト位置合せロジック427はDMAIOCの
ためにだけ存在することに留意されたい。
DMA出力操作の間、データ・バイト位置合せロジック
427はアドレスおよび範囲ロジック445と関連して
動作し、適正なバイトを主メモリー(データ・アウト・
レジスタ423に含まれる)から受取るデータのワード
から適当なバイトを抜出し、そしてこのデータのバイト
又はワードを周辺デバイスへ転送する。1ワードのデー
外ま常に主メモリーから読出されることが判る。
DMA入力操作の間は、周辺デバイスから受取ったデー
タのワード(又はバイト)を位置合せしてこれをデータ
・ィン・レジスタ425内の適正位置におくことがデー
タ・バイト位置合せロジック427の機能であり、その
結果主メモリーへの転送のためアドレス/データ回線上
に適正に位置合せされる。更に、データの一方は他方の
バイト又はその両方を主メモリーに書込むことができる
ことが判る。2つのバイトの内のどれが、又は両方が主
メモリーに書込まれるかは、DMAデータ転送の間アド
レスおよび範囲ロジック446によってセットされる信
号PWRTBO+およびPWRTBI十によって制御さ
れる。
lb1/0コントローラ・タイミング・ロジック前述の
如く、システム・バス上の各IOCは、500ナノ秒の
バス・サイクル・スロットが割当てられ、この間システ
ム・バス要求を行うことができる。
バス上の各IOCは、システム・バスからの信号PTI
ME3一およびBCYCIN一を使用することにより何
時が前記IOCのバス・サイクル・スロットであるかを
決定する。1次時間3(PTIM旧3−)信号はシステ
ム・バス上の各IOCに配分され、第13図に示す如く
、バス・サイクルの100ナノ秒間2進数零の状態に、
又システム・バス・サイクルの400ナノ秒間2進数1
の状態になる。
第13図は又、このバス・サイクル・ィン(BCYCI
N−)信号は、1つの1次時間3パルスの後縁から次の
1次時間3パルスの後縁迄500ナノ秒の期間2進数1
であることを示す。
特定のIOCのシステム・バスのサイクル・イン信号B
CYCIN−が前のIOC(即ち、システム・ィン・バ
ス上のCPUに更に近い隣接IOC)のシステム・バス
・サイクル・アウト信号BCYCOT−であることが判
る。次に第39図を参照してタイミング・ロジック40
0の動作について詳細に説明する。
マィ・タイム3フロップ408およびサイクル・ィン・
ウロップ410が最初にセットされる(即ち、2進数1
はそのQ出力側に生じる)。マィ・タイム3フロップは
、現行IOCの1次時間3の期間中にのみリセットされ
る。サイクル・イン・フロツプ41川ま現行IOCのサ
イクル・ィン時間中にのみリセットされる。IOC‘こ
ついての用語「現行ふ「前の」、「次の」はシステム・
バス上の各IOCの相対的な物理的位置を言及すること
が判る。このように、第1図においては、もし現行のI
OCが1/0コントローラ208であれば、前のIOC
は1/0コントローラ206、次のIOCは1/0コン
トローラ210である。前の10Cはシステム・バス上
の中央プロセサにより近い隣接IOCである。次のIO
CはこのCPUからより遠い隣接IOCである。次に第
39図によれば、システム・バスの1次時間3信号PT
Iハ4E3−が2進数から2進教養の状態に遷移する度
に、ANDゲート412の出力(信号PTIN伍3十2
0)は2進数零から2進数1の状態に遷移してマィ・タ
イム3フロップ408をクロツクすることが判る。始め
に、バス・サイクル・イン時間信号BCYC川一が2進
数1であって前のIOCのサイクル・イン時間でないこ
とを表わすならば、フロツプ408がセットされる。マ
イ・タイム3フロツプ408がセットされるかセット状
態を維持すれば、そのQ出力(信号DMYTM3一)は
2進数1となり、これをサイクル・イン・フロツプ41
0にクロツクするのは1次時間3の終りに2進数零から
2進数1の状態に遷移する信号PTIME3−3 0で
ある。
信号PTIME3−30は、ANDゲート412の出力
を反転するィンバータ414の出力である。1次時間3
システム・バス信号PTIME3一に対するクロツキン
グ信号PTIM旧3十20およびPTIM旧3一30の
関係は第40図を参照すれば判る。
第40図は、PTIME3−信号が2進数1である時、
PTIME3十20が2進数零、PTIME3一3川ま
2進数1であることを示す。各論理素子と関連する第5
乃至10ナノ秒の遅延については本文での論議の目的に
おいては無視するものとする。次に第39図および第4
0図においては、時間A即ち最初の1次時間3の期間の
始めにおいて、2進数零から2進数1への信号PTIM
E3十20の遷移がそのデータ■入力側の信号BCYC
IN−をその出力側QおよびQにゲートすることにより
フロツプ408をセットする。
もしフロツプ408がこの時間Aの前にセットされてい
たならば、その状態は時間Aでも変化しない。時間B則
ち最初の1次時間3の期間の終りにおいては、システム
・バス上の信号BCYCIN−は2進数1から2進数零
へ遷移して前のIOCのシステム・バス・サイクル・ィ
ン時間の開始を表示する。時間C即ち2の1次時間3の
期間の始めにおいては、信号PTIME3十20は再び
フロツプ408のD入力をその出力側にゲートし、この
時バス上の信号BCYCIN−が2進数零であるため、
フロッブ408がリセットされ、そのQ出力即ち信号D
MYTM3−が2進数零となる。時間○即ち第2の1次
時間3の期間の終りでかつ現行IOCのシステム・バス
・サイクル・イン時間の始めにおいては、サイクル・イ
ン・フロツプ41川こ対するクロツク信号PTID位3
一30は2進数零から2進数1に遷移してそのD入力を
そのQ出力側にゲートする。時間Dにおいてはフロップ
410の入力(信号DMYTM3一)は2進数零であり
、従ってフロップ410はリセットされて現行IOCの
システム・バス・サイクル・イン時間の始めを表示する
。サイクル・ィン・フロップ410のリセット動作は2
進数零になる信号BCYCOT−をそのQ出力側に生じ
、これはマイ・タイム3フロップ408のセット(S)
入力側に入力される時、フロツプ408がセットされて
そのQ出力側に2進数1の信号DMYTM3−を生じる
。時間E瓢ち第3の1次時間3の期間の終りに、フロッ
プ410‘こ対するクロック信号PTIME3−30が
再び2進数零から2進数1の状態に遷移し、これにより
そのD入力側の2進数1信号をそのQ出力側にクロツク
することによってフロツプ410をセットし、信号BC
YCOT−を2進数1にさせる。信号BCYCOT−の
2進数零から2進数1の状態へのこの遷移により現行I
OCのシステム・バス・サイクル・ィン期間が完了し、
次のIOCがそのサイクル・ィン時間を開始するのを許
可する。再び第39図によれば、サイクル・イン・フロ
ップ4 1 0がバスの2進数零の信号PCLEAR−
の発生により最初にセットされることが判る。
信号PCLEAR−はシステム初期化の間中央プロセサ
によってセットされてシステム・バス上の全ての周辺装
置をクリアする。信号PCLEAR−が2進数零である
時、ANDゲート4 1 6の出力は、ANDゲート4
18の出力である信号PCEAR+20と同様に2進数
1である。ィンバータ42川まANDゲート4 1 8
の出力を反転する。ANDゲート418の出力が2進数
1の時、ィンバータ420はサイクル・イン・フロツプ
410のセット(S)入力側に2進数零を生じ、これに
よりそのQ出力を2進数1に初期化する。信号PCLE
AR−がサイクル・イン・フロツプ410をセットする
能力は、マスター・クリア操作の間システムにより使用
されてマスター・クリア時に進行中の入出力操作を打切
る。再び第40図によれば、マィ・タイム3フロップ4
08のQ出力(信号DMYTM3一)が現行IOCの1
次時間3の期間(時間C乃至D)の間だけリセットされ
ること、およびサイクル・イン・フロップ41 0のQ
出力(信号BCYCOT−)は500ナノ秒の現行IO
Cのシステム・バス・サイクル・イン時間(時間D乃至
E)の間だけリセットされる。
lc 1/0コントローラ要求ロジック 次に第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入力側の信号DMCINC−は2進数
1となる。更にその後、クロック信号DERSWT−を
2進数零から2進数1の状態へ遷移することによりデバ
イス・ロジック407がフロツプ424のデータ入力信
号をその出力側にクロツクする時、これにより需要DM
Cフロツプ424をセットしてそのQ出力(信号DRQ
AOK)を2進数1にさせる。一たんこの需要DMCフ
ロツプ424がセットされると、もし同一のシステム・
バス上の別のIOCが既にDMCサイクルを要求中でな
ければ、IOCはその次のシステム・バス・サイクル・
ィン時間中DMCバス・サイクルを要求する。このよう
に、もし同じシステム・ハス上の別のIOCがDMCサ
イクルを要求中でなければ、このシステム・バス上のD
MC要求信号PDMCRX−(IOCの内部に対しては
信号DDMCRX−として表わされる)は2進数1とな
って、DMCサイクルがこのシステム・バス上のIOC
により要求中ではないことを表示する。NAND426
に対する3つの入力の内の2つが2進数1であるとき、
即ちDMC要求フロップがセットされずかつ需要DMC
フロツプがセットされる時、第3の入力側に2進数1の
信号DMYTM3十が発生することにより、その出力則
ち信号DMYDMC−を2進数零にさせ、これによりD
MC要求フロップ428をセットする。第40図に示す
如く、信号DMYTM3一は、現行IOCシステム・バ
ス・サイクル・イン時間に対する1次時間3の始めであ
る時間Cにおいて2進数零となり(従って、信号DMY
TM3一は2進数1となる)、システム・バスのDMC
要求回線の信号PDMCRX−を2進数零の状態にさせ
る。次に第39図によれば、DMC要求フロップ428
のセットの結果そのQ出力則ち信号DMDMCF+が2
進数1となり、このため更にNANDゲート430の出
力を2進数零にさせることによりシステム・バスの回線
PDMCRX−上にDMCサイクルを要求する。
一たんDMCサイクル要求回線が2進数零にセットされ
ると、第39図によれば、このシステム・バス上の他の
DMCIOCは、DMC要求回線が現行IOC‘こより
リットされる迄はそれ自身のためにDMCサイクルの要
求をできないことが判る。尚、これらシステム・バス上
の各DMC IOCは第39図に示したものと同様なD
MC要求ロジックを有することが判る。現行IOCのD
MC要求フロップ428は2つの事象のいずれかの発生
によってリセットされ得る。マスター。クリア操作の結
果システム・バスクリア信号PCLEAR−が2進数零
となり、その結果ANDゲート418の出力PCLEA
R+20が2進数1となり、これがNORゲート422
への1入力である。信号PCLEAR+20が2進数1
となると、NORゲート422の出力即ち信号DMCC
LR−が2進数零となり、これが更に需要DMCフロッ
プ424とDMC要求フロップ428をリセツトする。
クリア信号を介するフロツプ424と428のこのリセ
ット動作は、記憶されたが未だ処理されない需要DMC
要求のクリア動作と、及びもしシステム・バスのDMC
要求回線が現在DMC要求フロツプ428によりセット
されているならばこのDMC要求回線のリセット動作と
、を生じる結果となる。フロッブ424と428がリセ
ットされ得る第2の方法は、バス回線RDDT29+乃
至RDDT31十上で符号化された回答DMC指令に応
答するものであり、この指令の結果DMCリンク・フロ
ッブ454のセット動作を生じる。
DMCリンク・フロツブ454がセットされると、その
出力である信号DDMCCY+は2進数1となり、これ
がDMC要求フロップ428のD入力側の2進数零をそ
の出力側にクロツクし、これによりDMC要求フロップ
428をリセットする。この結果NORゲート422の
出力も又2進数零となり、これが更に需要DMCフロッ
プ424のリセットを生じる。このように、以下の説明
で明らかになるように、CPUが要求側IOCに対しシ
ステム・バス上の回答DMC指令で応答する時、要求側
IOCのDMC要求フロツプ428はその需要DMCフ
ロップ424と同様にリセットされる。DMC要求フロ
ップ428のリセットの結果、IOCが取付けられた特
定のシステム・バス上のDMC要求回線(信号PDMC
RX−)が2進数1となり、これにより別のIOC又は
このリセットするIOCがそのDMC要求フロップをセ
ットすることによってその特定のシステム・バス上にD
MC要求を行うことを許可する。もしあるシステム・バ
ス上の2つ以上のIOCが需要DMCフロップをセット
させるならば、このシステム・バス上のそのサイクル・
ィン時間を与えられる第1のIOCは、そのDMC要求
フロップをセットすることによりDMC要求を行うこと
を許可されるIOCである。例えば、第13図において
、第3のIOCがDMC転送要求を与えられておりかつ
第3のIOCのDMC転送要求の処理中第4と第2のI
OCがその各々の需要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のクロック信号D山NO
K十は2進数零から2進数1の状態に遷移してそのデー
タ入力側の2進数1をそのQ出力側にクロツクし、これ
によりこのフロップをセットし信号DBINOK+を2
進数1にさせる。
その後、特定のIOCのサイクル・イン時間中、2進数
1になるクロツク信号DMYTM3十の発生によりNA
NDゲート436を付勢し、もしその第3の入力即ち信
号DINTRX−が2進数1ならばその出力を2進数零
にさせる。もし特定のシステム・バス上の割込み要求回
線の信号P瓜TRX−が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十
乃至RDDT31十上に2進符号化されるシステム・バ
ス指令を復号するのに使用される。指令デコーダ442
は、前記のTexas1nstrumen$社により製
造され前記の「設計技術者のためのTTLデータ・ブッ
ク」第2版なる文献に記載されたタイプ番号SN74S
138の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+乃至R
DDT31十に符号化されるならば、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乃至
34によって制御される。第370図によれば、CPU
フアームウエア・ワードのビット27および28はシス
テム・バス・ストローブ指令回線のどちらが又は相方が
付勢されるかどうかを制御することが判る。即ち、CP
Uファームウエアのマイクロプログラムはその制御下で
、どのシステム・バスが指令ストローブを受取るかを示
すビット27と28の使用により、かつ選択されたシス
テム・バスヘストローブされるビット29乃至31(第
37E図参照)の指令の使用により、システム・バスA
又はシステム・バスBのいずれか、又は両方のシステム
・バスA,Bを有する。従って、もしシステム・バスA
においてDMC要求が行われつ)ありかつシステム・バ
スBにおいて別のDMC要求が行われつ)ある場合、C
PUファームウェアはシステム・バス回線RDDT29
+乃至RDDT31十上に回答DMC指令で応答するよ
うマイクロプログラムされ得る。一方又は他方のシステ
ム・バス又はその両方に対するシステム・バス指令スト
ローブを制御する能力は、回線RDDT29+乃至RD
DT31十上のこのシステム・バス指令が同時に両方の
システム・バスに同報通信されるという点で重要であり
、2つの可能な要求IOCの内の一方のみが回答される
ように2つのバスの内の一方のみにこのバス指令ストロ
ーブ信号PIOCTX−がゲートされる。第2 1図に
示す如く、指令ストローブ信号PIOCTX−は1次時
間0の終りで2進数1から2進数零の状態に遷移し、こ
れにより指令デコーダ442の8つの出力の内の1つを
付勢する。次に第39図によれば、ANDゲート452
の入力の1つは指令デコーダ442からの信号DAS−
DMC−であることが判る。
ANDゲート452に対する他の入力はOMC要求フロ
ッブ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+)を生じる。Dタイプのフロツブ454のデ
ータ■入力側に2進数1が現われると、2進数零から2
進数1の状態に遷移するクロック信号DMYLKC+の
発生によりDMCリンク・フロツプ454をセットし、
信号DDMCCY+は2進数1となる。前述のことから
判るように、信号DDMCCY+の2進数零から2進数
1の状態への遷移は、DMC要求フロップ428のクロ
ック動作とそのリセット動作を生じ、このリセット動作
はシステム・バス上のDMC要求回線PDMCRX−を
2進数1にする。これも又前に述べたが、信号DDMC
CY+が2進数1になる時は需要DMCフロツプ424
も又リセットされる。
次に、指令リンク・フロツプ446、割込みリンク・フ
ロツプ4 5 0、DMCリンク・フロツプ454、お
よびIOCリンク・フロツプ468をクロックするクロ
ック信号DMYLKC+の生成について説明する。
前述の如く、ANDゲート452の出力が2進1となる
のは、ANDゲート452に対する両入力が2進数零と
なって、これが、IOCがシステム・バス回線RDDT
29+乃至RDDT31十からの回答DMC指令を受取
り中であること、および特定の1/0コントローラのD
MC要求フロップ428がセットされていることを表示
する場合である。もしこれ等条件が満たされれば、OR
ゲート458に対する入力の1つは2進数1となり、こ
れによりその出力(信号DMYLKS+)を2進数1に
する。リセット要求フロップ460のデータ入力側の2
進数1は、クロツク信号PTIME3十20が2進数零
から2進数1の状態に遷移する時1次時間3時において
出力側にクロックされる。リセツト要求フロップ460
のセットの結果として、出力(信号DMYLKC+)が
2進数零から2進数1の状態に遷移し、そしてフロッブ
446,450,454および484のクロツク動作を
生じる。
いかなる時点においても、3つのフロップ446,45
0,454の内の1つのみがセットされる。これ等3つ
のフロツプの1つのセットは、システム・バス回線上に
符号化された指令に依存し、かつ関連する要求フロツプ
(即ち、CPU指令フロツプ470、割込み要求フロッ
プ438、又はDMC要求フロツフ0428)のどれが
セットされているかに依存する。以上の説明から、AN
Dゲート452が2重の目的を備えることが判る。
第1目的は、システム・バスに符号化された1/0指令
が回答DMC指令である場合、かつそのIOCのDMC
要求フロップがセットされている場合、DMCリンク・
フロップ454のデータ入力側に2進数1を与えること
である。もしこのIOCのDMC要求フロツプがセット
されていなければ、DMCリンク・フロップ454のセ
ット動作はアンセツト(既にリセットされた)DMC要
求フロップ428をリセットするためには要求されない
。ANDゲート462の第2目的はORゲート458に
よりORされる3つの信号の内の1つを発生することで
あり、このORゲート458の出力がリセツト要求フロ
ツプ460のセット動作に使用される。更に、フロツプ
460の出力はフロツプ446,450,454をクロ
ツクするために使用される。このように、1/0コント
口−ラのDMC要求フロツプ428がセットされかつ回
答DMC指令が受取られる場合か、あるいは1/0コン
トローラの割込み要求フロップ438がセットされかつ
回答割込み指令が受取られる場合か、あるいはCPU指
令フロップ470がセットされかつ回答指令がシステム
・バスの指令回線RODT29+乃至RDOT31十上
で受取られる場合、にのみこのクロック信号DMYLK
C+が生成されるのである。これ等の後者の2条件はA
NDゲート444およびANDゲート448によって確
立され、その出力はそれぞれ指令リンク・フロツプ44
6および割込みリンクフロップ450のデータ入力側に
接続されている。従って、指令リンク・フロツプ446
は、CPU指令フロップ470がセットされかつ回答指
令がシステム・バスから受取られる場合、セットされる
ことになる。これに対応して、割込み要求フロップ43
8がセットされかつ回答割込み指令がシステム・バス上
で受取られる場合、割込みリンク・フロツブ450がセ
ットされる。割込みリンク・フロツプ450のセット動
作は2進数1となる信号DINTCY+を生じ、これが
更に前述の如く割込み要求フロップ438と需要割込み
フロツプ434のリセットを生じる結果となる。CPU
指令フロップ470がセットされた結果、信号DMCM
DF−が2進数零となり、この信号は更に、1/0コン
トローラによりCPUに対して送られる進行中又は使用
中の信号を生じる際10Cにより使用されて、IOCが
CPUからの指令対話で進行する条件にあるかどうかを
表示する。CPU指令フロップ470は、システム・バ
スの回線BUSXOO+乃至BUSXO9十上の目的の
IOCのチャネル番号と共にシステム・バス回線RDD
T29+乃至RODT31十上のCPU指令の受取りに
応答して、IOCによりセットされる。
第20図に示すIOCシーケンスに対するCPU指令は
、CPU指令がRDDTシステム・バス回線上に符号化
される間、IOCがバス・データ回線BUSXOO乃至
BUSXO9十上のチャネル番号を特定のIOCのチャ
ネル番号を表示するようプリセットされたIOCにおけ
る手動セット可能スイッチのチャネル番号と比較する。
もしこのシステム・バス上のチャネル番号がIOCのそ
れと等しければ、CPU指令フロップ470はクロック
入力側で2進教養から2進数1に遷移する信号DNn’
CMD−によってセットされ、データ入力側に2進数1
をクロツクする。フロップ470のセット動作はQ出力
信号DMCMDF−を2進数零にさせてANDゲート4
44を部分的に付勢し、このゲートはRDDTシステム
・バス回線上に符号化された回答指令の発生時に完全に
符勢される。CPU指令フロップ470は信号DCMD
R3一によりリセットされるが、これはシステム。バス
上のマスター・クリア(NORゲート472を介する信
号PCLEAR十20)が発生する時に、又は指令リン
ク・フロップ446がセットされている場合に1次時間
3時においてRDDTシステム・バス回線上でリンクの
終り指令(EOFLK)が発生する(即ち、CPU才旨
令システム・バス・シーケンスを終了するりンク終り信
号の発生の間、ANDゲート474の出力が2進数1と
なる)時に生ずる。
信号PTIME3十40は1次時間3信号PrIME3
一30を反転するィンバータ476により生じ、又信号
DEOFLK+はリンク終り信号DEOFLK−を反転
するィンバータ478により生じることに注意。
更に第39図についての説明によれば、IOCリンク・
フロップ468がリセツト要求フロツブ460の出力に
よりクロツクされ、この出力は又フロツプ446,45
0,454をクロツクすることが判る。IOCリンク・
フロツプ468のデータ入力側に2進数1があれば、I
OCリンク・フロツプ468はリンク・フロツプ446
,450および454の1つがセットされる時常にセッ
トされる。IOCリンク・フロツプ468がセットされ
ると、その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の間、リン
ク終了レジスタ464のQI出力側およびD2入力側で
2進数1である信号DELKDI十は、そのQ2出力側
にクロックされてこ)で保持され、信号DELKD2十
は2進数1となる。DELKD2十が2進数1であれば
、ィンバータ466の出力である信号DELKD2一は
2進数零となり、これによりIOCリンク・フロップ4
68および他のりンク・フロツプ446,450,45
4をリセットし、そしてIOCがCPUにリンクされた
現行リンク・シーケンスを終了する。リンク・フロツプ
446,450,454および468をリセツトするり
ンク終りシーケンスに加え、システム・バス上のマスタ
ー・クリアも又ORゲート462に対してPCLEAR
+20を与えることによりこれ等フロッブをクリアし、
これが更に2つの1次時間3の期間後これ等のフロップ
のリセット動作を生じることになる。リンク終了レジス
タ464の目的は、1システム・バス・サイクル時間だ
けリンク・フロツプのリセット動作を遅延させることで
ある。
ィンバータ446の後のその出力即ち信号DELKD2
一は、1つの1次時間3の始めから次の1次時間2の終
り迄の完全な1システム・バス・サイクル時間だけ2進
数零の状態に止まり、それによってリンク・フロツプ4
46,450,454,468がそれ等のIJセット入
力側の信号DELKD2−が2進数1となる迄セットさ
れ得ないようにする。従って、リンク・フロップ446
,450,454および468は、リンク終り指令がシ
ステム・バスのRDDT回線上に符号化されたシステム
・バス・サイクルに続いて2つのシステム・バス・サイ
クルが経過する迄はセットされ得ない。このことは実施
において制約とはならないが、その理由はシステム・バ
スRDDT回線上のCPUバス指令がCPUファームウ
ェアにより生成されて、前の指令のリンク終りの処理と
、回答指令か回答割込みか回答DMAか又は回線DMC
バス指令かによる未完のバス要求の回答と、の間でCP
Uが1つ以上のファームウェア・ステップ(即ち、シス
テム・バス・サイクル)を実施しなければならないため
である。前述の如く、リンク・フロツプ・クロック信号
DMYLKC+はリセット要求フロップ460をセット
することにより生成される。信号DMYLKC十が2進
数零から2進数1の状態に遷移することを要求するその
後のクロック信号を生じるために、フロツプ460がリ
セットされねばならない。フロッブ460のデータ入力
である信号DMYLKS+が2数進零である溝ことを保
証することにより、後続するバス・サイクルの次の1次
時間3の間フロツプ460がリセツトされる。これは、
システム・バスのRDDT回線上に符号化されるバス指
令が回答指令、回答割込み、又は回答DMC指令でなく
、このためORゲート458の出力が2進数零であるこ
とを保証する場合である。これは、CPUファームウエ
ア・マイクロプログラムがシステム・バス上に回答指令
を生成する2つの連続するマイクロ命令を符号化しない
ことを保証すること、によって達成される。これはバス
・シーケンス対話に照して実施上制約はならない。lf
DMCIOC要求およびリセツト・ロジックシステム
内に与えられる1/0コントローラはDMAコント口−
ラ又はDMCコント口‐ラのいずれかである。
要求ロジック、要求リセット・ロジックおよびIJンク
・ロジックに関する前の論述はDMC I/○コントロ
ーラに塞くものであったが、このロジックは等しくDM
A I/○コントローラの場合にも適用できるものであ
る。即ち、第39図においては、需要フロツプ424、
要求フロップ428およびリンク・フロップ454は等
しくDMAフロツプであり得るが、この場合指令デコー
ダ442からの回路DMA信号DASDMA−はAND
ゲ−ト452を介してリンク・フロップ454をセット
するため使用されるこことになるつoJ I/○コント
ローラ・システム・バス要求およびリンク・ロジックの
要約第39図に示したロジックの動作についてこ)で簡
単にまとめてみよう。
タイミング・ロジック40川ま、特定のIOC内で使用
されるタイミング信号の生成、およびサイクル・ィン・
タイミング信号BCYCINのバス上の前の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要求)
を行うことができる。その理由は、所与の時刻に所与の
IOC内の2つ以上の要求。ジックのセットを妨げるも
のが要求ロジック内には何もないためである。異なる要
求タイプ(即ち、DMA、DMC、又は割込み)間の優
先順位が、システム・バスAとB間の同じタイプの競合
する要求と同様に、CPU‘こよって分別されることも
判る。要求ロジックのこれ以後の説明により示されるこ
とは、特定のサイクル・ィン時間中に第1のIOCがそ
のDMC要求フロップ428をリセットし、かつ同じシ
ステム・バス上の第2のIOCがもしこれが第2のIO
Cのサイクル・ィン時間でありかつその需要DMCフロ
ツプ424がセットされているならばそのDMC要求フ
ロップ428をセットできることである。このことは、
同じシステム・バス上の両方のIOCがシステム・バス
のRDDT回線上で回答DMC指令を受取りっ)ある場
合でさえ生じ得る。第1のIOCのみがDMCリンク・
フロップ454からDMC要求フロップ・リセット信号
DDMCCY+を生成するが、これは第1のIOCのD
MC要求フロップ428のみがクロック信号PTIME
3十20がリセット要求フロップ460をクロックする
時にセットされたためである。同じシステム・バス上の
第2のIOCにおけるPTIME3十20の前緑におい
て、ANDゲート452の出力である信号DDMCCS
+が2進数零となり、その結果ORゲート458の出力
である信号DMYLKS+が2進数零となり、その結果
リセット要求フロツプ460がクロック信号PTIME
3十20によってはセットされない。第2のIOCのリ
セット要求フロツプ46川まセットされないため、その
Q出力の信号DMYLKC+は2進数零状態を維持し、
DMCリンク・フロップ454はクロツクされずIJセ
ット状態を維持する。
ORゲート458の第2のIOCの出力である信号DM
YLKS+は2進数零となるが、これは任意の時にCP
Uがシステム・バスの回線RDDT上に1つのタイプの
指令のみを与え得る故にそのORゲートの他の2入力で
ある信号DINTCS+およびDCMDCS十も又PT
IME3十20の前縁において2進数零となるためであ
る。
従って、指令デコーダ442の唯1つの出力のみが2進
数零となり、従ってANDゲート444,448および
452の唯1つの出力(もしあれば)がPTIM旧3十
201こおいて2進数1となり得る。即ち、リセツト要
求フロップ460がセットされ、そしてもし要求フロッ
プ470,438又は428がセットされかつ対応する
指令(それぞれASCMD、ASINT、又はASDM
S)がCPUからシステム・バスのRDDT回線を介し
て受取られる場合、リンク・フロツプ(446,450
,454および468)クロック信号DMYLKC+を
発生する。特定のIOCに接続されたある周辺デバイス
が通常いかなる時点でも1つの割込み要求と関連してD
MA(又はDMC)要求を共に行わないが、多くの周辺
デバイスが1つのIOCに後続されることは可能で、こ
の場合は特定のIOCがある特定の時点で割込みおよび
データ転送の両方を要求できるが、この場合このIOC
はその要求フロップの1つ以上をセット状態にすること
になる。一たんあるIOCがシステム・バス要求を行う
と、CPUフアームウエアはシステム・バスRDDT回
線上の回答指令によって応答する。
要求リセットロジック406において示した如く、シス
テム・バス要求に対するCPUの応答は2つの動作を生
じる。第1の動作は要求側のIOCの要求フロップがリ
セットされ、対応するりンク・フロツプがセットされる
ことである。このようにDMCの事例について続けると
、もしシステム・バスA上のIOCがDMC要求を行う
ならば、CPUファームウェアは両方のシステム。バス
AおよびBに対するシステム・バスのRDDT回線上の
回答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がそのリンク・フロップ446,
450又は454の内の1つをセットし、これがリンク
終り指令がCPUにより送出されこの特定のIOCによ
り受取られる迄セット状態を維持する。システムにおけ
る唯1つのIOCがリンク・フロップをセットさせるた
め、リンク終り指令は両方のシステム・バス上にCPU
ファームウェアによって同報通信され得、唯1つのIO
Cがそのリンク・フロップをリセツトすることによりリ
セツトすることになる。CPUはいかなる時点でもリン
ク終り指令を同報通信でき、現在CPU‘こリンクされ
ている特定のIOCのサイクル・ィン時間を待機する必
要はないことに再び留意されたい。このように、サイク
ル・ィン時間の目的は、特定のシステム・バス上のIO
C間の競合問題の除去にあること、および一たん開始さ
れるとIOCとCPU間の対話は関与するIOCのサイ
クル・ィン時間とは無関係に生じ得ることが判る。前述
の如く、又第16図乃至第18図において示した如く、
DMC要求、DMA要求および割込み要求に対する通常
のシーケンスは、IOCがそのサイクル・イン時間中バ
ス要求を開始し、CPUが任意の時刻に回答で応答し、
その後任意の時にCPUからのりンク終り指令が後続す
る。更に、前述の如く、又第16図に示す如く、CPU
は、任意の時にシステム・バスの回線RDDT上にCP
U指令(CPCMD)おきかつシステム・バスのアドレ
スノデータ回線上に特定のIOCチャネル番号をおくこ
とにより、IOC動作を開始することができる。ここで
、用語「任意の時」とは、関与するIOCのサイクル・
ィン時間に無関係にCPUにリンクされる別のIOCに
より既にシステム・バスが使用状態にない期間(即ち、
IOCのリンク・フロップがセットされない期間)を意
味する。更に、通常のバス対話シーケンスは、IOCに
よるバス要求の後、CPUからの回答指令が続き、更に
CPUからのりンク終り指令が続くが、このシーケンス
はマスター・クリア(信号PCLEAR)によりいかな
る時でも打切ることができ、これが対応するフロップを
リセットし新らしいシーケンスが開始できるようにこの
シーケンスを打切る、ものであることに洋意すべである
K CPUロジックの詳細これ迄IOCコントローフ・
ロジックの動作について記述したが、次にCPUロジッ
クについて詳細に説明する。
第42図は第9図の制御ストアのフロック図に関連して
前に説明した制御ストア・ロジックを示し、第43図は
第8図のCPUのブロック図と関連して説明したCPU
ロジックを示す。Ka 制御ストア・ロジックの詳細 次に第42図に関して制御ストア・ロジックの動作につ
いて詳細に論述する。
システムが初期設定されると、アドレス・レジスタ1,
246−1およびアドレス・レジスタ2,246−2が
リセットされ、これにより10ビット・アドレス出力を
零にセットされる。10ビットのROSアドレスRAD
ROO+乃至RADRO9十が零にセットされると、ロ
ケーション零がROS1,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の出力
が前のマイクロ命令ファームウェア・ワードによって決
定される場合、次のマイクロ命令のアドレスがROS1
,238ーーおよびROS−2,238一2に与えられ
、そして次のマイクロ命令が読出され、次に1次時間o
の始めにおいて局部レジスタ242にクロックされる。
このように、以下に述べる如きハードウェア割込みを生
じることなく、現行マイクロ命令がROSから読出され
るべき次のマイクロ命令を定するのである。Kaィ R
OSアドレス生成ロジック 次にアドレス・レジスタ1,246−1および2,24
6−2に関して前記の動作を更に詳細に論述する。
システムが初期化されると信号PCLEAR−が2進数
1となり、このため以下に説明するように、更に1次時
間4の始めにPCPCLR+を2進数1にそしてPCP
CLR+を2進数零にさせる。
NORゲート595の1つの入力側で信号PCPCLR
+2進数1である、その出力即ち信号RARCLR−は
2進数零となり、これが更にアドレス・レジスター,2
46−1をクリアして10ビットのROSアドレス最上
位の6ビットの信号RAPROO+乃至RADR05十
を2進数零にさせる。アドレス・レジスタ2,246−
2のリセツト(R)入力側の信号PCPCLR−が2進
数零であれば、10ビットのROSアドレスの最下位ビ
ットの信号RADR06+乃至RADRO9十は2進数
零となり、これにより10ビットのROSアドレスを全
て零にする。付勢(EN)読出し入力の信号KENRO
S−が2進数零であれば、ROS1,238一1は10
ビットのアドレスにより指定されるロケーションをアド
レス指定し、その40ビット出力を回線RROSOO十
乃至RROS23十およびRROS32+乃至RROS
47十におく。付勢(EN)読出し入力の信号KENR
OS−およびPEN−BBT+が2進数零であればRO
S2,238−2は10ビット・アドレスにより指定さ
れるロケーションをアドレス指定してその8ビット出力
を回線RROS24十FM乃至RROS3 1十FMに
おく、ROS1,2 3 8ーーは4ビット×1024
ロケーションの10個のPROMからなり、ROS2,
238−2およびブートPROM240はそれぞれ4ビ
ット×1024ロケーションの2個のFROMからなる
。これ等の4ビット×1024ロケーションのPROM
は米国カリフオルニア州サニービルのSig肥tics
社により製造され本文に参考のため引用する文献「Si
劉etics社のバィポーラおよびMOSメモリーデー
タ・マニュアル」に記載されたタイプ8$137である
。ROSIおよび2から読出された48ビットのマイク
ロ命令ファームウェア・ワードは1次時間0の始めに信
号PTIMEO十によって局部レジスタ242にクロツ
クされる。局部レジスタ2・42の出力である信号RD
DTOO十乃至RDDT47十はCPU全体で使用され
て中央プロセサを制御し、これも又ィンバータ(図示せ
ず)により反転されて必要に応じ制御信号RDDTOO
−乃至RDDT47−を生じる。第9図の制御ストア・
アドレス・ゼネレータ248は、第42図のアドレス・
ゼネレータ1マルチプレクサ248−1およびアドレス
・ゼネレータ2マルチプレクサ248−2からなる。
4−1マルチプレクサからなるアドレス・ゼネレータ1
マルチプレクサ248−1は、現行ファームウェア・ワ
ードのビット36および7に指定される分岐タイプに従
って、ROS238から取出される次のマイクロ命令の
アドレスを決定する。
第35D図は、もし選択(SEL)入力RDDT37十
およびRDDT36十が2進教養であれば、現行マイク
ロ命令において指定される分岐タイプが無条件分岐であ
り、次のマイクロ命令の10ビットROSアドレスは1
0入力の信号RDDT38+乃至RDDT47十により
指定されることを示す。もし現行マイクロ命令のビット
36おおよび37が2進数01を指定するならば、2通
りのテスト分岐が指定され、11入力は、アドレス・レ
ジスタ1,246−1からの4ビットの信号RADRO
O+乃至RADR03十と、現行マイクロ命令からの5
ビット、信号RDDT42乃至RDDT46十とおよび
分岐オン・テスト回路網254(第9図参照)からの1
ビット、信号RASBT9十とを用いて選択される。も
し現行マイクロ命令のビット36および37が2進数1
0を指定するならば、アドレス・ゼネレータ1マルチプ
レクサは多重テスト分岐入力12を選択して、現行マイ
クロ命令からの6ビットの信号RDDT38十,RDD
T39十およびRDDT44+乃至RDDT47十と、
およびメジャー分岐回路網256(第9図)からの4ビ
ットの信号RAMBT2十乃至RAMBT5十とを使用
する。現行マイクロ命令のビット36および37がハー
ドウェア割込み戻り分岐を指定するならば、13入力が
使用され、10ビット・アドレスはハードウェア割込み
復帰レジスタ252からの信号RITROO+乃至RI
TRO9十によって決定される。アドレス・ゼネレー夕
1マルチプレクサ248−1の出力即ち信号RADMO
O+乃至RADMO9十は、出力制御【F}入力信号K
ENRAM−が2進数零を維持する限り有効である。ア
ドレス・ゼネレータ2マルチプレクサ248−2は、1
0ビットROSアドレスの4つの最下位ビットがアドレ
ス・ゼネレータ1マルチプレクサ248−1の出力か又
はハードウェア割込みェンコーダ250一2から生じる
かどうかを選択するために使用される。
ハードウェア割込みが全く継続中でない場合か又は1つ
以上の割込みが継続中であるがハードウェア割込みが禁
止されている場合、信号PHINTL十が2進教養とな
り、10入力の信号RADM6+乃至RADMO9十が
選択される。もし1つ以上のハードウェア割込みが未完
即ち継続中でありかつハードウェア割込みが付勢されて
いる場合、信号PHWTL+は2進数1となり、11入
力の2進数1とおよび信号PHINT7十乃至PHIN
T9十とが選択され、10ビットROSアドレスの4つ
の最下位ビットは継続中のハードウェア割込みの符号化
によって決定される。アドレス・ゼネレータ2マルチプ
レクサ248一2の出力である信号RADN06+乃至
RADNO9十は、1次時間2の始め則ち信号PTIM
E2十が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が信号PTIME4一によってクロ
ックされる。割込み要求レジスタ250一1のデータ入
力は、それぞれ、割込み要求システム・バスB(信号P
INTR2一)、割込み要求システム・バスA(信号P
INTRI−)、DMCデータ要求システム・バスB(
信号PDMCR2一)、DMCデータ要求システム・バ
スA(信号PDMCRI−)、DMAデータ要求システ
ム・バスA(信号PDMARI−)、DMAデータ要求
システム・バスB(信号PDMAR2一)、主メモリー
・リフレツシュ時間切れ(信号PHMRFL−)および
王〆モリー議出しサイクル(信号PMRCYC−)に接
続される。
割込み要求レジスタ250−1の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出力の
信号PHmTP+はその8入力の1つが2進数零である
時常に2進数1となり、ハードウェア割込みが未完則ち
継続中であることを表示する。 ・もしハードウェア
割込みが継続中であれば、ハードウェア割込みェンコー
ダ250−2の付勢(1)出力の信号PHINTP+は
2進数1であり、ANDゲート591を部分的に付勢す
る。
もし現行ファームウェア・ワードのビット35が2進数
1であってハードウェア割込みを付勢すらならば(第3
5C図参照)、信号RDDT325十が2進数1となっ
てANDゲート591を完全に付勢し、出力信号PHm
TL+2進数にする。信号PHINTL+が2進数1で
ANDゲート593を部分的に付勢するならば、1次時
間2の始めに信号PTIM旧2十が2進数1になりAN
Dゲート593を完全に付勢し、その出力の信号PHm
TC十を2進数1にする。NORゲート595の1つの
入力が2進数1であれば、その出力の信号RARCLR
−が2進数零となってアドレス・レジスタ1,246−
1をリセツトし、これにより10ビットのROSアドレ
スの最上位6ビットを零にクリアする。ANDゲート5
9 1の出力である信号PHINTL+が2進数1であ
れば、アドレス・ゼネレータ2マルチプレクサ248一
2は11入力を選択して、ハードウェア割みェンコーダ
250−2の入力側の未完の最高優先順位割込みの入力
番号と対応するアドレスを、10ビットのROSアドレ
スの最下位の3ビットに符号化する。10ビットのRO
Sアドレスの最下位の4番目のビットがアドレス・ゼネ
レータ2マルチプレクサ248−2の入力11のビット
零に現われる2進数1により2進数1に等しくセットさ
れとき、もしハードウェア割込みが未完でありかつハー
ドウェア割込みが付勢されているならば、アドレス・レ
ジスタ1およびアドレス・レジスタ2の合成出力が8乃
至15の範囲内で10ビットのROSアドレスとなるこ
とが判る。
このように、もしハードウェア割込みが未完でありかつ
ハードウェア割込みが付勢されるとき、ハードウェア割
込みヱンコーダ250一2の出力は、アドレス・レジス
タ1,246一1をクリヤし、かつアドレス・ゼネレー
タ2マルチプレクサ248−2およびアドレス・レジス
タ2,246−2を介してハードウェア割込みの符号化
された優先順位を選択することによって、10ビットの
ROSアドレスの最上位の6ビットをクリアすることが
判る。この機構の使用により、特定の未完のハードウェ
ア割込みを取扱うよう符号化されたマイクロルーチンに
対する10ビットのROSアドレスが生成され、マイク
ロルーチンが実行される。ハードウェア割込みマイクロ
ルーチンを呼出す前に次のマイクロ命令の10ビットの
ROSアドレスを保管するのがハードウェア割込み復帰
レジスタ252の機能である。このように、ハードウェ
ァ割込みマイクロルーチンが呼出される時常に、AND
ゲート593の出力の信号PHINTC十が2進数零か
ら2進数1の状態に遷移してハードウェア割込み復帰レ
ジスタ252をクロツクし、これにより次にROSから
使用されるマイクロ命令がどれかについての10ビット
のROSアドレスを保管する。信号PHmTC+がハー
ドウェア割込み毎に唯1度2進数零から2進数1へ遷移
するため、従ってハードウェア割込みマイクロルーチン
の始めにのみハードウェア割込み復帰レジスタ252は
、マイクロ命令の10ビットのROSアドレスの内容を
保持することになり、このマイクロ命令は、もしこのハ
ードウェア割込みと関連するマイクロルーチンの処理の
期間を通じて1回のハードウェア割込みもなかったなら
ば、ROSから読出されることになっていたものである
Mハードウェア割込みマイクロルーチンの処理の間はハ
ードウェア割込みが禁止される(即ち、ハードウェア割
込みは入れ子にはならない)ことが判る。ハードウェア
割込みを処理するためのマイクロルーチンの最後の命令
は、このファームウェア・ワードのビット36および3
7におけるハードウエア割込み復帰分岐を符号化して、
信号RDDT36十およびRDDT37十を2進数1に
させることによりアドレス・ゼネレータ1マルチプレク
サ248一1の13入力を選択し、これによって次のマ
イクロ命令の10ビットのROSアドレスをハードウェ
ア割込み復帰レジスタ252から取出させ、これが第3
4図に関して前に述べたハードウェア割込みの発生の直
前にアドレス・ゼネレータ1マルチプレクサ248−1
によって発生された10ビット・アドレス、によりアド
レス指定されたマイクロ命令ファームウェア・ワ−ドへ
制御を有効に戻す。第42図の説明は、現行マイクロ命
令の実行中に次のマイクロ命令のアドレスが生成される
ことを示す。このように、もし現行マイクロ命令の始め
(1次時間2の前)にハ−ドウヱア割込みェンコーダ2
50−2の入力の1つのハードウェア割込み信号が2進
数0であり、かつハードウェア割込みが現行マイクロ命
令(ビット35が2進数1の信号RDDT35十)にお
いて付勢される場合、取出される次のマイクロ命令は継
続中の最高優先順位の割込みをサービスするためのマイ
クロルーチンの最初のマイクロ命令となる。もし割込み
が現行マイクロ命令により禁止される(ビット35が2
進数零)ならば、現行マイクロ命令の終りではハードウ
ェア割込みが生ぜず、現行マイクロ命令のROSアドレ
ス指定フィールドによりアドレス指定されるマイクロ命
令が次のマイクロ命令となる。マイクロ命令ビット35
が現行マイク。
命令の終りに何が生じるかを制御するため、ハードウェ
ア割込みサービス・マイクロルーチンはマイクロプログ
ラムされて、その結果マイクロルーチンの最終マイクロ
命令の間ハードウェア割込みが付勢され、そしてROS
アドレス指定フィールド(第35D図参照)は、次のマ
イクロ命令のアドレスがハードウェア割込み復帰レジス
タ252から取出されるべきことを指定し、このレジス
外ま制御を割込みされた元のマイクロプログラムに戻す
(もしハードウェア割込みが未完でなければ)。もしハ
ードウェア割込みが最初のハードウェア割込みサービス
のマイクロルーチンの最終マイクロ命令の間継続中であ
れば、アドレス・ゼネレータ1マルチプレクサ248−
1は13入力を選択し(即ち、ハードウェア割込み復帰
レジスタ252に記憶されたアドレス)、そのQ出力(
信号RADMOO十乃至RADMO9十)を13入力に
等しくさせる。アドレス・ゼネレー夕1マルチプレクサ
248ーーの出力は次に、信号PHINTC+が2進数
零から2進数1に遷移するとき1次時間2においてハー
ドウェア割込み復帰レジスタ252において復元される
。更に、アドレス・ゼネレータ2マルチプレクサ248
−2はその11入力の第2のハードウェア割込みアドレ
スを選択し、1次時間2においてアドレス・レジスタ1
,246−1が信号RARCLR−によりクリアされ、
アドレス・レジス夕2,246−2が第2のハードウェ
ア割込みアドレスにセットされる。このように、第1の
ハードウェア割込みサービス・マイクロルーチンの最終
マイクロ命令である現行マイクロ命令の1次時間2にお
いて、アドレス・レジスタ1,246−1と2,246
−2に含まれるアドレスは第2のハードウェア割込みサ
−ビス・マイクロルーチンの第1のマイクロ命令のアド
レスとなる。第42図についての以降の説明によれば、
第2のハードウェア割込みサービス・マイクロルーチン
の終りに継続中のハードウェア割込みがなければ制御は
マイクロ命令に戻され、そのアドレスはハードウェア割
込み復帰レジスタ252に記憶され、こうして第1のハ
ードウェア割込みにより割込みされた時点におけるマイ
クロプログラムに制御を戻すことが明らかになる。この
ように、バック・ッウ・バック(即ち連続した)ハード
ウェア割込みが、第1と第2のハードウェア割込みサー
ビス・マイクロ・ルーチン間で割込みを受けた元のマイ
クロプログラムに戻ることなくサービスされることが判
る。システム・バスA又はBにおけるDMAデータ要求
又はDMCデータ要求がいかにしてROSロケーション
12乃至5に対するハードウェア割込みを生じかつ関連
するハードウェア割込みマイクロルーチンを呼出すかに
ついて説明したが、第42図の他のハードウェア割込み
ロジックについては以下に説明する。
Kaロi 主メモリー・リフレッシュ時間切れロジック
フロツプ572および574は、主メモリー・リフレッ
シュ信号PHMRFL−が8乃至15マイクロ秒毎に生
成されることを保証するために使用される。
第14図に関して前に説明したように、ク。ック信号B
CNTL8十は4マイクロ秒毎に2進数零から2進数1
へ遷移し、これによりフロップ572および574をク
ロツクする。8マイクロ秒リフレッシュ・フロツプ57
2が4マイクロ秒毎にクロックされると、その出力の信
号PMRFPM+が4マイクロ秒間2進数零となり、こ
れに続いて次の4マイクロ秒間2進数1となって、これ
により8マイクロ秒の1サイクルを完了する。
16マイクロ秒リフレッシュ・フロツプ574のデータ
皿入力に8マイクロ秒リフレツシュ・フロッフ0572
の出力である信号PMRFTM+を継続接続することに
より、フロップ574の出力である信号PHMRFL−
は8マイクロ秒間2進数零となり、これに続いて8マイ
クロ秒間2進数1となって16マイクロ秒で1サイクル
を完了する。
16マイクロ秒リフレッシュ・フロツプ574の出力が
2進数零である時、割込み要求レジスタ250−1の出
力信号PHN択FH−が2進数零となり、2進数101
をハードウェア割込みェンコーダ250−2の出力線P
HINT7+乃至PHINT9十に符号化させ、これが
更にハードウェア割込みが付勢される時アドレス・ゼネ
レータ2マルチプレクサ248一2を、主メモリー・リ
フレッシュ時間切れマイクロルーチンを開始するROS
ロケ−ション10に分岐させる。
再びフロツプ572および574について考察すれば、
NORゲート58 0の出力の信号PMFRSH−が2
進数零である時両フロツプがリセツトされることが判る
もしファームウェア・ワードのビット32乃至34が2
進数001に等しくなるようにセットされこれが信号R
DDT32十およびRDDT33十を2進数零にそして
信号RDDT34十を2進数1にさせるならば、副指令
デコーダ244一2(第43図参照)からの信号PMR
FSH一は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マイクロ秒リフレッシュ
・フロツプ874の出力である信号PHMRFL−が、
メモリー・リフレツシュ信号PMFRSH−がシステム
・バスBを介して主メモリーに対して送られた後8マイ
クロ秒時に2進数零となることが判る。
リフレッシュ割込み信号PHMRFL−は、8マイクロ
秒間又は引き続くメモリー・リフレッシュ信号によりク
リアされる(PMFRSrl−は2進教養となる)迄、
2進数零の状態を維持する。2進数零である信号PHM
RFL−は信号PHMRFH−を2進数零にさせ、もし
ハードウェア割込みが許可されると、ファーウェアをマ
イクロルーチンに分岐させ、このマイクロルーチンは更
にメモリー・リフレツシュ信号PMFRSH一をシステ
ム・バスBを介して主メモリーに送出する。
16マイクロ秒フロップ574の出力である信号PHM
RFL−は前のメモリー・リフレッシュの後8マイクロ
秒時に2進数零となるため、15マイクロ秒の適正なM
OSメモリー・リフレツシュ速度を維持して主メモリー
情報を脱落しないようにするために、ハードウェア割込
みが7マイクロ秒より長期間禁止されないようにCPU
ファームウェアを符号化することが重要である。
もしCPUファームウェアがハードウェア割込みを禁止
していないならば、第1のメモリー・リフレッシュが8
マイクロ秒の終りに生じてCPUファームウェアは主メ
モリー・リフレツシュ・マイクロルーチンに分岐させ、
これが更にリフレツシュ指令を信号PMFRSH−を介
してシステム・バスB上の主メモリーに送出させ、この
信号が更にリフレツシュ・フロツプ572および574
をリセットして第2の主メモリー・リフレツシュ割込み
を更に8マイクロ秒後に送出させる。
主メモリー・リフレツシュ指令も又ソフトウェア命令の
処理内で符号化されるため、主メモリーが次の2つのC
PUサイクルの間使用されないことをCPUマイクロプ
ログラマが決定する時は常に、主メモリー・リフレッシ
ュ時間の満了によって全てのIJフレッシュ信号が生成
されるとは限らない(即ち、フロツプ572および57
4)。リフレツシュ・フロップ572および574の目
的は、最小限リフレッシュ信号が15マイクロ秒毎に1
回主メモリーに送出されることを保証することであるが
、実際にはCPUファームウェアが符号化されてそれに
より、ソフトウェア命令の処理中にもし主メモリーが次
のぷPU期間使用されないことが判る場合リフレツシュ
指令がCPUファーム・マイクロ命令内で符号化されて
15マイクロ秒毎に1回以上顔繁に主メモリー・リフレ
ッシュ信号を生成するようにする。Kaロii 主メモ
リーのパリティ・ェフー・0ジツク各主メモリ一読出し
操作中、メモリーはメモリーから読出される16ビット
・ワード当り2パリティ・ビット(8ビット・バイト当
り1パリティ・ビット)を生成して、この生成したパリ
ティをメモリーから読出されたものと比較する。
もし生成されたパリティ・ビットがメモリーから謙出さ
れたパリティ・ビットと合致しなければ、主メモリーは
システム・バスBを介して回線MEMPER−上をCP
Uに対して送出されるパリティ・ェフー信号を生成する
。更に第42図において、主メモリーにより検出された
パリティ・エラーの発生はパリティ・ェフー・フロップ
586のセット動作を生じ、これが更にハードウェア割
込みをもたらす。
もし主メモリーがメモリ一読出し操作時にパリティー・
ェフーを検出するならば、主メモリーは信号M旧M円E
S−をシステム・バスB上で2進数零にセットする。
信号MEMPER−が2進数零のとき、ィンバータ59
6の出力である信号PMM円AR+は2進数1となり、
信号PMM円AR+はィンバータ598により反転され
てシステム・バスAに対し信号PMMPAR−として送
られる。
もしDMAデータ要求に応答してメモリ一読出しが行わ
れたならば、パリティ・エラー信号即ちシステム・バス
A上の信号PMMPAR−およびシステム・バスB上の
信号M旧MPER−は要求側のDMAIOCの状態レジ
スタにストローブされ、その結果1/0転送の状態が要
求される時このエラーがソフトウェアープログラムに通
知され得る。パリテイ・エフー・フロツプ586のデー
タ皿入力側の主メモリー・パリティ・エラー信号PMM
円AR+は、クロックPARFMD−が2進数零から2
進数1へ遷移する時クロツクされる。パリティ・ェフー
・フロップ586のデータ入力側の2進数1のクロック
動作は2進数零となる出力信号PHMPER−を生じ、
ハードウェア割込みが付勢されている時ハードウェア割
込みを惹起する。NANOゲート582の出力であるク
ロツク信号PARFMD−は、もし信号PBSFMD−
が2進数零であれば信号PTIM14十が2進数1なる
1次時間4の始めにおいて、2進教養から2進数1の状
態に遷移する。信号P斑FMD−は、第19図において
示す如く2サイクルの主メモリ一読出し操作の第2のサ
イクルの間2進数零である。信号PBSFMD−は、デ
ータが主メモリーからシステム・バスB上に読出される
ことを付勢するよう主メモリーにより用いられる。パリ
ティ・ェフー・フロップ586はセット状態を維持し、
これによりハードウェア割込みを要求し続け、これはC
PU初期化信号がNORゲート584の1入力側のの信
号PCPCLR一を2進数零にさせてその出力の信号P
ARCLR−を2進数零にさせることによりフロツプ5
86をリセツトすることによりクリアされる迄続ける。
代わりとして、パリティ・ェフ−・フロップ586は後
続王〆モリ一読出し操作によってリセットされる。Ka
ロiii 不在メモリー検出ロジック前述の如く、シス
テム内のCPUは、各主メモリー・アドレスが主メモリ
ーに与えられるときのこのアドレスを監視して、アドレ
ス指定されたロケーションがシステム・バスBに接続さ
れた主メモリー・ボードの1つに物理的に存在するかど
うかを決定する。
更に第42図によれば、システムが動作に入る前に、主
メモリーに物理的に存在する最終ロケーションのアドレ
スが、16ビット・アドレスの最上位の5ビットを2進
符号化することによりメモリー・サイズ・スイッチ58
8にセットされる。メモリー・コンパレータ59川ま前
記Texas lnstmments社製のタイプSN
74S85であり、最終メモリー・ロケーションのアド
レスの最上位の5ビットを内部バス260からのアドレ
スの最上位の5ビット(信号PBUSO O+乃至PB
US04十)と比較し、もしバス上のアドレスがシステ
ム内に物理的に存在する最終ロケーションのアドレスを
越えるならば出力信号PBUSLG十を2進数1にセッ
トする。内部バス260の内容とメモリーに物理的に存
在する最終ロケーションのアドレスとの比較は連続的に
行われるが、この比較の出力である信号PBUSLG+
はクロツク信号PMEMGO+の2進数零から2進数1
の状態への遷移によってのみ不在メモリー・フロツプ5
92へクロツクされる。ファームウェア・ワード・ビッ
ト23が2進数1である時(第35C図参照)、クロッ
ク信号PMEMGO+は1次時間3の始め(第1 9図
参照)において2進数零から2進数1の状態へ遷移する
信号PMEMGO+が2進数1であれば、内部バス26
0の内容は主メモリー内の1つのロケーションのアドレ
スとなり、従って不在メモリー・フロツプ592のデー
タ皿入力はアドレス指定・されたロケーションが主メモ
リー内に物理的に存在するかどうかを反映する。もしア
ドレス指定されたロケーションが主メモリー内に物理的
に存在しなければ信号PBUSLG+は2進数1となっ
て不在メモリー・フロツプ592にクロツクされ、その
Q出力である信号PHNDXM+を2進数1に、又その
Q出力であるPHNDXM一を2進数零にする。信号P
HNDXM十の2進数1へのセットはNANDゲート5
94の出力である信号M旧M円ER−を、インバータ5
96と598を介して信号PMMPAR−と同じように
2進数零にさせる。従って、不在メモリー・ロケーショ
ンをアドレス指定する詠みを検出すると、その結果メモ
リー・パリティ・エラー信号M旧M円ER−および信号
PMMPAR−が2進数零となり、これにより不在メモ
リー・ロケーションがアドレス指定されていることをシ
ステム・バスAおよびB上で1/0コントローラに通知
する。
メモリー・アクセスを行う1/0コントローラは、これ
等のエラー回線の状態をソフトウェアに対し後で通知す
るため、その状態レジスタにこれ等エラー回線の状態を
保管する。不在メモリー・フロップ592のセットは、
ハードウェア割込みヱンコーダ250−2の最高優先順
位の入力において信号PHNDXM−を2進数零にさせ
、これは割込みが許可される時下在メモリー・ハードウ
ェア割込みを生じさせる。
不在メモリー・ハードウェア割込みの処理はCPUファ
ームウェアをROSロケーション8を分岐させてハード
ウェア割込みを処理させる。不在メモリー・マイクロル
ーチンは引き続く不在メモリー・エラーが生じないこと
を保証するため主メモリー・アドレス零を用いてメモリ
ー・リフレツシュ操作を行い、これが更に信号PBUS
LG+を2進数零にさせることにより不在メモリ−・フ
ロップ592をリセットし、継続中の不在メモリー・ハ
ードウェア割込みをクリアする。不在メモリー・検出ロ
ジックについての説明を終る前に、不在メモリー・ロケ
ーションへのアクセスの試みの検出の結果、不在メモリ
ー・フロップ592のセットとおよびインバータ596
の出力である信号PMMPAR+を介するパリティ・ヱ
フー・フロツプ586のセットとを生じることに留意す
べきである。
不在メモリー・フロップ592のセットも又パリティ・
ェフー・フロツプ586のセットを生じるが、唯1つの
ハードウェア割込みが処理されることになり、これは次
に高い優先順位であるメモリー・パリティ・エラー割込
みよりも高い優先順位である不在メモリー・ハードウェ
ア割込みである。このハードウェア割込み優先順位はハ
ードウェア割込みヱンコーダ250一2への入力を検査
することによって知り得る。不在メモリー・ハードウェ
ア割込みマイクロルーチンにおいて行われる主メモリー
・リフレツシュ操作が不在メモリー・フロツプ592と
パリティ・ェフー・フロップ586の相方をクリアする
ために、メモリー・パリテイ・エラーのハードウエア割
込みは生じない。従って、不在メモリー・ハードウェア
割込みマイクロルーチンからの復帰時に、信号PHMP
ER−は2進数1となってメモリー・パリティ・ハード
ウェア割込みは継続中とならない。もしDMA又はDM
Cデータ転送の間不在メモリー・アドレス又はメモリー
・パリティ・エラーが検出されるならば、メモリーGO
信号が主メモリーに送られるサイクル(第19図参照)
に続くCPUサイクル(第2のサイクル)の間、信号P
TIOGO−が2進数零にセットされる。
2進数零への信号PTIOGO−のセットによりNOR
ゲート854の出力である信号PARLR一を2進数零
にさせせ、その結果、ハードウェア割込みがCPUファ
ームウェアによって付勢される前に不在メモリー・フロ
ツプ592とパリティ・エフー・フロツプ586のリセ
ットを生じ、これにより関連するハードウェア割込みを
阻止する。
このフロツプ592と586のリセツトは、1/0コン
トローラとの間のデータの転入出と関連する潜在的なハ
ードウェア割込みがCPUファームウェア・フローに割
込むのをマスクする。これは又、不在メモリー・アドレ
ス又はメモリー・パリティ・エラーのハードウェア割込
みのいずれかの発生がソフトウェア命令の実行過程の間
CPUファームウェアにより行なわれるメモリー・アク
セスによるものであり、これも又CPUファームウェア
により行われるDMA又はDMCデータによるものでは
ないこと、を保証する。CPUが不在メモリー・ロケー
ションをアクセスする試みを検出する時、メモリー・エ
ラー回線PMM円AR一およびMEMPER−がセット
されるが、データをメモリーに書込むDMCデータ転送
の場合にはメモリー・エラー回線のセットはDMCI/
0コントローラがそのエラー回線の探索を停止した後で
のみ生じる。
第21A図によれば、もしエラーが生じる場合、リンク
終り(EOFLK)指令がCPUおよびIOCリンクを
終了した後でのみ、メモリー・エラー回線がセットされ
ることが判る。
IOCがCPUに対しリンクされる時だけIOCはエラ
ー回線を監視して、それによりどんなエラー信号もその
IOCに対して指向されることを保証し、従って入力デ
ータ転送サイクルの間不在メモリー・エラーがDMCI
OCには見えない。不在メモリー・エラーが検出不能と
ならないことを確保するため、転送されるべきブロック
の上限(最上位アドレス)はDMCデータ転送が開始さ
れる前の10LDソフトウェア命令の実行中に検査され
る(第29図およびその説明参照)。
この特別な検査はDMC入力(メモリーへの割込み)操
作のために実施されることが必要であるだけである。更
に、メモリー割込み操作の間、メモリー・エラー回線が
不在メモリー・エラーに対しセットされるけであり、メ
モリーに割込まれる時パリティ検査は行われないことに
注意。DMO出力操作とおよびDMAの入力および操作
とのため、メモリ−・エラー回線はリンク終り以前にセ
ットされるが、IOCは依然としてメモリー・エラー回
線を監視し、その結果特別な検査はこれ等の場合必要で
ない。Kaハ ソフトウェア割込みロジック ソフトウェア割込みの処理については、第34図に関し
て既に述べた。
再び第42図に関して、ソフトウェア割込みロジックに
いて詳細に説明する。ソフトウエア割込みェンコーダ2
57一1はTexas l船tr皿ments社製のタ
イプSN74148である。最上高から最低の優先順位
ソフトウェア割込みに向って、ソフトウェア割込みェン
コーダ257−1の入力は関連するソフトウェア割込み
条件の状態に塞いて2進数零となる。もしレジスタのオ
ーバーフローが検出されると信号PFITRP−が2進
数零となり、対応するビットはマスクMIレジスタにセ
ットされる(第4図参照)。もし切迫した電源故障が検
出されるならば、信号PFAILF一は2進数零となる
。もしシステム・バスA上の1/0コントローラが割込
み要求を行なっているならば信号PFINTI−は2進
数零となり、又もしシステム・バスB上の1/0コント
ローラが割込み要求を行なっているならば信号PFIN
T2一は2進数零となる。もしタイマーが切れれば、信
号PFITKL一は2進数零となる。ソフトウェア割込
みェンコーダ257−1の入力はその3出力である信号
PFINT3+乃至PFINT5十に2進符号化される
もしいずれかの入力が2進数零であって1つ以上のソフ
トウェア割込みが未完であることを表示するならば、ソ
フトウェア割込みェンコーダ257一1の付勢(1)出
力信号PFmTP−は2進数零となる。ソフトウェア割
込みェンコーダ257−1の4つの出力信号はメジャー
分岐マルチプレクサ256−1への13入力の4つの入
力信号に接続され、マルチプレクサ選択信号RDDT4
1+乃至RDDT43十が2進数001と等しい(第3
5D図参照)時、その4つの出力である信号RAMBT
2+乃至RAMBT5十にゲートされる。メジャー分岐
マルチプレクサ256−1のこれ等の4出力信号は更に
アドレス・ゼネレータ1マルチプレクサ248一1の1
2入力側への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ビットが通常ROS2,238一2から謙
出される。
代わりとしては又、システムの始動の間、ィンバータ5
89の入力である信号PENBBT−が、ファームウェ
ア・ワードのビット24乃至27にて2進数0010を
かつビット32に2進数零を符号化することによって、
2進数零にセットされる(第35C図および37F図参
照。マイクロ命令ワード・ビット24乃至27、および
ビット32は、反転された付勢入力側のクロック信号P
TIM旧0十により付勢されるデコーダによって復号さ
れる。従って、信号PENBBT一は1次時間1の始め
から1次時間4の終り迄2進数零となる。もしファーム
ウェア・マイクロ命令がブートPROMが読出されるべ
きことを表示すれば、2進数零である信号PENDBT
一はブートPROM240を部分的に付勢し、もしクリ
ア操作が進行中でなければ、信号PCPCLR+も又2
進数零となってブートPROM240を完全に付勢し、
その8ビットの信号RROS24十BT乃至RROS3
1十BTを出力させる。
信号PENBBTが2進数零であれば、ィンバータ58
9の出力が2進数1となってR062、238−2を消
勢し、これからのデータの読出しをさせない。ブートP
ROM240およびROS2,238−2の3状態の出
力は点599で一緒にワイヤドORされて信号RROS
24十乃至RROS31十を生じ、これ等は更にクロツ
ク信号PTIMEO+により1次時間0の始めに局部レ
ジスタ242にクロツクされる。第42図によれば、も
し現行CPUファームウェア・マイクロ命令がブートP
ROM240を付勢すれば、制御ストアから読出された
次のマイクロ命令のビット24乃至31が、ROS2,
238一2から得られるのではなく、ブートPROM2
40から得られることが判る。ブートFROM240へ
のアドレス入力である信号PRFR15十乃至PRFR
06十は機能【可レジスタからの最下位の10ビットで
ある。従って、以下に示す如く、CPUファームウェア
が有する能力は、機能{Fルジス外こアドレスをロード
し、かつCPUフアームウエアがブートPROM240
‘こ記憶されたデータのバイトをアクセスしてこれを主
メモリーに記憶することを許可するのに要求される他の
必要な制御と共にFレジスタの増減分を制御することで
ある。ブートPROMロジックの説明を終る前に、第3
5C図を参照すれば、ブートPROMメモリーから読出
される8ビットが、さもなければ副指令復号フィールド
のビット32乃至34が2進数111と等しい時固定情
報を保持するために使用される8ビットの代わりに使用
されることを知るべきである。
これは、ブートPROM240からの8ビットをROS
2,238−2からの8ビットの代わりに使用するマイ
クロ命令が、ROS2からの8ビットに対するブートP
ROMからの8ビットの代替が行われなかった場合に、
依然としてマイクロ命令の殆んどを実施することを可能
にする。簡単のため、第42図においては、局部レジス
タ242が48ビットを含む1つのレジスタとて示され
る。
望ましい実施態様においては、局部レジスタ242が6
つの8ビット・レジスタにより構成される。第42図を
簡単にするため、局部レジスタ242に対するリセット
(R)入力は2進数1として示され、これにより局部レ
ジスタ242が決してクリアされないことを表示する。
望ましい実施態様においては、信号RDDT16+乃至
RDDT23十を出力する8ビット・レジスタはそのリ
セット(R)入力として信号PCPCLP−を有し、こ
の信号がシステムの初期化に際してこれ等の8ビットを
クリアさせる。KbCPUロジックの詳細 第43図は、第8図および第12図に関連して既に説明
したCPUロジックを示す。
内部バス26川ま16本の回線の信号PBUSOO+乃
至PBUS15十からなり、これはCPU全体にアドレ
スおよびデータを送るために使用される。
データ・トランシーバA、288一1、データ・トラン
シーバB、284一1およびマイクロプロセサ232の
3状態の出力は点509において一緒にワイアドORさ
れる。データ・トランシーバA、288一1およびB、
284−1はそれぞれ前記Texasl船tmment
s社製のタイプSN74S245の2つの8ビット・バ
ス・トランシーバからなる。指向(DIR)入力の状態
に従って、データ・トランシーバAとBは、システム・
バスA,Bからデータを受取ってこれを内部バス26川
こおくか、あるいは内部バス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/○コントローラのいずれかへ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)入力である信号PBGFAP一はNO
Rゲート5 1 2の出力である。
NORゲート51 2の1入力は信号P斑FKP−であ
って、これはマイクロ命令ワードのビット24乃至27
が2進数0101(第37F図参照)のとき2進数零で
あり、この2進数0101は反転された付勢入力側の信
号PTIMEO十を用いてデコーダ(図示せず)により
復号される。NORゲート512に対する他の入力であ
る信号PENBSA−00は、ビット24乃至26が2
進数100(第37C図)と等しい時1/0指令1デコ
ーダ244−3からNANDゲート521を介して得ら
れる。次にデータ・トランシーバB,284一1につい
て考えると、指向(DIR)入力である信号P斑FBP
−はNORゲート510の出力である。NORゲート5
10の1入力は、NANDゲート531の出力である信
号PMRCYC一がロードされる割込み要求レジスタ2
50ーー(第42図参照)の出力の1つである信号PB
SFMD一である。NORゲート51川こ対する他の入
力は信号PENBSB−00であり、これはまたビット
24乃至26が2進数110と等しいNANDゲート5
34を介して1/0指令1デコーダ244−3から得ら
れる。内部バス26川こおけるデータはチャネル番号レ
ジスタ296にロードすることができ、又これからスク
ラツチパツド・メモリー(SPM)アドレス・マルチプ
レクサ294にロードし、その出力はスクラツチパツド
・メモリー236をアドレス指定するために使用される
代わりとして、内部バス260‘こおけるデータはバイ
ト・スワッピング・マルチプレクサ262にロードでき
、その出力はスクラッチパツド・メモリー236に書込
むことができる。更に、内部バス2601こおけるデー
タはデータ選択マルチプレクサ269にロードでき、そ
の出力はFレジスタ274、1レジスタ270、MIレ
ジスタ272、およびマイクロプロセサ232にロード
できる。Kbロ スクラツチパツド・メモリー・ロジッ
クチャネル番号レジスタ296は、クロツク信号PCL
KCH−が2進数零から2進数1の状態の遷移する時内
部バス260のデータ回線PBUS03十乃至PBUS
O9十をそのデータ入力にクロツクすることにより、1
0ビットのチャネル番号の最下位の7ビットでロードさ
れる。
このチャネル番号レジスタはDMC I/○コントロー
ラを関連して使用されてスクラツチバツド・メモリー2
36のPCT表をアドレス指定するため、チャネル番号
の最下位の7ビットだけがチャネル番号レジスタにおい
て保管されるだけでよい(第24図参照)。DMCチャ
ネル番号の最上位の3ビットは常に零である。システム
・バスAおよびBからの信号 PBYTEX+の状態も又チャネル番号レジスタ296
に入力され、信号PDMCIO十として出力される。
チャネル番号レジス夕296のクロック信号PCLKC
H一はNANDゲート504から得られる。NANDゲ
ート504の1入力である信号PIOCTL十は、フア
ームウエア・ワード・ビット32乃至34の状態(第3
5C図)を復号する副指令デコーダ244一2の出力を
反転するインバータ528により出力される。NANP
ゲ−ト504に対する他の2入力は局部レジスタ242
(第42図)によって出力される信号RODT27十お
よびRDDT28十であり、その相方が2進数1にセッ
トされる時(第37D図参照)、NANDゲート504
を完全に付勢してその出力である信号PSAFBS−を
2進数零にする。信号PSAFBS−が2進数零の時、
ィンバータ506の出力である信号鴇AFBS十は2進
数1となりANDゲート608を部分的に付勢する。信
号PTIME3十が1次時間3の始めに2進数零から2
進数1に遷移する時ANDゲート508は完全に付勢さ
れ、これによりクロック信号PCLKCH−を2進数零
から1の状態に遷移してチャネル番号レジスタ296を
クロツクする。チャネル番号レジスタの出力である信号
PSAROI十乃至PSAR06十はSPMアドレス・
マルチプレクサ294の11入力側に入力される。
チャネル番号レジスタ296の他の2つの出力である信
号PDMCIO+およびPSMOB十は分岐オン・テス
ト回路網254に対して入力され(第9図)、その出力
でる信号RMSBT9十はアドレス・ゼネレータ1マル
チプレクサ248−1(第42図)に入力される。信号
RASBT9十はCPUファームウェアにより使用され
て、信号PDMCIO十から得る時IOCタイプがDM
AIOCかDMCIOCかをテストし、信号RASBT
9が信号PSMOB+から得る時入力チャネルと出力チ
ャネルのどちらが使用されるかをテストする。チャネル
番号レジスタ296のクロック動作に加えて、信号PC
LKCH−は又アドレス/範囲フロップ502をクロッ
クする。
クロツク信号PCLKCH−はアドレス/範囲フロツプ
502のデータ皿入力における信号RDDTI9十をク
ロツクする。CPUファームウェア・ワードのビット1
9の状態およびアドレス/範囲フロツプ502のクロッ
ク動作の制御により、CPUファームウェアはフロップ
502のセット又はリセット動作を制御すことができる
。アドレス/範囲フロップ502のセットおよびリセッ
ト動作は又、更にファームウェア・ワード・ビット24
乃至26の復号から出力されるそのセット(S)および
リセット(R)入力側の信号塔ARだ‐およびPSAR
7R一によって制御される。アドレス/範囲フロツプ5
02の出力である信号PSAP07十はSPMアドレス
・マルチプレクサ294の11入力側へ入力され、スク
ラツチパッド・メモリー236のアドレス指定に際して
最下位ビットとして使用される。
2進数1はSPMのマルチプレクサ294の11入力の
最上位ビットにセットされ、SPMのアドレス・マルチ
プレクサ294の選択(SEL)入力側で2進数1とな
る信号RDDT22十によってこの11入力が選択され
る時、スクラツチパツド・メモリー236内におかれた
プログラム・チャネル表がアクセスされる。
SPM内のPCTをアドレス指定する時、SPMアドレ
スの最下位ビットは、チャネル番号レジスタ296から
の6ビットによりPCTエンドリ・アドレスのアドレス
・ワード又は範囲ワードが参照されるかどうかを決定す
る。即ち、もしアドレス/範囲フロップ502がセット
されてその出力(信号PSAR0 7十)を2進数1に
するならば、PCHTチャネル対の範囲ワードがアドレ
ス指定され、又もしフロツプ502がリセットされると
PCTチャネル対ェントリのアドレス・ワードがアドレ
ス指定される(第10図参照)。SPMアドレス・マル
チプレクサ294の10入力は2進数零に等しくセット
された最上位の4ビットを有し、他の4ビットは信号R
DDTOI+およびRDDT05+乃至RDDT07十
である。
このため、10入力が2進数零である信号RDDT22
十(第35C図および第35C図参照)によって選択さ
れる時、マイクロ命令CPUファームウェア・ワードが
SPM236をアドレス指定することが可能となる。出
力制御‘F}入力側の信号KENSPA−が2進数零で
ある時、SPMアドレス・マルチプレクサ294の出力
が付勢される。スクラツチパツド・メモリー236は、
SPMのアドレス・マルチプレクサ294からその8ビ
ットのアドレスである信号PSARSO十乃至門ARS
7十を受取る。スクラッチパッド・メモリー236は、
本文中に参考のため引用された「インターシル(lnに
rsl)社半導体製品カタログ」なる文献に記載された
インターシル社製のタイプ5539‐2の17個の1ビ
ット×25細AMチップからなる。これらRAMチップ
は、SPM236が第10図に示す如く各17ビットの
256ワードを提供するように構成される。SPM23
6への書込みは、スクラツチバツド・メモリーの書込み
付勢(WE)入力側に2進数零をおくことにより可能と
なる。もしファームウェア・ワードのビット0が2進数
1であれば、信号RDDTOO+は2進数1となってN
ANOゲート587を部分的に付勢する。1次時間4の
始めにクロツク信号 PTIME4十が2進数零から2進数1の状態に遷移す
る時、NANDゲート587が完全に付勢され、NAN
Dゲート587の出力である信号PSOWRT−を2進
数零にさせる。
SPM236に対するデータ入力の最上位16ビットは
バイト・スワッピング・マルチプレクサ262の出力側
からの信号俺DIOO‐乃至PSDI15一である。
SPM236に対するデータ入力信号の最下位ビットは
ファームウェア・ワードのビット1 9から得る信号R
DDTI 9十である。SPM236の出力は信号PS
DOOO十乃至SPDO1 6十である。SPMデータ
・レジスタ5 1 8は、Texasl船tr皿men
ts社製のタイプSN7鳩373の2つの8ビットのD
タイプ透過ラツチからなる。SPMデータ・レジスタ5
18の入力は、ORゲート585の信号PTIMEO−
およびPTIM旧1一を介して1次時間Qおよび1次時
間1その出力側に対して付勢される。ORゲート585
の出力である信号PSDRCK十はSPMデータ・レジ
スタ518のクロツク‘C}入力側に接続される。SP
Mデータ・レジスタ518の出力は、常に、その出力制
御‘日入力側に生じる2進数零により付勢される。SP
Mデータ・レジスタ518の出力である信号PSDRO
O+乃至PSDR15十はデータ・セレクタ・マルチプ
レクサ269の10入力側に接続される。クoック信号
PCLEAR一が2進数零から2進数1へ遷移する時、
クリア・フロップ514がセットされ、そしてそのリセ
ット(R)入力側で2進数零になる信号PCLERR一
によってリセットできる。
フロツプ514のQ出力である信号PCPCLF+とお
よびPSDO16十であってスクラッチパッド・メモリ
ー236から読出される17ビット・ワードの最下位ビ
ットを保有するこの信号とは、クロック信号PTIM旧
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+はブートPROM240からのデ
ータの読出しを禁止するため使用される(第42図参照
)。レジスタ516に示される他の出力であってスクラ
ツチパツド・メモリー236から読出されるワードの最
下位ビットの状態を反映する信号PTBS1 3十は分
岐オン・テスト回路網254(第9図)へ行き、アドレ
ス・ゼネレータ1マルチプレクサ248−1(第42図
)へ入力されるビットRASBT9十の決定に使用され
る。Kbハ ノゞイト・スワッピング・ロジック次に第
43図のバイト・スワッピング・マルチプレクサ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+より完全に付勢される。信号PSDE
XEN−が2進数零である時、バイト・スワッピング・
マルチプレクサ262の10入力がその出力側に付勢さ
れ、内部バスに現われる左右のバイトの交換を生じさせ
る。もし信号PSDEXEN−が2進数1であれば、バ
イト・スワッピング・マルチプレクサ262の11入力
が選択され、内部バス上のデータがバイトのスワッピン
グを生じることなくマルチプレクサ262の出力側に転
送される。
このように、内部バス260からのデータのバイトのス
ワッピングはデータがスクラッチパツド・メモリー23
6に書込まれる前に制御される。Kbニ マィクロプロ
セサおよびデータ選択ロジック前述の如く、内部バス2
6川こ対する第3の入力はマイクロプロセサ232によ
り出力されるデータからのものである。
マイクロプロセサ232は、データ・セレクタ・マルチ
プレクサ269の出力側から16ビットの入力データで
ある信号PAUD15+乃至PAUDO0十を受取る。
マイクロプロセサ・レジスタ・フアイルはビットPST
A03+乃至凶PAOI+およびビットRDDT04十
によってアドレス指定される。ファイル・レジスタ・ア
ドレス・ビットPSPA03+乃至PSPAOI+は第
8図に示されるファイル・アドレス・マルチプレクサ2
76から得られる。ファイル・アドレス・マルチプレク
サの選択はファームウェア・ワードのビット2および3
によって制御される(第35A図参照)。マイクロプロ
セサ232によって実行される命令は、ファームウェア
・ワード・ビット10乃至18(第35B図)から得ら
れる9命令(INSTR)入力である信号RODTIO
十乃至RDDT18十によって制御される。前述の如く
、マイクロプロセサ232のデータ出力である信号PB
US1 5十CP乃至PBUSOO+CPは、データ・
トランシーバA,288−1およびデータ・トランシー
バB,248−1の出力と点509でワイヤORされる
。データ・セレクタ・マルチプレクサ269の11入力
は、標識(1)レジスタ・フロップ270の8ビットで
ある信号PI08十乃至PI15十と、マスク(MI)
レジスタ272の出力である信号PRMROO+乃至P
RMR07十かち得られる。
データ・セレクタ・マルチプレクサ269の12入力は
、信号RDDT08十、RODTO9十およびRDDT
24十乃至RDDT31十である。データ・セレクタ・
マルチプレクサ269の出力は、その2つのセレクタ(
SEL)入力側の信号RODT20十およびRDDT2
1十につて4つの入力から選択される。データ・セレク
タ・マルチプレクサ269のスト。ーブ(CE)入力に
おける2進数零は出力を付勢する。ファームウェア・ワ
ード・ビット20おぴ21を制御することにより、デー
タ・セレクタ・マルチプレクサ269の出力は、スクラ
ツチパツド・メモリー’データ・レジスタ518と、1
レジスタ270およびMIレジスタ272と、マイクロ
命令ワード・ビット8,9および24乃至31からの定
数と、および内部バス260から選択することができる
(第35C図参照)。Kbホ 1、MIおよびFレジス
タ・ロジック標識(1)レジスタ270は8つのDタイ
プ・フロップからなり、その各々は2進数零から2進数
1の状態に変る信号PIRF斑−によりクoックされる
信号PIRF斑−はマイクロ命令ファームウェア・ビッ
ト24乃至27を復号することにより生成され、これら
が2進数110と等しい時、信号PIRFBS−を2進
数零にセットする(第37F図参照)。マスク(MI)
レジスタ272は2進数零から2進数1の状態に変る信
号PRMRCK一によりクロツクされる。信号PRMR
CK一はマイクロ命令ファームウェア・ワードのビット
28乃至31を復号することにより生成され、これが2
進数1100と等しいとき、信号PRMRCK−を2進
数零にセットする(第37G図参照)。MIレジスタ2
72は2進数零にセットされる信号PCPCLR一によ
りクリアざれる。クロツク信号PIRFBS−およびP
RMRCK一は反転付勢入力の信号PTIM旧4一によ
り付勢されるデコーダによって生成され、従ってこれ等
のクロック信号の相方が1次時間4の終りに2進数零か
ら2進数1の状態に変ることに注意。機能‘Fルジスタ
は、Fレジスタ・カウンタFR0,274−0、Fレジ
スタ・力ウンタFR2,274−2tおよびFレジスタ
・カウンタFR3,274−3からなる。
FRO,274一0およびFR3,2 7 4一3はそ
れぞれTexaslnstmmenG社製のタイプSN
74SI6叫同期4ビット可逆カウンタからなる。FR
2,274一2は2つのタイプSN7蝿169Aカウン
タからなる。FRO,FR2,FR3のクロツクはその
クロツク‘q入力側の信号PRFOLK+により制御さ
れる。もしマイクロ命令ファームウェア・ワード・ビッ
ト32乃至34が2進数100と等しければ、信号PF
RCLK十は1次時間3の終りに2進数零から2進数1
へ変る(第35C図参照)。Fレジスタ・力ウンタFR
O,274一0のロードはそのロード(L)入力側にお
ける信号PFRLDO−によって制御される。信号PF
RLDO−は信号RDDT26十およびRDDT27十
を一緒にNANDすることによって生成される。Fレジ
スタ・カウンタFR2,274−2のロードはそのロー
ド(L)入力側における信号PFRLDM一によって制
御される。信号PFRLDM一は信号RDDT28十お
びRDDT29十を一緒にNANDすることにより生成
される。入力信号PAUD15+乃至PAUD12十に
よるFレジスタ・力ウンタFR3のロードはそのロード
(L)入力側で信号PFRLD3−によって制御される
。信号PFRLD3一は信号RDDT30十およびRD
DT31十を一緒にNANDすることによって生成され
る。Fレジスタ・力ウンタFRO,274一0はそのカ
ウント付勢(PおよびT)入力側の信号RDDT26十
によってカウントするよう付勢される。
FレジスタFR2,274一2はそのカウント付勢(P
およびT)入力側の信号RDDT28十によりカウント
するよう付勢される。Fレジスタ・カウンタFR3,2
74一3はそのカウント付勢(PおよびT)入力側の信
号RODT30十によりカウントするよう付勢される。
Fレジスタ・カウンタFRO,274−0のカウントの
方向はその可逆(U/D)入力側の信号RODT27十
によに制御される。Fレジスタ・カウンタFR2,27
4−2のカウント方向はその可逆(U/D)入力側の信
号RDDT29十によって製御される。Fレジスタ・力
ウンタFR3,274一3のカウント方向はその可逆(
U/D)入力側の信号RDDT31十によって制御され
る。Fレジスタの出力のあるものは、ブートPROM2
40(第42図)、ファイル・アドレス・マルチプレク
サ276(第8図)、および分岐オン・テスト回路総2
54の入力である。Fレジスタの出力も又CPUロジッ
ク内の他の場所においても使用される。Kbヘ バス指
令ロジックCPUからシステム・バスAおよびBにおけ
る1/0コントローラおよび主メモリーへ行く種々の指
令信号は第43図に示される。
指令トランシーバA,286−1および指令トランシー
バB,282−1から来る信号および信号PIOCTA
−およびPIOCTB一は全てCPUにおいて生成され
、システム・バス上を1/0コントローラ又は主メモリ
ーへ伝送される。PBYQEX+,PBUSY−2Aお
よびPBISY−2B等の他の指令信号はCPUにおい
て生じて1/0コントローラ又は主メモリーへ送入され
るか、あるいは1/0コントローラ内で生じてシステム
・バスを介してCPUへ送出され得る。Kbへi l/
○指令ロジック 次に第43図において、指令トランシーバA,286一
1、および指令トランシーバB,282ーーはTexa
slntruments社製のタイプSN74S245
であり、データ・トランシーバA,288−1およびデ
ータ・トランシーバB,284一1に関して前に述べた
如きものである。
指令トランシーバAおよび指令トランシーバBの指向D
IRおよび出力付勢{Fー入力側に2進数零を有するこ
とにより、両トランシーバはその出力を常に付勢させ、
情報転送の方向はCPU皿入力からシステム・バスAお
よびB(Q)出力へ向う。入力信号RODT29+乃至
RDDT31十は、ファームウエア・ワード・ビット2
9乃至31から得られ、1/0指令(第37E図)■を
システム・バスAおよびB上の1/0コントローラに送
るため使用され、指令トランシーバA,286−1およ
びB,286一1に共通である。信号BCYCOT−お
よびPTIM旧3一は、第14図に示したクロック・ロ
ジックから得たタィミンング信号であり、指令トランシ
ーバA,286−1および指令トランシーバB,282
一1によりシステム・バスAおよびBの相方に伝送され
る。初期化信号PCLEAR一は同機にシステム・バス
Aおよびシステム・バスBの両方に送られる。付勢のC
データ・ドライバ信号PENBSA−00およびPEN
BSB−00はNANDゲ−ト521および534の出
力であり、それぞれ指令トランシーバA,286一1お
よび指令トランシーバB,282一1によつてシステム
・バスAおよびシステム・バスBに伝送される。副指令
デコーダ244−2は1次時間1の始めに付勢され、付
勢(EN)入力側の信号PTIM旧0十によって1次時
間4まで付勢状態を維持する。
副指令デコーダ244−2は信号RDDT32十乃至R
DDT34十を復号し、前述の如く信号PMRFSH−
、PMRCON−を生成し、又信号PIOCTLを生成
る(第3 5C図参照)。信号PIOCTLはインバー
タ528によって反転されて信号PIOCTL+を生じ
る。信号PIOCTL+はNANDゲート536および
NANDゲート536を部分的に付勢する。NANDゲ
ート536が2進数零である信号RODT27一により
完全に付勢される時、その出力である信号PIOCTA
−は2進数零であって、システム・バスAのIOCに対
して回線RDDT28十BA乃至RDDT31十BA上
に符号化された1/0指令が有効であることを表示する
。同様に、NANDゲート538は2進数零であ信号R
DDT28一により完全に付勢される。このため、NA
NDゲート538の出力である信号PIOCTB−を2
進数零にさせ、システム・バスB上のIOCに対して回
線RDDT29十BB乃至RDDT31十BB上に符号
化された1/0指令が有効であることを表示する(第3
70図参照)。副指令デコーダ244−2の出力信号P
IOCTL一は又1/0指令1デコーダ244−3を付
勢するため使用され、このデコーダは信号RODT24
+乃至RDDT26十を復号する(第37C図参照)。
1/0指令1デコーダ244一3の出力信号PBSIO
A−およびPBSIOB一はそれぞれNANDゲート5
21および534に接続され、マイクロ命令ファームウ
ェア・ワードのビット24乃至26の復号が各出力信号
を2進数零にセットする時各NANDゲートを部分的に
付勢する。
NANDゲート521および534は2進数零である信
号P斑FMD+によって完全に付勢される。信号P茂F
MD十は、割込み要求レジスタ250‐1から生じる信
号PBSFMD−を反転するィンバータ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から、又回線PROCED一28
上のシステム・バスBのIOCから進行中信号を受取る
。これ等の両回線はNORゲート55川こ対する入力で
あって信号PROCED−20を生じ、これが更に分岐
オン・テスト回路網254(第9図)へ行き、この回路
網はアドレス・ゼネレータ1マルチプレクサ248−1
(第42図)によって使用される信号RASBT9十を
生じ、それによりシステム・バスA又はB上のアドレス
指定されたIOCがシステム・バス回線RDDT29十
乃至RDDT31十上の1/0指令を受取ったかどうか
をCPUファームウエアにテストさせる。1/0指令1
デコーダ244一3の出力側の信号PBBUSY一は前
に述べたばかりの進行中ロジックのそれと類似のロジッ
クに行き、システム・バスAおよびBにおける1/0コ
ントローラに関して使用中信号を送受する。
詳細には、信号PBBUSY一はインバータ552によ
って反転されて信号PBBUSY+を生じ、この信号は
更にィンバータ554によって反転されてシステム・バ
スAに関して入出する信号PBUSY−2Aを生じ、ま
たインバータ556によって反転されてシステム・バス
Bに関して入出する信号PBUSY−2Bを生じる。信
号PBUSY一2AおよびPBUSY−2BはNORゲ
ート558に入力されて、このゲートは分岐オン・テス
ト回路網254(第9図)へ行く信号PBBUSY−2
0を生じ、この回路網254の出力である信号RASB
T9十はアドレス・ゼネレータ1マルチプレクサ248
一1(第42図)に行く。Kbへ餌 議出し/書込みバ
イト・ロジック書込みバイト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ロジック 読み出しサイクル、書込みサイクル又はリフレツシュ・
サイクルを実施するよう〆モリーに通知する主メモリー
00信号は、主としてファームウェア・ワードのビット
23の制御によって生成される(第35C図)。
条件付き講出し信号PMRCON−は副指令デコーダ2
44−2の出力の1つであり、インバータ56川こよっ
て反転されて、NANDゲート562を部分的に付勢す
る信号PMRCON+を生じる。
制御フロツブ4のフロツプ258一4は、そのセット(
S)入力側で2進数零である信号PTCF簿一によりセ
ットされ、そのIJセット(R)入力側で2進数零であ
る信号PTCF4R−によってリセットできる。制御フ
ロツプ4のフロツプ258一4は又、2進数零から2進
数1の状態に変る信号PCTF4C−のクロツクにより
そのデータ(D)入力側で回路PBUSOO+上で生じ
る16ビットの内部バス260の最上位ビットをゲート
することによってセットできる。信号PTCF4 S−
,PTCF4C−およびPTCF4R一はフアームウエ
ア・ワードのビット28乃至31を復号することによっ
て生成される(第37G図)。セットされると、制御フ
ロップ4のフロツプ258−4の信号PTCF04十は
2進数1となり、NANDゲート562を完全に付勢し
て、その出力側の信号PRMCON−20を2進数零の
状態にセットする。条件付き議出しを行うことにより信
号PMRCON一は2進数零となり、制御フロツプ4の
フロップ258一4をセットすることにより信号PTC
F04十は2進数1になって信号PMRCON−20は
2進数零となり、ANDゲート564を消勢する。AN
Dゲート564の消勢により、さもなければマイクロ命
令のビット23が2進数1であれば生じるメモリーGO
信号の生成を禁止する。メモリーGO信号の生成を禁止
するこの能力は、同じ主メモリーのロケーションへの記
憶に先立ってメモリー読出しを行うことが望めしくない
ような状態(記憶タイプのソフトウェア命令の処理にお
ける如き)において、CPUファームウェアによって使
用される。
このような状態においては、主メモリーの論出し(メモ
リー・パリティ・エラーの検出を行う)は禁止され、メ
モリー書込み操作のみが許可され(パリティ・エラーの
検査は行わない)、それによりメモリーパリティ・ェフ
ー・トラップの可能性を除去するものである。もし信号
RDDT23十が2進数1であり、信号PMRCON−
20が2進数1であれば、ANDゲート564は完全に
付勢され、出力信号PMMCYC+がメモリーGOフロ
ツプ566のデータ■入力側で2進数1となる。メモリ
ーGOフロツプ566のデータ入力における2進数1は
、1次時間3の始めに2進数零から2進数1に遷移する
信号PTIME3十によりクロツクされ、これによりフ
ロツプをセットし出力信号PMEMGO+CPを2進数
1にする。メモリーGOフロップ566は、信号PTI
M旧0−が2進数1から2進数零の状態に変る時1次時
間0の始めにリセットされる。信号KMEMGO−はィ
ンバータ568によって反転されて信号PMEMGO+
MPを生じる。もしNORゲート57 0の入力側の信
号PMEMGO十CPとPMEMGO+MPのいずれか
が2進数1であれば、出力信号PMEMGO−2進数零
となり、システム・バスB上のメモリーに通知して主メ
モリーの読出しサイクル、書込みサイクル又はリフレッ
シュ・サイクルを開始させる。L 主メモリーの説明 主メモリーは高速のランダム・アクセス・メモリーRA
Mであり、アドレス・シーケンス・デー夕・パターン、
又は記憶反復速度の制御ないこ全ての議出し/書込み機
能を行うことが可能である。
その基本的アーキテクチュアは、それぞれ1舷乃至64
Kの16ビット・ワードの最小乃至最大の講出し/書込
み記憶城RAMを提供するよう構成された独自のメモリ
ー構成からなっている。又、ワード当り2つのパリティ
・ビットが含まれる。主メモリーの性能特性は、それぞ
れ1000ナノ秒のメモリー読出しサイクル、書込みサ
イクル又はリフレッシュ・サイクル(即ち、2つの連続
する500ナノ秒のCPUサイクル)と、500ナノ秒
のメモリー読出しアクセス時間と、15マイクロ秒のメ
モリー・リフレッシュ速度を含む。La システム・/
ゞス・インターフエース主メモリーとCPUとの間、又
は1/0コントローラを有する主記憶装置間の情報(即
ち、アドレス、データ、又はCPU指令)の全ての転送
はシステム・バスBによる。
主メモリー制御はCPUにより排他的に送られるメモリ
ー指令により与えられる。主メモリーとシステム・バス
との間のインターフェース信号は:BUSXOO+乃至
BUSX1 5 十 ,PTm灯E 3 ,PCLEA
R−PWRTBO 十,PWRTB I +,MEMP
ER−,PMEMGO−,PMFRSH一およびPBS
FMD一であり、第6図および第7図に示される。La
イ データ・ワード 主メモリー・データ・ワードは、第5図に示す如く16
データ・ビット(2バイト)からなり、2パリティ・ビ
ット(バイト当り1パリティ・ビット)を有する。
この2つのパリティ・ビットは主メモリー装置に対し独
自のものであるため、これ等はシステム・バス上をCP
U又はIOCには送られない。Laコ アドレス・ワー
ド メモリー・アドレス・ワード(第5図参照)は、主メモ
リー構成内の主メモリー・モジュールのメモリー・ロケ
ーションをソフトウエアがアクセスすることを可能にす
る。
Lb 主メモリーの構造の概要 主メモリー構成は、1つ以上の主メモリー・ボードを使
用することによって議出し/書込みメモリーRAMとし
て構成される。
主メモリー・ボードは1弧、3が又は64Kの読出/書
込みメモリーを与える。主メモリー構成に対する最4・
乃至最大記憶容量はそれぞれ1靴乃至64Kの16ビッ
ト・ワード(1靴W乃至64KW)である。1つ以上の
主メモリー・ボード上のアドレス・スイッチにおいてセ
ットされた主メモリー・アドレス・フィールドは、‘1
’主メモリー構成におけるロケーション0からその終り
迄連続し、(2}常に必Wアドレスの境界で始めり、(
3}下位メモリー0〜×において最大サイズの主メモリ
ー・ボード(即ちモジュール)を常に保持して、別の比
較的小さな主メモリー・ボードの各々が先行する比較的
大きな主メモリー・ボード(即ちモジュール)の最終ア
ドレスに1を加えたもの(即ち、X+1)で始まらなけ
ればならない。
じ モジュールの物理的/構造的特性 王〆モリ−・ボードは18K×1ビットRAMチップを
用いて、アドレス指定を容易化し記憶の多機能性を得る
ため各王メモリ−・ボード上に独立のRAMデータおよ
びパリティのアレーを形成する。
このアレーは4つの行(0乃至3)に構成される。各行
は、その各のワード当り2パリティ・ビットを16Kの
16ビット・ワード‘こ与えるよう構成された18のR
NMチップを使用する。各々の主メモリー・ボードは、
各行を然るべく配置することにより1靴W、3狐W、又
は64KWの諸出し/書込み記憶域を提供するように構
成することができる。アセンブルされた主メモリー・モ
ジュールにおける記憶容量は1狐W RAMチップに配
置された行の数によって決定することができる(例、主
メモリー・ボード上の行0および1の群は32KWの記
憶城と等しい)。リィ モジュールのアドレス指定 アドレス・スイッチ組立体を用いて、主メモリー構成内
の固定されたアドレス範囲を主メモリー・ボードを割当
てる。
このアドレス・スイッチ組立体は、主メモリー・モジュ
ール内の主メモリー・アドレスを形成するために専ら使
用される。
このアドレスはシステム・バスのアドレス回線からのセ
グメント識別フィールド(ビット0乃至3)の1つと比
較されてそれによりアドレス指定される主メモリー・モ
ジュールを決定する。主メモリー・モジュールにおける
アドレス・ススィッチ組立体の各モジュール・サイズ・
スイッチはそのOFF位置におかれる時巡Wの王〆モリ
−・アドレス・フィールドを可能にし、このように4K
Wの糟分において1舷W乃至64KWの主メモリー・サ
イズの手動形成を可能にする。W メモリー保管ユニッ
ト メモリー保管ユニット(第1図の素子222)は主メモ
リー・ボードと共に使用される。
このメモリー保管ユニットは、システムに対するAC電
源が突然遮断される時王〆モリー・ボードのRAMアレ
ーにDC電力を維持し、メモリー保管ユニットが活動状
態を維持する限り、AC電源が回復される迄連続的なり
フレッシュ・サイクルを可能にする。仏 主メモリーの
機能の概要 本項では、システム・バスからのデータの処理における
その活動を強調する主メモリーの機能の概要を述べる。
第41図は主メモリー・モジュールにおける主な素子を
示し、主メモリーとシステムリゞスとの間のデータ・フ
ロー活動を示す。制御情報(即ち、リフレッシュ指令、
読出し/書込み指令、アドレス、等)は主メモリーによ
りシステム・バスから取出され、一時的に関連するメモ
リー・レジス外こ記憶されてデータを処理し、あるいは
必要に応じて主メモリーをリフレッシュする。適合した
活動は、メモリー・サイクルがCPUからのメモリー開
始要求によって開始される時(信号PMEMGO−が2
進教養となる)実施される。リフレッシュ指令が受取ら
れる時、各RAMチップにおける選択された行が以下の
項で説明される如くリフレッシュされ得る。読出し指令
又は書込み指令が受取られる時、最初にそのメモリー・
アドレスがテストされこれが規定されたアドレス境界を
越えないことを検査する(即ち、開始アドレスの後、お
よび開始アドレスにメモリー・サイズを加えたもの)。
もしこの境界を越すと、メモリー・サイクルが終了させ
られる。もしこの境界を越えなければ、メモリー・サイ
クルは、論出し指令又は書込み指令に対する指令レジス
タを検査することによりこの要求を処理し続ける。読出
し指令の受取りはメモリ一読出しサイクルを開始して、
主メモリー・ロケーションからシステム・バスに2バイ
トのデータ・ワードを取出す。同様に、ワード又はバイ
トのメモリー操作に対する書込み指令がメモリー書込み
サイクルを開始して、システム・バスからデータ・ワー
ドを取出してこのワードを記憶し、あるいはこのワード
からのいずれかのバイトを規定された主メモリー・ロケ
ーションへ記憶する。CPUは、メモリー読出し操作の
ためのデータをシステム・バスが受入れることを可能に
し、データがメモリー書込み操作のためシステム・バス
上にあることを保証する。データ書込み操作においては
、2バイトのデー夕・ワードがシステム・バスから取出
されてメモリー・データ・イン・レジスタに記憶される
。次に、書込み機能のタイプ(ワード書込み又はバイト
書込み)に従って、ワード又はバイト書込みメモリー操
作が行われてメモリーにこのワード又はバイトを記憶し
、そしてパリティ・ビットが生成されて各バイトに対し
て記憶される(即ち、ワード当り2パリティ・ビット、
又はバイト当り1パリティ・ビット)。バイト操作にお
いては、バイト0(左)又はバイトー(右)がメモリー
・ロケーションに記憶される時、このメモリー・ロケー
ションの隣りのロケーション(反対側)のバイトは影響
されない論出しサイクルにおいては、2バイトのデータ
・ワードはその2パリティ・ビットと共に規定されたメ
モリー・ロケーションから敬出される。
2パリティ・ビットは直接パリティ検査ロジックに送ら
れるが、16ビットのデータ・ワードはデータ・アウト
・レジスタに直接送られ、ここでそのデータ・ヮード‘
まCPUによる獲得のためシステム・バスにおかれる。
このデータ・ワードも又データ・アウト・レジスタから
データ・イン・レジスタを介してパリティ検査ロジック
に再循環され、この検査ロジックでは2パリティ・ビッ
トと共に可能性のあるパリティ・ェラ−について検査さ
れる。パリティ・エラーが生じる時メモリー・ェフー・
ラッチにラッチ・アップされ、欠陥主メモリー・ボード
におけるエラー表示灯が点灯され、CPUが然るべく通
知される(回線MEMPER−上のシステム・バス上)
。主メモリーがリフレッシュ指令(CPUにより15マ
イクロ秒以下毎に送出される。
)を受取って受入れる時、システム・バスに対するデー
タは禁止され、講出しサイクルが開始されて各々の主メ
モリー・ボード上のRAMアレーの選択されたロケーシ
ョンのデータを復元する。その完了後、リフレツシュ・
アドレス・カウンタは次のりフレッシュ指令に備えて1
だけ増分される。戊イ主メモリーのタイミング 主メモリーの動作は、1000ナノ秒のメモリー・サイ
クルと合致する連続した500ナノ秒の2つのCPUサ
イクルを使用する。
第1のCPUサイクルはメモリー・サイクル(メモリー
GO)を要求してメモリー・アドレスおよび各指令を与
える。第2のCPUサイクルは、規定されたメモリー・
アドレスに対するシステム・バス・データを与え、ある
いはこのアドレスからシステム・バス・データを受取る
。その最初のCPUサイクルにおいて、主メモリーはリ
フレッシュ指令又は議出し/書込み指令と、低レベルの
メモリー○○(2進数零、PMEMGO−)信号を受取
る。
リフレッシュ指令又は読出し/書込み指令は適合した操
作に対し主メモリー・ボードを条件付ける。しかし、低
レベルのリフレツシュ指令信号PMFRSH−は、メモ
リー・サイクル要求の約200ナノ秒前にシステム・バ
スにおかれ、それによって次のIJフレッシュ指令を王
〆モリーに警告する。メモリーGO信号PMEMGO−
は主メモリー構成内の各主メモリー・モジュールに配分
され、各主メモリー・ボード内のクロック・ゼネレータ
を始動させる。もしリフレツシュ指令が受取られると、
1完全メモリー・サイクルの間記憶論出しサイクルが開
始されてアレー内の各RAMチップの1行をリフレッシ
ュする。もし議出し/書込み指令が受取られると、シス
テム・バスからのメモリー・アドレスの最上位の4ビッ
ト0〜3は各主メモリー・モジュールにおけるセグメン
ト・アドレスと比較される。どれか1つの主メモリー・
モジュールにおける比較一致が生ずれば、これはアドレ
ス指定されるものとして定義され、又メモリー存在(M
MPRES)信号を生じる。この信号MMPRESは、
選択された主メモリー・ボード内の議出し又は書込み操
作のためのメモリー・サイクルを開始する。もし比較不
一致の場合、この要求は打切られてメモリー・サイクル
が終了させられる。メモリー書込み操作における第2の
500ナノ秒のCPUサイクルの間、データは外部ソー
ス(CPU又は1/0コントローラ)からのシステム・
バスにおいて使用可能になる。
メモリー読出し操作において、低レベル付勢メモリー・
データ信号P斑FMD−がシステム・バスから受取られ
てバス上にメモリー・データを付勢する。同時に、メモ
リーは又パリティ・ェフ−(MEMPER−)信号を送
出し、/・ィの時エラーのない議出しメモリー操作を表
示し、ローの時は現行メモリー・サイクルにおいてパリ
ティ・エラーが生じたことを表示する。じロ主メモリー
・モジュール 本項では、主メモリー・モジュール(ボード)において
使用されたロジックの機能について簡単な記述を行う。
第41図は、各素子間の信号およびデータの転送経路を
示す主メモリー・ボードのブロック図である。主要素子
は、1つの主メモリー・ボードに対して64K×16ビ
ット迄のワード(1ワード当り2パリティ・ビットが含
まれる)の記憶容量を提供するため使用されるRAMデ
ータ・アレー630とRAMパリティ・アレー632(
合わせてRAM又はアレート呼ぶ)である。他の全ての
素子はこれ等アレーを支持して、これ等とシステム・バ
スとの間でデータを転送し、議出し又は書込みメモリー
操作の間各データ・ワードについてパリティを検査しあ
るいはこれを生成する。Leロ i タイミング・ゼ
ネレータタイミング・ゼネレータ602は、主メモリー
・モジュール(第41図参照)において実施される全操
作を活動化しこれを同期させるタイミング・パルスを提
供する。
これはシステム・バスからのメモリー・サイクルに対す
る要求で活動化され(即ち、信号PMEMGO−)ある
いはシステムに対するAC電源が消勢される時パワーオ
ン信号BPOWON+によって活動されれる無先行リフ
レッシュ要求(MNOPRR十)信号で活動化される。
タイミング・ゼネレー夕602は主メモリー・ボード全
体に分配されるタイミング信号を生して、アドレス・レ
ジスタ604、データ・イン・レジスタ606および書
込み付勢をクロックし、および列アドレスと行アドレス
をストローフする。Leロロ ー5Vゼネレータ RAMチップは主メモリー・ボードにおかれた−6ボル
ト・ゼネレータ608によって生成される直流の‐5ボ
ルトを要求する。
システム電源CZはメモリー保管ユニットからの直流十
12Vおよび直流十Wが直流−Wゼネレータを駆動する
。このゼネレータから生じる−5VDCがフィル夕され
、アレー内のRAMチップに送られる。戊ロ伍 電源故
障ロジック 電源故障ロジック628はバス・パワー・オン(BFO
WON+)信号を監視してメモリーに来るべきAC電源
遮断を警告する。
このモニターにより、CP川こ追加の2ミリ秒を与えて
、中央プロセサの操作がAC電源故障のため停止する前
に関連するシステム情報でメモリーを更新させる。AC
電源故障の後、主メモリー・ジュールが内部リフレツシ
ュ操作モード‘こセットされ、AC電源がシステムに対
し回復される迄主メモリー・モジュールをアクセスする
ことがでない。戊口N RAMアドレス制御および分
配ロジック1舷WRAMァレ‐に対するアドレス・フィ
ールドは7行7列に構成されて12餅庁×128列のマ
トリックスを形成する。
RAMアドレス制御及び分配ロジック604は、このア
レーにおける特定のロケーションのアドレス指定をロケ
ーションに関する特定の行及び列のアドレスを発生する
ことによって高うように設計されている。このため、メ
モリー読出し又は書込みデータ・サイクルの始めにシス
テム・バスからデータ・イン・レジスタ606に記載さ
れた16ビットのメモリー・アドレス・ワードを用いて
このタスクを実施する。データ・イン、レジス夕606
のビット3とビットI0乃至15は行アドレス・フィー
ルドを形成し、データ、レジスタ・ビット2およびビッ
ト4乃至9は列アドレス・フィールドを形成する。両フ
ィールドは同時にその各々の行および列のアドレス・レ
ジスタ643と636に記憶される。行アドレス・レジ
スタ643の内容は、行アドレス・ストローブ信号がロ
ーになる時アレー内にストローブされる。列アドレス・
レジスタ636の内容はこの時低レベルの列アドレス・
ストローブ信号によりアレー内にストローブされる。行
および列アドレスの相方は、新らしい行および列アドレ
スでオーバーレィされるアレー内に留まる。メモリー・
アドレス制御及び分配ロジック604は又、2ビット・
メモリ−・アドレス・フィールドをデータ・イン・レジ
スタ606から分離してチップ選択ロジック624にお
けるチップ選択レジスタに記憶し、それによって主メモ
リー・モジュールにおける適合した行を選択する。
この特定のビットはビット0および1である。このフィ
ールドは、レジスタにおいて活動状態の1舷Wチップの
機能性と関連して、主メモリー・モジュールにおける行
0、1、2又は3を選択する。リフレツシュ・ロジック
622内のIJフレッシュ行アドレス・カウンタの内容
は、リフレツシュ操作の間行アドレス・レジスタ634
の内容にとって代わり、行アドレス・レジスタからの内
容と同機にしてこのアレー内にストロープされる。更に
、リフレツシュ・メモリー・サイクル信号はリフレッシ
ュ操作中ローに維持され、‘1}適合したアレ−内の全
チップを付勢することによりアレーをリフレツシユし、
かつ{2)データのチップアレーからのシステム・バス
への転送を阻止する。仏ロv セグメント選択ロジック セグメント選択ロジック610は、主メモリー・モジュ
ールのアドレス範囲を規定し(アドレス・スイッチ組立
体638からのスイッチ・セツティングのあるものを用
いて)、この範囲をシステム・バスからのメモリー・ア
ドレスを用いて有効にし、このアドレス範囲を越えない
時この主メモリー・モジュール内でメモリー・サイクル
を実施する。
もしこの範囲を越えるとメモリー・サイクルは実施され
ない。リフレッシュ操作又はAC電源故障は選択ロジッ
クを無視してアドレス存在条件をシミュレートし、主メ
モリー・モジュールにおいてリフレッシュ操作を活動化
する。じ口の データ,イン/デ‐夕・アウト・レジス
タデータ・イン・レジスタおよびデータ・アウト・レジ
スタ606および612は、書込み又は読出しメモリー
操作の間システム・バスBUSXOO+乃至BUSX1
5十とRAMデータ・アレー630間でのデータの転
送のため一時的データ・バッファとして使用される。
これ等のレジス夕は又読出し操作において使用されて、
出力データをパリティ検出ロジックに再循環させ、ここ
でこのデータが可能性のあるパリティ・エラーについて
検査される。仏ロ価 パリティ・ゼネレータおよび検査
ロジツクパリティ・ゼネレータおよび検査ロジック61
6はデータ・イン・レジスタを監視して、ワード又はバ
イト書込メモリ操作の間、各16ビット・データ・ワー
ドーこ対する2パリティ・ビットを、あるいは各データ
・バイトに対する1パリティ・ビットを生成してパリテ
ィ・アレー632に記憶する。
議出しメモリー操作においては、パリティ・ゼネレータ
および検査ロジックは又データ・アウト・レジスタおよ
びパリテイ・アウト・レジスタ612および614を監
視して各データ・ワードにおけるパリティを検査する。
書込みワード操作においては、両パリティ・ビットがパ
リティ・ァレ−に記憶される。
しかし、書込みバイト操作において、記憶されるバイト
に対する適合したパリティ・ビットのみがパリティアレ
ーに記憶される。対向するパリティ・ビットに対するパ
リティ・アレー内の隣接ロケーションは影響を受けない
。議出しメモリー操作においては、データ・ィン・レジ
スタ606からのデータ・ワードおよびパリティ・アウ
ト・レジスタ614からの2パリティ・ビットが可能性
のあるパリティ・ェフー・についてパリティ検査ロジッ
クにおいて検査される。
もしパリティ・エラーが生ずれば、ェフー・ロジック6
26内のエラー・フロツプがセットされて、システム・
バスに対して低レベルのメモリー・パリティ・ェフー(
MEMPER−)信号を送り、主メモリー・ボートにお
ける発光ダィオ−ドLFDのパリティ・エラー表示灯6
18をONにする。丘ロ価 読出し/書込み制御oジッ
ク 読出し/書込み制御ロジック920は、回線RWRTB
O+およびPWRTBI十に符号化された読出し/書込
み指令コード‘こついてシステム・バスを監視し、読出
し(ワード)指令、書込みバイト0指令、書込みノベィ
トー指令又は書込みワード指令に関するこのコードを復
号し(第6図参照)、そして符号化された指令を実行の
ためRAMアレーに送出する。
リフレッシュ指令が受取られる時、読出し指令は読出し
/書込み制御ロジック620内で自動的に符号化されて
アレーをリフレツシュする。Leロix リフレツシュ
・ロジック リフレッシュ・ロジック622の目的は、2ミリ秒(仇
s)毎にメモリーRAM内のデータを復元するため必要
なりフレッシュ・サイクルを活動化しかつこれを制御す
ることである。
規則正しいインターバルでのRAMデータの復元は、M
OSRAMデバイスの動的特性の故に必要である。(例
、MOSRAMデバイスを動的メモリーとして使用する
時、その充電されたデータの劣化は、ある限られた時間
が満了する前に再充電されれば、この時間内に始まる)
。このリフレツシュ・ロジックは15マイクロ秒毎にリ
フレッシュ・サイクルを支持して主メモリー構成内のデ
ータを維持するように設計される。15マイクロ秒のI
Jフレッシュ・サイクルは18KRAMチップ・アレー
によつて決定される(即ち、2ミリ秒/12群i=15
マイクロ秒)。
リフレッシュ・ロジックは正規のIJフレッシュ指令(
信号PM『RSH−は2進数零)についてシステム・バ
スを監視してリフレツシュ・サイクルを実施する。
この指令は、リフレッシュ指令の時が近づいていること
を警告するため、メモリー要求(PMEMGO−=2進
数零)の開始の200ナノ秒前にシステム・バス上にな
ければならない。メモリーGO信号の受取りと同時に、
リフレシュ・ロジックはこの指令を受入れ、これをテス
トしてこれが最後の正規のりフレッシュ指令から15マ
イクロ秒経過していることを検証し、そしてメモリー・
リフレツシュ・サイクル(行アドレス・ストローブのみ
)を開始してこの指令を実施する。リフレッシュ・ロジ
ックは又、現行リフレッシュ・サイクル中システム・バ
ス上へのいかなるデータ転送も禁止する。もしこれが正
規の指令であれば、各RAMチップにおける論理的なロ
ーがその現行リフレツシュ・サイクルを介してその存在
するデータでリフレッシュ(再充電)される。その完了
と同時に、リフレッシュ行アドレス・カウンタが次の正
規リフレツシュ指令に備えて1だけ増分される。もし第
2のリフルツシュ指令が15マイクロ秒内に受取られる
ならば、論出し操作がメモリー・アドレス・レジスタに
よって指定された単一メモリー・ロケーションにて行な
われ、このデー外まシステム・バスに転送されず、リフ
レッシュ行カウンタは変更されない。広ロx チップ選
択ロジック チップ選択ロジック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=6巡W)。チップ
選択ロジック624の更に詳細な説明は、本文中に参考
のため引用された1978軍7月3日出願のC・M・N
ibby等の係属中の米国特許出願第921292号「
回転チップ選択法およびその装置」において見出される
Lf 主メモリーの要約 本システムの主メモリーは1乃至4つの主メモリー・モ
ジュールをシステム・バスBに取付けることにより構成
され、合計1舷乃至6巡ワードの主メモリーを提供する
各メモリー・モジュール(又はボード)は18K、32
K又は64Kワードを含む。各ワードはデータ用の2つ
の8ビット・バイトとおよび2パリティ・ビットからな
る(データ・バイト当り1パリティ・ビット)。主メモ
リーは全て、システム・バスAには見出されない主メモ
リー独自のいくつかの信号を有するシステム・バスB上
におかれねばならない。
更に、CPUは、CPUがシステム・バスのデータ回線
のトランシーバを制御するのを可能にするため、主メモ
リーからデータが読出されるべき時どのシステム・バス
上に主メモリーがあるかを無条件に知らねばならない(
即ち、データが来るシステム・バスに対するトランシー
バはデータを受取るように、又他のシステム・バスのト
ランシーバはデータを伝送するように制御されねばなら
ない)。このようにシステム・バスのトランシーバを制
御するCPUによって、両システム・バスAとB上のデ
ータは同一となり、データが王〆モリーから来るサイク
ルの間、CPUはデータを要求するIOCがこのシステ
ム・バスにおかれているかを考慮する必要はない。デー
タが主メモリーに送られるサイクルの間、CPUはどの
バスにIOCがおかれているかを考慮し、その結果シス
テム・バスの卜うンシーバがIOCがおかれているシス
テム・バスから受取るようにかつ他方のシステム・バス
に送出するように制御でき、これによって再びシステム
・バス上のデータ(又はアドレス)が同一であることを
保証する。MOS主メモリーは主メモリー・ボード上に
含まれるロジックにより2ミリ秒毎にリフレッシュされ
るが、RAMチップの各行はCPUからリフレッシュ信
号を受取った後にだけリフレッシュされる。
CPUは少くとも15マイクロ秒毎に1回りフレッシュ
信号を生成する(15マイクロ秒×128行=2ミリ秒
)。リフレッシュ操作は、2つのCPUサイクルを要し
、この間、CPUは主メモリーをアクセスしない。この
ように主メモリー・リフレッシュを制御するCPUによ
り、CPU(およびCPUファームウェアの制御下で主
メモリーと通信する全ての1/0コントローラ)は、ア
クセスが試みられる時主メモリーが使用可能となること
を保証され得るのである。従って、主メモリーがリフレ
ッシュ操作に使用中でありアクセスを再び試みなければ
ならないことをCPUに対し通知するために、システム
・バス信号又は回復ロジックを設ける必要はなくなる。
この保証がなされた主メモリーの可用度によりシステム
・バスの中とシステムの論理的要件を減少させることに
なる。バス優先順位の中央の解決装置の前掲の説明は単
なる例示のものである。例えば、この解決装置は、多数
の装置が取付けられる唯1つの共通バスからなるシステ
ムにおいて機能するものであることが理解されよう。更
に本システムは3つ以上の共通バスからなろうに拡張す
ることができることも理解されよう。又更に、この中央
の解決装置はCPU内におかれる必要がなく、また3つ
内外のバス要求タイプ(DMA、DMCおよび割込み)
がシステム内に含み得ることが理解されよう。本発明に
ついはその望ましい一実施態様に関して記述したが、当
業者にとっては、その形態および詳細における前記およ
びその他の変更が本発明の主旨および範囲から逸脱する
ことなく可能であることが了解される。
【図面の簡単な説明】
第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指令のシーケンスのタイミ
ング図、第21A乃至第21D図は本発明のシステム・
バスにおけるDMCデータ転送シーケンスのタイミング
図、第22図は本発明のシステム・バスにおけるDMA
データ転送シーケンスのタイミング図、第23図は本発
明のシステム・バスにおける入出力割込みシーケンスの
タイミング図、第24図は本発明の入出力ソフトウェア
命令に応答するシステム・バス上で転送される制御ワー
ドの書式を示す図、第25図は本発明の入出力ソフトウ
ェア命令の入出力機能コードを示す図、第26A図およ
び第26B図は本発明の10および10日のソフトウェ
ア命令の書式を示す図、第27A図および第27B図は
本発明の10LDソフトウェア命令の書式を示す図、第
28図は第26A図および第26B図に示す10ソフト
ウェア命令を実施するCPUファームウェアのフローチ
ャート、第29図は第27A図および第27B図に示す
10LDソフトウェア命令を実施するCPUファームウ
ェアのフローチャート、第30図は本発明のCPUスク
ラッチパッド・メモリーに保持されたプログラム・チャ
ンネル表と10LDフトウェア命令との間の相互対話を
示す図、第31図は本発明のトラップとソフトウェア割
込み間の連係を示す図、第32図は本発明のシステムに
おける諸機能に専用化された主メモリー・ロケーション
を示す図、第33図は本発明のCPUファームウェアの
全体的フローチャート、第34図はCPUのファームウ
ェアを示し、本発明のソフトウェア割込み、トラツプ、
およびハードウェア割込み間の対話を示す図、第35図
は本発明のCPUファームウェアのマイクロ命令ワード
の書式を示す図、第35A図乃至第35D図は本発明の
CPUファームゥェァのマイクロ命令ワードの種々の制
御フィールドを詳細に示す図、第36図は本発明のCP
Uのマイクロプロセサにより実施される諸操作を示す図
、第37A図乃至第37G図は第35C図に示すCPU
ファームウェアのマイクロ命令ワードの副指令および制
御フィールド‘こより実施される諸機能を更に詳細に示
す図、第38図は本発明の入出力コントローラのブロッ
ク図、第39図は第38図に示す1/0コントローラの
タイミング、要求およびリセット・ロジックを示す図、
第40図は本発明のシステム・バスおよび1/0コント
ローラにおいて見出されるタイミング信号のタイミング
図、第41図は本発明の主メモリー・モジュールのブロ
ック図、第42図は第9図に示される制御ストアのロジ
ックを示す図、第43図は第8図に示されたCPUのロ
ジックを示す図。 200・・・・・・中央プロセサ・ユニット(CPU)
、201……制御パネル、202,204……システム
・バスA、B、206,208,210,212,21
4,216,218,220・・・・・・入出力(1/
10)コントローラ、222……メモリー保管ユニット
、230・・・・・・制御ストア、232・・・…マイ
クロプロセサ、234……1/0システム・バス領域、
236・・・・・・スクラッチパッド・メモリー(SP
M)、238・・・・・・フアームウエアROSメモリ
ー、240・・・・・・ブートPROM、242・・・
・・・局部レジスタ、244・・・・・・指令データ、
248・・・…制御ストア・アドレス・ゼネレータ、2
50…・・・ハードウェア割込み回路網、254・・・
・・・テスト回路網、256・・・・・・メジャー分岐
回路網、257・・・・・・ソフトウェア割込み回路網
、258・・・・・・制御フロップ、260・・・・・
・内部バス、266・・・…演算論理ユニット(ALU
)、268・・・・・・レジス夕・ファイル、269・
・・・・・データ選択マルチプレクサ、280・・・・
・・CPUサイクル・アウト時間ゼネレータ、281…
…クロツク、282,286……システム・バス・ドラ
イバ、284,288……レシーバ、290・・・・・
・発振器、292・・・・・・カウンタ、294・・・
・・・SPMアドレス・マルチプレクサ、300〜33
4,350〜399……フロツク、400……タイミン
グ・ロジック、402…・・・DMA/DMC要求ロジ
ック、404…・・・割込みロジック、406・・・・
・・要求リセット・ロジック、407・・…・デバイス
・ロジック、409・・…・指令ロジック、413……
チャネル番号コンパレータ、417……割込みロジック
、421・・・・・・ナータ転送ロジック、429・・
・・・・タスク/構成ロジック、437・・・・・・状
態/デバイス識別ロジック、445・・・・・・アドレ
ス/範囲ロジック、602・・・・・・タイミング・ゼ
ネレータ、604・・・・・・RAMアドレス制御/分
配ロジック、610・・・・・・セグメント選択ロジッ
ク、622……リフレッシュ・ロジック、628・・・
・・・電源故障ロジック、630・・・・・・RAMデ
ータ・アレー、6 3 2・・…・RAMパリテイ・ア
レー、900〜990……ブロック。 FノG 」FノG.ノA F/G 2 ‘ノ6.夕 〜 葦 り 葦 ○ 葦 〜へ き ○ 葦 ○ 葦 ℃ ≦ ○ 葦 ○ 葦 ○ 葦 へ 葦 ○ 葦 ○ 葦 コ 葦 ‘ンG 乙2 ‘ノG.J3 FノG.J子 斤ン○.j夕 ‘ンG‐〆6 f/G.J夕 ‘ノ○J9 FノG.20 ‘ノG2ソり‐2ソ〃 ‘ンG‐2ソA ‘ンG‐2Y6 ‘ンG・2′C FノG.2J〃 ‘ンG22 (ンG 23 「/○.24 〆/G.2グ ‘ノG264 〆/G.268 上/G.274 「/G.278 ‘ノG 26 $ 葦 馬 葦 ミ 葦 3 毒 S 毒 ミ 葦 母 葦 溝 毒 ミ 葦 ミ 葦 $ 毒 S〜 葦 蔓 声 毒 葦 hS 葦 ‘ソG36 f/G.3ス力 Fノ○.3ス8 き 葦 富 き S ≦ S 葦 〆ノG.ケア夕 ‘ノ○ 38 ‘ソG メタ ‘ノ6 39 ‘ノG. 39 「ノ6 39 f/○.〆○ 万力G子 き ≦ き 葦 「ノG.子2 ‘ノG 子3 ‘ノ○ 43 バンG 43

Claims (1)

  1. 【特許請求の範囲】 1 1つ以上の共通バスを有しておりこの各々に沿つて
    1つ以上のユニツトが接続されており、前記の1つ以上
    のユニツトの少くとも1つが要求側ユニツトであつてこ
    の1つ以上のユニツトの応答側ユニトに関して情報を送
    受する目的のため前記の1つ以上の共通バスの前記要求
    側ユニツトへの割合てを要求することができ、前記応答
    側ユニツトは前記1つ以上の共通バスのいずれかに接続
    されており、前記要求側ユニツトは前記1つ以上の共通
    バスの要求側バスに接続されており、前記応答側ユニツ
    トは前記1つ以上の共通バスの応答側バスに接続されて
    おり、前記応答側バスは前記要求側バスであることが可
    能であり、前記要求側ユニツトは、前記要求側バスに接
    続された前記1つ以上のユニツトの他のユニツトのどれ
    も前記要求側ユニツトが行うのと同じタイプのバス要求
    を行なつていない場合に、バス要求信号を前記要求側バ
    スに発生することによつて前記1つ以上の共通バスの全
    てのバスの割当てを要求し、前記の1つ以上の共通バス
    の全てのバスを前記要求側ユニツトに対し割当てるため
    前記の1つ以上の共通バスの全てのバスに結合されたバ
    ス・アロケータを有するシステムにおいて、前記バス・
    アロケータが、A 前記1つ以上の共通バスに結合され
    ており複数の前記バス要求信号を受取るための第1の手
    段と、B 前記第1の手段に結合されており、前記複数
    の前記要求信号の優先順位を決定しかつ前記複数の前記
    要求信号の内の最高優先順位バス要求信号に対応する優
    先順位要求信号を生成するための第2の手段と、C 前
    記第2の手段及び前記1つ以上の共通バスに結合されて
    おり、前記の1つ以上の共通バスの内の単一のバスにの
    み付与信号を生成するための第3の手段であつて、前記
    複数のバス要求信号の内の前記最高優先順位のものを受
    取つたのは前記単一のバスからであり、前記付与信号は
    前記最高優先順位のバス要求信号に対応しており、また
    前記複数の異なつたタイプのバス要求の各々の対応する
    タイプのバス要求に対し異なつたタイプの付与信号があ
    ること、及びD 前記第3の手段及び前記1つ以上の共
    通バスに結合された第4の手段であつて、該第4の手段
    は、前記付与信号の発生に応答して、前記1つ以上のバ
    スの全てのバスを割当ててこれら全てのバスが割当てら
    れた前記要求側ユニツトとの交換のための情報のみを送
    り、これによつて、前記要求側ユニツトが情報を前記応
    答側ユニツトへ送るとき、前記1つ以上の共通バスの内
    前記要求側バス以外の全てのバスが前記要求側ユニツト
    から情報を受取るように結合され、かつこれにより、前
    記要求側ユニツトが情報を前記応答側ユニツトから受取
    るとき、前記1つ以上の共通バスの内前記要求バス以外
    の全てのバスが情報を前記要求側バスへ送るように結合
    されていること、から成ること、を特徴とするシステム
    。 2 1つ以上の共通バスに沿つて接続された1つ以上の
    ユニツトからの1つ以上のバス要求信号に応答して1つ
    以上の共通バスの割当てを行うように接続されたバス・
    アロケータと、前記の1つ以上のユニツトの別の1つの
    ユニツトに関して情報を送受する目的のため自らに対す
    る前記1つ以上の共通バスの割当てを要求可能な前記1
    つ以上のユニツトの要求ユニツトと、前記要求ユニツト
    に対する前記1つ以上の共通バスの割当てを要求するた
    めの前記要求ユニツト内のバス要求装置とを有するシス
    テムにおいて、前記要求装置が、A 前記1つ以上の共
    通バスの同じ共通バスに接続された前記1つ以上のユニ
    ツトの1つが前記要求ユニツトとして前記1つ以上の共
    通バスの割当てを要求することを表示する要求信号を受
    取るための第1の手段と、B 前記の同じ共通バスに接
    続された前記の1つ以上のユニツトの全ての中で前記要
    求ユニツトに対し独自の同期信号を受取るための第2の
    手段であつて、前記同期信号は前記要求ユニツトがバス
    要求を行い得ることを表示すること、C 前記第1の手
    段及び前記第2の手段に結合されており、前記1つ以上
    のユニツトの前記1つのユニツトが前記1つ以上の共通
    バスの割当てを要求中であることを前記要求信号が表示
    せずかつ前記要求ユニツトがバス要求を行い得ることを
    前記同期信号が表示する場合、前記要求信号を生成する
    ための第3の手段と、を有することを特徴とするシステ
    ム。 3 1つ以上の共通バスの各々に沿つて接続された1つ
    以上のユニツトを有する1つ以上の共通バスを有し、前
    記1つ以上のユニツトの少なくとも1つのユニツトは要
    求ユニツトであつて前記1つ以上のユニツトの別の1つ
    のユニツトに関して情報を送受する目的のため自らに対
    する前記1つ以上の共通バスの割当てを要求することが
    でき、前記要求ユニツトに対して前記1つ以上の共通バ
    スを割当てるため前記1つ以上の共通バスに接続された
    バス・アロケータを有するシステムにおいて、A 複数
    のバス要求信号を受取るため前記バス・アロケータに含
    まれる第1の手段と、B 前記バス・アロケータに含ま
    かつ前記第1の手段に結合されており、前記複数の要求
    信号の優先順位を決定しかつ前記複数の要求信号の活動
    状態にあるものの最高優先順位と対応する優先順位要求
    信号を生成するための第2の手段と、C 前記バス・ア
    ロケータに含まれかつ前記第2の手段に結合されており
    前記1つ以上の共通バス上に前記優先順位要求信号と対
    応する付与信号を生成するための第3の手段と、D 前
    記要求ユニツトに含まれており、前記1つ以上の共通バ
    スの同じ共通バスに接続された前記1つ以上のユニツト
    の1つのユニツトが前記要求ユニツトとして前記1つ以
    上の共通バスの割当てを要求することを表示する要求信
    号を受取るための第4の手段と、E 前記要求ユニツト
    に含まれており、前記の同じ共通バスに接続された前記
    1つ以上のユニツトの全ての中で前記要求ユニツトに独
    自の同期信号を受取るための第5の手段であつて、前記
    同期信号は前記要求ユニツトがバス要求を行うことがで
    きることを表示すること、F 前記要求ユニツトに含ま
    れかつ前記第4の手段及び前記第5の手段に結合されて
    おり、前記1つ以上のユニツトの前記1つのユニツトが
    前記の1つ以上の共通バスの割当てを要求中であるるこ
    とを前記要求信号が表示せずかつ前記要求ユニツトがバ
    ス要求を行うことができることを前記同期信号が表示す
    る場合、前記要求信号を生成するための第6の手段と、
    から成るシステム。
JP55009509A 1979-01-31 1980-01-31 中央に集中化したバスの優先順位解決手段を含むデ−タ処理システム Expired JPS6030985B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8123 1979-01-31
US06/008,123 US4459665A (en) 1979-01-31 1979-01-31 Data processing system having centralized bus priority resolution

Publications (2)

Publication Number Publication Date
JPS55103623A JPS55103623A (en) 1980-08-08
JPS6030985B2 true JPS6030985B2 (ja) 1985-07-19

Family

ID=21729907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55009509A Expired JPS6030985B2 (ja) 1979-01-31 1980-01-31 中央に集中化したバスの優先順位解決手段を含むデ−タ処理システム

Country Status (6)

Country Link
US (1) US4459665A (ja)
JP (1) JPS6030985B2 (ja)
AU (2) AU543497B2 (ja)
BE (1) BE881409A (ja)
CA (1) CA1145001A (ja)
FR (1) FR2456975B1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821174A (en) * 1984-03-20 1989-04-11 Westinghouse Electric Corp. Signal processing system including a bus control module
US4802087A (en) * 1986-06-27 1989-01-31 Honeywell Bull Inc. Multiprocessor level change synchronization apparatus
GB2193066B (en) * 1986-07-07 1990-07-04 Perkin Elmer Corp Computer bus
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
US5257374A (en) * 1987-11-18 1993-10-26 International Business Machines Corporation Bus flow control mechanism
EP0357075A3 (en) * 1988-09-02 1991-12-11 Fujitsu Limited Data control device and system using the same
EP0752666A3 (en) 1995-07-06 2004-04-28 Sun Microsystems, Inc. Method and apparatus for fast-forwarding slave requests in a packet-switched computer system
GB9809885D0 (en) * 1998-05-09 1998-07-08 Vircon Limited Protected storage device for computer system
EP1257917A4 (en) * 1999-04-07 2004-11-10 Cradle Technologies GLOBAL BUS-SYNCHRONOUS CONFIRMATION OF A TRANSACTION WITH DETECTION OF THE ERROR OF A REPLY
US6701398B1 (en) 1999-04-07 2004-03-02 Cradle Technologies, Inc. Global bus synchronous transaction acknowledge with nonresponse detection
JP2013222364A (ja) * 2012-04-18 2013-10-28 Renesas Electronics Corp 信号処理回路
CN114064545B (zh) * 2021-10-29 2023-11-03 佛山市顺德区美的电子科技有限公司 串口功能识别方法、装置、主控芯片、家电设备及介质
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 (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3710327A (en) * 1970-12-14 1973-01-09 Ibm Synchronous communications adapter
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
US3866181A (en) * 1972-12-26 1975-02-11 Honeywell Inf Systems Interrupt sequencing control apparatus
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus
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
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
US4047158A (en) * 1974-12-13 1977-09-06 Pertec Corporation Peripheral processing system
US3997896A (en) * 1975-06-30 1976-12-14 Honeywell Information Systems, Inc. Data processing system providing split bus cycle operation
US4020471A (en) * 1975-06-30 1977-04-26 Honeywell Information Systems, Inc. Interrupt scan and processing system for a data processing system
US4030075A (en) * 1975-06-30 1977-06-14 Honeywell Information Systems, Inc. Data processing system having distributed priority network
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system
US3983540A (en) * 1975-09-08 1976-09-28 Honeywell Inc. Rapid bus priority resolution
JPS5837585B2 (ja) * 1975-09-30 1983-08-17 株式会社東芝 ケイサンキソウチ
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4056847A (en) * 1976-08-04 1977-11-01 Rca Corporation Priority vector interrupt system

Also Published As

Publication number Publication date
BE881409A (fr) 1980-05-16
US4459665A (en) 1984-07-10
AU578449B2 (en) 1988-10-27
FR2456975B1 (fr) 1989-04-14
AU543497B2 (en) 1985-04-26
CA1145001A (en) 1983-04-19
FR2456975A1 (fr) 1980-12-12
AU5503280A (en) 1980-08-28
JPS55103623A (en) 1980-08-08
AU3869185A (en) 1985-06-20

Similar Documents

Publication Publication Date Title
US4495571A (en) Data processing system having synchronous bus wait/retry cycle
US4484271A (en) Microprogrammed system having hardware interrupt apparatus
US4317169A (en) Data processing system having centralized memory refresh
US4321665A (en) Data processing system having centralized data alignment for I/O controllers
US5016167A (en) Resource contention deadlock detection and prevention
US3648252A (en) Multiprogrammable, multiprocessor computer system
US4293908A (en) Data processing system having direct memory access bus cycle
US4803623A (en) Universal peripheral controller self-configuring bootloadable ramware
US4959781A (en) System for assigning interrupts to least busy processor that already loaded same class of interrupt routines
US5404464A (en) Bus control system and method that selectively generate an early address strobe
US4821177A (en) Apparatus for controlling system accesses having multiple command level conditional rotational multiple port servicing priority hierarchy
US5333274A (en) Error detection and recovery in a DMA controller
US5070475A (en) Floating point unit interface
US4181974A (en) System providing multiple outstanding information requests
US5666515A (en) Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
JPH0642225B2 (ja) Dma機能を有する計算機システム
JPS6030985B2 (ja) 中央に集中化したバスの優先順位解決手段を含むデ−タ処理システム
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
JP2007149116A (ja) クラスタ化マルチプロセッサシステム内でアプリケーションプロセッサの実行を開始する方法および装置
WO2019126921A1 (en) Pre-memory initialization multithread parallel computing platform
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
WO1988008570A1 (en) Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US4300194A (en) Data processing system having multiple common buses
US4340933A (en) Data processing system having centralized nonexistent memory address detection
JPS5922250B2 (ja) 多重取出しバス・サイクル操作を与えるシステム