JPH0642225B2 - Dma機能を有する計算機システム - Google Patents

Dma機能を有する計算機システム

Info

Publication number
JPH0642225B2
JPH0642225B2 JP1123041A JP12304189A JPH0642225B2 JP H0642225 B2 JPH0642225 B2 JP H0642225B2 JP 1123041 A JP1123041 A JP 1123041A JP 12304189 A JP12304189 A JP 12304189A JP H0642225 B2 JPH0642225 B2 JP H0642225B2
Authority
JP
Japan
Prior art keywords
bus
data
memory
ioic
register
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 - Lifetime
Application number
JP1123041A
Other languages
English (en)
Other versions
JPH0219955A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0219955A publication Critical patent/JPH0219955A/ja
Publication of JPH0642225B2 publication Critical patent/JPH0642225B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は計算機システムに係り、特に直接メモリ・アク
セス(DMA)によるメモリ動作(読取り又は書込み)
中の早い時期に入出力バスを解放できる計算機システム
に係る。
B.従来の技術 特開昭63−89958号公報は、SPDバスと名づけ
られた複数の入出力バスを有する計算機システムを開示
している。各SPDバスは、多数の入出力バス・ユニッ
ト(IOBU)或いは入出力プロセッサ(IOP)を入
出力インターフェース制御装置(IOIC)に接続す
る。各IOICは、(1)アダプタ・バスと呼ばれる別
のバス、(2)調停論理、入出力インターフェース・ユ
ニット及びメモリ制御論理を含むメモリ制御装置、並び
に(3)メモリ・バスを介して、共通メモリに接続され
る。この計算機システムの構成を第1a図に示しておく
(詳細は後述)。
IOPから共通メモリへの書込みを行う場合、IOPは
接続されている特定のSPDバスを介して共通メモリへ
データを送り、書込みが成功したかどうかを示すメモリ
・ステータス情報が戻ってくるのを待つ。その間、関連
するSPDバスは「使用中」であり、そのSPDバスに
接続されている他のIOPは当該SPDバスを使用でき
ない。アダプタ・バスに1台ないし2台のIOICが接
続され、各SPDバスにほんの数台のIOPが接続され
ているような比較的小型の計算機システムの場合は、こ
のような待ち時間は無視できるかも知れないが、システ
ムが大型化してくると、IOPからメモリ、又はメモリ
からIOPへのデータ転送における謂ゆるメモリ待ち時
間が、計算機システムの入出力処理能力に悪影響を及ぼ
す程長くなる。
ここでは「メモリ待ち時間」を次のように定義する。
「IOPがSPDバスを介してメモリに対する書込み要
求又は読取り要求を出してから、データがメモリへ又は
メモリから首尾よく転送された(又はされなかった)こ
とを示すメモリ・ステータス、及び場合によってはデー
タが戻されるまでの時間」 別の云い方をすれば、メモリ待ち時間は、メモリ動作が
IOPによって要求された時に開始し、メモリ動作の結
果がIOPが送り返された時に終了する。
例えば、SPDバス、関連するIOIC、アダプタ・バ
ス、メモリ制御装置、メモリ・バス及び計算機メモリを
含むDMAルートを介してメモリへデータを転送する要
求をIOPが出したとする。この転送動作は、場合に応
じて「メモリ書込み」、「DMA書込み」又は「リモー
ト読取り」と呼ばれる。要求は最初IOPから関連する
SPDバスを介してIOICに対してなされる。IOI
Cはそれによりアダプタ・バスのアクセスを要求する。
このアクセス要求が許されると、アダプタ・バスを介し
てメモリ制御装置へデータが転送され、そこからメモリ
・バスを介してメモリに書込まれる。次いでメモリ制御
装置は、メモリ動作が首尾よく完了したかどうかを示す
メモリ・ステータスをアダプタ・バスを介して戻す。こ
のメモリ・ステータスはIOICからSPDバスを介し
て要求元のIOPへ中継される。
上述の例におけるメモリ待ち時間は、IOICが活動状
態にある時間;すなわち、アダプタ・バスへのアクセス
を待っている時間;アダプタ・バスを介してデータをメ
モリ制御装置へ転送する時間;メモリ・バスへのアクセ
スを待っている時間;データを実際にメモリへ書込むの
に要する時間;(メモリ制御装置が)アダプタ・バスへ
のアクセスを待っている時間;及びアダプタ・バスを介
してメモリ・ステータスが戻される時間を含む。第1b
図にこのメモリ待ち時間のタイミングを示す。
同様に、IOPは共通メモリからDMAルートを介して
当該IOPへデータを転送する要求を出すことができ
る。この動作は、「メモリ読取り」、「DMA読取り」
又は「リモート書込み」と呼ばれる。要求は最初IOP
から関連するSPDバスを介してIOICに対してなさ
れる。IOICはそれによりアダプタ・バスのアクセス
を要求する。このアクセス要求が許されると、IOPか
らの要求はアダプタ・バス介してメモリ制御装置へ中継
される。メモリ制御装置はそれによりメモリ・バスのア
クセスを要求し、許されると、メモリからメモリ・バス
を介して要求されたデータを読取る。次いでメモリ制御
装置はアダプタ・バスのアクセスを要求し、許される
と、読取ったデータを要求元のIOICへ転送する。I
OICはそのデータをSPDバスを介して要求元のIO
Pへ中継する。
上述のメモリ読取りにおけるメモリ待ち時間は、前と同
様に、IOICが活動状態にある時間;すなわち、IO
Pの要求を受取った時から、その要求に係るデータをメ
モリから受取った時までの時間を含む。第1c図にこの
メモリ待ち時間のタイミングを示す。
C.発明が解決しようとする課題 第1b図及び第1c図から分るように、メモリ待ち時間
は、データ及び制御情報がSPDバス上を転送される時
間を含んでおらず、アダプタ・バスのアクセスを待って
いる時間と、アダプタ・バスのアクセス後にメモリの読
取り又は書込みを完了させるのに要する時間との和にな
っている。アダプタ・バスのアクセスを待っている時間
は、アダプタ・バスを要求中及び使用中のIOICの存
在及び優先順位に応じて異なり、一定ではない。読取り
動作又は書込み動作を完了させるのに必要な時間も、転
送すべきデータの量及びメモリの使用状況(例えば、計
算機システムの命令処理ユニットによって開始された読
取り/書込み動作を実行中かどうか)によって異なる。
前記の公開公報に開示されている計算機システムでは、
特定のIOPがメモリへの又はメモリからのデータ転送
のためにSPDバスのアクセスを要求してそれが可能に
なると、データ及びメモリ・ステータスの転送を含む全
動作が完了するまで、SPDバスは当該IOPの専用に
なる。
また、IOPとメモリの間でデータ及び制御情報を転送
する前に、その準備として選択サイクルを実行する必要
がある。メモリ動作の完了を示す最終ステータス情報が
メモリから受取られると、現SPDバス動作は終了す
る。もし更に別のデータ及び情報をIOPからメモリ
へ、又はその逆方向に転送するのであれば、そのような
転送を開始するため、計算機システムは再び選択シーケ
ンスを実行する。従って、他のIOPがSPDバスをア
クセスできるのは、DMAの完了後だけである。
上述の従来技術はSPDバスの処理能力を十分に生かし
ておらず、従ってメモリ待ち時間の間にSPDバスを有
効に利用できるシステムが望まれている。
以上の点から、本発明の目的とするところは、計算機シ
ステムの入出力部の利用効率を上げることによってシス
テム全体の処理能力及び性能を改善することにある。
D.課題を解決するための手段 前述の目的を達成するため、本発明はSPDバスとアダ
プタ・バスの間に接続されたIOIC(入出力インター
フェース制御装置)にDMA機構を設ける。(IOIC
が1台の場合は、SPDバスとメモリ制御装置の間に直
接接続される。)このDMA機構(以下、「サーバ」と
呼ぶことがある)は、転送される制御情報及びデータを
記憶するために、IOIC内に設けられる複数のレジス
タ及びバッファを含む。
このDMA機構すなわちサーバの目的は、IOPからI
OICへ制御情報が転送された後、及びデータが転送さ
れた後直ちにSPDバスを解放することにある。
サーバを使用するため、計算機システムは、制御情報を
転送する関連するSPDバスに接続された特定のIOP
から適切な初期設定シーケンスを実行し、サーバが独立
してDMAを実行できるようにする。
DMAがメモリ読取りであれば、サーバはメモリからメ
モリ制御装置を介してデータを得、それを自身のバッフ
ァに置く。次にIOICが要求元のIOPに再接続さ
れ、データ及びメモリ・ステータスを当該装置に供給す
る。その間、要求元IOPは、前の初期設定に関連する
後続のデータ転送の用意ができていることを示すことが
できる。
DMA動作がメモリ書込みであれば、IOICは、デー
タをサーバのバッファへ転送するためIOPに再接続さ
れ、次いでメモリで実際のDMAが処理されている間S
PDバスを解放するために切離される。DMAが完了す
ると、IOICはメモリ・ステータスを供給するために
再びIOPに接続される。IOPは、その間に、前の初
期設定に関連する次のデータ・ブロックが転送可能であ
ることを示すことができる。サーバがそれを受入れる
と、データはサーバのバッファへ転送され、次いでSP
Dバスを再び解放するためにIOICが切離される。
読取り及び書込みの何れにおいても、後続のデータ転送
に対してIOPの準備ができていないか、又は資源割振
り等の何らかの理由でIOICが後続のデータ転送を受
諾しなかった場合は、動作は終了する。従ってIOPは
IOICに対する新たな初期設定シーケンスを開始しな
ければならない。
本発明は、DMA動作を開始するために、IOPに付加
的なバス・サイクルを何回か実行させる場合があるが、
バスに費す時間は前記公開公報に記載のシステムよりも
はるかに短い。従来のシステムに比べて、IOPは、I
OIC内のサーバが当該IOPのためにDMAを実行
し、然る後他のIOPによる使用に備えてSPDを解放
できるように、付加的な情報を転送しなければならな
い。その結果、計算機システムの入出力部の全体的なス
ループット及びパフォーマンスが、特に多量のI/Oト
ラフィックがある期間において大幅に改善される。
このように、本発明は、DMA動作の間DMA機構すな
わちサーバをIOP及びIOICの両方に共有させるこ
とによって、メモリ待ち時間をなくす(もっと適切に云
うなら、使用する)。IOPによって開始されたメモリ
動作の制御をIOICに移すことにより、計算機システ
ムはその重要な資源をより良く制御することができる。
動作に際して、IOPはDMA動作を開始するために1
つの選択サイクル及び2つの固定データ・サイクルのD
MA初期設定ユニット動作メッセージをIOICに送
る。このメッセージは、メモリ動作のタイプ(読取り又
は書込み)、DMAポート番号、メモリ・アドレス、保
護キー、システム補助メモリ・ビット、追加のシステム
検査ビット、及び転送バイト・カウントを含む。
一旦初期設定されると、特定のIOPアドレス及びポー
トに割振られたIOIC内のサーバは、計算機システム
内のアダプタ・バスの使用を要求する。アダプタ・バス
の使用許可を受取ると、サーバはIOPのためにメモリ
制御装置を介してDMAを実行する。DMA動作が完了
すると、サーバはメモリ・ステータス及びデータ(DM
Aが読取りの場合)を保持する。次いでIOICは、初
期設定時に記憶されたIOPアドレス及びポート番号を
用いて、動作を開始したIOPに再接続する。一旦再接
続すると、メモリ・ステータス及びデータ(読取りの場
合)がIOPに戻される。この時点でIOPはIOIC
の動作継続を要求することができる。ただし、この要求
はIOICによって拒否される場合がある。もし要求が
受け入れられると、データ・パケット転送毎に(実際に
は転送前に)アドレス、保護キー、システム・アドレス
検査ビット、メモリ・タイプ等を送る必要なしに、SP
Dバスを介する読取り及び書込みを行うことができる。
各データ・パケットに関するアドレスは、DMA初期設
定ユニット動作メッセージから始まって、IOIC及び
IOPの両方に保持される。
もう少し具体的に説明すると、メモリ読取り(リモート
書込み)及びメモリ書込み(リモート読取り)は次のよ
うに実行される。
(1)リモート書込み動作(メモリからIOPへデータを
転送):IOPはDMA初期設定ユニット動作メッセー
ジ及び書込み指令をIOICへ送る。IOICは、計算
機システムの共通メモリからパケット・データを得るた
めに、内部優先論理及びアダプタ・バス構造に基いてこ
の要求をスケジュールする。データが得られると、メモ
リ・ステータス及びデータ・パケットを転送するため、
IOICはバス・マスタとしてSPDバスのアクセスを
調停する。その際、要求元のIOPはバス・スレーブと
して選択される。この選択と同時に、IOICは、メモ
リ・ステータスと関連して、DMA動作の継続すなわち
メモリからの次のデータ・パケットの取出しを許すか、
又はメモリ・エラーもしくはサーバ解放のためDMA動
作を終了させるかをIOPに知らせる。終了は直ちに行
われるか、又はデータ・パケット転送が完了するまで遅
らされる。ただし、エラーの場合は強制的に即時終了さ
れる。パケット転送において、動作継続がIOICによ
って許されると、IOPは、IOICから別のデータ・
パケットを受取れる機構を持っているか、又はDMA動
作を終了させることを示す。また、IOPは最初のデー
タ転送サイクルの間に動作継続の希望を示すこともでき
る。その場合、IOICはもし然るべく設計されている
と、現パケットがSPDバス上を転送されている間に、
メモリから次のデータ・パケットをプリフェッチするこ
とができる。
パケット転送が完了すると、バスの使用をより公平化す
るためにSPDバスの時間スロットを別のIOPに与え
ることができる。或いは、最初のIOP及びIOICが
動作継続を決めた場合には、IOICは当該IOPのた
めにメモリに対し別のパケットを要求することができ
る。
要約すれば、SPDバス・プロトコルは、IOPがDM
A初期設定ユニット動作メッセージ(リモート書込み)
をIOICに送った時に開始する。IOICのDMAサ
ーバ機構及びデータが使用可能であれば、IOICはバ
ス・マスタとしてSPDバスの使用を要求し(IOPは
バス・スレーブとして選択される)、データ及びメモリ
・ステータスをIOPへ送ることによってリモート書込
み動作を完了する。
(2)リモート読取り動作(IOPからメモリへデータを
転送):IOPはDMA初期設定ユニット動作メッセー
ジ及び読取り指令をIOICへ送る。IOICは、もし
データ・パケットを受取れるバッファがあると、IOP
からIOICへのデータ・パケット転送のために、バス
・マスタとしてSPDバスのアクセスを調停する。その
際、要求元のIOPはバス・スレーブとして選択され
る。パケット転送が完了すると、バス動作は終り、SP
Dバスは他のIOPによる使用に備えて解放される。こ
のパケット転送の間に共通メモリへのパケット書込みの
ステータスが供給されることはない。その間SPDバス
に関係する検査だけが行われ、もし問題があれば知らさ
れる。
リモート書込みの時と同じく、バッファされたデータ・
パケットは、IOICの内部優先論理に基いてメモリへ
の書込みをスケジュールされる。データがメモリに書込
まれて、書込みステータスが得られると、IOICはS
PDバスのアクセスを調停し、このステータスをIOP
へ送る。
パケット・ステータスを伴う最初のバス(選択)サイク
ルで、IOICは、終了を望んでいるか、又は割振られ
たIOPポート番号を用いて続行しようとしているかを
IOPに知らせることができる。もし動作が終了される
のであれば、IOICはそのDMA機構を自由に別のI
OPに割振ることができる。最初のデータ・サイクル
で、IOPは、転送可能な別のパケットを持っているか
どうかをSPDバスを介してIOICに知らせることが
できる。もしIOPが別のパケットを持っていなけれ
ば、IOPはDMA動作を終了させる。メモリ動作の続
行で別のデータ・パケットを転送できるのは、IOP及
びIOICの両方が続行に同意した場合だけである。リ
モート読取り動作のためのバス・プロトコルは、データ
がIOPからIOICへ送られることを除くと、リモー
ト書込み動作の場合と同様である。
IOP及びIOICの何れかがDMA動作の終了を決定
した場合には、共用DMA機構は別のIOPに対するサ
ービスに備えて解放される。DMA動作が終了されたI
OPは、それを再開するためには、別のDMA初期設定
ユニット動作メッセージを出さなければならない。
上述のリモート読取り/書込み動作によれば、SPDバ
スの利用時間はデータ転送の間に限られ、IOICとメ
モリとの間でデータ及び制御情報が転送されている間は
解放されているので、SPDバスをより効率良く使用す
ることができる。かくして、複数の入出力バスを有する
従来のシステムにおけるメモリ待ち時間の問題が解消さ
れる。
E.実施例の説明 まず本発明の前提となる従来のシステムについて説明し
ておく。
第1a図を参照するに、図示の計算機システム10は入
出力インターフェース制御装置(IOIC)10j−1
0mと、アダプタ・バス10nと、入出力バス(以下
「SPDバス」と呼ぶ)10t−10wを含む。
以下の記述は、本発明の説明に加えて、その周辺事項と
も云うべき説明をも含んでいる。かかる周辺事項は、I
BM社から発行された刊行物である。「IBMシステム
/370解説書」,Form No.N;GA22−70
00に詳しい。
第1a図において、命令プロセッサ・ユニット(IP
U)10aは命令キャッシュ10b及びデータ・キャッ
シュ10cへ接続される。命令キャッシュ10b及びデ
ータ・キャッシュ10cは、さらにメモリ・バス10f
を介して中央メモリ10d及び入出力インタフェース・
ユニット(IOIU)10eへ接続される。メモリ・バ
ス10fは36ビットの2方向性3状態バスであって、
パリティ付きの4バイトから成る。メモリ制御10gは
メモリ制御バス10hを介して中央メモリ10dへ接続
され、またIOIU 10eとインタフェースする。メ
モリ制御バス10hは10本の制御線又はハンドシェー
ク線から成る。これらの線に含まれる信号は、メモリ指
令時間、カード選択、メモリ・バッファ時間、メモリ・
データ・ストローブ、メモリ・データ有効、メモリ禁
止、メモリ・リフレッシュ時間、入力パリティ・エラ
ー、ECCエラー、訂正済みエラー及び3つのクロック
である。またIOIU10eは、調停論理10iとイン
タフェースする。リフレッシュ論理10xは調停論理1
0iの内部に設けられる。調停論理10iは線2を介し
て命令キャッシュ10bからアクセス要求を受取り、ま
た線1を介してデータ・キャッシュ10cからアクセス
要求を受取る。さらにIOIU 10eは、アダプタ・
バス10nを介して、第1ないし第4の入出力インタフ
ェース制御装置(IOIC 0−3)10j−10mへ
接続される。この実現例では、最大16個のIOICを
設けることができるが、図面を簡潔にするため第1a図
には4つのIOICだけが示されているにすぎない。調
停論理10iは、線3−6を介して、IOIC 1−I
OIC 4(10j−10m)からアクセス要求をそれ
ぞれ受取る。これらのIOICは、SPDバス10t−
10wを介して、種々の入出力サブユニット・プロセッ
サ10p−10sへそれぞれ接続される。以下、これら
の入出力サブユニット・プロセッサを単に「IOBU」
と呼ぶ。SPDバス10t−10wの各々は、最大32
個のIOBUに対するアドレッシング信号を処理するこ
とができる。調停論理10iは線7を介してメモリ制御
10gからアダプタ・バス10nのアクセス要求を受取
り、線8を介してリフレッシュ論理10xからアクセス
要求を受取り、線9を介してメモリ制御10gからプロ
セッサ・バス動作(PBO)のサイクル・スチール要求
を受取る。
第1a図に示した計算機システムの機能的動作を説明す
る。
IPU10aは、データ・キャッシュ10c内のデータ
を利用して、命令キャッシュ10b内の命令を実行す
る。この命令の実行結果は中央メモリ10dに記憶され
る。もしこの命令の実行結果をIOBU 10p−10
sのそれぞれへ転送することが必要であれば、メモリ制
御10gはかかる実行結果を中央メモリ10dから検索
し、これをIOIU 10eを介してアダプタ・バス1
0nへ転送するとともに、さらにIOIC 10j−1
0mを介してSPDバス10t−10w及びIOBU
10p−10sへ与える。しかし、命令キャッシュ10
b、データ・キャッシュ10c及び/又はIOIC 1
0j−10mが共有バス(メモリ・バス10f及びアダ
プタ・バス10n)のアクセスを同時に必要とすること
がありうる。かかる共有バスは一度に1つのアクセスを
処理しうるにすぎないから、特定の時点でどのユニット
がこの共有バスをアクセスしうるかを決定するために、
何らかの調停機構が利用されねばならない。このような
決定を行うため、アクセスを必要とする複数のユニット
(データ・キャッシュ10c、命令キャッシュ10b、
IOIC 10j−10m、メモリ制御10g及びリフ
レッシュ論理10x)の各々はアクセス要求信号を発生
し、これを線1−9を介して調停論理10iへ与える。
特定の調停手法に従って、調整論理10iは前記複数の
ユニットのうち共有バスをアクセスすべき特定のユニッ
トを決定する。
調停論理10iの詳細は1985年10月28日に米国
特許商標庁へ提出された米国特許出願第791647号
に記述されており、またIPU 10aの詳細は198
6年6月12日に米国特許商標庁へ提出された米国特許
出願第873731号に記述されている。これらの米国
特許出願はいずれも本出願人に譲渡されたものである。
第2図を参照するに、そこにはIOIC 10j−10
mの各々のブロック図が示されている。
各IOICは、アダプタ・バス10nとSPDバス10
t−10wの各々との間に介在する。アダプタ・バス1
0nはシステム・クロックを使用してデータを転送する
同期式バスであり、SPDバス10t−10wはIOI
C 10j−10mの各々とIOBU 10p−10s
の各々との間の「ハンドシェーキング」によって決まる
速度でデータを転送する非同期式バスである。アダプタ
・バス10nとSPDバス10t−10wのデータ転送
速度がそれぞれ異なるため、IOIC 10j−10m
の各々は受信したすべてのデータ及び制御情報をバッフ
ァしなければならない。こうしないと、高速のアダプタ
・バス10nが低速のSPDバス10t−10wをオー
バランするからである。
第2図において、IOIC 10j−10mの各々は、
アダプタ・バス10nとSPDバス10t−10wの各
々との間に介在するように図示されている。各IOIC
を構成する要素には:アダプタ・バス10n及びSPD
バス10t−10wの1つへ接続されたレジスタ及びバ
ッファ部20と;レジスタ及びバッファ部20並びにア
ダプタ・バス10nへ接続されたアダプタ・バス制御3
0と;レジスタ及びバッファ部20、アダプタ・バス制
御30並びにSPDバス10t−10wの1つへ接続さ
れたSPDバス制御40と;SPDバス制御40、アダ
プタ・バス制御30及びSPDバス10t−10wの1
つへ接続されたバス制御ユニット(BCU)50があ
る。
各IOICのレジスタ及びバッファ部20は、複数のレ
ジスタ及び複数のバッファを含む。これらのレジスタ
は、IOIU 10e及びIOBU10p−10sから
のデータを保持するために使用される。これらのレジス
タは、データを保持することに加えて、このデータを使
用して指令を発生するとともに、当該IOICの動作に
関連するステータス情報を保持する。前記バッファはS
PDバス10t−10w又はアダプタ・バス10nから
与えられたデータを保持するために使用されるが、これ
らのバッファは前記レジスタとは対照的に、かかるデー
タを一方のバスから他方のバスへ渡すことができるま
で、これを保持するにすぎない。一般に、各IOICの
レジスタ及びバッファ部20は、アダプタ・バス10n
からSPDバス10t−10wへ、又はSPDバス10
t−10wからアダプタ・バス10nへデータを転送す
るために、当該IOICが必要とするすべての情報を保
持するために使用される。レジスタ及びバッファ部20
は、アダプタ・バス制御30及びSPDバス制御40に
よって制御される。これらの制御30及び40は互いに
干渉せず、それぞれの機能を同時に遂行することができ
る。これらの制御30及び40は、レジスタ及びバッフ
ァ部20が使用されている間、その重ね書きを禁止す
る。パリティが検査され、新しいデータをバッファへセ
ットするとき正しいパリティが発生されるので、該バッ
ファ内に不正なパリティが存在することはない。
アダプタ・バス制御30は、アダプタ・バス10nと授
受するデータに関連して、レジスタ及びバッファ部20
のすべてのゲート及びセット動作を制御する。またこの
制御30は、IPU 10aからIOIU 10eを介
してIOIC 10j−10mへ転送されるすべての指
令を解読し、これらの機能を制御するか、又は当該指令
がユニット動作である場合には、その情報をSPDバス
制御40へ送信する。アダプタ・バス制御30はアダプ
タ・バス10nを要求し、そしてIOBU 10p−1
0sに関連するメモリ動作のためにアダプタ・バス10
nとのデータ授受を制御する。
SPDバス制御40は、SPDバス10t−10wとの
データ授受に関連して、レジスタ及びバッファ部20の
すべてのゲート及びセット動作を制御する。またこの制
御40はIOBU 10p−10sからIOIC 10
j−10mへ与えられるすべての指令を解読し、それら
の機能を制御する。さらに、SPDバス制御40は中央
メモリ10dへのメモリ動作に関連するメモリ動作コー
ドと開始アドレスを発生する。メッセージ受領及びメモ
リ動作を行うため、SPDバス制御40は情報をアダプ
タ・バス制御30へ送る。これは前記動作から生じたデ
ータをアダプタ・バス10nを介して中央メモリ10d
へ送信しうるようにするためである。
各IOICのBCU 50は、SPDバス10t−10
wに対するIOBU 10p−10sのアクセスを調停
するとともに、SPDバス上の機能を監視する。BCU
50はプログラマブル・タイマを含む。もしSPDバ
スの動作が非常に長時間を要するか、又はハング・アッ
プ(立往生)すれば、当該動作はタイムアウトとなっ
て、SPDバスを回復することができる。SPDバス1
0t−10wで直接選択動作を生ぜしめることができる
のは、BCU 50だけである。IOIC 10j−1
0mの各々はそれぞれBCU 50を含んでいるから、
そのアドレスはそれぞれのSPDバス10t−10wで
常に“00”である。
次に第2図を参照して、IOIC 10j−10m、ア
ダプタ・バス10n及びSPDバス10t−10wの機
能的動作を概説する。
ここで、指令及び/又はデータを第1a図の中央メモリ
10dからIOBU 10p−10sの1つへ転送しな
ければならないものと仮定する。IOIU 10eは、
データを1つのIOICへ転送するように、これを中継
する。アダプタ・バス10nは同期式バスであるから、
IOIU 10e内のデータはアダプタ・バス10nを
介して当該IOICのレジスタ及びバッファ部20へク
ロック入力される。アダプタ・バス制御30はアダプタ
・バス10nからデータを検索する動作を制御するとと
もに、このデータをレジスタ及びバッファ部20へ記憶
する動作を制御する。バッファが充満状態となる場合、
アダプタ・バス制御30はその旨をSPDバス制御40
に通知する。SPDバス制御40はその応答をBCU
50に与える。BCU 50はSPDバス10t−10
wへのアクセスを調停するものであるから、BCU 5
0は、SPDバス制御40がSPDバスを要求した後に
このバスをいつアクセスしうるかを決定する。SPDバ
スをアクセスするための比較的高い優先順位を有する他
のIOBU 10p−10sが存在しない場合、BCU
50はバス肯定応答(ACKB)信号をSPDバス制
御40へ与え、かくて該制御にSPDバス10t−10
wに対する次のアクセスを与える。しかし、SPDバス
制御40は、BCU 50からバス許可(BUSG)信
号を受取るまで、それ以上進行することはできない。S
PDバス制御40がBCU 50からBUSG信号を受
取ってSPDバスへのアクセスを与えられる場合、これ
はレジスタ及びバッファ部20に記憶されたデータをS
PDバスへ置くように制御する。
しかし、SPDバスは非同期式バスであるから、SPD
バス制御40はクロック手段を介してSPDバスにデー
タを置くことはせずに、ハンドシェーキング手段を介し
てSPDバスにデータを置くのである。かかるハンドシ
ェーキング手段は、以下に記述されている。
ハンドシェーキング手段は、本質的にマスタ/スレーブ
関係である。すなわち、IOICがマスタでIOBUが
スレーブとなることもあるし、IOBUがマスタでIO
ICがスレーブとなることもある。IOICがデータを
SPDバスに置いてこれをIOBUへ転送しようとする
場合、IOICがマスタでIOBUがスレーブである。
以下で記述するように、SPDバス10t−10wは、
アドレス/データ(A/D)バス、指令/ステータス
(C/S)バス及びオリジン/宛先(O/D)バスから
成る。当該IOICのレジスタ及びバッファ部20内に
あるデータがA/Dバス、C/Sバス及びO/Dバスを
介してSPDバスへ置かれる場合、当該IOICのSP
Dバス制御40及びSPDバスへ接続されたIOBUは
次の3つの信号、すなわちマスタ・ステアリング(MS
T)信号、マスタ選択(MSEL)信号及び作動可能
(RDY)信号を使用する。レジスタ及びバッファ部2
0からSPDバスにデータを置く前に、SPDバス制御
40はそのすべてのIOBUに対しMST信号を発生す
る。MST信号は、私がバスを専有する」旨を通知す
る。従って、前述の例では、マスタIOICのSPDバ
ス制御40は、BCU 50内の調停手段へMST信号
を転送し、これによりマスタIOICがSPDバスへの
アクセスを有することを当該BCUに通知する。次い
で、SPDバス制御40は、レジスタ及びバッファ部2
0からSPDバスへデータを置く動作を制御する。次
に、SPDバス制御40は、そのすべてのIOBUへM
SEL信号を転送する。このMSEL信号は、「データ
がSPDバスに置かれ、有効である」旨を通知する。従
って、前述の例では、マスタIOICのSPDバス制御
40は、そのSPDバスへ接続され且つスレーブになろ
うとしているすべてのIOBUへ、MSEL信号を転送
する。すなわち、これらのIOBUに対し、データがS
PDバスに置かれたこと、そしてこのデータが有効であ
ることを通知するのである。所与のスレーブIOBUが
このデータを受取った場合、該スレーブIOBUは当該
データを転送したマスタIOICへRDY信号を戻す。
このRDY信号は、「私が貴方のデータを受取り、そし
て必要ならば、私自身のデータをSPDバスに置いた」
旨を通知する。従って、前述の例では、スレーブIOB
UはRDY信号をマスタIOICへ転送し、これにより
スレーブIOBUが転送データを受取ったこと、そして
もし必要ならば、それ自身のデータをマスタIOICへ
戻すように作動したことをマスタIOICに通知する。
SPDバスは非同期式バスであるから、スレーブIOB
Uからの応答は任意の時間に与えられる。
従って、マスタIOICがSPDバスに対するアクセス
を有することをMST信号を介してBCU 50に通知
した後、このマスタIOICはMSEL信号を介してス
レーブIOBUと「会話」することにより、データがS
PDバスに置かれたことを指示し、一方、スレーブIO
BUはRDY信号を介してマスタIOICと「会話」す
ることにより、データが受取られたこと、そしてもし必
要ならば、他のデータがこのマスタIOICへ戻される
つつあることを指示する。
第3図を参照するに、そこには第1図の一部が図示され
ている。第3図において、1対のIOBU、すなわち1
0p−10sの1つは、所与のSPDバス、すなわち1
0t−10wの1つを介して、所与のIOIC、すなわ
ち10j−10mの1つへ接続される。またこのIOI
Cは、アダプタ・バス10nを介して、調停論理10i
/IOIU 10e/メモリ制御10gにも接続され
る。IOBU 10p−10sの各々は、その物理的部
分として、インタフェース部分12及び主部分を含む。
但し、主部分とは、このIOBUからインタフェース部
分12を取除いたものに相当する。またIOIC 10
j−10mの各々は、その物理的部分として、SPDバ
ス側のインタフェース部分12、アダプタ・バス側のイ
ンタフェース部分14及び主部分を含む。但し、IOI
Cの主部分は、このIOICからインタフェース部分1
2及び14を取除いたものに相当する。また調停論理1
0i/IOIU 10e/メモリ制御10gも、インタ
フェース部分14及び主部分を包含する。この主部分
は、調停論理10iと、IOIU 10eと、メモリ制
御10gの集合体から、インターフェース部分14を取
除いたものに相当する。第3図を参照するに、SPDバ
ス10t−10wはIOIC 10j−10m及びIO
BU 10p−10sの両者とインタフェースしなけれ
ばならないから、IOIC及びIOBUと関連するイン
タフェース部分12は互いに同じでなければならない。
さらに、IOIC及びIOBUに関連するインタフェー
ス部分12は、構造的及び機能的に、SPDバスの構造
及び機能と同じでなければならない。同様に、IOIC
及び調停論理10i/IOIU 10e/メモリ制御1
0gに関連するインタフェース部分14は互いに同じで
なければならず、また構造的及び機能的にアダプタ・バ
ス10nの構造及び機能と同じでなければならない。
アダプタ・バス10n及びSPDバス10t−10wの
構造及び機能については、以下で詳述する。
以下では、次の各事項をそれぞれ項分けして詳述するこ
ととする。
−IOICの構造及び機能 −調停論理10i、IOIU 10e及びメモリ制御1
0gを含むメモリ・コントローラの構造及び機能 −SPDバスの構造及び機能 −SPDバス10t−10w、IOIC、アダプタ・バ
ス10n、メモリ・コントローラの綜合動作の説明 IOIC(第4図〜第23図) 第4図には、第2図のレジスタ及びバッファ部20がブ
ロック形式でが示されている。
第4図において、レジスタ及びバッファ部20は次の各
構成要素から成る。すなわち、アダプタ・アドレス/デ
ータ(A/D)バス10nを介してアダプタ・バス1
0nへ接続され且つSPDアドレス/データ(A/D)
バス10tを介してSPDバス10t−10wへ接続
された複数のデータ・バッファ20aと;アダプタA/
Dバス10nを介してアダプタ・バス10nへ接続さ
れ且つSPD A/Dバス10tを介してSPDバス
10t−10wへ接続された複数のメッセージ・バッフ
ァ20bと;キー/ステータス(K/S)バス10n
を介してアダプタ・バス10nへ接続され且つSPD
A/Dバス10tを介してSPDバス10t−10w
へ接続されたキー・バッファ20cと;アダプタA/D
バス10nを介してアダプタ・バス10nへ接続され
且つSPD A/Dバス10tを介してSPDバス1
0t−10wへ接続された複数のアドレス・レジスタ2
0dと;アダプタ・A/Dバス10nを介してアダプ
タ・バス10nへ接続されたセレクタ・バッファ20e
と;SPD A/Dバス10tを介してセレタク・バ
ッファ20e及びSPDバス10t−10wへ接続され
た選択データバッファ20fと;アダプタA/Dバス1
0n及びK/Sバス10nを介してアダプタ・バス
10nへ接続され且つSPD A/Dバス10t、オ
リジン/宛先(O/D)バス10t及び指令/ステー
タス(C/S)バス10tを介してSPDバス10t
−10wへ接続された複数のステータス・レジスタ20
gと;アダプタA/Dバス10nを介してアダプタ・
バス10nへ接続された宛先選択レジスタ20hと;O
/Dバス10tを介して宛先選択レジスタ20h、S
PDバス10t−10w及びステータス・レジスタ20
gへ接続され且つC/Sバス10tを介してSPDバ
ス10t−10w及びステータス・レジスタ20gへ接
続された指令レジスタ20iと;SPD A/Dバス1
0tへ接続された診断バッファ20jとから成る。
一般的に云えば、これらのバッファ20a、20b、2
0C、20e、20f及び20jは、SPDバス10t
−10wとアダプタ・バス10nとの間で授受されるデ
ータを一時的に記憶するにすぎない。セレクタ・バッフ
ァ20e及び選択データ・バッファ20fはアダプタ・
バスからデータを受取り、これをSPDバスへ転送する
にすぎない。診断バッファ20jはSPDバスとデータ
を授受するにすぎない。これらのバッファはその記憶デ
ータを変更するものではない。データ・バッファ20a
は8つのデータ・バッファから成り、その各々は4バイ
トの幅を有する。この実現形態によれば、当該IOIC
がメモリ動作を行っているとき、データ・バッファ20
aは最大32バイトのデータ(パリティを含む)をバッ
ファすることができる。しかし、必要に応じて、追加の
32バイト・データをバッファすることができる。デー
タ・バッファ20aが使用されるのは、当該IOICが
メモリ及びメッセージ受領動作のスレーブとなっている
場合である。かかるデータ・バッファ20aとのデータ
路は4バイトの幅を有し、そのデータは当該IOICの
データ・バッファ20aへ送る前にIOBU 10p−
10sによってバイト整列されねばならない。
メッセージ・バッファ20bはメッセージ・バッファ1
及び2から成り、その各々は4バイトのデータ(パリテ
ィを含む)をバッファすることができる。メッセージ・
バッファ20bが使用されるのは、当該IOICがユニ
ット動作のマスタとなる場合である。これらのメッセー
ジ・バッファとのデータ路は4バイトの幅を有し、そし
て該メッセージ・バッファ内の情報はユニット動作の2
データ・サイクル中にSPD A/Dバス10t上の
データとなる。これらのメッセージ・バッファ20bに
関連して、4つのプロセッサ・バス動作(PBO)指令
がある。すなわち、「メッセージ・バッファ・レジスタ
1へのロード(LMBR1)」指令、「メッセージ・バ
ッファ・レジスタ・2へのロード(LMBR2)」指
令、「メッセージ・バッファ・レジスタ1へのコピー
(CMBR1)」指令、「メッセージ・バッファ・レジ
スタ2へのコピー(CMBR2)」指令がそれで、あ
る。メッセージ・オリジン・ステータス・ワード(MO
SW)の使用中ビットがオンである場合、これらのロー
ド命令は遂行されず、その代わりにIOIC使用中信号
がアダプタ・バス10nへ戻される。
キー・バッファ20cはパリティを含み5ビットの幅を
有し、IOIC 10j−10mがスレーブであると
き、選択サイクルの間にSPD A/Dバス10t
最初の5ビットをバッファするために使用される。この
データはメモリ保護とメッセージを受領可能なバッファ
の選択のために利用されるものであり、アダプタ・バス
10nのアクセス許可を受取った後にそのK/Sバス1
0nを介してIOIU 10eへ送られる。
セレクタ・バッファ20eはパリティを含み4バイトの
幅であり、命令プロセッサ・ユニット(IPU)10a
のRSレジスタからのデータをバッファするために使用
される。このデータは、PBO指令の指令時間サイクル
の後に、アダプタA/Dバス10nに現われる。セレ
クタ・バッファ20eは、この指令時間サイクルの後
に、IOIC 10j−10mの各々でセットされる。
選択データ・バッファ20fはパリティを含み4バイト
の幅を有し、セレクタ・バッファ20eからのデータを
セットされる。このセットが行われるのは、当該IOI
Cのアドレスがアダプタ指令時間にアダプタ・バス10
nに提示される宛先選択アドレスと一致し且つ当該IO
ICが使用中でない場合である。このバッファ20fか
らのデータは、IOIC 10j−10mがユニット動
作のマスタであるとき、選択サイクルの間にSPD A
/Dバス10tに置かれる。
診断バッファ20jはパリティを含み4バイトの幅を有
し、当該IOICがスレーブとなっており且つSPD循
環読取指令を行っているとき、選択サイクルの間にSP
D A/Dバス10tからのデータをセットされる。
この指令の2データ・サイクルの間、診断バッファ20
jの内容は当該IOICによってSPD A/Dバス1
0tへ駆動される。
選択サイクル・データ・サイクル及び循環読取指令の定
義については、本明細書の以下の記述を参照されたい。
アドレス・レジスタ20d、ステータス・レジスタ20
g、宛先選択レジスタ20h及び指令レジスタ20i
は、アダプタ・バス10n及びSPDバス10t−10
wからデータをロードされる。このデータは、IOIC
10j−10mの動作のために使用される。これらの
レジスタ内のデータはアダプタ・バス10n及びSPD
バス10t−10wの一方又は他方へ通されるが、IO
IC 10j−10mはこのデータがそれぞれのバスへ
通される前にこれを変更することができる。
第5図には、宛先選択レジスタ20hに関連する複数の
フィールドが示されている。このレジスタ20hは、パ
リティを含み4バイトの幅を有する。このレジスタは、
アダプタ指令(ADP CMD)、SPD指令(CM
D)、IOIC番号(IC#)、優先順位(PR)及び
SPD宛先アドレス(DEST)フィールドをそれぞれ
バッファするために使用される。このデータは、PBO
命令の指令時間サイクル中に、アダプタA/Dバス10
に置かれているものである。宛先選択レジスタ20
hは、指令時間サイクルの間に各IOICによってセッ
トされる。当該IOICはこのデータを検査してアドレ
スが一致するか否かを決定するとともに、指令の型を決
定する。
第4図の指令レジスタ20iは、パリティを含み4バイ
トの幅を有し、当該IOICのアドレスが一致し且つ当
該IOICが使用中でないとき、宛先選択レジスタ20
hからのデータをセットされる。選択サイクルの間、S
PD D/Sバス10t及びSPD O/Dバス10
のためのデータは、当該IOICがユニット動作の
マスタであるとき、このレジスタから与えられる。
アドレス・レジスタ20dは4つのアドレス・レジスタ
を含み、その各々はそれぞれ4バイトの幅を有する。こ
れらのレジスタは、最大で4つのメモリ指令及びアドレ
スを記憶するために使用される。当該IOICがスレー
ブである場合、選択サイクルの間にSPD A/Dバス
10t上のデータが第1アドレス・レジスタにセット
される。次に、SPDバス制御40は、SPDバス指令
及びアドレス・レジスタのバイト3を調べる。もし当該
指令がメモリ指令であれば、SPDバス制御40はメモ
リ指令を発生してこれを第1のアドレス・レジスタのバ
イト0に置く。もし、境界の制約のために、第1のメモ
リ指令がすべてのデータをデータ・バッファ20aに記
憶することができなければ、SPDバス制御40は新し
いメモリ指令及びアドレスを発生するとともに、これを
次のアドレス・レジスタのバイト0及び3に置く。1つ
のSPDメモリ動作中にバッファされたデータを記憶す
るには、最大4つのメモリ指令を必要とする。従って、
SPDバス制御40は最大4つの指令及びアドレスを発
生し、これらを4つのアドレス・レジスタに置く。SP
Dバス制御40は、読取りを行う場合、1つのメモリ指
令を発生する。従って、この読取りの間には、第1のア
ドレス・レジスタだけが使用される。バイト1及び2内
のデータは、メモリ指令発生手段によっては変更されな
い。
ステータス・レジスタ20gは複数のレジスタから成
り、これらのレジスタが保持するビットは或る命令を実
行することによって直接的にセットされるか、他のステ
ータス・ビットの論理ORであるか、又は当該IOIC
によってセットされる。幾つかのビットは結線式のもの
であって、コピーだけが可能である。以下の番号付きの
各項では、ステータス・レジスタ20g内の各レジスタ
が記述されている。
(1)メッセージ・オリジン・ステータス・ワード(M
OSW)レジスタ:第6図のMOSWは32ビットのス
テータスであって、当該IOICによって開始されたユ
ニット動作に関係するステータスを記録するため、この
IOICによって使用される。ユニット動作はMOSW
を使用して、使用中、エラー及び動作終了ステータスを
指示する。当該IOICが或るユニット動作を受諾する
場合、これはMOSWの動作終了(E)ビット、Bステ
ータス(BSTAT)データ終了ビット及び宛先(DE
ST)フィールドをリセットするが、その間MOSWの
使用中(B)ビットをセット状態に維持する。ステータ
ス・サマリ(S)ビットは、MOSW内の全エラー・ビ
ットの論理ORである。E及びSビットが両者とも1で
ある場合、動作終了割込み(EIS(5))が通知され
る。BSTATフィールドの内容はデータ・サイクルの
終了時にSPD C/Sバス10tで受取られ、かく
てBSTATフィールドは終了ステータスを保持する。
DESTフィールドの内容は、直接選択ユニット動作を
行っているときのデータ・サイクルの間に、SPD O
/Dバス10t上で受取られる。MOSWを読取るた
めのPBO指令には、「MOSWコピー(CMOS
W)」指令及び「MOSW移動(MMOSW)」指令の
2つがある。これらの命令は両者ともにMOSWを読取
るが、後者の命令はEビットを読取り且つこのEビット
が1状態にあることを決定した後、他のすべてのビット
をリセットする。
(2)メッセージ受領ステータス・ワード(MASW)
レジスタ:第7図のMASWは32ビットのワードであ
って、メッセージ受領動作に関係するステータスを記録
するために、当該IOICによって使用される。これ
は、メッセージ受領動作の一部として記憶される第4ワ
ードである。MASW内の指令(CMD)フィールドは
選択サイクル中のC/Sバスを表わし、IC番号(IC
#)は当該IOICのアドレスであり、オリジン(OR
IG)フィールドはメッセージ受領動作を生ぜしめたI
OBU 10p−10sのバス・アドレスである。
(3)モニタ・ステータス・ワード(MSW)レジス
タ:第8図のMSWは32ビットのワードであって、障
害分離のためにBCU 50の機能を支援するIOIC
によって使用される。MSWの内容が定義されるのは、
これがセットされる時間と次のSPDバス動作との間だ
けである。MSWは、それがセットされる時間に、SP
Dバス10t−10wの状態を記録する。第8図におい
て、タグ(TAGS)フィールドは、マスタ選択(MS
EL)、作動可能(RDY)、マスタ・ステアリング
(MST)、バス肯定応答(ACKB)及びバス許可
(BUSG)の状態を保持する。C/SフィールドはC
/Sバス10tを表わす或る番号を保持し、O/Dフ
ィールドはO/Dバス10tを表わす或る番号を保持
する。MSW内には3つのパリティ・エラー(P)ビッ
トがあり、該ビットはC/Sバス10t、O/Dバス
10t又はA/Dバス10tがMSWのセット時間
にパリティ・エラーを有していたことを指示する。調停
フィールドは、要求バス及び3本の要求優先順位線の状
態とともに、ボード選択線の状態を保持する。MSW
は、バス・タイムアウトに応じてセットされるか、又は
PBO命令のうち「MSWセット(SMSW)」命令の
実行結果に応じてセットされる。MSWを読取るための
PBO指令は「MSWコピー(CMSW)」指令であ
る。
(4)IOICステータス・ワード(ICSW)レジス
タ:第9図のICSWは32ビットのワードであって、
非同期式バスの事象に関係するステータスを記録するた
めに当該IOICによって使用される。第9図におい
て、ICSWは指令受信フィールド、ステータス・フィ
ールド及びタイムアウト・フィールドを含む。ユニット
動作中に当該IOICがバス・スレーブである場合、こ
れは1つの1を再開/アドレス要求/要求停止指令に対
する指令受信フィールド内の対応するビットと論理OR
する。ステータス・フィールドは、(ユニット動作及び
メモリ動作に対する)ユニット・チェック、メモリ・エ
ラー及びバッファ使用不能のためのビットを保持する。
タイムアウト・ビットはタイムアウト時にセットされ、
タイムアウトの型(遊休/動作)を指示する。ステータ
ス・サマリ(S)ビットは、EIS(4)割込みを生起
するに必要なICSW内の全ビットの論理ORである。
ICSWに関連して、2個のPBO指令が存在する。そ
の1つは当該ワードを読取るための「ICSWコピー
(CICSW)」指令であり、他の1つはリセット可能
なビットをリセットするための「マスク使用ICSWリ
セット(RICSW」指令である。
(5)IOIC制御レジスタ(ICCR):第10図の
ICCRは初期設定状態フィールド、タイムアウト・フ
ィールド、ライン長(LL)フィールド、IOICステ
ータス及び制御フィールドを含む。ICCRは32ビッ
トのワードであって、IOICの機能を制御するため及
びステータスを与えるために使用される。またICCR
は、「ステータス即時読取」というSPD I/Oバス
指令を介して、他のIOBU 10p−10sへ戻され
るデータについてプログラミング・インタフェースを提
供するためにも使用される。タイムアウト・フィールド
は、タイムアウト時の当該IOICのステータスを保持
し、さらにタイムアウトを生ぜしめうる3つのエラーを
保持する。初期設定状態及びライン長(LL)フィール
ドは、当該IOICに対するステータス即時読取りを行
っているときに、IOBUによって必要とされるデータ
を保持する。初期設定状態ビットはPBO指令によって
セット及びリセットされ、またライン長フィールドは3
2バイトの長さを表わすようにセットされる。IOIC
ステータス及び制御ビット・フィールドは、ステータス
をプログラムへ通知するためか又は、IOICのプログ
ラム制御を可能にするため、IOICによって使用され
る。ステータス制御ビットは、調停許可、バス・クリア
付勢(ユニット動作及びメモリ動作に対する)作動可
能、BCU割当済み及びモニタ・クロック禁止である。
ICCRに関連して、3個のPBO指令がある。その1
は当該ワードを読取るための「ICCRコピー(CIC
CR)」指令であり、その2は状態及び制御ビットをセ
ットするための「マスク使用ICCRセット(SICC
R)」指令であり、その3はリセット可能なビットをリ
セットするための「マスク使用ICCRリセット(RI
CCR)」指令である。MOSWの使用中(B)ビット
がオンで且つIOIC使用中信号がアダプタ・バスへ戻
される場合、これらのセット及びリセット命令は遂行さ
れない。
第11図には、第2図のアダプタ・バス制御30がブロ
ック形式で示されている。
アダプタ・バス制御30は、アダプタ・バス10nとデ
ータを授受するに必要なIOIC 10j−10mの全
機能を制御するために使用される。これはPBO命令を
処理すること、当該IOICに対するアダプタ・バス・
サイクルを記録すること、当該IOICの適正なレジス
タ及びバッファとデータを授受することを含む。またア
ダプタ・バス制御30はK/Sバス10nからのステ
ータス情報を処理し、このステータスをステータス・レ
ジスタ20gに置くか、又はこれをSPDバス制御40
へ送ってC/Sバス10tへ置かせるように動作す
る。
第11図において、アダプタ・バス制御30はIOIC
突合せ論理30aを含み、該論理はSPD使用中(SP
D BUSY)信号およびハードウェア・アドレス信号
に加えてセレクタ・バッファ・データにも応答する。突
合せ論理30はIOIC肯定応答(IOIC ACK)
信号又はIOIC使用中(IOIC BUSY)信号を
出力する。PBO機能論理30bはIOIC突合せ論理
30aへ接続され、セレクタ・バッファ・データに応答
してステータス・レジスタ制御信号、指令バッファ・ロ
ード信号及びメッセージ・バッファ制御信号を発生す
る。PBOシーケンサ30cはPBO機能論理30bへ
接続され、アダプタ指令時間信号に応答してセレクタ・
バッファ・ロード信号を発生する。メモリ動作コントロ
ーラ30dはその入力としてアドレス・レジスタ・ビッ
ト、データ有効信号、IOIC許可信号及びアダプタ・
ステータス信号を受取り、そしてその出力としてデータ
・バッファ制御信号、アドレス・レジスタ制御信号、キ
ー・レジスタ制御信号、IOIC要求(REQ)信号、
SPDバス制御信号及びメモリ・ステータス信号を発生
する。
第11図のPBOシーケンサ30cについて云えば、或
るIOICへPBO命令が供給されることは第1図のI
OIU 10eから与えられるアダプタ指令時間信号に
よって通知される。この時間に、すべてのIOIC 1
0j−10mにあるPBOシーケンサ30cは、アダプ
タA/Dバス10nを起動/ゲートするため、第1サ
イクルの間にセレクタ・バッファ・ロード制御信号を発
生し、これによって第4図の宛先選択レジスタ20hを
付勢する。第2サイクルの間、PBOシーケンサ30c
はアダプタA/Dバス10nを、第4図のセレクタ・
バッファ20eへゲートする。またPBOシーケンサ3
0cは、PBO命令がPBO機能論理30bによって実
行される際、該命令のサイクルを記録する。
第11図のIOICアドレス突合せ論理30aに関し、
第4図の宛先選択レジスタ20hのIOIC#フィール
ドはPBO命令が指向された特定IOICのアドレスを
保持する。このアドレスは当該IOIC中のハードウェ
ア・アドレスと比較される。もし両アドレスが一致すれ
ば、IOIC突合せ論理30aは第4図の宛先選択レジ
スタ20hのアダプタ指令フィールドを調べて、この指
令の型を決定する。突合せ論理30aが探し求める指令
の型は、任意の時間に遂行可能なものと、SPDバスが
使用中でないときにのみ遂行可能なものとである。任意
の時間に遂行可能な指令は、一致状態が存在するとき、
常にIOIU 10eへIOIC肯定応答信号を送り返
す。他指令は、SPDバスが使用中(MOSW使用中ビ
ット)であるか式中かを決定しなければならない。もし
SPDバス10t−10wが使用中でなければ、IOI
C肯定応答信号が転送される。一方、SPDバス10t
−10wが使用中であれば、IOIC使用中信号が転送
される。IOIC 10j−10mは、IOIC使用中
信号をIOIC 10eへ送り返した後、当該PBO命
令を遂行しないし、これを保留することもない。
PBO機能論理30bについて云えば、これは第4図の
宛先選択レジスタ20hからアダプタ指令を取出してP
BO命令を解読する。もしPBO機能論理30bが或る
ユニット動作を解読するならば、これは指令バッファ・
ロード信号を使用して指令バッファにロードする。指令
バッファにロードするプロセスは、宛先選択レジスタ2
0hの内容を指令レジスタ20iへコピーすることと、
セレクタ・バッファ20eの内容を選択データ・バッフ
ァ20fへコピーすることを含んでいる。この情報は、
SPDバス制御40がSPDバスでその動作を完了する
に必要な情報である。PBO機能論理30bはMOSW
使用中ビット(第6図)をセットすることにより、現動
作が終了するまで他のユニット動作が受領されないよう
にする。またユニット動作の解読手段は、SPDバスを
使用するためPBO要求をSPD調停手段へ送る。ユニ
ット動作でないPBO命令のすべては、当該IOICの
レジスタ及びバッファ部20に作用しなければならな
い。PBO機能論理30bは、ステータス・レジスタ2
0b及びメッセージ・バッファ制御信号を使用して、ア
ダプタ・バス10nと正しいデータを授受するに必要な
すべての制御信号を発生する。
メモリ動作コントローラ30dについては、メッセージ
受領指令を含むメモリ指令は、IOIU 10eからア
ダプタ・バス10nを要求することによって開始され
る。アダプタ・バス10nをアクセスするためにメモリ
動作コントローラ30dによって行われる要求には、指
令要求(IOIC指令要求)と通常の要求(IOIC要
求)の2種類がある。SPDバス制御40は、メモリ動
作コントローラ30dに対し、その要求を送るべき時間
を知らせる。バスを要求した後、IOIU 10eから
IOIC許可信号が受取られてアダプタ・バス10nへ
当該IOICのアクセスを与えるまで、何事も生じな
い。この許可信号が受取られて有効化される場合、この
要求が落とされ且つメモリ動作カウンタが開始する。I
OIC許可信号を受信した後のサイクル中、アドレス・
レジスタ制御信号は当該指令及びアドレスをアダプタA
/Dバス10nへゲートし、またキー・レジスタ制御
信号はキーをK/Sバス10nへゲートする。指令及
びアドレスが調べられた後、データ・バッファ制御信号
は、このアドレスの最後バイトから与えられるデータ・
バッファ・ポインタを使用して、データ・バッファ20
aとアダプタ・バス10nとの間でデータを移動する。
このデータが移動された後、メモリ動作コントローラ3
0dはK/Sバス10n2上のステータスを待機すると
ともに、データ・バッファ20a内のデータを移動する
ために他のメモリ動作が必要であるか否かを検査する。
もしそれ以上のデータ移動が必要であれば、メモリ動作
コントローラ30dはアダプタ・バスに対する要求(具
体的にはIOIC要求信号)で以て新しいメモリ動作を
開始させるとともに、次のアドレス・レジスタ20d内
の指令及びアドレスを使用する。すべてのデータが移動
された後、メモリ動作コントローラ30dはSPDバス
制御40にその終了ステータスを与える。
第12図には、第2図のSPDバス制御40及びバス制
御ユニット(BCU)50が再び図示されている。
SPDバス制御40及びBCU 50はSPDバスのた
めのIOICコントローラであって、バス調停やプロセ
ッサが開始したバス動作やメモリ転送を管理するもので
ある。第12図はSPDバス制御40及びBCU 50
を高レベルの次元で示している。これは2種類の動作を
遂行しなければならない。SPDバス制御40はIOI
Cバス機能のための制御ユニットを含む。これらの機能
には、メモリ動作、メッセージ動作及びユニット動作の
処理が含まれる。SPDバス制御40はタグのハンドシ
ェーキングを遂行しなければならず、またデータ流論理
(IOIC内のレジスタ及びバッファ部20)へ適正な
バス制御信号及びデータ有効指示を与えなければならな
い。(A/Dバス・ドライバが物理的に設けられてい
る)データ流論理へ制御信号を供給することに加えて、
SPDバス制御40はO/Dバス及びC/Sバスを駆動
し且つ受信する直接の責任を有する。BCU 50はバ
ス調停(或るバス・ユーザから他のバス・ユーザへ制御
を秩序正しく渡すこと)を制御するものであって、各バ
ス動作が完了するまでの時間を記録するために使用され
る複数のタイマを含んでいる。これらのタイマの使用に
係る他の目的は、或るバス・ユーザがSPDバス10t
−10wの動作を停止した理由を決定することである。
第13図には、第2図及び第12図に示したSPDバス
制御40及び11の一層詳細な構成が示されている。
SPDバス制御40は4つのモジュール、すなわちスレ
ーブ制御ユニット40b、マスタ制御ユニット40a、
メモリ動作コード翻訳ユニット40c及びグローバル・
リセット制御40dから成る。スレーブ制御ユニット4
0bは、当該IOICがバス・スレーブであるときの制
御を与える。このモジュールはSPDバス上の或るIO
BUから受取られるマスタ選択(MSEL)タグに応答
して、作動可能(RDY)タグを発生する。
マスタ制御ユニット40aは、当該IOICがバス・マ
スタであるときの制御を与える。マスタ制御ユニット4
0aは恰かもIOBUであるかの如く調整ユニット(B
CU 50)へバス要求(REQB)信号を送り、これ
に応答して調停信号であるバス許可(BUSG)タグ及
びバス肯定応答(ACKB)タグを受取る。SPDバス
の制御を獲得する場合、マスタ制御ユニット40aはM
SELタグ線及びマスタ・ステアリング(MST)タグ
線を駆動し、そしてRDYタグを受取ることを予期す
る。BCU 50から見れば、マスタ制御ユニット40
aは他のIOBUのように見える。その機能を遂行する
場合、マスタ制御ユニット40aは第4図のセレクタ・
バッファ20e並びに第4図及び第23図のメッセージ
・バッファ20bに関連するメッセージ・バッファ1
(MBR1)/メッセージ・バッファ2(MBR2)を
使用する。
メモリ動作コード翻訳ユニット40cは布線式の動作コ
ード翻訳ユニットを含み、またデータ流論理内のアドレ
ス・レジスタ20dにアドレス及びオペランドを保持す
るための制御ユニットを含む。このユニットが必要とな
るのは、SPDバス上のメモリ情報フォーマットが命令
プロセッサ・ユニット内のメモリ動作コード・フォーマ
ットと適合しないからである。
グローバル・リセット制御40dは、当該IOICが或
る動作を遂行した後又はバス・タイムアウトの後、この
IOICを最初の作動可能状態へ戻す。
第13図に示すように、スレーブ制御ユニット40b及
びマスタ制御ユニット40aは複数の通信線を有し、該
通信線は第2図のアダプタ・バス制御30並びにデータ
流論理内のレジスタ及びバッファ部20へ接続される。
これらのユニット40a及び40bはO/Dバス10t
及びC/Sバス10tに対するニーズを共有する。
メモリ動作コード翻訳ユニット40cはスレーブ制御ユ
ニット40bのための支援ハードウェアである。という
のは、動作コードの翻訳が必要となるのはスレーブ動作
中だからである。従って、メモリ動作を行なっている
間、これらのユニット間に制御信号が存在する。
第14図には、IOIC 10j−10m、BCU 5
0及びIOBU 10p−10sの他の編成図が示され
ている。
第14図において、BCU 50(SPD バス10t
−10wへのアクセスを決定するための調整手段)から
見れば、当該IOICは1つのIOBUとして見えるこ
とに注意すべきである。バス調停手段であるBCU 5
0が物理的に当該IOICの一部であるとしても、この
IOICは他のIOBUと同様にSPDバス10t−1
0wに対する調停を求めるのである。
アダプタ・バス制御30は、SPDバス制御40に対
し、プロセッサ・バス動作(PBO)が当該IOICへ
送られたことを通知する。第13図に示すように、マス
タ制御ユニット40aはREQB線を介して当該IOI
CのSPDバス要求線をオンにセットする。この線がセ
ットされる場合、当該IOICは他のIOBUと同様に
SPDバスの使用に対する調停を求めることになる。
第15図には、第13図に示したマスタ制御ユニット4
0aの一層詳細な構成が示されている。マスタ制御ユニ
ット40は第4図の指令レジスタ20iを含み、該レジ
スタはO/Dバス10t及びC/Sバス10tへ接
続され、また解読手段40a(1)を有する制御索引
テーブル40aにも接続される。制御索引テーブル4
0aは、直接選択動作制御40a、ユニット書込動
作制御40a及びユニット読取動作制御40aへ接
続される。これらの制御40a、40a及び40a
の各々は、ステータス・ロギング制御40a、タグ
制御40a並びにバス捕捉要求及びポール制御40a
へ接続される。
第15図において、指令レジスタ20iがロードされる
場合、制御索引テーブル40aは、指令レジスタ20
iの内容に応答して、遂行すべき動作の型を表わす直接
選択動作制御40a、ユニット書込動作制御40a
又はユニット読取動作制御40aを選択する。直接選
択動作制御40a、ユニット書込動作制御40a
びユニット読取動作制御40aの各々は、以下で記述
するように特定の型の動作を遂行する。またこれらの各
制御はステータス指示手段を含み、該手段はステータス
・ロギング制御40a及びタグ制御40aを付勢す
る線へ接続される。
タグ制御40aはマスタ選択(MSEL)信号及びマ
スタ・ステアリング(MST)信号を発生するととも
に、作動可能(RDY)信号を受取る。バス捕捉要求及
びポール制御40aはSPDバス10t−10wへの
アクセスを要求するバス要求(REQB)信号を発生
し、またこれに応答して、REQB信号の受信を通知す
るバス肯定応答(ACKB)信号と、SPDバス10t
−10wへのアクセスをマスタ制御ユニット40aへ許
可するバス許可(BUSG)信号とを受取る。
第16図には、第4図及び第15図に示した指令レジス
タ20iのビット・レイアウトが示されている。
第16図において、指令レジスタ20iの下位バイトは
当該IOICにSPD C/Sバス情報を与え、他方、
上位バイトはIOICバス要求の優先順位レベル及びO
/Dバス情報を与える。第4図及び第5図に示した宛先
選択レジスタ20hの複数ビットは、指令レジスタ20
iへ転送される。第16図において、数字5−7、11
−17、27−31は指令レジスタ20iへ転送される
宛先選択レジスタ20hのビットを表わす。PBはパリ
ティ・ビットであり、SPRはスペアである。
第17図には、第13図に示したスレーブ制御ユニット
40bの一層詳細な構成が示されている。
第17図において、スレーブ制御ユニット40bは解読
手段40b1(1)を有する制御索引テーブル40b1
を含み、このテーブルの一端はO/Dバス10t及び
C/Sバス10tへ接続され、他端はメモリ動作制御
40b、ユニット書込動作制御40b及びユニット
読取動作制御40bへ接続される。メモリ動作制御4
0bは、第13図のメモリ動作コード翻訳ユニット4
0cと通信する。メモリ動作制御40b、ユニット書
込動作制御40b及びユニット読取動作制御40b
は、タグ制御40b並びにエラー及びロギング制御4
0bへ接続される。
スレーブ制御ユニット40bのタグ制御40bは、R
DY信号を発生し且つMSEL信号を受取る。SPD
バス上で最大のデータ速度を維持するために、タグ制御
40bは完全に非同期的なタグ線のハンドシェーキン
グを実現する。これはこの設計の特徴をなすものであ
る。非同期−同期インタフェーシングに付随する問題
は、アダプタ・バス・インタフェースの箇所で隔離され
る。こうることにより、SPDバス制御40はその動作
を非同期的に行うことができるようになる。スレーブ制
御ユニット40bが処理しなければならないSPDバス
動作には、下記に示す2種類のものがある。
ユニット動作…これはマスタIOICに関するユニット
動作と同じモードの動作であるが、スレーブIOICを
有するIOBUによって開始される。
メモリ転送…当該IOICは常にスレーブ、すなわちメ
モリ転送要求の受信者である。当該IOICは1つのS
PDバス動作の間に1ないし32バイトの情報を読取っ
たり、又は書込んだりする。
第17図において、制御索引テーブル40bは解読手
段40b(1)を介してC/Sバス10tからの指
令を解読し、そして当該指令を遂行するに必要な適正な
制御を付勢する。これらの制御には、メモリ動作制御4
0b、ユニット書込動作制御40b及びユニット読
取動作制御40bの3種類がある。これらの各制御
は、以下で詳述されている。
ユニット動作−すべてのユニット動作は3サイクルの持
続時間を有し、1動作ごとにタグ線のハンドシェーキン
グが3回生ずる。データ流論理内の関係するレジスタに
ステータス・ビットをセットするに必要な制御信号は、
内部バス(ステータス情報を駆動していない場合は宛先
選択レジスタ20hの内容を受取る)を介して送られ
る。ユニット動作の幾つかのものは、ハードウェアで解
釈される指令である。これらの指令を受取る際、当該I
OICは或るステータス・ビットをセットし、IPU
10aへの割込みをトリガして、当該IOICがこれら
の指令のうち1つを受取ったことを指示する。しかし、
これはタグ線のハンドシェーキングを発生することを除
くと、他のハードウェア手段又は制御シーケンシングを
含んでいない。これらの指令はD4ないしD7である。
メッセージ受領指令は、SPD C/Sバス10t
の動作コードCOないしCFを含む。これらの指令は
(機械が中央メモリ10c内にメッセージ・バッファ領
域を実現する様式に起因して)他のユニット書込指令と
は異なった態様で処理される。この動作は、長さが16
バイトのメモリ書込と同じに見えるようにされる。しか
し、16バイトの書込みを行うためのメモリ動作コード
を送るかわりに、当該IOICは‘OA’を送ることに
より、メモリ制御10gに対し、これがSPDバスから
の書込メッセージ指令であり且つメッセージ・バッファ
領域に従って処理されねばならないことを指示する。こ
の型の動作を処理するため、IOICには特定の制御線
が設けられている。
メモリ動作−メモリ転送は幾つかの動作が当該IOIC
内で同時に生ずることを必要とする。従って、この動作
全体を適正にシーケンスするのに必要な多数の制御線が
設けられる。さらに、チップ・ドライバの技術上の制約
に起因して、必要なすべてのデータ線が1チップ上に設
けられるわけではないから、設計が一層複雑になる。こ
の動作は、3つの異なる部分(データ流、メモリ動作コ
ードの発生及び中央メモリ10cのアクセス)に区分す
ることができる。中央メモリ10cに対する書込指令の
場合、最初の2つの部分は並行に行われる。第3の部分
は第11図のアダプタ・バス制御30によって実現され
る。
以下、第17図を参照して、スレーブ制御ユニット40
bの機能を説明する。
第4図に示したIOIC内のレジスタ及びバッファ部2
0は、SPD A/Dバス10tを受取る。レジスタ
及びバッファ部20の幅は4バイトで、深さは8レジス
タであるから、全部で32バイトのデータを保持するこ
とができる。各レジスタは1バイト長であり、従ってバ
ッファ・アドレス・ビットはSPD A/Dバス10t
のビット27−29から取られる。選択サイクルの
間、このアドレスの下位バイトはレジスタ及びバッファ
部20からスレーブ制御ユニット40bへ転送される。
スレーブ制御ユニット40bのメモリ動作制御40b
はこのアドレスをクロック入力し、開始バッファ・アド
レスを決定し、そして書込みの場合は、SPD A/D
バス10tからバッファ部20へデータをロードする
ための制御信号及びクロックを供給する。適正な数のデ
ータ・サイクルがバッファ部20へクロック入力された
場合、メモリ動作制御40bは複数の信号を与えると
ともに、データ入力終了信号を付勢することによってバ
ッファ部20がロードされたことを指示する。メモリ読
取指令の場合、メモリ動作制御40bはアダプタ・バ
ス制御30からの信号を待機する。この信号(RDY付
勢)を受取ると、メモリ動作制御40bはデータ・バ
ッファ20aのクロック出力を開始アドレスから開始さ
せ、そして適正な数のデータ・サイクルが経過したこと
を検出するときこれを終了させる。
次に第18図を参照して、第4図のデータ・バッファ2
0aに関連するアドレッシング手法を説明する。
第18図において、データ・バッファ20aに対するア
ドレッシングは、A/Dバス10tを介して要求中I
OBUから与えられる開始アドレスによって直接的に行
われる。データ・バッファ20aはワード・アドレスさ
れるから、これらのビットは(A/Dバス10tを介
してレジスタ及びバッファ部20に受取られる)バッフ
ァ・ワードのアドレス・ビット27−29に対応する。
この実現形態から理解しうることは、開始アドレスが3
2バイトの境界(即ち、下位5アドレス・ビットが00
000)で開始し且つ1つのSPDバス動作を行う場合
には次の32バイト境界(下位アドレス・ビットが11
111)で終了しなければならない、ということであ
る。
第19図には、第13図に示したメモリ動作コード翻訳
ユニット40cの一層詳細な構成が図示されている。
第19図において、メモリ動作コード翻訳ユニット40
cは布線式制御ユニット40c1を含み、該ユニットは
ハードウェア・アシスト翻訳ユニット40c2へ接続さ
れる。ハードウェア・アシスト翻訳ユニット40c2は
アドレス(バイト3)40c3とバイト・カウント40
c4を受取り、そして新しいアドレス(バイト3)40
c5と新しいバイト・カウント40c6を発生する。ま
たこのハードウェア・アシスト翻訳ユニット40c2は
メモリ動作コード40c7をも発生する。アドレス(バ
イト3)40c3は開始アドレス40c8を受取る。
メモリ動作コード翻訳ユニット40cに関し、当該IO
ICは適正な動作コードを発生するとともに、データを
中央メモリ10dが受領可能なパケットへフォーマット
化しなければならない。しかし、SPDバス上の1つの
メモリ動作について、最大4つの異なるメモリ転送動作
が発生されることがありうる。この理由で、アドレス・
レジスタ20dの動作コード・スタックは4命令の深さ
を有する。当該IOICがメモリ書込指令を受取る場
合、メモリ動作コード翻訳ユニット40cは開始アドレ
スとバイト・カウントをロードされる。この情報に基い
て、メモリ動作コード翻訳ユニット40cは動作コード
を作成し、これを動作コード・スタックへロードすると
ともに、動作コード入力終了信号を付勢することにより
アダプタ・バス制御30に対し該翻訳ユニットが動作コ
ードの発生を完了したことを通知する。これとは対照的
に、メモリ読取指令は(当該指令又はバイト・カウント
に拘わりなく)唯一つの動作コードを発生ぜしめる。メ
モリ動作コード翻訳ユニット40cはメモリ読取動作コ
ードのリストを取出し、与えられた指令及びバイト・カ
ウントについて「最良の適合(best fit)」を
行う。中央メモリ10dからデータを受取った後、当該
IOICは必要なバッファのみをクロック出力する。も
し動作がメモリ書込みであれば、アダプタ・バス制御3
0は動作コード入力終了信号及びデータ入力終了信号の
両者が活勢であることを検出した後、中央メモリ10d
へのアクセスを開始する。メモリ読取りについては、ア
クセスを開始するために、動作コード入力終了信号のみ
が活勢である必要がある。メモリ動作コード翻訳ユニッ
ト40cを実現した高レベルの論理は、第19図に示さ
れている。第19図において、開始アドレス・レジスタ
40c8は、SPDバス動作の選択サイクルの間に、第
17図のメモリ動作制御40b2によって情報をロード
される。このレジスタは、翻訳ユニット40cによって
使用される一時的な保持レジスタであるにすぎない。翻
訳ユニット40cが付勢されるとすぐに、この情報は入
力レジスタ、すなわちアドレス(バイト3)レジスタ4
0c3へクロック入力される。バイト・カウント・レジ
スタ40c4も同様に、選択サイクルの間にSPD C
/Sバスから情報をロードされる。このレジスタは、新
しい動作コードが発生される都度、新しいデータで更新
される。この新しいデータは、サービス中のメモリ転送
に対する残りのバイト・カウントを表わす。前述と同様
に、アドレス(バイト3)レジスタ40c3は、発生さ
れたメモリ動作コードに関連する次の開始アドレスを表
わす。ハードウェア・アシスト翻訳ユニット40c2
は、特別に設計された演算論理ユニット(ALU)であ
る。布線式制御ユニット40c1、出力レジスタである
新アドレス(バイト3)レジスタ40c5及び新バイト
・カウント・レジスタ40c4、入力レジスタであるア
ドレス(バイト3)レジスタ40c3及びバイト・カウ
ント・レジスタ40c4、結果的なメモリ動作コードに
加えて、当該ユニット全体はマイクロ命令の翻訳手段及
び発生手段として機能する。以下、第19図及び第20
図を参照して、このメモリ動作コード翻訳ユニット40
cの機能を説明する。
第20図には、第4図に示したアドレス・レジスタ20
dのレイアウトが一層詳細に示されている。
第20図において、アドレス・レジスタ20dには4つ
のアドレス(1つの開始アドレスと3つの更新アドレ
ス)が記憶される。またアドレス・レジスタ20dに
は、4つの動作コードも記憶される。たとえば、第20
図において、4つの動作コードは第4図及び第20図の
第1動作コード部OP1、第2動作コード部OP2、第
3動作コード部OP3及び第4動作コード部OP4へそ
れぞれ記憶される。同様に、4つのアドレスは第20図
の第1アドレス部Ad1、第2アドレス部Ad2、第3
アドレス部Ad3及び第4アドレス部Ad4へそれぞれ
記憶される。アドレス・レジスタ20dが4つのアドレ
スを記憶するのは、次の理由による。すなわち、中央メ
モリ10dに関連して使用されるメモリの型及び任意の
SPDメモリ動作に対するその一意的なメモリ命令フォ
ーマットに起因して、最大4つのメモリ命令が発生され
ることがあるからである。かくて、1つのSPD動作を
完了するのに中央メモリ10dに対する4つの異なる動
作が必要のになることがある。このため、アドレス・レ
ジスタ20dに記憶された4つのアドレスが必要となる
のである。メモリ転送は常に1つの32バイト・アドレ
ス境界内で行われるから、アドレス変更は下位バイトで
だけ行われるにすぎない。
次に、第19図及び第20図を参照して、メモリ動作コ
ード翻訳ユニット40cの機能的説明を行う。
布線式制御ユニット40c1が最初のメモリ動作コード
をクロック出力する場合、これはまずメモリ動作コード
・レジスタ40c7に記憶され、次いでスレーブ制御ユ
ニット40bを介して第20図に示した(レジスタ及び
バッファ部20の)アドレス・レジスタ20dの第1動
作コード部OP1へ記憶される。布線式制御ユニット4
0c1は、出力レジスタである新しいバイト・カウント
・レジスタ40c6がゼロ・カウント結果を保有するか
否かを決定する。もしそうでなければ、第19図の出力
レジスタ40c5及び40c6はそれらの対応する入力
レジスタ40c3及び40c4へ逆転送される。これら
の入力レジスタ40c3及び40c4へ逆転送されるア
ドレス及びバイト・カウントに基き布線式制御ユニット
40c1から与えられる制御信号に応答して、ハードウ
ェア・アシスト翻訳ユニット40c2では新しい1つの
アドレス及び新しい1つのバイト・カウントが生ぜられ
る。この新しいアドレスは新アドレス・レジスタ40c
5に置かれ、新しいバイト・カウントは新バイト・カウ
ント・レジスタ40c6に置かれる。また新しいメモリ
動作コードが生ぜられ、メモリ動作コード・レジスタ4
0c7に記憶される。前述の新しいアドレスは後に第2
0図の第2アドレス部Ad2に記憶され、新しいメモリ
動作コードは後にスレーブ制御ユニット40bを介して
(第20図のレジスタ及びバッファ部20の)アドレス
・レジスタ20dの第2動作コード部OP2に記憶され
る。次いで、布線式制御ユニット40c1は新しいバイ
ト・カウントがゼロであるか否かを決定する。もしそう
でなければ、レジスタ40c5及び40c6中の新しい
アドレス及び新しいバイト・カウントは再び入力レジス
タ40c3及び40c4へ逆転送され、そして布線式制
御ユニット40c1からの制御信号に応答して、他の新
しいアドレス及び他の新しいバイト・カウントがハード
ウェア・アシスト翻訳ユニット40c2で生ぜられる。
他の新しいアドレス及び他の新しいバイト・カウントは
第19図の出力レジスタ40c5及び40c6に置かれ
る。また他の新しいメモリ動作コートが生ぜられ、第1
9図のメモリ動作コード・レジスタ40c7に記憶され
る。前記他の新しいアドレスは第20図のアドレス・レ
ジスタ20dの第3アドレス部Ad3に記憶され、前記
他のメモリ動作コードはスレーブ制御ユニット40bを
介して第20図のアドレス・レジスタ20dの第3動作
コード部OP3に記憶される。布線式制御ユニット40
c1は前記他の新しいバイト・カウントを再審査してこ
れがゼロであるか否かを決定する。もし前記他の新しい
バイト・カウントがゼロであれば、制御ユニット40c
1は第17図のメモリ動作制御40b2に対し翻訳動作
の完了を指示し、かくて該制御は動作コード入力終了信
号を付勢する。
第21図には、第2図及び第12図に示したバス制御ユ
ニット(BCU)50の詳細な一層構成が示されてい
る。
BCU 50は調停制御ユニット50bへ接続されたス
キャン調整可能なバス動作タイマ50aを含み、該調停
制御ユニット50bはアーキテクチャ上のタイマのため
の布線式タイマーレングス・カウンタ50cへ接続され
ている。
BCU 50は、バス許可(BUSG)信号及び肯定応
答バス(ACKB)信号を発生するための調停制御ユニ
ット50bを含む。またBCU 50は、BUSG信号
及びACKB信号が存在するときバス・ユニット応答の
不在を検出するためのバス・アイドル・タイマを含む。
ステータス・ビットの設定はバス動作タイマ50aの一
部であるが、実際のタイマは調停制御ユニット50bに
存在する。調停制御ユニット50bは或る程度は独立型
の論理である。すなわち、このユニットはアーキテクチ
ャで定められたSPDバス線によって主として駆動され
るのである。しかしながら、ICCRビット17は内部
制御線であって、IPU10aが(ICCRセット指令
を通して)バス調停に関し或る制御を行うことを可能に
する。このビットがセットされると、SPDバスから到
来するすべてのバス要求のための調停が禁止される。当
該IOICは以前としてSPDバスについて調停を行う
ことが可能である。第21図において、BCU 50は
3つのモジュールから成り、その最初の2つは調停制御
ユニット50bとバス動作タイマ50aであり、該タイ
マはこれを4種類の時間長のうち任意の1つへセットし
うるプログラマブル制御回路を備えている。アーキテク
チャで定められたタイマのための布線式タイマーレング
ス・カウンタ50cは他の2つのタイマを含んでおり、
これらのタイマはそれぞれの動作に従って一定の長さを
有するように布線される。調停制御ユニット50bは幾
つかの組合せ論理回路及びラッチから成り、これらのラ
ッチはMSEL線及びMST線及びREQB線の状態に
従ってセットされる。当該ユニットは基本的に優先決定
回路であり、任意の時間に前述した3つのタグ線の状態
に応じてBUSG線及びACKB線をセット又はリセッ
トする。
第23図には、アダプタ・バス10nとのインタフェー
ス及びSPDバス10t−10wとのインタフェースを
含む、IOIC10j−10mの各々の一層詳細なブロ
ック図が示されている。図示の如く、各IOICはレジ
スタ及びバッファ部20、BCU 50、当該IOIC
のアダプタ・バス制御30及びSPD制御40を含む。
SPDバス10t−10wの各々は、SPD A/Dバ
ス10t、C/Sバス10t、O/Dバス10t
及び制御線グループ10tを含み、該グループはさら
に次の線を含む。バス要求(REQB)、バス肯定応答
(ACKB)、バス許可(BUSG)、モニタ・クロッ
ク、バス・クリア、ボード選択、マスタ・ステアリング
(MST)、スレーブ・レディ(RDY)、マスタ選択
(MSEL)及び電源オン・リセット(POR)。図示
の如く、アダプタ・バス10nはアダプタA/Dバス1
0n1、K/Sバス10n2及び制御線グループ10n
3を含み、該グループはさらに次の線を含む。指令時
間、データ有効、IOIC肯定応答(IOIC AC
K)、IOIC使用中(IOIC BUSY)、バス検
査、IOIC要求(IOIC REQ)、IOIC指令
要求(IOIC CMD−REQ)及びIOIC許可。
メモリ・コントローラ(第24図) 第1a図に示すように、アダプタ・バス10nはメモリ
・コントローラの一端と4つのIOIC 10j−10
mの各々との間で相互接続される。アダプタ・バス10
nは、アダプタ・アドレス/データ(A/D)バス10
n1、キー/ステータス(K/S)バス10n2及び制
御線グループ10n3を含む。メモリ・コントローラ
は、調停論理10i、入出力インタフェース・ユニット
(IOIC)10e及びメモリ制御10gを含む。メモ
リ・バス10f及びメモリ制御バス10hを含むメモリ
・インタフェースは、メモリ・コントローラの他端を中
央メモリ10dへ相互接続する。
第24図には、第1図のメモリ・コントローラの詳細な
構成が示されており、これは調停論理10i、IOIU
10e及びメモリ制御10gを含む。
第24図において、メモリ・インタフェースのメモリ制
御バス10hは次の線を含む。CEL、EEL、PT
Y、STG DV及びSTG CTLS。アダプタ・バ
ス10nの制御線グループ10nは次の線を含む。動
作終了、I/O REQ、I/O許可、アダプタ指令時
間、アダプタ・データ有効、IOIC使用中(IOIC
BUSY)、IOIC肯定応答(IOIC AC
K)、アダプタ・バス・チェック及びEIS−4。
調停論理10iは特開昭62−113261号公報に記
述されている。
メモリ制御10gにおいて:データ入力レジスタ60a
はメモリ・バス10fへ接続され;データ出力レジスタ
60bはデータ入力レジスタ60a及びメモリ・バス1
0fへ接続され;A−レジスタ60cの入力はメモリ・
バス10fへ、その出力はアダプタA/Dバス10n
及びDTMレジスタ60oへ接続され;B−レジスタ6
0dの入力はA−レジスタ60cの入力及びメモリ・バ
ス10fへ接続され、またアダプタA/Dバス10
、データ入力レジスタ60aの他の入力及び指令/
アドレス・レジスタ60iにも接続され、B−レジスタ
60dの出力はデータ出力レジスタ60bの出力及びデ
ータ入力レジスタ60aの出力を介してメモリ・バス1
0f及びアダプタA/Dバス10nへ接続され;また
指令/アドレス・レジスタ60iの入力はメモリ・バス
10f、データ入力レジスタ60aの入力、A−レジス
タ60cの入力及びB−レジスタ60dの入力へ接続さ
れ、指令/アドレス・レジスタ60iの他の入力はDT
Mレジスタ60oの入力、アダプタA/Dバス10
、370オフセット・レジスタ60j及びIOIU
10eのMBOROレジスタ/MBSWOレジスタ6
0pへ接続され、指令/アドレス・レジスタ60iの出
力は加算器60kの入力、キー・スタック・アレイ60
hのアドレス入力並びにデータ出力レジスタ60bの出
力及びデータ入力レジスタ60aの出力を介してメモリ
・バス10fへ接続され;370オフセット・レジスタ
60jの出力は加算器60kの他の入力へ接続され;加
算器60kの出力はキー・スタック・アレイ60h並び
にデータ出力レジスタ60bの出力及びデータ入力レジ
スタ60aを介してメモリ・バス10fへ接続され;キ
ー・スタック・アレイ60hの出力はキー・データ・レ
ジスタ60gの出力へ接続され;このキー・データ・レ
ジスタ60gの出力は更新論理60l及びエラー検出論
理60mの入力へ接続され;更新論理60lの出力はキ
ー・スタック・アレイ60hの入力へ接続され;エラー
検出論理60mの他の入力はメモリ制御バス10hへ接
続され;I/Oキー・レジスタ60fの入力はアダプタ
K/Sバス10nへ接続され、キー出力はエラー検出
論理60mの入力へ接続され、そしてNO−OFF(オ
フセットなし)出力は加算器60kのゼロ入力へ接続さ
れ;DTMレジスタ60oの出力はキー・スタック・ア
レイ60hへ接続され、また指令/アドレス・レジスタ
60iの出力、データ出力レジスタ60bの出力及びデ
ータ入力レジスタ60aの出力を介してメモリ・バス1
0fへ接続され;I/Oステータス・レジスタ60eの
入力はエラー検出論理60mの出力へ接続され、またそ
の出力はアダプタK/Sバス10nへ接続され;動作
終了サマリ・レジスタ60wの入力は制御線グループ1
0nの動作終了線へ接続され、またその出力はCPU
外部割込線へ及び複数のレジスタ(B−レジスタ60
d、DTMレジスタ60o、指令/アドレス・レジスタ
60i、加算器60k、データ出力レジスタ60b及び
データ入力レジスタ60a)を介してメモリ・バス10
fへ接続される。
IOIU 10eはメッセージ・バッファ・オリジン・
レジスタ0(MBOR0レジスタ)/MBSW0レジス
タ60pを含み;該レジスタの入力は370オフセット
・レジスタ60jの入力、メモリ制御10gのDTMレ
ジスタ60o及び指令/アドレス・レジスタ60iの入
力、メッセージ・バッファ・オリジン・レジスタ1(M
BOR1)/MBSW1レジスタ60gの入力及びIO
IUCRレジスタ60rの入力へ接続され;MBOR0
レジスタ60pの出力はMBOR1レジスタ60gの出
力及び比較論理60yの入力へ接続され;MBSW0レ
ジスタ60pの出力はMBSW1レジスタ60gの出
力、メモリ制御10gのエラー検出論理60mの他の入
力及びCPU外部割込線へ接続され;IOIUCRレジ
スタ60rの出力は比較論理60yの他の入力へ接続さ
れ、該比較論理の出力はMISレジスタ60tの或る入
力端子へ接続され;MISレジスタ60tの出力はAN
Dゲート60uの入力へ接続され、該ANDゲートの他
の入力はIOIUCRレジスタ60rの他の出力へ接続
され;また該ANDゲート60uの出力はCPU外部割
込線へ接続され;IUSWレジスタ60vの入力はIO
IU 10eの外部で制御論理60nの出力へ接続さ
れ;制御論理60nの他の出力はメモリ制御バス10h
のSTG CTLS線及びSTG DV線へ接続され、
また制御論理60nはエラー検出論理60mの出力端子
へ接続され、また制御論理60nは制御線グループ10
のうち次の線へ接続される。アダプタ指令時間、ア
ダプタ・データ有効、IOIC使用中、IOIC肯定応
答、アダプタ・バス・チェック。また制御論理60nは
IOIU 10eの外部で調停論理10iへ接続され、
該調停論理は制御線グループ10nのうち追加の線で
ある。動作終了、I/O要求(I/O REQ)、I/
O許可へ接続され、IUSWレジスタ60vの出力はI
OIU 10eの外部で制御線グループ10nのうち
残りの線であるEIS−4へ接続される。
IOIU 10e及びメモリ制御10gを含むメモリ・
コントローラの機能的動作については、本明細書中の第
f6項で説明し、また以下の第f4項でも説明する。こ
れらの動作は、(1)PBOメッセージ動作…コピー動
作及びロード動作、(2)メモリ動作…メモリ読取り、
メモリ書込み、読取り−変更−書込み、(3)メッセー
ジ受領動作を含む。
アダプタ・バス(第23図〜第25図、第28図〜第3
3図) 第23図において、IOIC 10j−10mは、非同
期式のSPDバス10t−10wと同期式のアダプタ・
バス10nとの間のインタフェースである。アダプタ・
バス10nは、入出力インタフェース・ユニット(IO
IU)10eと4つのIOIC 10j−10mとの間
の非同期式インタフェースである。このシステムでは、
最大16個のIOICを使用することができる。アダプ
タ・バス10nは、アドレス/データ(A/D)バス1
0n1、キー/ステータス(K/S)バス10n2及び
制御線グループ10n3から成る。
A/Dバス10n1は、36ビットの3状態2方向性バ
スであって、パリティ付きの4バイトから成る。
K/Sバス10n2は、3状態2方向性バスであって、
パリティ付きの5データ・ビットから成る。
第23図に示すように、各IOICの制御線グループ1
0n3は、データ流の方向、ハンドシェーキング及びエ
ラー情報を制御するために使用される6本の線を含む。
これらの線は次のとおりである。
アダプタ指令時間 アダプタ・データ有効 アダプタ・バス・チェック IOIC肯定応答(IOIC−ACK) IOIC使用中(IOIC BUSY) 外部割込要約(EIS)ビット4 また各IOICの制御線グループ10n3は次の線を含
む。
2本の要求線(IOIC REQ及びIOICCMS
REQ) 1本の許可線(IOIC許可) 1本の動作終了線(OP END EIS5)再び第2
3図を参照するに、A/Dバス10n1は、アダプタ・
バスの物理的部分である。以下では、A/Dバス10n
1を構成する各バイトを説明する。
アプタA/Dバス・バイト このバイトはT0からT0まで活勢であり、IOIC許
可信号が与えられた後のサイクルに「メモリ指令」を保
持する。メモリ書込指令の後、このバイトは最大8サイ
クルにわたってデータを保持する。IOIUからPBO
指令を受取る場合、このバイトはアダプタ指令時間に
「PBOアダプタ指令」を保持する。メモリ読取りのた
めにアダプタ・データ有効信号が活勢である場合、この
バイトはデータを保持する。当該IOICは、T2クロ
ックを使用してこのバスからデータをクロックする。
アダプタA/Dバス・バイト1 このバイトはT0からT0まで活勢であり、IOIC許
可信号が与えられた後のサイクルに、メモリ・アドレス
を保持する。メモリ書込指令の後、このバイトは最大8
サイクルにわたってデータを保持する。IOIUからP
BO指令を受取る場合、このバイトはアダプタ指令時間
に「I/O指令」を保持する。メモリ読取りのためにア
ダプタ・データ有効信号が活勢である場合、このバイト
はデータを保持する。当該IOICは、T2クロックを
使用してこのバスからデータをクロックする。
アダプタA/Dバス・バイト2 このバイトはT0からT0まで活勢であり、IOIC許
可信号が与えられた後のサイクルに、メモリ・アドレス
を保持する。メモリ書込指令の後、このバイトは最大8
サイクルにわたってデータを保持する。IOIUからP
BOを受取る場合、このバイトはアダプタ指令時間に
「優先順位レベル及びIOICアドレス」を保持する。
メモリ読取りのためにアダプタ・データ有効信号が活勢
である場合、このバイトはデータを保持する。当該IO
ICは、T2クロックを使用してこのバスからデータを
クロックする。アダプタA/Dバス・バイト3 このバイトはT0からT0まで活勢であり、IOIC許
可信号が与えられた後のサイクルにメモリ・アドレスを
保持する。メモリ書込指令の後、このバイトは最大8サ
イクルにわたってデータを保持する。IOIUからPB
O指令を受取る場合、このバイトはアダプタ指令時間に 「宛先アドレス」を保持する。メモリ読取りのためにア
ダプタ・データ有効信号が活勢である場合、このバイト
はデータを保持する。当該IOICは、T2クロックを
使用してこのバスからデータをクロックする。
第23図を参照するに、アダプタ・バス10nはK/S
バス10n2を含む。
第25図には、K/Sバス10n2のビット・レイアウ
トが示されている。
K/Sバス10n2は、IOIC許可信号を受取った
後、T0からT0まで活勢である。370エミュレーシ
ョン・モードの場合、このバスはビット0−3にシステ
ム/370のキーを保持するが、固有モードの場合はゼ
ロを保持しなければならない。もしビット4が活勢であ
れば、アダプタ・バス10n1から受取られ且つ指令/
アドレス・レジスタ60iへクロック入力されたメモリ
・アドレスは加算器60kによってゼロの値へ加算され
る。もしビット4が不活勢であれば、指令/アドレス・
レジスタ60i内のアドレスは370オフセット・レジ
スタ60jの値へ加算される。加算器60kから得られ
る結果的なアドレスは、メモリ・バス10fに与えられ
るアドレスである。固有モードでは、オフセットがゼロ
に等しいから、ビット4は有効でない。メッセージ受領
動作の間、K/Sバス10n2のビット0−3は当該メ
ッセージの優先順位値を保持する。当該IOICがこの
バスを駆動する時間を除くと、当該IOIUはこのバス
を駆動してステータスを与える。ステータス・ビット0
−1は、IOIC許可信号の後の第2サイクルに指令ス
テータスについて一回センスされ、そしてアダプタ・デ
ータ有効サイクルの各々の間に読取動作についてセンス
されるか、又は最後の書込データ・サイクル後の第4サ
イクルの間に書込動作についてセンスされる。
第25図には、K/Sバス10n2のキー・バス部分に
関連するキー・ビットのレイアウトと、K/Sバス10
n2のステータス・バス部分に関連するステータス・ビ
ットのレイアウトが示されている。ステータス・バスの
ビットは、このバス上の指令のステータス及びデータの
ステータスを表わす。第25図には、ステータス・バス
の最初の2ビットに対する指令のステータス(指令ステ
ータス)及びデータのステータス(データ・ステータ
ス)が示されており、また残りのビットの意味が概略的
に示されている。これらのビットは次のような意味を有
する。
指令ステータス・ビットの意味 ビット0−1:‘00’に等しい値はすべてが正常であ
り且つメモリ動作が進行中であることを意味し、‘0
1’に等しい値は与えられたアドレスが無効(無効アド
レス)であることを意味し、‘10’に等しい値は与え
られたキーが与えられたアドレスについて正しくないこ
と (メモリ保護チェック)を意味し、‘11’に等しい値
は与えられた指令が有効でないこと (装置チェック)を意味する。
ビット2は、指令及びアドレスを伴うA/Dバス上で、
又は当該指令に続くデータ・サイクルでパリティ・チェ
ックが生じたことを意味する。またこのビットは、指令
サイクルの間にK/Sバス上でパリティ・チェックがあ
ったことを意味する。ビット3は、IOIUのクロック
が停止したこと、そして進行中の動作が予測不能で反復
されるべきこと(作動不能)を意味する。
ビット4は、メッセージ・バッファが利用不能であるこ
とを意味する。このビットは、MBSW0レジスタ60
p(第24図)のビット・28、29若しくは31の
‘OR’結果であるか、又はMBSW1レジスタ60g
のビット、28、29若しくは31の‘OR’結果であ
る。もしこのビットが活勢であれば、これはメモリ動作
が行われないであろうことを通知する。このビットは、
メッセージ受領動作についてのみ有意である(バッファ
利用可能)。
ビット5は、K/Sバス上の奇数パリティを維持するた
めのパリティ・ビットである。
データ・ステータス・ビットの意味 I/Oステータス・レジスタ60e内のビットは、以下
で説明するような意味を有する。このレジスタはK/S
バス10n2がキー情報のために使用される場合、IO
IC許可信号に続くサイクルを除いたすべての時間に、
メモリ・コントローラによってK/Sバス10n2へゲ
ートされる。
ビット0−1:‘00’に等しい値は受信中のデータが
正常であることを意味し、‘01’に等しい値は受信中
のデータが不良で信頼できないこと(装置チェック−メ
モリ・エラー)を意味し、‘10’又は‘11’に等し
い値は予約されていて無視さるべきである。
ビット2は、IOICバッファからのデータを伴なうA
/Dバス上でパリティ・チェックが生じたことを指示す
る(装置チェック)。
ビット3は、IOIUが停止したこと、そして進行中の
動作が予測不能で反復さるべきこと(装置チェック)を
指示する。
ビット4は、この時間には有効な意味を持たない。
ビット5は、K/Sバスについて奇数パリティを維持す
るためのパリティ・ビットである。
第23図を参照するに、アダプタ・バス10nは制御線
グループ10n3を含む。
制御線グループ10n3は、次の信号線を含む。
アダプタ指令時間−この信号はT0からT0まで活勢で
あり、IOIUによって駆動される。これは、すべての
IOICに対し、アダプタA/DバスをT2時間にサン
プルし且つPBO指令がこれらのIOICに対するもの
であるか否かを決定するように通知する。もし選択フィ
ールドと当該IOICのアドレスが一致するならば、ア
ダプタ指令時間の後の第2サイクルにIOIC肯定応答
信号又はIOIC使用中信号が与えられねばならない。
応答がないと、IUSWレジスタ60vのビット29が
付勢され、これに応じてサマリービット31が付勢さ
れ、またEISビット4が付勢される。
アダプタ・データ有効−この信号はT0からT0まで活
勢であり、IOIUによって、駆動される。この信号
は、アダプタA/Dバスがデータについてサンプルされ
るべきであること、そしてデータが正常でエラー条件が
存在しないか否かを決定するためにステータス・バスが
検査さるべきであることを指示する。
アダプタ・バス・チェック−この信号はオープン・コレ
クタ信号であって、A/Dバス上で不正パリティを受信
した後のサイクルでT0からT0までIOICによって
駆動される。アダプタ指令時間及びその後のデータ・サ
イクルの間に、アダプタA/Dバス上のパリティが検査
される。アダプタ・バス・チェック信号は、PBOにつ
いてのみ有効である。
IOIC肯定応答−ここの信号はT0からT0まで活勢
であり、アダプタ指令時間サイクル後の第2サイクルに
当該IOICによって駆動される。この信号は、選択さ
れたIOICがパリティ・チェックを伴わないPBO指
令を受信したこと及びこのIOICが当該動作を遂行す
ることを通知する。
IOIC使用中−この信号はT0からT0まで活勢であ
り、アダプタ指令時間サイクル後の第2サイクルに当該
IOICによって駆動される。この信号は、選択された
IOICがパリティ・チェックを伴わないPBO指令を
受信したにも拘わらず、現時点では当該動作を完了でき
ないことを通知する。
EISビット4(I/O例外)−この信号は割込信号で
あり、SPDバス指令の実行中に生ずる例外条件を指示
する。これは動的信号であり、各IOICからのIOI
Cステータス・ワード(ICSW)ステータス・サマリ
・ビット28を論理ORすることによって作成される。
ICSWビット28は、SPDバスにおけるエラーヌは
他の事象の発生(これはIPUが処理すべきものであ
る)を指示するサマリ・ビットである。EISビット4
は、「マスク使用ICSWリセット」命令によってゼロ
へリセットされるまで、活勢に留まる。またこの信号
は、IOIUステータス・レジスタ60vのサマリ・ビ
ット31が活勢である場合にも存在する。
動作終了EISビット5−この信号は割込信号であり、
異常に完了した動作を通知する。これは動的信号であっ
て、メッセージ・オリジン・ステータス・ワード(MO
SW)の動作終了ビット0とMOSWステータス・サマ
リ・ビット2との論理ANDによって作成される。各I
OICは、別個の動作終了EIS 5信号を、IOIC
動作終了サマリ・レジスタ60wへ送る。これらの4ビ
ットは論理ORされ、その結果は活勢な外部割込ビット
5となる。MOSWビット2は、当該動作の終了時にI
PUが処理することを必要とするような、以上ステータ
スを指示するサマリ・ビットである。動作終了EIS5
は、「MOSW移動」指令を実行することによってMO
SWビットがゼロへリセットされるまで、オンに留ま
る。この場合、動作終了ビット0は1に等しくなる。
IOIC要求−この信号はIOIC許可信号を受信した
後T2からT2まで活勢であり、各IOICの別個の線
によってIOIUへ駆動される。この信号は、IOIU
に対し、当該IOICがアダプタ・インタフェースを使
用してメモリへのアクセスを得るための通常のI/O要
求を有することを通知する。通常のI/O要求は、同じ
IOICからのサイクル・スチール要求と相互に排他的
である。
IOIC指令要求−この信号は、IOIC許可信号を受
信した後にT2からT2まで活勢であり、各IOIUの
別個の線によってIOIUへ駆動される。この信号は、
IOIUに対し、当該IOICがアダプタ・インタフェ
ースを使用して中央メモリ10dへのアクセスを得るた
めの最高優先順位のI/O要求を有することを通知す
る。この信号は、次のCCWについて必要な4又は8バ
イトの要求のためにのみ使用される。もし他の目的のた
めに使用されるならば、他のIOICの性能が低下する
ことがある。IOIC指令要求は、同じIOICからの
通常のI/O要求と相互に排他的である。
IOIC許可−この信号はT1からT1まで活勢であ
り、第1a図の調停論理10iによって各IOICへ駆
動される。この信号は、当該IOICに対し、その要求
が許可されたこと、そしてIOIC指令時間である次の
T0−T0にその指令、アドレス及びキーをアダプタ・
インタフェースへ駆動すべきことを通知する。
次に、第23図及び他の図面を参照して、アダプタ・バ
ス10nの動作を説明する。
アダプタ・バス・インタフェースの主たる用途は、次の
とおりである。
1.PBOメッセージ動作−PBO情報の転送。
2.メモリ動作−IOICデータのメモリとの授受。
3.メッセージ受領動作−メモリへのI/Oメッセージ
情報の転送。
以下、これらの用途の各々について詳述する。
1.PBOメッセージ動作:プロセッサ・バス動作(P
BO)は、IPU 10aから発信された特定命令の実
行に基く、任意の動作である。以下の表−1には、IO
ICを使用してアダプタ・バス10n及びSPDバス1
0t−10wで動作を行なうために、IPU 10aに
よって実行される有効なPBO命令のリストが示されて
いる。
プロセッサ・バス動作(PBO)はIPU 10aで発
信され、データ・キャッシュ10c及びメモリ・バス1
0fを介してIOIU 10eへ中継される。PBO要
求の受信時に、メモリ制御10gは第1a図のPBO要
求線7を付勢することによってメモリ・バス10fを要
求し、次いで調停論理10iからの許可信号を待機す
る。データ・キャッシュ10c及びメモリ制御10gが
ともに調停論理10iからのPBO許可線を受取る場
合、データ・キャッシュは(それがIPU 10aから
A−バスを介して受取った)情報を、メモリ・バス10
fを介して第24図のメモリ制御論理10g内のB−レ
ジスタ60dへ送る。次のサイクルの間、データ・キャ
ッシュ10cは(それがIPU 10aからD−バスを
介して受取った)情報を、第24図のメモリ制御論理1
0g内のB−レジスタ60dへ送る。
IOICに対するPBO動作には、コピー動作とロード
動作の2種類がある。以下、その各々について説明す
る。
A.コピー動作 第33図には、PBOコピー動作のタイミングが示され
ている。但し、第33図を含む第28図ないし第40図
のタイミング図では、下記の表−2に示す略号が使用さ
れていることに注意されたい。
コピー動作の間、第3のPBOサイクルでデータはIO
IUからIOICへ逆送される。1つのPBOコピー動
作の間には、次の3サイクルが存在する。
(1)アダプタ指令時間サイクル (2)データ有効サイクル (3)データ復帰サイクル アダプタ指令時間サイクルは、IOIC許可信号のサイ
クルでT0からT0まで生ずる。第24図に示すメモリ
制御10g内のA−レジスタ60cの内容は、このサイ
クルの間にアダプタ・バス10nを介してIOICへゲ
ートされる。このデータは、第4図の宛先選択レジスタ
20hへクロック入力される宛先選択情報を表わす。
次のサイクルはデータ有効サイクルである。このサイク
ルの間、B−レジスタ60dの内容はアダプタ・バス1
0nを介してIOICへクロック入力され、そこからセ
レクタ・バッファ20eに記憶される。
PBOシーケンスの最終サイクルは、データ復帰サイク
ルである。A−レジスタ60c及びB−レジスタ60d
の情報に応答して、選択されたIOIC 10j−10
mは、A−レジスタ60c及びB−レジスタ60dの情
報に対応するデータを、アダプタ・バス10nを介して
IOIU 10eのB−レジスタ60dへゲートする。
次にこのデータは、メモリ・バス10fに対する後のア
クセス要求に応答して、該メモリ・バス10f及びデー
タ・キャッシュ10cを介してIPU 10aへ逆転送
される。またこの選択されたIOICは、IOIC肯定
応答信号又はIOIC使用中信号をIPUへ送る。
もしIOIC肯定応答信号がIOICから受取られない
ならば、IOIUステータス・ワード・レジスタ60v
のビット29がセットされ、これに応じてサマリ・ビッ
ト31がセットされるので、外部割込サマリ・ビット4
が付勢される。もしIOIC使用中信号が受取られるな
らば、IUSWレジスタ60vのビット30がセットさ
れ、これに応じてサマリ・ビット31がセットされるの
で、EISビット4が付勢されることになる。
B.ロード動作 第32図には、PBOロード動作のタイミング図が示さ
れている。
一般に、PBOロード動作はPBOコピー動作と同じシ
ーケンスを取るが、相違点としては、第3サイクルの間
に、IOIC肯定応答信号がIPUへ逆転送されるも、
データは転送されないということである。
前記の表−1は、有効なPBO指令のリストを示す。
2.メモリ動作:アダプタ・バス上のメモリ動作は、常
にIOICで生ぜられる。IOICが第1図のメモリ制
御10gへ送るメモリ指令には、読取り、書込み及び読
取り−変更−書込み(RMM)の3種類がある。読取り
は、中央メモリ10dからデータを取出し、これをIO
ICへ送る。書込みは、IOICからデータを取出し、
これを中央メモリ10dへ置く。読取り−変更−書込み
は、IOICからデータを取出し、これを中央メモリ1
0dに置くものであるが、最初に8バイトの読取動作が
遂行され、続いて書込むべき新しいデータのマージ(組
合せ)が行われる。
IOICが第1a図のメモリ制御10gへ送る有効なメ
モリ指令については、以下の表−3を参照されたい。
表−3のメモリ指令には、主として、読取り、書込み、
読取り−変更−書込みの3種類がある。以下、これらの
メモリ指令について詳述する。
A.読取り I/O読取り動作のタイミングについては、第28図を
参照されたい。
IOIC指令時間:アダプタA/Dバスのバイト0は
1,2,4,6又は8ワード・データのための読取指令
を保持しており、これはIOICから第24図のメモリ
制御10g内の指令/アドレス・レジスタ60iへクロ
ック入力される。前記の表−3は、使用しうる有効な指
令を示す。アダプタA/Dバスのバイト1−3はメモリ
読取りのための開始アドレスを保持しており、これは当
該IOICからメモリ制御10gへクロック入力され
る。もしI/Oキー・レジスタ60fのビット4が不活
勢であれば、指令/アドレス・レジスタ60i中のアド
レスは、メモリ指令時間の前に、加算器60kによって
370オフセット・レジスタ60jの値へ加算される。
この結果的なアドレスは、キー・スタック・アレイ60
hへ与えられるアドレスである。キー・スタックからキ
ー・データ・レジスタ60gへ読込まれたデータは、そ
の後I/Oキー・レジスタ60fに受取られたキーと比
較される。もしこれがキー比較動作を満足させるなら
ば、当該メモリ動作はそのまま進行する。しかし、もし
メモリ保護チェック又は無効アドレス・チェックが生ず
るならば、当該動作は停止され、そしてエラー・ステー
タスがエラー検出論理60mからI/Oステータス・レ
ジスタ60eへ送られ、そこでK/Sバス10n2へ駆
動される。
アダプタ・データ無効:指令及びアドレスをメモリ制御
10g(最終的には中央メモリ10d)へ送った後、当
該IOICは中央メモリ10dからのデータを待機す
る。メモリ・バス10fで受取られたデータはデータ入
力レジスタ60aへクロック入力され、次のサイクルに
アダプタA/Dバス10n1へ中継される。またメモリ
・データ有効信号は1サイクル遅延され、アダプタ・デ
ータ有効信号となる。アダプタ・データ有効信号は、転
送された各データ・ワードがいつ当該IOICのデータ
・バッファ20aへロードされるかを指示する。ここで
注意すべきは、中央メモリ10dによって拡張ECC再
試行が行われる場合、データ・サイクルは必ずしも連続
的ではない、ということである。
ステータス時間:第24図のI/Oステータス・レジス
タ60eからの読取ステータスは、アダプタ・データ有
効信号とともにデータが送られる同じ時間に、IOIC
へ送られる。
B.書込み 第29図には、I/O書込動作のタイミングが示されて
いる。
IOIC指令時間:A/Dバスのバイト0は、2、4、
6又は8ワード・データのための書込指令を保持する。
バイト1−3は、メモリ書込みのための開始アドレスを
保持する。K/Sバスは、メモリ保護キーを保持する。
開始サイクルは、読取指令のそれと同じである。データ
は、指令アドレス・サイクルの直後に続く。
データ・サイクル:IOIC指令時間サイクルの直後に
あるサイクルは、メモリに書込まれるべきデータを保持
する。データはバイト整列されており、8バイトの境界
内になければならない。すなわち、32バイトの要求は
32バイトの境界で開始しなければならない。データは
データ入力レジスタ60aへロードされ、次のサイクル
でデータ出力レジスタ60bへ転送される。そこからこ
のデータは、メモリ・バス10fへ送られる。このデー
タの遅延は2サイクルであり、その間にキー検査動作が
行われるとともに、発生された新しいアドレスがメモリ
指令時間にメモリ・バス10fへゲートされる。
ステータス時間:IOIUからの書込みステータスは、
最終のデータ有効サイクルの後の第4サイクルにIOI
Cへ送られる。但し、書込みを行なう場合、アダプタ・
データ有効線は使用されないことに注意されたい。
C.読取り−変更−書込み(RMW) 第30図には、I/O RMW動作のタイミングが示さ
れている。
IOIC指令時間:A/Dバスのバイト0は、1ないし
7バイトのデータに対する書込指令を保持する。バイト
1−3は、メモリ書込みの開始アドレスを保持する。K
/Sバスは、メモリ保護キーを保持する。
データ・サイクル:IOIC指令時間のすぐ後に続く2
サイクルは、中央メモリ10dに書込まれるべきデータ
を保持する。このデータはバイト整列されており、8バ
イト境界上に置かれていなければならない。転送された
第1ワードはデータ出力レジスタ60bで終るが、転送
された第2ワードはデータ入力レジスタ60aで終る。
このデータはメモリ・バス10fに2回送られ、読取動
作の間に1回送られ、そして書込動作の間にも送られ
る。この結果、もしこのデータが現にデータ・キャッシ
ュ10cにあって且つこのデータが当該アクセスの前に
変更されているならば、データ・キャッシュ10cは読
取り−変更−書込動作の読取部分の間にこれを変更する
ことができる。
ステータス時間:IOIUからの書込ステータスは、ア
ダプタ・データ有効線が活勢になる後の第4サイクルに
IOICへ送られる。
3.メッセージ受領動作:アダプタ・バス上のメッセー
ジ受領動作は、メモリ書込みとほぼ同じである。両者の
相違は次のとおりである。IOICは、IOIUへアド
レスを送るかわりに、メッセージ優先順位値をK/Sバ
ス10n2に置く。この優先順位値はI/Oキー・レジ
スタ60fへクロック入力され、メッセージ・ハッファ
・オリジン・レジスタ0(60p)又はメッセージ・バ
ッファ・オリジン・レジスタ1(60g)を選択するた
めに使用される。該レジスタは、アドレスをメモリ指令
時間にメモリ・バスへ与える。
A.メモリに対するメッセージ受領 第31図には、I/Oメッセージ受領動作のタイミング
が示されている。
IOIC指令時間:A/Dバスのバイト0は、指令コー
ド・ポイントב0A’を保持する。バイト1−3は正
しいパリティを保持する。K/Sバスはメッセージ優先
順位値を保持する。
データ有効:IOIC指令時間サイクルのすぐ後に続く
4サイクルは、メモリに書込まれるべき以下の情報を保
持する。
(1)SPDバスにおける選択サイクル中のA/Dバス
の内容、 (2)SPDバスにおける第1データ・サイクル中のA
/Dバスの内容、 (3)SPDバスにおける第2データ・サイクル中のA
/Dバスの内容、 (4)メッセージ受領ステータス・ワード(MAS
W)。
SPDバス(第22図−第23図、第26図−第27
図) 第23図を参照するに、SPDバス10t−10wは、
アドレス・データ(A/D)バス10t1、指令/ステ
ータス(C/S)バス10t2、オリジン/宛先(O/
D)バス10t3及び制御線グループ10t4を含む。
制御線グループ10t4は、バス制御ユニット(BC
U)50に関連する制御線として、バス要求(REQ
B)、バス肯定応答(ACKB)、バス許可(BUS
G)、モニタ・クロック、バス・クリア、ボード選択を
含み、さらにアダプタ・バス制御30及びSPDバス制
御40に関連するマスタ・ステアリング(MST)、ス
レーブ作動可能(RDY)、マスタ選択(MSEL)及
び電源オン・リセット(POR)を含む。
SPDバスは、IOICと入出力バス・ユニット(IO
BU)との間の非同期式インタフェースである。これ
は、3つのサブ・バス、13本の制御線及びポーリング
用の3本の信号線から成る。A/Dバスは36ビットの
3状態2方向性バスであって、パリティ付きの4バイト
から成る。C/Sバスは9ビットの3状態2方向性バス
であって、パリティ付きの1バイトから成る。O/Dバ
スは6ビットの3状態2方向性バスであって、パリティ
付きの5ビットから成る。制御線グループは、以下の4
グループに類別される。
1.タグ線 マスタ・ステアリング マスタ選択 スレーブ作動可能 2.直接選択線 カード選択 ボード選択 3.調停線 バス要求 要求優先順位0−2 バス肯定応答 バス肯定応答ポール入力/入力 バス肯定応答ポール出力 バス許可 4.制御線 バス・クリア モニタ・クロック 電源オン・リセット 第23図を参照するに、SPDバス10t−10wはA
/Dバス10t1を含む。以下、このバスの信号を説明
する。
A/Dバス選択サイクル:このA/Dバスはバス/マス
タによって駆動され、マスタ選択信号の前に有効で且つ
スレーブ作動可能信号まで有効でなければならない。I
OICがマスタである場合、これは選択データ・バッフ
ァ20fからのデータをA/Dバスへ駆動する。IOI
Cがスレーブである場合、これはA/Dバスからのすべ
ての4バイト・データを、キー・バッファ20c内のデ
ータ・バッファ0、バイト0と、アドレス・レジスタ2
0d又は診断バッファ20j内のバイト1−3に記憶す
る。
A/Dバス・データ・サイクル(書込み):A/Dバス
はバス・マスタによって駆動され、マスタ選択信号の前
に有効で且つスレーブ作動可能信号まで有効でなければ
ならない。IOICがマスタである場合、これはメッセ
ージ・バッファ20bからのデータをA/Dバスへ駆動
する。IOICがスレーブである場合、これはA/Dバ
スからのデータをデータ・バッファ20aに記憶する。
A/Dバス・データ・サイクル(読取り):A/Dバス
はバス・スレーブによって駆動され、スレーブ作動可能
信号の前に有効で且つマスタ選択信号が不活勢となるま
で有効でなければならない。IOICがマスタである場
合、これはA/Dバスからのデータをメッセージ・バッ
ファ20bに記憶する。IOICがスレーブである場
合、これはICCRステータス・レジスタ20g又は診
断バッファ20jで以てA/Dバスを駆動する。
第23図を参照するに、SPDバス10t−10wはC
/Sバス10t2を含む。以下、このバスの信号を説明
する。
選択サイクル:C/Sバスはバス・マスタによって駆動
され、マスタ選択信号の前に有効で且つスレーブ作動可
能信号まで有効でなければならない。IOICがマスタ
である場合、これは指令レジスタ20iのビット5−7
及び11−15をC/Sバスへ駆動する。
C/Sバスの指令ビットについては、第26図を参照さ
れたい。
データ・サイクル:C/Sバスはバス・スレーブによっ
て駆動され、スレーブ作動可能信号の前に有効で且つマ
スタ選択信号が不活勢となるまで有効でなければならな
い。IOICがマスタである場合、これはC/Sバスか
らのステータスをMOSWステータス・レジスタに記憶
する。
C/Sバスのステータス・ビットについては、第27図
を参照されたい。
第23図を参照するに、SPDバス10t−10wはO
/Dバス10t3を含む。以下、このバスの信号を説明
する。
O/Dバス選択サイクル:O/Dバスはバス・マスタに
よって駆動され、マスタ選択信号の前に有効で且つスレ
ーブ作動可能信号まで有効でなければならない。IOI
Cがマスタである場合、これ指令レジスタ20iのビッ
ト27−31をO/Dバスへ駆動する。
O/Dバス・データ・サイクル(通常):O/Dバスは
バス・マスタによってそのアドレスを伴って駆動される
から、スレーブはオリジン・アドレスを知ることができ
る。マスタのオリジン・アドレスはマスタ選択信号の前
に有効で且つ各データ・サイクルのスレーブ作動可能信
号が活勢となるまで有効でなければならない。またO/
Dバスの値は、バス動作の各データ・サイクルについて
同じでなければならない。
O/Dバス・データ・サイクル(直接):O/Dバスは
バス・スレーブによってそのアドレスを伴なって駆動さ
れるから、BCUはこのアドレスをMOSWステータス
・レジスタに置くことができる。スレーブ・アドレスは
スレーブ作動可能信号の前に有効で且つマスタ選択信号
が不活勢となるまで有効でなければならない。第23図
の制御線グループ10t4を参照するに、SPDバス1
0t−10wはこの制御線グループの一部として下記の
タグ線を含む。
1.マスタ選択(MSEL) 選択サイクル:MSEL線は、バス動作サイクルの開始
を指示する。バス許可信号に応答して、MSEL信号は
IOBUによるバスのマスタシップ(支配)を指示す
る。MSEL信号は、A/Dバス、C/Sバス及びO/
Dバスの有効性を指示する。MSEL信号は、スレーブ
作動可能信号及びバス肯定応答信号とインタロックされ
る。
データ・サイクル:MSEL信号はバス・マスタによっ
て駆動されるバスの有効性を指示し、またスレーブ作動
可能信号とインタロックされる。
2.スレーブ作動可能(RDY) 選択サイクル:MSEL信号に対するRDY線の応答
は、A/Dバス、C/Sバス及びO/Dバス上の情報が
受取られたことを指示する。
データ・サイクル:MSEL信号に対するRDY応答
は、マスタによって送られた情報が受取られたことを指
示し、そしてマスタへ送られつつある情報の有効性を指
示する。
3.マスタ・ステアリング(MST) 選択サイクル:MST線はバス・マスタによって付勢さ
れ、そしてBCU 50によって受取られる。
データ・サイクル:バス・マスタによってMST信号が
脱勢された場合、これは現在のバス動作が完了したこ
と、そして新しい動作を開始させるためにバス許可信号
が付勢されうることを指示する。
第23図の制御線グループ10t4を再び参照するに、
SPDバス10t−10wはこの制御線グループの一部
として下記の直接選択線を含む。
1.カード選択 選択サイクル:ボード選択とともに使用されるカード選
択線は、直接選択を行なっている場合、選択を指示す
る。カード選択線は、BCUを除くすべてのIOBUに
よって必要とされる入力である。カード選択線の源は、
各IOBUカード位置に対する異なるA/Dバス線(ビ
ット位置0−15)である。たとえば、A/Dバス・ビ
ット0は第1のカード位置に対応し、A/Dバス・ビッ
ト2は第2のカード位置に対応する、等々である。
2.ボード選択 選択サイクル:カード選択線とともに使用されるボード
選択線は、直接選択を行なっている場合、選択を指示す
る。ボード選択線は、BCUを除くすべてのIOBUに
よって必要とされる入力である。ボード選択線の源は各
ボード上のドライバであり、これはA/Dバス・ビット
29−31を解読してボード選択線が付勢さるべきか否
かを決定する。たとえば、A/Dバス・ビット29−3
1が全部ゼロである場合、IOICはボード選択線を駆
動する。
第23図の制御線グループ10t4を参照するに、SP
Dバス10t−10wはこの制御線グループの一部とし
て下記の調停線を含む。
1.バス要求(REQB) SPDバスのサービスがIOBUによって必要とされる
場合、このIOBUによってREQB線が付勢され、バ
ス調停手段によって受取られる。
2.要求優先順位0−2(REQP 0−2)REQP
0−2線は、REQB線によって指示されたバス要求
に関連する優先順位レベル要求である。バス要求につい
ては4レベルの優先順位が可能であり、REQP0が最
高優先順位で、活勢な優先順位線を持たないバス要求が
最低優先順位である。活勢なバス要求を有するIOBU
はその優先順位をREQPn線に指示されたレベルと比
較しなければならず、そしてもしこれが一層低い優先順
位を有するならば、これはポールを伝播させなければな
らない。
3.バス肯定応答バス(ACKB) バス調停手段からのACKB線は、次のバス・マスタに
対する調停の開始を指示する。IOBUはACKB線を
使用してREQPnを伴なうその要求をサンプルすると
ともに、ABPI及びABPI′が活勢であるときにこ
れがポールを伝播するか否かを決定する。
4.バス肯定応答ポール入力/入力′(ABPI,AB
PI′) すべてのIOBUは、調停をサポートするためれにAB
PI及びABPI′線を必要とする。各IOBUはAB
PI及びABPI′に対する内部的な終了を与え、これ
により伝播経路を分断することなく直列ストリングから
IOBUを除去することが可能となる。
5.バス肯定応答ポール出力(ABPO) すべてのIOBUは、調停をサポートするためにABP
O線を必要とする。ACKB線が活勢であり、その要求
が不活勢であるか又は他の要求よりも優先順位が低く、
そしてABPI線及びABPI′線が活勢である場合、
ABPO線はIOBUによって付勢される。
6.バス許可(BUSG) BUSG線がバス調停手段によって付勢されるのは、次
の動作のバス・マスタを確定するためである。バス許可
信号は、直列ポールを停止したIOBUに対し、該IO
BUが1つのバス動作についてバス・マスタであること
を通知する。BUSG信号が活勢である間にMSEL信
号が付勢されると、これは他のすべてのIOBUに対す
る選択サイクルの開始を指示する。BUSG信号は、M
SEL信号が脱勢された後に脱勢される。
第23図の制御線グループ10t4を参照するに、SP
Dバス10t−10wはこの制御線グループの一部とし
て下記の制御線を含む。
1.バス・クリア バス・クリア線はBCU50によって駆動され、下記の
活動を生ぜしめる。
動作中のIOBUがその動作を直ちに停止し、すべての
バス及びタグを脱勢する。
バス・クリアが活勢である間、他のすべてのIOBUが
すべてのバス及びタグを脱勢する。
2.モニタ・クロック モニタ・クロック線はBCUによって駆動され、タイム
アウトの検出後に付勢される。モニタ・クロックはすべ
てのIOBUに対する入力であり、これらのIOBUに
対しステータスを収集するように通知する。
3.電源オン・リセット(POR) POR線は、電源領域のすべての電源オン/オフ・シー
ケンスについて活勢である。POR線は、電源領域に関
連する電源によって駆動される。POR線については、
下記の活動が生ずる。
調停が抑止される。
IOBUアドレスがゼロへセットされる。
3状態ドライバを高インピーダンス状態に置き且つ他の
ドライバを不活勢状態に置くことによって、ドライバを
脱勢する。
以下では、第1a図及び第23図を参照して、SPDバ
ス10t−10wの機能を説明する。第1a図は、SP
Dバスと他のIOBU 10p−10sとの間の関係を
図式的に理解するのに有用である。第23図は、SPD
バス10t−10wの構成を図式的に理解するのに有用
である。
SPDバスの基本動作には、(1)メモリ動作と、
(2)ユニット動作の2つがある。以下、これらの動作
を詳述する。
1.メモリ動作:SPD I/Oバス上のメモリ動作
は、IOBU 10p−10sと中央メモリ10dとの
間で1ないし32データ・バイトのパケットを転送す
る。1パケットは、1つの選択サイクルと1ないし8デ
ータ、サイクルから成る。この実現形態では、IOIC
はメモリ動作の間は常にスレーブである。メモリ・シー
ケンスは、ゼロに等しいSPD指令ビット0によって指
示される。オンであるビット1は書込みを指示し、ビッ
ト2−7に1を加えたものは転送すべきバイトの数を指
示する。
SPDメモリ指令については、以下の表−4を参照され
たい。
メモリへのメモリ書込み 選択サイクル:マスタIOBUは、情報をO/Dバス1
0t3、C/Sバス10t2及びA/Dバス10t1に
置く。O/Dバス10t3は、IOICのアドレス、す
なわちX‘00’を保持する。C/Sバス10t2は、
書込指令と転送すべきデータ・バイトの数を保持する。
A/Dバス10t1は、バイト0にキーを保持し、バイ
ト1−3に中央メモリ10dの開始アドレスを保持す
る。
データ・サイクル:マスタIOBUはそのアドレスをO
/Dバス10t3に置き、バイト整列されたワードをA
/Dバス10t1に置く。データ・パケットの大きさに
応じて、最大8つのデータ・サイクルが生じうる。IO
ICバッファは、パケット・データ全体がIOBUマス
タから転送されてしまうまで、データをIOICデータ
・バッファに置く。IOICは中央メモリ10dの指令
を発生し、データをバッファから該メモリへ転送する。
データが中央メモリ10dへ転送され且つメモリ・ステ
ータスがIOICによって受取られた後、IOICは完
了ステータスをC/Sバス10t2に置く。
メモリからのメモリ読取り 選択サイクル:マスタIOBUは、情報O/Dバス10
t3、C/Sバス10t2及びA/Dバス10t1に置
く。O/Dバス10t3はIOICのアドレス、すなわ
ちX‘00’を保持する。C/Sバス10t2は、読取
指令と転送すべきデータ・バイトの数を保持する。A/
Dバス10t1はバイト0にキーを保持し、バイト1−
3に中央メモリ10dの開始アドレスを保持する。
データ・サイクル:マスタIOBUは、そのアドレスを
O/Dバス10t3に置く。IOICは中央メモリ10
dの指令を発生し、該メモリからデータを受取り、これ
をIOICデータ・バッファでバッファする。該バッフ
ァが中央メモリ10dからデータ及びステータスを受取
った後、IOICは該バッファからのバイト整列された
データ・ワードをA/Dバス10t1に置く。データ・
パケットの大きさに応じて、最大8つのデータ・サイク
ルが生じうる。またIOICは、最終データ・サイクル
の間に、完了ステータスをC/Sバス10t2に置く。
ステータスをC/Sバス10t2に置く。
2.ユニット動作:この動作は、中央メモリ10dを利
用しないでIOBU相互間で通信を行うための手段を与
える。ユニット動作は、常に1つの選択サイクルと2つ
のデータ・サイクルを有する。ユニット動作シーケンス
は、1に等しいSPD指令ビット0によって指示され
る。オンであるビット1は書込みを指示し、オンである
ビット2は直接選択を指示する。ビット3−7はユニッ
ト動作指令のコードである。SPDバスのユニット動作
指令については、以下の表−5を参照されたい。
ユニット書込みは、IOBUマスタからIOBUスレー
ブへ8バイトのデータを転送する。
選択サイクル:マスタは、情報O/Dバス10t3、C
/Sバス10t2及びA/Dバス10t1に置く。O/
Dバス10t3はスレーブのアドレスを保持し、C/S
バスは書込指令を保持する。A/Dバス10t1は、機
械に依存する4バイトを保持する。
データ・サイクル:マスタはそのアドレスをO/Dバス
10t3に置き、データを両サイクルの間にA/Dバス
10t1に置く。最終データ・サイクルの終了時に、ス
レーブはその完了ステータスをC/Sバス10t2に置
く。
ユニット読取りは、IOBUスレーブからの8バイト・
データをIOBUマスタへ転送する。
選択サイクル:マスタは情報をO/Dバス、C/Sバス
及びA/Dバスに置く。O/Dバスはスレーブのアドレ
スを保持し、C/Sバスは読取指令を保持する。A/D
バスは、機械に依存する4バイトを保持する。
データ・サイクル:マスタはそのアドレスをO/Dバス
に置く。スレーブは両サイクルの間にデータをA/Dバ
スに置き、最終データ・サイクルの終了時にその完了ス
テータスをC/Sバスに置く。
ユニット直接書込み:これは8バイトのデータをIOI
CマスタからIOBUスレーブへ転送する。制御線グル
ープ10t4のうちボード選択線及びカード選択線は、
IOBUスレーブを選択するために使用される。
選択サイクル:IOICマスタは、情報をO/Dバス、
C/Sバス及びA/Dバスに置く。O/Dバスは書込指
令に対するスレーブ・アドレスを保持し、C/Sバスは
書込指令を保持する。A/Dバスはカード及びボート選
択データを保持する。
データ・サイクル:IOICマスタは、両サイクルの間
にデータをA/Dバスに置く。スレーブはそのアドレス
をO/Dバスに置き、最終データ・サイクルの終了時に
その完了ステータスをC/Sバスに置く。
ユニット直接読取り:これはIOBUからの8バイトの
データをIOICマスタへ転送する。ボード選択線及び
カード選択線は、IOBUスレーブを選択するために使
用される。
選択サイクル:マスタは情報をO/Dバス、C/Sバス
及びA/Dバスに置く。O/Dバスは正常なパリティを
保持し、C/Sバスは読取指令を保持する。A/Dバス
はカード及びボード選択データを保持する。
データ・サイクル:IOBUスレーブはそのアドレスを
O/Dバスに置く。スレーブは両サイクルの間にデータ
をA/Dバスに置き、最終データ・サイクルの終了時に
その完了ステータスをC/Sバスに置く。
SPDバスのメッセージ受領動作はユニット書込みと同
様であり、IOICは常にスレーブである。SPDOP
コードはC0−CFであり、IOICはデータをメモリ
内のIPUメッセージ・バッファへ送る。
選択サイクル:マスタIOBUは‘00’をC/Dバス
に置き、‘CX’をC/Sバスに置き、そしてA/Dバ
スは機械に依存する4バイトのデータを保持し、これは
最初のIOICデータ・バッファに置かれる。
データ・サイクル:マスタIOBUはそのアドレスをO
/Dバスに置き、両サイクルの間にデータをA/Dバス
に置く。IOICは2ワードのA/Dバス・データを第
2及び第3のIOICデータ、バッファに置き、メッセ
ージ受領ステータス・ワード(MASW)を第4のIO
ICデータ・バッファに置く。IOICはIPUの中央
のメモリ指令である‘0A’をIOIUに送り、その後
にデータ・バッファ内の4ワードを送る。IOIUはI
PUメッセージ・バッファの次のアドレスを知ってお
り、このデータを記憶する。このデータが中央メモリ1
0dへ転送され且つメモリ・ステータスがIOICによ
って受取られた後、IOICは完了ステータスをC/S
バスに置く。
以下では、BCU 50によって実施される調停手法を
説明する。この調停手法を実施する場合、BCUは、I
OIC(10j−10mの1つ)又は1以上のIOBU
10p−10sからSPDバス(10t−10wの1
つ)に対するアクセス要求を受取る。BCUは、どのI
OIC又はIOBUがSPDバスのアクセスを許可され
るか、ということを決定する。
第22図を参照するに、そこにはBCU 50を含むI
OIC 10j−10mの他の配置形態が4つのIOB
U 10p−10sに関連して示されている。第22図
において、1つのIOICはSPDバス調停手段である
BCU 50を含む。他のIOBUも図示されている。
IOICは多数のカード・スロット1ないし4へ接続さ
れ、該スロットには回路カードが装着される。スロット
1はその位置に従ってスロット2よりも高い優先順位を
有し、スロット2はスロット3より高い優先順位を有
し、以下同様である。第22図に示すように、複数のバ
ス(REQB、REQP 0−2)は各カード・スロッ
ト中の各回路カードへ接続される。第4図に示した追加
のバス(C/Sバス10t2、O/Dバス10t3及び
A/Dバス10t1)は各回路カードへ接続される。バ
ス調停手段であるBCU 50はIOIC内部に配置さ
れ、該調停手段はピン0を有する。各カード・スロット
1ないし4における各回路カードは、ピンI,I′及び
0を有する。ピンI及びピンI′は外部の活勢な源には
接続されないが、内部の活勢な源によってオンにプルさ
れる。スロット1のピン0はスロット2のピンIへ接続
され、スロット3のピンI′にも接続される。スロット
2のピン0は、スロット3のピンI及びスロット4のピ
ンI′へ接続される。スロット3のピン0はスロット4
のピンIへ接続され、以下同様である。
次に、第22図を参照して、SPDバス調停手段である
BCU 50によって実施される調停手法を説明する。
ピンI及びピンI′は外部の源へ接続されていないの
で、IOBU内部の源によって高レベルにプルされる。
BCU 50中の調停手段によってバス肯定応答(AC
KB)信号が付勢される場合、回路カード1はそのRE
QBピン、REQ P0ピン、REQ P1ピン及びR
EQ P2ピンのステータスを調べる。もしそのREQ
Bピンが高レベルであれば、これはその他のピン(RE
Q P0、REQ P1及びREQ P2)のステータ
スを調べる。もしかかる他のピンが高レベルで、回路カ
ード1がこれらのピンを高レベルにしなかったのであれ
ば、回路カード1は第22図に示したそのバス肯定応答
ポール出力0(ABPO 0)をオンに転ずることによ
ってスロット2又は3の次のカードへ決定を任せること
になろう。この場合、スロット2の回路カード2は、R
EQBピン、REQ P0、REQ P1及びREQ
P2ピンを調べる。もしそのREQBピンが高レベル
で、そのREQ P0、REQ P1及び/又はREQ
P2ピンが高レベルであるが、回路カード2自体がR
EQ P0、REQ P1及びREQ P2ピンを高レ
ベルにしなかったのであれば、回路カード2は第22図
に示したそのABPO(0)をオンに転ずることによっ
て、スロット3又は4における次のカードに決定を任せ
る。ここで、スロット3の回路カード3がそのピンを調
べ、そしてREQBピン、REQ P0ピン、REQ
P1ピン及びREQ P2ピンがいずれも高レベルであ
ることを発見するものと仮定する。さらに、スロット3
の回路カード3が、そのREQ P0、REQ P1及
びREQ P2を高レベルにしたものと仮定する。従っ
て、スロット3の回路カード3(SPDバスへ接続され
たIOBUの1つ)がSPDバスのアクセスを獲得す
る。所与のIOBUが特定の期間内に或る動作を完了で
きない場合、BCU 50によってタイムアウトがセッ
トされる。タイムアウトには次の2種類がある。
バス・アイドル型タイムアウト:もしSPDバスに要求
があり且つ調停後にMST線及びMSEL線をオンに転
ずるマスタによってこの要求に対する応答が生ぜられな
ければ、バス・アイドル型のタイムアウトが生ずる。
バス動作型タイムアウト:もしSPDバス動作が開始さ
れたにも拘わらず、これがMST線をオフに転ずること
によって完了しなければ、バス・アイドル型のタイムア
ウトが生ずる。
直接選択動作は、BCUのみから生じうる。直接選択指
令は、アドレスを割当てられていないIOBUと通信す
るために使用されるユニット動作である。この動作のた
めに直接選択指令が与えられると、BCUは誰がバス上
にあるかを見出し、このIOBUへアドレスを書込む。
エラー回復は、モニタ・クロック線及びバス・クリア線
を使用するBCUによって遂行される。
第28図ないし第33図はアダプタ・バスのタイミング
・シーケンスを示す。さらにこれらの図面は、アダプタ
・バスの種々のインタフェース線が相互に作用する様子
及び各動作に必要なサイクルの数を示している。
第34図ないし第40図は、SPDバスのタイミング・
シーケンスを示す。さらにこれらの図面は、SPDバス
の種々のインタフェース線が相互に作用する様子及び各
動作に必要なタグ・シーケンスを示している。
綜合動作(第1a図−第40図) 以下では第1a図ないし第40図を参照して、SPDバ
ス10t−10w、入力出力インタフェース・コントロ
ーラ(IOIC)10j−10m、アダプタ・バス10
n及びメモリ制御10gの綜合動作を説明する。
1.IOIC 10j−10mに対するPBOコピー動
作 A.MOSWコピー 第6図に示したアドレスされたIOICのメッセージ・
オリジン・ステータス・ワード(MOSW)はIPU
10aへ送られ、MOSWの内容は変更されない。
所与のIOICに対するPBO動作が開始するのは、第
1図のIOIU 10eがすべてのIOICへアダプタ
指令時間信号を送って、該すべてのIOICに対し、第
23図のアダプタA/Dバス10n1がIOIC PB
O指令を保持することを通知する場合である。これに関
連するタイミング・シーケンスについては、第33図を
参照されたい。第11図に示したアダプタ・バス制御3
0内のPBOシーケンス30cは、アダプタA/Dバス
10n1から第4図及び第5図の宛先選択レジスタ20
hへPBO指令をロードし、そして第11図のIOIC
突合せ論理30aはそのPBOアドレスをIOICハー
ドウェア・アドレスと比較する。もし両アドレスが一致
すれば、第11図のPBO機能論理30bはPBO指令
を解読してこれが、‘DA’指令(表−1参照)である
ことを決定する。次いで、PBO機能論理30bはステ
ータス・レジスタ20gの制御をセットし、かくてPB
Oの第3サイクルには、第6図に示したMOSWレジス
タ中のデータがアダプタA/Dバス10n1へゲートさ
れる。PBOアドレスとIOICハードウェア・アドレ
スが一致した場合、第11図のIOIC突合せ論理30
aは前記と同じ第3サイクルにIOIC肯定応答信号を
送る。
B.MOSW移動 アドレスされたIOICのメッセージ・オリジン・ステ
ータス・ワード(MOSW)の内容はIPU 10aへ
送られ、もしその動作終了ビットがオン(MOSW
(0)=1)であれば、MOSW内の残りのビットがゼ
ロにセットされる。もし動作終了ビットがオフ(MOS
W(0)=0)であれば、第6図のMOSWは変更され
ない。
IOIC 10j−10mに対するPBO動作が開始す
るのは、IOIU 10eがアダプタ指令時間信号をI
OICへ送って、すべてのIOICに対し、第4図及び
第23図のアダプタA/Dバス10n1がIOIC P
BO指令を保持することを通知する場合である。これに
関連するタイミング・シーケンスについては、第33図
を参照されたい。第11図のアダプタ・バス制御30内
のPBOシーケンサ30cはアダプタA/Dバス10n
1を第4図の宛先選択レジスタ20hへロードし、そし
て第11図のIOIC突合せ論理30aはPBOアドレ
スをIOICハードウェア・アドレスと比較する。もし
両アドレスが一致すれば、第11図のPBO機能論理3
0bはこのアダプタ指令を解読してこれが‘D8’(表
−1参照)であることを見出し、次いで第6図のMOS
Wレジスタ内のデータがPBOの第3サイクルにアダプ
タA/Dバス10n1へゲートされるようにステータス
・レジスタ20gの制御をセットする。また、PBOア
ドレスとIOICハードウェア・アドレスが一致した場
合、第11図のIOIC突合せ論理30aは第3サイク
ルにIOIC肯定応答信号を送る。第6図のMOSWレ
ジスタがIPU 10aへ送られた後、第11図のPB
O機能論理30bは動作終了ビットを検査し、もしこれ
がオンであれば、MOSWの残りのビットをゼロにリセ
ットする。
2.IOICに対するPBOロード動作 A.メッセージ・バッファ・レジスタ1のロード 第4図のメッセージ・バッファ・レジスタ1(MBR
1)20bは、IPU 10aから4バイトのデータを
ロードされる。もしメッセージ・オリジン機構が使用中
であれば、すなわち第6図に示したMOSWレジスタの
ビット1がオン(MOSW(1)=1)であれば、メッ
セージ・バッファ・レジスタはロードされない。
所与のIOICに対するPBO動作が開始するのは、第
1図のIOIU 10eがアダプタ指令時間信号をすべ
てのIOICに送って、これらのIOICに対し、アダ
プタA/Dバス10n1がIOIC PBO指令を保持
することを通知する場合である。これに関連するタイミ
ング・シーケンスについては、第32図を参照された
い。アダプタ・バス制御30内のPBOシーケンサ30
cはアダプタA/Dバス10n1の内容を第4図及び第
5図の宛先選択レジスタ20hへロードし、そして第1
1図のIOIC突合せ論理30aはこのPBOアドレス
とIOICハードウェア・アドレスを比較するととも
に、SPD使用中信号を検査する。もし両アドレスが一
致し且つSPDバスが使用中でなければ、PBO機能論
理30bはPBO指令を解読してこれが‘9E’(表−
1参照)であることを見出し、次いでアダプタA/Dバ
ス10n1上のデータがPBOの第2サイクルに第4図
のMBR1バッファ20bへゲートされるようにメッセ
ージ・バッファ20bの制御をセットする。PBOアド
レスとIOICハードウェア・アドレスが一致するか又
はIOICが使用中である場合、或いはこれらの両アド
レスが一致し且つメッセージ・オリジン機構(MOS
W)が使用中である場合、第11図のIOIC突合せ論
理30aはPBOの第3サイクルにIOIC肯定応答信
号をIOIU 10eへ送る。
B.マスク使用ICSWリセット この動作では、第4図のセレクタ・バッファ20eの内
容は「1の補数化」された後、第4図のステータス・レ
ジスタ20gにある第9図のIOICステータス・ワー
ド(ICSW)レジスタのビットと論理ANDされる。
所与のIOICに対するPBO動作が開始するのは、I
OIU 10eがアダプタ指令時間信号をすべてのIO
ICへ送って、これらのIOICに対し、第4図及び第
23図のアダプタA/Dバス10n1がIOIC PB
O指令を保持することを通知する場合である。これに関
連するタイミング・シーケンスについては、第32図を
参照されたい。第11図のアダプタ・バス制御30内の
PBOシーケンサ30cは、最初のPBOサイクルの間
に、アダプタA/Dバス10n1を第4図の宛先選択レ
ジスタ20hへロードし、そして第2サイクルの間に、
これを第4図のセレクタ・バッファ20eへロードす
る。第11図のIOIC突合せ論理30aは、PBOア
ドレスとIOICハードウェア・アドレスを比較する。
もし両アドレスが一致すれば、第11図のPBO機能論
理30bはこのアダプタ指令を解読してこれが‘99’
(表−1参照)であることを見出し、次いで第2サイク
ル9後に第4図のセレクタ・バッファ20eの内容が
「1の補数化」されて第9図のICSW内のビットと論
理ANDされるようにステータス・レジスタ20gの制
御をセットする。セレクタ・バッファ20eでオンであ
るビットのみが、ICSW内の対応するビットをゼロに
リセットする。PBOアドレスとIOICハードウェア
・アドレスが一致した場合、IOIC突合せ論理30a
はPBOの第3サイクルにIOIC肯定応答信号をIO
IU 10eへ送る。
3.IOICに対するPBOユニット動作 A.ユニット書込動作 この命令は、指定されたSPDバス(バス10t−10
wの1つ)上でユニット書込動作を要求する。もしメッ
セージ・オリジン機構が使用中であれば、すなわちもし
MOSW(1)=1であれば、IOICの状態に変化は
ない。
所与のIOICに対するPBO動作が開始するのは、I
OIUがアダプタ指令時間信号をすべてのIOICへ送
って、これらのIOICに対し、アダプタA/Dバス1
0n1がIOIC PBO指令を保持することを通知す
る場合である。これに関連するタイミング・シーケンス
については、第32図を参照されたい。第11図のアダ
プタ・バス制御30内のPBOシーケンサ30cは、最
初のPBOサイクルの間に、アダプタA/Dバス10n
1を第4図及び第5図の宛先選択レジスタ20hへロー
ドし、第2サイクルの間にこれをセレクタ・バッファ2
0eへロードする。第11図のIOIC突合せ論理30
aは、PBOアドレスをIOICハードウェア・アドレ
スと比較するとともに、SPD使用中信号を検査する。
もし両アドレスが一致し且つSPDバスが使用中でなけ
れば、第11図のPBO機能論理30bはアダプタ指令
を解読してこれが‘96’(表−1参照)であることを
見出し、次いでもしメッセージ・オリジン機構が使用中
でなければ、ロード指令バッファ制御を使用して第4図
のセレクタ・バッファ20eを選択データ・バッファ2
0fへ移動させるとともに、宛先選択レジスタ20hを
指令レジスタ20iへ移動させる。PBOアドレスとI
OICハードウェア・アドレスが一致するか又はIOI
Cが使用中である場合、或いはこれらのアドレスが一致
し且つメッセージ・オリジン機構が使用中である場合、
IOIC突合せ論理30aはPBOの第3サイクルにI
OIC肯定応答信号をIOIUへ送る。第11図のPB
O機能論理30bは第2図のSPDバス制御40へ要求
を送り、該制御はこの命令を受領して第6図のMOSW
ビット0、8及び27−31をリセットする。メッセー
ジ・オリジン機構は使用中(MOSW(1)=1)とな
る。第13図のIOIC SPDマスタ制御ユニット4
0aは、第2図のBCU 50へSPDバス動作に対す
るバス要求(REQB)信号を送る。マスタ制御ユニッ
ト40aはBCU 50からバス肯定応答(ACKB)
信号を取出し、もし他のIOBUが一層高い優先順位を
持たなければ、このユニットはACKB信号がSPDバ
スへ出力されるのを阻止し且つバス許可(BUSG)信
号を待機する。マスタ制御ユニット40aがBUSG信
号を受取る場合、これはSPDユニット書込み動作選択
サイクル(SPDバス・シーケンスについては第36図
を参照)を開始させるため、第23図のSPD A/D
バス10t1、C/Sバス10t2、O/Dバス10t
3及び制御線グループ10t4のマスタ・ステアリング
(MST)線を駆動する。選択データ・バッファ20f
はSPD A/Dバス10t1へ送られ、指令レジスタ
20iのSPDバス指令フィールドはC/Sバス10t
2へ送られ、そして指令レジスタ20iの宛先フィール
ドは第23図のO/Dバス10t3へ送られる(指令レ
ジスタ20i内のデータに等しい宛先選択レジスタ20
hについては、第5図を参照されたい)。これらのバス
にあるデータが整定した後、マスタ制御ユニット40a
はMSEL線を駆動して、スレーブIOBUに対し、こ
のバス・データが有効であることを通知する。スレーブ
IOBUは、使用中信号を上昇することによって、IO
ICにその動作を継続するように通知する。マスタ制御
ユニット40aはMSEL線を下降してバスの駆動を停
止する。MSEL線が降下した後、BCU 50はBU
SG線を下降し且つスレーブIOBUは使用中線を下降
してこの選択サイクルを終了する。最初のデータ・サイ
クルが開始するのは、マスタ制御ユニット40aがメッ
セージ・バッファ1内のデータでA/Dバスを駆動し且
つIOICアドレス‘00’でO/Dバスを駆動する場
合である。次に、マスタ制御ユニット40aは受信を行
うようにC/Sバスをセットし、これらのバスが整定し
た後、MSEL線を上昇してバス・データが有効である
ことを指示する。もしエラーがあれば、スレーブはステ
ータス(第27図参照)で以てC/Sバスを駆動し、こ
のバスが整定するのを待機した後、使用中線を上昇す
る。マスタ制御ユニット40aはMSEL線を下降し、
そしてA/Dバスの駆動を停止する。スレーブは使用中
線を下降し、C/Sバスの駆動を停止して第1データ・
サイクルを終了する。第2データ・サイクルが開始する
のは、マスタ制御ユニット40aがメッセージ・バッフ
ァ2内のデータでA/Dバスを駆動する場合である。A
/Dバスが整定した後、マスタ制御ユニット40aはM
SEL線を上昇してバス・データが有効であることを指
示する。もしエラーが存在していたならば、スレーブは
終了ステータス又はもしエラーが存在していたならばエ
ラー・ステータスでC/Sバスを駆動し、このバスが整
定するのを待機した後、使用中線を上昇する。マスタ制
御ユニット40aはMSEL線を下降し、A/Dバス及
びO/Dバスの駆動を停止する。スレーブは使用中線を
下降し、C/Sバスの駆動を停止し、次いでマスタ制御
ユニット40aはMST線を下降す。MOSWはC/S
バスから終了ステータスを受取り、これに応じて動作終
了(MSOW(0))ビットがオンとなり且つ使用中
(MOSW(1))ビットがオフとなって当該動作を終
了させる。
B.ユニット動作読取り この命令は、指定されてSPDバス上でユニット読取動
作を要求する。もしメッセージ・オリジン機構が使用中
(MOSW(1)=1)であれば、IOICの状態には
変化がない。
所与のIOICに対するPBO動作は、IOIUがアダ
プタ指令時間信号をすべてのIOICへ送って、該IO
ICに対し、アダプタA/DバスがIOIC PBO指
令を保持することを指示する場合である。これに関連す
るタイミング・シーケンスについては、第32図を参照
されたい。アダプタ・バス制御30内のPBOシーケン
サ30cは、最初のPBOサイクルの間に、アダプタA
/Dバスを宛先選択レジスタ20hへロードし、第2サ
イクルの間にこれをセレクタ・バッファ20eへロード
する。IOIC突合せ論理30aはPBOアドレスをI
OICハードウェア・アドレスと比較し、またSPD使
用中信号を検査する。もしアドレスが一致し且つSPD
バスが使用中でなければ、PBO機能論理30bはアダ
プタ指令を解読してこれが‘94’(表−1参照)であ
ることを見出し、次いでもしメッセージ・オリジン機構
が使用中でなければ、ロード指令バッファ制御を使用し
てセレクタ・バッファ20eを選択データ・バッファ2
0fへ移動するとともに、宛先選択レジスタ20hを指
令レジスタ20iへ移動する。PBOアドレスとIOI
Cハードウェア・アドレスが一致するか又はIOICが
使用中である場合、或いはアドレスが一致し且つメッセ
ージ・オリジン機構が使用中である場合、IOIC突合
せ論理30aはPBOの第3サイクルにIOIC肯定応
答信号を送る。PBO機能論理30bはSPDバス制御
40へ要求を送り、該制御はこの命令を受取ってMOS
Wビット0、8及び27−31をリセットする。メッセ
ージ・オリジン機構は使用中(MOSW(1)=1)と
なる。IOIC SPDマスタ制御ユニット40aは、
SPDバス動作に対するバス要求(REQB)信号をB
CU 50へ送る。マスタ制御ユニット40aはBCU
50からバス肯定応答(ACKB)信号を取出し、そ
してもし他のIOBUが一層高い優先順位を有していな
ければ、これはACKB信号がSPDバスへ到達するの
を阻止してバス許可(BUSG)信号を待機する。マス
タ制御ユニット40aがBUSG信号を受取る場合、こ
れはSPDユニット読取動作選択サイクルを開始させる
ため、第23図のSPD A/Dバス10t1、C/S
バス10t2、O/Dバス10t4及びMSTを駆動す
る。選択データ・バッファ20fはSPDA/Dバス1
0t1へ送られ、指令レジスタ20iのSPDバス指令
フィールドはC/Sバス10t2へ送られ、そして指令
レジスタ20iの宛先フィールドはO/Dバスへ送られ
る。
これらのバス上のデータが整定した後、マスタ制御ユニ
ット40aはMSEL線を駆動して、スレーブIOBU
に対し、バス・データが有効であることを通知する。ス
レーブIOBUは、使用中線を上昇することによって、
IOICに対しその動作を継続するように通知する。マ
スタ制御ユニット40aはMSEL線を下降し、これら
のバスの駆動を停止する。MSEL線が下降した後、B
CUはBUSG線を下降し、スレーブは使用中線を下降
して選択サイクルを終了する。最初のデータ・サイクル
が開始するのは、マスタ制御ユニット40aがIOIC
アドレス‘00’でO/Dバス10t3を駆動する場合
である。次に、マスタ制御ユニット40aは受信を行う
ようにA/Dバス10t1及びC/Sバス10t2をセ
ットし、そしてO/Dバス10t3が整定した後、MS
EL線を上昇してデータを有効であることを指示する。
スレーブIOBUは、メッセージ・バッファ(第23図
参照)に置かれたデータでA/Dバス10t1を駆動
し、もしエラーがあれば、ステータスでC/Sバス10
t2を駆動する。このバスが整定するのを待機した後、
スレーブIOBUは使用中線を上昇する。マスタ制御ユ
ニット40aは、MBR1バッファ内でデータをバッフ
ァした後、MSEL線を下降する。スレーブIOBUは
使用中線を下降し、A/Dバス10t1及びC/Sバス
10t2の駆動を停止して第1データ・サイクルを終了
させる。第2データ・サイクルが開始するのは、マスタ
制御ユニット40aがMSEL線を上昇して、このマス
タがそれ以上のデータについて作動可能であることを指
示する場合である。スレーブIOBUは、メッセージ・
バッファ(第23図参照)に置かれたデータでA/Dバ
ス10t1を駆動し、そして終了ステータス又は(もし
エラーが存在していたならば)エラー・ステータスでC
/Sバス10t2を駆動し、これらのバスが整定するの
を待機した後、使用中線を上昇する。マスタ40aは、
データをMBR2バッファ(第23図参照)でバッファ
した後、MSEL線を下降するとともに、O/Dバス1
0t3の駆動を停止する。スレーブIOBUは使用中線
を下降し、A/Dバス10t1及びC/Sバス10t2
の駆動を停止し、次いでマスタ制御ユニット40aはM
STを下降する。第6図のMOSWはC/Sバス10t
2から終了ステータスを受取り、これに応じて動作終了
(MOSW(0))ビットがオンとなり且つ使用中ビッ
ト(MOSW(1))がオフとなってこの動作を終了す
る。
C.ユニット動作直接書込み この命令は、指定されたSPDバス(10t−10wの
1つ)でユニット直接書込動作を要求する。もしメッセ
ージ・オリジン機構が使用中(MOSW(1)=1)で
あれば、IOICの状態には変化がない。
所与のIOICに対するPBO動作は、IOIU 10
eがすべてのIOICにアダプタ指令時間信号を送っ
て、これらのIOICに対し、アダプタA/Dバス10
nがIOIC PBO指令を保持することを通知する場
合である。これに関連するタイミング・シーケンスにつ
いては、第32図を参照されたい。アダプタ・バス制御
30内のPBOシーケンサ30cは、最初のPBOサイ
クルの間に、アダプタA/Dバス10nを第4図の宛先
選択レジスタ20hへロードし、第2サイクルの間にこ
れをセレクタ・バッファ20eへロードする。第11図
のIOIC突合せ論理30aは、PBOアドレスをIO
ICハードウェア・アドレスと比較するとともに、SP
D使用中線を検査する。もし両アドレスが一致し且つS
PDバスが使用中でなければ、PBO機能論理30bは
このアダプタ指令を解読してこれが‘97’(表−1)
であることを見出し、次いでもしメッセージ・オリジン
機構が使用中でなければ、ロード指令バッファ制御を使
用してセレクタ・バッファ20eを選択データ・バッフ
ァ20fへ移動するとともに、宛先選択レジスタ20h
を指令レジスタ20iへ移動する。PBOアドレスとI
OICハードウェア・アドレスが一致するか又はIOI
Cが使用中である場合、或いはアドレスが一致し且つメ
ッセージ・オリジン機構が使用中である場合、IOIC
突合せ論理30aはPBOの第3サイクルの間にIOI
C肯定応答信号を送る。PBO機能論理30bはSPD
バス制御40へ要求を送り、該制御はこの命令を受領し
てMOSWビット0、8及び27−31をリセットす
る。メッセージ・オリジン機構は使用中(MOSW
(1)=1)となる。第13図のIOIC SPDマス
タ制御ユニット40aは、SPDバス動作に対するRE
QB信号をBCU 50へ送る。マスタ制御ユニット4
0aはBCU 50からACKB信号を取出し、もし他
のIOBUが一層高い優先順位を有していなければ、こ
れはACKB信号がSPDバスに到達するのを阻止して
BUSG信号を待機する。マスタ制御ユニット40aが
BUSG信号を受取る場合、これはSPDユニット直接
書込動作選択サイクルを開始させるために第23図のS
PD A/Dバス10t1、C/Sバス10t2、O/
Dバス10t3及びMST線を駆動する。選択データ・
バッファ20fはSPD A/Dバス10t1へ送ら
れ、指令レジスタ20iのSPDバス指令フィールドは
C/Sバスへ送られ、そして指令レジスタ20iの宛先
フィールドへ送られる。BCU 50はA/Dバス10
t1のビット29−31をゼロについて解読してボード
選択線を駆動する。これらのバス上のデータが整定した
後、マスタ制御ユニット40aはMSEL線を駆動し、
スレーブIOBUに対し、このバス・データが有効であ
ることを通知する。スレーブIOBUが置かれているカ
ード・スロットは、そのボード選択線及びカード選択線
が活勢状態にあるようなものである。スレーブIOBU
は使用中線を上昇することによって、IOICに対しそ
の動作を継続するように通知する。マスタ制御ユニット
40aはMSEL線を下降し、これらのバスの駆動を停
止すする。MSEL線が下降した後、BCU 50はB
USG線を下降し且つスレーブIOBUは使用中線を下
降してこの選択サイクルを終了する。最初のデータ・サ
イクルが開始するのは、マスタ制御ユニット40aがメ
ッセージ・バッファ1(第23図参照)内のデータでA
/Dバス10t1を駆動する場合である。次に、マスタ
制御ユニット40aは受信を行うようにC/Sバス10
t2及びO/Dバス10t3をセットし、これらのバス
が整定した後、MSEL線を上昇してバス・データが有
効であることを指示する。もしエラーがあれば、スレー
ブIOBUはステータスでC/Sバス10t2を駆動
し、そのアドレスでO/Dバス10t3を駆動する。こ
れらのバスが整定するのを待機した後、スレーブIOB
Uは使用中線を上昇する。マスタ制御ユニット40aは
O/Dバス10t3のデータをMOSWのバイト3に置
き、MSEL線を下降し、A/Dバス10t1の駆動を
停止する。スレーブIOBUは使用中線を下降し、C/
Sバスの駆動を停止して第1データ・サイクルを終了す
る。第2データ・サイクルが開始するのは、マスタ制御
ユニット40aがメッセージ・バッファ2内のデータで
A/Dバス10t1を駆動する場合である。A/Dバス
10t1が整定した後、マスタ制御ユニット40aはM
SEL線を上昇してこのバス・データが有効であること
を指示する。スレーブIOBUは終了ステータス又は
(もしエラーが存在していたならば)エラー・ステータ
スでC/Sバス10t2を駆動し、このバスが整定する
のを待機した後、使用中線を上昇する。マスタ制御ユニ
ット40aはMSEL線を下降し、A/Dバス10t1
の駆動を停止する。スレーブIOBUは使用中線を下降
し、O/Dバス10t3及びC/Sバス10t2の駆動
を停止し、次いでマスタ制御ユニット40aがMST線
を下降する。MOSWはC/Sバス10t2から終了ス
テータスを受取り、これに応じて動作終了(MOSW
(0))ビットがオンとなり且つ使用中ビット(MOS
W(1))がオフとなって当該動作を終了する。
4.IOICに対するSPDユニット動作 A.メッセージ受領動作 この命令は、IOBU 10p−10sからIOIC
10j−10mへのSPDユニット書込動作である。I
OBU 10p−10sから受取られたメッセージはI
OIC 10j−10mでバッファされ、次いで記憶を
行うためにIOIU 10eへ送られる。
IOIC 10j−10mに対するSPD動作が開始す
るのは、第1図のIOBU 10p−10sがBCU
50へREQB信号を送る場合である。これに関連する
SPDバス・シーケンスについては、第40図を参照さ
れたい。第12図及び第2図のBCU 50は、バス・
ポーリングを開始するためにACKB線を上昇し、次い
でSPDバスが他の動作を自由に開始することができる
場合、BUSG線を上昇する。REQB線を上昇したI
OBUはこのポールを捕捉し、そしてこれがBUSG線
を検知する場合、選択サイクルを開始する。IOBUは
第23図のA/Dバス10t1、C/Sバス10t2、
O/Dバス10t3及び制御線グループ10t4のマス
タ・ステアリング(MST)線を駆動する。これらのバ
ス上のデータが整定した後、IOBUはMSEL線を駆
動して第13図のIOICスレーブ制御ユニット40b
に対し、このデータが有効であることを指示する。スレ
ーブ制御ユニット40bはC/Sバス10t2からの
‘C0’指令を解読し、O/Dバス10t3からの‘0
0’と突合わせる。C/Sバス10t2上の指令はMA
SW、すなわち第4図及び第7図のステータス・レジス
タ20gに置かれ、A/Dバス10t1上のデータは第
1のデータ・バッファ20aに置かれ、そしてA/Dバ
ス10t1のビット0−5はキー・バッファ20cに置
かれる。次いで、IOICは使用中線を上昇することに
より、IOBUに対しその動作を継続するように通知す
る。この時間の間、IOBUはREQB線を下降し、B
CUはACKB線を下降する。使用中信号を検出する
と、IOBUはMSEL線を下降して、これらのバスの
駆動を停止する。MSEL線が下降した後、IOICは
使用中線を下降し、そして第12図のBCU 50はB
USG線を下降してこの選択サイクルを終了する。最初
のデータ・サイクルが開始するのは、IOBUがデータ
でA/Dバス10t1を駆動し且つそのアドレスでO/
Dバス10t3を駆動する場合である。これらのバスが
整定した後、MSEL線が上昇されてこのバス・データ
が有効であることを指示する。スレーブ制御ユニット4
0bはA/Dバス10t1からのデータを第2データ・
バッファ20aに置き、またO/Dバス10t3からの
データを第7図のMASWレジスタに置く。もしエラー
があれば、スレーブ制御40bはステータスでC/Sバ
ス10t2を駆動し、このバスが整定するのを待機した
後、使用中線を上昇する。IOBU 10p−10sは
MSEL線を下降して、A/Dバス10t1の駆動を停
止する。第13図のIOICスレーブ制御ユニット40
bは使用中線を下降し且つC/Sバス10t2の駆動を
停止して第1データ・サイクルを終了す。第2データ・
サイクルが開始するのは、IOBUがデータで以てA/
Dバス10t1を駆動する場合である。このバスが整定
した後、IOBUはMSEL線を上昇してこのバス・デ
ータが有効であることを指示する。スレーブ制御ユニッ
ト40bは、A/Dバス10t1からのデータを第3の
データ・バッファ20aに置く。今やIOICはすべて
のメッセージを有するので、スレーブ制御ユニット40
bはこの動作を第2図のアダプタ・バス制御30へ引渡
し、そして該制御が最終ステータスをスレーブ制御ユニ
ット40bに与えるまでSPDバスを維持する。第11
図のアダプタ・バス制御30内のメモリ動作コントロー
ラ30dはIOIC要求線を上昇し、そしてIOIC許
可信号を待機する。このコントローラ30dがIOIC
許可信号を受取る場合、これはT0から次のサイクルの
T0までK/Sバス10n2及びアダプタA/Dバス1
0n1を駆動する。これに関連するタイミング・シーケ
ンスについては、第31図を参照されたい。第23図の
K/Sバス10n2はメッセージ優先順位値を保持し、
アダプタA/Dバス10n1はメッセージ受領指令であ
る‘OA’を保持する。第24図のメモリ制御10gが
IOIC許可信号の後のサイクルでこの指令及びアドレ
スを受取る場合、これはアダプタ・バス10n1からの
情報を指令/アドレス・レジスタ60iへゲートする。
この同じサイクルの間にK/Sバス10n2にあるメッ
セージ優先順位値をI/Oキー・レジスタ60fへクロ
ック入力する。このメッセージ優先順位値は、メッセー
ジ・オフセット・レジスタ60p又は60gのうちどち
らがこのメッセージのために使用されるか、ということ
を決定する。選択されたメッセージ・バッファに保持さ
れているアドレスは、メモリ指令時間にメモリ・バス1
0fへゲートされる。指令‘OA’は‘88’へ変更さ
れる。これは16バイトの書込動作である。第2データ
・サイクルの間、データ入力レジスタ60a内のデータ
がデータ出力レジスタへクロック入力されるのに対し、
A/Dバス10n1からのデータはデータ入力レジスタ
へクロック入力される。このシーケンスは、4サイクル
の間継続する。第3サイクルでは、メモリ指令時間(メ
モリ制御バス10h上の信号の1つ)が駆動され、また
データ・キャッシュへのI/O要求信号が駆動される。
この後者の信号は、データ・キャッシュに対し、当該指
令及びアドレスをその論理へゲートするように通知す
る。こうすることにより、キャッシュの探索が行われ
て、当該キャッシュ内に更新中のデータが存在するか否
か、そしてこのライン内のデータが変更されているか否
か、ということが決定される。もしデータが存在且つこ
れが変更されていなければ、キャッシュはこのデータの
ラインを無効化するとともに、メモリ動作がメモリ・カ
ードで行われるようにする。しかしももしデータが存在
し且つライン内のこのデータが変更されておれば、デー
タ・キャッシュは当該指令の後のデータ・サイクルで受
取られるデータを使用してキャッシュ内に存在するデー
タを変更する。メモリ制御10gによってメモリ・バス
10fへゲートされるすべてのデータは、データ出力レ
ジスタ60bからゲートされる。その間、選択されたメ
モリ・カードは、指令サイクルでバイト1−3に与えら
れたアドレスによってアドレスされたメモリ位置をアク
セスしている。メモリ・カードへのデータの転送に続く
各サイクルでは、入力パリティ線はエラーが検出された
か否かを指示し、そしてもしこれが活勢であれば、エラ
ー検出論理60mへゲートされ、次いでI/Oステータ
ス・レジスタ60eへ中継される。メモリ動作の終了時
に、適当なメッセージ・バッファ・オフセット・レジス
タは次の4ワード・アドレスへ増進される。次の3デー
タ・サイクルの間、メモリ動作コントローラ30dはT
0からT0まで最初の3つのデータ・バッファ20aを
アダプタA/Dバス10n1に置く。第4データ・サイ
クル中、メモリ動作コントローラ30dはT0からT0
まで第7図のMASWレジスタ(第4図のステータス・
レジスタの一部)をアダプタA/Dバス10n1に置
き、次いで4サイクル待機した後、IOIU 10eか
らステータス・バス10n2を介して最終的な書込ステ
ータスを得る。第13図のスレーブ制御ユニット40b
はアダプタ・バス制御30から最終ステータスを受取
り、終了ステータスをC/Sバス10t2に置く。この
バスが整定するのを待機した後、スレーブ制御ユニット
40bは使用中線を上昇して、第13図のマスタ制御ユ
ニット40aに対し、IOIC中のメッセージ受領動作
が完了したことを通知する。IOBUはMSEL線を下
降し、次いでA/Dバス10t1及びO/Dバス10t
3の駆動を停止する。スレーブIOICがMSEL線の
下降を検出する場合、これは使用中線を下降し、そして
C/Sバス10t2の駆動を停止する。かくて、IOB
UはMST線を下降して当該動作を終了することができ
る。
B.循環読取動作 この命令はSPDユニット読取動作であって、IOBU
10p−10sの1つからIOICへ与えられる。選
択サイクルの間にIOBUから受取られたデータはIO
ICでバッファされ、次いでSPDバスの動作を検査す
るために、IOBUから受取られたデータはA/Dバス
10t1に戻され、後続データ・サイクルの間にIOB
Uへ逆転送される。
IOICに対するSPD動作が開始するのは、IOBU
がBCU 60へREQB信号を送る場合である。これ
に関連するSPDバス・シーケンスについては、第38
図を参照されたい。BCU 50はバス・ポーリングを
開始するためにACKB線を上昇し、次いでSPDバス
が他の動作を自由に開始することができる場合は、BU
SG線を上昇する。REQB線を上昇したIOBUはこ
のポールを捕捉し、そしてこれがBUSG線を検出する
場合、選択サイクルを開始する。IOBUは、A/Dバ
ス10t1、C/Sバス10t2、O/Dバス10t3
及び制御線グループ10t4のMST線を駆動する。こ
れらのバス上のデータが整定した後、IOBUは制御線
グループ10t4のMSEL線を駆動して、IOICス
レーブ制御ユニット40bに対し、データが有効である
ことを通知する。スレーブ制御ユニット40bはC/S
バス10t2からの‘9F’指令を解読し、O/Dバス
10t3上の‘00’に突合せる。A/Dバス10t1
上のデータは第4図の診断バッファ20jに置かれ、次
いでIOICは使用中線を上昇してIOBUに対しその
動作を継続するように通知する。この時間の間、IOB
UはREQB線を下降し、BCU 50はACKB線を
下降する。使用中信号を検出すると、IOBUはMSE
L線を下降し且つこれらのバスの駆動を停止する。MS
EL線が下降した後、IOICは使用中線を下降し、B
CU 50はBUSG線を下降して選択サイクルを終了
する。最初のデータ・サイクルが開始するのは、IOB
UがそのアドレスでO/Dバス10t3を駆動する場合
である。これらのバスが整定した後、IOBUは制御線
グループ10t4のMSEL線を上昇して、このバス・
データが有効であることを指示する。第13図のスレー
ブ制御ユニット40bは診断バッファ20jに記憶され
たデータでA/Dバス10t1を駆動するとともに、も
しエラーがあれば、ステータス(第27図参照)でC/
Sバス10t2を駆動し、次いでこのバスが整定するも
のを待機した後、使用中線を上昇する。IOBUは、A
Dバス10t1を受取った後、MSEL線を下降する。
第13図のIOICスレーブ制御ユニット40bは使用
中線を下降し、A/Dバス10t1及びC/Sバス10
t2の駆動を停止して第1データ・サイクルを終了す
る。第2データ・サイクルが開始するのは、IOBUが
MSEL線を上昇して、IOICに対し、その動作を継
続するように通知する場合である。スレーブ制御ユニッ
ト40bは診断バッファ20jに記憶されたデータで再
びA/Dバス10t1を駆動するとともに、終了ステー
タス又はエラー・ステータス(エラーがあった場合)で
C/Sバス10t2を駆動する。このバスが整定するの
を待機した後、スレーブ制御ユニット40aは使用中線
を上昇することにより、第13図のマスタ制御ユニット
40aに対し、IOIC中の循環読取りが完了している
ことを通知する。IOBU(10p−10sの1つ)は
MSEL線を下降し、次いでO/Dバス10t3の駆動
を停止する。スレーブIOICがMSEL線の下降を検
知する場合、これは使用中線を下降するとともに、A/
Dバス10t1及びC/Sバス10t2の駆動を停止す
る。かくて、IOBUマスタはMST線を下降してて当
該動作を終了することができる。
5.IOICに対するSPDメモリ動作 A.32バイトの書込みメモリ動作 この命令は、IOBU(10p−10sの1つ)からI
OIC 10j−10mへのSPDメモリ書込動作であ
る。IOBUから受取られたデータはIOICでバッフ
ァされ、次いでIOIC 10eへ送られてそこに記憶
される。
IOICに対するSPD動作が開始するのは、IOBU
がBCU 50へREQB信号を送る場合である。これ
に関連するSPDバス・シーケンスについては、第34
図を参照されたい。BCU 50は、バス・ポーリング
を開始するためにACKB線を上昇し、次いでSPDバ
スが他の動作を自由に開始するこができる場合に、BU
SG線を上昇する。REQB線を上昇したIOBUはこ
のポールを捕捉し、次いでこれがBUSG信号を検知す
ると、選択サイクルを開始する。このIOBUは、A/
Dバス10t1、C/Sバス10t2、O/Dバス10
t3及び制御線グループ10t4のMST線を駆動す。
これらのバス上のデータが整定した後、IOBUは制御
線グループ10t4のMSEL線を駆動することによ
り、IOICスレーブ制御ユニット40bに対し、この
データが有効であることを通知する。スレーブ制御ユニ
ット40bはC/Sバス10t2からの‘5F’指令を
解読し、O/Dバス10t3からの‘00’と突合せ
る。A/Dバス10t1上のデータは第4図のアドレス
・レジスタ20dに置かれ、A/Dバス10t1のビッ
ト0−5はキー・バッファ20cに置かれる。次いで、
IOICは使用中線を上昇してIOBUに対しその動作
を継続するように通知する。この時間の間、IOBUは
REQB線を下降し、BCU 50はACKB線を下降
する。使用中信号を検知すると、IOBUはMSEL線
を下降し、またこれらのバスの駆動を停止する。MSE
L線が下降した後、IOICは使用中線を下降し、そし
てBCU 50はBUSG線を下降して選択サイクルを
終了する。第1データ・サイクルが開始するのは、IO
BUがデータで以てA/Dバス10t1を駆動し且つそ
のアドレスで以てO/Dバス10t3を駆動する場合で
ある。これらのバスが整定した後、IOBUは制御線グ
ループ10t4のMSELを上昇することにより、この
バス・データが有効であることを指示する。第13図の
スレーブ制御ユニット40bは、A/Dバス10t1か
らのデータを第1データ・バッファ20aへ置く。もし
エラーがあれば、スレーブ制御ユニット40bはステー
タス(第27図参照)でC/Sバス10t2を駆動し、
このバスが整定するのを待機した後、使用中線を上昇す
る。IOBUはMSEL線を下降し、そしてA/Dバス
10t1の駆動を停止する。IOICスレーブ制御ユニ
ット40bは使用中線を下降し、C/Sバス10t2の
駆動を停止して第1データ・サイクルを終了する。第2
ないし第7データ・サイクルは第1データ・サイクルと
同様であり、データを第2ないし第7データ・バッファ
に置く。これらのデータ・サイクルの間、第13図のメ
モリ動作コード翻訳ユニット40cは‘5F’指令(表
−4参照)を取出し、‘90’メモリ動作コードを発生
し、これを第4図のアドレス・レジスタ20dのバイト
0に置く。第8データ・サイクルが開始するのは、IO
BUがデータで以てA/Dバス10t1を駆動する場合
である。このバスが整定した後、IOBUは制御線グル
ープ10t4のMSEL線を上昇して、このバス・デー
タが有効であることを指示する。スレーブ制御ユニット
40bはA/Dバス10t1からのデータを第8データ
・バッファ20aに置く。今や、IOICはすべてのデ
ータを有するから、スレーブ制御ユニット40bは当該
動作をアダプタ・バス制御30に引渡すとともに、アダ
プタ・バス制御30がスレーブ制御ユニット40bに最
終ステータスを与えるまで、このSPDバスを維持す
る。アダプタ・バス制御30のメモリ動作コントローラ
30dはIOIC要求線を上昇し、次いでIOIU 1
0eからのIOIC許可信号を待機する。このコントロ
ーラがIOIC許可信号を受取る場合、これはT0から
次のサイクルのT0までK/Sバス10n2及びアダプ
タA/Dバス10n1を駆動する。K/Sバス10n2
は370キーを保持し、アダプタA/Dバス10n1は
第1アドレス・レジスタ20dを保持する。アドレス・
レジスタ20dのバイト0は、開始メモリ・アドレスで
ある。メモリ制御10g(第24図参照)がIOIC許
可信号の後のサイクルで指令及びアドレスを受取る場
合、これはアダプタA/Dバス10n1からの情報を指
令/アドレス・レジスタ60iへゲートする。この同じ
サイクルの間にK/Sバス10n2に存在するキー・デ
ータは、I/Oキー・レジスタ60fへクロック入力さ
れる。指令及びアドレスの後のサイクルは、アダプタA
/Dバス10n1を介して送られ且つデータ入力レジス
タ60aへクロック入力される最初のデータを保持す
る。この第2サイクルの間には、もしI/Oキー・レジ
スタのビット4がゼロであれば、指令/アドレス・レジ
スタ60i中のアドレスが370オフセット・レジスタ
60jへ加算される。もしビット4が1であれば、37
0オフセット値の代わりにゼロ値が使用される。加算器
60kから得られる加算結果はキー・スタック・アレイ
へゲートされ、該アレイは要求されたメモリ・アドレス
に対するキー値をアドレスする。キー・スタックの出力
は、キー・データ・レジスタ60gへゲートされる。か
くて、キー・データ・レジスタ60g中のキー・データ
は、エラー検出論理60mによって、I/Oキー・レジ
スタ60f中のキーと比較される。もしこのキーが受諾
可能であれば、I/Oステータス・レジスタ60eへゲ
ートされたステータスは正常なステータスを指示する。
さもなければ、メモリ保護チェックの指示がこのレジス
タへセットされる。第2データ・サイクルでは、データ
入力レジスタ60a内のデータがデータ出力レジスタへ
クロック入力されるのに対し、アダプタ・バス10n1
からのデータはデータ入力レジスタへクロック入力され
る。このシーケンスは必要な数のサイクルだけ、すなわ
ち指令サイクルに指令/アドレス・レジスタ60iのバ
イト0に受取られた動作コードによって決まる数のサイ
クルだけ、継続するのである。エラー条件が存在しない
と仮定すると、加算器60kからの結果的なアドレスは
この同じサイクルの間にメモリ・バス10fのバイト1
−3に置かれる。このメモリ・バスのバイト0は、指令
/アドレス・レジスタ60i中の値で駆動される。表−
3は、データ転送の各長さについて使用されるコード・
ポイントをリストしたものである。このサイクルの間、
メモリ指令時間(メモリ制御バス10h上の信号の1
つ)が駆動され、データ・キャッシュへのI/O要求信
号も駆動される。後者の信号は、データ・キャッシュに
対し、指令及びアドレスをその論理へゲートするように
通知する。こうすることにより、キャッシュの探索が行
われて、キャッシュ内に更新中のデータが存在するか否
か、また当該ライン内のデータが変更されているか否
か、ということを決定することができる。もしデータが
存在するも、これが変更されていなければ、キヤッシュ
はこのデータ・ラインを無効化し且つメモリ動作がメモ
リ・カードで行われるようにする。しかし、もしデータ
が存在し且つ当該ライン中のデータが変更されておれ
ば、データ・キヤッシュは当該指令の後のデータ・サイ
クルで受取られるデータを使用してキャッシュ内に存在
するデータを修正する。この手順には、1つの例外があ
る。すなわち、もし書込動作が32バイトであるか、又
はキャッシュ内のフル・ラインであれば、データ・キャ
ッシュはデータを書込まない、ということである。そう
する代わりに、これはキヤッシュ内のデータを無効化し
てメモリへの書込みを可能にする。云いかえれば、IP
Uがこのデータを参照すると、そのラインがキヤッシュ
へ再び取出される、ということである。メモリ制御10
gによってメモリ・バス10fへゲートされたすべての
データは、データ出力レジスタ60bからゲートされ
る。その間、選択されたメモリ・カードは、指令サイク
ルにバイト1−3に与えられたアドレスによってアドレ
スされたメモリ位置をアクセスしている。
このメモリ・カードへデータを転送した後の各サイクル
では、入力パリティ線はエラーが検出されたか否かを指
示し、もしこれが活勢であれば、これはエラー検出論理
60mへゲートされ、次いでI/Oステータス・レジス
タ60eへ供給される。メモリ動作コントローラ30d
は、次の8データ・サイクルの間、T0からT0まで8
データ・バッファ20aをアダプタA/Dバス10n1
に置く。第8データ・サイクルの後、メモリ・コントロ
ーラ30dは、IOIUからステータス・バスを介して
最終的な書込ステータスを得るために、4サイクル待機
する。スレーブ制御ユニット40bはアダプタ・バス制
御30からこの最終ステータスを受取り、終了ステータ
スをC/Sバス10t2に置く。このバスが整定するの
を待機した後、スレーブ制御ユニット40bは使用中線
を上昇して、マスタ制御ユニット40aに対し、IOI
C中のメモリ書込動作が完了したことを通知する。IO
BUは制御線グループ10t4のMSEL線を下降し、
次いでA/Dバス10t1及びO/Dバス10t3の駆
動を停止する。IOICのスレーブ制御ユニット40b
がMSEL線の下降を検知する場合、これは使用中線を
下降するとともに、C/Sバス10t2の駆動を停止す
る。かくて、IOBUマスタ制御ユニット40aは制御
線グループ10t4のMST線を下降して、当該動作を
終了することができる。
B.32バイトのメモリ読取動作 この命令は、IOBU(10p−10sの1つ)からI
OIC(10j−10mの1つ)へのSPDメモリ読取
動作である。IOIU 10eから読取られたデータは
IOICでバッファされ、IOBUへ送られる。
IOICに対するSPD動作が開始するのは、IOBU
10eがBCU 50へREQB信号を送る場合であ
る。BCU 50はバス・ポーリングを開始させるため
にACKB線を上昇し、次いでSPDバスが他の動作を
自由に開始することができる場合、BUSG線を上昇す
る。REQB線を上昇したIOBUはこのポールを捕捉
し、そしてこれがBUSG線を検知する場合、選択サイ
クルを開始する。
IOBUはA/Dバス10t1、C/Sバス10t2、
O/Dバス10t3及び制御線グループ10t4のMS
T線を駆動する。これらのバス上のデータが整定した
後、IOBUは制御線グループ10t4のMSEL線を
駆動して、IOICスレーブ制御ユニット40bに対
し、このデータが有効であることを通知する。スレーブ
制御ユニット40bはC/Sバス10t2からの‘1
F’指令(表−4参照)を解読し、O/Dバス10t3
からの‘00’と突合せる。A/Dバス10t1のデー
タは第4図のアドレス。レジスタ20dに置かれ、A/
Dバス10t1のビット0−5はキー・バッファ20c
に置かれる。次いで、IOICは使用中線を上昇し、I
OBUに対しその動作を継続するように通知する。この
時間中、IOBUはREQB線を下降し、BCU 50
はACKB線を下降する。使用中線を検知すると、IO
BUはMSEL線を下降し、そしてこれらのバスの駆動
を停止する。MSEL線が下降した後、IOICは使用
中線を下降し、BCU 50はBUSG線を下降して選
択サイクルを終了する。第1データ・サイクルが開始す
るのは、IOBUがそのアドレスでO/Dバス10t3
を駆動する場合である。これらのバスが整定した後、I
OBUは、制御線グループ10t4のMSEL線を上昇
して、このバス・データが有効であることを指示する。
スレーブ制御ユニット40bはこの指令を解読する。第
13図のメモリ動作コード翻訳ユニット40cは‘1
F’指令を取出し、‘D0’メモリ動作コードを発生
し、これをアドレス・レジスタ20dのバイト0に記憶
する。この段階でIOICはこれがメモリ読取動作であ
ることを知っているので、メモリ動作コントローラ30
dは当該動作をアダプタ・バス制御30へ引渡し、該制
御がスレーブ制御ユニット40bにデータ有効信号を与
えるまで、SPDバスを維持する。後者のデータ有効信
号は、データがアダプタA/Dバス10n1にあること
を指示するものである。アダプタ・バス制御30内のメ
モリ動作コントローラ30dはIOIC要求線を上昇
し、IOIC許可線を待機する。コントローラ30dが
IOIC許可信号を受取る場合、これは次のサイクルの
T0からT0までK/Sバス10n2及びアダプタA/
Dバス10n1を駆動する。K/Sバス10n2は37
0キーを保持し、アダプタA/Dバス10n1は第1ア
ドレス・レジスタ20dを保持する。アドレス・レジス
タ20dのバイト0はメモリ指令(表−3参照)であ
り、バイト1−3は開始メモリ・アドレスである。IO
IC許可信号の後のサイクルでメモリ制御10g(第2
4図参照)が指令及びアドレスを受取る場合、これはア
ダプタA/Dバス10n1からの情報を指令/アドレス
・レジスタ60iへゲートする。この同じサイクルの間
にK/Sバス10n2に存在するキー・データは、I/
Oキー・レジスタ60fへクロック入力される。この指
令及びアドレスに続くサイクルは、データ入力レジスタ
60aへクロック入力される最初のデータを保持する。
読取動作の場合、任意のデータを正しいパリティを付し
て送ることができる。もしI/Oキー・レジスタのビッ
ト4がゼロであれば、この第2サイクルの間に、指令/
アドレス・レジスタ60i中のアドレスが370オフセ
ット・レジスタ60jへ加算される。もしビット4が1
であれば、370オフセット値の代わりにゼロ値が使用
される。加算器60kから得られた加算の結果はキー・
スタック・アレイ60hへゲートされ、該アレイは要求
されたメモリ・アドレスに対するキー値をアドレスす
る。キー・スタックの出力は、キー・データ・レジスタ
60gへゲートされる。かくて、キー・データ・レジス
タ60g中のキー・データは、エラー検出論理60mに
よって、I/Oキー・レジスタ60f中のキーと比較さ
れる。もしこのキーが受諾可能であれば、I/Oステー
タス・レジスタ60eへゲートされたステータスは正常
なステータスを指示する。さもなければ、メモリ保護チ
ェックの指示がこのレジスタへセットされる。エラー条
件が存在しないと仮定すると、加算器60kから得られ
る結果的なアドレスはこの同じサイクルの間にメモリ・
バス10fのバイト1−3に置かれる。メモリ・バスの
バイト0は、指令/アドレス・レジスタ60i中の値で
駆動される。表−3は、データ転送の各長さについて使
用されるコード・ポイントをリストしたものである。こ
のサイクルの間、メモリ指令時間(メモリ制御バス10
h上の信号の1つ)が駆動され、同様にデータ・キャッ
シュへのI/O要求信号も駆動される。後者の信号は、
データ・キヤッシュに対し、当該指令及びアドレスをそ
の論理へゲートするように通知する。かくて、キヤッシ
ュの探索を行って、取出中のデータがキヤッシュ内に存
在するか否か、そして当該ライン内のデータが変更され
ているか否か、ということを決定することができる。も
しこのデータが存在するも、これが変更されていなけれ
ば、キャッシュはこのデータがメモリ・カードからアク
セスされることを可能にする。しかし、もしこのデータ
が存在し且つ当該キャッシュ・ライン内のデータが変更
されておれば、データ・キャッシュは当該指令時間の後
のサイクルにヒット&変更信号をメモリ制御10gへ送
る。この信号を受信すると、メモリ制御10gはメモリ
禁止信号(メモリ制御10hの一部)を付勢する。この
結果、アクセス中のメモリ・カードはメモリ・バス10
f上のそのドライバを禁止し、またデータ・キャッシュ
はデータ・キャッシュ・データ・ゲート信号を受取ると
き要求されたデータをメモリ・バスに送ることができ
る。メモリ・カード又はキャッシュによってメモリ・バ
ス10fへゲートされたすべてのデータは、データ入力
レジスタへゲートされ、次のサイクルのT0からT0ま
でアダプタ・バス10n1へ供給される。これに関連す
るメモリ読取動作のタイミングについては、第28図を
参照されたい。メモリ・データ有効サイクルの間にメモ
リ制御バス10hに受取られた任意のエラー・ステータ
スは、エラー検出論理60mへゲートされ、そしてこの
エラーに対応するデータ・サイクルの間に転送するた
め、I/Oステータス・レジスタ60eへ供給される。
アダプタ・データ有効信号が8サイクルの間オンとなる
場合、メモリ動作コントローラ30dはアダプタA/D
バス10n1からデータを取出し、これをT2時間に8
データ・バッファ20aに置き、そして各T2時間にI
OIU 10eからの読取ステータスをステータス・バ
スに置く。かくて、IOICはすべてのデータを有する
ので、アダプタ・バス制御30は当該動作を再びSPD
スレーブ制御ユニット40bへ引渡す。スレーブ制御ユ
ニット40bは第1データ・バッファ20a内のデータ
でA/Dバス10t1を駆動し、そしてもしエラーがあ
れば、ステータス(第27図参照)でC/Sバス10t
2を駆動する。このバスが整定するのを待機した後、ス
レーブIOICは使用中線を上昇する。このデータを受
取った後、マスタIOBUはMSEL線を下降する。ス
レーブ制御ユニット40bは使用中線を下降し、A/D
バス10t1及びC/Sバス10t2の駆動を停止し
て、第1データ・サイクルを終了する。第2ないし第7
データ・サイクルが開始するのは、マスタIOBUがM
SEL線を上昇して、これが他のデータについて作動可
能であることを指示する場合である。スレーブ制御ユニ
ット40bは第2ないし第7データ・バッファ20aか
らのデータでA/Sバス10t1を駆動し、もしエラー
があれば、ステータスでC/Sバス10t2を駆動す
る。このバスが整定するのを待機した後、スレーブIO
IC(スレーブ制御ユニット40b)は使用中線を上昇
する。このデータを受信した後、マスタIOBUはMS
EL線を下降する。スレーブ制御ユニット40bは使用
中線を下降し、A/Dバス10t1及びC/Sバス10
t2の駆動を停止して、データ・サイクルを終了する。
第8データ・サイクルが開始するのは、マスタIOBU
がMSEL線を上昇して、これが他のデータについて作
動可能であることを指示する場合である。スレーブ制御
ユニット40bは第8データ・バッファ20aからのデ
ータでA/Dバス10t1を駆動し、終了ステータス又
はエラーがあればエラー・ステータスでC/Sバス10
t2を駆動し、そしてこれらのバスが整定するのを待機
した後、使用中線を上昇する。データを受取った後、マ
スタIOBUはMSEL線を下降し、そしてO/Dバス
10t3の駆動を停止する。スレーブ制御ユニット40
bは使用中線を下降し、A/Dバス10t1及びC/S
バス10t2の駆動を停止する。かくて、IOBUマス
タはMST線を下降して、当該動作を終了することがで
きる。
C.6バイト書込みの読取り−変更−書込み この命令は、IOBU(10p−10sの1つ)からI
OIC(10j−10mの1つ)へのSPDメモリ・書
込動作である。IOBUから受取られたデータはIOI
Cでバッファされ、次いでメモリに対する読取り−変更
−書込み指令を使用してIOIU 10eへ送られる。
IOICに対するSPD動作が開始するのは、IOBU
がBUC 50へREQB信号を送る場合である。BC
U 50はバス・ポーリングを開始するためにACKB
線を上昇し、次いでSPDバス(10t−10wの1
つ)が他の動作を自由に開始することができる場合、B
USG線を上昇する。REQB線を上昇したIOBUは
このポールを捕捉し、そしてこれがBUSG信号を検知
するとき、選択サイクルを開始する。このIOBUは、
A/Dバス10t1、C/Sバス10t2、O/Dバス
10t3及び第23図に示した制御線グループ10t4
のMST線を駆動する。これらのバス上のデータが整定
した後、IOBUは制御グループ10t4のMSEL線
を駆動して、IOICスレーブ制御ユニット40bに対
し、このデータが有効であることを通知する。スレーブ
制御ユニット40bはC/Sバス10t2からの‘4
5’指令を解読し、O/Dバス10t3からの‘00’
と突合せる。A/Dバス10t1上のデータはアドレス
・レジスタ20dに置かれ、A/Dバス10t1のビッ
ト0−5はキー・バッファ20cに置かれる。次いで、
IOICは使用中線を上昇して、IOBUに対しその動
作を継続するように通知する。この時間の間、IOBU
はREQB線を下降し、BCU 50はACKB線を下
降する。使用中信号を検知すると、IOBUはMSEL
線を下降し且つこれらのバスの駆動を停止する。MSE
L線が停止した後、IOICは使用中線を下降し、BC
U 50はBUSG線を下降して当該選択サイクルを終
了する。第1データ・サイクルが開始するのは、IOB
Uがデータで以てA/Dバス10t1を駆動し且つその
アドレス以てO/Dバス10t3を駆動する場合であ
る。これらのバスが整定した後、IOBUはMSEL線
を上昇してこのバス・データが有効であることを指示す
る。スレーブ制御ユニット40bは、A/Dバス10t
1からのデータを、そのアドレスによってポイントされ
た偶数のデータ・バッファ20aへ置く。もしエラーが
あれば、スレーブ制御ユニット40bはステータス(第
27図)でC/Sバス10t2を駆動し、このバスが整
定するのを待機した後、使用中線を上昇する。このIO
BUはMSEL線を下降し、A/Dバス10t1の駆動
を停止する。IOICスレーブ制御ユニット40bは使
用中線を下降し、C/Sバス10t2の駆動を停止して
第1データ・サイクルを終了する。これらのデータ・サ
イクルが進行している間、第13図のメモリ動作コード
翻訳ユニット40cは‘45’指令を取出し、‘B8’
メモリ動作コードを発生し、これをアドレス・レジスタ
20dのバイト0に置く。第2データ・サイクルが開始
するのは、IOBUがデータで以てA/Dバス10t1
を駆動する場合である。このバスが整定した後、IOB
UはMSEL線を上昇してこのバス・データが有効であ
ることを指示する。スレーブ制御ユニット40bは、A
/Dバス10t1からのデータを、このアドレスによっ
てポイントされた奇数データ・バッファ20aに置く。
かくて、IOICはすべてのデータを有するので、スレ
ーブ制御ユニット40bは当該動作をアダプタ・バス制
御30へ引渡し、そして該制御がスレーブ制御ユニット
40bへ最終ステータスを与えるまで、SPDバスを維
持する。アダプタ・バス制御30のメモリ動作コントロ
ーラ30dはIOIC要求線を上昇し、次いでIOIC
許可信号を待機する。コントローラ30dがIOIC許
可信号を受取る場合、これは次のサイクルのT0からT
0までK/Sバス10n2及びアダプタA/Dバス10
n1を駆動する。K/Sバス10n2は370キーを保
持し、アダプタA/Dバス10n1は第1アドレス・レ
ジスタ20dを保持する。アドレス・レジスタ20dの
バイト0はメモリ指令(表−3参照)であり、バイト1
−3は開始メモリ・アドレスである。コントローラ30
dは、次の2データ・サイクルの間のT0からT0ま
で、2つのデータ・バッファ20aをアダプタA/Dバ
ス10n1に置く。メモリ制御10g(第24図参照)
がIOIC許可信号の後のサイクルで指令及びアドレス
を受取る場合、これはA/Dバス10n1からの情報を
指令/アドレス・レジスタへゲートする。この同じサイ
クルの間にK/Sバスに存在するキー・データは、I/
Oキー・レジスタへクロック入力される。指令及びアド
レスの後のサイクルは、アダプタA/Dバス10n1を
介して送られ且つデータ入力レジスタ60aへクロック
入力された第1データを保持する。もしI/Oキー・レ
ジスタのビット4がゼロであれば、これと同じ第2サイ
クルの間に、指令/アドレス・レジスタ60i内のアド
レスが370オフセット・レジスタ60jへ加算され
る。もしビット4が1であれば、370オフセット値の
代わりにゼロ値が使用される。加算器60kから得られ
る加算の結果はキー・スタック・アレイ60hへゲート
され、該アレイは要求されたメモリ・アドレスに対する
キー値をアドレスする。キー・スタックの出力は、キー
・データ・レジスタ60gへゲートされる。かくて、キ
ー・データ・レジスタ60g内のキー・データは、エラ
ー検出論理60mによって、I/Oキー・レジスタ60
f内のキーと比較される。もしこのキーが受諾可能であ
れば、I/Oステータス・レジスタ60eへゲートされ
たステータスは、正常なステータスを指示する。さもな
ければ、メモリ保護チェックの指示がこのレジスタへセ
ットされる。第2データ・サイクルでは、データ入力レ
ジスタ60a内のデータがデータ出力レジスタへクロッ
ク入力されるのに対し、アダプタ・バス10n1からの
データはデータ入力レジスタへクロック入力される。エ
ラー条件が存在しないと仮定すると、加算器60kから
の結果的なアドレスは、この同じサイクルの間に、メモ
リ・バス10fのバイト1−3に置かれる。メモリ・バ
スのバイト0は、値x‘F8’で駆動される。これは2
ステップの読取−変更−書込みメモリ動作の第1サイク
ル指令である。このサイクルの間メモリ指令時間(メモ
リ制御バス10h上の信号の1つ)が駆動され、データ
・キャッシュへのI/O要求信号も駆動される。後者の
信号は、データ・キャッシュに対し、指令及びアドレス
をその論理へゲートするように通知する。こうすること
により、キャッシュの探索を行って、キャッシュ内の更
新中のデータが存在するか否か、また当該ライン内のデ
ータが変更されているか否か、ということを決定するこ
とができる。もしデータが存在すると、これが変更され
ていなければ、キャッシュはこのライン・データを無効
化し、メモリ動作がメモリ・カード内で行われることを
可能にする。しかし、もしデータが存在し且つ当該ライ
ン内のデータが変更されておれば、データ・キャッシュ
は、この指令の後の2サイクルに受取られるデータを使
用して指定されたキャッシュ・ライン内の適当なデータ
を修正する。メモリ制御10gによって送られる情報
は、データ出力レジスタ60bからゲートされる。メモ
リ制御10gによって送られる第2データ・サイクルの
情報は、データ入力レジスタ60aからゲートされる。
これらの2つのデータ・サイクルは、メモリ・カードへ
クロック入力されない。この間、選択されたメモリ・カ
ードは、指令サイクル中にバイト1−3に与えられたア
ドレスによってアドレスされたメモリ位置をアクセスし
ている。3つのアクセス・サイクルが経過した後、この
メモリ・カードはメモリ・データ有効信号を送り、当該
アクセスが終了したことを指示する。2ワードのデータ
はそのデータ・レジスタにあるから、このメモリ・カー
ドは今や2サイクルの読取り−変更−書込みメモリ動作
のうちの書込み部分を受諾することができる。メモリ・
データ有効信号を受信した後のサイクルは、メモリ制御
に対し、メモリ指令時間を再び送り且つアドレスをメモ
リ・バス10fのバイト1−3に再びゲートするように
通知する。かくて、バイト0はx‘B8’指令を保持
し、これは依存として指令/アドレス・レジスタ60i
内にある。この指令の後の次の2サイクルは、データ出
力レジスタ60b内の第1データを保持し、続いてデー
タ入力レジスタ60a内のデータを保持する。データを
メモリ・カードへ転送した後の各サイクルでは、入力パ
リティ線はエラーが検出されたか否かを指示し、もしこ
れが活勢であれば、エラー検出論理60mへゲートさ
れ、次いでI/Oステータス・レジスタ60eへ供給さ
れる。第2データ・サイクルの後、第11図のメモリ動
作コントローラ30dはIOIU 10eからのデータ
有効信号を待機し、次いでIOIU 10eからステー
タス・バス上の最終的な書込みステータスを得るために
4サイクルをカウントする。スレーブ制御ユニット40
bはアダプタ・バス制御30からこの最終ステータスを
受取り、終了ステータスをC/Sバス10t2に置く。
このバスが整定するのを待機した後、スレーブ制御ユニ
ット40bは使用中線を上昇して、マスタ制御ユニット
40aに対し、IOIC内のメモリ書込動作が完了した
ことを通知する。IOBUはMSEL線を下降し、次い
でA/Dバス10t1及びO/Dバス10t3の駆動を
停止する。スレーブIOIC(スレーブ制御ユニット4
0b)がこのMSEL線の下降を検知する場合、これは
使用中線を下降し、C/Sバス10t2の駆動を停止す
る。かくて、IOBUマスタ制御ユニット40aは、M
ST線を下降して当該動作を終了することができる。
E1.0 計算機システム 本発明を組込んだ計算機システムの構成を第1図に配設
雌。この計算機システムは、複数の記憶位置にデータを
記憶するランダム・アクセス・メモリ100及び該メモ
リ100に接続されたメモリ制御装置102を含む。メ
モリ制御装置102はアダプタ・バス104に接続さ
れ、アダプタ・バス104から受取ったDMA要求に応
答してDMA読取り/書込み動作を実行する。またメモ
リ制御装置102は、各メモリ動作が首尾よく完了した
かどうかを示すステータス信号をアダプタ・バス104
に出す。
第1図のシステムは、アダプタ・バス104の他に複数
のSPDバス106、108及び110も含む。各SP
Dバスには複数の入出力プロセッサ(IOP)が接続さ
れている。各SPDバスとアダプタ・バスの間に接続さ
れているのが入出力インターフェース制御装置(IOI
C)112、114及び116である。IOICは、ア
ダプタ・バス104と関連するSPDバスとの間でデー
タ及び制御情報を転送するために、アダプタ・バス10
4のアクセスを要求する。
IOIC112のところに示すように、IOICは関連
するSPDバスに接続されたIOPからの要求に係るD
MAメモリ動作を実行する複数の共用DMA機構(サー
バ)を含む。各DMA機構は、メモリ制御装置102と
特定のIOPとの間を転送されるデータ及び制御情報を
記憶するためのバッファ118と、バッファ118、ア
ダプタ・バス104及び関連するSPDバスに接続され
たバス・インターフェース制御部120とを含む。バス
・インターフェース制御部120は、バッファ118と
メモリ制御装置102との間でアダプタ・バス104を
介して、及びバッファ118とIOPとの間で関連する
SPDバスを介して、データ及び制御情報を独立に転送
するためのものである。このようにして、DMA動作が
特定のIOPにより開始された後のメモリ待ち時間の
間、関連するSPDバスはそれに接続された他のIOP
による利用に備えて解放される。
各IOICに設けられる複数の共用DMA機構は並列に
接続されている。各DMA機構は、関連するSPDバス
に接続されたIOPからのDMA動作要求を実現するよ
う働く。従って、或るIOICにあるそれぞれのDMA
機構はそれぞれ異なったIOPに対して同時にサービス
を提供することができる。或るIOPから関連するIO
ICにDMA初期設定ユニット動作メッセージが送られ
ると、当該メモリ動作に対して特定の共用DMA機構が
割振られる。IOICは、特定のDMA機構を使用可能
にすると、当該要求に答えるために調停を行い、バス・
マスタになる。IOICは、このメモリ動作を開始した
IOPを、そのDMAポート番号を持ったバス・スレー
ブとして選択する。IOICがこのDMAポート番号を
選択する度に、必要なパケット転送のための制御情報が
送られるが、アドレスがSPDバスへ供給されることは
ない。
E1.1 システム動作 第41図は、IOPからIOIC/BCUへのDMA初
期設定ユニット動作メッセージの転送から始まる完全な
DMA動作の流れを示している。図中の星印*は、IO
IC/BCU及びIOPの何れもがDMA動作を終了さ
せられる(例えば、IOPからIOICへ停止コードを
送ることによって)ことを示す。このような終了がなけ
れば、要求されたすべてのデータ・パケットを転送した
後、プロセスは終了する。一旦終了すると、IOPは共
用DMA機構の割振りを要求するために別のDMA初期
設定ユニット動作メッセージをIOICに送らなければ
ならない。
第42a図はSPDバスを有する従来の計算機システム
の読取り動作におけるメモリ待ち時間を示し、第42b
図は同じく書込み動作におけるメモリ待ち時間を示す。
前述のように、本発明は、読取り待ち時間又は書込み待
ち時間の間SPDバスを解放することによって、メモリ
待ち時間の問題を解決する。
DMA指令を開始するのに必要なDMA初期設定ユニッ
ト動作メッセージを第43図に示す。このメッセージの
フォーマットは1つの選択サイクル及び2つの固定デー
タ・サイクルから成る。このメッセージは、動作タイプ
(読取り/書込み)、DMAポート番号、アドレス、保
護キー、システム補助メモリ・ビット(セットされてい
ると、私用メモリのアクセスを表わす)、付加的なシス
テム検査ビット及び転送バイト・カウントを含む。
第43図から分るように、DMA初期設定ユニット動作
メッセージは12バイトの情報から成り、IOP(要求
元)からSPDアドレス/データ・バスを介してIOI
C(DMA機構すなわちサーバ)へ送られる。動作を開
始したIOPは5ビットのSPDオリジン/宛先バスに
より識別される。DMA機構による制御及びSPDバス
の解放を可能にするには次の情報が必要である。
(1)リモートDMA動作のタイプ(2ビット必要) (2)IPOポート番号(8ビット。これより多くても少
なくてもよい) (3)最大データ・パケット・サイズ(3ビット。これよ
り多くても少なくてもよい) (4)DMAバイト・カウント(16ビット。これより多
くても少なくてもよい) (5)ホスト計算機メモリ・アドレス(32ビット。これ
より多くても少なくてもよい) 特定のホスト・システム(IBM370XA計算機)に
のみ関係する情報として次のものがある。
(1)補助メモリ選択(1ビット) (2)アドレス限界モード検査制御(2ビット) (3)記憶保護キー(4ビット) 上の3つはすべてのシステム・アーキテクチャ或いはア
プリケーションで要求されるわけではない。
DMA初期設定ユニット動作メッセージの内容を変える
ことによって、共用DMA機構の動作を適応化或いは改
善することができる。具体的に云うと、IOPからIO
ICへ送る12バイトが例えば次のように再定義され
る。
(1)ホスト計算機メモリ・アドレスを拡張する。
(2)最大パケット・サイズを大きくする。
(3)既存のSPDバス優先順位信号の範囲を超えた動作
優先順位(緊急)を知らせるビットを定義する。
各種バスにおけるリモート読取りバス動作サイクルを第
44a〜44c図に示す。第44a図はA/D(アドレ
ス/データ)バスの動作サイクルを示し、第44b図は
C/S(指令/ステータス)バスの動作サイクルを示
し、第44c図はO/D(オリジン/宛先)バスの動作
サイクルを示している。前述のように、メモリ動作が終
了すると、IOICはその共用DMA機構を別のIOP
に割振るべく解放される。最初のデータ・サイクルで、
IOPは転送可能な別のパケットを持っているかどうか
を、C/Sバスを介してIOICに知らせることができ
る。もしIOPが別のパケットを持っていなければ、第
44b図に示すように、IOPはDMA動作を終了させ
ることができる。メモリ動作を進めて別のパケットを転
送できるのは、IOP及びIOICの両方が続行に同意
した場合だけである。リモート読取り動作のバス・プロ
トコルは、IOPがデータをA/Dバスに置き且つ作動
可能タグ(RDY)で有効性を示すことを除くと、リモ
ート書込み動作のものと同様である。
A/Dバス、C/Sバス及びO/Dバスにおけるリモー
ト書込み動作サイクルをそれぞれ第45a〜45c図に
示す。C/Sバスは、最初のバス・サイクルではリモー
ト書込み指令を含み、後続のサイクルではIOPからの
のステータスを含む。A/Dバスは、選択サイクルでは
IOP DMAポート番号(このDMA動作に関連する
DMAポート)、DMA終了及びステータス情報を含
み、後続のバス・サイクルではIOICからのデータを
含む。O/Dバスは、最初のサイクルではIOPアドレ
スを含み、後続のサイクルではIOIC(BCU)アド
レスを含む。これはIOICにより駆動される。
最初のバス(選択)サイクルでIOICからIOPへ送
られるステータスは、当該動作に関連するDMAポート
番号、DMA終了、無効メモリ・アドレス(私用又はシ
ステム)、記憶保護違反、無効パケット・サイズ指定、
及びメモリ・エラー(ECC等)である。パケット・ス
テータスの転送に関連して、IOICは、DMA動作を
終了させようとしているのか、又は割振られたIOP
DMAポート番号を用いて続行しようとしているのかを
IOPに知らせることもできる。動作を終了させると、
IOICは共用DMA機構を別のIOPへ自由に割振れ
る。
IOPからC/Sバスへ出されるステータスは、データ
終了(パケット転送完了)、無効指令、バッファ使用可
能(IOICは次のパケットをプリフェッチできる)、
及びDMA終了である。最初のデータ・サイクルで、I
OPは転送可能な別のパケットを持っているかどうか
を、C/Sバスを介してIOICに知らせることができ
る。もしIOPが別のパケットを持っていなければ、C
/Sバスに「DMA終了」メッセージを出すことによ
り、IOPはDMA動作を終らせることができる。
E2.0 IOICの共用DMA機構 本発明に従う共用DMA機構及びSPDバスをサポート
するための他のハードウェア機構を有するIOICない
しバス制御ユニット(BCU)の構成を第46図に示
す。共用DMA機構は、IOPと共になって、BCU及
びIOPによるDMA動作の共同処理を可能にするバッ
ファ及び制御部を含む。これらのバッファ及び制御部に
より、BCUは、リモート読取り(バス指令x‘9
D’)、リモート書込み(バス指令x‘DD’)及びD
MA初期設定ユニット動作(バス指令x‘DE’)とい
ったメモリ動作をサポートすることができる。これらの
バッファ及び制御部はIOPメモリ要求(リモート読取
り又はリモート書込み)をバッファし、BCUがIOP
についてのデータ及びステータスを有するようになるま
でIOPがSPDバスを解放できるようにする。これに
より、バスのスループットが高くなる。
E2.1 バッファ機構の説明 IOPが転送データを持っており且つバス・マスタとし
てバスの使用枚を獲得すると、IOPはDMA初期設定
ユニット動作(バス指令x‘DE’)をBCUへ送る。
バス・スレーブであるBCUの解読論理200はバス動
作(x‘DE’)を解読し、データ・サイクル1及びデ
ータ・サイクル2の内容をバッファ機構202へ向け
る。バッファ機構202はBCUおける完全な1組のレ
ジスタ及びデータ・アレイから成り、少なくとも1つの
データ・パケットをバッファし且つIOPと共に全DM
A動作を完了させるのに十分なものである。バッファ機
構は、一旦IOPメモリ要求に割当てられると、あとで
切離されるまで、要求元IOPのための共用DMA機構
として働く。DMA動作が完了するまでに、1つ又は複
数のパケットがSPDバス上を転送される。IOIC
は、ホスト・メモリを1回アクセスしてデータをIOP
へ転送するか、又はホスト・メモリを複数回アクセスし
てデータを複数回IOPへ転送する(ただし、パケット
とパケットの間ではSPDバスを解放する)のに必要な
論理を有する。ホスト・メモリ時間をSPDバスから分
離しておけば、例えば3レベル(L1/L2/L3)の
階層構成でホスト・メモリ時間が増加した場合、I/O
バス・スループットを上げることができる。1つのバッ
ファ機構のレジスタ及びアレイを第47図に示す。
各バッファからの状態情報はバッファ機構制御部204
へ供給される。この制御部204は各バッファ機構を個
々に及び全体的に制御する。制御部204の論理は次の
ような機能を提供する。
DMA初期設定ユニット動作メッセージがBCUに受け
入れられると、DMA動作のために1つのバッファを割
振る。
各機構からの制御情報を使用し、何時SPDバスについ
ての要求を行うかを決定する。
もし2以上の機構が作動可能であれば、バス・アービタ
206によって占有枚を与えられた場合にどの機構が次
のバス・マスタになるかを決定する。
1以上のパケットが要求されている場合に、転送すべき
「合計」バイト、ホスト・アドレス及び各バス・トラン
ザクションで転送される「実」バイトが正確に反映され
るように、何時機構を更新するかを決定する。
各機構からの制御情報を使用して、何時メモリ制御ユニ
ット(SCU)208のサービスが必要になるかを決定
し、もし2以上の機構が作動可能であれば、各IOIC
において何かを選択する。
要求を出しているIOPの数が使用可能なバッファ機構
の数よりも多い場合は、切離すべき機構を選択すること
ができる。
E2.2 DMA初期設定ユニット動作 DMA初期設定ユニット動作メッセージの処理は、バッ
ファ機構制御部204の一部である第48図の論理で次
のように実行される。なお、本実施例ではそれぞれのバ
ッファ機構をFAC0〜FACnで示すことにする。
(1)各バッファ機構からの使用中信号が検査される。も
しすべてのバッファ機構が使用中であれば、x‘DE’
のユニット動作を要求したIOPに「作動不可」ステー
タスが戻される。この時BCUはIOPの要求に答えら
れず、IOPは再び要求を出す必要がある。
(2)使用可能な機構があれば、使用中の機構からのIO
Pポート番号とDMA初期設定動作における入力IOP
ポート番号とが比較される。もし一致が生じると、「ポ
ート番号重複」ステータスがIOPに戻される。これ
は、システムにハードウェア・エラー又はマイクロコー
ド・エラーが生じていることを示す。
(3)上述の何れもが生じなければ、要求されたDMA初
期設定動作に対して次の使用可能な機構が割振られる。
割振られたバッファにDMAパラメータをゲートするた
め、「DMAデータFAC0ゲート」から「DMAデー
タFACnゲート」までのゲート信号のうちの1つが活
動化される。例えば、バッファ機構FAC0が選択され
た場合には、DMA初期設定動作からの情報をFAC0
のレジスタへゲートするため、「DMAデータFAC0
ゲート」が活動化される。ゲートされる情報は以下のも
のである。( )内の数字はビット数を表わす。
−IOPポート番号(8) −リモート書込み(1) −パケット・サイズ(8) −ホスト・アドレス(31) −キー(4) −補助ビット(1) −限界ビット(2) −合計バイト数(16) これが完了すると、DMA初期設定バス・サイクルは終
り、良好バス・ステータスがIOPに戻される(バスは
使用可能)。
上記のDMA初期設定ユニット動作フォーマットは、シ
ステム・アドレッシングを31ビットに増ことによって
システム・アドレスを拡張し、ユニット動作は、既存の
SPDバスに余分のI/Oピンを追加することなく、記
憶保護キー、補助メモリ・アドレッシング及び限界検査
を含む。
E2.3 バッファ・シーケンス状態制御 BCUがDMS動作のパラメータを選択された機構に供
給した後、メモリ要求(リモート読取り又はリモート書
込み)に基いてバスを介するパケット転送を完了させる
べく一連の動作が開始される。動作がリモート読取りで
あれば、BCUは、IOPからパケットを得るためにS
PDバスを要求し、バスを解放し(これはバスのスルー
プットを上げる)、パケットをホスト・メモリに書込
み、そして再びSPDバスを要求して(選択サイクル
で)IOPにメモリ・ステータスを戻す。これで1つの
パケット転送が完了する。別のパケットがIOPで使用
可能であり且つBCUが続行を許すと、この別のパケッ
トが転送される。このシーケンスは、全DMA動作が完
了するまで繰返される。第53a図はこの様子を示して
いる。最初のパケット(SPD1)のステータスは、次
のパケット(SPD2)の選択サイクルになるまで、I
OPは戻されない。またもしBCUがその連鎖された動
作を続けるのであれば、パケット(SPD2)のデータ
・サイクルはc2のところで完了し、このパケットから
のステータスがSPD3の選択サイクルで戻される(以
下同様)。
各バッファ機構はこれらのシーケンスを制御する1組の
状態を有する。例えば、FAC使用中状態は機構が使用
中かどうかを示す。この状態がオフ(使用可)であれ
ば、他のすべての状態及びレジスタ情報は有効ではな
い。FAC使用中状態、「リモート書込み」ビット及び
シーケンス制御状態(r,s及びt,u)は、所与のD
MA動作の各段階についての必要な動作を指示する。D
MA初期設定ユニット動作に続くリモート書込み及びリ
モート読取りの詳細な制御シーケンスを下記の表−6及
び表−7にそれぞれ示す。
上表中の状態を表わすアルファベットの意味は次の通り
である。
B−バッファ機構の使用中状態 W−リモート書込み r,s−SPDバス要求シーケンス制御状態。機構が何
時SPDバスのサービスを要求するかを制御する。
t,u−SCU要求シーケンス制御状態。機構が何時S
CUメモリ・サービスを要求するかを制御する。
x−SPDバス転送又はSCU転送の「実パケット・サ
イズ(バイト)」を決定する時にオンにセットされる。
BCUは、DMA初期設定ユニット動作でIOPから与
えられたアドレス、DMA転送カウント(1〜64Kバ
イト)及びパケット・サイズに基いて、各バス・サイク
ルで転送される実際のバイト数を計算しなければならな
い。
各バス転送で使用される実バイトは第51図の回路で決
定される。ホスト・アドレスはパケット(PP)境界上
にあるかどうかを検査される。パケット(PP)・サイ
ズは、異なったIOPからのDMA初期設定ユニット動
作毎に変わることがある。与えられた値はパケット境界
検査(アドレスがPP境界にあるかどうか)に使用され
る。IOICは、4、8、16…256バイトの範囲の
パケット・サイズを受入れることができる。「合計バイ
ト」はPPサイズと比較され、その結果は、合計バイト
がPPサイズ以上の場合(合計サイズ≧PP)と、合計
バイトがPPサイズよりも小さい場合(合計バイト<P
P)とに分けられる。
下記の表8における左側の3列は、上述のパケット境界
検査及び比較の様子を示している。最初及び3番目の場
合、合計バイト・カウントが「実パケット(PP)」レ
ジスタにゲートされる。これは、SPDバス上を又はホ
スト・メモリから転送されるバイトを表わす。2番目の
場合、PPサイズ・カウントが「実パケット(PP)」
レジスタにゲートされる。これは、SPDバス上を又は
ホスト・メモリから転送されるバイトを表わす。4番目
及び5番目の場合、ホスト・アドレスはパケット境界上
のない。アドレス・レジスタにあるビットのうちゼロか
どうかを検査されるアドレス・ビットの数は、DMA初
期設定ユニット動作で与えられたパケット・サイズによ
って決まる。例えば、パケット・サイズが64バイトで
あったなら、アドレス・ビット26〜31がゼロ検査の
対象になる。もしゼロでなければ、その相補値が転送バ
イト・カウントとして使用される。すなわち、アドレス
・ビット26〜31の相補値が「実パケット(PP)」
レジスタにゲートされ、SPDバス上を転送されるバイ
トの数を示す。これは表−8において「L1」で表わさ
れている。
この論理には2つの段階がある。最初の段階は、所与の
SCU転送又はSPDバス転送における転送バイトを決
定するだけでよいが、第2の段階は、BCU及びIOP
がDMA動作の連鎖を決めた場合に、ホスト・アドレス
及びDMAバイト・カウントを更新して、その更新値を
用いて次の転送パケットを決定する必要がある。この論
理の最初の段階は、表−6に示したリモート書込みのケ
ース2で必要とされ、第2の段階はケース9で必要とさ
れる。リモート書込みの場合、連鎖が決まると、BCU
は再びSPDバスに接続する前に、その共用DMA機構
を用いて次のパケットをプリフェッチする。これにより
バス時間が減少し、従って帯域幅が増える。リモート読
取りの場合、前パケット・ステータス及び現パケットが
同じバス動作で転送されるので、スループットが上が
る。
E2.4 SPDバス上の次のBCU(DMA)マスタ 或る機構がその異なった段階を経て活動している時にS
PDバスが必要になると、当該機構に対して制御変数
r,sが“10”状態にセットされる。これは、表−7
のリモート読取りにおけるケース4及びケースCとして
示されている。第49図に示すように、各機構のr,s
が“10”状態にあるかどうかを示す線はOR結合され
て、SPDバスに対する単一の要求線(REQB)にな
っている。各機構からのFAC使用中、r,s,t,u
及びリモート書込みを示す信号はバッファ機構制御部2
04へ供給される。バッファ機構制御部204は、これ
らの情報に基いて、バス・アービタ206によりSPD
バスの使用が許された時にSPDバス・マスタになる次
の機構を選択する。その時、バス・マスタとして使用さ
れるバッファをゲートするための信号(FAC0バス・
マスタ〜FACnバス・マスタ)が活動化される。
バス・マスタの選択は、BCU待ち行列に保持されてい
た時間(古いもの程優先順位が高い)、及びメモリ要求
のタイプ(リモート書込み又はリモート読取り)に基い
て行われる。リモート読取りでIOPからパケットを得
るための初期バス動作(シーケンス・マシンt,u=
“−0”対“−1”で見分ける)を除き、選択された機
構はIOPへのパケット転送を完了したか、又は完了し
かけている。選択された機構は切離しの候補にもなり得
る。すなわち、BCUは別のIOPによる使用に備えて
このバッファ機構を解放し得る。バッファをIOICか
ら切離すための信号(DISC)は、すべての機構が使
用中で且つIPLの間にセットされたIPL初期設定ト
リガが切離しの希望を示している場合にのみ発生され
る。BCUによる切離しは、それによってパフォーマン
スを上げようとするシステムの規模に基いて、IPL毎
に行われたり、行われなかったりする。この信号は、A
/Dバス上の選択サイクルの一部としてセットされる。
動作がリモート書込みであれば、BCUからのパケット
が転送された(バス完了)後、それによって共用DMA
機構が解放される。リモート読取りの場合、バス動作
は、選択サイクル後BCUがどのようなデータも転送す
ることなく前パケット・ステータスを戻した時に終る。
BCUによる切離しが望ましくなければ、IOPだけ
が、BCUの速度と同期をとれなかった時に共用DMA
機構から切離すようにすることも可能である。これは、
従来のシステムよりもハードウェアの融通性を増し、パ
フォーマンスを上げる。
E2.5 SPDバス調停(アービトレーション)及び
バッファ管理 バッファ資源の管理を助けるためSPDバス・アービタ
を使用する。SPDバスはバス要求線の他に3本の線を
含み、4レベルのバス要求優先順位を実現している。優
先順位は次のように割当てられる。優先順位 機 能 00 重要な要求(例えばCCW/IDAW/ データ要求) 01 通常のユニット動作(I/O開始) メッセージ、応答 10 通常のユニット動作(メッセージ) 11 DMA初期設定動作 すべてのバッファが使用中であれば、それを示す信号が
別にバス・アービタ206(第46図)へ送られ、もし
バス要求があると、バス・アービタ206は優先順位線
を調べる。優先順位が“01”又は“10”であれば、
バス・アービタ206はバス要求を普通に処理するが、
優先順位が“00”又は“11”の要求であれば、バス
・アービタ206は調停を禁止し、バッファがSPDバ
ス・サイクルの実行に使えるようになるまで待つ。
上述のバス管理アルゴリズムによれば、IOICバッフ
ァは、作動不可ステータスを戻すためのバス・サイクル
を実行することなく、BCUの待ち行列に要求が入って
いるIOPに対して迅速にサービスすることができる。
バッファは別のIOPによる使用に備えて解放され得
る。
E2.6 SCUサービスのための次の機構 メモリ・サービスのための論理(第50図)は、SCU
サービスの要求を示す制御状態t,u=“10”につい
て各機構を走査する。各IOIC内では、これらのt,
u=“10”状態はOR結合されて単一のサービス要求
線になっており、またどのIOICがSCUに対する次
の要求元になるかを決める共通機能がある。この共通機
能は、メモリをI/Oサービスに使用できる時に、メモ
リ要求実行のための所定のバッファ(すなわち共用DM
A機構)を既に持っているIOICに「受諾」を知らせ
る。
E3.0 IOP共用DMA機構 共用DMA機構のIOP部分を第52図に示す。IOP
はI/O動作に必要な他の部分(I/O装置へのインタ
ーフェース等)も含んでいるが、それらは本発明の理解
に必要ないので、以下ではこの機構だけを説明する。図
示の機構はSPDバスに接続されたツイン・バッファな
いしピンポン・バッファA0及びA1を含む。これはI
OPメモリへのパスも持っており、またI/O装置バス
に直接接続することも可能である。この対になったピン
ポン・バッファは、共用DMA動作でBCUに接続され
る場合に、1つの共用IOPポートの論理部分を構成す
る。ピンポン・バッファは、IOPをSPDバスから切
離すことが必要になる前に、共用DMA動作で少なくと
も2回のパケット転送を可能にする。
IOPは、I/O動作を開始する命令をホストから通常
のメッセージで受取る。この通常メッセージに含まれる
情報はIOPによりDMA初期設定ユニット動作メッセ
ージに変換される。IOPは、最初のDMA初期設定ユ
ニット動作メッセージをBCUへ送る前に、ピンポン・
バッファの書込みを行う。リモート読取りの場合、IO
PはL0及びL1で必要なバイト数を決定し、A0及び
A1をデータで満たす。リモート書込みの場合、IOP
はDMA初期設定ユニット動作を開始する前に長さフィ
ールドL0及びL1を決定する。リモート読取りでその
後切離しなしにデータ転送を続けるためには、BCUが
IOPを再びDMAスレーブとして選択する前に、これ
らのバッファを新しいデータで満たすことが重要であ
る。リモート書込みの場合は、これと反対にBCUがI
OPを再びDMAスレーブとして選択する前に、データ
を(IOPメモリ又は装置へ)取り出すことが重要であ
る。
IOPメモリと装置の速度差のため、IOPはBCUに
よって選択された時に必要なバッファを一杯に保つこと
ができなければ、バスから切離すための機構を有する。
切離し点のところからのDMA初期設定ユニット動作メ
ッセージによる再始動はIOPによってなされる。DM
A初期設定ユニット動作及び切離し技術を用いることに
より、システム・アドレッシング(キー、補助メモリ等
を含む)を拡張すること、及びI/Oバス帯域幅を拡げ
ることが可能になる。
これらの動作のタイミングを第53a〜53c図に示
す。図において、SPD1、SPD2等はパケット1、
パケット2等の始まりを表わし、c1、c2等はパケッ
ト1、パケット2等の完了を表わし、2重の点線は、S
PDバスに関係しない時間を表わす。IOPが単一IO
Pポートについてこれらのバッファを満たす時間(例え
ばリモート読取りにおいては、c1からSPD3パケッ
トまでの時間)はSPDバス時間には含まれず、従って
バス帯域幅を拡げることができる。I/O装置又はメモ
リの速度との非同期のため、IOPが必要なバッファを
一杯に保つことができなければ、別のIOPがBCU共
用DMA機構を使用できるようにするため、IOPはS
PDバスからの切離しを行う。IOPは、切離し点から
再開できるように、一組のホスト・アドレス及び合計バ
イト値を保持する。リモート書込みの例は、BCU及び
IOPメモリとインターフェースするピンポン・バッフ
ァを設けた理由を明らかにしている。BCUが最初のパ
ケットを転送すべくIOPを選択した時、IOPはDM
A動作を維持できるかどうかを、選択サイクルに続い
て、すなわち遅くとも最後のデータ・サイクルまでの任
意のデータ・サイクルでBCUに知らせなければならな
い。BCUからの最初のパケットを受入れるのにA0が
使用されているので、連鎖動作を維持するには別のパケ
ット・バッファ(A1)が必要である(第53c図のリ
モート書込みの場合、c1の前まで)。別の例として、
IOPは、(A1へ)転送されている2番目のパケット
の最終データ・サイクル(第53図にc2として示され
ている)までにA0にあるデータをIOPメモリ(又は
I/O装置)に置く必要がある。さもなければ、IOP
はSPDバスからの切離しを行わねばならない。
E3.1 IOP共用DMA機構及び制御 BCUへ送られ、IOPに保持されるDMA初期設定ユ
ニット動作情報は次のものを含む。
IOPポート リモート書込み パケット・サイズ ホスト・アドレス キー 補助ビット 限界ビット 合計バイト IOPは、次のDMAバス・スレーブとして選択される
ことを見越して、BCUと同時にホスト・アドレス、合
計バイト及び転送バイトを更新する。BCUがIOP及
びこのポートを選択した時(IOPは2以上のDMAポ
ートを持っていることがある)、これらの値はBCUで
計算された値と一致していなければならない。BCUは
(A/Dバス上の選択サイクルで示された)このパケッ
ト転送に対する転送バイトを指示する。これは、IOP
で決定された転送バイトと一致していなければならな
い。DMA動作を完了するのに必要なホスト・アドレス
及び残余合計バイトはIOPとBCUの間を転送されな
い。それらはバス動作の完了時に更新され、転送された
バイトの数を示す。BCU配設またはIOPが切離しを
決めた場合、その時点までIOP及びBCUに保持され
ているこれらの値は、IOPから与えられるDMA初期
設定ユニット動作メッセージでDMA動作を再開する時
に使用される。
A0バッファ及びA1バッファは、BCUへ転送するバ
イトの数を示すL0フィールド及びL1フイールドを有
する。次にSPDバスを使用するのがどちらのバッファ
であっても、その長さフィールド(L0又はL1)は、
BCUによりDMAバス・スレーブとして選択された時
に、転送すべきバイトの数を含む。長さフィールドの値
は、バス動作の開始時にIバイト機構300に置かれ
る。Iバイト機構300の値は、BCUが再びデータを
転送するためにこのポートを選択するまで変化しない。
リモート読取りの場合、転送されたパケートについての
ホスト・メモリ・ステータスは次のパケット・サイクル
までは戻されない。IOPは、BCUがホスト・メモリ
の異常ステータス(アドレッシング、記憶保護等)を示
した場合に、Iバイト機構300を用いることによっ
て、アドレス及びDMAバイト・カウントを再構成する
ことができる。
どちらのバッファ(A0又はA1)が次にSPDバスを
使用するかは次ポインタによって示される(第53b図
参照)。このポインタは、IOPがDMAバス・スレー
ブとしてBCUにより選択される前にバッファを指示
し、第53b図に示すようにバス・サイクルの完了に伴
って更新される。このポインタは、L0/A0又はL1
/A1に関連する有効状態と共に、バッファがバス動作
の要求に答えることができるかどうかを決定する。L0
フィールド及びL1フィールドはDMA動作の開始時に
マイクロコードによってセットされる。BCUが動作を
受入れた後は、後続の値はマイクロコードの助けなし
に、更新されたホスト・アドレス及び合計バイトから得
られる。リモート読取りの場合、長さフィールド(L0
又はL1)は、SPDバス・サイクルの完了時に(バッ
ファを再び自由に使用できる)もし必要であれば、新し
い値で更新される。リモート書込みの場合、このフィー
ルド(L0又はL1)は、バッファ中のデータがIOP
メモリ又はI/O装置に書込まれた時に(バッファを再
び自由に使用できる)もし必要であれば、新しい値で更
新される。次ポインタの値、A0、A1、L0及びL1
の状態(有効)、並びに共用DMAポートに対するそれ
らの関係を次に示す。
BCUがこのポートを選択し、次ポインタがL1/A1
を示していた場合: A.動作はリモート読取り L1=有効。−このフィールドは有効な値で更新されて
いる。
A1=有効。−IOPメモリ又はI/O装置からL1バ
イトのデータが取出されて、バッファに書込まれてい
る。
DMA連鎖動作を続けるには両方の条件を満たしていな
ければならない。BCUがこのポートを選択した時に何
れかの条件が満たされていないと、IOPをSPDバス
から切離して、条件が満たされた時にDMA初期設定ユ
ニット動作により再始動しなければならない。
B.動作はリモート書込み L1=有効。−このフィールドは有効な値で更新されて
いる。
A1=有効でない(空)。−データ内容がIOPメモリ
に書込まれたか、又はバッファが初期設定された。
BCUがこのポートを選択した時には両方の条件を満た
していなければならない。さもないと、IOPとSPD
バスから切離して、条件が満たされた時にDMA初期設
定ユニット動作により再始動しなければならない。
E3.2 制御状態に影響を及ぼす条件 IOP共用DMA機構の制御でキーとなる条件は、SP
Dバスにおける事象及び転送である。これらの条件、並
びにそれらがどうのようにホスト・アドレス、DMA合
計バイト、次ポインタ、L0、1状態、及びA0、1状
態に影響を及ぼすかを下記の表−9〜表−12に示す。
F.発明の効果 本発明によれば、共通メモリ(ホスト・メモリ)に対す
るメモリ待ち時間の間、SPDバスが解放されるので、
他のIOPはその間SPDバスを使用することができ、
従って入出力処理のスループットを上げることができ
る。
【図面の簡単な説明】
第1図は本発明に従う計算機システムの構成を示すブロ
ック図、 第1a図は従来の計算機システムの構成を示すブロック
図、 第1b図及び第1c図は第1a図のシステムにおけるメ
モリ待ち時間を示す図、 第2図はレジスタ及びバッファ部、アダプタ・バス制
御、SPDバス制御並びにバス制御ユニット(BCU)
を含む、第1図のIOICのブロック図、 第3図は第1a図の入出力バスユニット(IOBU)、
IOIC及び調停論理/IOIU/メモリ制御に関連す
るインタフェース部を強調するように第1a図の一部を
拡大して示すブロック図、 第4図は宛先選択レジスタ及びステータス・レジスタを
含む、第2図のIOICのレジスタ及びバッファ部を示
すブロック図、 第5図は第4図のレジスタ及びバッファ部の宛先選択レ
ジスタを示す図、 第6図ないし第10図は第4図のレジスタ及びバッファ
部に含まれる複数のステータス・レジスタを示す図、 第11図は第2図のアダプタ・バス制御を示すブロック
図、 第12図は第2図のSPDバス制御及びBCUを示すブ
ロック図、 第13図は第2図及び第12図のSPDバス制御を一層
詳細に示すブロック図、 第14図はBCU、IOIC 10j−10m及びIO
BU 10p−10sの他の編成を概略的に示す図、 第15図は13図のマスタ制御ユニットの構成を一層詳
細に示すブロック図、 第16図は第4図の宛先選択レジスタの構成を一層詳細
に示す図、 第17図は第13図のスレーブ制御ユニットの構成を一
層詳細に示すブロック図、 18図は第5図のデータ・バッファ20aに関連するア
ドレッシング手法を示す図、 第19図は第13図のメモリ動作コード翻訳ユニットの
構成を一層詳細に示すブロック図、 第20図は第4図のアドレス・レジスタ20dの詳細な
レイアウトを示す図、 第21図は第2図及び第12図のBCUの構成を一層詳
細に示すブロック図、 第22図は、第2図のBCU機能を説明するために、S
PDバスを構成する3つのサブ・バスを含む、IOIC
及び他のIOBUの編成を示す概略ブロック図、 第23図は第1a図のアダプタ・バスIOIC及びSP
Dバスを一層詳細に示すブロック図、 第24図は第1図のメモリ・コントローラ10i、10
e、10g、アダプタ・バス・インタフェース10n及
びメモリ・バス・インタフェース10fのデータ流を示
すブロック図、 第25図はキー/ステータス(K/S)バスのビット・
レイアウトを示す図、 第26図は指令/ステータス・バスにおける指令ビット
のレイアウトを示す図、 第27図は指令/ステータス・バスにおけるステータス
・ビットのレイアウトを示す図、 第28図ないし第33図はアダプタ・バスに関連するタ
イミング・シーケンスを示す図、 第34図ないし第40図はSPDバスに関連するタイミ
ング・シーケンスを示す図、 第41図はIOPがDMA動作を開始した時の動作の論
理シーケンスを示す図、 第42a図及び第42b図は従来のシステムにおけるメ
モリ待ち時間を示す図、 第43図はDMA動作を開始するためのDMA初期設定
ユニット動作メッセージを示す図、 第44a図、第44b図及び第44c図はリモート読取
りのバス動作サイクルを示す図、 第45a図、第45b図及び第45c図はリモート書込
みのバス動作サイクルを示す図、 第46図は共用DMA機構を有するBCUの構成を示す
ブロック図、 第47図は共用DMAバッファ機構の構成を示すブロッ
ク図、 第48図はDMA初期設定ユニット動作のためのBCU
バッファ割振りを示す図、 第49図はSPDバス要求に伴うバス・マスタの選択を
示す図、 第50図はSCU要求を示す図、 第51図は転送バイト及びアドレスの更新を示す図、 第52図はIOP共用DMAポート機構を示すブロック
図、 第53a図、第53b図及び第53c図はSPDバスに
おけるピンポン・バッファA0及びA1のタイミングを
示す図である。
フロントページの続き (72)発明者 リチヤード・アレン・ケリイ アメリカ合衆国フロリダ州コーラル・スプ リングス、ノース・ウエスト81テラス240 番地 (72)発明者 ワン・リン・リユーング アメリカ合衆国フロリダ州コーラル・スプ リングス、ノース・ウエスト114テラス 3277番地 (72)発明者 ジエームズ・セオドレ・モイヤー アメリカ合衆国ニユーヨーク州エンドウエ ル、フオーレスト・ロード1018番地 (72)発明者 マーク・カール・スネダカー アメリカ合衆国ニユーヨーク州ヴエスタ ル、ボツクス26、スチユワート・ロード (番地なし) (56)参考文献 特開 昭61−117651(JP,A) 特開 昭53−63834(JP,A) 特開 昭62−203249(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】メモリ及び複数の入出力プロセッサとの間
    で直接メモリアクセス(DMA)の実行を可能とする計
    算機システムであって、前記メモリは入出力インターフ
    ェース制御装置によってメモリ制御装置を介してアクセ
    スされ、前記入出力プロセッサは入出力バスを介して入
    出力インターフェース制御装置と通信し、 前記各入出力プロセッサは、前記メモリ内の命令された
    位置へデータを転送し、または該位置からデータを受信
    するためのDMA動作要求の発生が可能であり、 前記入出力バスを介してDMA動作要求を発生した入出
    力プロセッサのための制御情報及びデータを保持するた
    めのバッファ機構を含む、前記入出力インターフェース
    制御装置に含まれる共有DMA機構と、 前記入出力バスを介して、前記入出力インターフェース
    制御装置をただ1つの入出力プロセッサと選択的に接続
    する、前記入出力インターフェース制御装置に含まれる
    調停手段と、 前記調停手段によって制御され、一方で前記入出力イン
    ターフェース制御装置と前記記憶制御装置の間で制御情
    報及びデータ制御情報及びデータを転送し、他の一方で
    前記入出力インターフェース制御装置と前記1の入出力
    プロセッサの間で前記入出力バスを介して制御情報及び
    データを転送する、前記バッファ機構に接続されたイン
    ターフェース手段と、 を有し、前記入出力バスを、1の入出力プロセッサによ
    ってDMA動作が開始された後のメモリ待ち時間に解放
    することによって、前記入出力バスが他の入出力プロセ
    ッサによって使用されうるようにすることを特徴とする
    前記計算機システム。
JP1123041A 1988-06-27 1989-05-18 Dma機能を有する計算機システム Expired - Lifetime JPH0642225B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US212292 1988-06-27
US07/212,292 US5003465A (en) 1988-06-27 1988-06-27 Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device

Publications (2)

Publication Number Publication Date
JPH0219955A JPH0219955A (ja) 1990-01-23
JPH0642225B2 true JPH0642225B2 (ja) 1994-06-01

Family

ID=22790402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1123041A Expired - Lifetime JPH0642225B2 (ja) 1988-06-27 1989-05-18 Dma機能を有する計算機システム

Country Status (5)

Country Link
US (1) US5003465A (ja)
EP (1) EP0348654A3 (ja)
JP (1) JPH0642225B2 (ja)
BR (1) BR8903132A (ja)
CA (1) CA1315890C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220300200A1 (en) * 2021-03-17 2022-09-22 Macronix International Co., Ltd. Managing memory reliability in memory systems

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235693A (en) * 1989-01-27 1993-08-10 Digital Equipment Corporation Method and apparatus for reducing buffer storage in a read-modify-write operation
US5287471A (en) * 1989-07-24 1994-02-15 Nec Corporation Data transfer controller using direct memory access method
EP0421696A3 (en) * 1989-10-02 1992-01-29 Motorola Inc. Staggered access memory
JPH03122745A (ja) * 1989-10-05 1991-05-24 Mitsubishi Electric Corp Dma制御方式
US5129065A (en) * 1989-10-27 1992-07-07 Sun Microsystems, Inc. Apparatus and methods for interface register handshake for controlling devices
EP0454605A3 (en) * 1990-04-25 1992-04-22 International Business Machines Corporation Bus request device in a direct memory access (dma) system
US5249286A (en) * 1990-05-29 1993-09-28 National Semiconductor Corporation Selectively locking memory locations within a microprocessor's on-chip cache
JP2910303B2 (ja) * 1990-06-04 1999-06-23 株式会社日立製作所 情報処理装置
US6006302A (en) 1990-06-04 1999-12-21 Hitachi, Ltd. Multiple bus system using a data transfer unit
US5255381A (en) * 1990-07-03 1993-10-19 Digital Equipment Corporation Mode switching for a memory system with diagnostic scan
US5313623A (en) * 1990-07-03 1994-05-17 Digital Equipment Corporation Method and apparatus for performing diagnosis scanning of a memory unit regardless of the state of the system clock and without affecting the store data
DE69118781T2 (de) * 1990-08-31 1996-10-31 Advanced Micro Devices Inc Übertragungssteuerungssystem für einen Rechner und Peripheriegeräte
JPH04163655A (ja) * 1990-10-26 1992-06-09 Mitsubishi Electric Corp 入出力装置
US5255374A (en) * 1992-01-02 1993-10-19 International Business Machines Corporation Bus interface logic for computer system having dual bus architecture
CA2060820C (en) * 1991-04-11 1998-09-15 Mick R. Jacobs Direct memory access for data transfer within an i/o device
CA2064162C (en) * 1991-05-28 2002-07-09 Daniel Paul Fuoco Personal computer with local bus arbitration
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5265216A (en) * 1991-06-28 1993-11-23 Digital Equipment Corporation High performance asynchronous bus interface
CA2069711C (en) * 1991-09-18 1999-11-30 Donald Edward Carmon Multi-media signal processor computer system
US5471638A (en) * 1991-10-04 1995-11-28 Bull Hn Inforamtion Systems Inc. Bus interface state machines with independent access to memory, processor and registers for concurrent processing of different types of requests
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
CA2080210C (en) * 1992-01-02 1998-10-27 Nader Amini Bidirectional data storage facility for bus interface unit
US5828861A (en) * 1992-03-06 1998-10-27 Seiko Epson Corporation System and method for reducing the critical path in memory control unit and input/output control unit operations
CA2086691C (en) * 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
JPH0660015A (ja) * 1992-06-08 1994-03-04 Mitsubishi Electric Corp 情報処理装置
EP0582535A1 (en) * 1992-07-07 1994-02-09 International Business Machines Corporation Communication system and method utilizing picoprocessors for performing complex functions out of main communication data path
US5499384A (en) * 1992-12-31 1996-03-12 Seiko Epson Corporation Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device
JP3471384B2 (ja) * 1993-03-19 2003-12-02 富士通株式会社 データ転送装置及びデータ転送処理方法
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
JP3528094B2 (ja) * 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US5752076A (en) * 1995-08-31 1998-05-12 Intel Corporation Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
US6317803B1 (en) 1996-03-29 2001-11-13 Intel Corporation High-throughput interconnect having pipelined and non-pipelined bus transaction modes
US5911051A (en) * 1996-03-29 1999-06-08 Intel Corporation High-throughput interconnect allowing bus transactions based on partial access requests
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
US6259957B1 (en) 1997-04-04 2001-07-10 Cirrus Logic, Inc. Circuits and methods for implementing audio Codecs and systems using the same
WO1999027458A1 (en) * 1997-11-20 1999-06-03 International Business Machines Corporation Slave bus controller posted dma transfers
US6055584A (en) * 1997-11-20 2000-04-25 International Business Machines Corporation Processor local bus posted DMA FlyBy burst transfers
US6081851A (en) 1997-12-15 2000-06-27 Intel Corporation Method and apparatus for programming a remote DMA engine residing on a first bus from a destination residing on a second bus
US6032238A (en) * 1998-02-06 2000-02-29 Interantional Business Machines Corporation Overlapped DMA line transfers
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US7181548B2 (en) * 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
US6425021B1 (en) 1998-11-16 2002-07-23 Lsi Logic Corporation System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
KR20010102285A (ko) * 1999-02-22 2001-11-15 마이클 골위저, 호레스트 쉐퍼 직접 메모리 접근 촉진 방법 및 장치
US6806881B2 (en) 2001-09-18 2004-10-19 Seiko Epson Corporation Graphics controller for high speed transmission of memory read commands
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
EP1895425A4 (en) * 2005-06-15 2009-03-18 Panasonic Corp EXTERNAL SETUP ACCESS DEVICE
US7317630B2 (en) * 2005-07-15 2008-01-08 Atmel Corporation Nonvolatile semiconductor memory apparatus
US7478213B2 (en) * 2006-03-29 2009-01-13 Atmel Corporation Off-chip micro control and interface in a multichip integrated memory system
US7633800B2 (en) * 2007-08-08 2009-12-15 Atmel Corporation Redundancy scheme in memory
US8290924B2 (en) * 2008-08-29 2012-10-16 Empire Technology Development Llc Providing answer to keyword based query from natural owner of information
US8949486B1 (en) * 2013-07-17 2015-02-03 Mellanox Technologies Ltd. Direct memory access to storage devices
US9465766B1 (en) * 2013-10-29 2016-10-11 Xilinx, Inc. Isolation interface for master-slave communication protocols
US9696942B2 (en) 2014-03-17 2017-07-04 Mellanox Technologies, Ltd. Accessing remote storage devices using a local bus protocol
US9727503B2 (en) 2014-03-17 2017-08-08 Mellanox Technologies, Ltd. Storage system and server
US11934658B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Enhanced storage protocol emulation in a peripheral device
US11934333B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Storage protocol emulation in a peripheral device
US11726666B2 (en) 2021-07-11 2023-08-15 Mellanox Technologies, Ltd. Network adapter with efficient storage-protocol emulation
US20230251980A1 (en) * 2022-02-10 2023-08-10 Mellanox Technologies, Ltd. Devices, methods, and systems for disaggregated memory resources in a computing environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016548A (en) * 1975-04-11 1977-04-05 Sperry Rand Corporation Communication multiplexer module
CH584488A5 (ja) * 1975-05-05 1977-01-31 Ibm
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4124889A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Distributed input/output controller system
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4038642A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
DE2641741C2 (de) * 1976-09-16 1986-01-16 Siemens AG, 1000 Berlin und 8000 München Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
JPS5362945A (en) * 1976-11-17 1978-06-05 Toshiba Corp Disc address system
JPS5363834A (en) * 1976-11-18 1978-06-07 Nippon Telegr & Teleph Corp <Ntt> End offering system
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
US4493021A (en) * 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
JPS61117651A (ja) * 1984-11-14 1986-06-05 Hitachi Ltd インタ−フエイス装置
JPS62203249A (ja) * 1986-03-03 1987-09-07 Fujitsu Ltd 記憶装置
EP0260392A3 (en) * 1986-09-19 1992-03-11 International Business Machines Corporation An input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the buses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220300200A1 (en) * 2021-03-17 2022-09-22 Macronix International Co., Ltd. Managing memory reliability in memory systems
US11635915B2 (en) * 2021-03-17 2023-04-25 Macronix International Co., Ltd. Managing memory reliability in memory systems

Also Published As

Publication number Publication date
EP0348654A3 (en) 1992-12-02
BR8903132A (pt) 1990-02-06
JPH0219955A (ja) 1990-01-23
CA1315890C (en) 1993-04-06
US5003465A (en) 1991-03-26
EP0348654A2 (en) 1990-01-03

Similar Documents

Publication Publication Date Title
JPH0642225B2 (ja) Dma機能を有する計算機システム
US5455916A (en) Method for performing inter-unit data transfer operations among a plurality of input/output bus interface units coupled to a common asynchronous bus
US6405271B1 (en) Data flow control mechanism for a bus supporting two-and three-agent transactions
JP3275051B2 (ja) バスブリッジにおけるトランザクション順序を維持し、遅延応答をサポートする方法及びそのための装置
US5581782A (en) Computer system with distributed bus arbitration scheme for symmetric and priority agents
US5594877A (en) System for transferring data onto buses having different widths
US6081860A (en) Address pipelining for data transfers
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
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US6732208B1 (en) Low latency system bus interface for multi-master processing environments
US6496890B1 (en) Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
JPH076124A (ja) 情報転送システムおよび方法
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
JPH09172460A (ja) パケット交換コンピュータ・システムにおける高速転送スレーブ要求の方法および装置
US5199106A (en) Input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the bus
JP2012038293A5 (ja)
US7035958B2 (en) Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US6604159B1 (en) Data release to reduce latency in on-chip system bus
JP2000293436A (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
US6202112B1 (en) Arbitration methods to avoid deadlock and livelock when performing transactions across a bridge
US5923857A (en) Method and apparatus for ordering writeback data transfers on a bus
JP2002091900A (ja) 多重トランザクションバスシステム・バスブリッジ用のタイムアウトカウンタ
US20040010644A1 (en) System and method for providing improved bus utilization via target directed completion