JPH0670783B2 - データ処理システムのコマンド・インタフエース - Google Patents

データ処理システムのコマンド・インタフエース

Info

Publication number
JPH0670783B2
JPH0670783B2 JP2147548A JP14754890A JPH0670783B2 JP H0670783 B2 JPH0670783 B2 JP H0670783B2 JP 2147548 A JP2147548 A JP 2147548A JP 14754890 A JP14754890 A JP 14754890A JP H0670783 B2 JPH0670783 B2 JP H0670783B2
Authority
JP
Japan
Prior art keywords
command
subsystem
port
scb
state
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
JP2147548A
Other languages
English (en)
Other versions
JPH0322162A (ja
Inventor
フランシス・マイケル・ボーンヴエント
ダグラス・ロードリイツク・チイーズホーム
サミイ・デイビス・ドツドズ
ドラブカマー・エム・デザイ
アーネスト・ネルソン・マンデイーズ
アンドリユー・ボイス・マクニイール
リチヤード・ニイール・メンデルソン
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH0322162A publication Critical patent/JPH0322162A/ja
Publication of JPH0670783B2 publication Critical patent/JPH0670783B2/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は計算機システムに関し、特にパーソナル・コン
ピュータなどの上位(ホスト)プロセッサから複数の知
能サブシステムへコマンドを転送するための技術に関す
る。
B.従来の技術 上位システム及び少なくとも1つのサブシステムを含む
データ処理システムないし計算機システムにおいては、
個々のサブシステムへ直接コマンド及び間接コマンドを
送る必要がある。これは普通I/Oチャネルを介して行わ
れる。
直接コマンドは、1つのオペレーションでサブシステム
へ直接送ることができる完全な自己充足コマンドであっ
て、サブシステムで実行すべきオペレーションを完全に
指定する。一方、間接コマンドは、オペレーションを指
定するために、1つのチャネルI/Oサイクルで供給でき
るよりも多くのデータを必要とする。間接コマンド自身
は、メモリにおいて、サブシステムで実行すべきオペレ
ーションを完全に指定するのに必要なすべてのパラメー
タを含むブロックへのポインタである。このブロックは
普通「制御ブロック」と呼ばれている。
すべての計算機システムは少なくとも1つのI/O命令を
備えており、上位システムでランしているプログラムは
I/O命令によりデータやコマンドをその外部インタフェ
ースすなわちチャネルを介して送ることができる。各I/
Oオペレーションで送ることができるデータの量、及び
オペレーションの受け入れまたは完了に関してチャネル
またはサブシステムから受け取る状況はシステムにより
異なる。
IBMシリーズ/1で代表されるクラスの計算機システムで
は(IBMシリーズ/1のオペレーションについては、“IBM
Series/1Priciples of Operation"、資料番号GA34−01
52−0に詳しい)すべてのI/Oオペレーションは、その
チャネルに導入されている周辺接続カードへ次のような
情報を送っていた。
(1)コマンドを送るサブシステムのアドレス。
(2)オペレーションが直接か間接かを示す8ビットの
コマンド・フィールド。
(3)直接コマンドに関するデータ、または間接コマン
ドの場合は装置制御ブロック(DCB)のアドレスを含む1
6ビットのワード。
更に、チャネルでの各I/O命令の実行中に、 I/Oオペレーションの状況を表す条件コードを記録する
ために各種のインデイケータを介して状況情報が与えら
れていた。この即時の実時間状況により、上位プログラ
ムは、コマンドが首尾よくサブシステムに受け入れられ
たかどうか、または「装置が接続されていない」、「即
時コマンド拒否」などのエラー状態が生じたかどうかを
知ることができた。エラーの場合、上位プログラムは後
でコマンドを再試行できた。
シリーズ/1のサブシステムは、コマンドを直ちに受け入
れたり、拒否したりすることができたので、即時状況を
上位プログラムへ報告するのに優先割込みなどの機構を
用いる必要はなかった。
C.発明が解決しようとする課題 システム全体の保全性を保証するためには、サブシステ
ムによるI/Oコマンドの実行が受け入れられたかどうか
を報告する機構がなければならない。未検出のままに残
され、したがって回復できない多くの故障モードがある
ため、上位システムは、コマンドが首尾よく受け入れら
れたということを仮定することはできない。
パーソナル・コンピュータ・クラスの機械で複雑なコマ
ンドを装備することの必要性も認識されている。しかし
このクラスの機械では、I/Oチャネルを介して直接コマ
ンドまたは間接コマンドを送った場合に即時状況を報告
する機構はこれまでなかった。
したがって、本発明の目的は、計算機システムのための
新規なコマンド転送機構を提供することにある。
D.課題を解決するための手段 本発明は、上位プロセッサと、1以上の装置を接続でき
る少なくとも1つの知能サブシステムとの間で情報を転
送するための複数のポートを有するコマンド・インタフ
ェースを用いることによって、上述のような問題を解決
する。
コマンド・インタフェース・ポートは、知能サブシステ
ムでコマンドを即時に実行するのに必要なすべての情報
を含む直接コマンド、または上位プロセッサのメモリに
記憶されている サブシステム制御ブロックのアドレスである間接コマン
ドを上位プロセッサから受け取る。
アテンション・ポートは、直接コマンド及び間接コマン
ドのいずれがコマンド・インタフェース・ポートに受け
取られるかを示す第1部分、並びに知能サブシステム及
びそれに接続されている装置のいずれがコマンドを実行
するかを示す第2部分を有するコードを上位プロセッサ
から受け取る。
コマンド使用中/状況ポートは、上位プロセッサが読み
取ることのできる状況情報を含んでいる。この情報は、
サブシステムまたは装置によるコマンドの即時受け入れ
または即時拒否を表す。
直接コマンドは、アテンション・ポートに書き込まれた
コードの第2部分に従って知能サブシステムまたはその
被接続装置で直接実行される。間接コマンドの場合は、
知能サブシステムが指定されたSCBアドレスを用いてメ
モリを直接アクセスし、次いで知能サブシステムまたは
装置がアクセスされたSCBで指定されるオペレーション
を実行する。
E.実施例 本発明は、上位計算機システムでランしているプログラ
ムのためのコマンド転送に関するものである。直接コマ
ンドまたは間接コマンドは、複数の装置を接続できる少
なくとも1つの知能サブシステムへコマンド・インタフ
ェースを介して転送される。この説明では、本発明を、
IBMパーソナル・システム/2(PS/2)コンピュータ上で
走行するプログラム用のコマンド転送システムに関して
説明する。即時コマンドなどの直接コマンド、及びPS/2
システム・メモリに記憶されたサブシステム制御ブロッ
クなどの間接コマンドが、IBMマイクロチャネルを介し
て1つの知能サブシステム上のコマンド・インタフェー
スに転送される。知能サブシステムには、磁気テープ装
置、磁気ディスク装置、印刷装置、通信装置、表示装置
など複数の装置を接続することができる。ただし、本発
明は、インタフェース・ネットワークを介して知能サブ
システムにコマンドを転送する他の上位(ホスト)コン
ピュータ・システムでも実施できることを了解された
い。
サブシステム制御ブロック(SCB)アーキテクチャは、
上位プロセッサとサブシステムの間に、直接記憶アクセ
ス(DMA)能力を有し、かつコマンド・レベルの動作を
扱うことのできる、制御ブロック・レベルのインタフェ
ースをもたらすものと定義される。SCB内に個々のコマ
ンドが含まれる。1つのSCBが他の1つまたは複数のSCB
のアドレスを指し、この連鎖が1つの論理コマンドとし
て扱われるという、コマンド連鎖がある。また、所与の
コマンドに関連する多数のバッファのデータ連鎖があ
る。このバッファの連鎖は、間接リストを使った構造で
ある。
SCBは、システム・メモリ中に終了状況ブロック(TSB)
を含んでいる。所与のSCBの完了または終了状況が、そ
のコマンドを処理するサブシステムによってTSBに入れ
られる。コマンド連鎖の任意の点での終了を処理するた
め、連鎖内の各SCBごとにTSBが定義される。
SCBとTSBの詳しい説明は、下記で述べるコマンド転送シ
ステムの全体的説明の後に行なう。
第1図は、本発明にもとづくコンピュータ・システムの
全体的構成図である。上位コンピュータ・システム100
は、バス・アーキテクチャ110を介して複数の知能サブ
システム102、104、106、108と情報を交換する。バス・
アーキテクチャ110は、上位コンピュータ・システム100
上のチャネル112、及びサブシステム102上のインタフェ
ース114など各サブシステム上のインタフェースの間に
接続されている。サブシステム104、106、108はそれぞ
れサブシステム102と類似している。バス・アーキテク
チャは、制御信号を交換するための制御バス116と、デ
ータ信号を交換するためのデータ・バス118と、アドレ
スを交換するためのアドレス・バス120を含んでいる。
第2図は、システム100とサブシステム102の詳細を示
す。ただし、他のサブシステムも同様に構成されてい
る。
上位システム100は、バス126を介して主記憶装置124に
接続されたシステム・プロセッサ集合体または上位プロ
セッサ122を含んでいる。システム・プロセッサ集合体1
22は、マイクロチャネル126で主記憶装置(システム・
メモリ)124に接続された、上記のPS/2などのパーソナ
ル・コンピュータ・クラスのマイクロプロセッサから構
成される。PS/2およびマイクロチャネルの動作について
は、IBM刊行物「PS/2ハードウェア・インタフェース技
術解説書(PS/2 Hardware Interface Technical Refere
nce)」資料番号68X−2330−0に記載されている。記憶
装置124は、上位プロセッサ122からアクセスでき、また
サブシステム102から直接記憶アクセスによってアクセ
スできる。
サブシステム102は、マイクロチャネル126へのマイクロ
チャネル・インタフェース128を含む、接続機構または
アダプタから構成される。
このインタフェースは、1組の入出力ポートを含む。こ
れらのポートの詳細は第3図に関して説明するが、シス
テム上位プロセッサがサブシステムにコマンドを送り、
サブシステムから回答を受け取るようにするためのもの
である。これらのポートは、主記憶空間または入出力空
間にマップすることができる。またこのインタフェース
は、アダプタが必要とするマイクロチャネル・バス・マ
スタ/スレーブ機能を提供する。
コマンドとしては、直接コマンドまたは即時コマンド
と、主記憶装置124内のサブシステム制御ブロック(SC
B)のアドレスなどの間接コマンドがある。SCB転送支持
論理ブロック130が、SCBコマンドを、インテル80186ま
たは80188クラスのマイクロプロセッサなどの局所マイ
クロプロセッサ132に供給する。上記のマイクロプロセ
ッサの動作は、「インテル・マイクロプロセッサおよび
周辺装置ハンドブック(Intel Microprocessor and Per
ipheral Handbook)」に記載されている。SCB転送ブロ
ック130または、プロセッサ132内の割込み論理回路
(I)134に局所プロセッサ割込みを供給する。SCB転送
論理ブロック130とマイクロプロセッサ132に含まれるコ
マンド処理プログラムの機能とプロセッサ復号機能を示
す詳細な流れ図を第14図ないし第18図に示す。
マイクロプロセッサ132は、SCBコマンドに応答して、接
続装置インタフェース146を介して接続された装置136、
138、140、142に対してタスクのスケジュールを立て
る。インタフェース146は、例えば小形コンピュータ・
システム・インタフェース(SCSI)である。SCSIインタ
フェースの動作は、「米国規格協会(ANSI)情報システ
ム規格−小型コンピュータ・システム・インタフェース
(SCSI)(American National Standards Institute(A
NSI)For Information Systems−Small Computer Syste
ms Interface(SCSI))」、刊行物番号ANSI X3.131−1
986に記載されている。接続装置は、磁気ディスク装
置、磁気テープ装置、直接アクセス記憶装置(DASD)、
印刷装置、表示装置などである。装置D(0)136は、
サブシステムにコマンドを送るために利用される。知能
サブシステム136と装置138、140、142は、それぞれ上位
プロセッサから論理装置と見なされ、装置識別番号D
(0)、D(1)、D(2)、D(n)が割り当てら
れ、それを使ってアドレスされる。
マイクロチャネル・インタフェースの入出力ポートを第
3図に示す。サブシステムを制御するように定義された
ポートは、次の順序で入出力アドレス空間内で割り振ら
なければならない。
(1)コマンド・インタフェース・ポート148 (2)アテンション・ポート(AP)150 (3)サブシステム制御ポート152 (4)割込み状況ポート154 (5)コマンド使用中/状況ポート(CBSP)156 これらのポートは、入出力アドレス空間の代りにシステ
ム・メモリ・アドレス空間にマップすることができる。
この説明では、入出力アドレスを選んだ。したがって、
説明中で「出力」コマンドまたは「入力」コマンドを使
っている箇所で、ポートをシステム・メモリ・アドレス
空間にマップする場合はその代りに「システム書込み」
コマンドまたは「システム読取り」コマンドを使うこと
になる。
コマンド・インタフェース・ポート148は、コマンド・
ポートとも呼ばれ、サブシステム読取り/システム書込
みレジスタである。この32ビット・レジスタは、2ワー
ド(32ビット)の直接コマンドすなわち即時コマンド、
またはSCBアドレスなどの間接コマンドを、システムか
らサブシステムに転送するのに使用する。間接コマンド
またはSCBは、サブシステムが実行すべき動作を指定す
る。
システム・プログラムは、即時コマンドまたはSCBアド
レスをコマンド・インタフェース・ポート148に書き込
み、次いでアテンション・ポート150にコードを書き込
む。サブシステムは、コマンド使用中/状況ポート156
中の使用ビット(B)をセットする。システムがアテン
ション・ポート150にコードを書き込むと、その旨が割
込み論理ブロック134(第2図)を介して局所マイクロ
プロセッサ132に伝えられる。この割込みに応答して、
サブシステムは、アテンション・ポート150とコマンド
・インタフェース・ポート148を読み取り、次いで実行
すべき動作の種類とその対象となる装置を決定する。サ
ブシステムは、コマンド・インタフェース・ポート148
中に供給されたアドレスにあるSCBを取り出し、あるい
は即時コマンドを実行する。
アテンション・ポート150は、サブシステム読取り/シ
ステム書込みレジスタである。この8ビットまたは16ビ
ットのレジスタは、コマンドを実行すべくサブシステム
の注意を要求するために、システム・プログラムが使用
する。このレジスタ内のビットは、要求される動作およ
び関連する装置番号を示す。言い換えれば、アテンショ
ン・ポートは、即時コマンドまたはSCBアドレスのどち
らをコマンド・インタフェース・ポート148で受け取る
かを示す第1の部分と、サブシステムまたは接続装置の
どちらが、コマンド・インタフェース・ポート148で受
け取ったコマンドを実行するかを示す第2の部分とを有
するコードを受け取る。アテンション・ポート150がシ
ステムによって書き込まれると、コマンド使用中/状況
ポート156中の使用中ビット(B)が、サブシステムに
よって直ちに“1"にセットされる。この使用中ビット
(B)は、サブシステムがアテンション要求および関連
するコマンド・インタフェース・ポートを読み取り、こ
のコマンドを受け入れることができるかどうか判定する
まで、セットされたままとなる。使用中ビットが“0"の
ときは、サブシステムは新しいコマンドを受け取ること
ができるはずである。使用中ビットはまた、サブシステ
ムがサブシステム・リセットを完了するまで、セットさ
れたままとなる。
第4図にアテンション・ポート(AP)150の詳細を示
す。上位プロセッサは、APに読取り/書込みアクセスを
行なうことができる。APへのシステム・ソフトウェア書
込み(SSW)動作またはシステム・ソフトウェア読取り
(SSR)動作の間、マイクロチャネル入出力アドレス
は、マイクロチャネルのセットアップ時にAPに割り当て
られたサブシステム選択のための値と等しくなければな
らない。
APは、APレジスタ143の入力端で、8ビットのアテンシ
ョン・コマンド141を受け取る。この入力アテンション
・コマンドは、ANDゲート153が活動状態のとき、レジス
タ143にクロック入力され、レジスタの出力端157から出
力される。ゲート153が活動状態のとき、SET_AP_INTRPT
信号が線155上に供給される。この信号は、上位プロセ
ッサによってAPにコマンドが書き込まれたことを知らせ
る、サブシステム局所プロセッサへの割込みである。ゲ
ート153が非活動状態のときは、アテンション・コマン
ドをレジスタ143にクロック入力することができず、し
たがって、サブシステムはそれを無視する。
4つの入力が、ゲート153が“1"の出力をもつかどうか
を制御する。正の論理入力を正(+)符号で表し、負の
論理入力を負(−)符号で表す。線145上の第1の入力
は+MC_AP_SEL信号であり、“1"のとき、APに対するマ
イクロチャネル・アドレスが有効であり、かつ上位プロ
セッサがこのサブシステムに対するAPを選択したことを
示す。線147上の第2の入力は+SSW_REG_CLK信号であ
り、“1"のとき、このサブシステムの入出力アドレス空
間に対するマイクロチャネル入出力書込みが有効である
ことを示す。第3と第4の信号は、コマンド使用中/状
況ポート(CBSP)から供給される。線149上の第3の入
力は−CBSP_BITO_(B)信号であり、これは使用中ビッ
ト(B)信号である。この信号は負の論理信号なので、
Bが“0"のとき、線149上の信号は“1"となり、Bが
“1"のとき、線149上の信号は“0"となる。線151上の第
4の入力は−CBSP_BIT4_(REJ)信号であり、これは拒
絶(REJ)信号である。この信号は負の論理信号なの
で、REJが“0"のとき、線151上の信号は“1"となり、RE
Jが“1"のとき、線151上の信号は“0"となる。線145、1
47、149、151がそれぞれ“1"のときは、線141上のアテ
ンション・コマンドがレジスタ143にクロック入力さ
れ、線155上のSET_AP_INTRPT信号が局所プロセッサに、
AP中にコマンドが書き込まれたことを伝える。逆に、こ
れらの線のいずれかが“0"の場合は、ゲート153は“0"
出力を供給し、それによってAPレジスタ143へのコマン
ドの書込みが阻止される。具体的に言うと、使用中ビッ
トまたはREJビットが“1"の場合、APレジスタ143へのコ
マンドの書込みが阻止される。
サブシステム制御ポート152は、サブシステム読取り/
システム書込みレジスタである。これは8ビットの読取
り/書込みポートであり、いくつかのサブシステム規模
の機能の直接ハードウェア制御を行なう。このポートに
は、サブシステムおよびすべての接続装置のリセットを
制御するビット、サブシステムが主プロセッサに物理割
込みを提示することをエネーブルまたはディスエーブル
するビット、サブシステムDMAエネーブル/ディスエー
ブル機能、最後にコマンドがサブシステムによって実行
されずに拒絶されたときに生じるエラーをリセットする
機能が含まれる。サブシステム制御ポート152のビット
0〜7のフォーマットと機能を第3図に示し、その機能
を下記に説明する。
ビット0−EI−サブシステム割込み可能 このビットが“1"にセットされると、サブシステムがシ
ステムに物理割込みを送ることが可能になる。EIビット
は、サブシステムの電源が入ったとき、またはサブシス
テム・リセット・コマンドによってリセットされたと
き、“0"に初期設定される。EIビットが“0"のとき、サ
ブシステムの物理割込みが禁止され、主プロセッサに物
理割込みを送ることができない。このビットは、このポ
ートへの出力コマンドまたはサブシステム・リセット・
コマンドによって明示的にリセットされるまで、セット
されたままとなる。
ビット1−DMA−DMA可能 このビットが“0"にセットされているときは、サブシス
テムはDMA動作を開始できない。このビットを“0"にセ
ットすると、サブシステムは、SCBコマンドの発行もSCB
論理割込み状況(TSB)の記憶もできない状態になる。
このビットは、サブシステムに電源を入れたとき“0"に
セットされ、またサブシステム・リセット・コマンドに
よって“0"にリセットされる。このビットは、このポー
トへの出力コマンドまたはサブシステム・リセット・コ
マンドによって明示的にリセットされるまで、セットさ
れたままとなる。(DMAビットはハードウェアのデバッ
ク手段として意図され、サブシステムに強制的にマイク
ロチャネル活動を停止させる手段としても使用でき
る)。
ビット2&3−S.D−サブシステム従属 このポートのビット2と3は、サブシステム従属機能用
に予約されている。
ビット4&6−R−予約 ビット4と6は予約ビットであり、“0"にセットしなけ
ればならない。
ビット5−RR−拒絶リセット 上位プロセッサがこのビットを“1"にセットし、かつサ
ブシステムが拒絶状態のとき、拒絶状態がクリアされ
る。拒絶状態がクリアされると、コマンド使用中/状況
ポート中の使用中(B)ビットと拒絶(REJ)ビットが
“0"にセットされる。サブシステムが拒絶状態にない場
合は、RRビットに“1"を書き込んでも何の効果もない。
RRビットは、サブシステムの電源を入れたときまたはサ
ブシステム・リセット・コマンドによってリセットされ
たとき、“0"にセットされる。このビットは、このポー
トへの特定の出力コマンドまたはサブシステム・リセッ
ト・コマンドによって明示的にリセットされるまで、セ
ットされたままとなる。RRビットに“0"の値を書き込ん
でも、サブシステムの内部状態に影響はない。
ビット7−RST−サブシステム・リセット このビットは、サブシステムおよびそれに接続された全
装置のハードウェア制御リセットを行なうために使用さ
れる。“1"にセットされると、サブシステムはリセット
保留状態に入り、コマンド使用中/状況ポートの使用中
ビット(B)を“1"にセットする。サブシステム上のす
べての装置の活動が停止される。プログラムは、サブシ
ステム特有の時間にRSTに“0"値を書き込まなければな
らない。リセット保留状態の間にRSTビットが“1"から
“0"に遷移すると、サブシステムはリセット進行中状態
になる。この状態のとき、サブシステムはそれ自体およ
びそれに接続された全装置のリセットを完了する。リセ
ットが完了すると、使用中ビットが“0"にセットされ、
主プロセッサの割込みが試みられる。
割込み状況ポート154は、システム読取り/サブシステ
ム書込みレジスタである。この8ビットまたは16ビット
・レジスタは、プログラムに割込みデータを提示するた
めにサブシステムが使用する。
即時コマンド、重大なハードウェア障害を伴うSCBコマ
ンド、および非SCBコマンドに対する割込みがこのポー
トで提示される。システム・ソフトウェアによって明示
的にリセットされるまで、新しい割込みをISPを介して
システムに提示することはできない。
割込み状況ポート154の8ビット・レジスタ構成を第3
図に示す。このビットの割当ては次の通りである。
ビット7〜4−割込みID これらのビットは、提示された割込みの原因を識別する
番号でコード化される。
ビット3〜0−装置アドレス 提示された割込みを発した装置のアドレス。
16ビット割込み状況ポート(図示せず)のフォーマット
は次の通りである。
ビット15〜12−割込みID これらのビットは、提示された割込みの原因を識別する
番号でコード化される。プログラムは、SCB割込みかど
うかTSB状況を検査することにより、さらに多くの情報
を得ることができる。
ビット11〜0−装置アドレス 提示された割込みを発した装置のアドレス。
コマンド使用中/状況ポート156は、サブシステム書込
み/システム読取りレジスタである。この8ビット・ポ
ートは2つの機能をもつ。第1に、以前に提出されたコ
マンドの状況を決定するために各コマンドが提出される
前にシステムがそれを読み取らなければならない。コマ
ンドが提出された後、プログラムは、サブシステムがコ
マンド状況を得るためにこのポートを読み取ろうと試み
る前に、定義された時間が経過するようにしなければな
らない。
第2に、このポートは、割込み状況ポート(ISP)154中
に存在する有効な割込み値をサブシステムがもつかどう
かを示す。有効な値が存在し、IVが“1"であることをコ
マンド使用中/状況ポートが示さない限り、このISPは
プログラムによって読み取られない。
コマンド使用中/状況ポート156のフォーマットと機能
は次の通りである。
ビット0−B−使用中ビット このビットは、コマンド・インタフェースポートとアテ
ンション・ポートが現在使用されているか否かを示す。
使用中(B)ビットが“1"のときは、プログラムがコマ
ンド・ポートにもアテンション・ポートにも書き込もう
と試みることはできない。使用中(B)ビットが“1"と
なるのは、下記で説明するようにサブシステムがリセッ
ト保留、リセット進行中、拒絶または復号の状態にある
場合である。なお、ここで復号とは、サブシステム102
が上位システム100から受け取ったコマンドをサブシス
テム102のマイクロ・プロセッサ132の命令に翻訳するこ
とを指す。使用中(B)ビットが“1"の間に上位プログ
ラムがアテンション・ポートまたはコマンド・ポートあ
るいはその両方に書き込もうとした場合、これらのポー
トに対して試みられた書込みはサブシステムによって無
視され、新たに試みられたコマンドはサブシステムに無
視され、エラーの指示は出ない。
サブシステムがリセット保留、リセット進行中、拒絶ま
たは復号の状態に入ると、このビットは“1"にセットさ
れる。サブシステムがリセット保留状態に入るのは、サ
ブシステム制御ポート152のRSTビットが“1"にセットさ
れたときである。サブシステムがリセット保留状態で、
サブシステム制御ポートのRSTビットが“0"にセットさ
れた場合、サブシステムはリセット進行中状態に入る。
装置リセット・コマンドが、装置0、すなわちサブシス
テム自体に出されたときも、サブシステムはリセット進
行中状態に入る。
サブシステムがサブシステム・リセット・コマンドを完
了してリセット進行中状態から出ると、使用中ビットが
“0"にセットされる。
プログラムがアテンション・ポートへの書込みによって
新しいコマンドを提出し、サブシステムがリセット保
留、リセット進行中または復号状態にないとき、サブシ
ステムは復号状態に入る。サブシステムがあるコマンド
を受け入れて復号状態から出るときも、使用中ビットは
“0"にセットされる。復号状態で処理されているコマン
ドが拒絶されると、サブシステムは復号状態から出て拒
絶状態に入る。拒絶状態では、拒絶(REJ)ビットと使
用中(B)ビットが“1"にセットされる。状況ビット
(S)は、コマンドがサブシステムによって拒絶された
理由を示す。サブシステムがリセット保留状態に入る
と、拒絶状態または復号状態がクリアされる。
ビット1−IV−割込み有効 このビットは、サブシステムがその割込み状況ポートに
割込み値を書き込んだ後で“1"にセットされる。IVが
“0"のとき、ISPは有効な割込み値を含んでいない。IV
が“1"のとき、ISPを読み取ると、有効な割込み値と装
置番号が得られる。
ビット2−予約 ビット3−予約 ビット4−拒絶(REJ)ビット コマンド・インタフェース・ポートおよびアテンション
・ポートを介して提出されたコマンドをサブシステムが
拒絶することに決定したとき、このビットは“1"にセッ
トされる。サブシステムは復号状態から出て拒絶状態に
入る。コマンド使用中/状況ポート中の状況(S)ビッ
トが、コマンドが拒絶された理由を示すコード化された
値を含む。サブシステムが提出されたコマンドを受け入
れて復号状態から出ると、コマンド使用中/状況ポート
中の拒絶(REJ)ビットと使用中(B)ビットが共に
“0"にセットされる。
サブシステムが拒絶状態にあるとき、プログラムはコマ
ンド・ポートまたはアテンション・コードへの書込みに
よって新しいコマンドを提出することができない。これ
らの書込みの試みは無視され、それらのポートは引続き
拒絶されたコマンドの値を含む。サブシステムが拒絶状
態のときは、REJビットと使用中ビットが共にサブシス
テムによって“1"にセットされる。
サブシステム制御ポートのRSTビットを“1"にセット
し、ハードウェア制御のサブシステム・リセット・コマ
ンドを実行し、あるいはサブシステム制御ポートのRRビ
ットを“1"にセットし、ハードウェア制御のリセット拒
絶コマンドを発行することにより、サブシステムを拒絶
状態から外すことができる。RRビットを使用するのが、
リセット状態をクリアする通常の方法である。サブシス
テムが拒絶状態から外されると、REJビットと使用中ビ
ットが共にサブシステムによって“0"にセットされる。
ビット5〜7−状況ビット アテンション・ポートを介して提出されたコマンドが復
号状態中に拒絶された後、コマンド使用中/状況ポート
中でセットされる、コード化された3ビット値。サブシ
ステムは復号状態から出て拒絶状態に入り、拒絶(RE
J)ビットと使用中(B)ビットは“1"となる。REJビッ
トが“1"でない限りSビットの値は定義されず、上位シ
ステムによって無視される。
Sビットのコード化された値は次の通りである。
S=000 予約 S=001 装置使用不能拒絶 この状態が生じるのは、装置がコマンドを実行するのに
十分なほど機能的ではないとサブシステムが判定できる
ときである。装置リセット・コマンドやサブシステム・
リセット・コマンドに対してはこの状態は生じない。こ
の状態は上記の2つのコマンドのどちらかによってクリ
アされる。
S=010 無効コマンド この状態が生じるのは、サブシステムがアテンション・
ポート中のアテンション・コードを認識しないとき、ま
たはコマンド・ポート中で提出された即時コマンドのビ
ット0−7で指定される即時コマンドが無効のときであ
る。
S=011 装置使用中 この状態が生じるのは、装置が使用中であるコマンドを
実行しており、このとき新しいコマンドを受け入れるこ
とができないときである。装置リセット・コマンドやサ
ブシステム・リセット・コマンドに対してはこの状態は
生じない。
S=100 装置SCB実行拒絶 この状態が生じるのは、プログラムが中断コマンドを発
行して、装置をSCBコマンドを実行できない状態に置い
たときである。この状態は、再開コマンド、装置リセッ
ト・コマンドまたはサブシステム・リセット・コマンド
によってクリアされる。
S=101 無効装置アドレス この状態が生じるのは、システムがアテンション・ポー
トに無効な存在しない装置番号を入れたときである。ア
テンション・ポートが8ビット幅の場合、ビット3〜0
が無効な装置番号を含む。16ビット幅のアテンション・
ポートでは、ビット11〜0が無効な装置番号を含む。
S=110 予約 S=111 装置割込み待ち行列満杯 この状態が生じるのは、サブシステムの割込み状況ポー
トに記憶されていない割込み用に維持する割込み待ち行
列中のすべての内部記憶域を装置が使用してしまったと
きである。この状態の場合、装置リセット・コマンド、
サブシステム・リセット・コマンド、割込みリセット・
コマンド以外のすべてのコマンドが装置によって拒絶さ
れる。装置に対するこの状態は、装置がその割込み待ち
行列からサブシステムの割込み状況ポートにデータを書
き込むことができるようになるとすぐクリアされる。
次に、第5図にコマンド使用中/状況ポート(CBSP)15
6の各ビットがどのように操作されるかを機能的に詳し
く示す。
使用中(B)ビットCBSP_BITO_(B)は、S/Rレジスタ3
02と極性保持(PH)レジスタ300のレジスタの組合せで
実施される。使用中ビットが“0"、すなわち非活動状態
の場合、次の3つの具体的活動のいずれかによってそれ
を“1"にセットすることができる。
1.線314上のマイクロチャネルCHRESET信号が“1"で、レ
ジスタのセット(S)入力端に供給されるORゲート310
の出力が“1"の場合。この場合、レジスタ302が“1"に
セットされ、それがレジスタ300のD入力端に供給され
る。インバータ312からの反転MC_AP_SEL信号がレジスタ
300のクロック(C)入力端に供給され、出力+CBSP_BI
TO_(B)、すなわち使用中(B)ビットが“1"にセッ
トされる。
2.システム・プログラムがサブシステム制御ポート(SC
P)のビット7に“1"を書き込んだことが、線316上の+
SCP_BIT7(RST)信号が“1"であることによって明らか
になった場合。ORゲート310の出力は“1"になり、レジ
スタ302と300および使用中(B)ビットが上記の活動1
で述べたように“2"にセットされる。
3.ソフトウェアによるAPへの書込みが行なわれた場合、
線304上の+MC_AP_SEL信号と線306上の+SSW_REG_CLK信
号がそれぞれ“1"となって、ANDゲート308の出力を“1"
にする。ゲート308からの出力“1"はORゲート310の出力
を“1"にさせ、レジスタ302と300および使用中(B)ビ
ットが上記の活動1および2で述べたように“1"にセッ
トされる。
使用中(B)ビットが“1"の場合、以下の2つの方法の
いずれかによってそれをクリア、すなわち“0"にセット
することができる。
1.システム・プログラムがサブシステム制御ポート(SC
P)のビット5(RR)に“1"を書き込むことによって、
使用中(B)ビットがクリアされる。これによって、下
記に述べるように拒絶(REJ)ビットもクリアされる。S
CP中のRRビットが“1"のとき、線328上の+MC_SCP_SEL
信号、線326上の+IC_BUS_RCVR_BIT5信号、および線306
上の+SSW_REG_CLK信号がそれぞれ“1"になって、AND/O
Rゲート318の出力端で“1"が生成される。この“1"がレ
ジスタ302のリセット(R)入力端に供給されて、レジ
スタ302の出力が“0"になり、それがレジスタ300のD入
力端に供給される。線304上の+MC_AP_SEL信号はこのと
き“0"であり、その“0"がインバータ312で“1"に反転
される。この“1"がレジスタ300のC入力端に供給され
て、D入力端で“0"にクロックし、それによってレジス
タ300を“0"にセットする。レジスタ300が“0"にセット
されると、使用中(B)ビット、すなわち出力+CBSP_B
ITO_(B)が“0"になる。
2.コマンド処理プログラムが復号状態から出て受諾状態
に入った後も、使用中(B)ビットがサブシステムによ
ってクリアされる。サブシステムの局所プロセッサが、
CBSPのビット0に“0"を書き込む。線320上の−IC_BUS_
RCVR_BITO信号、線322上の+LP_CBSP_SEL信号、および
線324上の+LPW_REG_CLK信号がそれぞれ“1"になり、AN
D/ORゲート318の出力端に“1"を生成する。これによっ
て、上述のようにレジスタ302と300が“0"にリセットさ
れる。レジスタ300が“0"にセットされると、使用中
(B)ビットが“0"になる。
システムがSSCPのビット7に“1"を書き込むことによ
り、サブシステムがサブシステム・リセット・コマンド
を実行している場合、サブシステムがそのサブシステム
・リセット・コマンドを完了したとき、使用中(B)ビ
ットがサブシステムによってリセットされる。使用中ビ
ットがオンで、サブシステムが復号状態にあり、次いで
拒絶状態になると仮定する。SCP中の拒絶リセット・ビ
ット5を介した拒絶ビット(CBSPビット4)でも、次の
ようにして使用中ビットがリセットされる。システムが
SCPのビット5(RR)位置に“1"を書き込む。SCPへの書
込がサブシステムによって検出されると、線326(IC_BU
S_RCVR_BIT5)ならびに線328(MC_SCP_SEL)と線306(S
SW_REG_CLK)が活動状態になる。これらの線が活動状態
になると、ゲート318がオンになってレジスタ302をオフ
にリセットする。前述のようにレジスタ302が302になり
同時にインバータ312がオンになると、レジスタ300がオ
フにリセットされて、使用中(B)ビットがオフにセッ
トする。
CBSPのREJビット(4)とCBSPの状況ビット(5、6、
7)は、それぞれレジスタ330と332で表される。サブシ
ステムが拒絶状態に入ると、CBSPビット4が“1"にセッ
トされ、CBSPビット5、6、7(状況ビット)が拒絶コ
ードにセットされる。線334、332、324が活動状態のと
きS/Rレジスタ330が“1"にセットされ、そのためにAND
ゲート336がオンになってS/Rレジスタ330をオンにセッ
トし、REJビットをオンにする。線326、336、338上に状
況コードを置くことによって、レジスタ332中の状況ビ
ットがオンにセットされる。線322と324が活動状態とな
ってANDゲート340をオンにし、それがレジスタ332のC
入力を活動化することにより、状況コードがレジスタ33
2にクロック入力される。
ORゲート346がオンのとき、拒絶(REJ)ビットはオフに
リセットされる。ORゲート346がオンになるのは、線326
(CHRSET)が活動状態か、線316(RST)が活動状態か、
あるいはANDゲート342がオンのときである。ANDゲート3
42は、線326と328と306が活動状態の場合にオンにな
る。これは、システムが拒絶リセット・ビット5(SC
P)に“1"を書き込んで、サブシステムを拒絶状態から
解放したことを表す。
CBSP_BIT1_IVは、S/Rレジスタ348の出力として実施され
る。ANDゲート350がオンのとき、レジスタ348は“1"に
セットされる。ANDゲート350がオンになるのは、線322
と324と352が活動状態の場合である。サブシステムが割
込み状況ポート(ISP)に書き込んだ後、IVビットが
“1"にセットされる。
上位プロセッサは、サブシステムがマイクロチャネル割
込みを主張した結果としてIVビットを読み取り、あるい
はIVビットを使って割込みがあるかどうかサブシステム
をポーリングすることができる。上位プロセッサがISP
を読み取り、上位割込み処理プログラムが割込みを処理
した後、上位プロセッサはアテンション・ポートを介し
てサブシステムにリセット割込みアテンション・コード
(1110h)を出す。
S/Rレジスタ348は、ORゲートがオンのときオフにリセッ
トされる。ORゲート354がオンになるのは、線314(CHRE
SET)または線316(CDRESET)またはANDゲート356また
はANDゲート358がオンの場合である。
ANDゲート356は、線360、362、364、366上のIC_BUS_RCV
R_ビット(7〜4)がそれぞれアテンション・ポートの
ビット7〜4からの2進値“0000"(即時装置リセッ
ト)でセットされ、線304と306が活動状態の場合にオン
になる。
ANDゲート358は、線338、336、326、366上のIC_BUS_RCV
Rビット(714)が2進値“1110"(割込みリセット)で
セットされ、線304と306が活動状態の場合にオンにな
る。
CBSP予約(R)ビットは、レジスタ368で表される。線3
70と372、IC_BUS_Bits(2、3)が活動状態のとき、2
つのデータ(D)入力がセットされる。これらのビット
は、ANDゲート374がオンのとき、レジスタ368にクロッ
ク入力される。ANDゲート374は、線322と324がオンのと
きオンとなる。
コマンド・インタフェース・ポートとアテンション・ポ
ートで使用するフォーマットは、上位システムからサブ
システムに即時コマンドをSCBコマンドのどちらが供給
されるのかによって変わる。
即時コマンドは、主として装置向けであり、制御本位で
ある。第6図で、コマンド・インタフェース・ポートの
一般的フォーマットを160に示し、アテンション・ポー
トにおける3つのタイプの即時コマンドをそれぞれ16
2、164、166に示す。コマンドが装置向けである場合、
その装置は、即時コマンドの実行前にそのコマンド全体
を受け取ったことを検証しなければならない。コマンド
・タイプを決定するため、アテンション・ポートのビッ
ト7〜4を検査する。装置リセット・タイプのコマンド
を受け取る場合、コードは162に示すようなものとな
る。即時コマンド・タイプのコマンドを受け取る場合、
コードは164に示すようなものとなる。割込みリセット
(EOI)タイプのコマンドを受け取る場合、コードは166
に示すようなものとなる。
160に示すコマンド・インタフェ−ス・ポートのビット
7〜0は、命令コードを指定する。コマンドを受け取る
と、装置はコマンド使用中/状況ポートの使用中ビット
をセットする。(図示せず)。装置は、そのポートが使
用中となっている時間が最少となるようにしなければな
らない。サブシステム・リセット・コマンドのとき、そ
のリセットが完了するまで、サブシステムはポートを使
用中に保持しなければならない。
即時コマンドに対するコマンド・インタフェ−ス・ポー
トの定義は次の通りである。
ICビット8−即時コマンド・フォーマット指定 ICビット8は、使用する即時コマンド・フォーマット・
タイプを指定するのに使用される。ICビット8=1の場
合、即時コマンド・フォーマットは、タイプ1として定
義される。
ICビット31〜16−予約(コマンド発行前にソフトウェア
によって0にセットされる) ICビット8=0の場合。ICビット8は、使用される即時
コマンド・フォーマット・タイプ2を指定するのに使用
される。
ビット定義の違いは、下記に記す。
ICビット31〜16−命令コード従属 ICビット15−コマンド割込み禁止(DCI) ビット15=0の場合、即時コマンドの完了後に割り込
み、割込み状況ポート(ISP)の状況を報告する。ビッ
ト15=1の場合、エラーが発生しない限り、即時コマン
ドの完了時に割り込まない。一部のコマンドはこの指定
を無視する。
ICビット14−装置割込み禁止(DDI) ビット14=0の場合、指定された装置についてシステム
への割込みが可能となる。ビット14=1の場合、指定さ
れた装置についてシステムへの割込みが禁止される。
ICビット13〜9−命令コード従属ビット これらのビットを用いると、コマンド・フィールドが修
正できる。現在、ビット13と12は装置リセット・コマン
ドによって使用されている。ビット12〜9はSCB割込み
即時リセット・コマンドによって、リセットすべき割込
みカウントを指定するために使用されている。
ICビット7〜0−即時コマンド・ビット 下記のように復号される。
ビット 76543210 00000000 −装置即時リセット 00000001 −予約 00000010 −動作なし(NOOP) 00000011 −予約 00000100 −割込み状況ポート・リセット 00000101 −予約 00000110 −予約 00000111 −予約 00001000 −SCB割込みリセット 00001001 −予約 00001010 −予約 00001011 −予約 00001100 −装置従属 00001101 −装置従属 00001110 −装置従属 00001111 −装置従属 00010000 −予約 00010001 −予約 00010010 −即時診断実行 00010011 −装置従属 00010100 −予約 00010101 −予約 00010110 −予約 00010111 −装置従属 00011000 −予約 00011001 −予約 00011010 −予約 00011011 −予約 00011100 −予約 00011101 −予約 00011110 −予約 00011111 −中断 00100000 −再開 すべての予約ビットは、コマンド発行前にシステム・ソ
フトウェアによって0にセットされる。ビット0〜7の
他のすべての復号は、予約されている。
第7図で、SCBコマンドに対するコマンド・インタフェ
ース・ポートの一般的フォーマットを168に示し、アテ
ンション・ポートの一般的フォーマットを170に示す。
コマンド・インタフェース・ポートは、SCBの開始アド
レスを含んでいる。この開始アドレスは物理アドレスで
あり、ダブルワード境界上になければならない。SCB開
始アテンション要求に対するアテンション・ポートのフ
ォーマットは170に示されている。
前述のように、間接コマンドはSCB内に含まれている。S
CBは特定の順序で連鎖され、1つの論理要求として扱わ
れる。データ・バッファは間接リストを使って連鎖する
ことができる。この構造はまた、要求処理中にエラーが
あった場合、精巧な状況情報を扱うことができる。状況
は、終了状況ブロック(TSB)に入れられる。コマンド
連鎖中の任意の地点での終了を処理するため、連鎖中の
各SCBごとにTSBが定義されている。
SCBレイアウトの詳細バージョンには2種のものがあ
る。第8図に示す基本フォーマットと、第9図に示す拡
張フォーマットである。拡張フォーマットは、基本フォ
ーマットの末尾に追加のフィールドが付加されている。
各フィールドと使用する略語の簡単な定義を以下に示
す。
1.コマンド・ワード これは、転送されるSCBコマンドのタイプを定義するた
めに使用する。このワードは、3つのフィールドをも
つ。
−命令コード−このSCBコマンドに対する8ビットの命
令コードを含む。
−A−このSCBに含まれるコマンド・コードがアーキテ
クチャをもつかもたないかを知らせるための1ビットの
標識。図に示したレイアウトは、アーキテクチャをもつ
コマンド・コードにもそれをもたないものにも適用され
る。
−予約 2.エネーブル・ワード SCBの様々なフィールドは、様々なコマンド特有の動作
を可能にする。エネーブル・ワードは、このコマンドに
対するこれらのフイールドの用途を示すいくつかのフィ
ールドを含んでいる。また、使用すべき回答指示のタイ
プを定義する標識も有する。
−CH−エラーがない場合の、次のSCBへの連鎖(次のSCB
のアドレスは、連鎖アドレス1フィールドにある)。
−COND CH−ビット1は、ビット2、3、4で定義され
るある条件のとき、そのアドレスが連鎖アドレス2にあ
るSCBへの連鎖を示す。
−A1−このコマンドがアドレス1を使って、バッファま
たは(バッファを指す1組のポインタを含む)間接リス
トを指すことを示す(コマンドによって定義される特定
の用途) −A2−このコマンドがアドレス2を使って、バッファま
たは(バッファを指す1組のポインタを含む)間接リス
トを指すことを示す(コマンドによって定義される特定
の用途) −I−コマンドがエラーなしに完了したとき、割込みを
禁止する。
−EXT−このSCBが拡張フォーマットをもつことを示す。
−R−予約 −SES−短形例外抑制(読み取ったデータが規定された
バッファ・サイズより小さいときなど)。
−SEL−長形例外抑制(装置から読み取ったデータがコ
マンドによって規定されたバッファ・サイズより大きい
ときなど)。
−PT−このコマンドがバッファ連鎖(コマンド上のデー
タ連鎖)を指す間接リストを使用することを示す。
−TSB−エラーがあるときだけTSB状況を記憶すべきこと
を示す。
3.エネーブル・ワード2 拡張フォーマットを使用するときは、拡張部分にあるエ
ネーブル・ワード2中に下記のような追加の標識が加え
られる。
−PT2−アドレス2が間接リスト(バイト・カウント2
中のリストの長さ)を指すことを示す。
−DEC1−メモリ・アドレス1を増分ではなく減分すべき
ことを示す。
−DEC2−メモリ・アドレス2を増分ではなく減分すべき
ことを示す。
4.アドレス1 データ・バッファまたは間接リストを指す32ビットのア
ドレスを含む。その用途はコマンドによって定義され
る。エネーブル・ワード標識(PT)は、どの形のアドレ
スが使用されているかを示す。
5.アドレス2 データ・バッファまたは間接リストを指す32ビットのア
ドレスを含む。その用途はコマンドによって定義され
る。エネーブル・ワード標識(PT2)は、どの形のアド
レスが使用されているかを示す。
6.バイト・カウント1 アドレス1またはアドレス2中のアドレスが指すバッフ
ァまたは間接リストの長さを定義する4バイトのカウン
トを含む。
7.バイト・カウント2 アドレス2中のアドレスが指すバッファまたは間接リス
トの長さを定義する4バイトのカウントを含む。このフ
ィールドは拡張部分にある。
8.TSBアドレス このSCBと関連するTSBの32ビットのアドレスを含む。
9.連鎖アドレス1 コマンド連鎖を使用する要求中の次のSCBを指すために
使用される。
10.連鎖アドレス2 条件付き連鎖の条件が充たされたときに使用されるSCB
を指すために使用される。
11.連鎖ID 連鎖に対する16ビットの識別子を含む。その値は、連鎖
(要求)中のすべてのSCBで同じである。
12.拡張長さ 基本フォーマットの拡張部分のバイト数を示す1バイト
のカウント。このワードの他方のバイトは予約されてい
る。
割込み状況ポート154におけるエラー/無エラー指示の
他に、本発明では、SCB連鎖中の各コマンドごとにサブ
システムから上位コンピュータに詳細な状況情報が報告
される。これは、終了状況ブロック(TSB)中で報告さ
れる。各SCBは、サブシステムがSCBの完了または終了状
況を書き込む先の、システム・メモリ中のTSBアドレス
を含む。TSBには、第10図に示すような基本フォーマッ
トと、第11図に示すような拡張フォーマットがある。基
本フォーマットに拡張部分が付加されるとき、装置従属
情報のサイズを示すカウントの記憶位置が変わる。
基本TSBフォーマット及び拡張TSBフォーマットで使用さ
れる様々なフィールドの簡単な定義を下記に示す。
1.終了状況ワード このワードは、このTSBを指すSCBに含まれるコマンドの
実行に関係する特定の状況情報を定義するいくつかの標
識を含んでいる。
−D−要求がエラーなしで完了したことを示す。
−SES−SCBエネーブル・ワード中のSES標識と関連する
短い長さを示す。
−R−予約 −SC−SCBに対する指定チェックを示す。SCBは無効であ
る。
−SEL−SCBエネーブル・ワード中のSEL制御と関連する
長い長さを示す。
−HLD−SCBコマンド連鎖が停止されたことを示す。
−INT−論理割込み要求を示す。
−ASA−アーキテクチャのある状況が使用可能なことを
示す。
−DSA−装置従属状況が使用可能なことを示す(ASAとDS
Aが一緒に使用されると、拡張フォーマットを示す)。
−DO−装置のオーバランを示す。
−INI−装置が初期設定されていないことを示す。
−ERR−大きなエラーが発生したことを示す。
−CD−連鎖方向を示す(正常連鎖または条件付き連鎖の
後) −SUS−SCBに対する中断コマンドが完了したことを示
す。
−ES−拡張状況が使用されることを示す。
2.拡張終了状況 このワードは追加の状況標識をもつ。現在は1つの標識
だけが構成されている。
−CT−コマンド・タイプ(SCBコマンドか即時コマンド
か)を示す。
3.残留バッファ・カウント これは、残留バッファ・アドレスが指すバッファ中に残
っているバイト数を含む、4バイトのカウントである。
4.残留バッファ・アドレス これは、要求が終了したときに使用されていたバッファ
の32ビットのアドレスである。最後のSCBからのアドレ
ス1またはアドレス2のバッファ・アドレス、あるいは
最後のSCB中のアドレス1またはアドレス2が指す間接
リスト中のアドレスである。その具体的意味は、コマン
ド特有である。
5.残留バッファ・カウント2 これは、残留バッファ・アドレス2が指すバッファ中に
残っているバイト数を含む(TSB拡張部分中の)4バイ
トのカウントである。
6.残留バッファ・アドレス2 これは、要求が終了したときに使用されていたバッファ
の(TSB拡張部分中の)32ビットのアドレスである。最
後のSCBからのアドレス2のバッファ・アドレス、ある
いは最後のSCB中のアドレス2が指す間接リスト中のア
ドレスである。これは、両方のアドレスをあるコマンド
が使用するときに使用される。
7.装置従属域のサイズ アーキテクチャをもつ1組の状況より上の情報を供給す
る手段が設けられている。その量は、基本フォーマット
を使用するか拡張フォーマットを使用するかによって変
わる。このフィールドの位置は、基本フォーマットと拡
張フォーマットで異なる。追加状況はサブシステムに従
属する。
8.装置従属データ この域は、装置従属状況情報を含む。この域の最大サイ
ズは、どのフォーマットが使用されているかによって決
まる。
上記に説明したSCBフォーマットを使用する本発明のコ
ンビュータ・システムの詳細を第12図に示す。前述のよ
うに、上位システム200は、マイクロチャネル204などの
バス・アーキテクチャを介して少なくとも1つの知能サ
ブシステム202と情報を交換する。
上位システム200中のシステム・プログラム206は、線21
0を介してシステム・メモリ208中にSCBを構築する。シ
ステム・プログラムの動作は、「PS/2 BIOSインタフェ
ース、技術解説書(PS/2 BIOS Interfase Technical Re
ference)」、IBM刊行物、資料番号68X−2341−00;「IB
M PS/2オペレーティング・システム、ディレクトリの手
引き(IBM PS/2 Operating Systems Directory Guid
e)」、IBM刊行物、資料番号Z360−2741−0;「IBM OS/2
内部、第1巻(IBM OS/2 Internals,Vol.1)」、IBM刊
行物、資料番号GG24−3225−0に記載されている。前述
のように、SCBフォーマットは、バッファ・アドレス、
連鎖アドレス、及びTSBアドレスをもたらす。ページ記
憶システムでは、SCB、バッファ・アドレス、連鎖アド
レス、及びTSBアドレスがオペレーティング・システム
によってシステム・メモリ中で「固定」される。すなわ
ち、システム・メモリのあるセクションが、この目的で
ロックされる。この説明では、SCB212は、TSB214、デー
タ・バッファ218と220を指す間接リスト216、及びSCB22
2への連鎖アドレスを含むものとして示す。SCB222は、T
SB224を含み、データ・バッファ226を指す。システム・
メモリ208中に複数の同じSCBが第8図ないし第11図に示
したフォーマットに従って書式化されていることを了解
されたい。
サブシステム202は第2図のサブシステム102と類似して
おり、唯一の違いは、サブシステム202がコマンド転送
を記述するためより詳しく示されていることである。サ
ブシステム202は、コマンド転送論理ブロック230とバス
・マスタ232を有するバス・インタフェース/制御機構2
28、割込み(I)論理回路236を有する局所マイクロプ
ロセッサ234、局所メモリ238、及び複数の装置242、24
4、246、248に接続された装置インタフェース/制御論
理ブロック240を含んでいる。
コマンド処理プログラムと復号処理を含むコマンド処理
システムの一般的説明を第12図に関して行ない、続いて
第14図ないし第20図に関して詳しい機能的説明を流れ図
の形で行なう。
システム・プログラム206は、コマンド使用中/状況ポ
ート(図示せず)を読み取って、アテンション・ポート
及びコマンド・インタフェース・ポートが使用中でない
ことを確認する。システム・プログラム206は、SCBのア
ドレスをコマンド・インタフェース・ポート(図示せ
ず)を介してバス・インタフェース/制御機構228のコ
マンド転送論理ブロック230に供給し、意図するコマン
ド・タイプと装置を線250を介してアテンション・ポー
ト(図示せず)に供給する。
コマンドは、復号処理の一環として妥当性検査を受け、
受諾または拒絶される。コマンドが受諾されたと仮定す
ると、サブシステムはその状況をコマンド使用中/状況
ポート(図示せず)に書き込み、実行すべきコマンドを
送る。
サブシステム202は、バス・マスタ232中のバス・マスタ
機能を使ってマイクロチャネル204上でバス・サイクル
を開始する。このとき、システムメモリ208はマイクロ
チャネルのメモリ・スレーブであり、マオクロチャネル
の制御線とアドレス線がバス・マスタ232によって駆動
される。システム・メモリ208はマイクロチャネルのデ
ータ・バスを駆動し、バス・マスタ機能がSCBをサブシ
ステムの局所メモリ238に転送する。サブシステム202が
SCBを受け取ると、マイクロプロセッサ234中で走行する
プログラムがコマンドを復号して、指定された装置にそ
れを送る。このプログラム動作については、第14図ない
し第20図の流れ図に関して詳しく説明する。転送を実行
するため、バッファ・アドレスがバス・マスタ232にロ
ードされる。
具体的に述べると、SCBアドレスが復号された後、その
アドレスがシステム・メモリ208に供給され、SCBが取り
出されてサブシステム202に送られる。たとえば、SCB21
2をアドレスする場合、バス・マスタ232はSCBアドレス
でアドレス線252を活動化し、SCBの最初の部分が線254
を介して戻される。SCB全体が取り出されるまで、アド
レスを増分した後にこの処理が繰り返される。処理すべ
きデータは、アドレス線256と258を介してアクセスさ
れ、間接リスト216が指すデータ・バッファ218と220に
供給される。データは、データ線260と262を介してバッ
ファ218と220から戻される。次いでバス・マスタ232
は、データを局所メモリに転送し、またはインタフェー
ス240を介してアテンション・ポート(図示せず)中の
コマンドの第2の部分で指定される装置の1つに転送す
る。SCBに対する完了または終了の状況が線264と266を
介してTSB214に記憶され、状況データは線268と270を介
してTSB214に供給される。
SCB212は、線272を介してアドレスされるSCB222を指
し、SCB222は線274を介して戻される。処理すべきバッ
ファ226からのデータはアドレス線256を介してアクセス
され、データが線262を介してバス・マスタ232に戻され
る。次いでバス・マスタ232は、上記のようにデータを
局所メモリ238に転送し、またはインタフェース240を介
して装置の1つに転送する。SCB222の完了または終了の
状況は線264を介してTSB224に戻され、状況データが線2
68を介してTSB224に供給される。
サブシステム202はまた、SCBまたはSCB連鎖に関する割
込み状況を割込み状況ポート(図示せず)にロードす
る。これにより、物理割込みが線265を介して上位シス
テム200に戻される。
コマンド処理システムの流れ図の説明を行なう前に、第
14図ないし第20図の流れ図で使用する用語が理解しやす
くなるように、一般的説明を行なう。
・コマンド提出方法とコマンド・タイプ 本発明では、サブシステムにコマンドを転送する2つの
方法を定義する。いくつかのサブシステム規模のハード
ウェア特有の機能が、サブシステム制御ポート中のプロ
グラム修正ビットによってアクセスされるハードウェア
制御機構を使って呼び出される。ハードウェア制御機構
は、サブシステムの状態を変更する高速で優先順位の高
い方法をもたらし、このようにして提出されるサブシス
テム・リセット・コマンドは、コマンド・ポート及びア
テンション・ポートにデータを書き込むことによてサブ
システムに提出される他のすべてのコマンドよりも優先
される。
ハードウェア制御機構は、サブシステム制御ポートへの
OUTコマンドを使い、いくつかの特定のビットを変更す
ることによって活動化される。
RRビット、DMAビット、及びEIビットの修正は特定のコ
マンドによって記述されないが、これらのビットはすべ
てサブシステムに対してサブシステム規模の効果をも
つ。これらの効果については、後述の「上位プロセッサ
が入出力ポートを設定しようと試みたことの結果」及び
第1表に要約してある。
コマンド・ポートとアテンション・ポートへの書き込み
によって提出されるコマンドは、間接(SCBベースの)
コマンドと直接ベースのコマンドの2つの範疇に大別さ
れる。SCBベースのコマンドは、アテンション要求コー
ド3によって区別される。SCBコマンドの場合、コマン
ド・インタフェース・ポートはSCBの始めの実記憶アド
レスを含む。直接コマンドには、一義的なアテンション
・コード設定によって決定される、3つのタイプがあ
る。すべての直接コマンドは、アテンション・コードと
あいまってサブシステムが実行すべき活動を定義する32
ビットの値をコマンド・ポート中に有する。アテンショ
ン・コード0(リセット)とE(割込みリセット)は、
これらのコマンドに対する特殊ケースの処理が、“01h"
のアテンション要求コードをもつ他の直接コマンドに優
先して行なえるように設けられている。直接コマンド
は、実行すべき動作を完全に定義する32ビットの値をコ
マンド・ポートが含むことを示すため、「即時コマン
ド」と呼ぶことがある。これは、実行すべき活動を決定
するためにコマンド・ポートによって与えられるアドレ
スをシステム・メモリから取り出さなければならない、
SCBコマンドとは対照的である。
このアーキテクチャでは、一義的アテンション・コード
F(装置従属アテンション)が定義されている。アテン
ション・コードFは、実施態様で最適化したいコマンド
に対する特殊ケースの処理がもたらせるように設けられ
ている。
・コマンド提出時のサブシステムの状態遷移 本節では、ハードウェア制御機構を使って、あるいはア
テンション・ポートによって、コマンドが提出されたと
きに生じる状態遷移と処置を定義する。データは、第13
図の状態遷移図に示されている。サブシステムが復号状
態のときの、提出されたコマンドのサブシステムによる
受諾または拒絶については、下記の「コマンドの処理と
復号処理」で詳しく考察し、復号処理に関する詳細を示
し、第2表ないし第5表にコマンドが復号処理によって
どのように受諾され拒絶されるかを示す判断テーブルを
示す。
コマンド提出遷移で使用されるものとして下記の状態が
定義されている。サブシステムの状態及び復号処理の詳
細は、「コマンドの処理と復号処理」に示す。
サブシステムの状態には次のものがある。
1.コマンド受諾ACCEPT サブシステムが、コマンド・ポート及びアテンション・
ポートを介して提出されたコマンドを受諾できる状態に
ある。この状態のとき、コマンド使用中/状況ポートの
拒絶ビットと使用中ビットは共に0となる。
アテンション・ポートに上位プロセッサが書込みを行な
うと、サブシステムはこの状態から出て復号進行中状態
に入り、提出されたコマンドが受諾されるかどうか決定
する。
2.サブシステム・リセット保留開始PENDS システム制御ポートのRSTビットが上位プログラムによ
って“1"にセットされ、サブシステムがそのマイクロプ
ロセッサのハードウェア制御リセットを開始した。この
状態の間、コマンド・ポート及びアテンション・ポート
への上位プロセッサによる書込みは無視される。サブシ
ステム制御ポートのRSTビット以外のビットへの上位書
込みは無視される。ハードウェア・リセットが完了する
と、サブシステムはサブシステム・リセット保留完了状
態に入る。
この状態の間、コマンド使用中/状況ポートの使用中
(B)ビットが“1"で、拒絶(R)ビットが“0"であ
る。
3.サブシステム・リセット保留完了PENDC サブシステムがそのマイクロプロセッサのハードウェア
制御リセットを完了し、上位プロセッサがサブシステム
制御ポートのRSTビットに“0"ビットを書き込むのを待
つ。この状態の間、コマンド・ポート及びアテンション
・ポートへの上位プロセッサの書込みは無視される。サ
ブシステム制御ポートへの上位プロセッサによる書込み
は許される。サブシステム制御ポートのRSTビットに
“0"を書き込むと、サブシステムはサブシステム・リセ
ット進行中状態になる。
この状態の間、コマンド使用中/状況ポートの使用中
(B)ビットは“1"で、拒絶(R)ビットが“0"であ
る。
実施態様でリセット保留開始状態とリセット保留完了状
態を区別できず、単一のリセット保留状態のみをもつこ
とがある。このような場合は、RSTビットを“0"にセッ
トすると、サブシステムは保留状態からリセット進行中
状態に移る。
4.サブシステム・リセット進行中RESETS 実施態様で定義された時間が経過した後、サブシステム
・リセット保留開始状態の間にサブシステム制御ポート
のRSTビットが上位プログラムによって“0"にセットさ
れた。この状態に入ると、サブシステムはそのサブシス
テム・リセットを完了する。サブシステムがこの状態の
間、上位システムはサブシステム制御ポートの内容を修
正することを許される。コマンド・ポート及びアテンシ
ョン・ポートへの上位プロセッサの書込みは無視され
る。
この状態の間、コマンド使用中/状況ポートの使用中ビ
ットは“1"であり、拒絶ビットは“0"である。
サブシステム・リセットが完了すると、サブシステムは
コマンド受諾状態に入る。コマンド使用中/状況ポート
の使用中ビットと拒絶ビットが“0"にセットされる。IV
ビットは“1"にセットされて、ISPが完了したサブシス
テム・リセットに対する割込み値を含むことを示す。
5.サブシステム拒絶REJ コマンド・ポート及びアテンション・ポートを介して提
出されたコマンドが復号処理によって拒絶された。拒絶
状態がクリアされるまで、コマンド・ポート及びアテン
ション・ポートを介して次のコマンドが受諾されること
はない。この状態の間、コマンド・ポート及びアテンシ
ョン・ポートへの上位プロセッサの書込みは無視され
る。サブシステム制御ポートへの上位プロセッサによる
書込みは許される。コマンド使用中/状況ポートの拒絶
ビットと使用中ビットは、共に“1"にセットされる。コ
マンド使用中/状況ポートのSビットは、コマンドが復
号処理によって拒絶された理由を示す。
サブシステム制御ポートのRRビットが“1"にセットされ
たとき、またはハードウェア制御のサブシステム・リセ
ットがサブシステム制御ポートのRSTビットを“1"にセ
ットすることにより、サブシステムは拒絶状態から出
る。
6.復号進行中DECODE アテンション・ポートへの上位プロセッサの書込みが検
出されると、サブシステムはコマンド受諾状態からこの
状態に入る。この状態のとき、サブシステムはコマンド
を受諾するか否かを決定する。
サブシステムがこの状態に入ると、コマンド使用中/状
況ポートの使用中ビットが“1"にセットされ、拒絶ビッ
トが“0"になる。この状態の間、コマンド・ポート及び
アテンション・ポートへの上位プロセッサの書込みは無
視される。サブシステム制御ポートへの上位プロセッサ
による書込みは、RSTビットに対する変更以外は無視さ
れる。
復号処理がコマンドを受諾する場合、サブシステムはコ
マンド受諾状態に入る。コマンドが実行のために受諾さ
れなかった場合、サブシステムは拒絶状態に入る。
処置には次のものがある。
a.上位プロセッサによるサブシステム制御ポートのRST
ビットへの1の書込みRST=1 上位プロセッサがサブシステム制御ポートにOUTコマン
ドを出して、RSTビットの値を“1"にセットする。
b.上位プロセッサによるサブシステム制御ポートのRST
ビットへの0の書込みRST=0 上位プロセッサがサブシステム制御ポートにOUTコマン
ドを出して、RSTビットの値を“0"にセットする。
c.上位プロセッサによるアテンション・ポートへの書き
込みW/AP 上位プロセッサがOUTコマンドを使ってアテンション・
ポートに書き込む。
d.上位プロセッサによるサブシステム制御ポートのRRビ
ットへの1の書込みRR=1 上位プロセッサがサブシステム制御ポートにOUTコマン
ドを出して、RRビットの値を“1"にセットする。
e.リセット保留完了PEND COMPLETE サブシステムがそのマイクロプロセッサをリセットする
活動、及びサブシステムのリセット完了を待たせるのに
必要な他の処置を完了した。
f.サブシステム・リセット完了RESET COMPLETE サブシステムがサブシステムをリセットする活動を完了
した。
g.復号コマンド受諾DECODE ACCEPT サブシステムの復号処理が、コマンド・ポート及びアテ
ンション・ポートを介して提出されたコマンドを受諾し
た。
h.復号コマンド拒絶DECODE REJECT サブシステムの復号処理がコマンド・ポート及びアテン
ション・ポートを介して提出されたコマンドを拒絶し
た。
状態遷移が、これらの状態及び活動と共に、第13図の状
態図に定義されている。
・上位プロセッサが入出力ポートをセットしようと試み
たことの結果 第1表の判断テーブルに、サブシステムが様々な状態に
あるときに、上位プロセッサが入出力ポートをセットし
ようと試みたことの結果を要約する。各状態は、第13図
の状態図で使用したものと同じであり、SCCPはサブシス
テム制御ポートを意味する。
・コマンドの処理と復号処理 本節では、復号処理に焦点を当ててコマンドの処理部分
の考察を行なう。復号処理におけるコマンド受諾に関す
る判断テーブルを第2表に示し、復号処理におけるコマ
ンド拒絶に関する判断テーブルを第3表に示す。
コマンド・ポート、アテンション・ポート、サブシステ
ム制御ポートへの上位プロセッサの書込みを監視するた
めにサブシステムが使用する、ハードウェア制御の処理
が存在することが必要である。この処理はコマンド処理
プログラムと呼ばれ、サブシステム制御ポートのRSTビ
ットの書込みなどの動作に応答してサブシステムをリセ
ットするため、ハードウェア制御機構を呼び出す。コマ
ンド処理プログラムはまた、アテンション・ポートまた
はコマンド・ポートを介して提出されたコマンドを受諾
するか否かを決定するためにサブシステムが使用する、
ハードウェアまたはファームウェアの処理を呼び出す責
任をもつ。コマンド処理プログラムは、サブシステムが
コマンド受諾状態にあり、上位プロセッサによるアテン
ション・ポートの書込みが検出されたときに、この処理
を呼び出す。コマンド処理プログラムは、サブシステム
を復号状態に置き、復号処理を呼び出して、新しく検出
されたコマンドを受諾できるか否かを決定する。
復号状態のとき、コマンド処理プログラムは、上位プロ
セッサがコマンド・ポートまたはアテンション・ポート
への書込みにより新しいコマンドを提出しようと試みる
のを阻止する責任をもつ。コマンド処理プログラムはま
た、サブシステム制御ポートへの上位プログラムによる
書込みに応答して、サブシステムがどんな状態のときも
RSTビットに対する上位プログラムの変更が許されるよ
うにする責任をもつ。この機能により、ハードウェア制
御のサブシステム・リセット・コマンドを上位プロセッ
サから受諾することが可能になる。他のハードウェア制
御は、サブシステムの状態に応じて、コマンド処理プロ
グラムによって許される。
復号処理は、サブシステムがある装置宛のコマンドを受
諾できるかどうか決定するタスクを有するので、下記の
種類のデータに関心をもつ必要がある。
*コマンド・タイプ。コマンドに対するアテンション・
コードは、コマンドがどう処理されるのかを決定する。
コマンドは、装置リセット・コマンド、割込みリセット
・コマンド、SCBコマンド、即時コマンドの各範疇に分
かれている。装置従属アテンション・コードが実施態様
でサポートされている場合、その実施態様による定義に
従って、SCBコマンドまたは即時コマンドの範疇に入れ
られる。サポートされないアテンション・コードは復号
処理によって無効コマンドとして拒絶される。SCBコマ
ンドでないアテンション・コードは直接コマンドと呼ば
れる。
*装置番号。コマンドが送られる先の装置は、アテンシ
ョン・ポートに含まれている。このデータは、どの装置
にコマンドが送られるかを決定するために必要である。
復号処理はまたこのデータを使って、装置状態情報にア
クセスし、サブシステムは、この情報を用いて新しいコ
マンドが受諾または拒絶できるか否かを決定することが
できる。装置アドレスが無効だと、コマンドは拒絶され
る。
*コマンド・コード。直接コマンドが処理されていると
き、コマンドのビット0〜7の8ビットのコマンド・コ
ードを検査して、コマンド・コードが決定される。8ビ
ットの即時コマンド・コードが認識されないと、そのコ
マンドは無効コマンドとして拒絶される。
*装置状態。これは装置の現状態であり、現装置状態が
与えられている場合にそのコマンドが受諾できるかどう
かを定義する。本発明では、いくつかの状態を定義し、
所与の状態の間にコマンドが受諾されるか否かを示す。
このデータは、後述の「復号処理のための判断テーブ
ル」で詳しく提示する。
復号処理がコマンドを受諾すると決定したとき、その新
しいコマンドが受諾されたことを示すように装置状態が
更新されることを保証し、装置が新しいコマンドの実行
を開始するスケジュールを立てる必要がある。復号処理
はまた、コマンド処理プログラムがサブシステムを復号
状態からコマンド受諾状態にすることを保証しなければ
ならない。本発明は、装置状態のリセット及び新しいコ
マンドのスケジューリングを復号処理で実施すべきだと
主張するものではないが、概念的にはそうすると考えた
方が簡単である。
また復号処理は、必要な新しいコマンドを必要な装置で
実行するスケジュールを立てさせなければならない。ス
ケジュールを立てるという言葉は、装置0リセット・コ
マンド以外のすべてのコマンドに使用される。というの
は、サブシステム・プロセッサ・サイクルの使用を、他
の装置について実行されているタスク間で共用する必要
があるからである。装置0リセット・コマンドの場合は
特殊なケースである。というのは、この活動はソフトウ
ェアによって呼び出されるサブシステムのリセットを引
き起こし、他の装置に対するすべての現サブシステム活
動を停止することを必要とするからである。
コマンドが受諾されることが知らされると、コマンド処
理プログラムがコマンド使用中/状況ポートを、使用中
ビットと拒絶ビットが共に“0"になるようにセットす
る。
復号処理がコマンドを拒絶したときは、コマンド処理プ
ログラムに拒絶の理由が示される。サブシステムは復号
状態から拒絶状態に移る。コマンド使用中/状況ポート
の使用中ビットと拒絶ビットが“1"にセットされる。コ
マンドがなぜ拒絶されたかを示すコード化された値を含
む、このポートのSビットが拒絶ビットと同時にセット
される。
復号処理の完了時に、いくつかの目標が達成される。
*復号処理によって受諾された即時コマンドは、後でコ
マンド拒絶のために割込みを行なわない。ハードウェア
が故障しない限り、即時コマンドは、復号処理による受
諾の後、正しく実行される。
*現装置状態の故に実行できないコマンドは、システム
割込みなしにできるだけ速やかに拒絶される。拒絶状況
及び拒絶理由は、明示的にクリアされるまで上位プログ
ラムが利用できる。
*装置リセットなど特殊なアテンション・コードは、で
きるだけ速やかに実行すべくスケジュールが立てられ
る。
*SCBコマンドは取出しのスケジュールが立てられる。
復号処理は、フィールド値が有効かどうかSCBの検査を
行なわない。
様々なコマンドが提示されたときに装置がどう反応する
かの記述は、「復号処理のための判断テーブル」の一連
の判断テーブルに定義されている。それについて手短か
に考察する。それらの規則は次のように要約できる。
1.ハードウェア制御のサブシステム・リセット・コマン
ドは、必ずサブシステムに受諾される。
2.アテンション・ポート宛のコマンドは、それが復号進
行中、サブシステム拒絶、サブシステム・リセット進行
中、サブシステム・リセット保留開始、サブシステム・
リセット保留完了の各状態にある場合、サブシステムに
よって無視される。
3.装置リセット・コマンドは、その装置が使用中で他の
コマンドを実行している場合でも、その装置によって受
諾される。この規則には、次の3つの例外がある。
−アテンション・ポートで指定された装置番号が無効。
−ビット0〜7の8ビット即時コマンド・コードが0で
ない。
−サブシステムが上記の例外2で定義する状態の1つで
ある、すなわちアテンション・ポートに試みられた書込
みよって提出されるどのコマンドも無視する。
4.装置が使用中であるコマンドを実行しているとき、下
記の場合を除き、装置使用中コードで新しいコマンドを
拒絶する。
−新しいコマンドが装置リセット・コマンド。
−装置が使用中でSCBを実行しており、新しいコマンド
が中断コマンドである(この場合、実行中のSCBが完了
してから、装置がSCB実行禁止状態になる。中断コマン
ドは必ず、装置で実行された最後のSCBに割込みを要求
させる)。
−装置が使用中でSCBを実行しており、新しいコマンド
がSCB割込みリセットである。(現在実行中のSCBは直ち
に停止され、SCB割込みリセット機能が実行される。停
止されたSCBは実行の継続を許される。) 5.ある装置に対する割込み待ち行列が満杯のときは、下
記の場合を除き、新しいコマンドは拒絶される。
−装置リセット −割込みリセット(SCBまたは即時) −サブシステム・リセット(ハードウェア制御またはソ
フトウェア制御) 6.装置が使用中でコマンドを実行してはいないとき、そ
の装置が、以前の中断コマンドによってSCBコマンドを
実行できない状態に置かれて要る場合は、SCBコマンド
を拒絶する。
7.装置がコマンドを確実に実行できない状態にある場合
は、下記以外のすべてのコマンドを拒絶する。
−装置リセット −サブシステム・リセット(ハードウェア制御またはソ
フトウェア制御) −アテンション・ポートの装置アドレスが有効でない場
合、そのコマンドは拒絶される。
復号処理のための判断テーブル この復号処理のためのアーキテクチャは、複数の拒絶理
由が存在するとき、どの拒絶理由かを指定するように、
拒絶テストが行なわれる順序を定義する。これを次表に
示す。
復号処理のステップ ステップ1−アテンション・コードとコマンドの妥当性
検査。拒絶コード=010 ステップ2−アテンション・ポート中の装置の妥当性検
査。拒絶コード=101 ステップ3−装置が使用可能状態にあることの検証。拒
絶コード=001 ステップ4−装置が使用中でないとの検証。拒絶コード
=011 ステップ5−装置割込み待ち行列が満杯でないことの検
証。拒絶コード=111 ステップ6−SCB実行エネーブルの検証。拒絶コード=1
00 復号アーキテクチャは、まず詳細な装置及びサブシステ
ム状態を指定し、次いで1組の判断テーブルによって完
全に定義される。
・サブシステム及び装置状態の定義 サブシステムは、下記の状態成分を有する。
*サブシステム実行状態には、ACCEPT、PENDS、PENDC、
RESETS、REJECT、DECODEがある。これらの状態は、サブ
システムが新しいコマンドまたはハードウェア制御を受
諾できるか否かを定義する。
*使用可能状態。サブシステムが、コマンドを確実に実
行することを期待できる状態に入ったかどうかを定義す
る。その値がイエスの場合はサブシステムは使用可能で
あり、ノーの場合はそうではない。
*DMA可能。この状態成分は、サブシステムにDMA活動が
許されるか否かをイエスとノーで示す。DMA活動が許さ
れないときは、サブシステムに対するSCBコマンドの取
出し、TSB状況の記憶、またはSCBコマンドのためのデー
タ移動は許されない。この状態成分は、サブシステム制
御ポートのDMAビットに対応する。
*割込み可能。この状態成分は、コマンドが割込みを必
要とするとき、サブシステムが主プロセッサに物理割込
みを送ることができるかどうかを示す。これはサブシス
テム制御ポートのEIビットに対応する。この値がイエス
のとき、物理割込みが送られる。この値がノーのとき
は、割込みは送られない。
*IV有効。この状態成分は、コマンド使用中/状況ポー
トのIVビットに対応する。その値がイエスの場合、サブ
システムの割込み状況ポートは、上位プログラムによっ
てリセットされていない有効な割込み値をもつ。この値
がノーの場合は、割込み状況ポートは割込み値を含まな
い。
*装置活動状態。この状態成分は、ハードウェア制御ま
たはアテンション・ポートを介して提出されたコマンド
を処理するようにとの上位プロセッサからの要求を処理
した後に、どのように処理を再開するかを決定するため
にサブシステムが使用する。たとえば、サブシステムが
ACCEPT状態でその状態成分がイエスのときにRRビットに
書き込むことは、RRビットがセットされる前に行なって
いた活動にサブシステムが戻ることを意味する。この状
態成分の値がノーの場合は、サブシステムには実行すべ
き装置活動がなく、次の主プロセッサの動作が起こるの
を待つ状態になる。
・装置状態 装置は、下記の状態成分をもつように定義される。
1.使用中状態。これは、装置が現在使用中でコマンドを
実行しているかどうかを定義する。この状態は、BUSY
(使用中)とIDLE(遊休)の2つの値をとる。値がIDLE
の場合、装置は現在どのコマンドも実行していない。値
がBUSYの場合は、装置はコマンドを実行しており、使用
中副状態とCMD状態が、装置で進行中のコマンドまたは
ハードウェア制御をさらに定義する。
2.使用中副状態(substate)。装置が使用中でコマンド
を実行している場合、この状態成分は、即時コマンド、
SCB、サブシステム・リセット(ハードウェア制御)、
サブシステム・リセット(ソフトウェア制御)、装置リ
セット、中断、SCB割込みリセットなど進行中のコマン
ドのタイプを示す。
使用中副状態が即時コマンドまたはSCBのときは、CMD
(コマンド)フィールドは、その装置で実行される予定
の明示コマンドを定義する。
使用中副状態が、サブシステム・リセット(ハードウェ
ア制御)、サブシステム・リセット(ソフトウェア制
御)、装置リセット、中断、またはSCB割込みリセット
のときは、CMD状態成分は、これらのコマンドの1つが
受諾されたときに装置で実行中のコマンドを示す。
使用中副状態が、サブシステム・リセット(ハードウェ
ア制御)、サブシステム・リセット(ソフトウェア制
御)、装置リセット、中断、またはSCB割込みリセット
のとき、装置状態成分OLD(旧)使用中副状態は、これ
らのコマンドの1つが受諾されたとき活動状態の使用中
副状態を含む。
装置の使用中状態がIDLEのとき、その装置に対して使用
中副状態成分は定義されない。
3.CMD状態。これは、装置で実行されているコマンドに
関する次のような詳細を示す。装置の使用中副状態が即
時コマンドの場合、これは装置で実行中のコマンドを示
す。この場合、その値には次のようなものがある。
診断テスト即時実行 NOOP即時 割込み状況ポート・リセット 即時コマンド 使用中副状態がSCBの場合、CMD状態には次のようなもの
がある。
単一SCBに対する上位プロセッサ・メモリからの次のSCB
の取出し SCB連鎖の要素に対する上位プロセッサからの次のSCBの
取出し 単一SCBの妥当性検査(SCBの指定テストを実行する) SCB連鎖要素の妥当性検査(SCBの指定テストを実行す
る) 単一SCBの実行 SCB連鎖要素の実行 これらのCMD状態は、SCBの実行時に装置タスクによって
セットされる。すなわち、コマンド状態がSCB取出しか
ら単一SCBの実行またはSCB連鎖要素の実行に進む。単一
SCBの実行中、SCBが実行を完了すると、装置は遊休状態
に移る。装置がSCB連鎖を実行しているときは、連鎖が
完了するかまたは中断コマンドによって中断されるま
で、装置は取出し状態を経てSCBコマンド実行状態に進
む。中断コマンドは、中断活動の完了時に必ず装置を遊
休状態にする。
装置に対する使用中副状態が、サブシステム・リセット
(ハードウェア制御)、サブシステム・リセット(ソフ
トウェア制御)、装置リセット、中断、またはSCB割込
みリセットである場合、CMDフィールドの用途は、状態
成分OLD使用中副状態によって変わる。その値が即時コ
マンドまたはSCBである場合、CMDフィールドは、サブシ
ステム・リセット、装置リセット、中断、またはSCB割
込みリセットが実行すべく受諾されたときに活動状態だ
ったコマンドを反映する。装置の旧使用中副状態が、サ
ブシステム・リセット(ハードウエア制御またはソフト
ウエア制御)、装置リセット、中断、またはSCB割込み
リセットである場合、受諾時に活動状態のコマンドは状
態成分旧使用中副状態によって完全に定義されるので、
CMDは無視される。
4.装置割込み待ち行列満杯。この状態成分は、その装置
に対する割込み待ち行列のスペースが満杯であるか否か
を示す。イエスの値は、待ち行列が現在満杯であること
を示す。ノーの値は、装置割込み待ち行列のスペースが
空いていることを示す。割込みが装置によって待ち行列
に入れられるとき、割込み待ち行列のスペースが割り振
られ、この時点で割込み待ち行列が満杯になることがあ
る。
5.SCB実行可能。この状態成分は、SCBの実行が装置によ
って許されるか否かを示す。SCBの実行が許されなかっ
た場合、この状態成分はノーとなる。これは、中断コマ
ンドの実行によって起こる。SCBの実行が許される場
合、この状態成分の値はイエスである。これは再開、装
置リセット、またはサブシステムによってイエスにセッ
トされる。
6.SCB連鎖中断。この状態の値が有効なのは、装置に対
して中断コマンドが出されたときだけである。中断コマ
ンドが出され、連鎖中の次のSCBの取出しが中断コマン
ドによって停止された場合、この状態成分の値はイエス
である。すなわち、この状態の装置に再開コマンドが出
されると、その装置はSCB使用中副状態に再び入り、中
断コマンド時にSCB取出しアドレスにセーブされたSCBア
ドレスを使って、中断された連鎖の実行を再開する。SC
B連鎖が活動状態でないときに中断コマンドが出された
場合、あるいは現SCBの完了によって連鎖が停止された
場合、この状態成分の値はノーとなる。この状態の装置
に再開コマンドが出されても装置はSCB使用中副状態に
再び入らず、再開から出て遊休状態になる。
7.SCB取出しアドレス。SCBコマンドが最初に装置によっ
て受諾されたとき、コマンド・ポート中のアドレスが復
号処理によつてこの域に移される。連鎖中の次のSCBが
装置タスクによって取り出されるとき、この状態成分は
そのSCBの中のアドレスで更新される。装置タスクは、S
CBの終了状態に応じてSCBからどの連鎖アドレスを選択
するかを決定する。
8.装置使用可能。装置が確実にコマンドを実行できる状
態の場合、この状態成分はイエスの値をとる。装置が確
実にコマンドを実行できない状態にある場合は、この状
態値はノーとなる。
9.即時コマンド値IC。復号処理が直接コマンドを受諾す
るときは、コマンド部分の値がこの状態成分に移る。装
置タスクが、直接コマンド中の値にアクセスするため、
この値を使用することができる。現在はビット15〜0だ
けが直接コマンドの実行をもたらす。
10.装置割込み可能。この状態成分は、装置が物理割込
みを要求できるか否かを決定する。状態成分の値がENAB
LE(エネーブル)の場合、割込みを要求することができ
る。値がDISABLE(ディスエーブル)の場合は、物理割
込みを要求できない。装置は、この状態成分の値がどう
であれ、割込みを装置の内部割込み待ち行列に入れる必
要がある。この状態成分は、装置に送られる即時コマン
ドのビット14、またはサブシステム・リセット・コマン
ドによってセットされる。
11.後割込み。この状態成分は、即時コマンドが完了成
功時に割込みを要求するか否かを決定する。サブシステ
ム・リセット、SCB割込みリセット、及び即時割込みリ
セットの場合は、これは無視される。この状態成分はイ
エスまたはノーの値をとり、装置に送られる即時コマン
ドのビット15によってセットされる。
12.旧使用中副状態。この状態成分は、中断、サブシス
テム・リセット(ソフトウェア制御)、サブシステム・
リセット(ハードウェア制御)、またはSCB割込みリセ
ットが受諾されたときに装置で活動状態であった、使用
中副状態の値を含む。
13.旧CMD状態。この状態成分は、装置の割込み待ち行列
が満杯であるためにSCBが取り出せなかったときに活動
状態となるSCB CMD値を含む。この条件が生じたとき、
装置はIDLE状態になる。SCB割込みリセットまたは即時
割込みリセットは、実行後に割込み待ち行列が満杯でな
い場合、装置をSCB状態に再び入らせることができる。
14.SCB中断割込み待ち行列満杯。この状態成分は、装置
の割込み待ち行列が満杯だったために、装置がSCB状態
からIDLE状態に入った場合、イエスの値をとる。この状
態成分がイエスのときに割込みリセットが装置の割込み
待ち行列を満杯状態から出させるとき、状態成分旧CMD
状態とSCB取出しアドレスが、SCBの実行を再開するため
に使用される。装置が、その割込み待ち行列が満杯であ
るためにSCB実行が中断される状態にないときは、この
状態成分はノーの値をとる。
15.SCB実行中SCB割込みリセット受諾。この状態成分
は、SCB割込みリセット・コマンドが、使用中でSCBを実
行している装置によって受諾されるとき、イエスとな
る。装置がIDLE状態のときにSCB割込みリセットが受諾
されたとき、この値はノーとなる。
16.装置に対する割込み待ち行列。これは、装置に対す
る内部割込み待ち行列の位置を指定する状態成分であ
る。これは、現最古要素の位置、及び後の割込みに対し
て割り振るのに使用できる位置と項目数を含まなければ
ならない。
17.SCB論理割込みカウント。これは、装置がSCB論理割
込みを立ち上げるたびに1ずつ増分される状態成分であ
る。
これらの状態成分のいくつかを用いて、第2表及び第3
表に示すように、コマンドが復号処理によって受諾また
は拒絶される。これらの表で、DCは「どうでもよい」と
の意味で、その条件が復号処理の結果を決定するために
テストされないことを意味する。NAは、「適用されな
い」との意味で、その条件が復号処理で必要とされるテ
ストの一環として存在できないことを意味する。
コマンド転送システムは、コマンド処理プログラムと復
号プロセッサを含んでいる。これらの機能は、ハードウ
ェアまたはソストウェアあるいはその両方で実施するこ
とができる。したがって、システムの動作を説明する第
2図及び第12図で利用した以前の構成図による実施態様
を補うものとして、それらの実施態様を第14図ないし第
20図に流れ図として示す。具体的には、コマンド処理プ
ログラム及び復号プロセッサが、第12図のサブシステム
202のコマンド転送論理ブロック230及びマイクロプロセ
ッサ234中にハードウェアの形で含まれ、例示されてい
る。コマンド処理プログラムは入出力ポートで受け取っ
たコマンドを処理し、復号プロセッサは、サブシステム
または接続装置の1つによって実行するため、コマンド
を復号する。
第14図は、コマンド転送システムの全体的流れ図であ
る。コマンド処理プログラムは、ブロック500で、サブ
システム制御ポート(SSCP)、アテンション・ポート
(AP)、またはコマンド・インタフェース・ポート(C
P)など入出力アトレスのいずれかへの上位プロセッサ
の書込みをサブシステムが検出したとき、割込みに入
る。ブロック502で、コマンド処理プログラムがそうす
ることができる場合、コマンド・インタフェース・ポー
ト及びアテンション・ポートへの上位プロセッサの書込
みに対するその処理の割込みを禁止する。そうした割込
みを禁止できない場合は、コマンド処理プログラムが後
でその処理が再度可能になるまで、これらのポートへの
書込みは無視される。判断ブロック504で、SSCPへの書
込みを試みた結果、コマンド処理プログラムに入ったか
どうか判定する。そうである場合は、ブロック506に進
んで、SSCPへの書込みを処理する。この処理について
は、第15図及び第16図に関して詳しく説明する。SSCPへ
の書込みの後、ブロック508に進んで、コマンド処理プ
ログラムが、アテンション・ポート及びコマンド・イン
タフェース・ポートへの上位プロセッサの書込みに対す
る処理を再度可能にし、ブロック500に戻る。
判断ブロック504でSSCPへの書込みがなかった場合は、
判断ブロック510に進み、上位プロセッサがコマンド・
インタフェース・ポートへの書込みを試みたかどうか判
定する。そうである場合は、ブロック512に進んで、コ
マンド・インタフェース・ポートへの書込みを処理す
る。この処理については、第18図に関して詳しく説明す
る。コマンド・インタフェース・ポートへの書込みの
後、再びブロック508に進み、コマンド処理プログラム
が、アテンション・ポートへの上位プロセッサの書込み
に対する処理を再度可能にし、ブロック500に戻る。
判断ブロック510でコマンド・インタフェース・ポート
への書込みがなかった場合は、ブロック514に進んで、
アテンション・ポートへの書込みを処理する。この処理
については、第17図に関して詳しく説明する。
次に第15図及び第16図に関して、第14図のブロック506
のSSCPへの書込みの処理について詳しく説明する。第15
図に関して、ブロック516で、SSCPに書き込まれた上位
プロセッサの値を読み取る。ブロック518で、サブシス
テムのリセットが試みられたか否か判定する。そうであ
る場合、ブロック520に進んで、SSCP中のRSTが1にセッ
トされる。判断ブロック522に進み、サブシステム(S
S)実行状態がコマンド受諾かどうか判定する。そうで
ある場合は、ブロック524で、サブシステム状態がサブ
システム・リセット保留開始にセットされる。次にブロ
ック526で、サブシステム・リセット保留を実行するた
めのサブシステム・ハードウェア機能が呼び出される。
サブシステム・リセット保留機能を実行するためのハー
ドウェア機能が完了すると、ブロック528で、サブシス
テム実行状態がサブシステム・リセット保留完了にセッ
トされる。次いで第14図のブロック508に戻って、前述
のように上位割込みを可能にする。
判断ブロック522でサブシステム実行状態がコマンド受
諾ではないと判定した場合は、判断ブロック530に戻っ
て、サブシステム実行状態がサブシステム・リセット保
留開始かどうか判定する。そうである場合は、ブロック
532に進み、コマンド・インタフェース・ポート及びア
テンション・ポートへの上位プロセッサの書込みを再度
可能にする。次いでコマンド処理プログラムは、ブロッ
ク534のリセット保留機能を実行するハードウェア処理
に制御を戻す。
判断ブロック530でサブシステム実行状態がサブシステ
ム・リセット保留開始ではないと判定した場合、判断ブ
ロック536に進んで、サブシステム実行状態がサブシス
テム・リセット保留完了であるかどうか判定する。そう
である場合は、第14図のブロック508に戻って、前述の
ように上位割込みを可能にする。そうでない場合は、判
断ブロック538に進んで、サブシステム実行状態が拒絶
であるかどうか判定する。そうである場合は、ブロック
524に進んで、サブシステムはリセット保留開始状態に
なり、前述のように進む。そうでない場合は、判断ブロ
ック540に進み、サブシステム実行状態が復号かどうか
判定する。そうである場合は、ブロック542に進み、上
位プロセッサがRSTをセットしたときに進行中であった
復号処理の実行が打ち切られる。ブロック524に進ん
で、サブシステムはリセット保留開始状態になり、前述
のように進む。判断ブロック540でサブシステム実行状
態が復号ではない場合は、ブロック544に進んで、現サ
ブシステム実行状態がサブシステム・リセット進行中と
なる。ブロック546で、RSTが1にセットされて、サブシ
ステムがリセット進行中状態を打ち切る。ブロック524
に進んで、前述のようにサブシステムはリセット保留開
始状態になる。
判断ブロック518でサブシステムをリセットしようとす
る試みがなかったと判定した場合、ブロック548に進ん
で、SSCPのRSTビットが0にセットされる。判断ブロッ
ク550に進んで、サブシステムの実行状態が復号である
かどうか判定する。そうである場合は、ブロック552に
進んで、コマンド処理プログラムは、コマンド・ポート
及びアテンション・ポートへの上位プロセッサの書込み
に対する処理を可能にする。次いで、コマンド処理プロ
グラムはブロック554で復号処理に制御を戻す。
判断ブロック550で、サブシステムの実行状態が復号で
はなかったと判定した場合は、判断ブロック556に進ん
で、サブシステム実行状態がサブシステム・リセット保
留開始であるかどうか判定する。そうである場合は、ブ
ロック558に進んで、RSTビット以外のすべてのSSCPビッ
トが0にされる。次いでブロック532に進んで、コマン
ド・インタフェース・ポート及びアテンション・ポート
への書込みを可能にし、前述のように進む。
判断ブロック556でサブシステム実行状態がサブシステ
ム・リセット保留開始ではないと判定した場合、判断ブ
ロック560に進んで、サブシステム実行状態がリセット
保留完了かどうか判定する。そうである場合は、ブロッ
ク562に進んで、サブシステム実行状態がサブシステム
・リセット進行中にセットされる。ブロック564で、コ
マンド処理プログラムは、コマンド・インタフェース・
ポート及びアテンション・ポートへの上位プロセッサの
書込みの処理を再度可能にする。次いでブロック566
で、コマンド処理プログラムは、サブシステム・リセッ
ト進行中機能を呼び出す。このとき、ブロック568で、
サブシステム実行状態はコマンドを受諾する準備ができ
ている。次いで第14図のブロック508に戻って、前述の
ように上位割込みを可能にする。
判断ブロック560でサブシステム実行状態がリセット保
留完了ではないと判定した場合、ブロック570に進ん
で、サブシステム実行が拒絶または受諾となる。ブロッ
ク572で、SSCPのEIビットがセットされる。ブロック574
で、サブシステム実行状態の割込み可能成分がイエスに
セットされる。ブロック576で、割込みテスト機能を呼
び出して、装置0から順にいずれかの装置が割込みを立
ち上げることができるかどうか判定する。ブロック578
で、SSCPのビット1がサブシステム制御ポートのDMAに
セットされる。ブロック580で、SSCPのビット6、4、
3、2、がSSCP中の対応する位置にセットされる。及び
ブロック582で、SSCPのビット5がSSCPのRRビットにセ
ットされる。
第16図の判断ブロック584でSSCPへの書込み処理に進
み、SSCP中のRRビットが“0"か否かを判定する。そうで
ある場合は、判断ブロック586に進んで、サブシステム
実行状態がコマンド受諾であるかどうか判定する。そう
である場合は、判断ブロック588に進み、サブシステム
のいずれかの装置活動構成要素がノーかどうか判断す
る。そうである場合は、第14図のブロック508に進み、
前述のように上位割込みを可能にする。いずれかの装置
活動構成要素がイエスである場合は、ブロック590に進
み、コマンド処理プログラムがコマンド・インタフェー
ス・ポート及びアテンション・ポートへの上位プロセッ
サの書込みの処理を再度可能にする。ブロック592で、
コマンド処理プログラムはその活動の処理から戻り、サ
ブシステム上の割込みを受けた活動に制御を戻す。
判断ブロック586でサブシステム実行状態がコマンド受
諾ではないと判定した場合は、判断ブロック594に進
み、サブシステム実行状態がサブシステム・リセット進
行中か否か判定する。そうである場合、ブロック596に
進んで、コマンド処理プログラムはコマンド・インタフ
ェース・ポート及びアテンション・ポートへの上位プロ
セッサの書込みの処理を再度可能にする。次いでブロッ
ク598で、コマンド処理プログラムは、割込みからサブ
システム・リセット進行中機能に戻る。
判断ブロック594でサブシステム実行状態がリセット進
行中ではないと判定した場合、判断ブロック588に進ん
で前述のように進める。
判断ブロック584でRRビットが“0"ではないと判定した
場合は、判断ブロック600に進み、サブシステム実行状
態が拒絶か否か判定する。そうである場合、ブロック60
2に進み、サブシステムが拒絶状態からコマンド受諾状
態に入る。次に判断ブロック588に進んで、前述のよう
に進む。判断ブロック600でサブシステム実行状態が拒
絶ではないと判定した場合は、判断ブロック588に進ん
で、前述のように進む。
次に第17図に関して、第14図のブロック514のアテンシ
ョン・ポートへの書込みの処理について詳しく説明す
る。判断ブロック604で、サブシステム実行状態が復号
であるか否か判定する。そうである場合は、ブロック60
6で、アテンション・ポートへの上位プロセッサの書込
みは無視され、第15A図のブロック552に戻って前述のよ
うに進む。判断ブロック604でシステム実行状態が復号
ではないと判定した場合は、判断ブロック608に進ん
で、サブシステム実行状態が拒絶であるか否か判定す
る。そうである場合は、ブロック610で、アテンション
・ポートへの上位コンピュータの書込みは無視され、第
16図のブロック588に戻って前述にように進む。
判断ブロック608でサブシステム実行状態が拒絶ではな
いと判定した場合は、判断ブロック612に進んで、サブ
システム実行状態がリセット保留開始か否か判定する。
そうである場合は、ブロック614で、アテンション・ポ
ートへの上位コンピュータの書込みは無視され、第15C
図のブロック532に戻って前述のように進む。
判断ブロック612でサブシステム実行状態がリセット保
留ではないと判定した場合は、判断ブロック616に進ん
で、サブシステムの状態がリセット保留完了であるか否
か判定する。そうである場合は、ブロック618で、アテ
ンション・ポートへの上位コンピュータの書込みは無視
され、第14図のブロック508に戻って、前述にように上
位割込みを可能にする。
判断ブロック616でサブシステム実行状態がリセット保
留完了でないと判定した場合は、判断ブロック620に進
んで、サブシステム実行状態がサブシステム・リセット
進行中であるか否か判定する。そうである場合は、ブロ
ック622で、アテンション・ポートへの上位コンピュー
タの書込みは無視され、第16図のブロック596に戻って
前述にように進む。
判断ブロック620でサブシステム実行状態がサブシステ
ム・リセット進行中ではないと判定した場合は、ブロッ
ク624に進んで、サブシステム実行状態は受諾状態とな
り、ブロック626で、アテンション・ポートが更新され
る。次いでブロック628で、サブシステム実行状態が復
号にセットされる。次いでブロック630で、コマンド処
理プログラムは復号処理を呼び出す。その詳細は第19図
及び第20図に関して後で説明する。
判断ブロック632で、復号処理がコマンドを受諾したか
否か判定する。そうである場合は、ブロック634に進ん
で、サブシステム実行状態がコマンド受諾にセットさ
れ、第16図の判断ブロック588に戻って前述にように進
む。
判断ブロック632で、復号処理がコマンドを受諾しなか
ったと判定した場合は、ブロック636に進み、サブシス
テム実行状態が拒絶にセットされる。ブロック638で、
BビットとREJビットが1にセットされ、Sビットがコ
マンド使用中/状況ポート中の復号処理によって決定さ
れるようにセットされる。次いで第16図の判断ブロック
588に戻って前述のように進む。
次に第18図に関して、第14図のブロック512のコマンド
・インタフェース・ポートへの書込みの処理について詳
しく説明する。判断ブロック640で、サブシステム実行
状態が復号であるか否か判定する。そうである場合は、
ブロック642で、コマンド・インタフェース・ポートへ
の上位コンピュータの書込みは無視され、第15A図のブ
ロック552に戻って前述のように進む。ブロック640でシ
ステム実行状態が復号ではないと判定した場合は、判断
ブロック644に進み、システム実行状態が拒絶であるか
否か判定する。そうである場合は、ブロック646でコマ
ンド・インタフェース・ポートへの上位システムの書込
みは無視され、第16図のブロック588に戻って前述のよ
うに進む。
判断ブロック644でサブシステム実行状態が拒絶ではな
いと判定した場合は、判断ブロック648に進み、サブシ
ステム実行状態がリセット保留開始であるか否か判定す
る。そうである場合、ブロック650で、コマンド・イン
タフェース・ポートへの上位コンピュータの書込みは無
視され、第15C図のブロック532に戻って前述のように進
む。
判断ブロック648でサブシステム実行状態がリセット保
留開始ではないと判定した場合は、判断ブロック652に
進んで、サブシステム実行状態がリセット保留完了であ
るか否か判定する。そうである場合、ブロック654で、
コマンド・インタフェース・ポートへの上位コンピュー
タの書込みは無視され、第14図のブロック508に戻って
前述のように進む。
判断ブロック652でサブシステム実行状態がリセット保
留完了ではないと判定した場合は、判断ブロック656に
進み、サブシステム実行状態がサブシステム・リセット
進行中であるか否か判定する。そうである場合、ブロッ
ク658で、コマンド・インタフェース・ポートへの上位
コンピュータの書込みは無視され、第16図のブロック59
6に戻って前述のように進む。
判断ブロック656でサブシステム実行状態がサブシステ
ム・リセット進行中ではないと判定した場合は、ブロッ
ク660に進んで、サブシステム実行状態は受諾状態にな
る。次いでブロック662で、コマンド・インタフェース
・ポートが、上位コンピュータから供給される値で更新
される。次いで第16図の判断ブロック588に戻って前述
のように進む。
コマンドが受諾できるかどうか判定するため、コマンド
処理プログラムにより「呼び出し様」処理を使って復号
処理が呼び出される。コマンドが受諾された場合、復号
処理は、コマンド処理プログラムにコマンドが受諾され
たかそれとも拒絶されたかを示して制御を戻した後、コ
マンドを実行する装置タスクのスケジュールを立てる。
復号処理は、コマンドが実行を受諾された場合、装置状
態をそれに応じて適宜セットする。コマンドが拒絶され
た場合は、復号処理は、コマンド処理プログラムがコマ
ンド使用中/状況ポートのSビット値として書き込む値
を戻す。
復号処理に入るには、コマンド処理プログラムからの呼
出しを用いる。復号処理に入ると、処理すべきコマンド
はコマンド・インタフェース・ポートで得られる。アテ
ンション・ポートは、コマンド・タイプを含み、コマン
ドが送られる先の装置を識別する。
次に第19図及び第20図に関して、復号処理の詳しい説明
を行なう。判断ブロック664で、そのコマンドに対する
アテンション・コードが装置リセットであるか否か判定
する。そうである場合は、判断ブロック666に進んで、
コマンド・インタフェース・ポートのビット7〜0の即
時コマンド・コードが“0"かどうか判定する。そうでな
い場合は、ブロック672に進み、復号処理はその戻りコ
ードを、コマンドが拒絶されたことを示すようにセット
する。判断ブロック698または700の答がノーであった場
合もそうなるが、それらの動作については後で説明す
る。ブロック674で、拒絶の理由が無効コマンドである
と指示される。ブロック676で、復号処理はコマンド処
理プログラムに制御を戻す。次いで第17B図の判断ブロ
ック632に戻って、以前に説明したように進む。
判断ブロック666でコマンド・インタフェース・ポート
のビット7〜0の即時コマンド・コードが0であると判
定した場合、判断ブロック668に進んで、アクセスされ
る装置がアドレス“0"、すなわちサブシステム・アドレ
スであるかどうか、つまりコマンドがサブシステムのソ
フトウェア制御リセット・コマンドであるかどうか判定
する。そうである場合は、ブロック680に進んで、サブ
システムの実行状態をサブシステム・リセット進行中に
セットする。ブロック682で、サブシステム・リセット
・ソフトウェア制御機能が復号処理によって呼び出され
る。ブロック684で、復号プロセスは、その戻りコード
をコマンド受諾としてセットし、ブロック676に戻っ
て、コマンド処理プログラムに戻る。
判断ブロック668で装置アドレスがアドレス“0"すなわ
ちサブシステム・アドレスではないと判定した場合は、
ブロック670に進んで、アテンション・ポートの装置ID
が有効か否か判定する。そうである場合は、ブロック68
6に進んで、コマンドが送られる先の装置の現使用中副
状態が、装置状態成分旧使用中副状態にセーブされる。
内部変数IBSSが、装置リセットの値にセットされる。ブ
ロック688で、コマンドが送られる先の装置の装置状態
成分ICが、コマンド・インタフェース・ポート中の値に
セットされる。次にブロック690で、アドレスされた装
置の使用中状態が使用中にセットされる。次にブロック
692で、後で実行するためアドレスされたコマンドICMD
のスケジュールを立てるため、サブシステム・スケジュ
ール機能を呼び出す。次いでブロック684に戻って、以
前に説明したように進む。
判断ブロック670で、アテンション・ポート中の装置ID
が有効でないと判定した場合は、ブロック671に進ん
で、コマンドの戻りコードが拒絶にセットされる。その
理由は装置ID無効である。次にブロック676に進んで、
コマンド処理プログラムに戻る。
判断ブロック664でコマンドに対するアテンション・コ
ードが装置リセットではないと判定した場合は、判断ブ
ロック694に進んで、コマンドに対するアテンション・
コードが割込みリセットであるか否か判定する。そうで
ない場合は、判断ブロック696に進んで、新しいコマン
ドに対するアテンション・コードが即時コマンドか否か
判定する。そうである場合は、後述する判断ブロック70
0に進む。そうでない場合は、判断ブロック698に進み、
新しいコマンドに対するアテンション・コードがSCBで
あるか否か判定する。そうである場合は、後述する判断
ブロック702に進む。そうでない場合は、ブロック672に
進んで、以前に説明したように進む。
判断ブロック694でコマンドに対するアテンション・コ
ードが割込みリセットであると判定した場合、判断ブロ
ック700に進んで、コマンド・インタフェース・ポート
中のコマンドのビット7〜0の即時コマンド・コードが
有効か否か判定する。コマンドが有効でない場合は、ブ
ロック672に進んで、以前に説明したように進む。コマ
ンドが有効な場合は、判断ブロック702に進んで、アテ
ンション・ポート中の装置IDが有効かどうか判定する。
そうでない場合は、ブロック671に進んで、以前に説明
したように進む。そうである場合、判断ブロック704に
進んで、装置が使用可能状態にあるか否か判定する。そ
うでない場合は、ブロック706に進んで、戻りコードを
拒絶に設定する。特定の拒絶コードは、ブロック708に
示すように、装置使用不能である。次にブロック676に
戻って、以前に説明したように進む。
判断ブロック704で、装置が使用可能状態にあると判定
した場合は、第20A図の判断ブロック710に進み、装置が
使用中状態にあるか否か判定する。そうである場合、判
断ブロック712に進んで、新しいコマンドが割込みリセ
ットであるか否か判定する。そうでない場合は、判断ブ
ロック714に進んで、新しいコマンドが中断であるかど
うか判定する。そうでない場合は、ブロック716で戻り
コードが拒絶に設定される。その理由は、ブロック718
に示すように装置が使用中ということである。次いで第
19B図のブロック676に戻って、以前に説明したように進
む。
判断ブロック712または714で判定がイエスの場合、判断
ブロック720に進んで、装置が現在SCBを実行中か否か判
定する。そうでない場合は、ブロック716に進んで、以
前に説明したように進む。そうである場合は、判断ブロ
ック722に進む。判断ブロック710で装置が使用中でない
と判定した場合も、判断ブロック722に進む。判断ブロ
ック722で、新しいコマンドに対するアテンション・コ
ードが割込みリセットか否かを判定する。そうである場
合、第19A図のブロック686に戻る。そうでない場合は、
判断ブロック724に進んで、装置割込み待ち行列が満杯
か否か判定する。そうである場合、ブロック726で、復
号処理はその戻りコードを拒絶に設定する。特定の拒絶
コードは、ブロック728に示すように割込み待ち行列満
杯である。第19B図のブロック676に戻って、以前に説明
したように進む。
判断ブロック724で装置割込み待ち行列が満杯ではない
と判定した場合、判断ブロック730に進んで、新しいコ
マンドが中断であるか否か判定する。そうである場合、
第19A図のブロック686に戻って、以前に説明したように
進む。そうでない場合は、ブロック732に示すように、
新しいコマンドはSCBである。次に判断ブロック734で装
置状態がSCBの実行を許すか否か判定する。そうである
場合は第19A図のブロック688に戻って、以前に説明した
ように進む。そうでない場合は、ブロック736で戻りコ
ードが拒絶に設定される。ブロック738で、拒絶理由はS
CB実行拒絶である。第19B図のブロック676に戻って、以
前に説明したように進む。
F.発明の効果 本発明によれば、上位コンピュータと、装置を接続でき
る少なくとも1つの知能サブシステムとの間で情報を転
送するためのコマンド・インタフェースが提供される。
上位プロセッサから転送される情報には、直接コマンド
の他に、特定の知能サブシステムまたは装置で実行すべ
きオペレーションを指定するパラメータを含むサブシス
テム制御ブロック(SCB)のような間接コマンドも含ま
れる。知能サブシステムから上位プロセッサへ転送され
る情報には、使用中信号及び状況信号が含まれる。使用
中信号は、知能サブシステムのコマンド・インタフェー
ス・ポートまたはアテンション・ポートが使用中かどう
かを示し、状況信号は、知能サブシステムおよびそれに
接続された装置の動作状況を示す。これにより、上位プ
ロセッサからのコマンドが知能サブシステムで受諾され
たか拒絶されたか早くに知らせることができる。
【図面の簡単な説明】
第1図は、それぞれ複数の装置が接続されている複数の
知能サブシステムに接続された上位システムを含む、コ
ンピュータ・システムのブロック図である。 第2図は、上位システムと1つの知能サブシステムを詳
細に示すブロック図である。 第3図は、上位システムと知能サブシステムの間で情報
を交換するためのコマンド・インタフェースのブロック
図である。 第4図は、アテンション・ポートを詳細に示すブロック
図である。 第5図は、第5A図及び第5B図のつながりを示す図であ
る。 第5A図及び第5B図は、コマンド使用中/状況ポートを詳
細に示す回路図である。 第6図は、即時コマンド用のコマンド・インタフェース
・ポートとアテンション・ポートの一般フォーマットを
示す図である。 第7図は、サブシステム制御ブロック(SCB)コマンド
用のコマンド・インタフェース・ポートとアテンション
・ポートの一般フォーマットを示す図である。 第8図は、本発明のコンピュータ・システムで使用され
る制御ブロックの詳細なSCBフォーマットを示す図であ
る。 第9図は、詳細な拡張SCBフォーマットを示す図であ
る。 第10図は、詳細な終了状況ブロック(TSB)フォーマッ
トを示す図である。 第11図は、詳細な拡張TSBフォーマットを示す図であ
る。 第12図は、システム内のSCBフォーマットを詳細に示し
た、コンピュータ・システムのブロック図である。 第13図は、コマンド提出中のサブシステムの状態遷移の
状態図である。 第14図は、本発明のコマンド転送システムの流れ図であ
る。 第15図は、第15A図、第15B図及び第15C図のつながりを
示す図である。 第15A図、第15B図、第15C図、及び第16図は、第14図に
一般的に示したサブシステム制御ポートへの処理書込み
の詳細な流れ図である。 第17図は、第17A図及び第17B図のつながりを示す図であ
る。 第17A図及び第17B図は、第14図に一般的に示したアテン
ション・ポートへの処理書込みの詳細な流れ図である。 第18図は、第14図に一般的に示したコマンド・インタフ
ェース・ポートへの処理書込みの詳細な流れ図である。 第19図は、第19A図及び第19B図のつながりを示す図であ
る。 第19A図、第19B図、第20A図及び第20B図は、コマンド復
号処理の詳細な流れ図である。 第20図は、第20A図及び第20B図のつながりを示す図であ
る。 100……上位システム、102、104、106、108……サブシ
ステム、112……チャネル、114……インタフェース、12
2……システム・プロセッサ集合体(上位プロセッ
サ)、124……システム・メモリ、126……マイクロチャ
ネル、128……マイクロチャネル・インタフェース、130
……SCB転送サポート論理ブロック、132……局所マイク
ロプロセッサ、134……割込み論理回路、136、138、14
0、142……接続装置、146……接続装置インタフェー
ス、148……コマンド・インタフェース・ポート、150…
…アテンション・ポート(AP)、152……サブシステム
制御ポート(SCP)、154……割込み状況ポート(IS
P)、156……コマンド使用中/状況ポート(CBSP)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サミイ・デイビス・ドツドズ アメリカ合衆国フロリダ州ポンパノ・ビイ ーチ、アパートメント・エー108、ノー ス・ウエスト・サーテインフオース・スト リート450番地 (72)発明者 ドラブカマー・エム・デザイ アメリカ合衆国フロリダ州ボイントン・ビ イーチ、コーレブス・アヴエニユー3861番 地 (72)発明者 アーネスト・ネルソン・マンデイーズ アメリカ合衆国フロリダ州ボイントン・ビ イーチ、ドリツト・アヴエニユー3545番地 (72)発明者 アンドリユー・ボイス・マクニイール アメリカ合衆国フロリダ州デイアフイール ド・ビイーチ、ノース・ウエスト・フオー テイフアースト・ウエイ181番地 (72)発明者 リチヤード・ニイール・メンデルソン アメリカ合衆国フロリダ州ハイランド・ビ イーチ、1ハイランド・ビイーチ・ドライ ブ1124番地

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】上位システム(100)及び少なくとも1つ
    のサブシステム(102)を含むデータ処理システムにお
    いて、前記上位システム(100)と前記サブシステム(1
    02)との間で情報を転送するためのコマンド・インタフ
    ェースであって、 (a)前記サブシステム(102)または前記サブシステ
    ム(102)に接続された装置(136、138,140,142)で実
    行すべきオペレーションのタイプを示す直接コマンドま
    たは間接コマンドを、前記上位システム(100)から受
    け取る第1ポート(148)と、 (b)前記第1ポート(148)に受け取られるコマンド
    が前記直接コマンドか前記間接コマンドかを示し、且
    つ、該コマンドを実行するのが前記サブシステム(10
    2)であるのか前記装置(136,138,140,142)であるのか
    を示すコードを受け取る第2ポート(150)と、 を具備することを特徴とするコマンド・インタフェー
    ス。
  2. 【請求項2】前記直接コマンドは、前記サブシステム
    (102)または前記装置(136,138,140,142)が、当該コ
    マンドを即時に実行するのに必要なすべての情報を含
    み、前記間接コマンドは、前記サブシステム(102)が
    実行のために前記上位システム(100)から取り出すべ
    きサブシステム制御ブロック(SCB)のアドレスである
    ことを特徴とする請求項1に記載のコマンド・インタフ
    ェース。
  3. 【請求項3】前記第1ポート(148)及び前記第2ポー
    ト(150)が使用中かどうかを示し、且つ、前記サブシ
    ステム(102)がコマンドを受け入れたか拒否したかを
    示すコードを、前記サブシステム(102)から前記上位
    システム(100)へ供給するための第3ポート(156)を
    含むことを特徴とする請求項2に記載のコマンド・イン
    タフェース。
  4. 【請求項4】前記サブシステムのリセット信号を含む制
    御信号を前記上位システム(100)から前記サブシステ
    ム(102)へ供給するための第4ポート(152)を含むこ
    とを特徴とする請求項3に記載のコマンド・インタフェ
    ース。
  5. 【請求項5】前記サブシステム(102)及び前記装置(1
    36,138,140,142)のいずれが前記上位システム(100)
    に割込みをかけているかを示すコードを、前記サブシス
    テム(102)から前記上位システム(100)へ供給するた
    めの第5ポート(154)を含むことを特徴とする請求項
    4に記載のコマンド・インタフェース。
  6. 【請求項6】前記上位システム(100)は、前記SCBを記
    憶する主記憶装置(124)を有することを特徴とする請
    求項2に記載のコマンド・インタフェース。
  7. 【請求項7】上位プロセッサ(122)、情報を記憶する
    主記憶装置(124)、装置を接続できる少なくとも1つ
    の知能サブシステム(102)、前記上位プロセッサ(12
    2)と前記サブシステム(102)との間で情報を転送する
    ためのコマンド・インタフェースとを具備する計算機シ
    ステムであって、 前記コマンド・インタフェースは、 (a)前記サブシステム(102)でコマンドを即時に実
    行するのに必要なすべての情報を含む直接コマンド、ま
    たは前記主記憶装置(124)に記憶されるサブシステム
    制御ブロック(SCB)のアドレスである間接コマンド
    が、前記上位プロセッサ(122)から書き込まれるコマ
    ンド・インタフェース・ポート(148)と、 (b)前記直接コマンド及び前記間接コマンドのいずれ
    が前記コマンド・インタフェース・ポート(148)に書
    き込まれたかを示す第1部分、並びに前記サブシステム
    (102)及び前記装置(136,138,140,142)のいずれが当
    該コマンドを実行するかを示す第2部分を有するコード
    が、前記上位プロセッサ(122)から書き込まれるアテ
    ンション・ポート(150)と、 (c)前記サブシステム(102)に設けられ、前記コマ
    ンド・インタフェース・ポート(148)に書き込まれた
    コマンド及び前記アテンション・ポート(150)に書き
    込まれたコードを読み取って、前記サブシステム(10
    2)または前記装置(136,138,140,142)で前記直接コマ
    ンドまたは前記間接コマンドを実行させる手段と、 を有することを特徴とする計算機システム。
  8. 【請求項8】前記コマンド・インタフェースが、 (d)前記上位プロセッサ(122)から前記アテンショ
    ン・ポート(150)への書き込みに応答して第1の状態
    にセットされ、前記コマンド・インタフェース・ポート
    (148)に書き込まれたコマンドへの応答があった時に
    第2の状態にセットされる使用中ビット位置と、最初の
    コマンドが前記コマンド・インタフェース・ポート(14
    8)または前記アテンション・ポート(150)に書き込ま
    れた時に第1の状態にセットされて、前記コマンド・イ
    ンタフェース・ポート(148)または前記アテンション
    ・ポート(150)への後続コマンドの書き込みを禁止
    し、前記最初のコマンドが処理されると、第2の状態に
    セットされ、前記コマンド・インタフェース・ポート
    (148)及び前記アテンション・ポート(150)への後続
    コマンドの書き込みを許す拒絶ビット位置を含むコマン
    ド使用中/状況ポート(156)を有することを特徴とす
    る請求項7に記載の計算機システム。
  9. 【請求項9】前記コマンド・インタフェースが、 (e)前記上位プロセッサ(122)から受け取ったコマ
    ンドの実行完了に関する識別コード及び情報を前記サブ
    システム(102)から書き込める割込み状況ポート(15
    4)と、 (f)該割込み状況ポート(154)の内容を前記上位プ
    ロセッサ(122)に読み取るための手段と、 を有することを特徴とする請求項8に記載の計算機シス
    テム。
  10. 【請求項10】前記コマンド・インタフェースが、 (g)サブシステム機能を制御する情報を前記上位プロ
    セッサ(122)から書き込むサブシステム制御ポート(1
    52)を有し、 前記サブシステム(102)が該情報を読み取って応答す
    る、 ことを特徴とする請求項9に記載の計算機システム。
  11. 【請求項11】前記SCBは、前記サブシステム(102)が
    前記主記憶装置(124)から取り出すべき少なくとも1
    つの別のSCBのアドレスを含む、ことを特徴とする請求
    項6または7に記載の計算機システム。
  12. 【請求項12】前記SCBは、前記主記憶装置(124)にあ
    るバッファに対する1組のポインタを有する間接リスト
    を指し示すアドレスを含み、前記バッファはオペレーシ
    ョンの実行に必要なデータを含むことを特徴とする請求
    項11に記載の計算機システム。
  13. 【請求項13】前記SCBは、前記主記憶装置(124)にあ
    る終了状況ブロックのアドレスを含み、前記サブシステ
    ム(102)または前記装置(136,138,140,142)は、該ア
    ドレスを用いて所与のSCBの完了または終了の状況を記
    憶することを特徴とする請求項12に記載の計算機システ
    ム。
  14. 【請求項14】上位システム(100)、装置を接続でき
    る少なくとも1つのサブシステム(102)、及び前記上
    位システム(100)と前記サブシステム(102)との間で
    情報を転送するためのコマンド・インタフェースを含む
    データ処理システムにおいて、データ処理システムの動
    作方法であって、 (a)前記サブシステム(102)または前記装置(136,1
    38,140,142)で実行すべきオペレーションのタイプを示
    す直接コマンドまたは間接コマンドを、前記上位システ
    ム(100)から前記コマンド・インタフェースの第1ポ
    ート(148)へ供給するステップと、 (b)前記直接コマンド及び前記間接コマンドのいずれ
    が前記第1ポート(148)に受け取られたか、並びに前
    記サブシステム(102)及び前記装置(136,138,140,14
    2)のいずれが該コマンドを実行するのかを示すコード
    を、前記上位システム(100)から前記コマンド・イン
    タフェースの第2ポート(150)へ供給するステップ
    と、 を含むことを特徴とするデータ処理システム動作方法。
  15. 【請求項15】前記直接コマンドは、前記サブシステム
    (102)または前記装置(136,138,140,142)で即時にコ
    マンドを実行するのに必要なすべての情報を含む即時コ
    マンドであり、前記間接コマンドは、前記サブシステム
    (102)が実行のために前記上位システム(100)から取
    り出すべきサブシステム制御ブロック(SCB)のアドレ
    スである請求項14に記載のデータ処理システム動作方
    法。
  16. 【請求項16】(c)前記サブシステム(102)が、コ
    マンドを受け入れたか拒否したかを示すコードを、前記
    サブシステム(102)から前記コマンド・インタフェー
    スの第3ポート(156)へ供給するステップを含むこと
    を特徴とする請求項15に記載のデータ処理システム動作
    方法。
  17. 【請求項17】(d)前記サブシステムのリセット信号
    を含む制御信号を、前記上位システム(100)から前記
    コマンド・インタフェースの第4ポート(152)へ供給
    するステップを含むことを特徴とする請求項16に記載の
    データ処理システム動作方法。
  18. 【請求項18】(e)どの装置が前記上位システム(10
    0)に割込みをかけているかを示すコードを、前記サブ
    システム(102)から前記コマンド・インタフェースの
    第5ポート(154)へ供給するステップを含むことを特
    徴とする請求項17に記載のデータ処理システム動作方
    法。
  19. 【請求項19】前記上位システム(100)は、前記SCBを
    記憶する主記憶装置(124)を有することを特徴とする
    請求項15に記載のデータ処理システム動作方法。
  20. 【請求項20】上位プロセッサ(122)、情報を記憶す
    る主記憶装置(124)、装置を接続できる少なくとも1
    つの知能サブシステム(102)、及び前記上位プロセッ
    サ(122)と前記サブシステム(102)との間で情報を転
    送するためのコマンド・インタフェースを含む計算機シ
    ステムにおいて、 (a)前記サブシステム(102)でコマンドを即時に実
    行するのに必要なすべての情報を含む直接コマンド、ま
    たは前記主記憶装置(124)に記憶されているサブシス
    テム制御ブロック(SCB)のアドレスである間接コマン
    ドを、前記上位プロセッサ(122)から前記コマンド・
    インタフェースにあるコマンド・インタフェース・ポー
    ト(148)へ供給するステップと、 (b)前記直接コマンド及び間接コマンドのいずれが前
    記コマンド・インタフェース・ポート(148)へ供給さ
    れたかを示す第1部分、並びに前記サブシステム(10
    2)及び前記装置(136,138,140,142)のいずれが該コマ
    ンドを実行するかを示す第2部分を有するコードを前記
    上位プロセッサ(122)から前記コマンド・インタフェ
    ースにあるアテンション・ポート(150)へ供給するス
    テップと、 (c)前記コマンド・インタフェース・ポート(148)
    へ供給されたコマンド及び前記アテンション・ポート
    (150)へ供給されたコードを、前記サブシステム(10
    2)で読み取り、該コマンドが直接コマンドの場合は、
    前記コードの第2部分に従って前記サブシステム(10
    2)または前記装置(136,138,140,142)で実行し、前記
    コマンドが間接コマンドの場合は、指定された前記SCB
    アドレスを用いて前記主記憶装置(124)を直接アクセ
    スし、前記コードの第2部分に従って前記サブシステム
    (102)または前記装置(136,138,140,142)で該SCBを
    実行するステップと、 を含むことを特徴とする計算機システム動作方法。
  21. 【請求項21】前記計算機システム動作方法が、さら
    に、 (d)コマンドが前記上位プロセッサ(122)から前記
    アテンション・ポート(150)へ供給されたことに応答
    して、前記コマンド・インタフェースにあるコマンド使
    用中/状況ポート(156)の使用中ビット位置を第1の
    状態へセットし、該使用中ビット位置は前記コマンド・
    インタフェース・ポート(148)へ供給されたコマンド
    に対する応答がなされると第2の状態へセットされるス
    テップと、 (e)最初のコマンドが前記コマンド・インタフェース
    ・ポート(148)または前記アテンション・ポート(15
    0)へ供給されると前記コマンド使用中/状況ポート(1
    56)の拒絶ビット位置を第1の状態にセットして、前記
    コマンド・インタフェース・ポート(148)または前記
    アテンション・ポート(150)への後続コマンドの供給
    を禁止し、前記最初のコマンドが処理されると、前記拒
    絶ビット位置を第2の状態にセットして前記コマンド・
    インダフェース・ポート及び前記アテンション・ポート
    (150)への後続コマンドの供給を許可するステップ
    と、 を有することを特徴とする請求項20に記載の計算機シス
    テム動作方法。
  22. 【請求項22】前記計算機システム動作方法が、 (f)前記上位プロセッサ(122)からのコマンドの完
    了に関する識別コード及び情報を、前記サブシステム
    (102)から前記コマンド・インタフェースにある割込
    み状況ポート(154)へ供給し、前記上位プロセッサ(1
    22)が該割込み状況ポートの内容を読み取るステップ
    と、 を有することを特徴とする請求項21に記載の計算機シス
    テム動作方法。
  23. 【請求項23】前記計算機システム動作方法が、 (g)サブシステム機能を制御する情報を、前記上位プ
    ロセッサ(122)から前記コマンド・インタフェースに
    あるサブシステム制御ポート(152)へ供給し、前記サ
    ブシステム(102)が前記情報を読み取って応答するス
    テップと、を含むことを特徴とする請求項22に記載の計
    算機システム動作方法。
  24. 【請求項24】前記SCBは、前記サブシステム(102)が
    前記主記憶装置(124)から取り出すべき少なくとも1
    つの別のSCBのアドレスを含むことを特徴とする請求項2
    0に記載の方法。
  25. 【請求項25】前記SCBは、前記主記憶装置(124)にあ
    るバッファに対する1組のポインタを有する間接リスト
    を指し示すアドレスを含み、前記バッファはオペレーシ
    ョンの実行に必要なデータを含むことを特徴とする請求
    項24に記載の方法。
  26. 【請求項26】前記SCBは、前記主記憶装置(124)にあ
    る終了状況ブロック(TSB)のアドレスを含み、前記サ
    ブシステム(102)または前記装置(136,138,140,142)
    は、該アドレスを用いて所与のSCBの完了または終了の
    状況を記憶することを特徴とする請求項25に記載の方
    法。
JP2147548A 1989-06-09 1990-06-07 データ処理システムのコマンド・インタフエース Expired - Lifetime JPH0670783B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US364931 1989-06-09
US07/364,931 US5131082A (en) 1989-06-09 1989-06-09 Command delivery for a computing system for transfers between a host and subsystem including providing direct commands or indirect commands indicating the address of the subsystem control block

Publications (2)

Publication Number Publication Date
JPH0322162A JPH0322162A (ja) 1991-01-30
JPH0670783B2 true JPH0670783B2 (ja) 1994-09-07

Family

ID=23436743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2147548A Expired - Lifetime JPH0670783B2 (ja) 1989-06-09 1990-06-07 データ処理システムのコマンド・インタフエース

Country Status (16)

Country Link
US (1) US5131082A (ja)
EP (1) EP0402054B1 (ja)
JP (1) JPH0670783B2 (ja)
KR (1) KR920008459B1 (ja)
CN (1) CN1021380C (ja)
AR (1) AR246125A1 (ja)
AU (1) AU630699B2 (ja)
BR (1) BR9002710A (ja)
CA (1) CA2012400C (ja)
CO (1) CO4700362A1 (ja)
DE (1) DE69031547T2 (ja)
GB (1) GB9008084D0 (ja)
MY (1) MY105624A (ja)
NZ (1) NZ233824A (ja)
PE (1) PE34890A1 (ja)
PH (1) PH31356A (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850573A (en) * 1990-08-16 1998-12-15 Canon Kabushiki Kaisha Control method for peripheral device in host computer connectable to a plurality of peripheral devices
US5251312A (en) * 1991-12-30 1993-10-05 Sun Microsystems, Inc. Method and apparatus for the prevention of race conditions during dynamic chaining operations
US5388218A (en) * 1992-02-14 1995-02-07 Advanced Micro Devices, Inc. Apparatus and method for supporting a transfer trapping discipline for a non-enabled peripheral unit within a computing system
AU4229293A (en) * 1992-05-13 1993-12-13 Southwestern Bell Technology Resources, Inc. Open architecture interface storage controller
US5659690A (en) * 1992-10-15 1997-08-19 Adaptec, Inc. Programmably configurable host adapter integrated circuit including a RISC processor
US5613141A (en) * 1992-10-19 1997-03-18 International Business Machines Corporation Data storage subsystem having dedicated links connecting a host adapter, controller and direct access storage devices
US5794056A (en) * 1993-10-04 1998-08-11 International Business Machines Corporation System for automatic buffering of commands for DASD units
US5630147A (en) * 1993-12-17 1997-05-13 Intel Corporation System management shadow port
EP0811197B1 (en) * 1995-02-24 2003-08-06 Intel Corporation System management shadow port
US5794069A (en) * 1995-12-13 1998-08-11 International Business Machines Corp. Information handling system using default status conditions for transfer of data blocks
US5802546A (en) * 1995-12-13 1998-09-01 International Business Machines Corp. Status handling for transfer of data blocks between a local side and a host side
US5812877A (en) * 1996-03-15 1998-09-22 Adaptec, Inc. I/O command block chain structure in a memory
US5867732A (en) * 1996-03-15 1999-02-02 Adaptec, Inc. Hardware method for verifying that an area of memory has only zero values
US5850567A (en) * 1996-03-15 1998-12-15 Adaptec, Inc. Method for specifying concurrent execution of a string of I/O command blocks in a chain structure
US5974530A (en) * 1996-03-15 1999-10-26 Adaptec, Inc. Integrated PCI buffer controller and XOR function circuit
US5881250A (en) * 1996-03-15 1999-03-09 Adaptec, Inc. Host adapter system including an integrated PCI buffer controller and XOR function circuit
US5923896A (en) * 1996-03-15 1999-07-13 Adaptec, Inc. Method for sequencing execution of I/O command blocks in a chain structure by setting hold-off flags and configuring a counter in each I/O command block
US5892969A (en) * 1996-03-15 1999-04-06 Adaptec, Inc. Method for concurrently executing a configured string of concurrent I/O command blocks within a chain to perform a raid 5 I/O operation
US5758187A (en) * 1996-03-15 1998-05-26 Adaptec, Inc. Method for enhancing performance of a RAID 1 read operation using a pair of I/O command blocks in a chain structure
US5797034A (en) * 1996-03-15 1998-08-18 Adaptec, Inc. Method for specifying execution of only one of a pair of I/O command blocks in a chain structure
US5991861A (en) * 1996-03-15 1999-11-23 Adaptec, Inc. Method of enabling and disabling a data function in an integrated circuit
JPH1097385A (ja) * 1996-09-19 1998-04-14 Toshiba Corp ディスク記録再生装置及び同装置に適用するインターフェース制御装置
KR100512165B1 (ko) * 1998-05-08 2005-11-11 삼성전자주식회사 충전 가능한 배터리의 용량 측정 방법
US7444642B2 (en) * 2001-11-15 2008-10-28 Intel Corporation Method for indicating completion status of asynchronous events
CN100461716C (zh) * 2005-01-28 2009-02-11 华为技术有限公司 基于模拟端口的通信方法
US8719516B2 (en) * 2009-10-21 2014-05-06 Micron Technology, Inc. Memory having internal processors and methods of controlling memory access
US9952801B2 (en) * 2015-06-26 2018-04-24 Intel Corporation Accelerated address indirection table lookup for wear-leveled non-volatile memory
US10318193B2 (en) * 2015-09-14 2019-06-11 Sandisk Technologies Llc Systems and methods of command authorization

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3787891A (en) * 1972-07-03 1974-01-22 Ibm Signal processor instruction for non-blocking communication between data processing units
US3778780A (en) * 1972-07-05 1973-12-11 Ibm Operation request block usage
AU518055B2 (en) * 1977-06-06 1981-09-10 Sits Soc It Telecom Siemens Interface unit between a data processor anda remote unit
SU752318A1 (ru) * 1978-07-17 1980-07-30 Предприятие П/Я А-7390 Мультиплексный канал
US4783739A (en) * 1979-11-05 1988-11-08 Geophysical Service Inc. Input/output command processor
US4445176A (en) * 1979-12-28 1984-04-24 International Business Machines Corporation Block transfers of information in data processing networks
US4449182A (en) * 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
US4653020A (en) * 1983-10-17 1987-03-24 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
US4855949A (en) * 1986-05-05 1989-08-08 Garland Anthony C NOCHANGE attribute mode
EP0365731B1 (en) * 1988-10-28 1994-07-27 International Business Machines Corporation Method and apparatus for transferring messages between source and destination users through a shared memory

Also Published As

Publication number Publication date
PH31356A (en) 1998-07-31
AU5597890A (en) 1990-12-13
DE69031547D1 (de) 1997-11-13
EP0402054B1 (en) 1997-10-08
BR9002710A (pt) 1991-08-20
AU630699B2 (en) 1992-11-05
CA2012400A1 (en) 1990-12-09
NZ233824A (en) 1992-09-25
CO4700362A1 (es) 1998-12-29
AR246125A1 (es) 1994-03-30
CN1048938A (zh) 1991-01-30
CN1021380C (zh) 1993-06-23
EP0402054A2 (en) 1990-12-12
US5131082A (en) 1992-07-14
KR920008459B1 (ko) 1992-09-30
DE69031547T2 (de) 1998-03-26
GB9008084D0 (en) 1990-06-06
CA2012400C (en) 1999-03-30
PE34890A1 (es) 1991-01-18
JPH0322162A (ja) 1991-01-30
EP0402054A3 (en) 1992-08-05
MY105624A (en) 1994-11-30
KR910001557A (ko) 1991-01-31

Similar Documents

Publication Publication Date Title
JPH0670783B2 (ja) データ処理システムのコマンド・インタフエース
US5185864A (en) Interrupt handling for a computing system with logical devices and interrupt reset
US5170471A (en) Command delivery for a computing system for transferring data between a host and subsystems with busy and reset indication
JP3335172B2 (ja) データ処理システム及びそれに使用するための入出力プロセッサ
US5524268A (en) Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
EP0212393B1 (en) System for managing a plurality of shared interrupt handlers in a linked-list data structures
US4901232A (en) I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4038642A (en) Input/output interface logic for concurrent operations
US4432051A (en) Process execution time accounting system
US6449709B1 (en) Fast stack save and restore system and method
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4939644A (en) Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
US6230118B1 (en) DOS based application supports for a controllerless modem
US4888680A (en) Peripheral device interface and controller
US20020099874A1 (en) Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points
US5911065A (en) System and method for providing cooperative interrupts in a preemptive task scheduling environment
WO1998019238A1 (en) Heterogeneous symmetric multi-processing system
US20020099893A1 (en) System and method for the handling of system management interrupts in a multiprocessor computer system
JPH05216835A (ja) 割込み再試行低減装置
US3833930A (en) Input/output system for a microprogram digital computer
JP2001524707A (ja) コントローラの機能性を高めるためのファームウェアの使用
KR20010080515A (ko) 다수의 가상 직접 메모리 접근 채널들을 지원하기위한직접 메모리 접근 엔진
US6694401B2 (en) Method and apparatus for executing real-mode interrupts from within extended SMRAM handler
JPS6035697B2 (ja) 入出力制御システム
US6907521B2 (en) Enabling video BIOS and display drivers to leverage system BIOS platform abstract

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090907

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090907

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 16