JPH065521B2 - メツセージ・バツフア・システム - Google Patents
メツセージ・バツフア・システムInfo
- Publication number
- JPH065521B2 JPH065521B2 JP29407989A JP29407989A JPH065521B2 JP H065521 B2 JPH065521 B2 JP H065521B2 JP 29407989 A JP29407989 A JP 29407989A JP 29407989 A JP29407989 A JP 29407989A JP H065521 B2 JPH065521 B2 JP H065521B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- bus
- signal
- address
- buffer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 A 産業上の利用分野 本発明はコンピュータ・システムの分野に関し、さらに
詳しくは、コンピュータの入出力サブシステムの制御処
理装置とサブシステム内の複数の入出力処理装置との間
のインターフェースにおける、メッセージの緩衝記憶に
関するものである。
詳しくは、コンピュータの入出力サブシステムの制御処
理装置とサブシステム内の複数の入出力処理装置との間
のインターフェースにおける、メッセージの緩衝記憶に
関するものである。
B 従来の技術及びその課題 データ処理システムにおける入出力命令の処理にはかな
りのオーバーヘッドを要する。具体的に言うと、入出力
命令の処理には、システムと入出力装置の間の接続を確
立する、そのシステムとその装置の間の状況を維持す
る、及び入出力動作を完了する、といった支援機能が含
まれる。従来、この処理は主演算処理装置の中央演算処
理装置(CPU)によって実施されてきた。最近、デー
タ転送を支援するために、ホスト処理装置と入出力装置
の間に設けたプログラム式知能制御装置を使用する多く
の提案が出され、具体的に実施されている。しかしなが
ら、従来技術及び提案のどの配置でも、依然としてCP
Uが、作業タスク指名、各入出力装置にタスク指名され
た作業に関連する制御ブロックの維持、及び各入出力命
令の最終状態の決定を担当している。入出力命令を実行
する作業の多くが入出力制御装置に与えられても、依然
として制御装置とCPUの間での通信が必要である。こ
のような通信には、通常、情報読取りまたは書込みのた
めに入出力制御装置内のレジスタに直接アクセスするた
めの機構を、CPUに設けること、またはCPUと制御
装置の間でメッセージを交換するための機構を設けるこ
とが必要である。周知のように、最初の方法、すなわち
直接レジスタ・アクセスは緩慢である。第2の方法は、
一般的に主記憶装置にメッセージ・バッファを置くもの
で、メッセージをバッファに送るために制御装置を必要
とし、かつメッセージを主記憶装置のバッファから取り
出すためにCPUを必要とする。周知のように、主記憶
装置へのアクセスは時間がかかり、この目的のために、
一定の割合の主記憶装置アクセス帯域幅を割り当てるこ
とを必要とする。
りのオーバーヘッドを要する。具体的に言うと、入出力
命令の処理には、システムと入出力装置の間の接続を確
立する、そのシステムとその装置の間の状況を維持す
る、及び入出力動作を完了する、といった支援機能が含
まれる。従来、この処理は主演算処理装置の中央演算処
理装置(CPU)によって実施されてきた。最近、デー
タ転送を支援するために、ホスト処理装置と入出力装置
の間に設けたプログラム式知能制御装置を使用する多く
の提案が出され、具体的に実施されている。しかしなが
ら、従来技術及び提案のどの配置でも、依然としてCP
Uが、作業タスク指名、各入出力装置にタスク指名され
た作業に関連する制御ブロックの維持、及び各入出力命
令の最終状態の決定を担当している。入出力命令を実行
する作業の多くが入出力制御装置に与えられても、依然
として制御装置とCPUの間での通信が必要である。こ
のような通信には、通常、情報読取りまたは書込みのた
めに入出力制御装置内のレジスタに直接アクセスするた
めの機構を、CPUに設けること、またはCPUと制御
装置の間でメッセージを交換するための機構を設けるこ
とが必要である。周知のように、最初の方法、すなわち
直接レジスタ・アクセスは緩慢である。第2の方法は、
一般的に主記憶装置にメッセージ・バッファを置くもの
で、メッセージをバッファに送るために制御装置を必要
とし、かつメッセージを主記憶装置のバッファから取り
出すためにCPUを必要とする。周知のように、主記憶
装置へのアクセスは時間がかかり、この目的のために、
一定の割合の主記憶装置アクセス帯域幅を割り当てるこ
とを必要とする。
CPUと入出力制御装置の間で情報を交換する第2の方
法は、主記憶装置アクセスという欠点にもかかわらず、
その速度が大きくなる可能性があり資源の使用効率が高
いので好ましい。したがって、コンピュータの主演算処
理装置及び入出力制御装置から効率的かつ迅速にアクセ
スできる、主記憶装置の外部にあるバッファを用いて、
そのような能力を提供することが明らかに求められてい
る。
法は、主記憶装置アクセスという欠点にもかかわらず、
その速度が大きくなる可能性があり資源の使用効率が高
いので好ましい。したがって、コンピュータの主演算処
理装置及び入出力制御装置から効率的かつ迅速にアクセ
スできる、主記憶装置の外部にあるバッファを用いて、
そのような能力を提供することが明らかに求められてい
る。
C 課題を解決するための手段 この必要性は、CPU、CPUに接続された主記憶装
置、及び主記憶装置と複数の入出力装置の間でデータを
転送するための入出力システムを含み、その入出力シス
テムが、CPUと複数の入出力処理装置(IOP)の間
に論理的に置かれた入出力制御処理装置(IOCP)の
形の制御機能層を含むという、コンピュータ・システム
で満たされる。この入出力システムでは、IOCPがC
PUから実行すべき入出力命令を受け取り、複数のIO
Pが入出力命令の実行中に主記憶装置と入出力装置の間
のデータ転送を行なう。さらに入出力システムは、入出
力命令の実行に関する割込み、状態、及び制御情報を交
換するために、IOCPをIOPに接続する共用バスを
含む。この割込み、状態、及び制御情報はメッセージの
形になっている。こうした状況では、本発明は、共用バ
スを介したIOCPとIOPの間のメッセージ交換を支
援するメッセージ・バッファ・システムである。このシ
ステムは、IOCP内にありCPUとIOPの間のメッ
セージ交換を支援するメッセージ・バッファを含む。こ
れらのメッセージは、従来技術では主記憶装置のバッフ
ァに緩衝記憶されていたものである。
置、及び主記憶装置と複数の入出力装置の間でデータを
転送するための入出力システムを含み、その入出力シス
テムが、CPUと複数の入出力処理装置(IOP)の間
に論理的に置かれた入出力制御処理装置(IOCP)の
形の制御機能層を含むという、コンピュータ・システム
で満たされる。この入出力システムでは、IOCPがC
PUから実行すべき入出力命令を受け取り、複数のIO
Pが入出力命令の実行中に主記憶装置と入出力装置の間
のデータ転送を行なう。さらに入出力システムは、入出
力命令の実行に関する割込み、状態、及び制御情報を交
換するために、IOCPをIOPに接続する共用バスを
含む。この割込み、状態、及び制御情報はメッセージの
形になっている。こうした状況では、本発明は、共用バ
スを介したIOCPとIOPの間のメッセージ交換を支
援するメッセージ・バッファ・システムである。このシ
ステムは、IOCP内にありCPUとIOPの間のメッ
セージ交換を支援するメッセージ・バッファを含む。こ
れらのメッセージは、従来技術では主記憶装置のバッフ
ァに緩衝記憶されていたものである。
本発明は、IOCPに接続された、メッセージ転送のた
めのバス・アクセスを許可するためのバス・アービタを
含む。IOPの1つがIOPとIOCPの間でのメッセ
ージの転送のためにバス・アクセスを許可されたか否か
を示すように条件づけられたトグル信号を出すメッセー
ジ・バッファ・トグル回路が、このバス・アービタに接
続されている。このメッセージ・バッファはアドレス可
能メッセージ記憶資源を含む。このアドレス可能メッセ
ージの記憶資源のロード・アドレスに対応する値を保持
するために、アドレス・ポインタが設けられている。I
OPメッセージ・バス制御回路が、バス、アビータ、ア
ドレス可能記憶資源、及びアドレス・ポインタに接続さ
れており、メッセージ転送のためのバス・アクセス許可
に応答して、バスに置かれたIOPメッセージをアドレ
ス可能記憶資源のロード・アドレスに入力する。バスが
メッセージ転送に使用されていないとトグル回路が指示
したときに、メッセージをロード・アドレス以外の記憶
位置から取り出したり、そこへ入れたりするために、I
OCPメッセージ制御装置が、トグル回路とアドレス可
能記憶資源に接続されている。IOCP制御装置がメッ
セージをアドレス可能記憶資源に入れたり、そこから取
り出すときに、メッセージ・ポインタとIOCPメッセ
ージ制御装置とに接続されたポインタ切換機構が、メッ
セージ・ポインタ内の値を変更する。
めのバス・アクセスを許可するためのバス・アービタを
含む。IOPの1つがIOPとIOCPの間でのメッセ
ージの転送のためにバス・アクセスを許可されたか否か
を示すように条件づけられたトグル信号を出すメッセー
ジ・バッファ・トグル回路が、このバス・アービタに接
続されている。このメッセージ・バッファはアドレス可
能メッセージ記憶資源を含む。このアドレス可能メッセ
ージの記憶資源のロード・アドレスに対応する値を保持
するために、アドレス・ポインタが設けられている。I
OPメッセージ・バス制御回路が、バス、アビータ、ア
ドレス可能記憶資源、及びアドレス・ポインタに接続さ
れており、メッセージ転送のためのバス・アクセス許可
に応答して、バスに置かれたIOPメッセージをアドレ
ス可能記憶資源のロード・アドレスに入力する。バスが
メッセージ転送に使用されていないとトグル回路が指示
したときに、メッセージをロード・アドレス以外の記憶
位置から取り出したり、そこへ入れたりするために、I
OCPメッセージ制御装置が、トグル回路とアドレス可
能記憶資源に接続されている。IOCP制御装置がメッ
セージをアドレス可能記憶資源に入れたり、そこから取
り出すときに、メッセージ・ポインタとIOCPメッセ
ージ制御装置とに接続されたポインタ切換機構が、メッ
セージ・ポインタ内の値を変更する。
IOCP内にメッセージ・バッファを配置することによ
って、主記憶装置を通るよりも速くて効率的なCPUと
IOPの間の緩衝記憶された(buffered)メッセージの通
信ができるようになる。IOCPはIOPに対してCP
Uを代表する。今要約したメッセージ・バッファの特定
の構造は、IOCPとIOPがその使用をめぐって競合
し、その競合が、IOCPとIOPの間の同期交換が不
要な形で解決される、共用資源である。
って、主記憶装置を通るよりも速くて効率的なCPUと
IOPの間の緩衝記憶された(buffered)メッセージの通
信ができるようになる。IOCPはIOPに対してCP
Uを代表する。今要約したメッセージ・バッファの特定
の構造は、IOCPとIOPがその使用をめぐって競合
し、その競合が、IOCPとIOPの間の同期交換が不
要な形で解決される、共用資源である。
したがって、本発明の主目的は、制御情報を含むメッセ
ージがCPUと複数の入出力装置の間での交換のために
ステージングするためのメッセージ・バッファ装置を、
主記憶装置の外部に提供することである。
ージがCPUと複数の入出力装置の間での交換のために
ステージングするためのメッセージ・バッファ装置を、
主記憶装置の外部に提供することである。
D 実施例 9370シリーズのIBMシステム370中型演算処理
装置で例示されるクラスのコンピュータでは、IOPは
メッセージを介してCPUと通信する。メッセージは、
IOPが接続されたバス上を伝わる。IOPからCPU
に送られたメッセージは「受信」メッセージと称し、C
PUからIOPに送られたメッセージは「送信」メッセ
ージと称する。メッセージはメッセージ・バッファを介
して主記憶装置に緩衝記憶される。この点に関して、第
2図では、CPU10、主記憶装置12、記憶装置アク
セス制御機構16、及びクロック供給源17から成る主
演算処理装置を有するコンピュータ・システム中にある
ものとして、メッセージ・バッファが図示されている。
CPU10は、入出力装置と主記憶装置12の間での転
送のためにソフトウェア・レベルの入出力命令を受け取
り、送出する。主記憶装置12へのアクセスは記憶制御
機構16を介して行なわれる。主演算処理装置の機構
は、クロック供給源17からクロック信号CLK1を供
給することによって同期化される。周辺装置との間での
情報のやりとりは、入出力システムが担当する。入出力
システムは複数のIOPを含むが、これらのIOPのう
ちの2つを参照番号22、23で示す。IOPは共通バ
ス21に接続されており、IOPの動作は、入出力シス
テム・クロック供給源24から第2クロック信号CLK
2を供給することによって同期化される。第2図の従来
技術では、メッセージ・バッファ14は主記憶装置12
の中に置かれている。この従来技術の配置では、入出力
システムのIOPレベルからメッセージ・バッファへの
経路は、 IOP − STC − 主記憶装置 である。
装置で例示されるクラスのコンピュータでは、IOPは
メッセージを介してCPUと通信する。メッセージは、
IOPが接続されたバス上を伝わる。IOPからCPU
に送られたメッセージは「受信」メッセージと称し、C
PUからIOPに送られたメッセージは「送信」メッセ
ージと称する。メッセージはメッセージ・バッファを介
して主記憶装置に緩衝記憶される。この点に関して、第
2図では、CPU10、主記憶装置12、記憶装置アク
セス制御機構16、及びクロック供給源17から成る主
演算処理装置を有するコンピュータ・システム中にある
ものとして、メッセージ・バッファが図示されている。
CPU10は、入出力装置と主記憶装置12の間での転
送のためにソフトウェア・レベルの入出力命令を受け取
り、送出する。主記憶装置12へのアクセスは記憶制御
機構16を介して行なわれる。主演算処理装置の機構
は、クロック供給源17からクロック信号CLK1を供
給することによって同期化される。周辺装置との間での
情報のやりとりは、入出力システムが担当する。入出力
システムは複数のIOPを含むが、これらのIOPのう
ちの2つを参照番号22、23で示す。IOPは共通バ
ス21に接続されており、IOPの動作は、入出力シス
テム・クロック供給源24から第2クロック信号CLK
2を供給することによって同期化される。第2図の従来
技術では、メッセージ・バッファ14は主記憶装置12
の中に置かれている。この従来技術の配置では、入出力
システムのIOPレベルからメッセージ・バッファへの
経路は、 IOP − STC − 主記憶装置 である。
メッセージがメッセージ・バッファ14に記憶された
後、CPUはそれらを取り出し、解釈して、適切な動作
で応答する。
後、CPUはそれらを取り出し、解釈して、適切な動作
で応答する。
ここで、本発明によるメッセージ・バッファの再配置に
関する第1図を参照する。本発明では、主演算処理装置
は、従来技術で一般的な構成で接続された、CPU3
0、主記憶装置32、及び記憶制御装置36によって表
される。さらに、入出力サブシステムは、共通バス39
と複数のIOPを含む点で、第1図に図示したものと一
致する。また、CPUからの入出力システム制御機能の
大部分をオフロードするために使用される、集中入出力
制御処理装置(IOCP)38が追加されている。IO
CPはすべてのソフトウェア・レベルの入出力命令を処
理し、IOPと主記憶装置32によって支援される入出
力装置(図示せず)相互の間の情報の流れを制御する。
関する第1図を参照する。本発明では、主演算処理装置
は、従来技術で一般的な構成で接続された、CPU3
0、主記憶装置32、及び記憶制御装置36によって表
される。さらに、入出力サブシステムは、共通バス39
と複数のIOPを含む点で、第1図に図示したものと一
致する。また、CPUからの入出力システム制御機能の
大部分をオフロードするために使用される、集中入出力
制御処理装置(IOCP)38が追加されている。IO
CPはすべてのソフトウェア・レベルの入出力命令を処
理し、IOPと主記憶装置32によって支援される入出
力装置(図示せず)相互の間の情報の流れを制御する。
IOCPは、共通バス39によって、バス・インターフ
ェース機構(BIU)40、41を通じて、複数のIO
Pに接続される。各BIUは、BIUによって支援され
るIOPに、共通バス39へのアクセスを許可する。す
なわち、BIU40は、IOP40a、40bのための
共通バス39へのインターフェースである。BIU40
は、ローカル両方向バス40lbによってIOP40
a、40bに連結されている。同様にBIUは、これら
のIOPを共通バス39にインターフェースするため
に、ローカル・バス41lbによってIOP41a、4
1bに接続されている。ローカル・バス40lb及び4
1lbは、ここには示されていない手段によって調停さ
れる。IOPは、ローカル・バスに対する許可を与えら
れると、そのバス及び接続されたBIUの独占的制御権
を有する。すなわち、IOPは、共通バス39を介した
IOCPとのメッセージ転送のため、ローカル・バス及
びBIUの制御権を有する。このメッセージ転送を、以
下では「共通バス39を介する」メッセージ交換と呼
ぶ。なお、IOPがそのローカル・バスとBIUを介し
て共通バスに接続されている。
ェース機構(BIU)40、41を通じて、複数のIO
Pに接続される。各BIUは、BIUによって支援され
るIOPに、共通バス39へのアクセスを許可する。す
なわち、BIU40は、IOP40a、40bのための
共通バス39へのインターフェースである。BIU40
は、ローカル両方向バス40lbによってIOP40
a、40bに連結されている。同様にBIUは、これら
のIOPを共通バス39にインターフェースするため
に、ローカル・バス41lbによってIOP41a、4
1bに接続されている。ローカル・バス40lb及び4
1lbは、ここには示されていない手段によって調停さ
れる。IOPは、ローカル・バスに対する許可を与えら
れると、そのバス及び接続されたBIUの独占的制御権
を有する。すなわち、IOPは、共通バス39を介した
IOCPとのメッセージ転送のため、ローカル・バス及
びBIUの制御権を有する。このメッセージ転送を、以
下では「共通バス39を介する」メッセージ交換と呼
ぶ。なお、IOPがそのローカル・バスとBIUを介し
て共通バスに接続されている。
第1図はまた、IOPとCPUの間のメッセージの送受
の一時記憶、及びメッセージ交換の同期化のための、メ
ッセージ・バッファ42をも示している。ここで、一度
共通バスが獲得されると、バッファとIOPの間のメッ
セージ経路は単にIOP−IOCPである。したがっ
て、STC/主記憶装置経路は迂回されて、送受メッセ
ージはメッセージ・バッファ42に直接ロードされる。
最新の回路技術が利用できるものとし、メッセージ・バ
ッファ42が45ナノ秒ごとにアクセス可能になるもの
と考えておく。一般に主記憶装置のアクセス時間は少な
くともその4倍である。
の一時記憶、及びメッセージ交換の同期化のための、メ
ッセージ・バッファ42をも示している。ここで、一度
共通バスが獲得されると、バッファとIOPの間のメッ
セージ経路は単にIOP−IOCPである。したがっ
て、STC/主記憶装置経路は迂回されて、送受メッセ
ージはメッセージ・バッファ42に直接ロードされる。
最新の回路技術が利用できるものとし、メッセージ・バ
ッファ42が45ナノ秒ごとにアクセス可能になるもの
と考えておく。一般に主記憶装置のアクセス時間は少な
くともその4倍である。
本発明が実施される状況を更に理解するため、なお第1
図を参照すると、IOCP38は通信バス44を介して
CPUに接続されている。このバスは、どちらかの処理
装置(CPUまたはIOCP)が割込み及び制御情報を
他方に転送できるようにする。IOCPはバス39を介
してIOPに接続されている。IOPは、接続された入
出力装置の制御を行なう、知能マイクロプロセッサをベ
ースとするサブシステムである。設計者が複数のIOP
サブシステムを提供でき、特定の範疇の入出力装置にそ
れぞれ特定のタイプのIOPを専用に使うものと考えて
おく。システム入出力要件が変わると、IOPの異なる
組合せを使用することになる。さらに、IOPが、ロー
カル・バスとBIUを介して間接的にではなく、共通バ
スに、直接接続できるものと考えておく。ただし、第2
図の状況では、入出力システム1台当たり1つの集中I
OCPがあるだけである。
図を参照すると、IOCP38は通信バス44を介して
CPUに接続されている。このバスは、どちらかの処理
装置(CPUまたはIOCP)が割込み及び制御情報を
他方に転送できるようにする。IOCPはバス39を介
してIOPに接続されている。IOPは、接続された入
出力装置の制御を行なう、知能マイクロプロセッサをベ
ースとするサブシステムである。設計者が複数のIOP
サブシステムを提供でき、特定の範疇の入出力装置にそ
れぞれ特定のタイプのIOPを専用に使うものと考えて
おく。システム入出力要件が変わると、IOPの異なる
組合せを使用することになる。さらに、IOPが、ロー
カル・バスとBIUを介して間接的にではなく、共通バ
スに、直接接続できるものと考えておく。ただし、第2
図の状況では、入出力システム1台当たり1つの集中I
OCPがあるだけである。
第3図に図示するように、IOCPは入出力エンジン
(IOE)部45、入出力待ち行列(IOQ)部46、
制御記憶機構47、及び記憶装置入出力インターフェー
ス(STIO)部48から成る。STIO48は、CP
UとIOCPがバス44を介して通信できるようにする
中央通信(COM)機構50及びメールボックス(MB
X)バッファ51を提供する。STIO48はまた、入
出力サブシステムと主記憶装置の間でデータをやりとり
するためのデータ・バッファ(BUF)53も提供す
る。IOE45とIOQ46は、IOCP38の処理装
置である。これらの装置は、制御記憶機構47にあるマ
イクロコード命令を実行する。制御記憶機構47は、I
OCP38と共に使用するための適切な制御プログラム
を維持する。このプログラムは、IOCP38の多岐に
わたる機能と必要とされる動作を形成するために必要な
各種のルーチンを含む。
(IOE)部45、入出力待ち行列(IOQ)部46、
制御記憶機構47、及び記憶装置入出力インターフェー
ス(STIO)部48から成る。STIO48は、CP
UとIOCPがバス44を介して通信できるようにする
中央通信(COM)機構50及びメールボックス(MB
X)バッファ51を提供する。STIO48はまた、入
出力サブシステムと主記憶装置の間でデータをやりとり
するためのデータ・バッファ(BUF)53も提供す
る。IOE45とIOQ46は、IOCP38の処理装
置である。これらの装置は、制御記憶機構47にあるマ
イクロコード命令を実行する。制御記憶機構47は、I
OCP38と共に使用するための適切な制御プログラム
を維持する。このプログラムは、IOCP38の多岐に
わたる機能と必要とされる動作を形成するために必要な
各種のルーチンを含む。
IOE45とIOQ46は、制御プログラムによって使
用される各種の記憶域を提供する。IOE45とIOQ
46はそれぞれ、制御、状態、及び割込み情報のために
使用される外部レジスタ(EXT)55及び56を有す
る。IOE45は小型ローカル記憶域(SLS)58を
有する。SLS58はデータの操作に使用される一時記
憶域であり、演算論理機構(ALU)59によって実施
される各種の算術的及び論理的動作を支援する。IOQ
46は、大型ローカル記憶域(LLS)61と呼ばれる
一時記憶域を有し、これはIOCP制御プログラムによ
って使用される。LLS61はまた、送受メッセージの
一時記憶のためのアドレス可能記憶領域を提供する。入
出力インターフェース部(IOU)62は、LLS61
に緩衝記憶されたメッセージに関する制御及び状況の情
報を記憶するためのレジスタを有する。IOQ46はま
た記憶アドレス(SAR)バッファ域64を有し、これ
はマイクロワードの記憶時に使用される主記憶装置アド
レス・ポインタをセットアップするために、マイクロコ
ードによって使用される。
用される各種の記憶域を提供する。IOE45とIOQ
46はそれぞれ、制御、状態、及び割込み情報のために
使用される外部レジスタ(EXT)55及び56を有す
る。IOE45は小型ローカル記憶域(SLS)58を
有する。SLS58はデータの操作に使用される一時記
憶域であり、演算論理機構(ALU)59によって実施
される各種の算術的及び論理的動作を支援する。IOQ
46は、大型ローカル記憶域(LLS)61と呼ばれる
一時記憶域を有し、これはIOCP制御プログラムによ
って使用される。LLS61はまた、送受メッセージの
一時記憶のためのアドレス可能記憶領域を提供する。入
出力インターフェース部(IOU)62は、LLS61
に緩衝記憶されたメッセージに関する制御及び状況の情
報を記憶するためのレジスタを有する。IOQ46はま
た記憶アドレス(SAR)バッファ域64を有し、これ
はマイクロワードの記憶時に使用される主記憶装置アド
レス・ポインタをセットアップするために、マイクロコ
ードによって使用される。
IOE45とIOQ46はあいまって、制御記憶機構4
7にあるマイクロワードを実行する。
7にあるマイクロワードを実行する。
IOE45とIOQ46はそれぞれ、制御記憶機構47
から並列に複数バイト・マイクロワードを受け取る。た
だし、これらの装置は、マイクロワードの種類に応じ
て、その一方または両方がマイクロワードを実行する。
IOE45は算術的及び論理的マイクロワードを実行
し、一方IOQ46はIOCP外部の装置、例えばIO
P、CPU、及び主記憶装置にインターフェースするマ
イクロワードを実行する。これらのマイクロワードは、
当然2つの範疇に分かれる。すなわち、記憶装置マイク
ロワード及び処理装置バス動作(PBO)マイクロワー
ドである。記憶装置マイクロワードは、STIO48及
び主記憶装置内の諸機構とインターフェースする。PB
Oマイクロワードは、IOPレベルでレジスタをロード
及びコピーし、またメッセージ・コマンドをIOPに送
る能力を与える。最後に、マイクロワードの1つのクラ
スは、マイクロコード・データ・バス65を介してIO
E45とIOQ46の間でデータを移動させる動作から
成る。
から並列に複数バイト・マイクロワードを受け取る。た
だし、これらの装置は、マイクロワードの種類に応じ
て、その一方または両方がマイクロワードを実行する。
IOE45は算術的及び論理的マイクロワードを実行
し、一方IOQ46はIOCP外部の装置、例えばIO
P、CPU、及び主記憶装置にインターフェースするマ
イクロワードを実行する。これらのマイクロワードは、
当然2つの範疇に分かれる。すなわち、記憶装置マイク
ロワード及び処理装置バス動作(PBO)マイクロワー
ドである。記憶装置マイクロワードは、STIO48及
び主記憶装置内の諸機構とインターフェースする。PB
Oマイクロワードは、IOPレベルでレジスタをロード
及びコピーし、またメッセージ・コマンドをIOPに送
る能力を与える。最後に、マイクロワードの1つのクラ
スは、マイクロコード・データ・バス65を介してIO
E45とIOQ46の間でデータを移動させる動作から
成る。
CPU30が、IOPに接続された入出力装置との接続
を確立し、入出力装置との間で通信を行なうための手順
では、CPUがソフトウェア・レベルの命令を取り出し
解釈することが必要である。命令が入出力命令である場
合、制御は、STIO48の中のCOM50及びMBX
51を介して、メッセージの形でIOCPに渡される。
入出力命令は、指定された入出力装置のための、どんな
形の開始、消去、停止、または延期の機能から構成され
るものでもよい。
を確立し、入出力装置との間で通信を行なうための手順
では、CPUがソフトウェア・レベルの命令を取り出し
解釈することが必要である。命令が入出力命令である場
合、制御は、STIO48の中のCOM50及びMBX
51を介して、メッセージの形でIOCPに渡される。
入出力命令は、指定された入出力装置のための、どんな
形の開始、消去、停止、または延期の機能から構成され
るものでもよい。
IOCP38は、主記憶装置32にある制御情報ブロッ
クを取り出すことによって、命令の処理を開始する。こ
の情報ブロックはSTIO BUF53を介してLLS
61に移動する。IOCP38は、制御ブロック情報を
用いて、SLS58中の識別されたIOPのための送信
メッセージを形成する。送信メッセージが完成すると、
マイクロコード・データ・バス65を介してLLS61
中のメッセージ・バッファに移動する。次いで、IOC
P38は、メッセージを送信メッセージの形でIOPに
送る。次にIOCP38は、IOPからの2つの受信メ
ッセージを待つ。IOCP38は、下記で説明する外部
割込み合計レジスタ(EIS)の設定によって、着信メ
ッセージがあることを通知される。最初の受信メッセー
ジは、入出力装置の現在条件コードから成り、入出力装
置が命令を受けとっていて、実行を始めようとしている
ことを指示する。初期受信メッセージをIOPから受け
取った後、IOCP38は、他のソフトウェア・レベル
の命令を自由に受取って実行できるようになる。
クを取り出すことによって、命令の処理を開始する。こ
の情報ブロックはSTIO BUF53を介してLLS
61に移動する。IOCP38は、制御ブロック情報を
用いて、SLS58中の識別されたIOPのための送信
メッセージを形成する。送信メッセージが完成すると、
マイクロコード・データ・バス65を介してLLS61
中のメッセージ・バッファに移動する。次いで、IOC
P38は、メッセージを送信メッセージの形でIOPに
送る。次にIOCP38は、IOPからの2つの受信メ
ッセージを待つ。IOCP38は、下記で説明する外部
割込み合計レジスタ(EIS)の設定によって、着信メ
ッセージがあることを通知される。最初の受信メッセー
ジは、入出力装置の現在条件コードから成り、入出力装
置が命令を受けとっていて、実行を始めようとしている
ことを指示する。初期受信メッセージをIOPから受け
取った後、IOCP38は、他のソフトウェア・レベル
の命令を自由に受取って実行できるようになる。
IOCP38からPBO送信メッセージを受け取ると、
識別された入出力装置は、その関連するIOPからの支
援によって、主記憶装置と入出力装置の間での特定デー
タの転送を実施する。それが完了すると、IOPは第2
の受信メッセージを作成する。IOCP38は、EIS
割込みの設定によって、着信メッセージがあることを再
び通知される。第2受信メッセージは、指定された入出
力動作の終了状況を含む。このメッセージを受け取る
と、IOCP38は、入出力動作状態をバス44を介し
てCPUに戻す。
識別された入出力装置は、その関連するIOPからの支
援によって、主記憶装置と入出力装置の間での特定デー
タの転送を実施する。それが完了すると、IOPは第2
の受信メッセージを作成する。IOCP38は、EIS
割込みの設定によって、着信メッセージがあることを再
び通知される。第2受信メッセージは、指定された入出
力動作の終了状況を含む。このメッセージを受け取る
と、IOCP38は、入出力動作状態をバス44を介し
てCPUに戻す。
このメッセージ処理方式では、LLS61の一部を占め
る本発明によるメッセージ・バッファは、概略的に云え
ば、読み取り/送信時には、IOCPマイクロコード・
コマンド(第4B図)の制御の下にIOCPによりアク
セスされる一方、書き込み/受信時にはバス・メッセー
ジ操作コマンド(第4A図)の制御の下にIOPにより
アクセスされる(詳細な構成、動作については、第5A
図及び第5B図に関して後述する)。これらの処理装置
が共用資源、すなわちメッセージ・バッファをめぐって
競合していることは、これらの処理装置にはわかってい
ない。
る本発明によるメッセージ・バッファは、概略的に云え
ば、読み取り/送信時には、IOCPマイクロコード・
コマンド(第4B図)の制御の下にIOCPによりアク
セスされる一方、書き込み/受信時にはバス・メッセー
ジ操作コマンド(第4A図)の制御の下にIOPにより
アクセスされる(詳細な構成、動作については、第5A
図及び第5B図に関して後述する)。これらの処理装置
が共用資源、すなわちメッセージ・バッファをめぐって
競合していることは、これらの処理装置にはわかってい
ない。
次に第5A図及び第5B図を参照すると、メッセージ・
バッファ42が、バス・アービタ67と一緒に詳しく図
示されている。バス39は調停されるバスであり、それ
に対するアクセスがアクセス要求を受け取ったときにだ
けアービタ67によって許可されることを指摘してお
く。すなわち、各BIUはそれぞれN本の要求線69の
うちの1本を介してアービタ67に接続されている。さ
らに、実際には2組の要求線があることを指摘してお
く。このうちの1本のみが図示されている。図示されて
いないもう1組の要求線は、メッセージ転送に関係しな
いバス使用要求を伝達する。一方、線69上で受け取ら
れる要求は、メッセージをバッファに転送するためにバ
スに対するアクセスを得る目的のものである。バスに対
するアクセスの許可は、N本のバス許可線70のうちの
1本で指示される。
バッファ42が、バス・アービタ67と一緒に詳しく図
示されている。バス39は調停されるバスであり、それ
に対するアクセスがアクセス要求を受け取ったときにだ
けアービタ67によって許可されることを指摘してお
く。すなわち、各BIUはそれぞれN本の要求線69の
うちの1本を介してアービタ67に接続されている。さ
らに、実際には2組の要求線があることを指摘してお
く。このうちの1本のみが図示されている。図示されて
いないもう1組の要求線は、メッセージ転送に関係しな
いバス使用要求を伝達する。一方、線69上で受け取ら
れる要求は、メッセージをバッファに転送するためにバ
スに対するアクセスを得る目的のものである。バスに対
するアクセスの許可は、N本のバス許可線70のうちの
1本で指示される。
メッセージ・バッファには、トグル制御回路72が含ま
れており、制御回路72はラッチ73、ORゲート74
及びANDゲート75を含む。トグル制御回路72は、
線69の1本で受け取ったメッセージ要求に応答して、
線70の1本を介してバス許可が与えられたときはいつ
でも、信号線71上に指示(MESSAGE BUFF
ER TOGGLE)を供給するものである。トグル制
御回路72は、基本的に、メッセージがメッセージ・バ
ッファに入れるためにいつバス39に置かれたか、また
は置かれるかを指示する。メッセージが受け取られ、入
力されると、MESSAGE BUFFER TOGG
LE信号はリセットされる。動作の際には、アービタ6
7は、メッセージ要求に応答してバス許可が与えられた
ときはいつでも、信号線76上にSET信号を生成す
る。SET信号は、ANDゲート75の出力と共にOR
ゲート74に供給される。ANDゲートは、ラッチ73
の出力を、反転された表示RESET信号と組み合わせ
る。RESET信号は、SET信号の活動化を起こさせ
るメッセージがバッファに入力されるまで、非活動状態
である。すなわち、メッセージ要求が許可されたとき、
SET信号は立ち上がり、ラツチ73をセットする。S
ET信号はパルスであることが好ましいので、ラッチ7
3は、ANDゲート75の出力によって、そのSET状
態に維持される。ANDゲート75は、ラッチ73の肯
定出力を、反転された非活動状態のRESET信号の反
転と組み合わせる。ラッチ73設定を起こさせるメッセ
ージがバッファに入力されると、RESET信号は活動
化して、ANDゲート75の出力を落とさせ、それによ
ってラッチ73をリセットする。ラッチがセットされる
と、MESSAGE BUFFER TOGGLE信号
は活動化され、リセットされると、非活動化される。
れており、制御回路72はラッチ73、ORゲート74
及びANDゲート75を含む。トグル制御回路72は、
線69の1本で受け取ったメッセージ要求に応答して、
線70の1本を介してバス許可が与えられたときはいつ
でも、信号線71上に指示(MESSAGE BUFF
ER TOGGLE)を供給するものである。トグル制
御回路72は、基本的に、メッセージがメッセージ・バ
ッファに入れるためにいつバス39に置かれたか、また
は置かれるかを指示する。メッセージが受け取られ、入
力されると、MESSAGE BUFFER TOGG
LE信号はリセットされる。動作の際には、アービタ6
7は、メッセージ要求に応答してバス許可が与えられた
ときはいつでも、信号線76上にSET信号を生成す
る。SET信号は、ANDゲート75の出力と共にOR
ゲート74に供給される。ANDゲートは、ラッチ73
の出力を、反転された表示RESET信号と組み合わせ
る。RESET信号は、SET信号の活動化を起こさせ
るメッセージがバッファに入力されるまで、非活動状態
である。すなわち、メッセージ要求が許可されたとき、
SET信号は立ち上がり、ラツチ73をセットする。S
ET信号はパルスであることが好ましいので、ラッチ7
3は、ANDゲート75の出力によって、そのSET状
態に維持される。ANDゲート75は、ラッチ73の肯
定出力を、反転された非活動状態のRESET信号の反
転と組み合わせる。ラッチ73設定を起こさせるメッセ
ージがバッファに入力されると、RESET信号は活動
化して、ANDゲート75の出力を落とさせ、それによ
ってラッチ73をリセットする。ラッチがセットされる
と、MESSAGE BUFFER TOGGLE信号
は活動化され、リセットされると、非活動化される。
従来のディジタル論理回路からなるIOPメッセージ・
バス制御回路77は、バス39からバッファへの受信メ
ッセージ転送を制御する。制御回路77は、従来のクロ
ック信号CLK、及び第4A図の様式を有するバス・メ
ッセージ動作コマンドのコマンド・フィールド(CM
D)の復号に応答する。この点に関連して、IOPはメ
ッセージ転送のためのバス・アクセス権を得ると、最大
4ワードまでのフレームを伝送する。このフレーム中の
最初のワードは、コマンドに続くべき受信メッセージに
関する制御情報を含むバス・メッセージ動作コマンドで
ある。受信メッセージは、各ワードが32ビットのワー
ド2−3個を含むことができる。バス・メッセージ・コ
マンド(第4A図)は、コマンド・コードを記憶する第
1フィールド81、3ビットのメッセージ優先順位値
(MPV)を記憶する第2フィールド82、及び後に続
くメッセージの長さを指示するフィールド83を含む。
CMDフィールド81は、LNGTHフィールド83で
示される長さとフィールド82で示される優先順位を持
つメッセージが後に続くことを指示する。SELフィー
ルド84は、どのバス装置がメッセージを送ったか、及
びどのバス装置がメッセージを受け取るかを指示する。
MPVフィールド82は8つの値のうちの1つを有す
る。これらの値の1つは、次の受信メッセージが前の送
信メッセージに応答する2つの受信メッセージの1つで
あることを指示する。優先順位は、IOCPから直接応
答を引き出すものである。
バス制御回路77は、バス39からバッファへの受信メ
ッセージ転送を制御する。制御回路77は、従来のクロ
ック信号CLK、及び第4A図の様式を有するバス・メ
ッセージ動作コマンドのコマンド・フィールド(CM
D)の復号に応答する。この点に関連して、IOPはメ
ッセージ転送のためのバス・アクセス権を得ると、最大
4ワードまでのフレームを伝送する。このフレーム中の
最初のワードは、コマンドに続くべき受信メッセージに
関する制御情報を含むバス・メッセージ動作コマンドで
ある。受信メッセージは、各ワードが32ビットのワー
ド2−3個を含むことができる。バス・メッセージ・コ
マンド(第4A図)は、コマンド・コードを記憶する第
1フィールド81、3ビットのメッセージ優先順位値
(MPV)を記憶する第2フィールド82、及び後に続
くメッセージの長さを指示するフィールド83を含む。
CMDフィールド81は、LNGTHフィールド83で
示される長さとフィールド82で示される優先順位を持
つメッセージが後に続くことを指示する。SELフィー
ルド84は、どのバス装置がメッセージを送ったか、及
びどのバス装置がメッセージを受け取るかを指示する。
MPVフィールド82は8つの値のうちの1つを有す
る。これらの値の1つは、次の受信メッセージが前の送
信メッセージに応答する2つの受信メッセージの1つで
あることを指示する。優先順位は、IOCPから直接応
答を引き出すものである。
コマンドは、バス39からマルチプレクサ85を介して
レジスタ86に送られ、そこからコマンド命令コード復
号器87に供給される。復号器87は、通常通りコマン
ド・フィールド81を復号して、1組の制御信号をバス
制御回路77に供給する働きをする。バス制御回路77
は、受信メッセージの復号に応答して、コマンドのMP
VフィールドからのMPVコードをロードし、次いでメ
ッセージをバッファに書き込む。
レジスタ86に送られ、そこからコマンド命令コード復
号器87に供給される。復号器87は、通常通りコマン
ド・フィールド81を復号して、1組の制御信号をバス
制御回路77に供給する働きをする。バス制御回路77
は、受信メッセージの復号に応答して、コマンドのMP
VフィールドからのMPVコードをロードし、次いでメ
ッセージをバッファに書き込む。
MPVフィールドをロードするために、バス制御装置7
7は信号線78上のLOAD MPV信号を活動化す
る。この信号は、レジスタ86からレジスタ91へのメ
ッセージ操作コマンドをバスのMPVフィールドにロー
ドするように、マルチプレクサ90を動作させる。復号
回路92で復号され、回線94上のバス制御回路77に
よって活動化されるLOAD MIS信号に応答して、
優先順位がマルチプレクサ93を介して、メッセージ割
込み合計(MIS)レジスタ95にロードされる。
7は信号線78上のLOAD MPV信号を活動化す
る。この信号は、レジスタ86からレジスタ91へのメ
ッセージ操作コマンドをバスのMPVフィールドにロー
ドするように、マルチプレクサ90を動作させる。復号
回路92で復号され、回線94上のバス制御回路77に
よって活動化されるLOAD MIS信号に応答して、
優先順位がマルチプレクサ93を介して、メッセージ割
込み合計(MIS)レジスタ95にロードされる。
次に、バス制御回路77は、バッファの所定の記憶位置
にメッセージを書き込む働きをする。この点に関連し
て、LOAD BUS信号が、信号線96上で活動化さ
れる。線96は、メッセージ・ワードをレジスタ86か
ら入力メッセージ(MSG IN)レジスタ98に転送
するようにマルチプレクサ97を構成する。レジスタ9
8から、メッセージ・ワードは、LLS61の、メッセ
ージ・バッファ99として呼ばれる部分の中のアドレス
された位置に入力される。
にメッセージを書き込む働きをする。この点に関連し
て、LOAD BUS信号が、信号線96上で活動化さ
れる。線96は、メッセージ・ワードをレジスタ86か
ら入力メッセージ(MSG IN)レジスタ98に転送
するようにマルチプレクサ97を構成する。レジスタ9
8から、メッセージ・ワードは、LLS61の、メッセ
ージ・バッファ99として呼ばれる部分の中のアドレス
された位置に入力される。
レジスタ98中のワードが書き込まれるメッセージ・バ
ッファ・アドレスは、マルチプレクサ100によって供
給される。受信メッセージ動作中、MESSAGE B
UFFER TOGGLE信号は、メッセージ・オフセ
ット(MBOR)カウンタ101からメッセージ・バッ
ファ・アドレスを供給するようにマルチプレクサ100
を構成する。ワードが入力されるごとに、信号線102
にMBOR増分(INC MBOR)信号を供給するこ
とによって、カウンタ101の内容が増分される。この
信号は、受信メッセージの各ワードごとに1回ずつパル
スされ、バッファ99の最高3つの隣接するメッセージ
位置に受信メッセージを記憶する、メッセージ・バッフ
ァ・アドレス・シーケンスをもたらす。
ッファ・アドレスは、マルチプレクサ100によって供
給される。受信メッセージ動作中、MESSAGE B
UFFER TOGGLE信号は、メッセージ・オフセ
ット(MBOR)カウンタ101からメッセージ・バッ
ファ・アドレスを供給するようにマルチプレクサ100
を構成する。ワードが入力されるごとに、信号線102
にMBOR増分(INC MBOR)信号を供給するこ
とによって、カウンタ101の内容が増分される。この
信号は、受信メッセージの各ワードごとに1回ずつパル
スされ、バッファ99の最高3つの隣接するメッセージ
位置に受信メッセージを記憶する、メッセージ・バッフ
ァ・アドレス・シーケンスをもたらす。
バッファ99は、通常通り読取り/書込み信号(R/W
STROBE)によって制御される。受信メッセージ
をバッファ99に記憶する際、ストローブは、バス制御
回路77によって信号線104上にWRITE信号とし
て供給される。制御回路77からのWRITEストロー
ブは、通常型のAND/ORゲートの組合せ105/1
06で受け取る。バス制御回路WRITE信号は、2つ
のANDゲート105のうちの右側のゲートに、MES
SAGE BUFFER TOGGLE信号と共に供給
されて、ゲート出力をストローブさせ、このストローブ
は、ORゲートによってR/W STROBE信号とし
てバッファ99にパスされる。R/W STROBE信
号が活動化されると、レジスタ98中のメッセージ・ワ
ードは、マルチプレクサ100を介してMBORカウン
タ101から供給される、バッファ99内のアドレス位
置に入力される。
STROBE)によって制御される。受信メッセージ
をバッファ99に記憶する際、ストローブは、バス制御
回路77によって信号線104上にWRITE信号とし
て供給される。制御回路77からのWRITEストロー
ブは、通常型のAND/ORゲートの組合せ105/1
06で受け取る。バス制御回路WRITE信号は、2つ
のANDゲート105のうちの右側のゲートに、MES
SAGE BUFFER TOGGLE信号と共に供給
されて、ゲート出力をストローブさせ、このストローブ
は、ORゲートによってR/W STROBE信号とし
てバッファ99にパスされる。R/W STROBE信
号が活動化されると、レジスタ98中のメッセージ・ワ
ードは、マルチプレクサ100を介してMBORカウン
タ101から供給される、バッファ99内のアドレス位
置に入力される。
第6図を参照すると、今説明した動作が行なわれる順序
が理解できる。バス・メッセージ要求に応答してバス許
可が与えられた直後に、バス・アービタ67は信号線1
10上にコマンド信号を供給する。この信号に応答し
て、バス制御装置は、ステップ120で、復号器87の
出力を検査する。ステップ121で、バス制御回路の動
作は、命令コードが復号されるまで、作動可能状態で一
時停止される。ステップ123及び124で、バス・コ
マンドのMPVをレジスタ95に入れるため、LOAD
MPV信号及びLOAD MIS信号が供給される。
LOAD MPV信号及びLOAD MIS信号は、命
令コードの復号が行なわれるクロツク期間だけ活動状態
にある。次のクロック期間にバッファ99の連続した位
置に受信メッセージのワードを書き込むために、WRI
TE、LOAD BUS、及びINC MBOR信号が
すべて、ループ125−126−125中のクロック期
間の数だけストローブされる。MBORカウンタは、I
NC MBOR信号が活動状態にある間に発生する各ク
ロック期間ごとに1ずつその最後のカウントから増分す
る。最後のクロック期間に、3つの信号が非活動化さ
れ、RESET TOGGLE線108が1クロック期
間の間にパルスされて、ラッチ73をリセットさせ、そ
れによってMESSAGE BUFFER TOGGL
E信号が非活動化される。
が理解できる。バス・メッセージ要求に応答してバス許
可が与えられた直後に、バス・アービタ67は信号線1
10上にコマンド信号を供給する。この信号に応答し
て、バス制御装置は、ステップ120で、復号器87の
出力を検査する。ステップ121で、バス制御回路の動
作は、命令コードが復号されるまで、作動可能状態で一
時停止される。ステップ123及び124で、バス・コ
マンドのMPVをレジスタ95に入れるため、LOAD
MPV信号及びLOAD MIS信号が供給される。
LOAD MPV信号及びLOAD MIS信号は、命
令コードの復号が行なわれるクロツク期間だけ活動状態
にある。次のクロック期間にバッファ99の連続した位
置に受信メッセージのワードを書き込むために、WRI
TE、LOAD BUS、及びINC MBOR信号が
すべて、ループ125−126−125中のクロック期
間の数だけストローブされる。MBORカウンタは、I
NC MBOR信号が活動状態にある間に発生する各ク
ロック期間ごとに1ずつその最後のカウントから増分す
る。最後のクロック期間に、3つの信号が非活動化さ
れ、RESET TOGGLE線108が1クロック期
間の間にパルスされて、ラッチ73をリセットさせ、そ
れによってMESSAGE BUFFER TOGGL
E信号が非活動化される。
マルチプレクサ90、93、97、100のための対応
する制御信号が非活動化されると、マルチプレクサ9
0、93、97、100はデフォルト状態をとる。この
点に関連して、マルチプレクサ90は、MPVレジスタ
91の内容を循環させ、一方マルチプレクサ93は、M
ISレジスタの内容を後述する比較機構30の出力と共
に循環させる。MBORレジスタ/カウンタ101は、
カウント・アップしないようになっている。マルチプレ
クサ97は、後述するマイクロコード・データ・バス6
5に接続されたレシーバ132aから、その入力を選択
する。マルチプレクサ100は、マイクロコード・カウ
ンタ134の出力をバッファ99のアドレス・ポートに
接続する。最後に、MESSAGE BUFFER T
OGGLE信号が非活動状態になると、ANDゲート対
105の左側のANDゲートが活動化される。
する制御信号が非活動化されると、マルチプレクサ9
0、93、97、100はデフォルト状態をとる。この
点に関連して、マルチプレクサ90は、MPVレジスタ
91の内容を循環させ、一方マルチプレクサ93は、M
ISレジスタの内容を後述する比較機構30の出力と共
に循環させる。MBORレジスタ/カウンタ101は、
カウント・アップしないようになっている。マルチプレ
クサ97は、後述するマイクロコード・データ・バス6
5に接続されたレシーバ132aから、その入力を選択
する。マルチプレクサ100は、マイクロコード・カウ
ンタ134の出力をバッファ99のアドレス・ポートに
接続する。最後に、MESSAGE BUFFER T
OGGLE信号が非活動状態になると、ANDゲート対
105の左側のANDゲートが活動化される。
次に、送信メッセージがどのようにメッセージ・バッフ
ァに置かれ、メッセージ・バッファからバス39へ転送
されるか理解できるように、第5図と第7図を参照す
る。受信メッセージが処理のためにバッファから取り出
される動作シーケンスについても説明する。最終的に
は、最後の状況が、この処理に基づいてIOCPによっ
てCPUに戻されることになる。
ァに置かれ、メッセージ・バッファからバス39へ転送
されるか理解できるように、第5図と第7図を参照す
る。受信メッセージが処理のためにバッファから取り出
される動作シーケンスについても説明する。最終的に
は、最後の状況が、この処理に基づいてIOCPによっ
てCPUに戻されることになる。
このIOCPプログラムに含まれるマイクロワード・シ
ーケンス中から、バッファ99に関するマイクロワード
・コマンドが見つかる。これらのマイクロワードが制御
バス135上を転送される。バス上の各マイクロワード
は、マイクロワード・レジスタ137に入力される。メ
ッセージ処理に関係するマイクロコード・コマンドは、
第4B図に図示するマイクロワード様式を有する。マイ
クロワードは、命令コード(OP CODE)フィール
ド190、機能(FUNC)フィールド142及びバッ
ファ・アドレス・フィールド144を含む。命令コード
・フィールド140とFUNCフィールドは復号器13
8によって復号され、通常の復号手順でこれらのフィー
ルドから導かれた1組の制御信号が供給される。
ーケンス中から、バッファ99に関するマイクロワード
・コマンドが見つかる。これらのマイクロワードが制御
バス135上を転送される。バス上の各マイクロワード
は、マイクロワード・レジスタ137に入力される。メ
ッセージ処理に関係するマイクロコード・コマンドは、
第4B図に図示するマイクロワード様式を有する。マイ
クロワードは、命令コード(OP CODE)フィール
ド190、機能(FUNC)フィールド142及びバッ
ファ・アドレス・フィールド144を含む。命令コード
・フィールド140とFUNCフィールドは復号器13
8によって復号され、通常の復号手順でこれらのフィー
ルドから導かれた1組の制御信号が供給される。
最初の復号されたマイクロワードが、データ・バス39
に送信メッセージを供給することを必要とするSEND
MESSAGEマイクロワードであると仮定する。マ
イクロワードの復号は、第4B図の命令コード・フィー
ルド及びFUNCフィールドの復号から成る。これらの
ステップは、第7図の動作フローのステップ150及び
151で実施される。SEND MESSAGEマイク
ロワードが復号されたと仮定すると、この場合、マイク
ロワードのBUFFER ADDRフィールド144
は、送信メッセージの最初のワードのアドレスを含む。
各SENDメッセージは、4つの32ビット・ワードを
含み、各ワードはCLK信号の連続する4つのサイクル
のそれぞれ1つの間、バス39に置かれることを指摘し
ておく。送信メッセージを構成する4つの32ビット・
ワードは、バッファ99内の連続する4つの位置に予め
ロードされている。マイクロコード・カウンタ134
に、送信メッセージの最初のワードが記憶される最初の
位置がロードされる。メッセージの他の3ワードをアド
レスするには、カウント134が3回増分されなければ
ならない。したがって、第7図の判断ブロック151で
イエスを選択した後、マイクロコード制御回路136に
よって活動化された信号線170上のLOAD COU
NT信号に応答して、マイクロコード・カウンタ134
が、レジスタ137のマイクロワードのバッファ・アド
レス・フィールド144からロードされる。カウンタ1
34がロードされた後、動作ステップ153で、マイク
ロコード制御回路136は、線172上にメッセージ要
求信号を発生させる。この信号はアービタ67に渡さ
れ、そこでバス39へのアクセスをめぐってIOPメッ
セージ要求と競合する。制御回路136は、信号線17
3上でIOCP・GRANTを受け取るまで、要求信号
を活動状態に維持する。バス39へのアクセスが許可さ
れると、マイクロコード制御回路136は、ロード・メ
ッセージ(LOAD MSG)信号を活動化する。この
信号により、マルチプレクサ85はその入力を出力メッ
セージ(MSGOUT)レジスタ175から選択する。
レジスタ175の入力は、R/W STROBEがRE
AD状態のとき、バッファ99に供給されたアドレスに
記憶されたワードを受け取る。実際には、STROBE
信号のデフォルト状態は、STROBEのREAD状態
に対応するORゲート106の非活動出力である。した
がって、アドレスがバッファ99のアドレス・ポートに
提示されたとき、R/W STROBE信号がデフォル
ト状態にあると、現アドレスにあるメッセージがバッフ
ァ99から読み取られて、レジスタ175に入力され
る。ステップ155で、制御回路136から信号線17
7上に出力されたINC COUNT信号が、マイクロ
コード・カウンタ134をその初期値から3回増分さ
せ、それによって、SENDメッセージの連続する4つ
のワードが、レジスタ86を介してバス39に転送され
る。連続する4つのCLKサイクルの後に、判断ブロッ
ク156でのイエスの選択で表わされるように、INC
COUNT信号及びLOAD MSG信号が非活動化
される。
に送信メッセージを供給することを必要とするSEND
MESSAGEマイクロワードであると仮定する。マ
イクロワードの復号は、第4B図の命令コード・フィー
ルド及びFUNCフィールドの復号から成る。これらの
ステップは、第7図の動作フローのステップ150及び
151で実施される。SEND MESSAGEマイク
ロワードが復号されたと仮定すると、この場合、マイク
ロワードのBUFFER ADDRフィールド144
は、送信メッセージの最初のワードのアドレスを含む。
各SENDメッセージは、4つの32ビット・ワードを
含み、各ワードはCLK信号の連続する4つのサイクル
のそれぞれ1つの間、バス39に置かれることを指摘し
ておく。送信メッセージを構成する4つの32ビット・
ワードは、バッファ99内の連続する4つの位置に予め
ロードされている。マイクロコード・カウンタ134
に、送信メッセージの最初のワードが記憶される最初の
位置がロードされる。メッセージの他の3ワードをアド
レスするには、カウント134が3回増分されなければ
ならない。したがって、第7図の判断ブロック151で
イエスを選択した後、マイクロコード制御回路136に
よって活動化された信号線170上のLOAD COU
NT信号に応答して、マイクロコード・カウンタ134
が、レジスタ137のマイクロワードのバッファ・アド
レス・フィールド144からロードされる。カウンタ1
34がロードされた後、動作ステップ153で、マイク
ロコード制御回路136は、線172上にメッセージ要
求信号を発生させる。この信号はアービタ67に渡さ
れ、そこでバス39へのアクセスをめぐってIOPメッ
セージ要求と競合する。制御回路136は、信号線17
3上でIOCP・GRANTを受け取るまで、要求信号
を活動状態に維持する。バス39へのアクセスが許可さ
れると、マイクロコード制御回路136は、ロード・メ
ッセージ(LOAD MSG)信号を活動化する。この
信号により、マルチプレクサ85はその入力を出力メッ
セージ(MSGOUT)レジスタ175から選択する。
レジスタ175の入力は、R/W STROBEがRE
AD状態のとき、バッファ99に供給されたアドレスに
記憶されたワードを受け取る。実際には、STROBE
信号のデフォルト状態は、STROBEのREAD状態
に対応するORゲート106の非活動出力である。した
がって、アドレスがバッファ99のアドレス・ポートに
提示されたとき、R/W STROBE信号がデフォル
ト状態にあると、現アドレスにあるメッセージがバッフ
ァ99から読み取られて、レジスタ175に入力され
る。ステップ155で、制御回路136から信号線17
7上に出力されたINC COUNT信号が、マイクロ
コード・カウンタ134をその初期値から3回増分さ
せ、それによって、SENDメッセージの連続する4つ
のワードが、レジスタ86を介してバス39に転送され
る。連続する4つのCLKサイクルの後に、判断ブロッ
ク156でのイエスの選択で表わされるように、INC
COUNT信号及びLOAD MSG信号が非活動化
される。
ここで、レジスタ137内のマイクロワードは、バッフ
ァ99とマイクロコード・データ・バス65の間でメッ
セージを転送するための命令コードを有するものと仮定
する。メッセージがマイクロコード・データ・バスから
転送される場合、コマンドはWRITEマイクロワード
であり、メッセージをバッファ99に書き込むべきこと
を示す。一方、メッセージがバッファ99から取り出さ
れる場合、マイクロワードはREADマイクロワードで
ある。第8図に示すように、どちらの場合でも、最初の
ステップは、マイクロコード・カウンタ134に、メッ
セージの最初のワードが入力されるまたは見つかるバッ
ファ記憶位置をロードすることである。これは第8図の
ステップ180である。バッファ99でのデータの保全
性を保持するために、制御回路136は、ループ181
−182−181中のMESSAGE BUFFER
TOGGLE信号を、この信号が非活動化されるまでサ
ンプリングする。これは、データ破壊をもたらす恐れの
ある、IOPとIOCPがメッセージ記憶位置への同時
アクセスを行なうのを避けるためである。MESSAG
E BUFFER TOGGLE信号が非活動化される
と、マイクロコードの機能フィールド142にあるコー
ドに応じて、判断ブロック185の2つの選択肢の1つ
が選ばれる。ここで、マイクロワードは、READマイ
クロワードであって、メッセージをバッファ99からバ
ス・ドライバ132bを介してマイクロコード・データ
・バス65に移すことを必要とするものと仮定する。ス
テップ187で、STOP GRANT信号が信号線1
90上で活動化される。この信号は、アービタ67をロ
ックして、アービタ67が線69のいずれかで受け取っ
たメッセージ要求に応答しないようにする。次に、バッ
ファ99中の複数ワード・メッセージが、マイクロコー
ド・カウンタ134中の元の値及びその後の増分に応答
して、レジスタ175を介してマイクロコード・データ
・バス65上に送り出される。最後のワードに続いて、
INC COUNT信号とSTOP GRANT信号が
非活動化される。
ァ99とマイクロコード・データ・バス65の間でメッ
セージを転送するための命令コードを有するものと仮定
する。メッセージがマイクロコード・データ・バスから
転送される場合、コマンドはWRITEマイクロワード
であり、メッセージをバッファ99に書き込むべきこと
を示す。一方、メッセージがバッファ99から取り出さ
れる場合、マイクロワードはREADマイクロワードで
ある。第8図に示すように、どちらの場合でも、最初の
ステップは、マイクロコード・カウンタ134に、メッ
セージの最初のワードが入力されるまたは見つかるバッ
ファ記憶位置をロードすることである。これは第8図の
ステップ180である。バッファ99でのデータの保全
性を保持するために、制御回路136は、ループ181
−182−181中のMESSAGE BUFFER
TOGGLE信号を、この信号が非活動化されるまでサ
ンプリングする。これは、データ破壊をもたらす恐れの
ある、IOPとIOCPがメッセージ記憶位置への同時
アクセスを行なうのを避けるためである。MESSAG
E BUFFER TOGGLE信号が非活動化される
と、マイクロコードの機能フィールド142にあるコー
ドに応じて、判断ブロック185の2つの選択肢の1つ
が選ばれる。ここで、マイクロワードは、READマイ
クロワードであって、メッセージをバッファ99からバ
ス・ドライバ132bを介してマイクロコード・データ
・バス65に移すことを必要とするものと仮定する。ス
テップ187で、STOP GRANT信号が信号線1
90上で活動化される。この信号は、アービタ67をロ
ックして、アービタ67が線69のいずれかで受け取っ
たメッセージ要求に応答しないようにする。次に、バッ
ファ99中の複数ワード・メッセージが、マイクロコー
ド・カウンタ134中の元の値及びその後の増分に応答
して、レジスタ175を介してマイクロコード・データ
・バス65上に送り出される。最後のワードに続いて、
INC COUNT信号とSTOP GRANT信号が
非活動化される。
マイクロワードは、マルチワード・メッセージを、マイ
クロコード・データ・バス65からバス・レシーバ13
2aを介してメッセージ・バッファ99に入力すること
を必要とするWRITEマイクロワードであると仮定す
る。この場合も、アービタ67がバスへのIOPアクセ
スを許可するのを防ぐために、STOP GRANT信
号が活動化される。次に、WRITE BUFFER信
号が線191上で活動化され、送出されて、左側のAN
Dゲート105とORゲート106を介してR/W S
TROBE信号を肯定状態にする。メッセージは、マル
チプレクサ97とレジスタ98を介して、マイクロコー
ド・カウンタ134の連続するカウントで指示されたメ
ッセージ・バッファ99の連続する位置に書き込まれ
る。メッセージ・ワードが入力されると、INC GR
ANT信号、STOP GRANT信号、及びWRIT
E BUFFER信号がすべて非活動化される。
クロコード・データ・バス65からバス・レシーバ13
2aを介してメッセージ・バッファ99に入力すること
を必要とするWRITEマイクロワードであると仮定す
る。この場合も、アービタ67がバスへのIOPアクセ
スを許可するのを防ぐために、STOP GRANT信
号が活動化される。次に、WRITE BUFFER信
号が線191上で活動化され、送出されて、左側のAN
Dゲート105とORゲート106を介してR/W S
TROBE信号を肯定状態にする。メッセージは、マル
チプレクサ97とレジスタ98を介して、マイクロコー
ド・カウンタ134の連続するカウントで指示されたメ
ッセージ・バッファ99の連続する位置に書き込まれ
る。メッセージ・ワードが入力されると、INC GR
ANT信号、STOP GRANT信号、及びWRIT
E BUFFER信号がすべて非活動化される。
重要な最後の動作シーケンスは、MBORカウンタに新
しい初期カウントをロードするものである。第9図で、
復号器138は、マイクロワードがスワップ・メッセー
ジ受諾レジスタ(SMAR)マイクロワードであること
を指示する1組の信号を供給する。この場合、マイクロ
ワード制御回路は、MESSAGE BUFFER T
OGGLE信号が非活動化されるまで待つ。この条件が
検出されると、マイクロコード制御回路動作シーケンス
は、RTレジスタ193内のMBORカウンタ101の
現在の内容を捕捉し、RSレジスタ194を介してカウ
ンタ101に新しい値をロードするための処理手順(ス
テップ192を示す)を実施する。このシーケンスは、
まず信号線197上を介してマルチプレクサ198にL
OAD RT信号を供給することによって開始される。
このLOAD RT信号によって、マルチプレクサは、
RTレジスタ193の最初のフィールド中のカウンタ1
01の内容、RTレジスタ193の中間フィールド中の
MBSWレジスタ200の内容、及びRTレジスタ19
3の第3フィールド中のMISレジスタ220の内容を
RTレジスタ193にロードする。次いで次のコマンド
で、RTレジスタ193が、マイクロコード・データ・
バス65を介してIOCPマイクロコードによって読み
取られる。MBORカウンタの内容がRTレジスタ19
3に捕捉された後、LOAD RT信号が非活動化さ
れ、LOAD MBOR信号が信号線195上に生じ
て、新しいMBOR値をRSレジスタ194の当該のフ
ィールドから移動させ、その値をMBORカウンタ10
1にロードさせる。RSレジスタ194は、SMARル
ーチンの前にMOVE WORD命令によってロードさ
れる。この命令は、バス65をマルチプレクサ204を
介してRSレジスタに接続するLOAD RS信号が活
動化されたとき、バス65からの新しいMBOR値をロ
ードする。
しい初期カウントをロードするものである。第9図で、
復号器138は、マイクロワードがスワップ・メッセー
ジ受諾レジスタ(SMAR)マイクロワードであること
を指示する1組の信号を供給する。この場合、マイクロ
ワード制御回路は、MESSAGE BUFFER T
OGGLE信号が非活動化されるまで待つ。この条件が
検出されると、マイクロコード制御回路動作シーケンス
は、RTレジスタ193内のMBORカウンタ101の
現在の内容を捕捉し、RSレジスタ194を介してカウ
ンタ101に新しい値をロードするための処理手順(ス
テップ192を示す)を実施する。このシーケンスは、
まず信号線197上を介してマルチプレクサ198にL
OAD RT信号を供給することによって開始される。
このLOAD RT信号によって、マルチプレクサは、
RTレジスタ193の最初のフィールド中のカウンタ1
01の内容、RTレジスタ193の中間フィールド中の
MBSWレジスタ200の内容、及びRTレジスタ19
3の第3フィールド中のMISレジスタ220の内容を
RTレジスタ193にロードする。次いで次のコマンド
で、RTレジスタ193が、マイクロコード・データ・
バス65を介してIOCPマイクロコードによって読み
取られる。MBORカウンタの内容がRTレジスタ19
3に捕捉された後、LOAD RT信号が非活動化さ
れ、LOAD MBOR信号が信号線195上に生じ
て、新しいMBOR値をRSレジスタ194の当該のフ
ィールドから移動させ、その値をMBORカウンタ10
1にロードさせる。RSレジスタ194は、SMARル
ーチンの前にMOVE WORD命令によってロードさ
れる。この命令は、バス65をマルチプレクサ204を
介してRSレジスタに接続するLOAD RS信号が活
動化されたとき、バス65からの新しいMBOR値をロ
ードする。
メッセージの処理 次に、IOCP38がIOPとの接続を確立し、IOP
との通信を実施する手順の詳細な説明を行なう。IOC
P38は、主記憶装置にある制御情報ブロックを取り出
すことによって、入出力命令の処理を開始する。所望の
記憶位置が、まずマイクロコードの制御下でSAR64
にロードされる。次いで、データが主記憶装置からST
IO BUF53に移動され、LLS61のIOCP作
業域に移される。IOCPは、これらの制御ブロックか
らの情報を利用して、SLS58中に目的とするIOP
に対する送信メッセージを形成する。AUL59は、デ
ータに対する算術的及び論理的演算を実施することによ
って、この処理を支援する。マイクロコード・バス65
は、完成したメッセージをSLS58とLLS61のメ
ッセージ・バッファ部分の間で転送する。次にIOCP
38は、メッセージを送信メッセージの形でIOPに送
出する。
との通信を実施する手順の詳細な説明を行なう。IOC
P38は、主記憶装置にある制御情報ブロックを取り出
すことによって、入出力命令の処理を開始する。所望の
記憶位置が、まずマイクロコードの制御下でSAR64
にロードされる。次いで、データが主記憶装置からST
IO BUF53に移動され、LLS61のIOCP作
業域に移される。IOCPは、これらの制御ブロックか
らの情報を利用して、SLS58中に目的とするIOP
に対する送信メッセージを形成する。AUL59は、デ
ータに対する算術的及び論理的演算を実施することによ
って、この処理を支援する。マイクロコード・バス65
は、完成したメッセージをSLS58とLLS61のメ
ッセージ・バッファ部分の間で転送する。次にIOCP
38は、メッセージを送信メッセージの形でIOPに送
出する。
送信メッセージは、第5A図及び第5B図のメッセージ
・バッファ・ハードウェアによって次のように処理され
る。。送信メッセージの開始は、命令コードとマイクロ
コードの機能フィールドの復号によって指示される。動
作が送信メッセージの場合、次のシーケンスが行なわれ
る。マイクロコード制御回路136は、マイクロコード
によって指定されたバッファ・アドレスを、カウンタ1
34にロードする。次に、回路136はバス39の使用
を要求する。アービタ67から許可を受けると、回路1
36は経路99−125−85−86−39を介してバ
ス39にメッセージをロードし、メッセージは後続のC
LKサイクルで1ワードずつゲートされる。バッファ9
9がアクセスされる各サイクル毎に、マイクロコード・
カウンタ134が増分される。最後のワードがバス39
に置かれると、IOE45は制御記憶機構47からの取
出しを再開する。
・バッファ・ハードウェアによって次のように処理され
る。。送信メッセージの開始は、命令コードとマイクロ
コードの機能フィールドの復号によって指示される。動
作が送信メッセージの場合、次のシーケンスが行なわれ
る。マイクロコード制御回路136は、マイクロコード
によって指定されたバッファ・アドレスを、カウンタ1
34にロードする。次に、回路136はバス39の使用
を要求する。アービタ67から許可を受けると、回路1
36は経路99−125−85−86−39を介してバ
ス39にメッセージをロードし、メッセージは後続のC
LKサイクルで1ワードずつゲートされる。バッファ9
9がアクセスされる各サイクル毎に、マイクロコード・
カウンタ134が増分される。最後のワードがバス39
に置かれると、IOE45は制御記憶機構47からの取
出しを再開する。
次にIOCP38は、目標IOPからの受信メッセージ
を待つ。IOPが活動状態の場合、それが入出力命令を
受け取っており実行を始めようとしていることを指示す
る最初の受信メッセージを戻す。IOCP38は、外部
割込み(EIS)レジスタ220中のビットの設定によ
って、着信メッセージがあることを通知される。そのビ
ットは、MISレジスタ95の内容をレジスタ223の
マスク(M)フィールド中のマスク値と比較することに
よってセットされる。マスク値とMISレジスタ95の
内容が、ANDゲート221を用いてビットごとに加算
される。ビットごとのANDが活動状態の場合、AND
ゲート221が活動化され、EISレジスタ220でメ
ッセージ割込みビットをセットする。このビットは、受
信メッセージの最初のワードを形成するバス・メッセー
ジ動作コマンドに含まれる、復号されたメッセージ優先
順位値の比較から直接導かれることは自明である。
を待つ。IOPが活動状態の場合、それが入出力命令を
受け取っており実行を始めようとしていることを指示す
る最初の受信メッセージを戻す。IOCP38は、外部
割込み(EIS)レジスタ220中のビットの設定によ
って、着信メッセージがあることを通知される。そのビ
ットは、MISレジスタ95の内容をレジスタ223の
マスク(M)フィールド中のマスク値と比較することに
よってセットされる。マスク値とMISレジスタ95の
内容が、ANDゲート221を用いてビットごとに加算
される。ビットごとのANDが活動状態の場合、AND
ゲート221が活動化され、EISレジスタ220でメ
ッセージ割込みビットをセットする。このビットは、受
信メッセージの最初のワードを形成するバス・メッセー
ジ動作コマンドに含まれる、復号されたメッセージ優先
順位値の比較から直接導かれることは自明である。
EISレジスタ220は、受信メッセージをバス39上
で受け取るまでポーリングされる。その後、IOCP3
8は、他のソフトウェア・レベルの入出力命令を自由に
受け取り、実行することができるようになる。IOCP
が使用中でない間、IOCPはEISを周期的にポーリ
ングし、IOPからメッセージが送出されたかどうかを
決定するために、メッセージ・ヒットを受け取る。後
で、目的のIOPがその動作を終了したとき、その動作
期間の最終状況を示す受信メッセージを送出する。この
間に、IOCP38は、入ってくる受信メッセージとは
非同期的にIOPに作業をタスク指名する。
で受け取るまでポーリングされる。その後、IOCP3
8は、他のソフトウェア・レベルの入出力命令を自由に
受け取り、実行することができるようになる。IOCP
が使用中でない間、IOCPはEISを周期的にポーリ
ングし、IOPからメッセージが送出されたかどうかを
決定するために、メッセージ・ヒットを受け取る。後
で、目的のIOPがその動作を終了したとき、その動作
期間の最終状況を示す受信メッセージを送出する。この
間に、IOCP38は、入ってくる受信メッセージとは
非同期的にIOPに作業をタスク指名する。
入ってくる受信メッセージは、先に第6図に関して説明
したように処理する。
したように処理する。
IOCP38がバッファ99の内容を検査できる状態に
あるとき、SMARマイクロワードの実行によって、デ
ータの保全性が維持される。この動作によって、IOC
Pはカウンタ101内のMBOR値を、RSレジスタ1
94中のマイクロワードによってセットアップされた値
とスワップする。こうして、IOCPは受信メッセージ
の最後のワードのアドレスを得る。その後、IOCPは
メッセージを取り出すことができる。同時にMBORレ
ジスタ/カウンタは、バッファ99の現在使用されてい
ないセクションを指す新しい値を得る。したがって、I
OP受信メッセージの入力によって、IOCPにとって
重要なメッセージが損傷を受けなくなる。IOCP38
がMBOR位置にあるメッセージの内容を問い合わせて
いる間に、バス39から新しいMBOR値で受信メッセ
ージを受け取ることができる。
あるとき、SMARマイクロワードの実行によって、デ
ータの保全性が維持される。この動作によって、IOC
Pはカウンタ101内のMBOR値を、RSレジスタ1
94中のマイクロワードによってセットアップされた値
とスワップする。こうして、IOCPは受信メッセージ
の最後のワードのアドレスを得る。その後、IOCPは
メッセージを取り出すことができる。同時にMBORレ
ジスタ/カウンタは、バッファ99の現在使用されてい
ないセクションを指す新しい値を得る。したがって、I
OP受信メッセージの入力によって、IOCPにとって
重要なメッセージが損傷を受けなくなる。IOCP38
がMBOR位置にあるメッセージの内容を問い合わせて
いる間に、バス39から新しいMBOR値で受信メッセ
ージを受け取ることができる。
最後に、SMAR動作も、特定の値のMBORカウント
がカウンタ101で実施されたときに、開始される。こ
の点に関連して、MBORカウンタ101の上位Mビッ
トは、ANDゲート230で収集される。これらのビッ
トがすべてセットされるカウントにカウンタが達したと
き、ANDゲートの出力はハイになる。この出力は、線
102上でストローブされるINC MBOR信号に応
答してマルチプレクサ232によって選択される。した
がって、MBOR増分中にANDゲートの出力が立ち上
がると、MBSW状況レジスタ200中の1ビットがセ
ットされ、そのビットがORゲート235を介してEI
Sレジスタ220に送られ、そこでレジスタ220中の
MBOR FULLビットをセットする。レジスタ22
0は周期的にポーリングされるので、MBOR FUL
Lビットがセットされると、バッファ99の新しいセク
タに対応するようにMBOR初期カウンタを変更して、
SMARマイクロワードの実行をプロンプトする。
がカウンタ101で実施されたときに、開始される。こ
の点に関連して、MBORカウンタ101の上位Mビッ
トは、ANDゲート230で収集される。これらのビッ
トがすべてセットされるカウントにカウンタが達したと
き、ANDゲートの出力はハイになる。この出力は、線
102上でストローブされるINC MBOR信号に応
答してマルチプレクサ232によって選択される。した
がって、MBOR増分中にANDゲートの出力が立ち上
がると、MBSW状況レジスタ200中の1ビットがセ
ットされ、そのビットがORゲート235を介してEI
Sレジスタ220に送られ、そこでレジスタ220中の
MBOR FULLビットをセットする。レジスタ22
0は周期的にポーリングされるので、MBOR FUL
Lビットがセットされると、バッファ99の新しいセク
タに対応するようにMBOR初期カウンタを変更して、
SMARマイクロワードの実行をプロンプトする。
E 効果 本発明によれば、IOCP内にメッセージ・バッファを
配置したので、主記憶装置を通るよりも速くて効率的な
CUPとIOPの間の緩衝記憶されたメッセージ通信が
可能になる。
配置したので、主記憶装置を通るよりも速くて効率的な
CUPとIOPの間の緩衝記憶されたメッセージ通信が
可能になる。
第1図は、第2図のメッセージを、本発明によりステー
ジングするためのメッセージ・バッファの配置を示す図
である。第2図は、従来技術においてCPUと複数のI
OPとの間で制御メッセージが交換される経路を示す図
である。第3図は、入出力制御メッセージを緩衝記憶す
るための入出力制御処理装置(IOCP)の基本的構成
要素を示す図である。 第4A図と第4B図は、それぞれバス・メッセージ操作
コマンド及びIOCPマイクロコード・コマンドの様式
を示す図である。第5A図及び第5B図は、本発明のメ
ッセージ・バッファを示す回路図である。第6図は、I
OPから第5A図及び第5B図のバッファにメッセージ
を入れるための一連の動作を示す処理流れ図である。第
7図ないし第9図は、それぞれメッセージを第5A図及
び第5B図のメッセージ・バッファからIOPに送出
し、第5A図及び第5B図のバッファからメッセージを
読み取り、またはそこへ書き込み、IOP起源のメッセ
ージが書き込まれる第5A図及び第5B図のバッファ内
の位置を変更するための動作シーケンスを示す図であ
る。 10、30……中央演算処理装置(CPU)、12、3
2……主記憶装置、14、42……メッセージ・バッフ
ァ、16、36……記憶制御機構、17……クロック供
給源、12、23、40a、40b、41a、41b…
…入出力処理装置(IOP)、38……入出力制御処理
装置(IOCP)、39……共通バス、40、41……
バス・インターフェース機構(BIU)、44……通信
バス、45……入出力エンジン(ICE)、46……I
/O待ち行列(IOQ)、47……制御記憶機構、48
……記憶装置/入出力インターフェース(SITO)、
50……中央通信(COM)機構、51……メール・ボ
ックス(MBX)バッファ、53……データ・バッファ
(BUF)、55、56……外部レジスタ、58……小
型ローカル記憶域(SLS)、59……演算論理機構
(ALU)、61……大型ローカル記憶域(LLS)、
62……入出力インターフェース(IOU)、66……
記憶アドレス(SAR)バッファ域。
ジングするためのメッセージ・バッファの配置を示す図
である。第2図は、従来技術においてCPUと複数のI
OPとの間で制御メッセージが交換される経路を示す図
である。第3図は、入出力制御メッセージを緩衝記憶す
るための入出力制御処理装置(IOCP)の基本的構成
要素を示す図である。 第4A図と第4B図は、それぞれバス・メッセージ操作
コマンド及びIOCPマイクロコード・コマンドの様式
を示す図である。第5A図及び第5B図は、本発明のメ
ッセージ・バッファを示す回路図である。第6図は、I
OPから第5A図及び第5B図のバッファにメッセージ
を入れるための一連の動作を示す処理流れ図である。第
7図ないし第9図は、それぞれメッセージを第5A図及
び第5B図のメッセージ・バッファからIOPに送出
し、第5A図及び第5B図のバッファからメッセージを
読み取り、またはそこへ書き込み、IOP起源のメッセ
ージが書き込まれる第5A図及び第5B図のバッファ内
の位置を変更するための動作シーケンスを示す図であ
る。 10、30……中央演算処理装置(CPU)、12、3
2……主記憶装置、14、42……メッセージ・バッフ
ァ、16、36……記憶制御機構、17……クロック供
給源、12、23、40a、40b、41a、41b…
…入出力処理装置(IOP)、38……入出力制御処理
装置(IOCP)、39……共通バス、40、41……
バス・インターフェース機構(BIU)、44……通信
バス、45……入出力エンジン(ICE)、46……I
/O待ち行列(IOQ)、47……制御記憶機構、48
……記憶装置/入出力インターフェース(SITO)、
50……中央通信(COM)機構、51……メール・ボ
ックス(MBX)バッファ、53……データ・バッファ
(BUF)、55、56……外部レジスタ、58……小
型ローカル記憶域(SLS)、59……演算論理機構
(ALU)、61……大型ローカル記憶域(LLS)、
62……入出力インターフェース(IOU)、66……
記憶アドレス(SAR)バッファ域。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デヴイド・ジエイ・シツピイ アメリカ合衆国ニユーヨーク州エンデイコ ツト、ヒルサイド・テラス291番地
Claims (2)
- 【請求項1】中央演算処理装置(CPU)、CPUに接
続された主記憶装置及び主記憶装置と複数の入出力装置
との間でデータを転送するための入出力システムを含
み、該入出力システムがCPUから実行すべき入出力命
令を受け取る入出力制御処理装置(IOCP)、入出力
装置に接続され入出力命令の実行に応答して主記憶装置
と入出力装置との間でデータを転送するための複数の入
出力処理装置(IOP)及び入出力命令の実行に関する
割込み、状況制御情報を含むメッセージ交換のためにI
OCPをIOPに接続する共用バスを含むコンピュータ
・システムにおいて、共用バスを介するIOCPとIO
Pとの間でメッセージ交換を支援するためのメッセージ
・バッファ・システムであって、 メッセージ転送のための共用バスへのアクセスを許可す
るためのバス・アービタ、 前記バス・アービタに接続され前記バス・アービタがメ
ッセージ転送のために前記共用バスへのアクセスを許可
したことを指示する第1状態及び前記バス・アービタが
前記共用バスへのアクセスを許可していないことを指示
する第2状態に条件づけられたトグル信号を生成するた
めのメッセージ転送トグル回路、 アドレス可能な記憶資源、 前記アドレス可能記憶資源中の記憶アドレスに対応する
値を保持するためのアドレス・ポインタ、 前記共用バス、前記バス・アービタ、前記アドレス可能
記憶資源及び前記ポインタに接続され、前記IOPの1
つからメッセージを転送する目的で前記共用バスへのア
クセスが前記バス・アービタによって許可されたことに
応答して、前記IOPによって前記バスに置かれたメッ
セージを前記アドレス可能記憶資源の前記記憶アドレス
に入力するための、IOPメッセージ・バス制御手段並
びに 前記トグル回路及び前記アドレス可能記憶資源に接続さ
れてなり、前記トグル信号の前記第2状態に応答して、
前記アドレス可能記憶資源の記憶位置からメッセージを
取り出したり、そこへメッセージを入れたりするための
IOPメッセージ制御手段を含み、 前記IOPメッセージ制御手段は、前記アドレス可能記
憶資源にメッセージを入れたりそこからメッセージを取
り出すときに、前記アドレス・ポインタ中の前記値を変
更するための、前記アドレス・ポインタに接続されたポ
インタ切換手段を含む、 メッセージ・バッファ・システム。 - 【請求項2】メッセージ転送のためのバス、このバスに
接続された複数の第1ユーザ及び前記バスに接続された
複数の第2ユーザを含み、前記第1ユーザのどれか1つ
と前記第2ユーザとの間のメッセージ交換を支援するた
めのシステムにおいて、 第1の信号を、メッセージ転送のための前記バスへのア
クセスが許可されたことを示す第1状態及びメッセージ
転送のため前記バスが利用可能であることを示す第2状
態に置くためのアービタ回路、 前記アービタ回路に接続され、前記アクセス許可を示す
第1状態、及び前記バス利用可能を示す第2状態のトグ
ル信号を供給するためのメッセージ転送トグル回路、 複数の記憶位置を有し、この複数の記憶位置の各々がア
ドレスを有するメッセージ記憶装置、 アドレスを記憶するためのポインタ、 前記アドレスを前記メッセージ記憶装置に供給するため
に、前記ポインタを前記メッセージ記憶装置に接続する
手段、 前記バス、前記アービタ回路、前記メッセージ記憶装置
及びポインタに接続され、前記第1信号の前記第1状態
に応答して前記アドレスを増分することによって、メッ
セージを前記メッセージ記憶装置に入力するための、バ
ス制御手段、 前記メッセージ転送トグル回路及び前記メッセージ記憶
装置に接続され、前記トグル信号の前記 第2状態に応答して、前記メッセージ記憶装置からメッ
セージを読み取ったり、そこへメッセージを書き込んだ
りするための、メッセージ制御手段、 前記制御手段によって制御され、前記ポインタに接続さ
れてなる、前記トグル信号の前記第2状態に応答して、
アドレスを前記ポインタに入力するための、ポインタ切
換装置、及び 前記メッセージ制御手段中にあり、前記トグル信号の前
記第1状態に応答して、前記メッセージ制御手段が前記
メッセージ記憶装置からメッセージを読み取ったり、そ
こへメッセージを書き込んだりすることを防止するため
の手段、 を含むメッセージ・バッファ・システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US29154388A | 1988-12-29 | 1988-12-29 | |
| US291543 | 1988-12-29 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02190956A JPH02190956A (ja) | 1990-07-26 |
| JPH065521B2 true JPH065521B2 (ja) | 1994-01-19 |
Family
ID=23120735
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29407989A Expired - Lifetime JPH065521B2 (ja) | 1988-12-29 | 1989-11-14 | メツセージ・バツフア・システム |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0375900A3 (ja) |
| JP (1) | JPH065521B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5265211A (en) * | 1992-01-02 | 1993-11-23 | International Business Machines Corporation | Arbitration control logic for computer system having dual bus architecture |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4987530A (en) * | 1985-11-15 | 1991-01-22 | Data General Corp. | Input/output controller for a data processing system |
-
1989
- 1989-11-10 EP EP19890120836 patent/EP0375900A3/en not_active Withdrawn
- 1989-11-14 JP JP29407989A patent/JPH065521B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0375900A3 (en) | 1991-09-18 |
| EP0375900A2 (en) | 1990-07-04 |
| JPH02190956A (ja) | 1990-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4912632A (en) | Memory control subsystem | |
| JP2547424B2 (ja) | デジタルデータ処理システム | |
| US5003465A (en) | 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 | |
| US5696910A (en) | Method and apparatus for tracking transactions in a pipelined bus | |
| EP0241129B1 (en) | Addressing arrangement for a RAM buffer controller | |
| US6564271B2 (en) | Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter | |
| 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 | |
| US5001624A (en) | Processor controlled DMA controller for transferring instruction and data from memory to coprocessor | |
| US4803622A (en) | Programmable I/O sequencer for use in an I/O processor | |
| EP0905629A1 (en) | Bridge having a ditributing burst engine | |
| US5379386A (en) | Micro channel interface controller | |
| US4415970A (en) | Cache/disk subsystem with load equalization | |
| CA2068580A1 (en) | Scientific visualization system | |
| EP0908826A2 (en) | Packet protocol and distributed burst engine | |
| JPH0640317B2 (ja) | デジタルデータ処理システム | |
| JP2001142842A (ja) | Dmaハンドシェークプロトコル | |
| US5388223A (en) | 1-bit token ring arbitration architecture | |
| JPH06214945A (ja) | コンピュータシステム及び情報の高速転送方法 | |
| US5638538A (en) | Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus | |
| US5809534A (en) | Performing a write cycle to memory in a multi-processor system | |
| US5408612A (en) | Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register | |
| JPS63208151A (ja) | デジタルデータ処理システムのプロセッサと特殊命令プロセッサの間のインターフェイス | |
| JPH065521B2 (ja) | メツセージ・バツフア・システム | |
| JP2002198987A (ja) | ハブおよびポート付き転送コントローラのアクティブ・ポート | |
| EP0206345A2 (en) | I/O structure for information processing system |