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

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

Info

Publication number
JPH0322162A
JPH0322162A JP2147548A JP14754890A JPH0322162A JP H0322162 A JPH0322162 A JP H0322162A JP 2147548 A JP2147548 A JP 2147548A JP 14754890 A JP14754890 A JP 14754890A JP H0322162 A JPH0322162 A JP H0322162A
Authority
JP
Japan
Prior art keywords
command
subsystem
port
scb
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2147548A
Other languages
English (en)
Other versions
JPH0670783B2 (ja
Inventor
Francis M Bonevento
フランシス・マイケル・ボーンヴエント
Douglas R Chisholm
ダグラス・ロードリイツク・チイーズホーム
Sammy D Dodds
サミイ・デイビス・ドツドズ
Dhruvkumar M Desai
ドラブカマー・エム・デザイ
Ernest N Mandese
アーネスト・ネルソン・マンデイーズ
Andrew B Mcneill
アンドリユー・ボイス・マクニイール
Richard N Mendelson
リチヤード・ニイール・メンデルソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は計算機システムに関し、特にパーソナル・コン
ピュータなどの上位(ホスト)プロセッサから複数の知
能サブシステムへコマンドを転送するための技術に関す
る。
B.従来の技術 上位システム及び少なくとも1つのサブシステムを含む
データ処理システムないし計算機システムにおいては、
個々のサブシステムへ直接コマンド及び間接コマンドを
送る必要がある。これは普通I/Oチャネルを介して行
われる。
直接コマンドは、1つのオペレーシーンでサブシステム
へ直接送ることができる完全な自己充足コマンドであっ
て、サブシステムで実行すべきオペレーシ田ンを完全に
指定する。一方、間接コマンドは、オペレーシーンを指
定するために、lつのチャネルI/Oサイクルで供給で
きるよりも多くのデータを必要とする。間接コマンド自
身は、メモリにおいて、サブシステムで実行すべきオペ
レーションを完全に指定するのに必要なすべてのパラメ
ータを含むブロックへのポインタである。
このブロックは普通「制御ブロック」と呼ばれている。
すべての計算機システムは少なくとも1つのI/O命令
を備えており、上位システムでランしているプログラム
はI/O命令によりデータやコマンドをその外部インタ
フェースすなわちチャネルを介して送ることができる。
各I/Oオペレーションで送ることができるデータの量
、及びオペレーシ欝冫の受け入れまたは完了に関してチ
ャネルまたはサブシステムから受け取る状況はシステム
により異なる。
IBMシリーズ/1で代表されるクラスの計算機システ
ムではCIBMシリーズ/1のオペレーシl冫について
は、”IBM  Series/IPriciples
  of  Operation″資料番号GA34−
0152−0に詳しい)すべてのI/Oオペレーシaン
は、そのチャネルに導入されている周辺接続カードへ次
のような情報を送っていた。
(1)  コマンドを送るサブシステムのアドレス。
(2)オペレーシ冒ンが直接か間接かを示す8ビットの
コマンド●フィールド。
(3)直接コマンドに関するデータ、または間接コマン
ドの場合は装置制御ブロック(DCB)のアドレスを含
む16ビットのワード。
更に、チャネルでの各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は、システム・メモリ中に終了状況ブロック(T
SB)を含んでいる。所与のSCBの完了または終了状
況が、そのコマンドを処理するサブシステムによってT
SBに入れられる。コマンド連鎖の任意の点での終了を
処理するため、連鎖内の各SCBごとにTSBが定義さ
れる。
SCBとTSBの詳しい説明は、下記で述べるコマンド
転送システムの全体的説明の後に行なう。
第1図は、本発明にもとづくコンピュータ・システムの
全体的構成図である。上位コンピュータ・システム10
0は、バス・アーキテクチャ110を介して複数の知能
サブシステム102、104、106、108と情報を
交換する。パス・アーキテクチャ110は、上位コンピ
ュータ・システム100上のチャネル112、及びサブ
システム102上のインタフェース114など各サブシ
ステム上のインタフェースの間に接続されている。サブ
システム104、108、108はそれぞれサブシステ
ム102と類似している。バス・アーキテクチャは、制
御信号を交換するための制御バス116と、−データ信
号を交換するためのデータ・バス11Bと、アドレスを
交換するためのアドレス・バス120を含んでいる。
第2図は、システム100とサブシステム102の詳細
を示す。ただし、他のサブシステムも同様に構成されて
いる。
上位システム100は、バス126を介して主記憶装置
124に接続されたシステム・プロセッサ集合体または
上位プロセッサ122を含んでいる。システム・プロセ
ッサ集合体122は、マイクロチャネル126で主記憶
装置(システム・メモリ)124に接続された、上記の
PS/2などのバーソナノレ・コンピュータ・クラスの
マイク、ロプロセッサから構成される。PS/2および
マイクロチャネルの動作については、IBM刊行物rP
s/2ハードウェア・インタフェース技術解説書( P
 S / 2 Hardware Interface
 TechnicalReference) J資料番
号E38X−2330−0に記載されている。記憶装置
124は、上位プロセッサ122からアクセスでき、ま
たサブシステム102から直接記憶アクセスによってア
クセスできる。
サブシステム102は、マイクロチャネル128へのマ
イクロチャネル・インタフェース128を含む、接続機
構またはアダプタから構成される。
このインタフェースは、1組の入出力ポートを含む。こ
れらのポートの詳細は第8図に関して説明するが、シス
テム上位プロセッサがサブシステムにコマンドを送り、
サブシステムから回答を受け取るようにするためのもの
である。これらのポートは、主記憶空間または入出力空
間にマップすることができる。またこのインタフェース
は、アダプタが必要とするマイクロチャネル・バス・マ
スタ/スレーブ機能を提供する。
コマンドとしては、直接コマンドまたは即時コマンドと
、主記憶装置124内のサブシステム制御ブロック(S
CB)のアドレスなどの間接コマンドがある。SCB転
送支持論理ブロック130が、SCBコマンドを、イン
テノレ80186tたは80188クラスのマイクロプ
ロセッサなどの局所マイクロプロセッサ132に供給す
る。上記のマイクロプロセッサの動作は、「インテル●
マイクロプロセッサおよび周辺装置ハンドブック(In
tel Microprocessor and Pe
ripheralHandbook) Jに記載されて
いる。SCB転送プロック130はまた、プロセッサ1
32内の割込み論理回路CI)134に局所プロセッサ
割込みを供給する。SCB転送論理ブロック130とマ
イクロプロセッサ132に含まれるコマンド処理プログ
ラムの機能とプロセッサ復号機能を示す詳細な流れ図を
第14図ないし第18図に示す。
マイクロプロセッサ132は、SCBコマンドに応答し
て、接続装置インタフェース146を介して接続された
装置138、138、1401 142に対してタスク
のスケジュールを立てる。インタフェース146は、例
えば小型コンピュータ・システム・インタフェース(S
CSI)である。
SCS Iインタフェースの動作は、「米国規格協会(
ANSI)情報システム規格一小型コンピュータ・シス
テム・インタフェース(SCSI)(American
 National Standards Insti
tute (AN S I ) For Inform
ation Systems−SmallComput
er Systems Interface ( S 
C S I ) ) J、刊行物番号ANSI  X3
.131−1986に記載されている。接続装置は、磁
気ディスク装置、磁気テープ装置、直接アクセス記憶装
置(DASD)、印刷装置、表示装置などである。装置
D(0)13Bは、サブシステムにコマンドを送るため
に利用される。知能サブシステム136と装置138、
140、142は、それぞれ上位プロセッサから論理装
置と見なされ、装置識別番号D(0)、D (1)、D
 (2)、D (n)が割り当てられ、それを使ってア
ドレスされる。
マイクロチャネル・インタフェースの入出力ポートを第
3図に示す。サブシステムを制御するように定義された
ポートは、次の順序で入出力アドレス空間内で割り振ら
なければならない。
(1)  コマンド・インタフェース・ポート148(
2)アテンシロン・ポー} (AP)150(3)サブ
システム制御ポート152 (4)割込み状況ポート154 (5)コマンド使用中/状況ポート(CBSP)15B これらのポートは、入出力アドレス空間の代りにシステ
ム・メモリ・アドレス空間にマップすることができる。
この説明では、入出力アドレスを選んだ。したがって、
説明中で「出力」コマンドまたは「入力」コマンドを使
っている箇所で、ポートをシステム●メモリ・アドレス
空間にマップする場合はその代りに「システム書込み」
コマンドまたは「システム読取り」コマンドを使うこと
になる。
コマンド・インタフェース・ポート148は、コマンド
・ポートとも呼ばれ、サブシステム読取り/システム書
込みレジスタである。この32ビット・レジスタは、2
ワード(32ビット)の直接コマンドすなわち即時コマ
ンド、またはSCBアドレスなどの間接コマンドを、シ
ステムからサブシステムに転送するのに使用する。間接
コマンドまたはSCBは、サブシステムが実行すべき動
作を指定する。
システム・プログラムは、即時コマンドまたはSCBア
ドレスをコマンド・インタフェース・ポート148に書
き込み、次いでアテンシリン・ポート150に書き込む
。サブシステムは、コマンド使用中/状況ポート156
中の使用中ビット(B)をセットする。システムがアテ
ンシaン・ポート150に書き込むと、その旨が割込み
論理ブロック134(第2図)を介して局所マイクロプ
ロセッサ132に伝えられる。この割込みに応答して、
サブシステムは、アテンシロン・ポート150とコマン
ド・インタフェース・ポート148を読み取り、次いで
実行すべき動作の種類とその対象となる装置を決定する
。サブシステムは、コマンド・インタフェース・ポート
148中に供給されたアドレスにあるSCBを取り出し
、あるいは即時コマンドを実行する。
アテンシlン・ポート150は、サブシステム読取り/
システム書込みレジスタである。この8ビットまたは1
6ビットのレジスタは、コマンドを実行すべくサブシス
テムの注意を要求するために、システム・プログラムが
使用する。このレジスタ内のビットは、要求される動作
および関連する装置番号を示す。言い換えれば、アテン
ション・ポートは、即時コマンドまたはSCBアドレス
のどちらをコマンド・インタフェース・ポート148で
受け取るかを示す第1の部分と、サブシステムまたは接
続装置のどちらが、コマンド・インクフェース・ポート
148で受け取ったコマンドを実行する加を示す第2の
部分とを有するコードを受け取る。アテンシーン・ポー
ト150がシステムによって書き込まれると、コマンド
使用中/状況ポート156中の使用中ビット(B)が、
サブシステムによって直ちに″11″にセットされる。
この使用中ビット(B)は、サブシステムがアテンシ習
冫要求および関連するコマンド・インクフェース・ホー
トを読み取り、このコマンドヲ受け入れることができる
かどうか判定するまで、セツトされたままとなる。使用
中ビットが″O″′のときは、サブシステムは新しいコ
マンドを受け取る( ことができるはずである。使用中ビットはまた、サブシ
ステムがサブシステム・リセットを完了するまで、セッ
トされたままとなる。
第4図にアテンション・ポート(AP)150の詳細を
示す。上位プロセッサは、APに読取り/書込みアクセ
スを行なうことができる。APへのシステム・ソフトウ
ェア書込み(SSW)動作またはシステム・ソフトウェ
ア読取り(SSR)動作の間、マイクロチャネル入出力
アドレスは、マイクロチャネルのセットアップ時にAP
に割り当てられたサブシステム選択のための値と等しく
なければならない。
APは、APレジスタ143の入力端で、8ビットのア
テンシ鱈冫・コマンド141を受け取る。
この入力アデンシl冫・コマンドは、ANDゲート15
3が活動状態のとき、レジスタ143にクロ,ク入力さ
れ、レジスタの出力端157から出力される。ゲート1
53が活動状態のとき、SET  AP  INTRP
T信号が線155上に供給される。この信号は、上位プ
ロセッサによってAPにコマンドが書き込まれたことを
知らせる、サブシステム局所プロセッサへの割込みであ
る。ゲート153が非活動状態のときは、アテンシーン
・コマンドをレジスタ14Bにクロック入力することが
できず、したがって、サブシステムはそれを無視する。
4つの入力が、ゲート153が″1″の出力をもつかど
うかを制御する。正の論理入力を正(+)符号で表し、
負の論理入力を負(一)符号で表す。
線145上の第1の入力は+MC  AP  SEL信
号であり wvlwvのとき、APに対するマイクロチ
ャネル・アドレスが有効であり、かつ上位プロセッサが
このサブシステムに対するAPを選択したことを示す。
線147上の第2の入力は+SSW  REG  CL
K信号であり I’ll″のとき、このサブシステムの
入出力アドレス空間に対するマイクロチャネル入出力書
込みが有効であることを示す。第3と第4の信号は、コ
マンド使用中/状況ポー} (CBSP)から供給され
る。線149上の第3の入力は−CBSP  BITO
  (B)信号であり、これは使用中ビット(B)信号
である。この信号は負の論理信号なので、Bが″0″の
とき、線149上の信号は”1′″となり、Bがf′1
9″のとき、線149上の信号は″′O″となる。
線151上の第4の入力は−CBSP  BIT4(R
EJ)信号であり、これは拒絶(REJ)信号である。
この信号は負の論理信号なので、REJが”Q”(7)
とき、線151上の信号Gt ” 1 ”となり、RE
Jが”1″のとき、線151上の信号はn O *とな
る。線145、147、149、151がそれぞれ”1
″のときは、線141上のアテンシロン・コマンドがレ
ジスタ143にクロック入力され、線155上のSET
  AP  INTRPT信号が局所プロセッサに,A
P中にコマンドが書き込まれたことを伝える。逆に、こ
れらの線のいずれかが″0″の場合は、ゲート153は
”0″出力を供給し、それによってAPレジスタ143
へのコマンドの書込みが阻止される。具体的に言うと、
使用中ビットまたはREJビットがtllWのjJl、
APレジスタ143へのコマンドの書込みが阻止される
サブシステム制御ポート152は、サブシステム読取り
/システム書込みレジスタである。これは8ビットの読
取り/書込みポートであり、いくつかのサブシステム規
模の機能の直接ハードウェア制御を行なう。このポート
には、サブシステムおよびすべての接続装置のリセット
を制御するビット、サブシステムが主プロセッサに物理
割込みを提示することをエネーブルまたはディスエーブ
ルするビット、サブシステムDMAエネーブル/ディス
エープル機能、最後にコマンドがサブシステムにようて
実行されずに拒絶されたときに生じるエラーをリセット
する機能が含まれる。サブシステム制御ポート152の
ビットO〜7のフォーマットと機能を第3図に示し、そ
の機能を下記に説明する。
ビットO−EI−サブシステム割込み可能このビットが
″1”にセットされると、サブシステムがシステムに物
理割込みを送ることが可能になる。EIビットは、サブ
システムの電源が入ったとき、またはサブシステム●リ
セット・コマンドによってリセットされたとき、″0”
に初期設定される。EIビットが”0”のとき、サブシ
ステムの物理割込みが禁止され、主プロセッサに物理割
込みを送ることができない。このビットは、このポート
への出力コマンドまたはサブシステム・リセット・コマ
ンドによって明示的にリセットされるまで、セットされ
たままとなる。
ビット1−DMA−DMA可能 このビットが″O″にセットされているときは、サブシ
ステムはDMA動作を開始できない。このビットをn 
O nにセットすると、サブシステムは,SCBコマン
ドの発行もSCB論理割込み状況(TSB)の記憶もで
きない状態になる。このビットは、サブシステムに電源
を入れたときvgO”にセットされ、またサブシステム
・リセット・コマンドによって l″OI″にリセットされる。このビットは、このポー
トへの出力コマンドまたはサブシステム●リセット・コ
マンドによって明示的にリセットされるまで、セットさ
れたままとなる。(DMAビットはハードウェアのデバ
ッグ手段として意図され、サブシステムに強制的にマイ
クロチャネル活動を停止させる手段としても使用できる
)。
ビット2&3−S.D−サブシステム従属このポートの
ビット2と3は、サブシステム従属機能用に予約されて
いる。
ビット466−R一予約 ビット4と6は予約ビットであり、′O +vにセット
しなければならない。
ビット5−RR一拒絶リセット 上位プロセッサがこのビットを″1″にセットし、かつ
サブシステムが拒絶状態のとき、拒絶状態がクリアされ
る。拒絶状態がクリアされると、コマンド使用中/状況
ポート中の使用中(B)ビットと拒絶(REJ)ビット
が″′Ol″にセットされる。サブシステムが拒絶状態
にない場合は、RRビットに11″を書き込んでも何の
効果もない。RRビットは、サブシステムの電源を入れ
たときまたはサブシステム●リセット・コマンドによっ
てリセットされたとき、1IO″にセットされる。この
ビットは、このポートへの特定の出力コマンドまたはサ
ブシステム・リセット・コマンドによって明示的にリセ
ットされるまで、セットされたままとなる。RRビット
に′″ONの値を書き込んでも、サブシステムの内部状
態に影響はない。
ビット7−RST−サブシステム・リセットこのビット
は、サブシステムおよびそれに接続された全装置のハー
ドウェア制御リセットを行なうために使用される。
″1″にセットされると、サブシステムはリセット保留
状態に入り、コマンド使用中/状況ポートの使用中ビッ
トCB)を″1″″にセットする。サブシステム上のす
べての装置の活動が停止される。プログラムは、サブシ
ステム特有の時間にRSTに″0″値を書き込まなけれ
ばならない。リセット保留状態の間にRSTビットがl
’llf+から″O″に遷移すると、サブシステムはリ
セット進行中状態になる。この状態のとき、サブシステ
ムはそれ自体およびそれに接続された全装置のリセット
を完了する。リセットが完了すると、使用中ビットが”
Ol″にセットされ、主プロセッサの割込みが試みられ
る。
割込み状況ポート154は、システム読取り/サブシス
テム書込みレジスタである。この8ビットまたは18ビ
ット・レジスタは、プログラムに割込みデータを提示す
るためにサブシステムが使用する。
即時コマンド、重大なハードウェア障害を伴うSCBコ
マンド、および非SCBコマンドに対する割込みがこの
ポートで提示される。システム・ソフトウェアによって
明示的にリセットされるまで、新しい割込みをISPを
介してシステムに提示することはできない。
割込み状況ポート154の8ビット・レジスタ構成を第
3図に示す。このビットの割当ては次の通りである。
ビット7〜4一割込みID これらのビットは、提示された割込みの原因を識別する
番号でコード化される。
ビット3〜〇一装置アドレス 提示された割込みを発した装置のアドレス。
16ビット割込み状況ポート(図示せず)のフォーマッ
トは次の通りである。
ビット15〜12一割込みID これらのビットは、提示された割込みの原因を識別する
番号でコード化される。
プログラムは、SCB割込みかどうかTSB状況を検査
することにより、さらに多くの情報を得ることができる
ビット11〜〇一装置アドレス 提示された割込みを発した装置のアドレス。
コマンド使用中/状況ポート166は、サブシステム書
込み/システム読取りレジスタである。
この8ビット・ポートは2つの機能をもつ。第1に、以
前に提出されたコマンドの状況を決定するために各コマ
ンドが提出される前にシステムがそれを読み取らなけれ
ばならない。コマンドが提出された後、プログラムは、
サブシステムがコマンド状況を得るためにこのポートを
読み取ろうと試みる前に、定義された時間が経過するよ
うにしなければならない。
第2に、このポートは、割込み状況ポート(ISP)1
54中に存在する有効な割込み値をサブシステムがもつ
かどうかを示す。有効な値が存在し、■vが″1″″で
あることをコマンド使用中/状況ポートが示さない限り
、このISPはプログラムによって読み取られない。
コマンド使用中/状況ポート156のフォーマットと機
能は次の通りである。
ビットO−B一使用中ビット このビットは、コマンド・インタフェースポートとアテ
ンシーン・ポートが現在使用されているか否かを示す。
使用中 (B)ビットが1″1″のときは、プログラムがコマン
ド●ポートにもアテンシ膚ン・ポートにも書き込もつと
試みることはできない。使用中(B)ビットが″1″と
なるのは、下記で説明するようにサブーシステムがリセ
ット保留、リセット進行中、拒絶または復号の状態にあ
る場合である。使用中(B)ビットが″1″の間に上位
プログラムがアテンシロン・ポートまたはコマンド・ポ
ートあるいはその両方に書き込もつとした場合、これら
のポートに対して試みられた書込みはサブシステムによ
って無視され、新たに試みられたコマンドはサブシステ
ムに無視され、エラーの指示は出ない。
サブシステムがリセット保留、リセッ ト進行中、拒絶または復号の状態に入ると、このビット
は″1”にセットされる。
サブシステムがリセット保留状態に入るのは、サブシス
テム制御ポート152のRSTビットが1′1″にセッ
トされたときである。サブシステムがリセット保留状態
で、サブシステム制御ポートのRSTビットが″0”に
セットされた場合、サブシステムはリセット進行中状態
に入る。装置リセット・コマンドが、装置01すなわち
サブシステム自体に出されたときも、サブシステムはリ
セット進行中状態に入る。
サブシステムがサブシステム・リセッ ト・コマンドを完了してリセット進行中状態から出ると
、使用中ビットが″0″′にセットされる。
プログラムがアテンション・ポートへ の書込みによって新しいコマンドを提出し、サブシステ
ムがリセット保留、リセット進行中または復号状態にな
いとき、サブシステムは復号状態に入る。サブシステム
があるコマンドを受け入れて復号状態から出るときも、
使用中ビットは”O”にセットされる。復号状態で処理
されているコマンドが拒絶されると、サブシステムは復
号状態から出て拒絶状態に入る。
拒絶状態では、拒絶(REJ)ビットと使用中(B)ビ
ットが″1”にセットされる。状況ビット(S)は、コ
マンドがサブシステムによって拒絶された理由を示す。
サブシステムがリセット保留状態に入ると、拒絶状態ま
たは復号状態がクリアされるb ビット1−IV一割込み有効 このビットは、サブシステムがその割込み状況ポートに
割込み値を書き込んだ後で”1”にセットされる。IV
が”Ov′のとき、ISPは有効な割込み値を含んでい
ない。IVが”1″のとき、ISPを読み取ると、有効
な割込み値と装置番号が得られる。
ビット2一予約 ビット3一予約 ビット4一拒絶(REJ)ビット コマンド・インタフェース・ポートおよびアテンシーン
・ポートを介して提出されたコマンドをサブシステムが
拒絶することに決定したとき、このビットは ”1”にセットされる。サブシステムは復号状態から出
て拒絶状態に入る。コマンド使用中/状況ポート中の状
況(S)ビットが、コマンドが拒絶された理由を示すコ
ード化された値を含む。サブシステムが提出されたコマ
ンドを受け入れて復号状態から出ると、コマンド使用中
/状況ポート中の拒絶(RE J )ビットと使用中(
B)ピットが共に″0′″にセットされる。
サブシステムが拒絶状態にあるとき、 プログラムはコマンド・ポートまたはアテンシロン・コ
ードへの書込みによって新しいコマンドを提出すること
ができない。これらの書込みの試みは無視され、それら
のポートは引続き拒絶されたコマンドの値を含む。サブ
システムが拒絶状態のときは、REJビットと使用中ビ
ットが共にサブシステムによって”1″にセットされる
サブシステム制御ポートのRSTビッ トを″1”にセットし、ハードウェア制御のサブシステ
ム●リセット●コマンドを実行し、あるいはサブシステ
ム制御ボー}+7)RRビットを?ll?lにセットし
、ハードウェア制御のリセット拒絶コマンドを発行する
ことにより、サブシステムを拒絶状態から外すことがで
きる。RRビットを使用するのが、リセット状態をクリ
アする通常の方法である。サブシステムが拒絶状態から
外されると、REJビットと使用中ビットが共にサブシ
ステムによって”Olfにセットされる。
ビット5〜7一状況ビット アテンシ一ン・ポートを介して提出されたコマンドが復
号状態中に拒絶された後、コマンド使用中/状況ポート
中でセットされる、コード化された3ビット値。サブシ
ステムは復号状態から出て拒絶状態に入り、拒絶(RE
J)ビットと使用中(B)ビットは″1″となる。RE
Jビットが”11″でない限りSビットの値は定義され
ず、上位システムによって無視される。
Sビットのコード化された値は次の通 りである。
s=ooo  予約 s=ooi  装置使用不能拒絶 この状態が生じるのは、装置 がコマンドを実行するのに十 分なほど機能的ではないとサ ブシステムが判定できるとき である。装置リセット・コマ ンドやサブシステム・リセッ ト・コマンドに対してはこの 状態は生じない。この状態は 上記の2つのコマンドのどち らかによってクリアされる。
S=0 1 0  無効コマンド この状態が生じるのは、サブ システムがアテンシ冒ン・ポー ト中のアテンシaン・コード を認識しないとき、またはコ マンド・ポート中で提出され た即時コマンドのビット0− 7で指定される即時コマンド が無効のときである。
S=0 1 1  装置使用中 この状態が生じるのは、装置 が使用中であるコマンドを実 行しており、このとき新しい コマンドを受け入れることが できないときである。装置リ セットeコマンドやサブシス テム・リセット・コマンドに 対してはこの状態は生じない。
s=too  装置SOB実行拒絶 この状態が生じるのは、プロ グラムが中断コマンドを発行 して、装置をSCBコマンド を実行できない状態に置いた ときである。この状態は、再 開コマンド、装置リセット・ コマンドまたはサブシステム・ リセット●コマンドによって クリアされる。
s=tot  無効装置アドレス この状態が生じるのは、シス テムがアテンシeン●ポート に無効な存在しない装置番号 を入れたときである。アデン シeン・ポートが8ビット幅 の場合、ビット3〜Oが無効 な装置番号を含む。16ピッ ト幅のアテンシロンーポート では、ビット11〜Oが無効 な装置番号を含む。
s=tto  予約 S=111  装置割込み待ち行列満杯この状態が生じ
るのは、サブ システムの割込み状況ポート に記憶されていない割込み用 に維持する割込み待ち行列中 のすべての内部記憶域を装置 が使用してしまったときであ る。この状態の場合、装置リ セット●コマンド、サブシス テム●リセット・コマンド、 割込みリセット・コマンド以 外のすべてのコマンドが装置 によって拒絶される。装置に 対するこの状態は、装置がそ の割込み待ち行列からサブシ ステムの割込み状況ポートに データを書き込むことができ るようになるとすぐクリアさ れる。
次に、第5図にコマンド使用中/状況ポート(CBSP
)15E3の各ビットがどのように操作されるかを機能
的に詳しく示す。
使用中(B)ビットCBSP  BITO  (B)は
、S/Rレジスタ302と極性保持(PH)レジスタ3
00のレジスタの組合せで実施される。
使用中ビットが″0″、すなわち非活動状態の場合、次
の3つの具体的活動のいずれかによってそれを”1”に
セットすることができる。
1.線314上のマイクロチャネルCHRESET信号
が″1”で、レジスタのセット(S)入力端に供給され
るORゲー}310の出力が″1′″の場合。この場合
、レジスタ302が″′1”にセットされ、それがレジ
スタ3o0のD入力端に供給される。インバータ312
からの反転MC  AP  SEL信号がレジスタ30
0のクロック(C)入力端に供給され、出力+CBSP
  BITO  (B)、すなわち使用中(B)ビット
が”1”にセットされる。
2.システム・プログラムがサブシステム制御ポー} 
(SCP)のビット7に″1″を書き込んだことが、線
316上の+SCP  BIT7(RST)信号が″1
″であることによって明らかになった場合。ORゲート
310の出力は″1″になり、レジスタ302と300
および使用中(B)ビットが上記の活動1で述べたよろ
に″2″にセットされる。
3.ソフトウェアによるAPへの書込みが行なわれた場
合、線304上の+MC  AP  SEL信号と線3
06上の+SSW  REG  CLK信号がそれぞれ
″′1″となって、ANDゲート308の出力を1″1
″にする。ゲート308からの出力″1”はORゲート
310の出力を″1′″にさせ、レジスタ302と30
0および使用中(B)ビットが上記の活動1および2で
述べたように”1″にセットされる。
使用中CB)ビットがW1Mの場合、以下の2つの方法
のいずれかによってそれをクリア、すなわちI″O″′
にセットすることができる。
1.システム・プログラムがサブシステム制御ポー} 
(SCP)のビット5 (RR)に″1″を書き込むこ
とによって、使用中(B)ピットがクリアされる。これ
によって、下記に述べるように拒絶(RE J )ビッ
トもクリアされる。SCP中のRRビットが″1″のと
き、線328上の+MC  SCP  SEL信号、線
326上の+IC  BUS  RCVR  BIT5
信号、および線306上の+SSWREG  CLK信
号がそれぞれl’lt?lになって、AND/ORゲー
ト318の出力端で″1”が生成される。この″1”が
レジスタ302のリセッ} (R)入力端に供給されて
、レジスタ302の出力が″0?′になり、それがレジ
スタ300のD入力端に供給される。
線304上の+MC  AP  SEL信号はこのとき
″O”であり、その″O″がインバータ312で″1″
に反転される。この″l″がレジスタ300のC入力端
に供給されて、D入力端でl″0″にクロックし、それ
によってレジスタ300を”O″にセットする。レジス
タ300が”0″にセットされると、使用中(B)ビッ
ト、すなわち出力+CBSPB I To  (B)が
wv O nになる。
2.コマンド処理プログラムが復号状態から出て受諾状
態に入った後も、使用中(B)ビットがサブシステムに
よってクリアされる。サブシステムの局所プロセッサが
、CBSPのビットOにM O +vを書き込む。線3
20上の一工C  BUS  RCVR  BITO信
号、線322上の+LP  GBSP  SEL信号、
および線324上の+LPW  REG  CLK信号
がそれぞれ”t″になり、AND/ORゲート318の
出力端に″1″を生成する。
これによって、上述のようにレジスタ302と300が
”0”にリセットされる。レジスタ300が”0″にセ
ットされると、使用中(B)ビットが”0″′になる。
システムがsscpのビット7に″1′″を書き込むこ
とにより、サブシステムがサブシステム・リセット・コ
マンドを実行している場合、サブシステムがそのサブシ
ステム・リセット・コマンドを完了したとき、使用中(
B)ビットがサブシステムによってリセットされる。使
用中ビットがオンで、サブシステムが復号状態にあり、
次いで拒絶状態になると仮定する。SCP中の拒絶リセ
ット・ビット5を介した拒絶ビット(CBSPビット4
)でも、次のようにして使用中ビットがリセットされる
。システムがSCPのビット5 (RR)位置に″1″
を書き込む。SCPへの書込みがサブシステムによって
検出されると、線32B (IC  BUS  RCV
R  BIT5)ならびに線328 (MC  SCP
  SEL)と線30B (SSW  REG  CL
K)が活動状態になる。これらの線が活動状態になると
、ゲート318がオンになってレジスタ302をオフに
リセットする。前述のようにレジスタ302が302に
なり同時にインバータ312がオンになると、レジスタ
300がオフにリセットされて、使用中(B)ビットを
オフにセットする。
CBSPのREJビット(4)とCBSPの状況ビット
(5、6、7)は、それぞれレジスタ330と332で
表される。サブシステムが拒絶状態に入ると、CBSP
ビット4が″1″にセットされ、CBSPビット5、8
、7 (状況ビット)が拒絶コードにセットされる。線
334、332、324が活動状態のときS/Rレジス
タ330が″1′″にセットされ、そのためにANDゲ
ート336がオンになってS/Rレジスタ380をオン
にセットし、REJビットをオンにする。線32B、3
38,338上に状況コードを置くことによって、レジ
スタ332中の状況ビットがオンにセットされる。線3
22と324が活動状態となってANDゲート340を
オンにし、それがレジスタ332のC入力を活動化する
ことにより、状況コードがレジスタ332にクロック入
力される。
ORゲート346がオンのとき、拒絶(REJ)ビット
はオフにリセットされる。ORゲート346がオンにな
るのは、線32B (CHRSET)が活動状態か、線
3 1 E3 (RST)が活動状態か、あるいはAN
Dゲート342がオンのときである。
ANDゲート342は、線326と328と306が活
動状態の場合にオンになる。これは、システムが拒絶リ
セット・ビット5 (SCP)に″19を書き込んで、
サブシステムを拒絶状態から解放したことを表す。
CBSP  BITI  IVは、S/Rレジスタ34
8の出力として実施される。ANDゲート350がオン
のとき、レジスタ348は″1?′にセットされる。A
NDゲート350がオンになるのは、線322と324
と352が活動状態の場合である。サブシステムが割込
み状況ポー}(ISP)に書き込んだ後、■vビットが
″1″にセットされる。
上位プロセッサは、サブシステムがマイクロチャネル割
込みを主張した結果としてIVビットを読み取り、ある
いはIVビットを使って割込みがあるかどうかサブシス
テムをポーリングすることができる。上位プロセッサが
ISPを読み取り、上位割込み処理プログラムが割込み
を処理した後、上位プロセッサはアテンション・ポート
を介してサブシステムにリセット割込みアテンシロン・
コード(1110h)を出す。
S/Rレジスタ348は、ORゲートがオンのときオフ
にリセットされる。ORゲート354がオンになるのは
、線314 (C}{RESET)または線3 16 
(CDRESET)またはANDゲート356またはA
NDゲート358がオンの場合である。
ANDゲート356は、線360、362、384、3
66上(DIC  BUS  RCVR  ビット(7
〜4)がそれぞれアテンション・ポートのビット7〜4
からの2進値”oooo’″(即時装置リセット)でセ
ットされ、線304と306が活動状態の場合にオンに
なる。
ANDゲート358は、線338、336、32B、3
8e上のIC  BUS  RCVRビット(7 1 
4)が2進値”1110″(割込みリセット)でセット
され、線304と308が活動状態の場合にオンになる
CBSP予約(R)ビットは、レジスタ368で表され
る。線370と372、IC  BUSBits (2
、3)が活動状態のとき、2つのデータ(D)入力がセ
ットされる。これらのビットは、ANDゲート374が
オンのとき、レジスタ368にクロック入力される。A
NDゲート374は、線322と324がオンのときオ
ンとなる。
コマンド・インタフェース・ポートとアテンション・ポ
ートで使用するフォーヤットは、上位システムからサブ
システムに即時コマンドとSCB:1マンドのどちらが
供給されるのかによって変わる。
即時コマンドは、主として装置向けであり、制御本位で
ある。第6図で、コマンド・インタフェース・ポートの
一般的フォーマットを160に示し、アテンション・ポ
ートにおける3つのタイプの即時コマンドをそれぞれ1
B2、184、16Bに示す。コマンドが装置向けであ
る場合、その装置は、即時コマンドの実行前にそのコマ
ンド全体を受け取ったことを検証しなければならない。
コマンド・タイプを決定するため、アテンション・ポー
トのビット7〜4を検査する。装置リセット・タイプの
コマンドを受け取る場合、コードは162に示すよウな
ものとなる。即時コマンド・タイプのコマンドを受け取
る場合、コードは164に示すようなものとなる。割込
みリセット(EOI)タイプのコマンドを受け取る場合
、コードは166に示すようなものとなる。
160に示すコマンド・インタフェース・ポートのビッ
ト7〜Oは、命令コードを指定する。コマンドを受け取
ると、装置はコマンド使用中/状況ポートの使用中ビッ
トをセットする。(図示せず)。装置は、そのポートが
使用中となっている時間が最少となるようにしなければ
ならない。サブシステム・リセット・コマンドのとき、
そのリセットが完了するまで、サブシステムはポートを
使用中に保持しなければならない。
即時コマンドに対するコマンド・インタフェース・ポー
トの定義は次の通りである。
ICビヅト8一即時コマンド・フォーマット指定ICビ
ット8は、使用する即時コマンド・フォーマット・タイ
プを指定するのに使用される。ICビット8=1の場合
、即時コマンド・フォーマットは、タイプ1として定義
される。
ICビット31〜16一予約(コマンド発行前にソフト
ウェアによってOにセットされる)ICビット8=Oの
場合。ICビット8は、使用される即時コマンド・フォ
ーマット・タイブ2を指定するのに使用される。
ビット定義の違いは、下記に記す。
ICビット31〜16一命令コード従属ICビット15
−コマンド割込み禁止(DCI)ビット15=0の場合
、即時コマンドの完了後に割り込み、割込み状況ポー}
(IsP)の状況を報告する。ビット15=1の場合、
エラーが発生しない限り、即時コマンドの完了時に割り
込まない。一部のコマンドはこの指定を無視する。
ICビット14一装置割込み禁止(DDI)ビット14
=Oの場合、指定された装置についてシステムへの割込
みが可能となる。
ビット14=1の場合、指定された装置についてシステ
ムへの割込みが禁止される。
ICビット13〜9一命令コード従属ビットこれらのビ
ットを用いると、コマンド・フィールドが修正できる。
現在、ビット13と12は装置リセット・コマンドによ
って使用されている。ビット12〜9はSCB割込み即
時リセット・コマンドによって、リセットすべき割込み
カウントを指定するために使用されている。
ICビット7〜〇一即時コマンド・ビット下記のように
復号される。
ビット 76543210 oooooooo ooooooo t ooooooto 000000  1  1 oooootoo oooootot 00000110 00000  1  1  1 00001000 ooootoot 00001010 ooootott ooooitoo 00001101 oooottto −装置即時リセット 一予約 −動作なし (NOOP) 一予約 一割込み状況ポート・ リセット 一予約 一予約 一予約 一SCB割込みリセッ ト ー予約 一予約 一予約 −装置従属 一装置従属 一装置従属 oooo  t  t  t  t ooo  toooo 00010001 00010010 00010011 00010100 00010101 00010110 000  10  1  1  1 00011000 00011001 00011010 00011011 oootttoo 00011101 00011110 ooo  t  t  t  t  t0010000
0 すべての予約ビットは、 一装置従属 一予約 一予約 一即時診断実行 −装置従属 一予約 一予約 一予約 −装置従属 一予約 −予約 一予約 一予約 一予約 −予約 一予約 −中断 −再開 コマンド発行前にシス テム・ソフトウェアによってOにセットされる。
ビットO〜7の他のすべての復号は、予約されている。
第7図で、SCBコマンドに対するコマンド・インタフ
ェース・ポートの一般的フォーマットを168に示し、
アテンション・ポートの一般的フォーマットを170に
示す。コマンド・インタフェース・ポートは,SCBの
開始アドレスを含んでいる。この開始アドレスは物理ア
ドレスであり、ダブルワード境界上になければならない
SCB開始アテンシ騨ン要求に対するアテンション・ポ
ートのフォーマットは170に示されている。
前述のように、間接コマンドはSCB内に含まれている
。SCBは特定の順序で連鎖され、1つの論理要求とし
て扱われる。データ・パッファは間接リストを使って連
鎖することができる。この構造はまた、要求処理中にエ
ラーがあった場合、精巧な状況情報を扱うことができる
。状況は、終了状況ブロック(TSB)に入れられる。
コマンド連鎖中の任意の地点での終了を処理するため、
連鎖中の各SCBごとにTSBが定義されている。
SCBレイアウトの詳細バージBンには2種のものがあ
る。第8図に示す基本フォーマットと、第8図に示す拡
張フォーマットである。拡張フォーマットは、基本フォ
ーマットの末尾に追加のフィールドが付加されている。
各フィールドと使用する略語の簡単な定義を以下に示す
1.コマンドーワード これは、転送されるSCBコマンドのタイプを定義する
ために使用する。このワードは、3つのフィールドをも
つ。
一命令コードーこのSCBコマンドに対スル8ビットの
命令コードを含む。
一A−このSCBに含まれるコマンド・コードがアーキ
テクチャをもつかもたないかを知らせるための1ビット
の標識。図に示したレイアウトは、アーキテクチャをも
つコマンド・コードにもそれをもたないものにも適用さ
れる。
一予約 2.エネーブル・ワード SCBの様々なフィールドは、様々なコマンド特有の動
作を可能にする。エネーブル・ワードは、このコマンド
に対するこれらのフィールドの用途を示すいくつかのフ
ィールドを含んでいる。また、使用すべき回答指示のタ
イプを定義する標識も有する。
−CH一エラーがない場合の、次のSCBへの連鎖(次
のSCBのアドレスは、連鎖アドレス1フィールドにあ
る)。
一COND  CH−ビット1は、ビット2、3、4で
定義されるある条件のとき、そのアドレスが連鎖アドレ
ス2にあるSCBへの連鎖を示す。
−AI−このコマンドがアドレス1を使って、バッファ
または(バッファを指すfillのポインタを含む)間
接リストを指すことを示す(コマンドにようて定義され
る特定の用途)−A2−このコマンドがアドレス2を使
って、バッファまたは(バッファを指す1組のポインタ
を含む)間接リストを指すことを示す(コマンドによっ
て定義される特定の用途)。
−I−コマンドがエラーなしに完了したとき、割込みを
禁止する。
−EXT一このSCBが拡張フォーマットをもつことを
示す。
一R一予約 −SES一短形例外抑制(読み取ったデータが規定され
たバッファ・サイズより小さいときなど)。
一SEL一長形例外抑制(装置から読み取ったデータが
コマンドによって規定されたバッファ・サイズより大き
いときなど)。
−PT一このコマンドがバッファ連鎖(コマンド上のデ
ータ連鎖)を指す間接リストを使用することを示す。
−TSB−エラーがあるときだけTSB状況を記憶すべ
きことを示す。
3.エネーブル・ワード2 拡張フォーマットを使用するときは、拡張部分にあるエ
ネーブル・ワード2中に下記のような追加の標識が加え
られる。
−PT2−アドレス2が間接リスト(バイト・カウント
2中のリストの長さ)を指すことを示す。
一DEC 1−メモリ・アドレスlを増分ではなく減分
すべきことを示す。
−DEC2−メモリ・アドレス2を増分ではなく減分す
べきことを示す。
4.アドレス1 データ・バッファまたは間接リストを指す32ビットの
アドレスを含む。その用途はコマンドによって定義され
る。エネーブル・ワード標識(PT)は、どの形のアド
レスが使用されているかを示す。
5.アドレス2 データ・バッファまたは間接リストを指す32ビットの
アドレスを含む。その用途はコマンドによって定義され
る。エネーブル・ワード標識(PT2)は、どの形のア
ドレスが使用されているかを示す。
6.バイト・カウント1 アドレス1またはアドレス2中のアドレスが指すバッフ
ァまたは間接リストの長さを定義する4バイトのカウン
トを含む。
7.バイト・カウント2 アドレス2中のアドレスが指すバッファまたは間接リス
トの長さを定義する4バイトのカウントを含む。このフ
ィールドは拡張部分にある。
8.TSBアドレス このSCBと関連するTSHの32ビットのアドレスを
含む。
9.連鎖アドレス1 コマンド連鎖を使用する要求中の次のSCBを指すため
に使用される。
10.連鎖アドレス2 条件付き連鎖の条件が充たされたときに使用されるSC
Bを指すために使用される。
11.連鎖ID 連鎖に対する18ピットの識別子を含む。その値は、連
鎖(要求)中のすべてのSCBで同じである。
12.拡張長さ 基本フォーマットの拡張部分のバイト数を示す1バイト
のカウント。このワードの他方のバイトは予約されてい
る。
割込み状況ポート154におけるエラー/無エラー指示
の他に、本発明では、SCB連鎖中の各コマンドごとに
サブシステムから上位コンピュータに詳細な状況情報が
報告される。これは、終了状況ブロック(TSB)中で
報告される。各SCBは、サブシステムがSCBの完了
または終了状況を書き込む先の、システム・メモリ中の
TSBアドレスを含む。TSHには、第10図に示すよ
うな基本フォーマットと、第11図に示すような拡張フ
ォーマットがある。基本フォーマットに拡張部分が付加
されるとき、装置従属情報のサイズを示すカウントの記
憶位置が変わる。
基本TSBフォーマット及び拡張TSBフォーマットで
使用される様々なフィールドの簡単な定義を下記に示す
1.終了状況ワード このワードは、このTSBを{旨すSCBに含まれるコ
マンドの実行に関係する特定の状況情報を定義するいく
つかの標識を含んでいる。
−D一要求がエラーなしで完了したことを示す。
−SES−SCBエネーブル・ワード中のSES標識と
関連する短い長さを示す。
一R一予約 一SC−SCBに対する指定チェックを示す。
SCBは無効である。
一SEL−SCBエネーブル・ワード中のSEL制御と
関連する長い長さを示す。
−HLD−SCBコマンド連鎖が停止されたことを示す
−INT一論理割込み要求を示す。
一ASA−アーキテクチャのある状況が使用可能なこと
を示す。
−DSA−装置従属状況が使用可能なことを示す(AS
AとDSAが一緒に使用されると、拡張フォーマットを
示す)。
−DO−a置のオーバランを示す。
−INI−装置が初期設定されていないことを示す。
−ERR一大きなエラーが発生したことを示す。
−CD一連鎖方向を示す(正常連鎖または条件付き連鎖
の後) −SUS−SCBに対する中断コマンドが完了したこと
を示す。
−ES一拡張状況が使用されることを示す。
2.拡張終了状況 このワードは追加の状況標識をもつ。現在は1つの標識
だけが構成されている。
−CT−コマンド・タイプ(SCBコマンドか即時コマ
ンドか)を示す。
3.残留バッファ・カウント これは、残留バッファ・アドレスが指すバッファ中に残
っているバイト数を含む、4バイトのカウントである。
4.FJ留バッファ・アドレス これは、要求が終了したときに使用されていたバッファ
の32ビットのアドレスである。最後のSCBからのア
ドレス1またはアドレス2のバッファ・アドレス、ある
いは最後のSCB中のアドレス1またはアドレス2が指
す間接リスト中のアドレスである。その具体的意味は、
コマンド特有である。
5.残留バッファ・カウント2 これは、残留バッファ・アドレス2が指すバッファ中に
残っているバイト数を含む(TSB拡張部分中の)4バ
イトのカウントである。
6.残留パッファ・アドレス2 これは、要求が終了したときに使用されていたバッファ
+7)(TSB拡張部分中の)32ピットのアドレスで
ある。最後のSCBからのアドレス2のバッフ1・アド
レス、あるいは最後のSCB中のアドレス2が指す間接
リスト中のアドレスである。.これは、両方のアドレス
をあるコマンドが使用するときに使用される。
7.装置従属域のサイズ アーキテクチャをもつ1組の状況より上の情報を供給す
る手段が設けられている。その量は、基本フォーマット
を使用するか拡張フォーマットを使用するかによって変
わる。このフィールドの位置は、基本フォーマットと拡
張フォーマットで異なる。追加状況はサブシステムに従
属する。
8.装置従属データ この域は、装置従属状況情報を含む。この域の最大サイ
ズは、どのフォーマットが使用されているかによって決
まる。
上記に説明したSCBフォーマットを使用する本発明の
コンピュータ・システムの詳細を第12図に示す。前述
のように、上位システム200は、マイクロチャネル2
04などのバス・アーキテクチャを介して少なくとも1
つの知能サブシステム202と情報を交換する。
上位システム200中のシステム●プログラム20Bは
、線210を介してシステム・メモリ2O8中にSCB
を構築する。システム・プログラムノ動作ハ、「PS/
2 BIOSインタフェース、技術解説書(PS/2 
BIOS InterfaceTechnical R
eference) J、IBM刊行物、資料番号88
X−2341−00;rIBM  PS/2オペレーテ
ィング・システム、ディレクトリの手引き(IBM P
S/2 0perating Systems Dir
ectoryGuide) J、IBM刊行物、資料番
号2380−2741−0;rIBM  OS/2内部
、第1巻(IBM OS/2 Internals. 
Vol.1) J、IBM刊行物、資料番号GG24−
3225−0に記載サレている。前述のように、SCB
フォーマットは、バッファ・アドレス、連鎖アドレス、
及びTSBアドレスをもたらす。ページ記憶システムで
は、SCB1バッファ・アドレス、連鎖アドレス、及び
TSBアドレスがオペレーティング・システムによって
システム・メモリ中で「固定」される。
すなわち、システム・′メモリのあるセクシロンが、こ
の目的でロックされる。この説明では、scB212は
、TSB214、データ・バッファ218と220を指
す間接リスト216、及びSCB222への連鎖アドレ
スを含むものとして示す。
SCB222は、TSB224を含み、データ・バッフ
ァ226を指す。システム・メモリ208中に複数の同
じSCBが第8図ないし第11図に示したフォーマット
に従って書式化されていることを了解されたい。
サブシステム202は第2図のサブシステム102と類
似しており、唯一の違いは、サブシステム202がコマ
ンド転送を記述するためより詳しく示されていることで
ある。サブシステム202は、コマンド転送論理ブロッ
ク230とバス・マスタ232を有するバス・インタフ
ェース/制御機構228、割込み(I)論理回路236
を有する局所マイクロプロセッサ234、局所メモリ2
38−、及び複数の装置242、244、246、24
8に接続された装置インタフェース/制御論理ブロック
240を含んでいる。
コマンド処理プログラムと復号処理を含むコマンド処理
システムの一般的説明を第12図に関して行ない、続い
て第14図ないし第20図に関して詳しい機能的説明を
流れ図の形で行なう。
システム・プログラム206は、コマンド使用中/状況
ポート(図示せず)を読み取って、アテンシl冫・ポー
ト及びコマンド・インタフェース・ポートが使用中でな
いことを確認する。システム・プログラム20Bは、S
CB’のアドレスをコマンド・インタフェース・ポート
(図示せず)を介してバス・インタフェース/制御機構
228のコマンド転送論理ブロック230に供給し、意
図するコマンド・タイプと装置を線250を介してアテ
ンシ田ン・ポート(図示せず)に供給する。
コマンドは、復号処理の一環として妥当性検査を受け、
受諾または拒絶される。コマンドが受諾されたと仮定す
ると、サブシステムはその状況をコマンド使用中/状況
ポート(図示せず)に書き込み、実行すべきコマンドを
送る。
サブシステム202は、バス・マスタ232中のバス・
マスク機能を使ってマイクロチャネル204上でバス・
サイクルを開始する。このとき、システム・メモリ20
8はマイクロチャネルのメモリ・スレーブであり、マイ
クロチャネルの制御線とアドレス線がバス・マスタ23
2によって駆動される。システム・メモリ208はマイ
クロチャネルのデータ・バスを駆動し、バス・マスタ機
能がSCBをサブシステムの局所メモリ238に転送す
る。サブシステム202がSCBを受け取ると、マイク
ロプロセッサ234中で走行するプログラムがコマンド
を復号して、指定された装置にそれを送る。このプログ
ラム動作については、第14図ないし第20図の流れ図
に関して詳しく説明する。転送を実行するため、バッフ
ァ・アドレスがバス・マスタ232にロードサレル。
具体的に述べると、SCBアドレスが復号された後、そ
のアドレスがシステム・メモリ208に供給され、SC
Bが取り出されてサブシステム202に送られる。たと
えば、SCB212をアドレスする場合、バス・マスタ
232はSCBアドレスでアドレス線252を活動化し
、scBの最初の部分が線254を介して戻される。S
CB全体が取り出されるまで、アドレスを増分した後に
この処理が繰り返される。処理すべきデータは、アドレ
ス線256と258を介してアクセスされ、間接リスト
216が指すデータ・バッファ218と220に供給さ
れる。データは、データ線280と262を介してバブ
フ1218と220から戻される。次いでバス・マスタ
232は、データを局所メモリに転送し、またはインタ
フェース240を介してアテンション・ポート(図示せ
ず)中のコマンドの第2の部分で指定される装置の1つ
に転送する。SCBに対する完了または終了の状況が線
264と266を介してTSB214に記憶され、状況
データは線268と270を介してTSB214に供給
される。
SCB212は、線272を介してアドレスされるSC
B222を指し、SCB222は線274を介して戻さ
れる。処理すべきバッファ226からのデータはアドレ
ス線256を介してアクセスされ、データが線262を
介してバス・マスタ232に戻される。次いでバス・マ
スタ232は、上記のようにデータを局所メモリ238
に転送し、またはインタフェース240を介して装置の
1つに転送する。SCB222の完了または終了の状況
は線264を介してTSB224に戻され、状況データ
が線268を介してTSB224に供給される。
サブシステム202はまた、SCBまたはSCB連鎖に
関する割込み状況を割込み状況ポート(図示せず)にロ
ードする。これにより、物理割込みが線265を介して
上位システム200に戻される。
コマンド処理システムの流れ図の説明を行なう前に、第
l4図ないし第20図の流れ図で使用する用語が理解し
やすくなるように、一般的説明を行なう。
●コマンド提出方法とコマンド●タイブ本発明では、サ
ブシステムにコマンドを転送スる2つの方法を定義する
。いくつかのサブシステム規模のハードウェア特有の機
能が、サブシステム制御ポート中のプログラム修正ビッ
トによってアクセスされるハードウェア制御機構を使っ
て呼び出される。ハードウェア制御機構は、サブシステ
ムの状態を変更する高速で優先順位の高い方法をもたら
し、このようにして提出されるサブシステム●リセット
・コマンドは、コマンド・ポート及びアテンシロン・ボ
4−トにデータを書き込むことによってサブシステムに
提出される他のすべてのコマンドよりも優先される。
ハードウェア制御機構は、サブシステム制御ポートへの
OUTコマンドを使い、いくつかの特定のビットを変更
することによって活動化される。
RRビット、DMAビット、及びEIビットの修正は特
定のコマンドによって記述されないが、これらのビット
はすべてサブシステムに対してサブシステム規模の効果
をもつ。これらの効果については、後述の「上位プロセ
ッサが入出力ポートを設定しようと試みたことの結果」
及び第l表に要約してある。
コマンド・ポートとアテンシ冒ン・ポートへの書込みに
よって提出されるコマンドは、間接(SCBベースの)
コマンドと直接ベースのコマンドの2つの範嗜に大別さ
れる。SCBベースのコマンドは、アテンシB冫要求フ
ード3によって区別される。SCBコマンドの場合、コ
マンド・インタフェース・ポートはSCBの始めの実記
憶アドレスを含む。直接コマンドには、一義的なアテン
シーン・コード設定によって決定される、3つのタイプ
がある。すべての直接コマンドは、アテンシロン・コー
ドとあいまってサブシステムが実行すべき活動を定義す
る32ビットの値をコマンド・ポート中に有する。アテ
ンシロン・コードO(リセット)とE(割込みリセット
)は、これらのコマンドに対する特殊ケースの処理が、
”01h″のアテンシe冫要求コードをもつ他の直接コ
マンドに優先して行なえるように設けられている。直接
コマンドは、実行すべき動作を完全に定義する32ビッ
トの値をコマンド・ポートが含むことを示すため、「即
時コマンド」と呼ぶことがある。
これは、実行すべき活動を決定するためにコマンド・ポ
ートによって与えられるアドレスをシステム・メモリか
ら取り出さなければならない、SCBコマンドとは対照
的である。
このアーキテクチャでは、一義的アテンシe冫・コード
F(装置従属アテンシロン)が定義されている。アテン
シlン・コードFは、実施態様で最適化したいコマンド
に対する特殊ケースの処理がもたらせるように設けられ
ている。
●コマンド提出時のサブシステムの状態遷移本節では、
ハードウェア制御機構を使って、あるいはアテンション
・ポートによって、コマンドが提出されたときに生じる
状態遷移と処置を定義する。データは、第13図の状態
遷移図に示されている。サブシステムが復号状態のとき
の、提出されたコマンドのサブシステムによる受諾また
は拒絶については、下記の「コマンドの処理と復号処理
」で詳しく考察し、復号処理に関する詳細を示し、第2
表ないし第5表にコマンドが復号処理によってどのよう
に受諾され拒絶されるかを示す判断テーブルを示す。
コマンド提出遷移で使用されるものとして下記の状態が
定義されている。サブシステムの状態及び復号処理の詳
細は、「コマンドの処理と復号処理」に示す。
サブシステムの状態には次のものがある。
1.コマンド受諾ACCEPT サブシステムが、コマンド◆ポート及びアテンション・
ポートを介して提出されたコマンドを受諾できる状態に
ある。この状態のとき、コマンド使用中/状況ポートの
拒絶ビットと使用中ビットは共にOとなる。
アテンシーン・ポートに上位プロセッサが書込みを行な
うと、サブシステムはこの状態から出て復号進行中状態
に入り、提出されたコマンドが受諾されるかどうか決定
する。
2.サブシステム・リセット保留開始PENDSシステ
ム制御ポートのRSTビットが上位プログラムによって
″INにセットされ、サブシステムがそのマイクロプロ
セッサのハードウェア制御リセットを開始した。この状
態の間、コマンド・ポート及びアテンシ日ン・ポートへ
の上位プロセッサによる書込みは無視される。サブシス
テム制御ポートのRSTビット以外のビットへの上位書
込みは無視される。ハードウェア・リセットが完了する
と、サブシステムはサブシステム・リセット保留完了状
態に入る。
この状態の間、コマンド使用中/状況ポートの使用中(
B)ビットが91”で、拒絶(R)ビットが”O”であ
る。
3.サブシステム・リセット保留完了PENDCサブシ
ステムがそのマイクロプロセッサのハードウェア制御リ
セットを完了し、上位プロセッサがサブシステム制御ポ
ートのRSTビットに″′0”ビットを書き込むのを待
つ。この状態の間、コマンド●ポート及びアテンシeン
◆ポートへの上位プロセッサの書込みは無視される。サ
ブシステム制御ポートへの上位プロセッサによる書込み
は許される。サブシステム制御ポートのRSTビットに
”onを書き込むと、サブシステムはサブシステム・リ
セット進行中状態になる。
この状態の間、コマンド使用中/状況ポートの使用中(
B)ビットは″1″で、拒絶(R)ビットは”0”であ
る。
実施態様でリセット保留開始状態とリセット保留完了状
態を区別できず、単一のリセット保留状態のみをもつこ
とがある。このよつな場合は、RSTビットを10”に
セットすると、サブシステムは保留状態からリセット進
行中状態に移る。
4.サブシステム・リセット進行中RESETS実施態
様で定義された時間が経過した後、サブシステム・リセ
ット保留開始状態の間にサブシステム制御ポートのRS
Tビットが上位プログラムによって″O″にセットされ
た。この状態に入ると、サブシステムはそのサブシステ
ム・リセットを完了する。サブシステムがこの状態の間
、上位システムはサブシステム制御ポートの内容を修正
することを許される。コマンド・ポート及びアテンショ
ン・ポートへの上位プロセッサの書込みは無視される。
この状態の間、コマンド使用中/状況ポートの使用中ビ
ットは”1″であり、拒絶ビットは?lO″である。
サブシステム・リセットが完了すると、サブシステムは
コマンド受諾状態に入る。コマンド使用中/状況ポート
の使用中ビットと拒絶ビットが″o”にセットされる。
IVビットは″1″にセットされて,ISPが完了した
サブシステム・リセットに対する割込み値を含むことを
示す。
5.サブシステム拒絶REJ コマンド●ポート及びアテンシβン・ポートを介して提
出されたコマンドが復号処理によって拒絶された。拒絶
状態がクリアされるまで、コマンド・ポート及びアテン
シ譚ン・ポートを介して次のコマンドが受諾されること
はない。この状態の間、コマンド・ポート及びアテンシ
ーン・ポートへの上位プロセッサの書込みは無視される
。サブシステム制御ポートへの上位プロセッサによる書
込みは許される。コマンド使用中/状況ポートの拒絶ビ
ットと使用中ビットは、共に″1″にセットされる。コ
マンド使用中/状況ポートのSビットは、コマンドが復
号処理によって拒絶された理由を示す。
サブシステム制御ポートのRRビットが”1″にセット
されたとき、またはハードウェア制御のサブシステム・
リセットがサブシステム制御ポートのRSTビットを”
1”にセットすることにより、サブシステムは拒絶状態
から出る。
6.復号進行中DECODE アテンシeン●ポートへの上位プロセッサの書込みが検
出されると、サブシステムはコマンド受諾状態からこの
状態に入る。この状態のとき、サブシステムはコマンド
を受諾するか否かを決定する。
サブシステムがこの状態に入ると、コマンド使用中/状
況ポートの使用中ビットが″′1″′にセットされ、拒
絶ビットが″0″になる。この状態の間、コマンド・ポ
ート及びアテンション・ポートへの上位プロセッサの書
込みは無視される。サブシステム制御ポートへの上位プ
ロセッサによる書込みは、RSTビットに対する変更以
外は無視される。
復号処理がコマンドを受諾する場合、サブシステムはコ
マンド受諾状態に入る。コマンドが実行のために受諾さ
れなかった場合、サブシステムは拒絶状態に入る。
処置には次のものがある。
a.上位プロセッサによるサブシステム制御ポートのR
STビットへの1の書込みRST=1上位プロセッサが
サブシステム制御ポートにOUTコマンドを出して、R
STビットの値を”1″にセットする。
b.上位プロセッサによるサブシステム制御ポートのR
STビットへのOの書込みRST=0上位プロセッサが
サブシステム制御ポートにOUTコマンドを出して,R
STビットの値をg″0”にセットする。
C.上位プロセッサによるアテンション・ポートへの書
込みW/AP 上位プロセッサがOUTコマンドを使ってアテンシ璽冫
・ポートに書き込む。
d.上位プロセッサによるサブシステム制御ポートのR
Rビットへの1の書込みRR= 1上位プロセッサがサ
ブシステム制御ポートにOUTコマンドを出して、RR
ビットの値を″′1”にセットする。
e.り.セット保留完了PEND  COMPLETE サブシステムがそのマイクロプロセッサをリセットする
活動、及びサブシステムのりセット完了を待たせるのに
必要な他の処置を完了した。
f.サブシステム・リセット完了RESET  COM
PLETE サブシステムがサブシステムをリセットする活聯を完了
した。
g.復号コマンド受諾DECODE  ACCEPT サプシステムの復号処理が、コマンド・ポート及びアテ
ンシ蓼ン・ポートを介して提出されたコマンドを受諾し
た。
h.復号コマンド拒絶DECODE  REJEC第1
表 サブシステムの復号処理がコマンド・ポート及びアテン
シaン・ポートを介して提出されたコマンドを拒絶した
状態遷移が、これらの状態及び活動と共に、第13図の
状態図に定義されている。
・上位プロセッサが入出力ポートをセットしようと試み
たことの結果 第1表の判断テーブルに、サブシステムが様々な状態に
あるときに、上位プロセッサが入出力ポートをセットし
ようと試みたことの結果を要約する。
各状態は、第13図の状態図で使用したものと同じであ
り、SCCPはサブシステム制御ポートを意味する。
94 第1表の注の説明 1.システムがRSTを″1”にセットすると、サブシ
ステムはリセット保留開始状態になる。
2.RSTが″1″′にセットされる場合、サブシステ
ム制御ポート中の他のすべてのビットは、リセット保留
開始状態に入る一環として、サブシステムによって″O
″にされる。
3.サブシステムがコマンド受諾状態の間にシステムが
アテンシーン・ポートに書込みを行なうと、サブシステ
ムは復号状態になる。
4.サブシステムがリセット保留完了状態の間にシステ
ムがRSTを”0”にセットすると、サブシステムはリ
セット進行中状態になる。
5.サブシステムが拒絶状態の間にシステムがRRを″
1”にセットすると、RRをセットするOUTがRST
をも″1″にセットしない限り、サブシステムはコマン
ド受諾状態になる。RSTが?llWにセットされた場
合、RRに対する変更は無視され、サブシステムはリセ
ット保留開始状態になる。サブシステムが拒絶状態の間
にRRを″0″にセットしても、拒絶状態はクリアされ
ない。
・コマンドの処理と復号処理 本節では、復号処理に焦点を当ててコマンドの処理部分
の考察を行なう。復号処理におけるコマンド受諾に関す
る判断テーブルを第2表に示し、復号処理におけるコマ
ンド拒絶に関する判断テーブルを第3表に示す。
第2表 半噺テーブノレ1 第3表 半1frテーブル2 コマンド・ポート、アテンション・ポート、サブシステ
ム制御ポートへの上位プロセッサの書込みを監視するた
めにサブシステムが使用する、ハードウェア制御の処理
が存在することが必要である。
この処理はコマンド処理プログラムと呼ばれ、サブシス
テム制御ポートのRSTビットの書込みなどの動作に応
答してサブシステムをリセットするため、ハードウェア
制御機構を呼び出す。コマンド処理プログラムはまた、
アテンション・ポートまたはコマンド・ポートを介して
提出されたコマンドを受諾するか否かを決定するために
サブシステムが使用する、ハードウェアまたはファーム
ウェアの処理を呼び出す責任をもつ。コマンド処理プロ
グラムは、サブシステムがコマンド受諾状態にあり、上
位プロセッサによるアテンション・ポートの書込みが検
出されたときに、この処理を呼び出す。コマンド処理プ
ログラムは、サブシステムを復号状態に置き、復号処理
を呼び出して、新しく検出されたコマンドを受諾できる
か否かを決定する。
復号状態のとき、コマンド処理プログラムは、上位プロ
セッサがコマンド・ポートまたはアテンション・ポート
への書込みにより新しいコマンドを提出しようと試みる
のを阻止する責任をもつ。
コマンド処理プログラムはまた、サブシステム制御ポー
トへの上位プログラムによる書込みに応答して、サブシ
ステムがどんな状態のときもRSTビットに対する上位
プログラムの変更が許されるようにする責任をもつ。こ
の機能により、ハードウェア制御のサブシステム・リセ
ット・コマンドを上位プロセッサから受諾することが可
能になる。
他のハードウェア制御は、サブシステムの状態に応じて
、コマンド処理プログラムによって許される。
復号処理は、サブシステムがある装置宛のコマンドを受
諾できるかどうか決定するタスクを有するので、下記の
種類のデータに関心をもつ必要がある。
*コマンド・タイプ。コマンドに対するアテンシeン・
コードは、コマンドがどう処理されるのかを決定する。
コマンドは、装置リセット・コマンド、割込みリセット
・コマンド、SCBコマンド、即時コマンドの各範喝に
分かれている。
装置従属アテンシI冫・コードが実施態様でサポートさ
れている場合、その実施態様による定義に従って、SC
Bコマンドまたは即時コマンドの範嗜に入れられる。サ
ポート−されないアテンシlン●コードは復号処理によ
って無効コマンドとして拒絶される。SCBコマンドで
ないアテンシロン・コードは直接コマンドと呼ばれる。
*装置番号。コマンドが送られる先の装置は、アテンシ
冒ン・ポートに含まれている。このデータは、どの装置
にコマンドが送られるかを決定するために必要である。
復号処理はまたこのデータを使って、装置状態情報にア
クセスし、サブシステムは、この情報を用いて新しいコ
マンドが受諾または拒絶できるか否かを決定することが
できる。装置アドレスが無効だと、コマンドは拒絶され
る。
*コマンド・コード。直接コマンドが処理されていると
き、コマンドのビットO〜7の8ビットのコマンド●コ
ードを検査して、コマンドeコードが決定される。8ビ
ットの即時コマンド・コードが認識されないと、そのコ
マンドは無効コマンドとして拒絶される。
木装置状態。これは装置の現状態であり、現装置状態が
与えられている場合にそのコマンドが受諾できるかどう
かを定義する。本発明では、いくつかの状態を定義し、
所与の状態の間にコマンドが受諾されるか否かを示す。
このデータは、後述の「復号処理のための判断テーブル
」で詳しく提示する。
復号処理がコマンドを受諾すると決定したとき、その新
しいコマンドが受諾されたことを示すように装置状態が
更新されることを保証し、装置が新しいコマンドの実行
を開始するスケジュールを立てる必要がある。復号処理
はまた、コマンド処理プログラムがサブシステムを復号
状態からコマンド受諾状態にすることを保証しなければ
ならない。
本発明は、装置状態のリセット及び新しいコマンドのス
ケジューリングを復号処理で実施すべきだと主張するも
のではないが、概念的にはそうすると考えた方が簡単で
ある。
また復号処理は、必要な新しいコマンドを必要な装置で
実行するスケジュールを立てさせなければならない。ス
ケジュールを立てるという言葉は、irIlolJセッ
ト・コマンド以外のすべてのコマンドに使用される。と
いうのは、サブシステム・プロセッサ・サイクルの使用
を、他の装置について実行されているタスク間で共用す
る必要があるからである。装置Oリセット・コマンドの
場合は特殊なケースである。というのは、この活動はソ
フトウェアによって呼び出されるサブシステムのリセッ
トを引き起こし、他の装置に対するすべての現サブシス
テム活動を停止することを必要とするからである。
コマンドが受諾されることが知らされると、コマンド処
理プログラムがコマンド使用中/状況ポートを、使用中
ビットと拒絶ビットが共に″O″′になるようにセット
する。
復号処理がコマンドを拒絶したときは、コマンド処理プ
ログラムに拒絶の理由が示される。サブシステムは復号
状態から拒絶状態に移る。コマンド使用中/状況ポート
の使用中ビットと拒絶ビットが″″1”にセットされる
。コマンドがなぜ拒絶されたかを示すコード化された値
を含む、このポートのSビットが拒絶ビットと同時にセ
ットされる。
復号処理の完了時に、いくつかの目標が達成される。
本復号処理によって受諾された即時コマンドは、後でコ
マンド拒絶のために割込みを行なわない。
ハードウェアが故障しない限り、即時コマンドは、復号
処理による受諾の後、正しく実行される。
*現装置状態の故に実行できないコマンドは、システム
割込みなしにできるだけ速やかに拒絶される。拒絶状況
及び拒絶理由は、明示的にクリアされるまで上位プログ
ラムが利用できる。
*装置リセットなど特殊なアテンシeン・コードは、で
きるだけ速やかに実行すべくスケジュールが立てられる
*SCBコマンドは取出しのスケジュールが立てられる
。復号処理は、フィールド値が有効かどうかSCBの検
査を行なわない。
様々なコマンドが提示されたときに装置がどう反応する
かの記述は、「復号処理のための判断テーブル」の一連
の判断テーブルに定義されている。
それについて手短かに考察する。それらの規則は次のよ
うに要約できる。
1.ハードウェア制御のサブシステム・リセット・コマ
ンドは、必ずサブシステムに受諾される。
2.アテンシe冫●ポート宛のコマンドは、それが復号
進行中、サブシステム拒絶、サブシステム・リセット進
行中、サブシステム・リセット保留開始、サブシステム
・リセット保留完了の各状態にある場合、サブシステム
によって無視される。
3.装置リセット・コマンドは、その装置が使用中で他
のコマンドを実行している場合でも、その装置によって
受諾される。この規則には次の3つの例外がある。
ーアテンション・ポートで指定された装置番号が無効。
一ビットO〜7の8ビット即時コマンド・コードがOで
ない。
−サブシステムが上記の例外2で定義する状態の1つで
ある、すなわちアテンシロン・ポートに試みられた書込
みによって提出されるどのコマンドも無視する。
4.装置が使用中であるコマンドを実行しているとき、
下記の場合を除き、装置使用中コードで新しいコマンド
を拒絶する。
一新しいコマンドが装置リセット・コマンド。
−装置が使用中でSCBを実行しており、新しいコマン
ドが中断コマンドである(この場合、実行中のSCBが
完了してから、装置がSCB実行禁止状態になる。中断
コマンドは必ず、装置で実行された最後のSCBに割込
みを要求させる)。
−装置が使用中でSCBを実行しており、新しいコマン
ドがSCB割込みリセットである。(現在実行中のSC
Bは直ちに停止され、SCB割込みリセット機能が実行
され・る。停止されたSCBは実行の継続を許される。
) 5.ある装置に対する割込み待ち行列が満杯のときは、
下記の場合を除き、新しいコマンドは拒絶される。
−装置リセット 一割込みリセット(SCBまたは即時)6. 7. ーサブシステム・リセット(ハードウェア制御またはソ
フトウェア制御) 装置が使用中でコマンドを実行してはいないとき、その
装置が、以前の中断コマンドによってSCBコマンドを
実行できない状態に置かれている場合は、SCBコマン
ドを拒絶する。
装置がコマンドを確実に実行できない状態にある場合は
、下記以外のすべてのコマンドを拒絶する。
一装置リセット ーサブシステム・リセット(ハードウェア制御またはソ
フトウェア制御) 一アテンシa冫・ポートの装置アドレスが有効でない場
合、そのコマンドは拒絶される。
復号処理のための判断テーブル との復号処理のためのアーキテクチャは、複数の拒絶理
由が存在するとき、どの拒絶理由かを指定するように、
拒絶テストが行なわれる順序を定義する。これを次表に
示す。
復号処理のステップ ステップ1 − アテンシロン●コードとコマンドの妥
当性検査。拒絶コード=010拒絶原因 アテンシ訝冫●コード が認識されない アテンシ寥冫・コード が無効 リセブト●アテンシーン ・コード(00) 8ビット即時コマンド ・コードが無効 割込みリセット・アデン 8ビット即時コマンドシlン
・コード(OE)  ・コードが無効即時コマンド●ア
テン シーン・コード (OI) 8ビット即時コマンド ・コードが無効 ステップ2 − アテンシlンーポート中の装置の妥当
性検査。拒絶コード=101 SCB割込みリセッ ト アテンシロン●ポート の装置番号が無効 拒絶原因 装置リセッ ト アテンシロン・ポート の装置番号が無効 SCBまたはSCBと  アテンシ1ン・ポートしての
装置従属アデン  の装置番号が無効非SCBとしての
装置  アテンション・ポート従属アテンシdン   
 の装置番号が無効即時コマン ド アテンシeン●ポート の装置番号が無効 ステップ3 一 装置が使用可能状態にあることの検証
。拒絶コード=001 NOOP即時、中断、 再開 診断即時 アテンシ諺ン●ポート の装置番号が無効 アテンシーン●ポート の装置番号が無効 拒絶原因 SCBまたはSCBと しての装置従属アテン シ−冫 装置が使用不能状態 割込み状況ポート セット リ アテンシeン・ポート の装置番号が無効 NOOP即時、中断、 再開 装置が使用不能状態 診断即時 装置が使用不能状態 シロン SCB割込みリセット 装置が使用不能状態 NOOP即時、再開、 診断即時 装置が使用中 割込み状況ポート 装置が使用不能状態 リセット 割込み状況ポート 装置が使用中 リセット 非SCBとしての装置 従属アテンシeン 装置が使用不能状態 SCB割込みリセット、 装置が使用中(SCB中断 
         を実行中ではない)即時コマンド(
上記 以外) 装置が使用不能状態 非SCBとしての装置 従属アテンシロン 装置が使用中 ステップ4 一 装置が使用中でないとの検証。
拒絶コード=011 即時コマンド(上記 以外) 装置が使用中 拒絶原因 SCBまたはSCBと しての装置従属アデン 装置が使用中 ステップ5 一 装置割込み待ち行列が満杯でないこと
の検証。拒絶コード=111 ステップ6  −  SCB実行エネーブルの検証。
拒絶コード=100 拒絶理由 拒絶理由 SCBまたはSCBと 割込み待ち行列が満杯 しての装置従属アデン SCBまたはSCBと  SCBの実行が中断しての装
置従属アテン  コマンドによっテ禁止ション シe冫 再開、中断、NOOP 即時 診断即時 非SCBとしての装置 従属アテンシロン 即時コマンド(上記 以外) 割込み待ち行列が満杯 割込み待ち行列が満杯 割込み待ち行列が満杯 割込み待ち行列が満杯 復号アーキテクチャは、まず詳細な装置及びサブシステ
ム状態を指定し、次いで1組の判断テーブルによって完
全に定義される。
・サブシステム及び装置状態の定義 サブシステムは、下記の状態成分を有する。
*サブシステム実行状態には、ACCEPT,PEND
S,PENDC,RESETS,REJECT1DEC
ODEがある。これらの状態は、サブシステムが新しい
コマンドまたはハードウエア制御を受諾できるか否かを
定義する。
本使用可能状態。サブシステムが、コマンドヲ確実に実
行することを期待できる状態に入ったかどうかを定義す
る。その値がイエスの場合はサブシステムは使用可能で
あり、ノーの場合はそうではない。
*DMA可能。この状態成分は、サブシステムにDMA
活動が許されるか否かをイエスとノーで示す。DMA活
動が許されないときは、サブシステムに対するSCBコ
マンドの取出し、TSB状況の記憶、またはSCBコマ
ンドのためのデータ移動は許されない。この状態成分は
、サブシステム制御ポートのDMAビットに対応する。
水割込み可能。この状態成分は、コマンドが割込みを必
要とするとき、サブシステムが主プロセッサに物理割込
みを送ることができるかどうかを示す。これはサブシス
テム制御ポートのEIビットに対応する。この値がイエ
スのとき、物理割込みが送られる。この値がノーのとき
は、割込みは送られない。
*Iv有効。この状態成分は、コマンド使用中/状況ポ
ートのIVビットに対応する。その値がイエスの場合、
サブシステムの割込み状況ポートは、上位プログラムに
よってリセットされていない有効な割込み値をもつ。こ
の値がノーの場合は、割込み状況ポートは割込み値を含
まない。
*装置活動状態。この状態成分は、ハードウェア制御ま
たはアテンシ−ン・ポートを介して提出されたコマンド
を処理するようにとの上位プロセッサからの要求を処理
した後に、どのように処理を再開するかを決定するため
にサブシステムが使用する。たとえば、サブシステムが
ACCEPT状態でその状態成分がイエスのときにRR
ビットに書き込むことは、RRビットがセットされる前
に行なっていた活動にサブシステムが戻ることを意味す
る。この状態成分の値がノーの場合は、サブシステムに
は実行すべき装置活動がなく、次の主プロセッサの動作
が起こるのを待つ状態になる。
・装置状態 装置は、下記の状態成分をもつように定義される。
1.使用中状態。これは、装置が現在使用中でコマンド
を実行しているかどうかを定義する。
この状態は、BUSY (使用中)とIDLE(遊休)
の2つの値をとる。値がIDLEの場合、装置は現在ど
のコマンドも実行していない。値がBUSYの場合は、
装置はコマンドを実行しており、使用中副状態とCMD
状態が、装置で進行中のコマンドまたはハードウェア制
御をさらに定義する。
2.使用中副状態(substate)。装置が使用中
でコマンドを実行している場合、この状態成分は、即時
コマンド、SCB1サブシステム・リセット(ハードウ
ェア制御)、サブシステム・リセット(ソフトウェア制
御)、装置リセット、中断、SCB割込みリセットなど
進行中のコマンドのタイプを示す。
使用中副状態が即時コマンドまたはSCBのときは、C
MD(コマンド)フィールドは、その装置で実行される
予定の明示コマンドを定義する。
使用中副状態が、サブシステム・リセット(ハードウェ
ア制御)、サブシステム・リセット(ソフトウェア制御
)、装置リセット、中断、またはSCB割込みリセット
のときは、CMD状態成分は、これらのコマンドの1つ
が受諾されたときに装置で実行中のコマンドを示す。
使用中副状態が、サブシステム・リセット(ハードウェ
ア制御)、サブシステム・リセット(ソフトウェア制御
)、装置リセット、中断、またはSCB割込みリセット
のとき、装置状態成分OLD (旧)使用中副状態は、
これらのコマンドの1つが受諾されたとき活動状態の使
用中副状態を含む。
装置の使用中状態がIDLEのとき、その装置に対して
使用中副状態成分は定義されない。
3.CMD状態。これは、装置で実行されているコマン
ドに関する次のような詳細を示す。装置の使用中副状態
が即時コマンドの場合、これは装置で実行中のコマンド
を示す。この場合、その値には次のようなものがある。
診断テスト即時実行 NOOP即時 割込み状況ポート・リセット 即時コマンド 使用中副状態がSCBの場合、CMD状態には次のよう
なものがある。
単一SCBに対する上位プロセッサ・メモリからの次の
SCBの取出し SCB連鎖の要素に対する上位プロセッサからの次のS
CBの取出し 単一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.8CB実行可能。この状態成分は、SCBの実行が
装置によって許されるか否かを示す。
SCBの実行が許されなかった場合、この状態成分はノ
ーとなる。これは、中断コマンドの実行によって起こる
。SCBの実行が許される場合、この状態成分の値はイ
エスである。
これは再開、装置リセット、またはサブシステムによっ
てイエスにセットされる。
8.8CB連鎖中断。この状態の値が有効なのは、装置
に対して中断コマンドが出されたときだけである。中断
コマンドが出され、連鎖中の次のSCBの取出しが中断
コマンドによって停止された場合、この状態成分の値は
イエスである。すなわち、この状態の装置に再開コマン
ドが出されると、その装置はSCB使用中副状態に再び
入り、中断コマンド時にScB取出しアドレスにセーブ
されたSCBアドレスを使って、中断された連鎖の実行
を再開する。SCB連鎖が活動状態でないときに中断コ
マンドが出された場合、あるいは現scBの完了によっ
て連鎖が停止された場合、この状態成分の値はノーとな
る。この状態の装7. 8. 9. 置に再開コマンドが出されても装置はSCB使用中副状
態に再び入らず、再開から出て遊休状態になる。
SCB取出しアドレス。SCBコマンドが最初に装置に
よって受諾されたとき、コマンド・ポート中のアドレス
が復号処理によってこの域に移される。連鎖中の次のS
CBが装置タスクによって取り出されるとき、この状態
成分はそのSCBのアドレスで更新される。装置タスク
は、SCBの終了状態に応じてSCBからどの連鎖アド
レスを選択するかを決定する。
装置使用可能。装置が確実にコマンドを実行できる状態
の場合、この状態成分はイエスの値をとる。装置が確実
にコマンドを実行できない状態にある場合は、この状態
値はノーとなる。
即時コマンド値IC.復号処理が直接コマンドを受諾す
るときは、コマンド部分の値がこの状態成分に移る。装
置タスクが、直接コマンド中の値にアクセスするため、
この値を使用することができる。現在はビット15〜O
だけが直接コマンドの実行をもたらす。
10.装置割込み可能。この状態成分は、装置が物理割
込みを要求できるか否かを決定する。
状態成分の値がENABLE (エネーブル)の場合、
割込みを要求することができる。
値がD I SABLE (ディスエープル)の場合は
、物理割込みを要求できない。装置は、この状態成分の
値がどうであれ、割込みを装置の内部割込み待ち行列に
入れる必要がある。この状態成分は、装置に送られる即
時コマンドのビット14、またはサブシステム●リセッ
ト●コマンドによってセットされる。
11.後割込み。この状態成分は、即時コマンドが完了
成功時に割込みを要求するか否かを決定する。サブシス
テム・リセット、SCB割込みリセット、及び即時割込
みリセットの場合は、これは無視される。この状態成分
はイエスまたはノーの値をとり、装置に送られる即時コ
マンドのビット15によってセットされる。
12.旧使用中副状態。この状態成分は、中断、サブシ
ステム・リセット(ソフトウェア制御)、サブシステム
・リセット(ハードウェア制御)、またはSCB割込み
リセットが受諾されたときに装置で活動状態であった、
使用中副状態の値を含む。
18.旧CMD状態。この状態威分は、装置の割込み待
ち行列が満杯であるためにSCBが取り出せなかったと
きに活動状態となるSCB  CMD値を含む。この条
件が生じたとき、装置はIDLE状態になる。SCB割
込みリセットまたは即時割込みリセットは、実行後に割
込み待ち行列が満杯でない場合、装置をSCB状態に再
び入らせることができる。
14.8CB中断割込み待ち行列満杯。この状態成分は
、装置の割込み待ち行列が満杯だったために、装置がS
CB状態からIDLE状態に入った場合、イエスの値を
とる。この状態成分がイエスのときに割込みリセットが
装置の割込み待ち行列を満杯状態から出させるとき、状
態成分旧CMD状態とSCB取出しアドレスが、SCB
の実行を再開するために使用される。装置が、その割込
み待ち行列が満杯であるためにSCB実行が中断される
状態にないときは、この状態成分はノーの値をとる。
15.SCB実行中SCB割込みリセット受諾。
この状態成分は、SCB割込みリセット・コマンドが、
使用中でSCBを実行している装置によって受諾される
とき、イエスとなる。装置がI DLE状態のときにS
CB割込みリセットが受諾されたとき、この値はノーと
なる。
16.装置に対する割込み待ち行列。これは、装置に対
する内部割込み待ち行列の位置を指定する状態成分であ
る。これは、現最古要素の位置、及び後の割込みに対し
て割り振るのに使用できる位置と項目数を含まなければ
ならない。
17.8CB論理割込みカウント。これは、装置がSC
B論理割込みを立ち上げるたびに1ずつ増分される状態
成分である。
これらの状態成分のいくつかを用いて、第2表及び第3
表に示すように、コマンドが復号処理によって受諾また
は拒絶される。
これらの表で、DCは「どうでもよい」との意味で、そ
の条件が復号処理の結果を決定するためにテストされな
いことを意味する。NAは、「適用されない」との意味
で、その条件が復号処理で必要とされるテストの一環と
して存在できないことを意味する。
コマンド転送システムは、コマンド処理プログラムと復
号プロセッサを含んでいる。これらの機能は、ハードウ
ェアまたはソフトウェアあるいはその両方で実施するこ
とができる。したがって、システムの動作を説明する第
2図及び第12図で利用した以前の構成図による実施態
様を補うものとして、それらの実施態様を第14図ない
し第20図に流れ図として示す。具体的には、コマンド
処理プログラム及び復号プロセッサが、第12図のサブ
システム202のコマンド転送論理ブロック230及び
マイクロプロセッサ234中にハードウェアの形で含ま
れ、例示されている。コマンド処理プログラムは入出力
ポートで受け取ったコマンドを処理し、復号プロセッサ
は、サブシステムまたは接続装置の1つによって実行す
るため、コマンドを復号する。
第14図は、コマンド転送システムの全体的流れ図であ
る。コマンド処理プログラムは、ブロック500で、サ
ブシステム制御ポート(SSCP)、アテンション・ポ
ート(AP) 、またはコマンド・インタフェース・ポ
ー} (CP)など入出力アドレスのいずれかへの上位
プロセッサの書込みをサブシステムが検出したとき、割
込みに入る。ブロック502で、コマンド処理プログラ
ムがそうすることができる場合、コマンド・インクフェ
ース・ポート及びアテンション・ポートへの上位プロセ
ッサの書込みに対するその処理の割込みを禁止する。そ
うした割込みを禁止できない場合は、コマンド処理プロ
グラムが後でその処理が再度可能になるまで、これらの
ポートへの書込みは無視される。判断ブロック504で
、SSCPへの書込みを試みた結果、コマンド処理プロ
グラムに入ったかどうか判定する。そうである場合は、
ブロック508に進んで、SSCPへの書込みを処理す
る。この処理については、第15図及び第18図に関し
て詳しく説明する。sscpへの書込みの後、ブロック
508に進んで、コマンド処理プログラムが、アテンシ
ョン・ポート及びコマンド・インタフェース・ポートへ
の上位プロセッサの書込みに対する処理を再度可能にし
、ブロック500に戻る。
判断ブロック504でsscpへの書込みがなかった場
合は、判断ブロック510に進み、上位プロセッサがコ
マンド・インタフェース・ポートへの書込みを試みたか
どうか判定する。そうである場合は、ブロック512に
進んで、コマンド・インタフェース・ポートへの書込み
を処理する。
この処理については、第18図に関して詳しく説明する
。コマンド・インタフェース・ポートへの書込みの後、
再びブロック508に進み、コマンド処理プログラムが
、アテンシeン・ポートへの上位プロセッサの書込みに
対する処理を再度可能にし、ブロック500に戻る。
判断フロック510でコマンド・インタフェニス●ポー
トへの書込みがなかった場合は、ブロック514に進ん
で、アテンション・ポートへの書込みを処理する。この
処理については、第17図に関して詳しく説明する。
次に第15図及び第16図に関して、第14図のブロッ
ク50Bのsscpへの書込みの処理について詳しく説
明する。第15図に関して、ブロック51Bで、SSC
Pに書き込まれた上位プロセッサの値を読み取る。ブロ
ック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で、RS
Tが1にセットされて、サブシステムがリセット進行中
状態を打ち切る。ブロック524に進んで、前述のよう
にサブシステムはリセット保留開始状態になる。
判断ブロック518でサブシステムをリセットしようと
する試みがなかったと判定した場合、ブロック548に
進んで、SSCPのRSTビットがOにセットされる。
判断ブロック550に進んで、サブシステムの実行状態
が復号であるかどうか判定する。そうである場合は、ブ
ロック552に進んで、コマンド処理プログラムは、コ
マンド・ポート及びアテンション・ポートへの上位プロ
セッサの書込みに対する処理を可能にする。次いで、コ
マンド処理プログラムはブロック554で復号処理に制
御を戻す。
判断ブロック550で、サブシステムの実行状態が復号
ではなかったと判定した場合は、判断ブロック556に
進んで、サブシステム実行状態がサブシステム・リセッ
ト保留開始であるかどうか判定する。そつである場合は
、ブロック558に進んで,RSTビット以外のすべて
のsscpビットが0にされる。次いでブロック532
に進んで、コマンド・インタフェース・ポート及びアテ
ンション・ポートへの書込みを可能にし、前述のように
進む。
判断ブロック556でサブシステム実行状態がサブシス
テム・リセット保留開始ではないと判定した場合、判断
ブロック560に進んで、サブシステム実行状態がリセ
ット保留完了かどうか判定する。そつである場合は、ブ
ロック562に進んで、サブ←ステム実行状態がサブシ
ステム・リセット進行中にセットされる。ブロック56
4で、コマンド処理プログラムは、コマンド・インタフ
ェース・ポート及びアテンシ譚冫・ポートへの上位プロ
セッサの書込みの処理を再度可能にする。次いでブロッ
ク5f3Bで、コマンド処理プログラムは、サブシステ
ム・リセット進行中機能を呼び出す。
このとき、ブロック568で、サブシステム実行状態は
コマンドを受諾する準備ができている。次いで第14図
のブロック508に戻って、前述のように上位割込みを
可能にする。
判断ブロック580でサブシステム実行状態がリセット
保留完了ではないと判定した場合、ブロック570に進
んで、サブシステム実行が拒絶または受諾となる。ブロ
ック572で、SSCPのEIビットがセットされる。
ブロック574で、サブシステム実行状態の割込み可能
成分がイエスにセットされる。ブロック576で、割込
みテスト機能を呼び出して、装置Oから順にいずれかの
装置が割込みを立ち上げることができるかどうか判定す
る。ブロック578で、SSCPのビット1がサブシス
テム制御ポートのDMAにセットされる。ブロック58
0で、SSCPのビット6、4、3、2がsscp中の
対応する位置にセットされる。ブロック582で、SS
CPのビット6がSSCPのRRビットにセットされる
第18図の判断ブロック584でsscpへの書込み処
理に進み、SSCP中のRRビットが″′O″か否かを
判定する。そうである場合は、判断ブロック586に進
んで、サブシステム実行状態がコマンド受諾であるかど
うか判定する。そうである場合は、判断ブロック588
に進み、サブシステムのいずれかの装置活動構成要素が
ノーかどうか判断する。そうである”場合は、第14図
のブロック508に進み、前述のように上位割込みを可
能にする。いずれかの装置活動構成要素がイエスである
場合は、ブロック590に進み、コマンド処理プログラ
ムがコマンド・インタフェース・ポート及びアテンシe
ン●ポートへの上位プロセッサの書込みの処理を再度可
能にする。ブロック592で、コ、マンド処理プログラ
ムはその活動の処理から戻り、サブシステム上の割込み
を受けた活動に制御を戻す。
判断ブロック68Bでサブシステム実行状態がコマンド
受諾ではないと判定した場合は、判断ブロック594に
進み、サブシステム実行状態がシステム・リセット進行
中か否か判定する。そうである場合、ブロック586に
進んで、コマンド処理プログラムはコマンド・インタフ
ェース・ポート及びアテンシe冫●ポートへの上位プロ
セッサの書込みの処理を再度可能にする。次いでブロッ
ク598で、コマンド処理プログラムは、割込みからサ
ブシステム・リセット進行中機能に戻る。
判断ブロック594でサブシステム実行状態がリセット
進行中ではないと判定した場合、判断ブロック588に
進んで前述のように進める。
判断ブロック584でRRビットが″0″ではないと判
定した場合は、判断ブロック600に進み、サブシステ
ム実行状態が拒絶か否か判定する。
そうである場合、ブロック602に進み、サブシステム
が拒絶状態からコマンド受諾状態に入る。
次に判断ブロック588に進んで、前述のように進む。
判断ブロック600でサブシステム実行状態が拒絶では
ないと判定した場合は、判断ブロック588に進んで、
前述のように進む。
次に第17図に関して、第14図のブロック514のア
テンシ8ン●ポートへの書込みの処理について詳しく説
明する。判断ブロック804で、サブシステム実行状態
が復号であるか否か判定する。そうである場合は、ブロ
ック606で、アテンシ1ン・ポートへの上位プロセッ
サの書込みは無視され、第15A図のブロック552に
戻って前述のよウに進む。判断ブロック604でシステ
ム実行状態が復号ではないと判定した場合は、判断、ブ
ロック808に進んで、サブシステム実行状態が拒絶で
あるか否か判定する。そうである場合は、ブロック81
0で、アテンション・ポートへの上位コンピュータの書
込みは無視され、第16図のブロック588に戻って前
述のように進む。
判断ブロック808でサブシステム実行状態が拒絶では
ないと判定した場合は、判断ブロック612に進んで、
サブシステム実行状態がリセット保留開始か否か判定す
る。そうである場合は、ブロック814で、アテンシロ
ン・ポートへの上位コンピュータの書込みは無視され、
第15C図のブロック532に戻って前述のように進む
判断ブロック612でサブシステム実行状態がリセット
保留ではないと判定した場合は、判断ブロック616に
進んで、サブシステムの状態がリセット保留完了である
か否か判定する。そうである場合は、ブロック618で
、アテンシロン・ポートへの上位コンピュータの書込み
は無視され、第14図のブロック508に戻って、前述
のように上位割込みを可能にする。
判断ブロック618でサブシステム実行状態がリセット
保留完了でないと判定した場合は、判断ブロック820
に進んで、サブシステム実行状態がサブシステム・リセ
ット進行中であるか否か判定する。そうである場合は、
ブロック622で、アテンシ冒ン・ポートへの上位コン
ピュータの書込みは無視され、第16図のブロック59
6に戻って前述のように進む。
判断ブロック620でサブシステム実行状態がサブシス
テム・リセット進行中ではないと判定した場合は、ブロ
ック624に進んで、サブシステム実行状態は受諾状態
となり、ブロック626で、アテンシaン・ポートが更
新される。次いでブロック628で、サブシステム実行
状態が復号にセットされる。次いでブロック830で、
コマンド処理プログラムは復号処理を呼び出す。その詳
細は第19図及び第20図に関して後で説明する。
判断ブロックE332で、復号処理がコマンドを受諾し
たか否か判定する。そうである場合は、ブロック634
に進んで、サブシステム実行状態がコマンド受諾にセッ
トされ、第16図の判断ブロック588に戻って前述の
ように進む。
判断ブロック632で、復号処理がコマンドを受諾しな
かったと判定した場合は、ブロック636に進み、サブ
システム実行状態が拒絶にセットされる。ブロック63
8で、BビットとREJビットが1にセットされ、Sビ
ットがコマンド使用中/状況ポート中の復号処理によっ
て決定されるよろにセットされる。次いで第16図の判
断ブロック588に戻って前述のように進む。
次に第18図に関して、第14図のブロック5l2のコ
マンド・インタフェース・ポートへの書込みの処理につ
いて詳しく説明する。判断ブロック840で、サブシス
テム実行状態が復号であるか否か判定する。そつである
場合は、ブロック642で、コマンド・インタフェース
・ポートへの上位コンピュータの書込みは無視され、第
15A図のブロック552に戻って前述のように進む。
ブロック640でシステム実行状態が復号ではないと判
定した場合は、判断ブロック844に進み、システム実
行状態が拒絶であるか否か判定する。
そうである場合は、ブロック646で、コマンド・イン
タフェース・ポートへの上位システムの書込みは無視さ
れ、第18図のブロック588に戻って前述のように進
む。
判断ブロック644でサブシステム実行状態が拒絶では
ないと判定した場合は、判断ブロック648に進み、サ
ブシステム実行状態がリセット保留開始であるか否か判
定する。そうである場合、ブロック゜850で、コマン
ド・インタフェース・ポートへの上位コンピュータの書
込みは無視され、第15C図のブロック532に戻って
前述のように進む。
判断ブロック648でサブシステム実行状態がリセット
保留開始ではないと判定した場合は、判断ブロック65
2に進んで、サブシステム実行状態がリセット保留完了
であるか否か判定する。そうである場合、ブロック65
4で、コマンド・インタフェース・ポートへの上位コン
ピj一夕の書込みは無視され、第14図のブロック50
8に戻って前述のように進む。
判断ブロック652でサブシステム実行状態がリセット
保留完了ではないと判定した場合は、判断ブロック85
8に進み、サブシステム実行状態がサブシステム・リセ
ット進行中であるか否か判定する。そうである場合、ブ
ロック858で、コマンド・インタフェース舎ポートへ
の上位コンビ一一夕の書込みは無視され、第16図のブ
ロック596に戻って前述のように進む。
判断ブロック656でサブシステム実行状態がサブシス
テム・リセット進行中ではないと判定した場合は、ブロ
ック660に進んで、サブシステム実行状態は受諾状態
になる。次いでブロック662で、コマンド・インタフ
ェース・ホートカ、上位コンビュータから供給される値
で更新される。
次いで第16図の判断ブロック688に戻って前述のよ
うに進む。
コマンドが受諾できるかどうか判定するため、コマンド
処理プログラムにより「呼出し様」処理を使って復号処
理が呼び出される。コマンドが受諾された場合、復号処
理は、コマンド処理プログラムにコマンドが受諾された
かそれとも拒絶されたかを示して制御を戻した後、コマ
ンドを実行する装置タスクのスケジュールを立てる。復
号処理は、コマンドが実行を受諾された場合、装置状態
をそれに応じて適宜セットする。コマンドが拒絶された
場合は、復号処理は、コマンド処理プログラムがコマン
ド使用中/状況ポートのSビット値として書き込む値を
戻す。
復号処理に入るには、コマンド処理プログラムからの呼
出しを用いる。復号処理に入ると、処理すべきコマンド
はコマンド・インタフェース●ポートで得られる。アテ
ンシリン・ポートは、コマンド・タイプを含み、コマン
ドが送られる先の装置を識別する。
次に第18図及び第20図に関して、復号処理の詳しい
説明を行なう。判断ブロック664で、そのコマンドに
対するアテンシロン・コードが装置リセットであるか否
か判定する。そうである場合は、判断ブロック666に
進んで、コマンド・インタフェース・ポートのビット7
〜Oの即時コマンド・コードが″O”かどうか判定する
。そろでない場合は、ブロック672に進み、復号処理
はその戻りコードを、コマンドが拒絶されたことを示す
ようにセットする。判断ブロック698または700の
答がノーであった場合もそうなるが、それらの動作につ
いては後で説明する。ブロック674で、拒絶の理由が
無効コマンドであると指示される。ブロック676で、
復号処理はコマンド処理プログラムに制御を戻す。次い
で第17B図の判断ブロック632に戻って、以前に説
明したように進む。
判断ブロック666でコマンド・インタフェース●ポー
トのビット7〜Oの即時コマンド●コードが0であると
判定した場合、判断ブロック868に進んで、アクセス
される装置がアドレス″0?′、すなわちサブシステム
・アドレスであるかどうか、つまりコマンドがサブシス
テムのソフトウェア制御リセット・コマンドであるかど
うか判定する。そうである場合は、ブロック880に進
んで、サブシステムの実行状態をサブシステム・リセッ
ト進行中にセットする。ブロック682で、サブシステ
ム・リセットーソフトウェア制御機能が復号処理によっ
て呼び出される。ブロック684で、復号プロセスは、
その戻りコードをコマンド受諾としてセットし、ブロッ
ク678に戻って、コマンド処理プログラムに戻る。
判断ブロック688で装置アドレスがアドレスflO″
すなわちサブシステム・アドレスではないと判定した場
合は、ブロック870に進んで、アテンシ冒ン・ポート
の装置IDが有効か否か判定する。そうである場合は、
ブロック886に進んで、コマンドが送られる先の装置
の現使用中副状態が、装置状態成分旧使用中副状態にセ
ーブされる。内部変数IBSSが、装置リセットの値に
セットされる。ブロック688で、コマンドが送られる
先の装置の装置状態成分ICが、フマンド・インタフェ
ース・ポート中の値にセットされる。次にブロック68
0で、アドレスされた装置の使用中状態が使用中にセッ
トされる。次にブロック692で、後で実行するためア
ドレスされたコマンドICMDのスケジュールを立てる
ため、サブシステム・スケジュール機姥を呼び出す。次
いでブロック684に戻って、以前に説明したように進
む。
判断ブロック870で、アテンシーン・ポート中の装置
IDが有効でないと判定した場合は、ブロック671に
進んで、コマンドの戻りコードが拒絶にセットされる。
その理由は装置ID無効である。次にブロック676に
進んで、コマンド処理プログラムに戻る。
判断ブロック864でコマンドに対するアテンシeン・
コードが装置リセットではないと判定した場合は、判断
ブロック694に進んで、コマンドに対するアテンシロ
ン・コードが割込みリセットであるか否か判定する。そ
うでない場合は、判断ブロック698に進んで、新しい
コマンドに対するアテンション・コードが即時コマンド
か否か判定する。そうである場合は、後述する判断ブロ
ック700に進む。そうでない場合は、判断ブロック6
98に進み、新しいコマンドに対するアテンシロン・コ
ードがSCBであるか否か判定する。
そうである場合は、後述する判断ブロック702に進む
。そうでない場合は、ブロック672に進んで、以前に
説明したように進む。
判断ブロック694でコマンドに対するアテンシl冫・
コードが割込みリセットであると判定した場合、判断ブ
ロック700に進んで、コマンド・インタフェース●ポ
ート中のコマンドのビット7〜Oの即時コマンド・コー
ドが有効か否か判定する。
コマンドが有効でない場合は、ブロック672に進んで
、以前に説明したように進む。コマンドが有効な場合は
、判断ブロック702に進んで、アテンシーン・ポート
中の装置IDが有効かどうか判定する。そつでない場合
は、ブロック871に進んで、以前に説明したように進
む。そうである場合、判断ブロック704に進んで、装
置が使用可能状態にあるか否か判定する。そうでない場
合は、ブロック706に進んで、戻りコードを拒絶に設
定する。特定の拒絶コードは、ブロック708に示すよ
うに、装置使用不能である。次にブロック67Bに戻っ
て、以前に説明したように進む。
判断ブロック704で、装置が使用可能状態にあると判
定した場合は、第20A図の判断ブロック710に進み
、装置が使用中状態にあるか否か判定する。そうである
場合、判断ブロック712に進んで、新しいコマンドが
割込みリセットであるか否か判定する。そつでない場合
は、判断ブロック714に進んで、新しいコマンドが中
断であるかどうか判定する。そうでない場合は、ブロッ
ク71Bで戻りコードが拒絶に設定される。その理由は
、ブロック718に示すように装置が使用中ということ
である。次いで第19B図のブロック876に戻って、
以前に説明したように進む。
判断ブロック712または714で判定がイエスの場合
、判断ブロック720に進んで、装置が現在SCBを実
行中か否か判定する。そうでない場合は、ブロック71
6に進んで、以前に説明したように進む。そうである場
合は、判断ブロック722に進む。判断ブロック710
で装置が使用中でないと判定した場合も、判断ブロック
722に進む。判断ブロック722で、新しいコマンド
に対するアテンシeン・コードが割込みリセットか否か
を判定する。そうである場合、第19A図のブロック6
8Bに戻る。そうでない場合は、判断ブロック724に
進んで、装置割込み待ち行列が満杯か否か判定する。そ
うである場合、ブロック726で、復号処理はその戻り
コードを拒絶に設定する。特定の拒絶コードは、ブロッ
ク728に示すように割込み待ち行列満杯である。第1
9B図のブロック676に戻って、以前に説明したよう
に進む。
判断ブロック724で装賦割込み待ち行列が満杯ではな
いと判定した場合、判断ブロック730に進んで、新し
いコマンドが中断であるか否か判定する。そうである場
合、第19A図のブロック688に戻って、以前に説明
したように進む。そうでない場合は、ブロック732に
示すように、新しいコマンドはSCBである。次に判断
ブロック734で装置状態がSCBの実行を許すか否か
判定する。そうである場合は第19A図のブロック68
Bに戻って、以前に説明したように進む。
そうでない場合は、ブロック736で戻りコードが拒絶
に設定される。ブロック738で、拒絶理由はSCB実
行拒絶である。第19B図のブロック676に戻って、
以前に説明したように進む。
F.発明の効果 本発明によれば、上位コンピj一夕と、装置を接続でき
る少なくとも1つの知能サブシステムとの間で情報を転
送するためのコマンド・インタフェースが提供される。
上位プロセッサから転送される情報には、直接コマンド
の他に、特定の知能サブシステムまたは装置で実行すべ
きオペレーションを指定するパラメータを含むサブシス
テム制御ブロック(SCB)のような間接コマンドも含
まれる。知能サブシステムから上位プロセッサへ転送さ
れる情報には、使用中信号及び状況信号が含まれる。使
用中信号は、知能サブシステムのコマンド・インタフェ
ース・ポートまたはアテンション・ポートが使用中かど
うかを示し、状況信号は、知能サブシステムおよびそれ
に接続された装置の動作状況を示す。これにより、上位
プロセッサからのコマンドが知能サブシステムで受諾さ
れたか拒絶されたかを早くに知らせることができる。
【図面の簡単な説明】
第1図は、それぞれ複数の装置が接続されている複数の
知能サブシステムに接続された上位システムを含む、コ
ンピュータ●システムのブロック図である。 第2図は、上位システムと1つの知能サブシステムを詳
細に示すブロック図である。 第3図は、上位システムと知能サブシステムの間で情報
を交換するためのコマンド・インタフェースのブロック
図である。 第4図は、アテンション・ポートを詳細に示すブロック
図である。 第5図は、第5A図及び第5B図のつながりを示す図で
ある。 第5A図及び第5B図は、コマンド使用中/状況ポート
を詳細に示す回路図である。 第6図は、即時コマンド用のコマンド・インタフェース
・ポートとアテンション・ポートの一般フォーマットを
示す図である。 第7図は、サブシステム制御ブロック(SCB)コマン
ド用のコマンド・インタフェース・ポートとアテンショ
ン・ポートの一般フォーマットを示す図である。 第8図は、本発明のコンピュータ・システムで使用され
る制御ブロックの詳細なSCBフォーマットを示す図で
ある。 第8図は、詳細な拡張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・・・・インタフェース、122・・・・シ
ステム・プロセッサ集合体(上位プロセッサ)、124
・・・・システム・メモリ、126・・・・マイクロチ
ャネル、128・・・・マイクロチャネル・インタフェ
ース、130・・・・SCB転送サポート論理ブロック
、132・・・・局所マイクロプロセッサ、134・・
・・割込み論理回路、13B、138、140114”
2・・・・接続装置、146・・・・接続装置インタフ
ェース、148・・・・コマンド・インタフェース・ポ
ート、150・・・・アテンシ冒ン・ポー} (AP)
、152・・・・サブシステム制御ポート(SCP)、
154・・・・割込み状況ポート(IsP)、15B・
・・・コマンド使用中/状況ポート(CBSP)。

Claims (31)

    【特許請求の範囲】
  1. (1)上位システム及び少なくとも1つのサブシステム
    を含むデータ処理システムにおいて、前記上位システム
    と前記サブシステムとの間で情報を転送するためのコマ
    ンド・インタフェースにして、前記サブシステムまたは
    前記サブシステムに接続された装置で実行すべきオペレ
    ーションのタイプを示す直接コマンドまたは間接コマン
    ドを前記上位システムから受け取る第1ポートと、 前記第1ポートに受け取られるコマンドが直接コマンド
    か間接コマンドかを示し且つ該コマンドを実行するのが
    前記サブシステムであるのか前記装置であるのかを示す
    コードを受け取る第2ポートと、 を具備するコマンド・インタフェース。
  2. (2)前記直接コマンドは、前記サブシステムまたは前
    記装置が当該コマンドを即時に実行するのに必要なすべ
    ての情報を含み、前記間接コマンドは、前記サブシステ
    ムが実行のために前記上位システムから取り出すべきサ
    ブシステム制御ブロック(SCB)のアドレスである、
    請求項1に記載のコマンド・インタフェース。
  3. (3)前記第2ポート及び自身が使用中かどうかを示し
    且つ前記サブシステムがコマンドを受け入れたか拒否し
    たかを示すコードを前記サブシステムから前記上位シス
    テムへ供給するための第3ポートを含む、請求項2に記
    載のコマンド・インタフェース。
  4. (4)サブシステム・リセット信号を含む制御信号を前
    記上位システムから前記サブシステムへ供給するための
    第4ポートを含む、請求項3に記載のコマンド・インタ
    フェース。
  5. (5)前記サブシステム及び前記装置のいずれが前記上
    位システムに割込みをかけているかを示すコードを前記
    サブシステムから前記上位システムへ供給するための第
    5ポートを含む、請求項4に記載のコマンド・インタフ
    ェース。
  6. (6)前記上位システムは前記SCBを記憶するメモリ
    を有する、請求項2に記載のコマンド・インタフェース
  7. (7)上位プロセッサと、 情報を記憶するメモリと、 装置を接続できる少なくとも1つの知能サブシステムと
    、 前記上位プロセッサと前記サブシステムとの間で情報を
    転送するためのコマンド・インタフェースとを具備し、 前記コマンド・インタフェースは、 前記サブシステムでコマンドを即時に実行するのに必要
    なすべての情報を含む直接コマンド、または前記メモリ
    に記憶されるサブシステム制御ブロック(SCB)のア
    ドレスである間接コマンドが前記上位プロセッサから書
    き込まれるコマンド・インタフェース・レジスタと、 前記直接コマンド及び前記間接コマンドのいずれが前記
    コマンド・インタフェース・レジスタに書き込まれたか
    を示す第1部分、並びに前記サブシステム及び前記装置
    のいずれが当該コマンドを実行するかを示す第2部分を
    有するコードが前記上位プロセッサから書き込まれるア
    テンション・レジスタと、 前記サブシステムに設けられ、前記コマンド・インタフ
    ェース・レジスタに書き込まれたコマンド及び前記アテ
    ンション・レジスタに書き込まれたコードを読み取って
    、前記サブシステムまたは前記装置で前記直接コマンド
    または前記間接コマンドを実行させる手段と、 を具備する計算システム。
  8. (8)前記上位プロセッサから前記アテンション・レジ
    スタへの書き込みに応答して第1の状態にセットされ、
    前記コマンド・インタフェース・レジスタに書き込まれ
    たコマンドへの応答があった時に第2の状態にセットさ
    れる使用中ビット位置と、最初のコマンドが前記コマン
    ド・インタフェース・レジスタまたは前記アテンション
    ・レジスタに書き込まれた時に第1の状態にセットされ
    て、前記コマンド・インタフェース・レジスタまたは前
    記アテンション・レジスタへの後続コマンドの書き込み
    を禁止し、前記最初のコマンドが処理されると、第2の
    状態にセットされて、前記コマンド・インタフェース・
    レジスタ及び前記アテンション・レジスタへの後続コマ
    ンドの書き込みを許す拒絶ビット位置を含むコマンド使
    用中/状況レジスタを有する、請求項7に記載の計算シ
    ステム。
  9. (9)前記上位プロセッサから受け取ったコマンドの実
    行完了に関する識別コード及び情報を前記サブシステム
    から書き込める割込み状況レジスタと、該レジスタの内
    容を前記上位プロセッサに読み取るための手段とを有す
    る、請求項8に記載の計算システム。
  10. (10)サブシステム機能を制御する情報を前記上位プ
    ロセッサから書き込むサブシステム制御レジスタを有し
    、前記サブシステムが該情報を読み取ってそれに応答す
    る、請求項9に記載の計算システム。
  11. (11)前記SCBは、前記サブシステムが前記メモリ
    から取り出すべき少なくとも1つの他のSCBのアドレ
    スを含む、請求項6または7に記載の計算システム。
  12. (12)前記SCBは、前記メモリにあるバッファに対
    する1組のポインタを有する間接リストを指し示すアド
    レスを含み、前記バッファはオペレーション実行に必要
    なデータを含む、請求項11に記載の計算システム。
  13. (13)前記SCBは前記メモリにある終了状況ブロッ
    クのアドレスを含み、前記サブシステムまたは前記装置
    は該アドレスを用いて所与のSCBの完了または終了の
    状況を記憶する、請求項12に記載の計算システム。
  14. (14)上位システム、装置を接続できる少なくとも1
    つのサブシステム、及び前記上位システムと前記サブシ
    ステムとの間で情報を転送するためのコマンド・インタ
    フェースを含むデータ処理システムにおいて、 前記サブシステムまたは前記装置で実行すべきオペレー
    ションのタイプを示す直接コマンドまたは間接コマンド
    を前記上位システムから前記コマンド・インタフェース
    の第1ポートへ供給し、前記直接コマンド及び前記間接
    コマンドのいずれが前記第1ポートに受け取られたか、
    並びに前記サブシステム及び前記装置のいずれがそのコ
    マンドを実行するのかを示すコードを前記上位システム
    から前記コマンド・インタフェースの第2ポートへ供給
    する、 データ処理システム動作方法。
  15. (15)前記直接コマンドは、前記サブシステムまたは
    前記装置で即時にコマンドを実行するのに必要なすべて
    の情報を含む即時コマンドであり、前記間接コマンドは
    、前記サブシステムが実行のために前記上位システムか
    ら取り出すべきサブシステム制御ブロック(SCB)の
    アドレスである請求項14に記載の方法。
  16. (16)前記サブシステムがコマンドを受け入れたか拒
    否したかを示すコードを前記サブシステムから前記コマ
    ンド・インタフェースの第3ポートへ供給する請求項1
    5に記載の方法。
  17. (17)サブシステム・リセット信号を含む制御信号を
    前記上位システムから前記コマンド・インタフェースの
    第4ポートへ供給する、請求項16に記載の方法。
  18. (18)どの装置が前記上位システムに割込みをかけて
    いるかを示すコードを前記サブシステムから前記コマン
    ド・インタフェースの第5ポートへ供給する、請求項1
    7に記載の方法。
  19. (19)前記上位システムは前記SCBを記憶するメモ
    リを有する、請求項15に記載の方法。
  20. (20)上位プロセッサ、情報を記憶するメモリ、装置
    を接続できる少なくとも1つの知能サブシステム、及び
    前記上位プロセッサと前記サブシステムとの間で情報を
    転送するためのコマンド・インタフェースを含む計算シ
    ステムにおいて、 前記サブシステムでコマンドを即時に実行するのに必要
    なすべての情報を含む直接コマンド、または前記メモリ
    に記憶されているサブシステム制御ブロック(SCB)
    のアドレスである間接コマンドを前記上位プロセッサか
    ら前記コマンド・インタフェースにあるコマンド・イン
    タフェース・レジスタへ供給し、 前記直接コマンド及び前記間接コマンドのいずれが前記
    コマンド・インタフェース・レジスタへ供給されたかを
    示す第1部分、並びに前記サブシステム及び前記装置の
    いずれがそのコマンドを実行するかを示す第2部分を有
    するコードを前記上位プロセッサから前記コマンド・イ
    ンタフェースにあるアテンション・レジスタへ供給し、 前記コマンド・インタフェース・レジスタへ供給された
    コマンド及び前記アテンション・レジスタへ供給された
    コードを前記サブシステムで読み取って、該コマンドが
    直接コマンドの場合は、前記コードの第2部分に従って
    前記サブシステムまたは前記装置で実行し、前記コマン
    ドが間接コマンドの場合は、指定されたSCBアドレス
    を用いて前記メモリを直接アクセスし、前記コードの第
    2部分に従って前記サブシステムまたは前記装置でSC
    Bを実行する、 計算機システム動作方法。
  21. (21)コマンドが前記上位プロセッサから前記アテン
    ション・レジスタへ供給されたことに応答して前記コマ
    ンド・インタフェースにあるコマンド使用中/状況レジ
    スタの使用中ビット位置を第1の状態へセットし、該使
    用中ビット位置は前記コマンド・インタフェース・レジ
    スタへ供給されたコマンドに対する応答がなされると第
    2の状態へセットされ、 最初のコマンドが前記コマンド・インタフェース・レジ
    スタまたは前記アテンション・レジスタへ供給されると
    前記コマンド使用中/状況レジスタの拒絶ビット位置を
    第1の状態にセットして、前記コマンド・インタフェー
    ス・レジスタまたは前記アテンション・レジスタへの後
    続コマンドの供給を禁止し、前記最初のコマンドが処理
    されると、前記拒絶ビット位置を第2の状態にセットし
    て前記コマンド・インタフェース・レジスタ及び前記ア
    テンション・レジスタへの後続コマンドの供給を許可す
    る、請求項20に記載の方法。
  22. (22)前記上位プロセッサからのコマンドの完了に関
    する識別コード及び情報を前記サブシステムから前記コ
    マンド・インタフェースにある割込み状況レジスタへ供
    給し、前記上位プロセッサが該レジスタの内容を読み取
    る、請求項21に記載の方法。
  23. (23)サブシステム機能を制御する情報を前記上位プ
    ロセッサから前記コマンド・インタフェースにあるサブ
    システム制御レジスタへ供給し、前記サブシステムが前
    記情報を読み取って応答する、請求項22に記載の方法
  24. (24)前記SCBは、前記サブシステムが前記メモリ
    から取り出すべき少なくとも1つの他のSCBのアドレ
    スを含む、請求項14または20に記載の方法。
  25. (25)前記SCBは、前記メモリにあるバッファに対
    する1組のポインタを有する間接リストを指し示すアド
    レスを含み、前記バッファはオペレーション実行に必要
    なデータを含む、請求項24に記載の方法。
  26. (26)前記SCBは、前記メモリにある終了状況ブロ
    ック(TSB)のアドレスを含み、前記サブシステムま
    たは前記装置は該アドレスを用いて所与のSCBの完了
    または終了の状況を記憶する、請求項25に記載の方法
  27. (27)上位プロセッサ、装置を接続できる少なくとも
    1つのサブシステム、及び前記上位プロセッサと前記サ
    ブシステムとの間で情報を転送するためのコマンド・イ
    ンタフェースを含み、該コマンド・インタフェースは、
    前記上位プロセッサからコマンドを受け取っている時活
    動状態にあるコマンド・インタフェース・ポートと、前
    記サブシステム及び前記装置のいずれがコマンドを受け
    取るかを示すコードを前記上位プロセッサから受け取っ
    ている時活動状態にあるアテンション・ポートと、使用
    中ビット位置及び拒絶ビット位置を含むコマンド使用中
    /状況ポートと、サブシステム・リセット・ビット位置
    及び拒絶状態リセット・ビット位置を含むサブシステム
    制御ポートとを有する計算機システムにおいて、 前記アテンション・ポートが活動状態にあること、また
    は前記サブシステム制御ポートのサブシステム・リセッ
    ト・ビット位置がオン状態にあることに応答して、前記
    コマンド使用中/状況ポートの使用中ビット位置をオン
    状態にセットし、前記サブシステム制御ポートのいずれ
    かのリセット・ビット位置がオン状態にあることに応答
    して前記コマンド使用中/状況ポートの拒絶ビット位置
    をオン状態にセットする、 計算機システム動作方法。
  28. (28)上位プロセッサ、装置を接続できる少なくとも
    1つのサブシステム、及び前記上位プロセッサと前記サ
    ブシステムとの間で情報を転送するためのコマンド・イ
    ンタフェースを含み、該コマンド・インタフェースは、
    前記上位プロセッサからコマンドを受け取っている時活
    動状態にあるコマンド・インタフェース・ポートと、前
    記サブシステム及び前記装置のいずれがコマンドを受け
    取るかを示すコードを前記上位プロセッサから受け取っ
    ている時活動状態にあるアテンション・ポートと、サブ
    システムのリセット及びサブシステム割込みの許可また
    は禁止を制御するサブシステム制御ポートとを有する計
    算機システムにおいて 前記上位プロセッサが前記ポートのいずれかに書き込み
    を行うまで待機し、 前記上位プロセッサからの割込みを禁止し、前記サブシ
    ステム制御ポートへの書き込みがあるかどうかを調べて
    、もしあれば該書き込みを処理し、 前記サブシステム制御ポートへの書き込みがなければ、
    前記コマンド・インタフェース・ポートへの書き込みが
    あるかどうかを調べて、もしあれば該書き込みを処理し
    、 前記コマンド・インタフェース・ポートへの書き込みが
    なければ、前記アテンション・ポートへの書き込みを処
    理する、 計算機システム動作方法。
  29. (29)前記コマンド・インタフェース・ポートへの書
    き込みの処理において、前記コマンド・インタフェース
    ・ポートへの前の書き込みが処理中であるかどうかを調
    べ、もし処理中であれば現在受け取っているコマンドを
    無視し、処理中でなければ該コマンドを処理する、請求
    項28に記載の方法。
  30. (30)前記アテンション・ポートへの書き込みの処理
    において、前記アテンション・ポートへの前の書き込み
    が処理中であるかどうかを調べ、もし処理中であれば現
    在受け取っているコマンドを無視し、処理中でなければ
    該コマンドを処理する、請求項29に記載の方法。
  31. (31)前記サブシステム制御ポート、前記コマンド・
    インタフェース・ポートまたは前記アテンション・ポー
    トへの書き込みの処理に続いて割込みを許可する、請求
    項30に記載の方法。
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 true JPH0322162A (ja) 1991-01-30
JPH0670783B2 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
WO1996026488A1 (en) * 1995-02-24 1996-08-29 Intel Corporation System management shadow port
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
US5794069A (en) * 1995-12-13 1998-08-11 International Business Machines Corp. Information handling system using default status conditions for transfer of data blocks
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
US5991861A (en) * 1996-03-15 1999-11-23 Adaptec, Inc. Method of enabling and disabling a data function in an integrated 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
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
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
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
US5867732A (en) * 1996-03-15 1999-02-02 Adaptec, Inc. Hardware method for verifying that an area of memory has only zero values
US5812877A (en) * 1996-03-15 1998-09-22 Adaptec, Inc. I/O command block chain structure in a memory
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
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
NZ233824A (en) 1992-09-25
PH31356A (en) 1998-07-31
AU5597890A (en) 1990-12-13
DE69031547T2 (de) 1998-03-26
GB9008084D0 (en) 1990-06-06
EP0402054A2 (en) 1990-12-12
US5131082A (en) 1992-07-14
EP0402054B1 (en) 1997-10-08
KR920008459B1 (ko) 1992-09-30
JPH0670783B2 (ja) 1994-09-07
CN1021380C (zh) 1993-06-23
BR9002710A (pt) 1991-08-20
CN1048938A (zh) 1991-01-30
AR246125A1 (es) 1994-03-30
KR910001557A (ko) 1991-01-31
PE34890A1 (es) 1991-01-18
DE69031547D1 (de) 1997-11-13
EP0402054A3 (en) 1992-08-05
CO4700362A1 (es) 1998-12-29
MY105624A (en) 1994-11-30
CA2012400C (en) 1999-03-30
AU630699B2 (en) 1992-11-05
CA2012400A1 (en) 1990-12-09

Similar Documents

Publication Publication Date Title
JPH0322162A (ja) データ処理システムのコマンド・インタフエース
US5170471A (en) Command delivery for a computing system for transferring data between a host and subsystems with busy and reset indication
US5185864A (en) Interrupt handling for a computing system with logical devices and interrupt reset
US3996564A (en) Input/output port control
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
JP3335172B2 (ja) データ処理システム及びそれに使用するための入出力プロセッサ
US4939644A (en) Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
US5524268A (en) Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
US4315310A (en) Input/output data processing system
US6449709B1 (en) Fast stack save and restore system and method
US4038642A (en) Input/output interface logic for concurrent operations
US6021458A (en) Method and apparatus for handling multiple level-triggered and edge-triggered interrupts
US4447874A (en) Apparatus and method for communication of information between processes in an information system
US5038275A (en) Status transfer structure within a data processing system with status read indication
JPH05216835A (ja) 割込み再試行低減装置
JPS605988B2 (ja) デ−タ処理装置
JPH04318649A (ja) データ処理システム
JPH06187470A (ja) データ・フロー・コントローラ
US5367649A (en) Programmable controller
US20020099893A1 (en) System and method for the handling of system management interrupts in a multiprocessor computer system
JPS6155743A (ja) エラ−検出、分離および回復装置
JPH0198048A (ja) 周辺装置制御装置およびアダプタ・インターフェース
JPS6035697B2 (ja) 入出力制御システム
JPH03109644A (ja) マイクロコンピュータ
US7620751B2 (en) Command scheduling and affiliation management for serial attached storage devices

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