JPH0355653A - 割込み処理のためのシステムおよび方法 - Google Patents

割込み処理のためのシステムおよび方法

Info

Publication number
JPH0355653A
JPH0355653A JP2155578A JP15557890A JPH0355653A JP H0355653 A JPH0355653 A JP H0355653A JP 2155578 A JP2155578 A JP 2155578A JP 15557890 A JP15557890 A JP 15557890A JP H0355653 A JPH0355653 A JP H0355653A
Authority
JP
Japan
Prior art keywords
logical
interrupt
command
subsystem
port
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
JP2155578A
Other languages
English (en)
Other versions
JPH0640321B2 (ja
Inventor
Michel Francis
フランシス・マイケル
Chester A Heath
チエスター・アズバリイ・ヒイース
Ernest N Mandese
アーネスト・ネルソン・マンデイズ
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 JPH0355653A publication Critical patent/JPH0355653A/ja
Publication of JPH0640321B2 publication Critical patent/JPH0640321B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)

Abstract

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

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、コンピュータ・システムの分野に属し、具体
的には割込み処理機構を対象とする。さらに詳細には、
本発明は、サブシステムから上位プロセッサへの1回の
物理割込み時に多数の間接コマンド論理割込みを処理す
ることを対象とする。
上位プロセッサは、1個の割込みリセット・コマンドで
、サブシステム内の所与の論理装置から多数の論理割込
みをクリアすることができる。
B.従来の技術 大部分のコンピュータ・システムでは、優先順位の高い
事象を処理するために上位プロセッサに割り込む機構が
存在する。優先割込みは、入出力コマンドの実行完了、
非同前事象の発生、あるいは重大なエラーの発生を上位
プロセッサに知らせるためにしばしば使用される。優先
割込みとは、上位プロセッサで実行中の低優先順位のプ
ログラムを一時的に停止させ、優先割込みを処理するプ
ログラムが実行できるようにするものである。このプロ
グラムを割込み処理プログラムと呼ぶ。優先割込みは、
非同期事象に対する速やかな応答が望ましい時に使用さ
れる。
C.発明が解決しようとする課題 多くのコンピュータ・システムでは、優先割込みを処理
する際に比較的大量のオーバヘッドを要する。たとえば
、割込み処理プログラムが始動されるとき、しばしばポ
インタとレジスタをセーブし、その後割込みを受けたプ
ログラムのためにそれらを復元しなければならない。オ
ーバヘッド処理が、割込みからのデータを処理するのに
必要な処理の量を上回ることもあり得る。短時間の間に
多数の割込みが発生した時は、オーバヘッドが非常に大
きくなって、優先割込みの処理にかなり長い遅延が生じ
ることがあり得る。遅延が長いと、システム全体の性能
をかなり低下させる恐れがある。
D.課題を解決するための手段 本発明によれば、高割込みアクティビティ期間中に上位
システムへの優先割込みの回数が減り、したがってシス
テム全体の性能が向上する。これは、あるサブシステム
からの1回の優先割込みを使って、1個または複数の論
理割込みを上位システムに提示できるようにすることに
より達成される。論理割込みとは、通常なら優先割込み
を生じる事象を記述するものである。ただし、別の優先
割込みが現在処理中であるかどうかに応じて、論理割込
みが優先割込みを引き起こすことも引き起こさないこと
もある。本発明は、実際に優先割込みを受け取らずとも
、上位システム中の割込み弊理プログラムが論理割込み
の発生を検出できるようにするものである。論理割込み
の存在を検出(シ、それをリセット)することにより、
優先割込みを減らし、割込み待ち時間を減らし、システ
ム全体の性能を向上させることができる。
本発明の一目的は、割込み待ち時間が改善された割込み
処理システムを提供することにある。
本発明の他の目的は、サブシステムからシステム・プロ
セッサへの物理割込みの回数を減らす割込み処理プログ
ラムを提供することにある。
本発明の他の目的は、多数の論理割込みを記憶して、サ
ブシステムから上位プロセッサへの1回の物理割込み時
にそれを提示できるようにすることである。
本発明の他の目的は、上位プロセッサからの1個の割込
みリセット・コマンドで、サブシステム内の論理装置に
対する1個または複数の論理割込みをリセットできるよ
うにすることである。
本発明の他の目的は、接続された装置を有する少なくと
も1つのサブシステムに上位コンピュータが直接コマン
ドと間接コマンドを送るという、コンピュータ・システ
ム用の割込み処理プログラムを提供することにある。直
接コマンドの場合、1つのサブシステムから上位プロセ
ッサへの物理的割込みが、第1ポートを介−して逐次供
給される。
間接コマンドの場合は、1つのサブシステムおよび接続
された装置に対する論理割込みが、第2ポートの所定の
ビット位置に記憶される。その1つのサブシステムまた
は接続装置からの少なくとも1個の論理割込みが保留中
であれば、間接コマンドに関する単一の物理割込みが上
位コンピュータに供給される。この単一の物理割込みに
応答して、第2ポートのビット位置から物理割込みが並
列に読み出されて、間接コマンドに関する論理割込みの
保留状態が決定される。単一装置に対する複数の論理割
込みが、上位プロセッサからの1個の割込みリセット・
コマンドでリセットできる。
本発明の他の目的は、上位コンピュータが接続装置を有
する少なくともlつのサブシステムに、即時コマンドを
またはサブシステム制御ブロック(SCB)のアドレス
を供給するという、コンピュータ・システム用の割込み
処理プログラムを提供することにある。各SCBは、そ
のSCBを処理中のサブシステムが、そのSCBに対す
る論理割込み要求に関する指示を含む完了状況または終
了状況を記憶する先の、システム・メモリ内の終了状況
ブロック(TCB)のアドレスを含んでいる。即時コマ
ンドの場合は、その1つのサブシステムからの物理割込
みが、割込み状況ポートを介して逐次供給される。SC
Bコマンドの場合は、その1つのサブシステムおよび接
続された装置に対する論理割込みが、装置割込み識別ポ
ー}(DIIP)の所定のビット位置に記憶される。そ
の1つのサブシステムまたは接続装置からの間接コマン
ドに関する少なくとも1個の論理割込みが保留中であれ
ば、単一の物理割込みが上位コンピュータに供給される
。この単一の物理割込みに応答して、DIIPの当該の
ビット位置から論理割込みが読み出されて、SCBに関
する論理割込みの保留状態が決定される。所与の論理割
込みに応答して上位コンピュータが関連するTSBを検
査し、SCBが完了している場合は、上位コンピュータ
からその論理割込みをクリアする割込みリセット・コマ
ンドが発行される。所与の装置に対する複数の論理割込
みが1個の割込みリセット・コマンドでクリアできる。
1個の物理割込みで多数の間接コマンド割込みを処理す
る方法および装置が提供される。コンピュータ・システ
ムは、上位プロセッサと、装置が接続された少なくとも
1つの知能サブシステムを含む。その1つの知能サブシ
ステムと接続装置は、それぞれ上位プロセッサから論理
装置と見なされ、それぞれに装置識別番号が割り当てら
れる。
上位プロセッサは論理装置に間接コマンドを供給し、こ
れらのコマンドに対する割込みが、装置識別番号に応じ
て装置割込み識別ポー}(DIIP)の所定のビット位
置に記憶される。少なくとも1個の論理装置からの少な
くとも1個の論理割込みが保留中であれば、l個の物理
割込みが上位プロセッサに供給される。この1個の物理
割込みに応答して、上位プロセッサはDIIPを読み取
って、どの論理装置で少なくとも1個の論理割込みが保
留中であるかを決定する。上位プロセッサからの1個の
割込みリセット・コマンドである論理装置に対する多数
の論理割込み力jクリアできる。
E.実施例 本発明は、一般に割込み処理機構を対象としており、上
位コンピュータ・システム上で走行するプログラム用の
コマンド転送システムに関して説明する。コマンド転送
システムの詳細は第1図ないし第20図に関して説明し
、割込み処理機構の詳細は第21図ないし第26図に関
して説明する。
頭記の特許請求の範囲に記載した割込み処理機構は、下
記で述べるシステム以外のコンピュータ・システムにも
適用できることを理解されたい。複数の装置が接続され
た少なくとも1つの知能サブシステムに、直接コマンド
または間接コマンドがコマンド・インタフェースを介し
て転送される。
この説明では、本発明を、IBMパーソナル・システム
/2 (PS/2)コンピュータ上で走行するプログラ
ム用のコマンド転送システムに関して説明する。即時コ
マンドなどの直接コマンド、及びPS/2システム・メ
モリに記憶されたサブシステム制御ブロックなどの間接
コマンドが、IBMマイクロチャネルを介して1つの知
能サブシステム上のコマンド・インタフェースに転送さ
れる。
知能サブシステムには、磁気テープ装置、磁気ディスク
装置、印刷装置、通信装置、表示装置など複数の装置を
接続することができる。ただし、本発明は、インタフェ
ース・ネットワークを介して知能サブシステムにコマン
ドを転送する他の上位(ホスト)コンピュータ・システ
ムでも実施できることを了解されたい。
サブシステム制御ブロック(SCB)アーキテクチャは
、上位プロセッサとサブシステムの間に、直接記憶アク
セス(DMA)能力を有し、かつコマンド・レベルの動
作を扱うことのできる、制御ブロック・レベルのインタ
フェースをもたらすものと定義される。SCB内に個々
のコマンドが含まれる。1つのSCBが他の1つまたは
複数のSCBのアドレスを指し、この連鎖が1つの論理
コマンドとして扱われるという、コマンド連鎖がある。
また、所与のコマンドに関連する多数のバッファのデー
タ連鎖がある。このバッファの連鎖は、間接リストを使
った構造である。
SCBは、システム・メモυ中に終了状況ブロック(T
SB)を含んでいる。所与のSCHの完了または終了状
況が、そのコマンドを処理するサブシステムによってT
SHに入れられる。コマンド連鎖の任意の点での終了を
処理するため、連鎖内の各SCBごとにTSBが定義さ
れる。
SCBとTSBの詳しい説明は、下記で述べるコマンド
転送システムの全体的説明の後に行なう。
第1図は、本発明にもとづくコンピュータ・システムの
全体的構成図である。上位コンピュータ・システムl0
0は、バス・アーキテクチャ110を介して複数の知能
サブシステム102、104、108、108と情報を
交換する。バス・アーキテクチャ110は、上位コンピ
ュータ・システム100上のチャネル112、及びサブ
システム102上のインタフェース114など各サブシ
ステム上のインタフェースの間に接続されている。サブ
システム104、106、108はそれぞれサブシステ
ム102と類似している。バス・アーキテクチャは、制
御信号を交換するための制御パス116と、データ信号
を交換するためのデータ・バス118と、アドレスを交
換するためのアドレス・バス120を含んでいる。
第2図は、システム100とサブシステム102の詳細
を示す。ただし、他のサブシステムも同様に構成されて
いる。
上位システム100は、バス128を介して主記憶装置
124に接続されたシステム・プロセッサ集合体または
上位プロセッサ122を含んでいる。システム・プロセ
ッサ集合体122は、マイクロチャネル126で主記憶
装置(システム・メそり)124に接続された、上記の
PS/2などのパーソナル・コンピュータ・クラスのマ
イクロプロセッサから構成される。PS/2およびマイ
クロチャネルの動作については、IBM刊行物rPS/
2ハードウェア・インタフェース技術解説書( P S
 / 2 }1ardvare Interface 
TechnicalReference ) J資料番
号88X−2330−0に記載されている。記憶装11
124は、上位プロセッサ122からアクセスでき、ま
たサブシステム102から直接記憶アクセスによってア
クセスできる。
サブシステム102は、マイクロチャネル12Bへのマ
イクロチャネル・インタフェース128を含む、接続機
構またはアダプタから構成される。
このインタフェースは、1組の入出力ポートを含む。こ
れらのポートの詳細は第3図に関して説明するが、シス
テム上位プロセッサがサブシステムにコマンドを送り、
サブシステムから回答を受け取るようにするためのもの
である。これらのポートは、主記憶空間または入出力空
間にマップすることができる。またこのインタフェース
は、アダプタが必要とするマイクロチャネル・バス・マ
スタ/スレーブ機能を提供する。
コマンドとしては、直接コマンドまたは即時コマンドと
、主記tiia置124内のサブシステム制御ブロック
(SCB)のアドレスなどの間接コマンドがある。SC
B転送支持論理ブロック130が、SCBコマンドを、
インテル801813または80188クラスのマイダ
ロブロセッサなどの局所マイクロプロセッサ132に供
給する。上記のマイクロプロセッサの動作は、「インテ
ル・マイクロプロセッサおよび周辺装置ハンドブック(
 Inte l旧croprocessor and 
PeripheralHandbook) Jに記載さ
れている。SCB転送ブロック130はまた、プロセッ
サ132内の割込み論理回路(I)134に局所プロセ
ッサ割込みを供給する。SCB転送論理ブロック130
とマイクロプロセッサ132に含まれるコマンド処理プ
ログラムの機能とプロセッサ復号機能を示す詳細な流れ
図を第14図ないし第18図に示す。
マイクロプロセッサ132は、scBコマンドに応答し
て、接続装置インタフェース146を介して接続された
装置136、138、140,142に対してタスクの
スケジュールを立てる。インタフェース146は、例え
ば小型コンピュータ・システム・インタフェース(SC
SI)である。
SCS Iインタフェースの動作は、「米国規格協会(
ANSI)情報システム規格一小型コンピュータ・シス
テム・インタフェース(SCSI)(Aserican
 National Standards Insti
tute ( AN S I ) For Infor
mation Systems−SmallCo+*p
uter Systems Interface ( 
S C S I ) ) J s刊行物番号ANSI 
 X3.131−1986に記載されている。接続装置
は、磁気ディスク装置、磁気テープ装置、直接アクセス
記憶装置(DASD)、印刷装置、表示装置などである
。装置D(0)13Bは、サブシステムにコマンドヲ送
ルために利用される。知能サブシステム136と装fl
t138、1401 1−42は、それぞれ上位プロセ
ッサから論理装置と見なされ、装置識別番号D(0)、
D(1)、D(2)、D(n)が割り当てられ、それを
使ってアドレスされる。
マイクロチャネル・インタフェースの入出力ポートを第
3図に示す。サブシステムを制御するように定義された
ポートは、次の順序で入出力アドレス空間内で割り振ら
なければならない。
(1)  コマンド・インタフェース・ボー}148(
2)アテンシaン・ポー} (AP)150(3)サブ
システム制御ボード152 (4)割込み状況ポート154 (5)コマンド使用中/状況ポー} (CBSP)15
6 (6)装置割込み識別ポート(DIIP)158これら
のポートは、入出力アドレス空間の代りにシステム・メ
モリ・アドレス空間にマツブすることができる。この説
明では、入出力アドレスを選んだ。したがって、説明中
で「出力」コマンドまたは「入力」コマンドを使ってい
る箇所で、ポートヲシステム・メモリ・アドレス空間に
マッフスる場合はその代りに「システム書込み」コマン
ドまたは「システム読取り」コマンドを使うことになる
コマンド・インタフェース・ポート148は、コマンド
・ポートとも呼ばれ、サブシステム読取り/システム書
込みレジスタである。この32ビット・レジスタは、2
ワード(32ビット)の直接コマンドすなわち即時コマ
ンド、またはSCBアドレスなどの間接コマンドを、シ
ステムからサブシステムに転送するのに使用する。間接
コマンドまたはSCBは、サブシステムが実行すべき動
作を指定する。
システム・プログラムは、即時コマンドまたはSCBア
ドレスをコマンド・インタフェース・ポート148に書
き込み、次いでアテンシロン・ポート150に書き込む
。サブシステムは、コマンド使用中/状況ポート156
中の使用中ビット(B)をセットする。システムがアテ
ンシロン・ポート150に書き込むと、その旨が割込み
論理ブロック134(第2図)を介して局所マイクロプ
ロセッサ132に伝えられる。この割込みに応答して、
サブシステムは、アテンション・ポート150とコマン
ド・インタフェース・ポート148を読み取り、次いで
実行すべき動作の種類とその対象となる装置を決定する
。サブシステムは、コマンド・インタフェース・ポート
148中に供給されたアドレスにあるSCBを取り出し
、あるいは即時コマンドを実行する。
アテンシーン・ポート150は、サブシステム読取り/
システム書込みレリスタである。この8ビットまたは1
6ビットのレジスタは、コマンドヲ実行すべくサブシス
テムの注意を要求するために、システム・プログラムが
使用する。このレジスタ内のビットは、要求される動作
および関連する装置番号を示す。言い換えれば、アテン
シロン・ポートは、即時コマンドまたはSCBアドレス
のどちらをコマンド・インタフェース・ポート148で
受け取るかを示す第1の部分と、サブシステムまたは接
続装置のどちらが、コマンド・インタフェース・ポート
148で受け取ったコマンドを実行するかを示す第2の
部分とを有するコードを受け取る。アテンシ日ン・ポー
ト150がシステムによって書き込まれると、コマンド
使用中/状況ポート156中の使用中ビットCB)が、
サブシステムによって直ちに″1”にセットされる。
この使用中ビット(B)は、サブシステムがアテンシ2
冫要求および関連するコマンド・インタフェース・ポー
トを読み取り、このコマンドを受け入れることができる
かどうか判定するまで、セットされたままとなる。使用
中ビットが″0″のときは、サブシステムは新しいフマ
ンドを受け取ることができるはずである。使用中ビット
はまた、サブシステムがサブシステム・リセットを完了
するまで、セットされたままとなる。
第4図にアテンション・ポー} (AP)150の詳細
を示す。上位プロセッサは−.APに読取り/書込みア
クセスを行なうことができる。APへのシステム・ソフ
トウェア書込み(SSW)動作またはシステム・ソフト
ウェア読取り(SSR)動作の間、マイクロチャネル入
出力アドレスは、マイクロチャネルのセットアップ時に
APに割り当てられたサブシステム選択のための値と等
しくなければならない。
APは、APレジスタ143の入力端で、8ビットのア
テンシeン・コマンド141を受け取る。
この人カアテンシロン・コマンドは、ANDゲ−ト15
3が活動状態のとき、レジスタ143にクロック入力さ
れ、レジスタの出力端157から出力される。ゲート1
53が活動状態のとき、SET  AP  INTRP
T信号が線155上に供給される。この信号は、上位プ
ロセッサによってAPにコマンドが書き込まれたことを
知らせる、サブシステム局所プロセッサへの割込みであ
る。ゲート153が非活動状態のときは、アテンシeン
・コマンドをレジスタ143にクロック入力することが
できず、したがって、サブシステムはそれを無視する。
4つの入力が、ゲート153が″1″の出力をもつかど
うかを制御する。正の論理入力を正(十)符号で表し、
負の論理入力を負(−)符号で表す。
線145上の第1の入力は+MC  AP  SEL信
号であり n1eeのとき、APに対するマイクロチャ
ネル・アドレスが有効であり、かつ上位プロセッサがこ
のサブシステムに対するAPを選択したことを示す。線
147上の第2の入力は+SSW  REG  CLK
信号であり 11 1 IIのとき、このサブシステム
の入出力アドレス空間に対するマイクロチャネル入出力
書込みが有効であることを示す。第3と第4の信号は、
コマンド使用中/状況ポート(CBSP)か6供給され
る。線149上の第3の入力は−CBSP  BITO
  (B)信号であり、これは使用中ビッ} (B)信
号である。この信号は負の論理信号なので、Bが゜゜0
″のとき、線149上の信号は゜゛工”となり、Bが”
1″のとき、線149上の信号は゜“O I1となる。
線151上の第4の入力は−CBSP  BIT4(R
EJ)信号であり、これは拒絶(REJ)信号である。
この信号は負の論理信号なので、REJが″O″のとき
、線151上の信号は゛1゜゜となり、REJが″1”
のとき、線151上の信号は″O″となる。線−145
、147、149、151がそれぞれ″1″のときは、
線141上のアテンシ書ン・コマンドがレジスタ143
にクロック入力され、線155上のSET  AP  
INTRPT信号が局所プロセッサに、AP中にコマン
ドが書き込まれたことを伝える。逆に、これらの線のい
ずれかが″0″の場合は、ゲート153は゜′On出力
を供給し、それによってAPレジスタ143へのコマン
ドの書込みが阻止される。具体的に言うと、使用中ビッ
トiたはREJビットが″1゜“の場合、APレジスタ
143へのコマンドの書込みが阻止される。
サブシステム制御ポート152は、サブシステム読取り
/システム書込みレジスタである。これは8ビットの読
取り/書込みポートであり、いくつかのサブシステム規
模の機能の直接ハードウェア制御を行なう。このポート
には、サブシステムおよびすべての接続装置のリセット
を制御するビット、サブシステムが主プロセッサに物理
割込みを提示することをエネーブルまたはディスエーブ
ルするビット、サブシステムDMAエネーブル/ディス
エープル機能、最後にコマンドがサブシステムによって
実行されずに拒絶されたときに生じるエラーをリセット
する機能が含まれる。サブシステム制御ポート152の
ビットO〜7のフォーマットと機能を第3図に示し、そ
の機能を下記に説明する。
1:’,}0−E I−サブシステム割込み可能このビ
ットが″l”にセットされると、サブシステムがシステ
ムに物理割込みを送ることが可能になる。EIビットは
、サブシステムの電源が入ったとき、またはサブシステ
ム・リセット・コマンドによってリセットされたとき、
″0゜゜に初期設定される。EIビットが゜゛0″のと
き、サブシステムの物理割込みが禁止され、主プロセッ
サに物理割込みを送ることができない。このビットは、
このポートへの出力コマンドまたはサブシステム・リセ
ット・コマンドによって明示的にリセットされるまで、
セットされたままとなる。
ビット1−DMA−DMA可能 このビットが″O″にセットされているときは、サブシ
ステムはDMA動作を開始できない。このビットを11
 0 91にセットすると、サブシステムは、SCBコ
マンドの発行もSCB論理割込み状況(TSB)の記憶
もできない状態になる。このビットは、サブシステムに
電源を入れたとき”O″にセットされ、またサブシステ
ム・リセット・コマンドによって NO”にリセットされる。このビットは、このポートへ
の出力コマンドまたはサブシステム・リセット・コマン
ドによって明示的にリセットされるまで、セットされた
ままとなる。(DMAビットはハードウェアのデバッグ
手段として意図され、サブシステムに強制的にマイクロ
チャネル活動を停止させる手段としても使用できる)。
ビット2&3−S.D−サブシステム従属このポートの
ビット2と3は、サブシステム従属機能用に予約されて
いる。
ビット466−R一予約 ビット4と6は予約ビットであり、゜”0”にセットし
なければならない。
ビット5−RR−拒絶リセット 上位プロセッサがとのビットを”1″にセットし、かつ
サブシステムが拒絶状態のとき、拒絶状態がクリアされ
る。拒絶状態がクリアされると、コマンド使用中/状況
ポート中の使用中(B)ビットと拒絶(REJ)ビット
が″O +wにセットされる。サブシステムが拒絶状態
にない場合は、RRビットに″1″を書き込んでも何の
効果もない。RRビットは、サブシステムの電源を入れ
たときまたはサブシステム・リセット・コマンドによっ
てリセットされたとき tl Q Ifにセットされる
。このビットは、このポートへの特定の出力コマンドま
たはサブシステム・リセット・コマンドによって明示的
にリセットされるまで、セットされたままとなる。RR
ビットに”0” の値を書き込んでも、サブシステムの内部状態に影響は
ない。
ビット7−RST−サブシステム・リセットこのビット
は、サブシステムおよびそれに接続された全装置のハー
ドウェア制御リセットを行なうために使用される。
″1”にセットされると、サブシステムはリセット保留
状態に入り、コマンド使用中/状況ポートの使用中ビッ
ト(B)を”l″にセットする。サブシステム上のすべ
ての装置の活動が停止される。プログラムは、サブシス
テム特有の時間にRSTに″O″値を書き込まなければ
ならない。リセット保留状態の間にRSTビットが″1
″から゜゜0″に遷移すると、サブシステムはリセット
進行中状態になる。この状態のとき、サブシステムはそ
れ自体およびそれに接続された全装置のリセットを完了
する。リセットが完了すると、使用中ビットが”O゜”
にセットされ、主プロセッサの割込みが試みられる。
割込み状況ポート154は、システム読取り/サブ,シ
ステム書込みレジスタである。この8ビットまたは16
ビット・レジスタは、プログラムに割込みデータを提示
するためにサブシステムが使用する。
即時コマンド、重大なハードウェア障害を伴うSCBコ
マンド、および非SCBコマンドに対する割込みがこの
ポートで提示される。システム・ソフトウェアによって
明示的にリセットされるまで、新しい割込みをISPを
介してシステムに提示することはできない。
割込み状況ポート154の8ビット・レジスタ構成を第
3図に示す。このビットの割当ては次の通りである。
ビット7〜4一割込みID これらのビットは、提示された割込みの原因を識別する
番号でコード化される。
ビット3〜〇一装置アドレス 提示された割込みを発した装置のアドレス。
18ビット割込み状況ポート(図示せず)のフォーマッ
トは次の通りである。
ビット15〜12一割込みID これらのビットは、提示された割込みの原因を識別する
番号でコード化される。
プログラムは、SCB割込みかどうかTSB状況を検査
することにより、さらに多くの情報を得ることができる
ビット11〜〇一装置アドレス 提示された割込みを発した装置のアドレス。
コマンド使用中/状況ポート156は、サブシステム書
込み/システム読取りレジスタである。
この8ビット・ポートは2つの機能をもつ。第1に、以
前に提出されたコマンドの状況を決定するために各コマ
ンドが提出される前にシステムがそれを読み取らなけれ
ばならない。コマンドが提出された後、プログラムは、
サブシステムがコマンド状況を得るためにこのポートを
読み取ろうと試みる前に、定義された時間が経過するよ
うにしなければならない。
第2に、このポー}は、割込み状況ポー}(ISP)1
54中に存在する有効な割込み値をサブシステムがもつ
かどうかを示す。有効な値が存在し、工vが″1”であ
ることをコマンド使用中/状況ポートが示さない限り、
このISPはプログラムによって読み取られない。
コマンド使用中/状況ポート156のフォーマットと機
能は次の通りである。
ビットO−B一使用中ビット このビットは、コマンド・インタフェースポートとアテ
ンション・ポートが現在使用されているか否かを示す。
使用中 (B)ビットが″1”のときは、プログラムがコマンド
・ポートにもアテンシロン・ポートにも書き込もうと試
みることはできない。使用中(B)ビットが″1”とな
るのは、下記で説明するようにサブシステムがリセット
保留、リセット進行中、拒絶または復号の状態にある場
合である。使用中(B)ビットが″1″の間に上位プロ
グラム11アテンシ自ン・ポートまたはコマンド・ポー
トあるいはその両方に書き込もうとした場合、これらの
ポートに対して試みられた書込みはサブシステムによっ
て無視され、新たに試みられたコマンドはサブシステム
に無視され、エラーの指示は出ない。
サブシステムがリセット保留、リセッ ト進行中、拒絶または復号の状態に入ると、このビット
はn 1 +vにセットされる。
サブシステムがリセット保留状態に入るのは、サブシス
テム制御ポート152のRSTビットが″l”にセット
されたときである。サブシステムがリセット保留状態で
、サブシステム制御ポートのRSTビットが″O″にセ
ットされた場合、サブシステムはリセット進行中状態に
入る。装置リセット・コマンドが、装置01すなわちサ
ブシステム自体に出されたときも、サブシステムはリセ
ット進行中状態に入る。
サブシステムがサブシステム・リセッ ト・コマンドを完了してリセット進行中状態から出ると
、使用中ビットが“0″にセットされる。
プログラムがアテンシロン・ポートへ の書込みによって新しいコマンドを提出し、サブシステ
ムがリセット保留、リセット進行中または復号状態にな
いとき、サブシステムは復号状態に入る。サブシステム
があるコマンドを受け入れて復号状態から出るときも、
使用中ビットは″O”にセットされる。復号状態で処理
されているコマンドが拒絶されると、、サブシステムは
復号状態から出て拒絶状態に入る。
拒絶状態では、拒絶IEJ)ビットと 使用中(B)ビットが゜llnにセットされる。状況ビ
ット(S)は、コマンドがサブシステムによって拒絶さ
れた理由を示す。サブシステムがリセット保留状態に入
ると、拒絶状態または復号状態がクリアされる。
ビット1−IV一割込み有効 このビットは、サブシステムがその割込み状況ポートに
割込み値を書き込んだ後で″1″にセットされる。IV
が″O″′のとき、ISPは有効な割込み値を含んでい
ない。IVが″1″のとき、ISPを読み取ると、有効
な割込み値と装置番号が得られる。
ビット2一予約 ビット3一予約 ビット4一拒絶(REJ)ビット コマンド・インタフェース・ポートおよびアテンシ璽ン
・ポートを介して提出されたコマンドをサブシステムが
拒絶することに決定したとき、このビットは n1″にセットされる。サブシステムは復号状態から出
て拒絶状態に入る。コマンド使用中/状況ポート中の状
況(S)ビットが、コマンドが拒絶された理由を示すコ
ード化された値を含む。サブシステムが提出されたコマ
ンドを受け入れて復号状態から出ると、コマンド使用中
/状況ポート中の拒絶(REJ)ビットと使用中(B)
ビットが共にn O Itにセットされる。
サブシステムが拒絶状態にあるとき、 プログラムはコマンド・ポートまたはアテンシaン・コ
ードへの書込みによって新しいコマンドを提出すること
ができない。これらの書込みの試みは無視され、それら
のポートは引続き拒絶されたコマンドの値を含む。サブ
システムが拒絶状態のときは、REJビットと使用中ビ
ットが共にサブシステムによって″1″にセットされる
サブシステム制御ポートのRSTビ, トをnlwtにセットし、ハードウェア制御のサブシス
テム・゛リセット・コマンドを実行し、あるいはサブシ
ステム制御ポートのRRビットを゜“1″にセットし、
ハードウェア制御のリセット拒絶コマンドを発行するこ
とにより、サブシステムを拒絶状態から外すことができ
る。RRビットを使用するのが、リセット状態をクリア
する通常の方法である。サブシステムが拒絶状態から外
されると、REJビットと使用中ビットが共にサブシス
テムによって″0″にセットされる。
ビット5〜7一状況ビット アテンシ馨冫・ポートを介して提出されたコマンドが復
号状態中に拒絶された後、コマンド使用中/状況ポート
中でセットされる、コード化された3ビット値。サブシ
ステムは復号状態から出て拒絶状態に入り、拒絶(RE
J)ビットと使用中(B)ビットは″1″となる。RE
Jビットが″1″でない限りSビットの値は定義サれず
、上位システムによって無視される。
Sビッ りである。
s=ooo S=00 1 予約 装置使用不能拒絶 この状態が生じるのは、装置 がコマンドを実行するのに十 分なほど機能的ではないとサ ブシステムが判定できるとき である。装置リセット・コマ ンドやサブシステム・リセッ ト・コマンドに対してはこの トのコード化された値は次の通 状態は生じない。この状態は 上記の2つのコマンドのどち らかによってクリアされる。
S=0 1 0  無効コマンド この状態が生じるのは、サブ システムがアテンシa冫・ポー ト中のアテンシa冫・コード を認識しないとき、またはコ マンド・ポート中で提出され た即時コマンドのビッ}O− 7で指定される即時コマンド が無効のときである。
S=0 1 1  装置使用中 この状態が生じるのは、装置 が使用中であるコマンドを実 行しており、このとき新しい コマンドを受け入れることが できないときである。装置リ セット・コマンドやサブシス テム●リセット・コマンドに 対してはこの状態は生じない。
S=100  装置SCB実行拒絶 この状態が生じるのは、プロ グラムが中断コマンドを発行 して、装置をSCBコマンド を実行できない状態に置いた ときである。この状態は、再 開コマジド、装置リセット・ コマンドまたはサブシステム・ リセット・コマンドによって クリアされる。
S=101  無効装置アドレス この状態が生じるのは、シス テムがアテンシロン・ポート に無効な存在しない装置番号 を入れたときである。アテン シa冫・ポートが8ビット幅 の場合、ビット3〜0が無効 な装置番号を含む。16ビッ ト幅のアテンション・ポート S=1 S=1 O 1 では、ビット11〜Oが無効 な装置番号を含む。
予約 装置割込み待ち行列満杯 この状態が生じるのは、サブ システムの割込み状況ポート に記憶されていない割込み用 に維持する割込み待ち行列中 のすべての内部記憶域を装置 が使用してしまったときであ る。この状態の場合、装置リ セット●コマンド、サブシス テム●リセット・コマンド、 割込みリセット・コマンド以 外のすべてのコマンドが装置 によって拒絶される。装置に 対するこの状態は、装置がそ の割込み待ち行列からサブシ ステムの割込み状況ポートに データを書き込むことができ るようになるとすぐクリアさ れる。
次に、第5図にコマンド使用中/状況ポート(CBSP
)158の各ビットがどのように操作されるかを機能的
に詳しく示す。
使用中(B)ビットCBSP  BITO  (B)は
、S/Rレジスタ302と極性保持(PH)レジスタ3
00のレジスタの組合せで実施される。
使用中ビットが′″O″、すなわち非活動状態の場合、
次の3つの具体的活動のいずれかによってそれを”1″
にセットすることができる。
1.線314上のマイクロチャネルCHRESET信号
が″1″で、レジスタのセット(S)入力端に供給され
るORゲート310の出力が″1″の場合。この場合、
レジスタ302がW1″にセットされ、それがレジスタ
300のD入力端に供給される。インバータ312から
の反転MC  AP  SEL信号がレジスタ300の
クロック(C)入力端に供給され、出力+CBSP  
BITO  (B)、すなわち使用中(B)ビットが゜
゜1゜“にセットされる。
システム・プログラムがサブシステム制御ポー} (S
CP)のビット7に゜”1゜“を書き込んだことが、線
316上の+SCP  BIT7(RST)信号が″1
゜゜であることによって明らかになった場合。ORゲー
ト310の出力は゜゜1”になり、レジスタ302と3
00および使用中(B)ビットが上記の活動1で述べた
ように″2″にセットされる。
ソフトウェアによるAPへの書込みが行なわれた場合、
線304上の+MC  AP  SEL信号と線306
上の+SSW  REG  CLK信号がそれぞれ″1
″となって、ANDゲート308の出力を1゜1”にす
る。ゲート308からの出力″1゛はORゲート310
の出力を″1″にさせ、レジスタ302と300および
使用中(B)ビットが上記の活動1および2で述べたよ
うに″1”にセットされる。
使用中(B)ビットが″1″の場合、以下の2つの方法
のいずれかによってそれをクリア、すなわちIT O”
にセットすることができる。
1.システム・プログラムがサブシステム制御ボー} 
(SCP)のビット5 (RR)に“゜1゜゛を書き込
むことによって、使用中(B)ビットがクリアされる。
これによって、下記に述べるように拒絶(REJ)一ビ
ットもクリアされる。SCP中のRRビットが″1”の
とき、線328上の+MC  SCP  SEL信号、
線326上の+IC  BUS  RCVR  BIT
5信号、および線30e上の+SSWREG  CLK
信号がそれぞれ″′1゜“になって、AND/ORゲー
ト318の出力端で″1″が生成される。この″1゜“
がレジスタ302のリセット(R)入力端に供給されて
、レジスタ302の出力が″O IIになり、それがレ
ジスタ300のD入力端に供給される。
線304上の+MC  AP  SEL信号はこのとき
″O′″であり、その″O゜“がインバー2. タ312で″1″に反転される。このnlNがレジスタ
30077)C入力端に供給されて、D入力端で゜゜O
″にクロックし、それによってレジスタ300を″O”
にセットする。レジスタ300が”o”にセットされる
と、使用中(B)ビット、すなわち出力+CBSPB 
I TO  (B)が″O”になる。
コマンド処理プログラぶが復号状態から出て受諾状態に
入った後も、使用中(B)ビットがサブシステムによっ
てクリアされる。サブシステムの局所プロセッサが、C
BSPのビットOに゜゜O″を書き込む。線320上の
ー■C  BUS  RCVR  BITO信号、線3
22上の+LP  CBSP  SEL信号、および線
324上の+LPW  REG  CLK信号がそれぞ
れ”t″になり、AND/ORゲート318の出力端に
″1゜゜を生成する。
これによって、上述のようにレジスタ302と300が
”O″にリセットされる。レジスタ300が″O”にセ
ットされると、使用中(B)ビットが″0″になる。
システムがsscpのビット7に″1′“を書き込むこ
とにより、サブシステムがサブシステム・リセット・コ
マンドを実行している場合、サブシステムがそのサブシ
ステム・リセット・コマンドを完了したとき、使用中(
B)ビットがサブシステムによってリセットされる。使
用中ビットがオンで、サブシステムが復号状態にあり、
次いで拒絶状態になると仮定する。SCP中の拒絶リセ
ット・ビット5を介した拒絶ビット(CBSPビット4
)でも、次のようにして使用中ビットがリセットされる
。システムがSCPのビット5 (RR)位置に”1”
を書き込む。SCPへの書込みがサブシステムによって
検出されると、線32E3 (IC  BUS  RC
VR  B I T5) ならびに線328 (MC 
 SCP  SEL)と線306 (SSW  REG
  CLK)が活動状態になる。これらの線が活動状態
になると、ゲート318がオンになってレジスタ302
をオフにリセットする。前述のようにレジスタ302が
302になり同時にインバータ312がオンになると、
レジスタ300がオフにリセットされて、使用中(B)
ビットをオフにセットする。
CBSPのREJビット(4)とCBSPの状況ビット
(5、6、7)は、それぞれレジスタ330と332で
表される。サブシステムが拒絶状態に入ると、CBSP
ビット4が″1”にセットされ、CBSPビット5、e
17(状況ビット)が拒絶コードにセットされる。線3
34、332、324が活動状態のときS/Rレジスタ
330が″1”にセットされ、そのためにANDゲート
336がオンになってS/Rレジスタ330をオンにセ
ットし、REJビットをオンにする。線32B、336
、338上に状況コードを置くことによって、レジスタ
332中の状況ビットがオンにセットされる。線322
と324が活動状態となってANDゲート340をオン
にし、それがレジスタ332のC入力を活動化すること
により、状況コードがレジスタ332にクロック入力さ
れる。
ORゲート346がオンのとき、拒絶(REJ)ビット
はオフにリセットされる。ORゲート346がオンにな
るのは、線32B (CHRSET)が活動状態か、線
3 1 B (RST)が活動状態か、あるいはAND
−ゲート342がオンのときである。
ANDゲート342は、線326と328と306が活
動状態の場合にオンになる。これは、システムが拒絶リ
セット・ビット5 (SCP)に″1″を書き込んで、
サブシステムを拒絶状態から解放したことを表す。
CBSP  BIT1  1Vlt、S/Rレジスタ3
48の出力として実施される。ANDゲート350がオ
ンのとき、レジスタ348は″l″にセットされる。A
NDゲート350がオンになるのは、線322と324
と352が活動状態の場合である。サブシステムが割込
み状況ポート(ISP)に書き込んだ後、■vビットが
゛1”にセットされる。
上位プロセッサは、サブシステムがマイクロチャネル割
込みを主張した結果としてIVビットを読み取り、ある
いはIVビットを使って割込みがあるかどうかサブシス
テムをポーリングすることがテキる。上位プロセッサが
ISPを読み取り、上位割込み処理プログラムが割込み
を処理した後、上位プロセッサはアテンシロン・ポート
を介してサブシステムにリセット割込みアテンシθン・
コード(1110h)を出す。
S/Rレジスタ348は、ORゲートがオンのときオフ
にリセットされる。−ORゲート354がオンになるの
は、線314 (CHRESET)または線3 1B 
(CDRESET)またはANDゲート356またはA
NDゲート358がオンの場合である。
ANDゲート356は、線380,3El2、364、
366上のIC  BUS  RCVR−ビット(7〜
4)がそれぞれアテンシaン・ポートのビット7〜4か
らの2進値”0000” (即時装置リセット)でセッ
トされ、線3 0 4 .!:3 0 8 .6{活動
状態の場合にオンになる。
ANDゲート358は、線338、336、326、3
8e上(DIC  BUS  RCVRビツ}(7 1
 4)が2進値″1110″(割込みリセット)でセッ
トされ、線304と306が活動状態の場合にオンにな
る。
CBSP予約(R)ビットは、レジスタ368で表され
る。線370と372、IC  BUSBi ts (
2、3)が活動状態のとき、2つのデータ(D)入力が
セットされる。これらのビットは、ANDゲート374
がオンのとき、レジスタ368にクロック入力される。
ANDゲート374は、線322と324がオンのとき
オンとなる。
装置割込み識別子(DIIP)ポート15Bは、システ
ム読取りレジスタである。これは16ビット・ポートで
、サブシステム内のどの論理装置で少なくとも1つの論
理SCBが割込み保留であるかを上位システム・ソフト
ウェアに示すのに使用される。ビットが″1″の場合、
DIIPポートのそのビット位置に関連する装置につい
て、少なくとも1つの論理SCB割込みが保留である。
このビットが″1″のときは、割込み状況が、少なくと
も1つのSCBに関連する上位記憶装置のTSB域に記
憶されている。
第1の装置割込みポートのフォーマッ 通りである。
ビット O 1 2 3 4 5 6 7 8 9 10 11 1 2 13 14 トは次の 装置OSCB割込み保留一サブシλ テム割込み 装置ISOB割込み保留 装置28CB割込み保留 装置38CB割込み保留 装置48CB割込み保留 装置58CB割込み保留 装置BSCB割込み保留 装置78CB割込み保留 装r!l8SCB割込み保留 装置98CB割込み保留 装置10SCB割込み保留 装置118CB割込み保留 装置128CB割込み保留 装itl3scB割込み保留 装置148CB割込み保留 15 一装置158CB割込み保留 サブシステムが16個以上の装置をサポートする場合、
これらの装置からのSCB割込みを表すために追加のD
I IPポートが必要である。これらのポート中でビッ
ト位置Oから順に装置を割り当てる。サブシステムに1
7個の装置が接続されている場合は、2つのDIIPポ
ートが必要となり、第2のDIIPのビッドOと1が、
それぞれ装111Bと17に割り当てられる。DIIP
の詳しい記述は、第21図ないし第26図に示す。
1989年6月9日付の米国特許出願第364931号
では、割込み状況ポート154が即時コマンドとSCB
コマンドのどちらの場合もシステム・プログラムに割込
みデータを提示した。本発明では、割込み状況ポート1
54は即時コマンドに対する割込みデータをシステム・
プログラムに提示し、DI IP158がSCBコマン
ドに対する割込みデータをシステム・プログラムに提示
する。この説明および頭記の特許請求の範囲では、「第
1物理割込み」という言葉を、即時コマンドに関して優
先される割込みを記述するのに使用し、「第2物理割込
み」という言葉を、SCBコマンドに関して優先される
割込みを記述するのに使用する。実際には、第1と第2
の物理割込みをORして、上位プロセッサに対する1つ
の物理割込みを作成する。
コマンド・インタフェース・ポートとアテンシeン・ポ
ートで使用するフォニマットは、上位システムからサブ
システムに即時コマンドとSCBコマンドのどちらが供
給されるのかによって変わる。
即時コマンドは、主として装置向けであり、制御本位で
ある。第6図で、コマンド・インタフェース・ポートの
一般的フォーマットを180に示し、アテンシロン●ポ
ートにおける3つのタイプの即時コマンドをそれぞれ1
62、164、166に示す。コマンドが装置向けであ
る場合、その装置は、即時コマンドの実行前にそのコマ
ンド全体を受け取ったことを検証しなければならない。
コマンド・タイプを決定するため、アテンシ1ン・ポー
トのビット7〜4を検査する。装置リセット・タィプの
コマンドを受け取る場合、コードは162に示すような
ものとなる。即時コマンド・タイプのコマンドを受け取
る場合、コードは184に示すようなものとなる。割込
みリセット(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=Oの場合
、即時コマンドの完了後に割り込み、割込み状況ポー}
(IsP)の状況を報告する。ビツ}15=1の場合、
エラーが発生しない限り、即時コマンドの完了時に割り
込まない。一部のコマンドはこの指定を無視する。
ICビット14一装置割込み禁止(DDI)ビッ}14
=Oの場合、指定された装置についてシステムへの割込
みが可能となる。
ビッ}14=1の場合、指定された装置についてシステ
ムへの割込みが禁止される。
ICビット13〜9一命令コード従属ビットこれらのビ
ットを用いると、コマンド・フィールドが修正できる。
現在、ビット13と12は装置リセット・コマンドによ
って使用されている。ビット12〜9はSCB割込み即
時リセットー・コマンドによって、リセットすべき割込
みカウントを指定するために使用されている。
ICビット7〜〇一即時コマンド・ビット下記のように
復号される。
ビット 76543210 oooooooo ooooooo i ooooooto 000000 1 1 oooooioo −装置即時リセット ー予約 一動作なし(N O O P) 一予約 一割込み状況ポート ・リセット oooooiot 00000110 00000 1  1  1 00001000 ooooioot 00001010 00001011 0000  1  100 00001101 00001110 00001111 oootoooo 00010001 00010010 oootooit ooototoo 00010101 oooioiio 00010111 一予約 一予約 一予約 −SCB割込みリセ ッ  ト ー予約 一予約 一予約 −装置従属 −装置従属 一装置従属 一装置従属 −予約 一予約 −即時診断実行 一装置従属 一予約 −予約 一予約 一装置従属 ooottooo   一予約 ooottoot   一予約 00011010   −予約 00011011   −予約 ooot t too   一予約 00011101   −予約 00011110   −予約 00011111   −中断 00100000   一再開 スヘての予約ビットは、コマンド発行前にシステム・ソ
フトウェアによってOにセットされる。
ビットO〜7の他のすべての復号は、予約されている。
第7図で,SCBコマンドに対するコマンド・インタフ
ェース・ポートの一般的フォーマットを168に示し、
アテンション・ポートの一般的フォーマットを170に
示す。コマンド・インタフェース・ポートは、SCBの
開始アドレスを含んでいる。この開始アドレスは物理ア
ドレスであり、ダブルワード境界上になければならない
SCB開始アテンシーン要求に対するアテンション・ポ
ートのフォーマットは170に示されている。
前述のように、間接コマンドはSCB内に含まれている
。SCBは特定の順序で連鎖され、1つの論理要求とし
て扱われる。データ・バッファは間接リストを使って連
鎖することができる。この構造はまた、要求処理中にエ
ラーがあった場合、精巧な状況情報を扱うことができる
。状況は、終了状況ブロック(TSB)に入れられる。
コマンド連鎖中の任意の地点での終了を処理するため、
連鎖中の各SCBごとにTSBが定義されている。
SCBレイアウトの詳細バージョンには2種のものがあ
る。第6図に示す基本フォーマットと、第9図に示す拡
張フォーマットである。拡張フォーマットは、基本フォ
ーマットの末尾に追加のフィールドが付加されている。
各フィールドと使用する略語の簡単な定義を以下に示す
1.コマンド・ワード これは、配給されるSCBコマンドのタイプを定義する
ために使用する。このワードは、3つのフィールドをも
つ。
一命令コードーこのSCBコマンドに対スル8ビットの
命令コードを含む。
一A−このSCBに含まれるコマンド・コードがアーキ
テクチャをもろかもたないかを知らせるための1ビット
の標識。図に示したレイアウトは、アーキテクチャをも
つコマンド・コードにもそれをもたないものにも適用さ
れる。
−予約 2.エネーブル・ワード SCHの様々なフィールドは、様々なコマンド特有の動
作を可能にする。エネーブル・ワードは、このコマンド
に対するこれらのフィールドの用途を示すいくつかのフ
ィールドを含んでいる。また、使用すべき回答指示のタ
イプを定義する標識も有する。
−CH一エラーがない場合の、次のSCBへの連鎖(次
のSCBのアドレスは、連鎖アドレス1フィールドにあ
る)。
一COND  CH−ビット1は、ビット2、3、4で
定義されるある条件のとき、そのアドレスが連鎖アドレ
ス2にあるSCBへの連鎖を示す。
−AI−このコマンドがナドレス1を使って、バッファ
または(バッファを指す1組のポインタを含む)間接リ
ストを指すことを示す(コマンドによって定義される特
定の用途)−A2−このコマンドがアドレス2を使って
、バッファまたは(バッファを指す1組のポインタを含
む)間接リストを指すことを示す(コマンドによって定
義される特定の用途)。
−■−コマンドがエラーなしに完了したとき、割込みを
禁止する。
一EXT−このSCBが拡張フォーマットをもつことを
示す。
一R一予約 −SES一短形例外抑制(読み取ったデータが規定され
たパッファ・サイズより小さいときなど)。
−SEL一長形例外抑制(装置から読み取ったデータが
コマンドによって規定されたバッファ・サイズより大き
いときなど)。
−PT一このコマンドがバッファMRCコマンド上のデ
ータ連鎖)を指す間接リストを使用することを示す。
−TSB一エラーがあるときだけTSB状況を記憶すべ
きことを示す。
3.エネーブル・ワード2 拡張フォーマットを使用するときは、拡張部分にあるエ
ネーブル・ワード2中に下記のような追加の標識が加え
られる。
−PT2−アドレス2が間接リスト(バイト・カウント
2中のリストの長さ)を指すことを示す。
−DEC 1−メモリ・アドレス1を増分ではなく減分
すべきことを示す。
−DEC2−メモリ・アドレス2を増分ではなく減分す
べきことを示す。
4.アドレス1 データ・バッファまたは間接リストを指す32ビットの
アドレスを含む。その用途はコマンドによって定義され
る。エネーブル・ワード標1ft(PT)は、どの形の
アドレスが使用されているかを示す。
5.アドレス2 データ・バッファまたは間接リストを指す32ビットの
アドレスを含む。その用途はコマンドによって定義され
る。エネーブル・ワード標識(PT2)は、どの形のア
ドレスが使用されているかを示す。
6.バイト・カウント1 アドレス1またはアドレス2中のアドレスが指すパッフ
ァまたは間接リストの長さを定義する4バイトのカウン
トを含む。
7.バイト・カウント2 アドレス2中のアドレスが指すバッファまたは間接リス
トの長さを定義する4バイトのカウントヲ含ム。このフ
ィールドは拡張部分にある。
8.TSBアドレス このSCBと関連するTSBの32ビットのアドレスを
含む。
9.連鎖アドレス1 コマンド連鎖を使用する要求中の次のSCBを指すため
に使用される。
10.連鎖アドレス2 条件付き連鎖の条件が充たされたときに使用されるSC
Bを指すために使用される。
11.連鎖ID 連鎖に対する16ビットの識別子を含む。その値は、連
鎖(要求)中のすべてのSCBで同じである。
12.拡張長さ 基本フォーマットの拡張部分のバイト数を示す1バイト
のカウント。このワードの他方のバイトは予約されてい
る。
割込み状況ポート154におけるエラー/無エラー指示
の他に、本発明では、SCB連鎖中の各コマンドごとに
サブシステムから上位コンピュータに詳細な状況情報が
報告される。これは、終了状況ブロック(TSB)中で
報告される。各SCBは、サブシステムがSCBの完了
または終了状況を書き込む先の、システム・メモリ中の
TSBアドレスを含む。TSBには、第10図に示すよ
うな基本フォーマットと、第11図に示すような拡張フ
ォーマットがある。基本フォーマットに拡張部分が付加
されるとき、装置従属情報のサイズを示すカウントの記
憶位置が変わる。
基本TSBフォーマット及び拡張TSBフォーマットで
使用される様々なフィールドの簡単な定義を下記に示す
1.終了状況ワード このワードは、このTSBを指すSCBに含まれるコマ
ンドの実行に関係する特定の状況情報を定義するいくつ
かの標識を含んでいる。
−D−要求がエラーなしで完了したことを示す。
−SES−SCBエネーブル・ワード中のSESa!識
と関連する短い長さを示す。
一R一予約 −SC−SCBに対する指定チェックを示す。
SCBは無効である。
−SEL−SCBエネーブル・ワード中のSEL制御と
関連する長い長さを示す。
−HLD−SCBコマンド連鎖が停止されたことを示す
−INT一論理割込み要求を示す。
−ASA−アーキテクチャのある状況が使用可能なこと
を示す。
−DSA−装置従属状況が使用可能なことを示す(AS
AとDSAが一緒に使用されると、拡張フォーマットを
示す)。
−DO一装置のオーバランを示す。
−INI一装置が初期設定されていないことを示す。
一ERR一大きなエラーが発生したことを示す。
−CD一連鎖方向を示す(正常連鎖または条件付き連鎖
の後) −SUS−SCHに対する中断コマンドが完了したこと
を示す。
−ES一拡張状況が使用されることを示す。
2.拡張終了状況 このワードは追加の状況標識をもつ。現在は1つの標識
だけが構成されている。    ゛4−CT−コマンド
・タイプ(SCBコマンドか即時コマンドか)を示す。
3.残留バッファ・カウント コレハ、残留バッファ・アドレスが指すバッファ中に残
っているバイト数を含む、4バイトのカウントである。
4.FJ留バッファ・アドレス これは、要求が終了したときに使用されていたバッファ
の32ビッ・トのアドレスである。最後のSCBからの
アドレス1またはアドレス2のバッファ・アドレス、あ
るいは最後のSCB中のアドレス1またはアドレス2が
指す間接リスト中のアドレスである。その具体的意味は
、コマンド特有である。
5.残留パッファ・カウント2 これは、残留バッファ・アドレス2が指すバッフ1中に
残っているバイト数を含む(TSB拡張部分中の)4バ
イトのカウントである。
6.残留バッフ7・アドレス2 これは、要求が終了したときに使用されていたバッファ
の(TSB拡張部分中の)32ビットのアドレスである
。最後のSCBからのアドレス2のパッファ・アドレス
、あるいは最後のSCB中のアドレス2が指す間接リス
ト中のアドレスである。これは、両方のアドレスをある
コマンドが使用するときに使用される。
7.装置従属域のサイズ アーキテクチャをもつ1組の状況より上の情報を供給す
る手段が設けられている。その量は、基本フォーマット
を″使用するか拡張フォーマットを使用するかによって
変わる。このフィールドの位置は、基本フォーマットと
拡張フォーマットで異なる。追加状況はサブシステムに
従属する。
8.装置従属データ この域は、装置従属状況情報を含む。この域の最大サイ
ズは、どのフォーマットが使用されているかによって決
まる。
上記に説明したSCBフォーマットを使用する本発明の
コンピュータ・システムの詳細を第12図に示す。前述
のように、上位システム200は、マイクロチャネル2
04などのバス・アーキテクチャを介して少なくとも1
つの知能サブシステム202と情報を交換する。
上位システム200中のシステム・プログラム20θは
、線210を介してシステム・メモリ208中にSCB
を構築する。システム・プログラムの動作は、rPs/
2  BIOSインタフェース、技術解説書(PS/2
 BIOS InterfaceTechnical 
Reference) J 、I BM刊行物、資料番
号68X−2341−00; rIBM  PS/2オ
ペレーティング・システム、ディレクトリの手引き(I
BM PS/2 0perating Systems
 DirectoryGuide) J 、I BM刊
行物、資料番号Z380−2741−0; rIBM 
 OS/2内部、第1巻(IBM OS/2 Inte
rnals. Vol.1) J 、I BM刊行物、
資料番号GG24−3225−0に記載されている。前
述のように、SCBフォーマットは、バッファ・アドレ
ス、連鎖アドレス、及びTSBアドレスをもたらす。ペ
ージ記憶システムでは、SCB,バッファ・アドレス、
連鎖アドレス、及びTSBアドレスがオペレニティング
・システムによってシステム・メモリ中で「固定」され
る。
すなわち、システム・メモリのあるセクションが、この
目的でロックされる。この説明では、SCB212は、
TSB214、データ・バッファ218と220を指す
間接リスト216、及びSCB222への連鎖アドレス
を含むものとして示す。
SCB222は、TSB224を含み、データ・パッフ
ァ226を指す。システム・メモリ208中に複数の同
じSCBが第6図ないし第11図に示したフォーマット
に従って書式化されていることを了解されたい。
サブシステム202は第2図のサブシステム1O2と類
似しており、唯一の違いは、サブシステム202がコマ
ンド転送を記述するためより詳しく示されていることで
ある。サブシステム202は、コマンド転送論理ブロッ
ク230とパス・マスク232を有するバス・インタフ
ェース/制御機構228、割込み(I)論理回路236
を有する局所マイクロプロセッサ234、局所メモリ2
38、及び複数の装置242、244、246、248
に接続された装置インタフェース/制御論理ブロック2
40を含んでいる。
コマンド処理プログラムと復号処理を含むコマンド処理
システムの一般的説明を第12図に関して行ない、続い
て第14図ないし第20図に関して詳しい機能的説明を
流れ図の形で行なう。
システム・プログラム206は、コマント使用中/状況
ポート(図示せず)を読み取って、アテンション・ポー
ト及びコマンド・インタフェース・ポートが使用中でな
いことを確認する。システム・プログラム206は、S
CBのアドレスをコマンド・インタフェース・ポート(
図示せず)を介してバス・インタフェース/制御機構2
28のコマンド転送論理ブロック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に供給さ
れる。データは、データ線260と262を介してバッ
フT218と220から戻される。次いでバス・マスタ
232は、データを局所メモリに転送し、またはインタ
フェース240を介してアテンシβン・ポート(図示せ
ず)中のコマンドの第2の部分で指定される装置の1つ
に転送する。SCBに対する完了または終了の状況が線
264と266を介してTSB214に記憶され、状況
データは線268と270を介してTSB214に供給
される。
SCB2 1 2は、線272を介してアドレスされる
SCB222を指し、gcB222は線274を介して
戻される。処理すべきバッファ226からのデータはア
ドレス線256を介してアクセスされ、データが線26
2を介してバス・マスタ232に戻される。次いでバス
・マスタ232は、上記のようにデータを局所メモリ2
38に転送し、またはインタフェース240を介して装
置の1つに転送する。SCB222の完了または終了の
状況は線264を介してTSB224に戻され、状況デ
ータが線268を介してTSB224に供給される。
サブシステム202はまた、SCBまたはSCB連鎖に
関する割込み状況を割込み状況ポート(図示せず)にロ
ードする。これにより、物理割込みが線265を介して
上位システム200に戻される。
コマンド処理システムの流れ図の説明を行なう前に、第
14図ないし第20図の流れ図で使用する用語が理解し
やすくなるように、一般的説明を行なう。
・コマンド提出方法とコマジド・タイプ本発明では、サ
ブシステムにコマンドを配給スる2つの方法を定義する
。いくつかのサブシステム規模のハードウェア特有の機
能が、サブシステム制御ポート中のプログラム修正ビッ
トによってアクセスされるハードウェア制御機構を使っ
て呼び出される。ハードウェア制御機構は、サブシステ
ムの状態を変更する高速で優先順位の高い方法をもたら
し、このようにして提出されるサブシステム・リセット
・コマンドは、コマンド・ポート及びアテンシリン・ポ
ートにデータを書き込むことによってサブシステムに提
出される他のすべてのコマンドよりも優先される。
ハードウェア制御機構は、サブシステム制御ポートへの
OUTコマンドを使い、いくつかの特定のビットを変更
することによって活動化される。
RRビット、DMAビット、及びElビットの修正は特
定のコマンドによって記述されないが、これらのビット
はすべてサブシステムに対してサブシステム規模の効果
をもつ。これらの効果については、後述の「上位プロ七
ツサが入出力ポートを設定しようと試みたことの結果」
及び第1表に要約してある。
:l?:/ }!・ホートとアテンション・ポートへの
書込みによって提出されるコマンドは、間接(SCBベ
ースの)コマンドと直接ベースのコマンドの2つの範嗜
に大別される。SCBベースのコマンドは、アテンシも
ン要求コード3によって区別される。SCBコマンドの
場合、コマンド・インタフェース・ポートはSCHの始
めの実記憶アドレスを含む。直接コマンドには、一義的
なアテンシロン・コード設定によって決定される、3つ
のタイプがある。すべての直接コマンドは、アテンシe
ン・コードとあいまってサブシステムが実行すべき活動
を定義する32ビットの値をコマンド・ポート中に有す
る。アテンシaン・フード0(リセット)とE(割込み
リセット)は、これらのコマンドに対する特殊ケースの
処理が、”Olh”のアテンシロン要求フードをもつ他
の直接コマンドに優先して行なえるように設けられてい
る。直接コマンドは、実行すべき動作を完全に定義する
32ビットの値をコマンド・ポートが含むことを示すた
め、「即時コマンド」と呼ぶことがある。
これは、実行すべき活動を決定するためにコマンド・ポ
ートによって与えられるアドレスをシステム・メモリか
ら取り出さなければならない、SCBコマンドとは対照
的である。
このアーキテクチャでは、一義的アテンション・コード
F(装置従属アテンシ訝ン)が定義されている。アテン
シーン・コードFは、実施態様で最適化したいコマンド
に対する特殊ケースの処理がもたらせるように設けられ
ている。
●コマンド提出時のサブシステムの状態遷移本節では、
ハードウェア制御機構を使って、あるいはアテンション
・ポートによって、コマンドが提出されたときに生じる
状態遷移と処置を定義する。データは、第13図の状態
遷移図に示されている。サブシステムが復号状態のとき
の、提出されたコマンドのサブシステムによる受諾また
は拒絶については、下記の「コマンドの処理と復号処理
」で詳しく考察し、復号処理に関する詳細を示し、第2
表ないし第5表にコマンドが復号処理によってどのよう
に受諾され拒絶されるかを示す判断テーブルを示す。
コマンド提出遷移で使用されるものとして下記の状態が
定義されている。サブシステムの状態及び復号処理の詳
細は、「コマンドの処理と復号処理」に示す。
サブシステムの状態には次のものがある。
1.コマンド受諾ACCEPT サブシステムが、コマンド・ポート及びアテンション・
ポートを介して提出されたコマンドを受諾できる状態に
ある。この状態のとき、コマンド使用中/状況ポートの
拒絶ビットと使用中ビットは共にOとなる。
アテンシa冫・ポートに上位プロセッサが書込みを行な
うと、サブシステムはこの状態から出て復号進行中状態
に入り、提出されたコマンドが受諾されるかどうか決定
する。
2.サブシステム・リセッド保留開始PENDSシステ
ム制御ポートのRSTビットが上位プログラムによって
1′1”にセットされ、サブシステムがそのマイクロプ
ロセッサのハードウェア制御リセットを開始した。この
状態の間、コマンド・ポート及びアテンシロン・ポート
への上位プロセッサによる書込みは無視される。サブシ
ステム制御ポートのRSTビット以外のビットへの上位
書込みは無視される。ハードウェア・リセットが完了す
ると、サブシステムはサブシステム・リセット保留完了
状態に入る。
この状態の間、コマンド使用中/状況ポートの使用中(
B)ビットが”1″で、拒絶(R)ビットがt1 0 
Nである。
3.サブシステム・リセット保留完了PENDCサブシ
ステムがそのマイクロプロセッサのハードウェア制御リ
セットを完了し、上位プロセッサがサブシステム制御ポ
ートのRSTビットに゜゜0”ビットを書き込むのを待
つ。この状態の間、コマンド・ポート及びアテンション
・ポートへの上位プロセッサの書込みは無視される。サ
ブシステム制御ポートへの上位プロセッサによる書込み
は許される。サブシステム制御ポートのRSTビットに
″O″を書き込むと、サブシステムはサブシステム・リ
セット進行中状態になる。
この状aの間、コマンド使用中/状況ポートの使用中(
B)ビットは”工”で、拒絶(R)ビットは″O”であ
る。
実施態様でリセット保留開始状態とリセット保留完了状
態を区別できず、単一のリセット保留状態のみをもつこ
とがある。このような場合は、RSTビットヲ″Onに
セットすると、サブシステムは保留状態からリセット進
行中状態に移る。
4,サブシステム・リセット進行中RESETS実施態
様で定義された時間が経過した後、サブシステム・リセ
ット保留開始状態の間にサブシステム制御ポートのRS
Tビットが上位プログラムによって″Of′にセットさ
れた。この状態に入ると、サブシステムはそのサブシス
テム・リセットを完了する。サブシステムがこの状態の
間、上位システムはサブシステム制御ポートの内容を修
正することを許される。フマンド゛・ポート及びアテン
シタン・ポートへの上位プロセッサの書込みは無視され
る。
この状態の間、コマンド使用中/状況ポートの使用中ビ
ットは″1″であり、拒絶ビットは″O Ifである。
サブシステム・リセットが完了すると、サブシステムは
コマンド受諾状態に入る。コマンド使用中/状況ポート
の使用中ビットと拒絶ビットが″0″にセットされる。
IVビットは゛゜1″にセットサレて、ISPが完了し
たサブシステム・リセットに対する割込み値を含むこと
を示す。
5.サブシステム拒絶REJ コマンド・ポート及びアテンシHン・ポートを介して提
出されたコマンドが復号処理によって拒絶された。拒絶
状態がクリアされるまで、コマンド・ポート及びアテン
シθン・ポートを介して次のコマンドが受諾されること
はない。この状態の間、コマンド・ポート及びアテ、ン
シ9ン・ポートへの上位プロセッサの書込みは無視され
る。サブシステム制御ポートへの上位ブロセ・tサによ
る書込みは許される。コマンド使用中/状況ポートの拒
絶ビットと使用中ビットは、共に゛1゛にセットされる
。コマンド使用中/状況ポートのSビットハ、コマンド
が復号処理によって拒絶された理由を示す。
サブシステム制御ポートのRRビットが″1 t+にセ
ットされたとき、またはハードウエア制御のサブシステ
ム・リセットがサブシステム制御ポートのRSTビット
を”t″にセットすることにより、サブシステムは拒絶
状態から出る。
6.復号進行中DECODE アテンシ馨ン・ポートへの上位プロセッサの書込みが検
出されると、サブシステムはコマント受諾状態からこの
状態に入る。この状態のとき、サブシステムはコマンド
を受諾するか否かを決定する。
サブシステムがこの状態に入ると、コマンド使用中/状
況ポートの使用中ビットが”1゜゜にセットされ、拒絶
ビットが”0゜゜になる。この状態の間、コマンド・ポ
ート及びアテンシa冫・ポートへの上位プロセッサの書
込みは無視される。サブシステム制御ポートへの上位プ
ロセッサによる書込みは、RSTビットに対する変更以
外は無視される。
復号処理がコマンドを受諾する場合、サブシステムはコ
マンド受諾状態に入る。コマンドが実行のために受諾さ
れなかった場合、サブシステムは拒絶状態に入る。
処置には次のものがある。
a.上位プロセッサによるサブシステム制御ポ−トのR
STビットへの1の書込みRST=1上位プロセッサが
サブシステム制御ポートにOUTコマンドを出して、R
STビットの値を″1″にセットする。
b.上位プロセッサによるサブシステム制御ポートのR
STビットへのOの書込みRST=0上位プロセッサが
サブシステム制御ポートにOUTコマンドを出して、R
STビットの値を″O″にセットする。
C.上位プロセッサによるアテンシaン・ポートへの書
込みW/AP 上位プロセッサがOUTコマンドを使ってアテンシe冫
・ポートに書き込む。
d.上位プロセッサによるサブシステム制御ポートのR
Rビットへの1の書込みRR= 1上位プロセッサがサ
ブシステム制御ポートにOUTコマンドを出して、RR
ビットの値を”t″にセットする。
e.リセット保留完了PEND  COMPLETE サブシステムがそのマイクロプロセッサをリセットする
活動、及びサブシステムのリセット完了を待たせるのに
必要な他の処置を完了した。
f.サブシステム・リセット完了RESET  COM
PLETE サブシステムがサブシステムをリセットする活動を完了
した。
g.復号コマンド受諾DECODE  ACCEPT サブシステムの復号処理が、コマンド・ポート及びアテ
ンシーン・ポートを介して提出されたコマンドを受諾し
た。
h.復号コマンド拒絶DECODE  REJECT サブシステムの復号処理がコマンド・ポート及びアテン
シロン・ポートを介して提出されたコマンドを拒絶した
状態遷移が、これらの状態及び活動と共に、第13図の
状態図に定義されている。
・上位プロセッサが入出力ポートをセットしようと試み
たことの結果 第1表の判断テーブルに、サブシステムが様々な状態に
あるときに、上位プロセッサが人出力ポートをセットし
ようと試みたことの結果を要約する。
各状態は、第13図の状態図で使用したものと同じであ
り、sccpはサブシステム制御ポートを意味する。
第1表 第1表の注の説明 1.システムがRSTを″1゜゜にセットすると、サブ
システムはリセット保留開始状態になる。
2.RSTが”1”にセットされる場合、サブシステム
制御ポート中の他のすべてのビットは、リセット保留開
始状態に入る一環として、サブシステムによって”O”
にされる。
3.サブシステムがコマンド受諾状態の間にシステムが
アテンシーン・ポートに書込みを行なうと、サブシステ
ムは復号状態になる。
4.サブシステムがリセット保留完了状態の間にシステ
ムがRSTを″0′″にセットすると、サブシステムは
リセット進行中状態になる。
5.サブシステムが拒絶状態の間にシステムがRRを″
1″にセットすると、RRをセットするOUTがRST
をも゜゜1゜゜にセットしない限り、サブシステムはコ
マンド受諾状態になる。RSTが″l″にセットされた
場合、RRに対する変更は無視され、サブシステムはリ
セット保留開始状態になる。サブシステムが拒絶状態の
間にRRを″O゜“にセットしても、拒絶状態はクリア
されない。
・コマンドの処理と復号処理 本節では、復号処理に焦点を当ててコマンドの処理部分
の考察を行なう。復号処理におけるコマンド受諾に関す
る判断テーブルを第2表に示し、復号処理におけるコマ
ンド拒絶に関する判断テーブルを第3表に示す。
第2表 半11frテーブノレ1 第3表 判断テープノレ2 コマンド・ポート、アテンション・ポート、サブシステ
ム制御ポートへの上位プロセッサの書込みを監視するた
めにサブシステムが使用する、ハードウェア制御の処理
が存在することが必要である。
この処理はコマンド処理プログラムと呼ばれ、サブシス
テム制御ポートのRSTビットの書込みなどの動作に応
答してサブシステムをリセットするため、ハードウェア
制御機構を呼び出す。コマンド処理プログラムはまた、
アテンション・ポートまたはコマンド・ポートを介して
提出されたコマンドを受諾するか否かを決定するために
サブシステムが使用する、ハードウェアまたはファーム
ウェアの処理を呼び出す責任をもつ。コマンド処理プロ
グラムは、サブシステムがコマンド受諾状艦にあり、上
位プロセッサによるアテンション・ポートの書込みが検
出されたときに、この処理を呼び出す。コマンド処理プ
ログラムは、サブシステムを復号状態に置き、復号処理
を呼び出して、新しく検出されたコマンドを受諾できる
か否かを決定する。
復号状態のとき、コマンド処理プログラムは、上位プロ
セッサがコマンド・ポートまたはアテンション・ポート
への書込みにより新しいコマンドを提出しようと試みる
のを阻止する責任をもつ。
コマンド処理プログラムはまた、サブシステム制御ポー
トへの上位プログラムによる書込みに応答して、サブシ
ステムがどんな状態のときもRSTビットに対する上位
プログラムの変更が許されるようにする責任をもつ。こ
の機能により、ハードウェア制御のサブシステム・リセ
ット・コマンドを上位プロセッサから受諾することが可
能になる。
他のハードウェア制御は、サブシステムの状態に応じて
、コマンド処理プログラムによって許される。
復号処理は、サブシステムがある装置宛のコマンドを受
諾できるかどうか決定するタスクを有するので、下記の
種類のデータに関心をもつ必要がある。
*コマンド・タイプ。コマンドに対するアテンション・
コードは、コマンドがどう処理されるのかを決定する。
コマンドは、装置リセット・コマンド、割込みリセット
・コマンド、SCBコマンド、即時フマンドの各範嗜に
分かれている。
装置従属アテンシーン・フードが実施態様でサポートさ
れている場合、その実施態様による定義ニ従って、SC
Bコマンドまたは即時コマンドの範嗜に入れられる。サ
ポートされないアテンシaン・コードは復号処理によっ
て無効コマンドとして拒絶される。SCBコマンドでな
いアテンシ日ン・コードは直接コマンドと呼ばれる。
*装置番号。コマンドが送られる先の装置は、アテンシ
θ冫・ポートに含まれている。このデータは、どの装置
にコマンドが送られるかを決定するために必要である。
復号処理はまたこのデータを使って、装置状態情報にア
クセスし、サブシステムは、この情報を用いて新しいコ
マンドが受諾または拒絶できるか否かを決定することが
できる。装置アドレスが無効だと、コマンドは拒絶され
る。
本コマンド・コード。直接コマンドが処理されていると
き、コマンドのビットO〜7の8ビットのコマンド・コ
ードを検査して、コマンド・フードが決定される。8ビ
ットの即時コマンド・コードが認識されないと、そのコ
マンドは無効コマンドとして拒絶される。
*装置状態。これは装置の現状態であり、現装置状態が
与えられている場合にそのコマンドが受諾できるかどう
かを定義する。本発明では、いくつかの状態を定義し、
所与の状態の間にコマンドが受諾されるか否かを示す。
このデータは、後述の「復号処理のための判断テーブル
」で詳しく提示する。
復号処理がコマンドを受諾すると決定したとき、その新
しいコマンドが受諾されたことを示すように装置状態が
更新されることを保証し、装置が新しいコマンドの実行
を開始するスケジュールを立てる必要がある。復号処理
はまた、コマンド処理プログラムがサブシステムを復号
状態からコマンド受諾状態にすることを保証しなければ
ならない。
本発明は、装置状態のリセット及び新しいコマンドのス
ケジューリングを復号処理で実施すべきだと主張するも
のではないが、概念的にはそうすると考えた方が簡単で
ある。
また復号処理は、必要な新しいコマンドを必要ft装置
で実行するスケジュールを立てさせなければならない。
スケジュールを立てるという言葉は、装置Oリセット・
コマンド以外のすべてのコマンドに使用される。という
のは、サブシステム・プロセッサ・サイクルの使用を、
他の装置について実行されているタスク間で共用する必
要があるからである。装置0リセット・コマンドの場合
は特殊なケースである。というのは、この活動はソフト
ウェアによって呼び出されるサブシステムのリセットを
引き起こし、他の装置に対するすべての現サブシステム
活動を停止することを必要とするからである。
コマンドが受諾されることが知らされると、コマンド処
理プログラムがコマンド使用中/状況ポートを、使用中
ビットと拒絶ビットが共にn O nになるようにセッ
トする。
復号処理がコマンドを拒絶したときは、コマンド処理プ
ログラムに拒絶の理由が示される。サブシステムは復号
状態から拒絶状態に移る。コマンド使用中/状況ポート
の使用中ビットと拒絶ビットが゛1″にセットされる。
コマンドがなぜ拒絶されたかを示すコード化された値を
含む、このポートのSビットが拒絶ビットと同時にセッ
トされる。
復号処理の完了時に、いくつかの目標が達成される。
本復号処理によって受諾された即時コマンドは、後でコ
マンド拒絶のために割込みを行なわない。
ハードウェアが故障しない限り、即時コマンドは、復号
処理による受諾の後、正しく実行される。
*現装置状態の故に実行できないコマンドは、システム
割込みなしにできるだけ速やかに拒絶される。拒絶状況
及び拒絶理由は、明示的にクリアされるまで上位プログ
ラムが利用できる。
*装置リセットなど特殊なアテンシ鱈ン・コードは、で
きるだけ速やかに実行すべくスケジュールが立てられる
*SCBコマンドは取出しのスケジュールが立てられる
。復号処理は、フィールド値が有効かどうかSCHの検
査を行なわない。
様々なコマンドが提示されたときに装置がどう反応する
かの記述は、「復号処理のための判断テーブル」の一連
の判断テーブルに定義されている。
それについて手短かに考察する。それらの規則は次のよ
うに要約できる。
1.ハードウェア制御のサブシステム・リセット・コマ
ンドは、必ずサブシステムに受諾される。
2.アテンシ譚ン・ポート宛のコマンドは、それが復号
進行中、サブシステム拒絶、サブシステム・IJ−1=
ット進行中、サブシステム・リセット保留開始、サブシ
ステム・リセット保留完了の各状態にある場合、サブシ
ステムによって無視される。
3.装置リセット・コマンドは、その装置が使用中で他
のコマンドを実行している場合でも、その装置によって
受諾される。この規則には次の3つの例外がある。
−アテンシーン・ポートで指定された装置番号が無効。
一ビットO〜7の8ビット即時コマンド・フードがOで
ない。
一サブシステムが上記の例外2で定義する状態の1つで
ある、すなわちアテンシaン・ポートに試みられた書込
みによって提出されるどのコマンドも無視する。
4.装置が使用中であるコマンドを実行しているとき、
下記の場合を除き、装置使用中コードで新しいコマンド
を拒絶する。
一新しいコマンドが装置リセット・コマンド。
−装置が使用中でSCBを実行しており、新しいコマン
ドが中断コマンドである(この場合、実行中のSCBが
完了してから、装置がSCB実行禁止状態になる。中断
コマンドは必ず、装置で実行された最後のScBに割込
みを要求させる)。
5. 6. 7. ー装置が使用中でSCBを実行しており、新しいコマン
ドがSCB割込みリセットである。(現在実.行中のS
CBは直ちに停止され、SCB割込みリセット機能が実
行される。停止されたSCBは実行の継続を許される。
) ある装置に対する割込み待ち行列が満杯のときは、下記
の場合を除碁、新しいコマンドは拒絶される。
一装置リセット 一割込みリセット(SCBまたは即時)ーサブシステム
・リセット(ハードウエア制御またはソフトウェア制御
) 装置が使用中でコマンドを実行してはいないとき、その
装置が、以前の中断コマンドによってSCBコマンドを
実行できない状態に置かれている場合は、SCBコマン
ドを拒絶する。
装置がコマンドを確実に実行できない状態にある場合は
、下記以外のすべてのコマンドを拒絶する。
ー装置リセット ーサブシステム・リセット(ハードウェア制御またはソ
フトウェア制御) ーアテンシaン・ポートの装置アドレスが有効でない場
合、そのコマンドは拒絶される。
復号処理のための判断テーブル この復号処理のためのアーキテクチャは、複数の拒絶理
由が存在するときJどの拒絶理由かを指定するように、
拒絶テストが行なわれる順序を定義する。これを次表に
示す。
復号処理のステップ ステップ1 − アテンション・コードとコマンドの妥
当性検査。拒絶フード=oio拒絶原因 アテンシ日冫・コード アテンシeン・コード が認識されない が無効 リセット・アテンシロン ・コード(OO) 8ビット即時コマンド ・コードが無効 割込みリセット・アテン 8ビット即時コマンドシーン
・コード(OE)  ・コードカ無効即時コマンド・ア
テ7  8ビット即時コマンドシーン・コード(OI)
  ・コードが無効ステップ2 − アテンシロン・ポ
ート中の装置の妥当性検査。拒絶コード=101 拒絶原因 装置リセット アテンシ冒ン・ポート の装置番号が無効 SCBまたはSCBと アテンシ仔冫・ポート しての装置従属アデン の装置番号が無効 シーン NOOP即時、中断、 再開 アテンシeン●ポート の装置番号が無効 診断即時 アテンシl冫・ポート の装置番号が無効 割込み状況ポート・ リセット SCB割込みリセット アテンシロン・ポート め装置番号が無効 アテンシeン◆ポート の装置番号が無効 非SCBとしての装置  アテンシロン・ポート従属ア
テンシaン    の装置番号が無効即時コマンド アテンシロン・ポート の装置番号が無効 ステップ3 一 装置が使用可能状態にあることの検証
。拒絶コード=001 拒絶原因 SCBまたはSCBと しての装置従属アテン 装置が使用不能状態 ション NOOP即時、中断、 再開 装置が使用不能状態 診断即時 装置が使用不能状態 SCB割込みリセッ ト 装置が使用不能状態 割込み状況ポート 装置が使用不能状態 リセット 非SCBとしての装置 装置が使用不能状態 従属アテンシlン 即時コマンド (上記 装置が使用不能状態 以外) ステップ4 装置が使用中でないとの検証。
拒絶コード=01 1 拒絶原因 SCBまたはSCBと 装置が使用中 しての装置従属アテン シロン NOOP即時、 再開、 装置が使用中 診断即時 割込み状況ポート 装置が使用中 リセット SCB割込みリセット、 装置が使用中(SCB 中断 を実行中ではない) 非SCBとしての装置 装置が使用中 従属アテンシ田ン 即時コマンド (上記 装置が使用中 以外) ステップ5 装置割込み待ち行列が満杯で ないことの検証。
拒絶コード=1 1 1 拒絶理由 SCBまたはSCBと 割込み待ち行列が満杯 しての装置従属アテン シーン 再開、 中断、 NOOP 割込み待ち行列が満杯 即時 診断即時 割込み待ち行列が満杯 非SCBとしての装置 従属アテンシBン 割込み待ち行列が満杯 即時コマンド(上記 以外) 割込み待ち行列が満杯 ステップ6 SCB実行エネーブルの検証。
拒絶コード=100 拒絶理由 SCBまたはSCBと しての装置従属アデン SCHの実行が中断 コマンドによって禁止 シl冫 復号アーキテクチャは、まず詳細々装置及びサブシステ
ム状態を指定し、次いで1組の判断テーブルによって完
全に定義される。
・サブシステム及び装置状態の定義 サブシステムは、下記の状態成分を有する。
*サブシステム実行状態には、ACCEPT,PEND
S1PENDC,RESETS,REJECT,DEC
ODEがある。これらの状態は、サブシステムが新しい
コマンドまたはハードウェア制御を受諾できるか否かを
定義する。
*使用可能状態。サブシスヂムが、フマンl’ヲ!実に
実行することを期待できる状態に入ったかどうかを定義
する。その値がイエスの場合はサブシステムは使用可能
であり、ノーの場合はそうではない。
*DMA可能。この状態成分は、サブシステムにD M
 A活動が許されるか否かをイエスとノーで示す。DM
A活動が許されないときは、サブシステムに対するSC
Bコマンドの取出し、TSB状況の記憶、またはSCB
コマンドのためのデータ移動は許されない。この状態成
分は、サブシステム制御ポートのDMAビットに対応す
る。
水割込み可能。この状態成分は、コマンドが割込みを必
要とするとき、サブシステムが主プロセッサに物理割込
みを送ることができるかどうかを示す。これはサブシス
テム制御ポートのEIビットに対応する。この値がイエ
スのとき、物理割込みが送られる。この値がノーのとき
は、割込みは送られない。
*Iv有効。この状態成分は、コマンド使用中/状況ポ
ートのIVビットに対応する。その値がイエスの場合、
サブシステムの割込み状況ポートは、上位プログラムに
よってリセットされていない有効な割込み値をもつ。こ
の値がノーの場合は、割込み状況ポートは割込み値を含
まない。
*装置活動状・態。この状態成分は、ハードウェア制御
またはアテンシ8冫・ポートを介して提出されたコマン
ドを処理するようにとの上位プロセッサからの要求を処
理した後に、どのように処理を再開するかを決定するた
めにサブシステムが使用する。たとえば、サブシステム
がACCEPT状態でその状態成分がイエスのときにR
Rビットに書き込むことは、RRビットがセットされる
前に行なっていた活動にサブシステムが戻ることを意味
する。この状態成分の値がノーの場合は、サブシステム
には実行すべき装置活動がなく、次の主プロセッサの動
作が起こるのを待つ状態になる。
・装置状態 装置は、下記の状態成分をもつように定義される。
1.使用中状態。これは、装置が現在使用中でコマンド
を実行しているかどうかを定義する。
この状態は、BUSY (使用中)とIDLE(遊休)
の2つの値をとる。値がIDLEの場合、装置は現在ど
のコマンドも実1テしていない。値がBUSYの場合は
、装置はコマンドを実行しており、使用中副状態とCM
D状態が、装置で進行中のコマンドまたはハードウェア
制御をさらに定義する。
2.使用中副状態(substate)。装置が使用中
でコマンドを実行している場合、この状態成分は、即時
コマンド、SCB1サブシステム・リセット(ハードウ
ェア制御)、サブシステム・リセット(ソフトウェア制
御)、装置リセット、中断、SCB割込みリセットなど
進行中のコマンドのタイプを示す。
使用中副状態が即時コマンドまたはSCHのときは、C
MD (コマジド)フィールドは、その装置で実行され
る予定の明示コマンドを定義する。
使用中副状態が、サブシステム・リセット(ハードウェ
ア制御)、サブシステム・リセット(ソフトウェア制御
)、HillFリセット、中断、またはSCB割込みリ
セットのときは、CMD状態成分は、これらのコマンド
の1つが受諾されたときに装置で実行中のコマンドを示
す。
使用中副状態が、サブシステム・リセット(ハートウェ
ア制御)、サブシステム・IJ セット(ソフトウェア
制御)、装置リセット、中3. 断、またはSCB割込みリセットのとき、装置状態成分
OLD (旧)使用中副状態は、これらのコマンドの1
つが受諾されたとき活動状態の使用中副状態を含む。
装置の使用中状態がIDLEのとき、その装置に対して
使用中副状態成分は定義されない。
CMD状態。これは、装置で実行されているコマンドに
関する次のような詳細を示す。装置の使用中副状態が即
時コマンドの場合、これは装置で実行中のコマンドを示
す。この場合、その値には次のようなものがある。
診断テスト即時実行 NOOP即時 割込み状況ポート・リセット 即時コマンド 使用中副状態がSCBの場合、CMD状態には次のよう
なものがある。
単一SCBに対する上位プロセッサ・メモリからの次の
SCBの取出し SCB連鎖の要素に対する上位プロセッサからの次のS
CBの取出し 単一SCHの妥当性検査(SCBの指又テストを実行す
る) SCB連鎖要素の妥当性検査(SC85指定テストを実
行する) 単一SCHの実行 SCB連鎖要素の実行 これらのCMD状態は、SCBの実行時に暴置タスクに
よってセットされる。すなわち、コマンド状態がSCB
取出しから単一SCEの実行またはSCB連鎖要素の実
行に進む。
単一SCHの実行中、SCBが実行を完了1ると、装置
は遊休状態に移る。装置がSCE連鎖を実行していると
きは、連鎖が完了すZかまたは中断コマンドによって中
断されるまで、装置は取出し状態を経てSCBコマント
実行状態に進む。中断コマンドは、中断活即の完了時に
必ず装置を遊休状態にする。
装置に対する使用中副状態が、サブシステム・リセット
(ハードウェア制御)、サブシステ4. ム・リセット(ソフトウェア制御)、装置リセット、中
断、またはSCB割込みリセットである場合、CMDフ
ィールドの用途は、状態成分OLD使用中副状態によっ
て変わる。
その値が即時コマンドまたはSCBである場合、CMD
フィールドは、サブシステム・リセット、装置リセット
、中断、またはSCB割込みリセットが実行すべく受諾
されたときに活動状態だったコマンドを反映する。装置
の旧使用中副状態が、サブシステム・リセット(ハード
ウェア制御またはソフトウェア制御)、装置リセット、
中断、またはSCB割込みリセットである場合、受諾時
に活動状態のコマンドは状態成分旧使用中副状態によっ
て完全に定義されるので、CMDは無視される。
装置割込み待ち行列満杯。この状態成分は、その装置に
対する割込み待ち行列のスペースが満杯であるか否かを
示す。イエスの値は、待ち行列が現在満杯であることを
示す。/−5. 6. の値は、装置割込み待ち行列のスペースが空いているこ
とを示す。割込みが装置によって待ち行列に入れられる
とき、割込み待ち行列のスペースが割り振られ、この時
点で割込み待ち行列が満杯になることがある。
SCB実行可能。この状態成分は、SCBの実行が装置
によって許されるか否かを示す。
SCBの実行が許され呟かった場合、この状態成分はノ
ーとなる。これは、中断コマンドの実行によって起こる
。SCBの実行が許される場合、この状態成分の値はイ
エスである。
これは再開、装置リセット、またはサブシステムによっ
てイエスにセットされる。
SCB連鎖中断。この状態の値が有効なのは、装置に対
して中断コマンドが出されたときだけである。中断コマ
ンドが出され、連鎖中の次のSCBの取出しが中断コマ
ンドによって停止された場合、この状態成分の値はイエ
スである。すなわち、この状態の装置に再開コマンドが
出されると、その装置はSCB使用7. 8. 中副状態に再び入り、中断コマンド時にSCB取出しア
ドレスにセーブされたSCBアドレスを使って、中断さ
れた連鎖の実行を再開する。SCB連鎖が活動状態でな
いときに中断コマンドが出された場合、あるいは現SC
Bの完了によって連鎖が停止された場合、この状態成分
の値はノーとなる。この状態の装置に再開コマンドが出
きれても装置はSCB使用中副状態に再び入らず、再開
から出て遊休状態になる。
SCB取出しアドレス。SCBコマンドカ最初にait
によって受諾されたとき、コマンド・ポート中のアドレ
スが復号処理によってこの域に移される。連鎖中の次の
SCBが装置タスクによって取り出されるとき、この状
態成分はそのSCHのアドレスで更新される。装置タス
クは、SCBの終了状態に応じてSCBからどの連鎖ア
ドレスを選択するかを決定する。
装置使用可能。装置が確実にコマンドを実行できる状態
の場合、この状態成分はイエスの値をとる。装置が確実
にコマンドを実行できない状態にある場合は、この状態
値はノーとなる。
9.即時コマンド値IC.復号処理が直接コマンドを受
諾するときは、コマンド部分の値がこの状態成分に移る
。装置タスクが、直接コマンド中の値にアクセスするた
め、この値を使用することができる。現在はビット15
〜Oだけが直接コマンドの実行をもたらす。
10.装置割込み可能。この状態成分は、装置が物理割
込みを要求できるか否かを決定する。
状態成分の値がENABLE (エネーブル)の場合、
割込みを要求することができる。
値がDISABLE(ディスエープル)の場合は、物理
割込みを要求できない。装置は、この状態成分の値がど
うであれ、割込みを装置の内部割込み待ち行列に入れる
必要がある。この状態成分は、装置に送られる即時コマ
ンドのビット14、またはサブ1 1. 1 2. 1 3。
システム・リセット・コマンドによってセットされる。
後割込み。この状態成分は、即時コマンドが完了成功時
に割込みを要求するか否かを決定する。サブシステム・
リセット、SCB割込みリセット、及び即時割込みリセ
ットの場合は、これは無視される。この状態成分はイエ
スまたはノーの値をとり、装置に送られる即時コマンド
のビット15によってセットされる。
旧使用中副状態。この状態成分は、中断、サブシステム
・リセット(ソフトウェア制御)、サブシステム・リセ
ット(ハードウェア制御)、またはSCB割込みリセッ
トが受諾されたときに装置で活動状態であった、使用中
副状態の値を含む。
旧CMD状態。この状態成分は、装置の割込み待ち行列
が満杯であるためにSCBが取り出せなかったときに活
動状態となるSCB  CMD値を含む。この条件が生
じた1 4. 1 5. とき、装置はI DLE状態になる。SCB割込みリセ
ットまたは即時割込みリセットは、実行後に割込み待ち
行列が満杯でない場合、装置をSCB状態に再び入らせ
ることができる。
SCB中断割込み待ち行列満杯。この状態成分は、装置
の割込み待ち行列が満杯だったために、装置がSCB状
態からIDLE状態に入った場合、イエスの値をとる。
この状態成分がイエスのときに割込みリセットが装置の
割込み待ち行列を満杯状態から出させるとき、状態成分
旧CMD状態とSCB取出しアドレスが、SCBの実行
を再開するために使用される。装置が、その割込み待ち
行列が満杯であるためにSCB実行が中断される状態に
ないときは、この状態成分はノーの値をとる。
SCB実行中SCB割込みリセット受諾。
この状態成分は、SCB割込みリセット・コマンドが、
使用中でSCBを実行してい1 6. 1 76 る装置によって受諾されるとき、イエスとなる。装置が
I DLE状態のときにSCB割込みリセットが受諾さ
れたとき、この値はノーとなる。
装置に対する割込み待ち行列。これは、装置に対する内
部割込み待ち行列の位置を指定する状態成分である。こ
れは、現最古要素の位置、及び後の割込みに対して割り
振るのに使用できる位置と項目数を含まなければならな
い。
SCB論理割込みカウント。これは、装置がSCB論理
割込みを立ち上げるたびに1ずつ増分される状態成分で
ある。
これらの状態成分のいくつかを用いて、第2表及び第3
表に示すように、コマンドが復号処理によって受諾また
は拒絶される。
これらの表で、DCは「どうでもよい」との意味で、そ
の条件が復号処理の結果を決定するためにテストされな
いことを意味する。NAは、「適用されない」との意味
で、その条件が復号処理で必要とされるテストの一環と
して存在できないことを意味する。
コマンド転送システムは、コマンド処理プログラムと復
号プロセッサを含んでいる。これらの機能は、ハードウ
ェアまたはソフトウェアあるいはその両方で実施するこ
とができる。したがって、システムの動作を説明する第
2図及び第12図で利用した以前の構成図による実施態
様を補うものとして、それらの実施態様を第14図ない
し第20図に流れ図として示す。具体的には、コマンド
処理プログラム及び復号プロセッサが、第12図のサブ
システム202のコマンド転送論理ブロック230及び
マイクロプロセッサ234中にハードウェアの形で含ま
れ、例示されている。コマンド処理プログラムは入出力
ポートで受け取ったコマンドを処理し、復号プロセッサ
は、サブシステムまたは接続装置の1つによって実行す
るため、コマンドを復号する。
第14図は、コマンド転送システムの全体的流れ図であ
る。コマンド処理プログラムは、プロフク500で、サ
ブシステム制御ポー} (SSCP)、アテンシロン・
ポート(AP) 、またはコマンド・インタフェース・
ポー} (CP)など入出力アドレスのいずれかへの上
位プロセッサの書込みをサブシステムが検出したとき、
割込みに入る。ブロック502で、コマンド処理プログ
ラムがそうすることができる場合、コマンド・インタフ
ェース・ポート及びアテンション・ポートへの上位プロ
セッサの書込みに対するその処理の割込みを禁止する。
そうした割込みを禁止できない場合は、コマンド処理プ
ログラムが後でその処理が再度可能になるまで、これら
のポートへの書込みは無視される。判断ブロック504
で、SSCPへの書込みを試みた結果、コマンド処理プ
ログラムに入ったかどうか判定する。そうである場合は
、ブロック506に進んで、SSCPへの書込みを処理
する。この処理については、第15図及び第16図に関
して詳しく説明する。sscpへの書込みの後、ブロッ
ク508に進んで、コマンド処理プログラムが、アテン
シ日冫・ポート及びコマンド・インタフェース・ポート
への上位プロセッサの書込みに対する処理を再度可能に
し、ブロック500に戻る。
判断ブロック504でsscpへの書込みがなかった場
合は、判断ブロック510に進み、上位プロセッサがコ
マンド・インタフェース・ポートへの書込みを試みたか
どうか判定する。そうである場合は、ブロック512は
進んで、コマンド・インタフェース・ポートへの書込み
を処理する。
この処理については、第18図に関して詳しく説明スる
。コマンド・インタフェース・ポートへの書込みの後、
再びブロック508に進み、コマンド処理プログラムが
、アテンシaン・ポートへの上位プロセッサの書込みに
対する処理を再度可能にし、ブロック500に戻る。
判断ブロック510でコマンド・インタフェース・ポー
トへの書込みがなかった場合は、ブロック514に進ん
で、アテンシBン・ポートへの書込みを処理する。この
処理については、第17図に関して詳しく説明する。
次に第15図及び第16図に関して、第14図のブロッ
ク506のsscpへの書込みの処理について詳しく説
明する。第15図に関して、ブロック516で、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ビットがOにされる。次いでブロック532
に進んで、コマンド・インタフェース・ポート及びアテ
ンション・ポートへの書込みを可能にし、前述のように
進む。
判断ブロック556でサブシステム実行状態がサブシス
テム・リセット保留開始ではないと判定した場合、判断
ブロック560に進んで、サブシステム実行状態がリセ
ット保留完了かどうか判定する。そうである場合は、ブ
ロック562に進んで、サブシステム実行状態がサブシ
ステム・リセット進行中にセットされる。ブロック56
4で、コマンド処理プログラムは、コマンド・インタフ
ェース・ポート及びアテンシ鐸ン・ポートへの上位プロ
セッサの書込みの処理を再度可能にする。次いでブロッ
ク566で、コマンド処理プログラムは、サブシステム
・リセット進行中機能を呼び出す。
このとき、ブロック568で、サブシステム実行状態は
コマンドを受諾する準備ができている。次いで第14図
のブロック508に戻って、前述のように上位割込みを
可能にする。
判断ブロック580でサブシステム実行状態がリセット
保留完了ではないと判定した場合、ブロック570に進
んで、サブシステム実行が拒絶または受諾となる。ブロ
ック572で、SscPのE■ビットがセットされる。
ブロック574で、サブシステム実行状態の割込み可能
成分がイエスにセットされる。ブロック576で、割込
みテスト機能を呼び出して、装置Oから順にいずれかの
装置が割込みを立ち上げることができるかどうか判定す
る。プロ,ク578で、SSCPのビット1がサブシス
テム制御ポートのDMAにセットされる。ブロック58
0で、sscpのビット6、4、3、2がsscp中の
対応する位置にセットされる。ブロック582で、SS
CPのビット5がSSCPのRRビットにセットされる
第18図の判断ブロック584でsscpへの書込み処
理に進み、SSCP中のRRビットが″′O”か否かを
判定する。そうである場合は、判断ブロック586に進
んで、サブシステム実行状態がコマンド受諾であるかど
うか判定する。そうである場合は、判断ブロック588
に進み、サブシステムのいずれかの装置活動構成要素が
ノーかどうか判断する。そうである場合は、第14図の
ブロック508に進み、前述のように上位割込みを可能
にする。いずれかの装置活動構成要素がイエスである場
合は、ブロック590に進み、コマンド処理プログラム
がコマンド・インタフェース・ポート及びアテンシ綱冫
・ポートへの上位ブロセッサの書込みの処理を再度可能
にする。ブロック592で、コマンド処理プログラムは
その活動の処理から戻り、サブシステム上の割込みを受
けた活動に制御を戻す。
判断ブロック586でサブシステム実行状態がコマンド
受諾ではないと判定した場合は、判断ブロック594に
進み、サブシステム実行状態がシステム・リセット進行
中か否か判定する。そうである場合、ブロック596に
進んで、コマンド処理プログラムはコマンド・インタフ
ェース・ポート及びアテンシロン・ポートへの上位プロ
セッサの書込みの処理を再度可能にする。次いでブロッ
ク598で、コマンド処理プログラムは、割込みからサ
ブシステム・リセット進行中機能に戻る。
判断ブロック594でサブシステム実行状態がリセット
進行中ではないと判定した場合、判断ブロック588に
進んで前述のように進める。
判断ブロック584でRRビットが”゜0゛ではないと
判定した場合は、判断ブロック800に進み、サブシス
テム実行状態が拒絶か否か判定する。
そうである場合、ブロック802に進み、サブシステム
が拒絶状態からコマンド受諾状態に入る。
次に判断ブロック588に進んで、前述のように進む。
判断ブロック600でサブシステム実行状態が拒絶では
ないと判定した場合は、判断ブロック588に進んで、
前述のように進む。
次に第17図に関して、第14図のブロック514のア
テンシロン・ボードへの書込みの処理について詳しく説
明する。判断ブロック604で、サブシステム実行状態
が復号であるか否か判定する。そうである場合は、ブロ
ック606で、アテンシaン・ポートへの上位プロセッ
サの書込みは無視され、第15A図のブロック552に
戻って前述のように進む。判断ブロック604でシステ
ム実行状態が復号ではないと判定した場合は、判断ブロ
ック608に進んで、サブシステム実行状態が拒絶であ
るか否か判定する。そうである場合は、ブロック610
で、アテンシロン・ポートへの上位コンピュータの書込
みは無視され、第16図のブロック588に戻って前述
のように進む。
判断ブロック608でサブシステム実行状態が拒絶では
ないと判定した場合は、判断ブロック6l2に進んで、
サブシステム実行状態がリセット保留開始か否か判定す
る。そうである場合は、ブロック614で、アテンシθ
ン・ポートへの上位コンピュータの書込みは無視され、
第15C図のブロック532に戻って前述のように進む
判断ブロック612でサブシステム実行状態がリセ゜ッ
ト保留ではないと判定した場合は、判断ブロック616
に進んで、サブシステムの状態がリセット保留完了であ
るか否か判定する。そうである場合は、ブロック618
で、アテンション・ポートへの上位コンピュータの書込
みは無視され、第14図のブロック508に戻って、前
述のように上位割込みを可能にする。
判断ブロック616でサブシステム実行状態がリセット
保留完了でないと判定した場合は、判断ブロック820
に進んで、サブシステム実行状態がサブシステム・リセ
ット進行中であるか否か判定する。そうである場合は、
ブロック622で、アテンシロン・ポートへの上位フン
ビュータの書込みは無視され、第16図のブロック59
6に戻って前述のように進む。
判断ブロック620でサブシステム実行状態がサブシス
テム・リセット進行中ではないと判定した場合は、ブロ
ック824に進んで、サブシステム実行状態は受諾状態
となり、ブロック626で、アテンション・ポートが更
新゜される。次いでブロック628で、サブシステム実
行状態が復号にセットされる。次いでブロック630で
、コマンド処理プログラムは復号処理を呼び出す。その
詳細は第18図及び第20図に関して後で説明する。
判断ブロック632で、復号処理がコマンドを受諾した
か否か判定する。そうである場合は、ブロック634に
進んで、サブシステム実行状態がコマンド受諾にセット
され、第16図の判断ブロック588に戻って前述のよ
うに進む。
判断ブロック632で、復号処理がコマンドを受諾しな
かったと判定した場合は、ブロック636に進み、サブ
システム実行状態が拒絶にセットされる。ブロック83
8で、BビットとREJビットが1にセットされ、Sビ
ットがコマンド使用中/状況ポート中の復号処理によっ
て決定されるようにセットされる。次いで第16図の判
断ブロック588に戻って前述のように進む。
次に第18図に関して、第14図のブロック512のコ
マンド・インタフェース・ポートへの書込みの処理につ
いて詳しく説明する。判断ブロック840で、サブシス
テム実行状態が復号であるか否加判定する。そうである
場合は、ブロック642で、コマンド・インタフェース
・ポートへの上位コンピュータの書込みは無視され、第
15A図のブロック552に戻って前述のように進む。
ブロック840でシステム実行状態が復号ではないと判
定した場合は、判断ブロック644に進み、システム実
行状態が拒絶であるか否か判定する。
そうである場合は、ブロック646で、コマンド・イン
タフェース・ポートへの上位システムの書込みは無視さ
れ、第l6図のブロック588に戻って前述のように進
む。
判断プロ,ク644でサブシステム実行状態が拒絶では
ないと判定した場合は、判断ブロック648に進み、サ
ブシステム実行状態がリセット保留開始であるか否か判
定する。そうである場合、ブロックE350で、コマン
ド・インタフェース・ポートへの上位コンピュータの書
込みは無視され、第15C図のブロック532に戻って
前述のように進む。
判断ブロック648でサブシステム実行状態がリセット
保留開始ではないと判定した場合は、判断ブロック65
2に進んで、サブシステム実行状態がリセット保留完了
であるか否か判定する。そうである場合、ブロック65
4で、コマンド・インタフェース・ポートへの上位コン
ピュータの書込みは無視され、第14図のブロック50
8に戻って前述のように進む。
判断ブロック852でサブシステム実行状態がリセット
保留完了ではないと判定した場合は、判断ブロック65
6は進み、サブシステム実行状fr3がサブシステム・
リセット進行中であるか否か判定する。そうである場合
、ブロック658で、コマンド・インタフェース・ポー
トへの上位コンピュータの書込みは無視され、第16図
のブロック596に戻って前述のように進む。
判断ブロック656でサブシステム実行状態がサブシス
テム・リセット進行中ではないと判定した場合は、ブロ
ック880に進んで、サブシステム実行状態は受諾状態
になる。次いでブロック662で、コマンド・インタフ
ェース・ポートが、上位コンピュータから供給される値
で更新される。
次いで第1θ図の判断ブロック588に戻って前述のよ
うに進む。
コマンドが受諾できるかどうか判定するため、コマンド
処理プログラムにより「呼出し様」処理を使って復号処
理が呼び出される。コマンドが受諾された場合、復号処
理は、コマンド処理プログラムにコマンドが受諾された
かそれとも拒絶されたかを示して制御を戻した後、コマ
ンドを実行する装置タスクのスケジュールを立てる。復
号処理は、コマンドが実行を受諾された場合、装置状態
をそれに応じて適宜セットする。コマンドが拒絶された
場合は、復号処理は、コマンド処理プログラムがコマン
ド使用中/一状況ポートのSビット値として書き込む値
を戻す。
復号処理に入るには、コマンド処理プログラムからの呼
出しを用いる。復号処理に入ると、処理すべきコマンド
はコマンド・インタフェース・ポートで得られる。アテ
ンシaン・ポートは、コマンド・タfイプーを含み、コ
マンドが送られる先の装置を識別する。
次に第19図及び第20図に関して、復号処理の詳しい
説明を行なう。判断ブロック664で、そのコマンドに
対するアテンシ,ン・コードが装置リセットであるか否
か判定する。そうである場合は、判断ブロック68Bに
進んで、コマンド・インタフェース・ポートのビット7
〜0の即時コマンド・コードが”O″かどうか判定する
。そうでない場合は、ブロック672に進み、復号処理
はその戻りコードを、コマンドが拒絶されたことを示す
ようにセットする。判断ブロック698または700の
答がノーであった場合もそうなるが、それらの動作につ
いては後で説明する。ブロック674で、拒絶の理由が
無効コマンドであると指示される。ブロック676で、
復号処理はコマンド処理プログラムに制御を戻す。次い
で第17B図ノ判断ブロック632に戻って、以前に説
明したように進む。
判断ブロック666でコマンド・インタフェース・ポー
トのビット7〜0の即時コマンド・コードがOであると
判定した場合、判断ブロック668に進んで、アクセス
される装置がアドレス″0”、すなわちサブシステム・
アドレスであるかどうか、つまりコマンドがサブシステ
ムのソフトウェア制御リセット・コマンドであるかどう
か判定する。そうである場合は、ブロック680に進ん
で、サブシステムの実行状態をサブシステム・リセット
進行中にセットする。ブロック682で、サブシステム
・−リセット・ソフトウェア制御機能が復号処理によっ
て呼び出される。ブロック684で、復号プロセスは、
その戻りコードをコマンド受諾としてセットし、ブロッ
ク676に戻って、コマンド処理プログラムに戻る。
判断ブロック668で装置アドレスがアドレス″O”す
なわちサブシステム・アドレスではないと判定した場合
は、ブロック670に進んで、アテンシeン・ポートの
装置IDが有効か否か判定する。そうである場合は、ブ
ロック686に進んで、コマンドが送られる先の装置の
現使用中副状態が、装置状態成分旧使用中副状態にセー
ブされる。内部変数IBSSが、装置リセットの値にセ
ットされる。ブロック688で、コマンドが送られる先
の装置の装置状態成分ICが、コマンド・インタフェー
ス・ポート中の値にセットされる。次にブロック890
で、アドレスされた装置の使用中状態が使用中にセット
される。次にブロック692で、後で実行するためアド
レスされたコマンドI CMDのスケジュールを立てる
ため、サブシステム・スケジュール機能を呼び出す。次
いでブロック684に戻って、以前に説明したように進
む。
判断ブロック670で、アテンシa冫・ポート中の装置
IDが有効でないと判定した場合は、ブロック671に
進んで、コマンドの戻りコードが拒絶にセットされる。
その理由は装置ID無効である。次にブロック676に
進んで、コマンド処理プログラムに戻る。
判断ブロック664でコマンドに対するアテンシ日ン・
コードが装置リセットではないと判定した場合は、判断
ブロック694に進んで、コマンドに対するアテンシl
ン・コードが割込みリセットであるか否か判定する。そ
うでない場合は、判断ブロック696に進んで、新しい
コマンドに対するアテンシ蜂ン・コードが即時コマンド
か否か判定する。そうである場合は、後述する判断ブロ
ック700に進む。そうでない場合は、判断ブロック6
98に進み、新しいコマンドに対するアテンション・コ
ードがSCBであるか否か判定する。
そうである場合は、後述する判断ブロック702に進む
。そうでない場合は、ブロック672に進んで、以前に
説明したように進む。
判断ブロック694でコマンドに対するアテンシ−ヨン
・コードが割込みリセットであると判定した場合、判断
ブロック700に進んで、コマンド・インタフェース・
ポート中のコマンドのビット7〜Oの即時コマンド・コ
ードが有効か否か判定する。
コマンドが有効でない場合は、ブロック672に進んで
、以前に説明したように進む。コマンドが有効な場合は
、判断ブロック702に進んで、アテンシ日ン・ポート
中の装置IDが有効かどうか判定する。そうでない場合
は、ブロック671に進んで、以前に説明したように進
む。そうである場合、判断ブロック704に進んで、装
置が使用可能状態にあるか否か判定する。そうでない場
合は、ブロック708に進んで、戻りコードを拒絶に設
定する。特定の拒絶コードは、ブロック708に示すよ
うに、装置使用不能である。次にブロック676に戻っ
て、以前に説明したように進む。
判断ブロック704で、装置が使用可能状態にあると判
定した場合は、第20A図の判断ブロック710に進み
、装置が使用中状態にあるか否か判定する。そうである
場合、判断ブロック712に進んで、新しいコマンドが
割込みリセットであるか否か判定する。そうでない場合
は、判断ブロック714に進んで、新しいコマンドが中
断であるかどうか判定する。そうでない場合は、ブロッ
ク716で戻りコードが拒絶に設定される。その理由は
、ブロック718に示すように装置が使用中ということ
である。次いで第19B図のブロック676に戻って、
以前に説明したように進む。
判断ブロック712または714で判定がイエスの場合
、判断ブロック?20に進んで、装置が現在SCBを実
行中か否か判定する。そうでない場合は、ブロック71
6に進んで、以前に説明したように進む。そうである場
合は、判断ブロック722に進む。判断ブロック710
で装置が使用中でないと判定した場合も、判断ブロック
722に進む。判断ブロック722で、新しいコマンド
に対するアテンシ8冫・コードが割込みリセットか否か
を判定する。そうである場合、第19A図のブロック6
86に戻る。そうでない場合は、判断ブロック724に
進んで、装置割込み待ち行列が満杯か否か判定する。そ
うである場合、ブロック726で、復号処理はその戻り
コードを拒絶に設定する。特定の拒絶コードは、ブロッ
ク728に示すように割込み待ち行列満杯である。第1
9B図のブロック676に戻って、以前に説明したよう
に進む。
判断ブロック724で装置割込み待ち行列が満杯ではな
いと判定した場合、判断ブロック730に進んで、新し
いコマンドが中断であるか否か判定する。そうである場
合、第19A図のブロック686に戻って、以前に説明
したように進む。そうでない場合は、ブロック732に
示すように、新しいコマンドはSCBである。次に判断
ブロック734で装置状態がSCBの実行を許すか否か
判定する。そうである場合は第19A図のブロック68
8に戻って、以前に説明したように進む。
そうでない場合は、ブロック73Bで戻りコードが拒絶
に設定される。ブロック738で、拒絶理由はSCB実
行拒絶である。第19B図のプロック67Bに戻って、
以前に説明したように進む。
次に本発明の割込み処理機構を一般的に説明する。その
後、第21図ないし第26図に関して詳しく述べる。下
記のように、物理割込みと論理割込みの2つのタイプの
割込みが定義される。
物理割込みは、優先割込みとも呼ばれ、即時コマンドお
よびハードウェア制御と関連し、SCBコマンドの結果
として通知ざれる。物理割込みが発生するのは、サブシ
ステムが上位システムへの割込み線を活動化して、装置
に対して出されたコマンドの完了時に入出力事象が発生
したことを上位システムに警告するときである。上位シ
ステムはそのプログラム実行を優先して、割込み処理プ
ログラムを入出力事象に向ける。この入出力事象は、S
CBコマンドまたは即時コマンドの完了成功または完了
不成功と関連づけられる。これはl・グルされるハード
ウェア制御ビットにより示される。
論理割込みは、SCBコマンドのみに関連する。
論理割込みが発生するのは、第10図に示すように、完
了したSCBコマンドがTSB状況ワードOをシステム
・メモリに記憶し、SCB割込み中断ビット(ビット7
)が”1゜゜にセットされるときである。こうなると、
おそらく物理割込みが上位システムに伝えられる前に、
(ビット7をセットすることにより)システムに割込み
が知らされる。装置が物理割込みを提起する機会を得る
前に、プログラムがこれらのSCB割込みを処理するこ
とができる。この場合、プログラムは、後で第24図に
関して説明するSCB割込みリセット・コマンドを使っ
て、物理割込みがサブシステムから提示される前に論理
割込みをリセットすることができる。このことについて
は、割込みのクリア、すなわち「割込みリセット」に関
して後で詳しく考察する。
物理割込みが許可されるかどうかによって、装置によっ
て待ち行列に入れられた論理割込みが、物理割込みとし
てサブシステムからシステムに提示されるか否かが決定
される。論理割込みは、サブシステム・レベルあるいは
装置レベルで禁止されることがある。
サブシステムが物理割込みを禁止されるとき、あとで割
込みが可能になるまで、それに接続されたどの装置もシ
ステムに物理割込みを提示することはできない。
サブシステムは、第3図に示ナように、サブシステム制
御ポート152のビットo1すなわちEIビットを”0
”にセットすることにより、割込みを禁止される。サブ
システム中で割込みを禁止するもう1つの方法は、第6
図に示すように、ビット14、すなわちDDIビットを
゜゜l″にセットした即時コマンドをサブシステムに送
ることである。通常、これは装置の活動化制御に使用す
る手段であるが、装置O向けのコマンドはサブシステム
に送られることを思い起こされたい。
装置が物理割込みを禁止されると、その装置が物理割込
みとして待気行列に入れた割込み要求を提示することは
できない。この場合にサブシステムが割込み可能になる
と、接続された装置が待ち行列に入れられた割込みを要
求できるかどうか判定するため、サブシステムは別の接
続装置を選択することができる。
装置割込みは、その装置向けの任意の即時命令の即時コ
マンド・ビット14をセットすることにより、解禁また
は禁止することができる。
各サブシステムは、システムに対する1本の割込み線と
割込み接続ポートをもつ。多数の装置がこれらの資源を
争奪することがあり、(かつISPは一時に1つの装置
しか使用できない)ので、各接続装置にシステムへの物
理割込みを要求する機会を与えるのはサブシステムの責
任である。
この責任を果たすため、各装置は、割込み待ち行列に関
する充分な情報を待ち行列に入れて、サブシステムが待
ち行列から関連情報を読み取る際に各割込みを提示でき
るようにしなければならない。ISPは割込み状況ポー
ト・リセット・コマンドによってしかりセットできない
ので、サブシステムはISP中で次にどの装置割込みを
提示するかを管理しなければならない。
割込みがあるかどうか各装置の待ち行列をテストする処
理を、「割込みテスト」と呼ぶ。
装置に対する割込みの待ち行列化は、決してその装置の
割込み可能状況によって制御されない。
割込みはその状況とは無関係に、待ち行列に入れられる
。また、装置が非活動化されたとき、装置に対する割込
み待ち行列から待機中の割込みがパージされることもな
い。この待ち行列は、装置リセット●コマンドまたはサ
ブシステム・リセット・コマンドによってのみ検査なし
に空にされる。
DIIPは、所与の論理装置について少なくとも1つの
SCB論理割込みが提起されたことをサブシステムが示
す手段となる。これは、16ビットの入出力ポートそれ
ぞれでサブシステムに接続された各装置を表すビットを
個別に割り当てることによって行なう。サブシステムは
、先に説明したように、少なくとも1つのDIIPをも
つ。この最初のDI IPを第21図に示す。このDI
IPは、その最下位ビットOが、SCB論理割込みが提
起されたことを示すためサブシステムに対して割り当て
られるように定義されている。次いでビッ}1〜15が
、SCB論理割込みを示すためサブシステムに接続され
た最初の15台の装置に割り当てられる。サブシステム
が16台以上の装置をサポートする場合は、2個以上の
DIIPが必要になる。第1のDI IPの後、次の1
8ビット・ポートが16台の装置を処理することができ
、番号16以降の装置に対するSCB論理割込み専用に
使用される。装置の割当ては、各ポートで最下位ビット
から最上位ビットへと続く。すなわち、第22図に示す
ように、litl6は第2のポートのビットOで表され
、装置31はそのビットエ5で表される。
サブシステムに16台以上の装置が接続されている場合
は、複数の16ビッ}DIIPが必要である.複数のポ
ートが必要なとき、それらは入出力空間で連続するアド
レスをもつ。必要なDIIPの数は、Ceil((サブ
システムに接続された装置の数+1)/16)で与えら
れる。ただし、Ceilは非ゼロの最小の整数である。
接続装置が19台の場合、Ceil ((19+1)/
1B)=Ce i 1 (20/16)=2ポートと計
算される。接続装置が33台の場合は、Ceil ((
33+1)/16)=Ceil (34/16)=3ポ
ートと計算される。
DI IPポートが、その番号の装置がサブシステムに
物理的に接続されていないために使用されていないビッ
トをもつときは、それらのビットは常に″O″となる。
SCB割込みを処理する際、SCBが割込み要求で完了
したとき、必ずTSB状況を記憶しなければならない。
すなわち、あらゆるSCB割込みは論理割込みであり、
物理割込み要求が行なわれる前に、少なくともTSB状
況ワードO(第10図)がシステム・メモリに書き込ま
れる。論理割込み要求が記録された後、その装置に対す
る内部SCB割込みカウントが、物理割込みの提起に使
用するため1だけ増分される。SCB割込みカウントが
負またはOの場合は、装置は物理割込みを要求しない。
要約すると、次の2つの場合に物理割込みがシステム・
プログラムに報告される。
a,サブシステムに対する割込みがISP中に存在し、
その割込みを引き起こした装置が活動化されている。
b.活動化された装置が、0より大きな論理割込みカウ
ントをもつ。
装置が活動化されている場合、サブシステムに対するI
SPが現在非活動化されている装置に対する割込みを含
んでいるとしても、物理割込みがSCB論理割込みをも
たらすことがあり得ることに留意されたい。このDI 
IP割込みの特徴により、プログラムは、単一割込み状
況ポートに基づいてプログラムの動作を直列化する必要
なしに、装置ごとにSCB論理割込みを処理することが
できる。
SCB論理割込みを上位システムに提示するには、次の
論理ステップが必要である。
1.TSB状況を主プロセッサ・メモリに書き込む。ア
ーキテクチャ上、SCB論理割込みが要求されたとき、
少なくともTSB状況ワードOを書くことが必要である
2.装置から提示されるSCB論理割込みのカウントを
1ずつ増分する。
3.その装置に対して少なくとも1つのSCB論理割込
みが提起されたことを示すため、DIIP中のその装置
を表す正しい装置特有のビットを1にセットする。
物理割込みに対するSCB論理割込みのこの3つのステ
ップが実施された後、特定の装置が、サブシステムによ
る物理割込みの提起があるかどうか後でテストされる。
このことについては、第23図に関して詳しく説明する
システム・プログラムは、物理割込みを受け取る前に、
論理装置に対するSCB論理割込みを提起したことを検
出することができる。これは、2つの方法で実施できる
。簡単な方法は、サブシステムに対するDI IPポー
トを読み取って、非ゼロのビットを記録するものである
。これらのビットは、少なくとも1つの未処理のSCB
論理割込みをもつ装置を表す。システム・プログラムは
また、TSB状況ワードが非ゼロ値にセットされている
かどうか主記憶装置を走査することができる。
TSBビットを分析して、システム・プログラムはこの
TSBが完了し、物理割込みを要求したことを知る。こ
の第2の方法は、メモリをポーリングするのに主プロセ
ッサ・サイクルを必要とし、かつ結果を得られないこと
があるので推奨できない。第1の方法は、DII15ビ
ットに対する非ゼロ値の読取りにより、少なくとも1つ
のSCB論理割込みの処理が保証されるので、第2の方
法より勝っている。
論理SCB割込みは割込み状況ポートを介して報告され
ないので、SCB論理割込みがシステムによって認めら
れるとすぐ、論理装置に対してリセットすることができ
る。これは、非ゼロのカウント値を伴うSCB割込みリ
セット・コマンドを出すことによって行なう。
SCB割込みリセット・コマンド中で指定されたカウン
ト値が、その装置に対するSCB論理割込みの数から差
し引かれ、その差がその装置に対するSCB論理割込み
の新しいカウントになる。
その結果得られるSCB論理割込みのカウントがSCB
割込みリセット・コマンドの結果としてゼロ以下になっ
た場合、その論理装置に関連するDIIPビットが?′
O″にセットされる。
このDI IP割込みアーキテクチャの利点は、上位プ
ログラムが、SCB割込みリセット・コマンドの1回の
実行で、装置から複数のSCB論理割込みをクリアでき
ることである。また、これらの論理割込みが物理割込み
を引き起こす前に、それらをクリアすることもできる。
DIIP割込みアーキテクチャを実施する際、大部分の
SCB割込みは、論理割込みが提示された後に適切なD
IIPビットを゜゜1′゜にセットすることによって提
示される。このことに対する例外が生じるのは、SCB
を取り出すことができないとき、またはTSB状況を書
くことができないときである。これらの場合、割込みコ
ードが8になったSCBエラーが、サブシステムに対す
るISP中に記録される。
SCB実行中のハードウェア障害に対する割込みは、そ
の装置の内部割込み待ち行列に入れられる。すなわち、
その割込み要求は最後の論理位置すなわち最新の位置に
入れられる。この場合に割込み待ち行列が満杯になると
、それが内部装置状態に記録される。
非SCBコマンドが完了時割込みを必要とする場合、そ
れはその論理装置に対する割込み待ち行列の最後の論理
位置すなわち最新の位置に入れられる。待ち行列に入れ
られたデータは、その物理割込みが主プロセッサに提示
されたとき、待ち行列から外されて割込み状況ポートに
入る。IMFデータは、エラーを伴うまたはエラーなし
の即時コマンド完了、またはハードウェア障害として割
込み理由コードを示す。ISP中で報告される装置アド
レスは、サブシステムによる割込みテスト中にデータの
ソースとして選択された装置割込み待ち行列から決定さ
れる。ISPが書かれた後に、IVビットがコマンド使
用中/状況ポート156(第3図)中で゜゜1″にセッ
トされる。
物理割込みは、少なくとも1つの論理装置がSCB論理
割込みを提示したこと、及び装置がISP中に割込みデ
ータをもつ可能性のあることを示すことができる。
物理割込みが提示されたとき、上位プログラムは、コマ
ンド使用中/状況ポートのIVビット及びサブシステム
のDIIPポートを読み取ることによってそのソースを
見つげる。IVビットが″1″のときは、ISPを読み
取ることによって示される装置に対する割込みを処理す
る必要がある。この割込みは、割込み状況ポート・リセ
ット・コマンドによってクリアしなければならない。こ
の割込みがクリアされないと、後でその対象となる装置
が活動化された場合に物理割込みの原因となる。ISP
をクリアしないと、サブシステムがISP中で新しい割
込みデータを提示することが不可能になる。
DIIPポートがシステム・プログラムによって読み取
られるとき、”1゜1のビットがあれば、それは、この
ビット位置を割り当てられた装置が少なくとも1つのS
CB論理割込みをTSB区域に記憶しており、割込みの
処理を必要としていることを示す。
システム割込み処理プログラムは、どの特定のSCBが
割込みで完了したかを決定し、それらの完了時の状況を
決定するために,SCB論理割込みをもつ装置に対する
活動SCBのリストにアクセスする必要がある。
そうなるのは、DIIPポートで与えられる単一ビット
が必要なデータを運べないからである。
この場合に割込み処理プログラムで使用される探索方法
は、不完全であると思われる最初のSCBからスタート
し、割込み要求ビットが”1゜1にセットされたTSB
を状況ワードがO(第10図)かどうか検査する。この
状態で見つかったTSBがあれば、カウント1のSCB
割込みリセット・コマンドでそれをリセットすることが
できる。また、割込み要求ビットが″1”にセットされ
たTSHのカウントを維持することもできる。1つのS
CB割込みリセット・コマンドを使って、割込み処理上
位プログラムが特定の装置に対する割込みの処理を停止
する前に、装置をリセットすることができる。
SCB割込みに対して装置が処理される順序、及びある
装置に対して処理されるSCBの数は、割込み処理ソフ
トウェアのみによって決定される。
論理装置に対するSCB論理割込みに関する物理割込み
については、下記の条件が満たされる場合にのみ割込み
が起こる。
1.サブシステムが割込み可能にされる。
2.装置が割込み可能にされる。
3.その装置に対するSCB割込みカウントがOより大
きい。
DIIP装置に対する割込み待ち行列の状態を維持する
必要がある。満杯の割込み待ち行列は、装置がSCBコ
マンドを実行できないことを意味する。そうなるのは、
SCBを処理する際にSCBが取り出せないときまたは
TSB状況が記憶できないときに生じたハードウェア障
害のために、ISPに入れる必要のある割込みデータが
割込み待ち行列に入れられるからである。
上位プログラムはいつでも自由にDI IPポートを読
み取ることができる。通常これらのポートが読み取られ
るのは、物理割込みがプログラムに与えられた後で、サ
ブシステムが非活動化されているため、プログラムはそ
の割込み処理コードへの反復的再入を避ける。反復は回
避されるが、SCB論理割込みが記録されるので、装置
は自由にDI IPを更新し続けることができる。この
ことは通常は問題にはならない。というのは、プログラ
ムによって読み取られたDIIPポート中の装置に対す
るSCB論理割込みは後で処理されるからである。ただ
し、システム・プログラムが、DIIPポートを読み取
る前に、すべてのSCB論理割込みの更新がサブシステ
ムによって完了したことを確認したい場合は、DIIP
ポートを読み取る前にDI IPポート中のあらゆる装
置に対して中断コマンドを出すことにより、そうするこ
とができる。各装置は現在のSCHの後に任意のSCB
の実行を停止し、またSCB連鎖の実行を停止する。こ
のようにして全SCB割込み状況が記憶される。プログ
ラムがこの処置を講じるとき、1組の装置に対するすべ
てのSCB活動は所与のレベルにあり、その後DI I
Pポートが読み取られる。
DIIPビットはまた、プログラムがある種の状況でS
CB割込みリセット・コマンドを出すとき、プログラム
によってり↓ットされる。DIIPビットに対する作用
と潜在的リセットの間の同期の問題を避けるため、いく
つかの簡単な規則に従う必要がある。従うべき簡単な規
則とは、割込み状況ポートに存在する割込みを確実に処
理するため、割込み処理プログラムに入るとき、コマン
ド使用中/状況ポー}156(第3図)のIVビットが
″1?′の場合に割込み状況ポート154を読み取るこ
とである。割込み処理プログラムが特定の装置のテスト
を決定したとき、DIIPポートを読み取ることができ
る。割込みに対するリセット・コードは単一のプログラ
ム位置にあるはずである。
?に、割込みのリセット、ならびに割込み状況ポートま
たはDI IPポート中のプログラムへの割込みデータ
の提示に対するその作用の結果について一般的に述べる
割込み状況ポート(ISP)154は、システムに対す
る読取り専用ポートである。このポートは、ISP入出
力ポート・アドレスを用いてINコマンドによってアク
セスきれる。このポートの値は、サブシステムまたは装
置によって一度セットされると、システムがその割込み
またはサブシステムをリセットするま■で、一定のまま
となる。
ISP中の割込みをリセットするには、システム・プロ
グラムは割込み状況ポート・リセット・コマンドを出す
必要がある。
割込み状況ポート・リセット・コマンドを使用する際に
は、下記の点を銘記されたい。
1.割込み状況ポート・リセット・コマンドは、コマン
ドが使用する(アテンシロン・ポートから引き出した)
装置アドレスがISPに含まれる論理装置IDの値と等
しくない場合は、ISPをクリアしない。
2.ISPをクリアしない割込み状況ポート・リセ,ト
・コマンドは、サブシステム及び割込み元の装置が活動
化されているとき、サブシステムが再度物理割込みを提
示できるようにする。
3.1SPをクリアする割込み状況ポート・リセット・
コマンドは、コマンド使用中/状況ポートのIVビット
をOにセットする。
4.装置のSCB論理割込みカウントをO以下の値にセ
ットするSCB割込みリセット・コマンドは、その装置
に対するDI IPビットを0にセットさせる。これは
、上位プログラムがDIIPビットをリセットするため
の手段を与える。
5.割込み状況ポート・リセット・コマンドがISPを
クリアするとき、同じ装置または別の装置からの別の割
込みをサブシステムまたは装置によってISPに記憶す
ることができる。
この結果、以下の規則が得られる。
1.必ず最初にコマンド使用中/状況ポー}(CBSP
)を読み取る。
2.CBSPのIVビットが1のときは、割込み状況ポ
ートを読み取って、そのポートに存在する割込みデータ
を得る。割込み状況ポート・リセット・コマンドを使っ
て、割込みをクリアする。
3.8CB割込みリセット・コマンドを使うときは、指
定されたカウントがクリアすべき論理割込みの数と一致
することを確認する。システムがその装置で現在実行中
の他のSCBに対する物理割込みを特に無視しようとす
るのでない限り、カウントが処理されるSCB論理割込
みの数より大きくてはいけない。
DI IPポートは、DI IPポートに割り当てられ
た入出力アドレスへのINコマンドを使って、システム
・プログラムによってアクセスされる。
これらのポートは、上位システムにとって読取り専用で
あり、サブシステムがSCB割込みを待ち行列に入れる
ときセットされ、SCB割込みリセット・コマンド、装
置リセット・コマンド、またはサブシステム・リセット
・コマンドによってリセットされる。
装置リセ,ト・コマンドが、割込み状況ポートに割込み
値をもつ論理装置によって実行されるときは、このポー
トはクリアされない。割込み状況ポートをリセットする
には、明示的割込み状況ポート・リセット・コマンドが
必要である。
a′置リセット・コマンドは、常にその装置における割
込みをクリアするので、常にその装置に対するDI I
PビットをOにIJセットし、内部SCB割込みカウン
トをOにリセッ゜トシ、装置の内部割込み待ち行列をク
リアする。
装置リセット・コマンドが完了するとき、そのコマンド
は必ず割込みを要求し、エラーなしの非SCB完了に対
する割込み要求を待ち行列に入れる。
SCBまたはSCB連鎖の一要素を実行中の装置に、上
位システムがSCB割込みリセット・コマンドを出すこ
とが可能である。その可能性の高いのは、その装置がS
CB連鎖を実行中であり、割込みを使って中間連鎖要素
の完了を追跡しているときである。
SCB割込みリセット・コマンドは、SCBを実行中の
装置に受け入れてもらわなければならない。SCHの実
行が停止され、SCB割込みリセット活動が実行される
。次いで停止されたSCBの実行が再開される。
次に、第3図に一般的に示した装置割込み識別ポート(
DI IP)158を詳しく示した第23図を参照する
。この説明では:用語「優先割込み」と「物理割込み」
は同じ意味で使用する。DIIP158は、サブシステ
ムが、1つの物理割込みで多数の間接コマンド論理割込
み、すなわちSCBコマンド論理割込みを上位プロセッ
サに提供できるようにする。上位プロセッサは、1つの
割込みリセット・コマンドで、サブシステム中の所与の
論理装置からの複数の論理割込みをクリアすることがで
きる。
第21図及び第22図に関して先に説明したように、本
発明を実施する際に1つまたは複数のDIIPを使用す
ることがある。1つのDI IP158を示してあるが
、追加のDI IPも同様の構成であることを了解され
たい。DI IP158はビット位置EO1E1、E2
、Emを含む。これらのビット位置はレジスタ段でもよ
いが、説明しやすいように、ANDゲート800,80
2、804、806として示してある。これらのゲート
は、マイクロチャネル・データ・バス808に接続され
、その出力端で複数の論理割込みをもたらす。ORゲー
ト810は、下記のように、割込みバス812を介して
上位プロセッサに単一の物理割込みを供給する。
各論理装置は、装置割込み発生論理回路AO1Af、A
2、Amを含む。これらの論理回路はそれぞれ論理回路
814、816、818、820で示してあり、それぞ
れの論理装置についてこのときシステムに割込みを提示
する必要があるかどうか決定する。この時は実際に物理
割込みは提示されないので、この割込みは「論理装置割
込み」である。これらの割込みをそれぞれP O − 
P mで示す。実際の物理割込みは、後述のように、後
でORゲート810の出力端で提供される。
論理装置割込みPO−Pmは、アップ/ダウン・カウン
タBO−Bmのアップ・カウント入力UPに提供される
。これらのカウンタは、それぞれカウンタ822、82
4、828、828で示してある。所与のカウンタで、
各論理割込みがカウンタを1ずつ増分する。所与のカウ
ンタのダウン・カウント入力DNに下記の減分信号が印
加されると、カウンタを1ずつ減分する。その結果生じ
る所与のカウンタBnの値が正である場合は、装置An
からの少なくとも1つの論理割込みが未処理であること
を示す。逆に、その結果生じるカウンタBnの値がOま
たは負の場合は、装置Anからの未処理の論理割込みが
ないことを示す。
カウンタBO−Bmの正の出力は、それぞれラッチCo
−Cmのセット(S)入力に供給され、カウンタBO−
Bmのゼロ(0)及び負の出力は、ラッチCO〜Cmの
クリア(C)入力に供給される。ラッチGo−Cnはそ
れぞれラッチ8301832、834、836として示
してある。すなわち、各出力端Qで明らかになる、ラッ
チCO〜Cmに記憶された値は、各装置nに対する次の
ようなプール値に対応する。
Anが報告すべき論理割込みを有する場合、Cn=真 Anが報告すべき論理割込みをもたない場合、Cn=偽 少なくとも1つの装ffAnが少なくとも1つの未処理
の論理割込みをもつ場合、すべてのラッチの出力はそれ
ぞれORゲー}8 10の当該の入力端に供給され、単
一の物理割込みがゲート81oの出力端から割込みバス
812を介して上位プロセッサに供給される。
上位プロセッサが゛単一の物理割込みを受け取った後、
DIIPを読み取るためのINコマンドがマイクロチャ
ネル808上に供給され、さらにサブシステム・コマン
ド復号機横838に供給される。復号1a+88 3 
8ハ線8 4 0上ニD I I P読取り信号を発生
し、この信号は?ツチ830,832、834、836
の値をそれぞれゲート8oo1802、804、80B
を通過してデータ・バス808上に向かわせ、上位プロ
セッサに供給する。
そうすると、上位プロセッサは、どの装cAnが1つま
たは複数の未処理の論理割込みをもつかを決定すること
ができる。
上位システムは、優先順位付け機構により、どの装WA
nにサービスするか、及び選んだ論理装置に対するどの
論理割込みを最初に処理するかを決定する。所与の論理
装置Anの1つまたは複数の論理割込みを処理した後、
上位システムはCIP148に即時コマンドrscB割
込みリセット」コマンドを出し、それがサブシステム・
コマンド復号機構838に与えられる。このコマンドは
、そのコマンドの対象となる論理装置のアドレスと、そ
の論理装置に対してリセットすべき論理割込みのカウン
トを含んでいる。
第24図に、rSCB割込みリセット」コマンド用のア
テンション・ポートのフォーマット166及びコマンド
・インタフェース・ポートのフォーマット160を詳し
く示す。アテンション・ポートのフォーマット166と
コマンド・インタフェース・ポートのフォーマットIE
IOは前に第6図に示したものと同じであるが、第24
図は下記のようにコマンド・インタフェース・ポート1
60フォーマットのビット13〜Oについてより詳しく
示している。
ICビットエ3一予約。このコマンドによって使用され
ずまた検査されない。
ICビット12〜9−力ヴント。このコマンドが対象と
する装置に対するリセット すべきSCB論理割込みの数。
ICビット8−フォーマット。このビットは、使用する
即時コマンド・フォーマッ トのタイプを指定する。ビット16〜 31を予約するには、このビットを 1にセットしなければならない。こ のビットが0であれば、ビット16〜 31は命令コード依存となるはずで ある。
ICビット7〜0−コマンド・コード=X’OOO01
000’   rSCB割込みリセット」用フード。
サブシステム・コマンド復号機構838は、線842上
に装置n割込みリセット(Kn)信号を発生する。この
信号は、所与の時間に並直列コンバータMO−Mmの所
与の1つのアドレスとなる。
これらのコンバータはそれぞれ844、84E3、84
8、850として示してある。線842上の信号Knは
、所与の装置に対する論理割込みの数のカウント(Ln
)を、線852を介して論理装置An用のコンバータM
nのロード入力(L)にロードする。次いで、コンバー
タMnは、並列形の割込みカウントを、カウンタBnを
減分するため順次カウントに変換する。たとえば、並列
カウントが2の場合、コンバータMnは、カウンタBn
を減分するため、論理装置Anに対して上位システムが
2つの論理割込みを処理したことを示す2つの順次パル
スを供給する。各論理装置に対する各論理割込みの処理
が終わるまでこの処理を繰り返す。
装置の活動化/非活動化は、DI IP158の詳しい
説明には含めなかった。論理割込みまたは物理割込みの
提示を解禁/禁止するため、様々な点にANDゲートを
挿入できることを理解されたい。たとえば、ラッチCn
の出力端とORゲート810の間にANDゲートを押入
して、論理装置nからの物理割込みの提示を禁止するこ
とができる。ただし、論理割込みは当該のEnを介して
依然として提示できる。所与の装WLnからの論理割込
みは、ラッチCnと関連するEnの間にANDゲートを
挿入することによって禁止することができる。
第25図及び第26図は、システムに対する物理割込み
の数を最小にするための上位システム割込み処理プログ
ラムの流れ図を構成する。第25図に示すように、サー
ビス・ルーチンはブロック860から始まり、ブロック
862でDIIPを読み取る。判断ブロック864で、
DIIP=0か否か判定する。DIIP=Oの場合、未
処理の論理割込みはなく、ブロック866で出口ルーチ
ンに入る。
DI IPがOでない場合は、少なくとも1つの論理割
込みが未処理であることを示し、ブロック868に進ん
で、サービスすべき最初の装置nを指すようにnを初期
設定する。ブロック870で、装thenがサービスを
必要とするか否か判定する。
必要な場合はブロック872に進み、そこから第26図
のブロック880に進むが、その操作については後述す
る。
ブロック870で装置nがサービスを必要としないと判
定した場合、あるいはブロック874に示すように第2
6図のブロック902から戻った場合は、ブロック87
6に進んでnを+1だけ増分する。ブロック878で、
最後のnかどうか判定する。そうでない場合は、ブロッ
ク870に戻って今述べたように続ける。最後のnであ
る場合は、ブロック862に戻ってもう一度DIIPを
読み取る。
判断ブロック870で装置nがサービスを必要とすると
判定した場合は、ブロック872に進み、さらに第26
図のブロック880に進む。プロフク882で、MをO
に初期設定する。ただし、Mは論理割込みの数である。
ブロック884で、最初に検査すべきSCBを指示し、
TSBアドレスを見つける。判断ブロック886で、T
SB中に論理割込みがあるか否か判定する。これは、第
10図に示すようにTSBの終了状況ワードのビット7
(INT)を検査して行なう。ビット7が”1”の場合
、論理割込みが未処理であり、ブロック888に示すよ
うに、上位システムはその割込みを処理する。ブロック
890で、Mを+1だけ増分して、装ff!nに対する
1つの論理割込みの処理が済んだことを示す。次に判断
ブロック892に進んで、論理装置nに関して検査すべ
きSCBが他にもまだあるかどうか判定する。判断ブロ
ック886で、検査したばかりのTSB中に論理割込み
がないと判定した場合も、この判定を行なう。
判断ブロック892で論理装置nに関してまだ検査すべ
きSCBがあると判定した場合は、ブロック894で次
に検査すべきSCBを指す。この場合も、判断ブロック
886で、上記のようにTSB中に論理割込みがあるか
どうか判定する。論理割込みがある場合は、ブロック8
88でそれを処理し、、+1のMを+1だけ増分してM
=2とする。
判断ブロック892に進んで、まだ他に検査すべきSC
Bがあるかどうかもう一度判定する。もう検査すべきS
CBがないとすると、判断ブロック896に進んで、M
=Oかどうか判定する。M=Oの場合、ブロック870
からこのルーチンに入るには少なくとも1つの論理割込
みが存在するはずなので、−エラーが存在し、ブロック
898でエラーが示される。M=2なのでブロック90
0に進んで、カウントが2の装置nに対するSCB割込
みリセット・コマンドを出す。第23図に関して先に説
明したように、この即時コマンドはCIP148に供給
され、さらにサブシステム・コマンド復号機横838に
供給される。次いで復号機構838は線842を介して
装置割込みリセット(Kn)を、また線852を介して
2のカウントを並直列コンバータMnに供給し、次にこ
のコンバータはカウンタBnのダウン入力に2つのパル
スを送って、カウンタBnを2のカウントだけ減分させ
る。
SCB割込みリセット信号の発行後、ブロック902に
進み、さらに第25図のブロック874に進んで前述の
ように続ける。
F.発明の効果 本発明に従うコンピュータ・システム用の割込み処理機
構においては、多数の論理割込みが、サブシステムから
上位プロセッサへの−1つの優先割込みで処理される。
上位プロセッサは、1つの割込みリセット・コマンドで
、サブシステムまたは接続装置からの多数の論理割込み
をクリアすることができる。
【図面の簡単な説明】
第1図は、それぞれ複数の装置が接続されている複数の
知能サブシステムに接続された上位システムを含む、コ
ンピュータ・システムのブロック図である。 第2図は、上位システムと1つの知能サブシステムを詳
細に示すブロック図である。 第3図は、上位システムと知能サブシステムの間で情報
を交換するためのコマンド・インタフェースのブロック
図である。 第4図は、アテンション・ポートを詳細に示す図である
。 第5図は、コマンド使用中/状況ポートを詳細に示す図
である。 第6図は、即時フマンド用のコマンド・インタフェース
・ポートとアテンシa冫・ポートの一般フォーマットを
示す図である。 第7図は、サブシステム制御ブロック(SCB)コマン
ド用のコマンド・インタフェース・ポートとアテンシ欝
ン・ポートの一般フォーマットを示す図である。 第6図は、本発明のコンピュータ・システムで使用され
る制御ブロックの詳細なSCBフォーマットを示す図で
ある。 第9図は、詳細な拡張SCBフォーマットを示す図であ
る。 第10図は、詳細な終了状況ブロック(TSB)フォー
マットを示す図である。 第11図は、詳細な拡張TSBフォーマットを示す図で
ある。 第12図は、システム内のSCBフォーマットを詳細に
示した、コンピュータ・システムのブロック図である。 第13図は、コマンド提出中のサブシステムの状態遷移
の状態図である。 第14図は、コマンド転送システムの流れ図である。 第16図は、第15A図、第15B図及び第15C図の
つながりを示す図である。 第16A図、第15B図、第15C図、および第16図
は、第14図に一般的に示したサブシステム制御ポート
への処理書込みの詳細な流れ図である。 第17図は、第17A図および第17B図のつながりを
示す図である。 第17A図および第17B図は、第14図に一般的に示
したアテンシ騨ン・ポートへの処理書込みの詳細な流れ
図である。 第18図は、第14図に一般的に示したコマンド・イン
タフェース・ポートへの処理書込みの詳細な流れ図であ
る。 第19図は第19A図および第19B図のつながりを示
す図である。 第19A図、第19B図、第20A図および第20B図
は、コマンド複合処理の詳細な流れ図である。 第20図は第20A図および第20B図のつながりを示
す図である。 第21図は、第1装置割込み識別ポー}(DIIP)用
の入出力アドレス・フォーマットを示す図である。 第22図は、第2DIIP用の入出力アドレス・フォー
マットを示す図である。 第23図は、DIIPを示すブロック図である。 第24図は、SCB割込みリセット即時コマンド用のコ
マンド・インタフェース・ポートとアテンシ9ン・ポー
トのフォーマットを示す図である。 第25図および第26図は、DIIPと共に使用される
割込み処理プログラムの流れ図である。 100・・・・上位システム、102、104、108
、108・・・・サブシステム、112・・・・チャネ
ル、114・・・・インタフェース、122・・・・シ
ステム・プロセッサ集合体(上位プロセッサ)、124
・・・・システム・メモリ、126・・・・マイクロチ
ャネル、128・・・・々イク口チャネル・インタフェ
ース、130・・・・SCB転送サポート論理ブロック
、132・・・・局所マイクロプロセッサ、134・・
・・割込み論理回路、136、138、140,142
・・・・接続装置、146・・・・接続装置インタフェ
ース、148・・・・コマンド・インタフェース・ボー
}、150・・・・アテンシ日ソ・ポー} (AP)、
152・・・・サブシステム制御ポート(SCP)、1
54・・・・割込み状況ポート(ISP)、158・・
・・コマンド使用中/状況ポート・(CBSP)、15
B・・・・装置割込み識別ポート(DIIP)。

Claims (18)

    【特許請求の範囲】
  1. (1)上位プロセッサと、接続された装置を有する少な
    くとも1個の知能サブシステムとを含み、上記の知能サ
    ブシステム及び接続装置がそれぞれ上記上位プロセッサ
    からは論理装置に見え、それぞれの論理装置に装置識別
    番号が割り当てられているというコンピュータ・システ
    ムにおいて、各ビット位置が、割り当てられた装置識別
    番号に従ってそれぞれ上記論理装置のうち異なる装置に
    割り当てられ、所与のビット位置に割り当てられた論理
    装置からの少なくとも1つの論理割込みが未処理のとき
    、そのビット位置が第1の状態にあり、そのビット位置
    に割り当てられた論理装置からの未処理の論理割込みが
    ないとき、第2の状態にあるという、複数のビット位置
    をもつ少なくとも1つのポートと、 いずれかの論理装置からの1つまたは複数の論理割込み
    が未処理なのに応じて、上記上位プロセッサに単一の物
    理割込みを供給する手段と、 どの論理装置が未処理の論理割込みをもつかを決定する
    ために上記上位プロセッサによって上記の1つのポート
    を読み取るための手段と、 を具備する割込み処理システム。
  2. (2)上記上位プロセッサによって処理された、所与の
    論理装置に対するすべての論理割込みをクリアするため
    のリセット信号を、上記上位コンピュータから上記所与
    の論理装置に供給する手段 を含む、特許請求の範囲第2項に記載のシステム。
  3. (3)上位プロセッサと、接続された装置を有する少な
    くとも1個の知能サブシステムとを含み、上記の知能サ
    ブシステム及び接続装置がそれぞれ上記上位プロセッサ
    からは論理装置に見え、それぞれの論理装置にn個の装
    置識別番号のうちの所定の1つが割り当てられていると
    いうコンピュータ・システムにおいて、 それぞれが上記n個の論理装置のそれぞれに関連し、そ
    れぞれ関連する論理装置からの未処理の論理割込みの数
    を示す数値を記憶する、n個の記憶手段と、 少なくとも2つの部分を有し、第1の部分が、コマンド
    の対象となる論理装置の装置識別番号を含み、第2の部
    分が、上記コマンドの第1の部分で指定される論理装置
    に対する、上記上位プロセッサによって処理された論理
    割込みの数を示すという割込みリセット・コマンドを、
    上記上位プロセッサから上記1つの知能サブシステムに
    供給する手段と、 上記割込みリセット・コマンドに応答して、上記コマン
    ドの第1の部分で識別される論理装置に関連する記憶手
    段に記憶された数値を、上記コマンドの第2の部分で指
    定される数値だけ減少させる手段と、 を具備する割込み処理システム。
  4. (4)上記n個の記憶手段の少なくとも1つに、少なく
    とも1つの論理割込みが未処理であることを示す数値が
    記憶されている場合に、優先割込み信号を上記1つの知
    能サブシステムから上記上位プロセッサに供給する手段 を含む、特許請求の範囲第3項に記載のシステム。
  5. (5)上位プロセッサと、接続された装置を有する少な
    くとも1個の知能サブシステムとを含み、上記の知能サ
    ブシステム及び接続装置がそれぞれ上記上位プロセッサ
    からは論理装置に見え、それぞれの論理装置にn個の装
    置識別番号のうちの所定の1つが割り当てられていると
    いうコンピュータ・システムにおいて、 それぞれが、割り当てられた装置識別番号に従って上記
    論理装置のうち異なる1つに割り当てられ、それぞれ関
    連する論理装置からの未処理の論理割込みの数を示す数
    値を記憶する、n個の記憶手段と、 各ビット位置が、割り当てられた装置識別番号に従って
    それぞれ上記論理装置のうち異なる装置に割り当てられ
    、同じ論理装置に関連する記憶手段に記憶された数値に
    よって表されるように、所与のビット位置に割り当てら
    れた論理装置からの少なくとも1つの論理割込みが未処
    理のとき、そのビット位置が第1の状態にあり、そのビ
    ット位置に割り当てられた論理装置からの未処理の論理
    割込みがないとき、第2の状態にあるという、複数のビ
    ット位置をもつ少なくとも1つのレジスタと、 上記n個の記憶手段の少なくとも1つに、少なくとも1
    つの論理割込みが未処理であることを示す数値が記憶さ
    れている場合に、優先割込み信号を上記1つの知能サブ
    システムから上記上位プロセッサに供給する手段と、 少なくとも2つの部分を有し、第1の部分が、コマンド
    の対象となる論理装置の装置識別番号を含み、第2の部
    分が、上記コマンドの第1の部分で指定される論理装置
    に対する、上記上位プロセッサによって処理された論理
    割込みの数を示すという割込みリセット・コマンドを、
    上記上位プロセッサから上記1つの知能サブシステムに
    供給する手段と、 上記割込みリセット・コマンドに応答して、上記コマン
    ドの第1の部分で識別される論理装置に関連する記憶手
    段に記憶された数値を、上記コマンドの第2の部分で指
    定される数値だけ減少させる手段と、 を具備する割込み処理システム。
  6. (6)上位プロセッサと、接続された装置を有する少な
    くとも1個の知能サブシステムとを含み、上記の知能サ
    ブシステム及び接続装置がそれぞれ上記上位プロセッサ
    からは論理装置に見え、それぞれの論理装置にn個の装
    置識別番号のうちの所定の1つが割り当てられていると
    いうコンピュータ・システムにおいて、 それぞれの出力端で複数の論理割込みを生成させる手段
    を有する、上記n個の論理装置のそれぞれ用に1個ずつ
    ある、n個の割込み発生手段と、上記n個の割込み発生
    手段にそれぞれ対応して設けられるn個のアップ/ダウ
    ン・カウンタであって、所与のカウンタのアップ・カウ
    ント入力端が同じ番号の割込み発生手段の出力端に接続
    され、発生された各論理割込みが上記所与のカウンタを
    増分させ、そのダウン・カウント入力端に上記カウンタ
    を減分する減分信号が印加され、上記カウンタが正のカ
    ウントを示すとき第1の状態となる正出力と、上記カウ
    ンタのカウントが0または負のカウントを示すとき第1
    の状態となる負出力とを有するというn個のアップ/ダ
    ウン・カウンタと、 それぞれが上記n個のアップ/ダウン・カウンタのうち
    同じ番号のものと関連し、同じ番号のカウンタの正出力
    が上記第1の状態のときラッチがセットされるように、
    同じ番号のカウンタの正出力端に接続されたセット入力
    と、同じ番号のカウンタの負出力が上記第1の状態のと
    きラッチがクリアされるように、同じ番号のカウンタの
    負出力端に接続されたクリア入力と、ラッチがセットさ
    れたとき第1の状態となる出力とを有する、n個のラッ
    チと、 各入力が上記n個のラッチのうち異なる1つの出力端に
    接続され、少なくとも1つの入力が上記第1の状態にあ
    って、少なくとも1つの論理装置からの少なくとも1つ
    の論理割込みがあることを示す場合にゲートの出力端に
    物理割込み信号が供給されるという、n個の入力を有す
    るゲートと、それぞれが、上記n個のラッチのうち同じ
    番号のものの出力端に接続された第1の入力と、上記上
    位プロセッサからの読取り信号を受け取るように接続さ
    れた第2の入力とを有し、かつ第1の入力が上記第1の
    状態にあり、同時に読取り信号が第2の入力に印加され
    たとき、同じ番号の論理装置からの少なくとも1つの未
    処理の論理割込みがあることを示す出力を有する、n個
    の論理手段と、上記n個の論理装置のうちのどれが少な
    くとも1個の未処理の論理割込みをもつかを決定するた
    めに、上記n個の論理手段の出力を読み取るべく、上記
    上位プロセッサによって上記読取り信号を発生するため
    の手段と を具備する割込み処理システム。
  7. (7)上位プロセッサと、接続された装置を有する少な
    くとも1個の知能サブシステムとを含み、上記の知能サ
    ブシステム及び接続装置がそれぞれ上記上位プロセッサ
    からは論理装置に見え、それぞれの論理装置に装置識別
    番号が割り当てられ、上記プロセッサが上記論理装置に
    直接コマンドと間接コマンドを供給するというコンピュ
    ータ・システムにおいて、 上記直接コマンドに関係する上記論理装置からの物理割
    込みが、上記上位プロセッサによって順次読み取られる
    割込み状況ポートと、 各ビット位置が、割り当てられた装置識別番号に従って
    それぞれ上記論理装置のうち異なる装置に割り当てられ
    、所与のビット位置に割り当てられた論理装置からの間
    接コマンドに関係する少なくとも1つの論理割込みが未
    処理のとき、そのビット位置が第1の状態にあり、その
    ビット位置に割り当てられた論理装置からの間接コマン
    ドに関係する未処理の論理割込みがないとき、第2の状
    態にあるという、複数のビット位置をもつ少なくとも1
    つの装置割込み識別ポート(DIIP)と、いずれかの
    論理装置からの間接コマンドに関係する1つまたは複数
    の論理割込みが未処理なのに応じて、上記上位プロセッ
    サに間接コマンドに関係する単一の物理割込みを供給す
    る手段と、上記論理装置のどれが間接コマンドに関係す
    る未処理の論理割込みをもつかを決定するために上記上
    位プロセッサによって上記DIIPを読み取るための手
    段と、 を具備する割込み処理システム。
  8. (8)上記上位プロセッサによって処理された、所与の
    論理装置に対する間接コマンドに関係するすべての論理
    割込みをクリアするためのリセット信号を、上記上位コ
    ンピュータから上記所与の論理装置に供給する手段 を含む、特許請求の範囲第7項に記載のシステム。
  9. (9)上位プロセッサと、接続された装置を有する少な
    くとも1個の知能サブシステムとを含み、上記の知能サ
    ブシステム及び接続装置がそれぞれ上記上位プロセッサ
    からは論理装置に見え、それぞれの論理装置にn個の装
    置識別番号のうちの所定の1つが割り当てられ、上位プ
    ロセッサが上記論理装置に直接コマンドと間接コマンド
    を供給するというコンピュータ・システムにおいて、 上記直接コマンドに関係する上記論理装置からの物理割
    込みが、上記上位プロセッサによって順次読み取られる
    割込み状況ポートと、 それぞれの出力端で間接コマンドに関係する複数の論理
    割込みを発生させる手段を有する、上記n個の論理装置
    のそれぞれ用に1個ずつある、n個の割込み発生手段と
    、 上記n個の割込み発生手段にそれぞれ対応して設けられ
    るn個のアップ/ダウン・カウンタであって、所与のカ
    ウンタのアップ・カウント入力端が同じ番号の割込み発
    生手段の出力端に接続され、発生された間接コマンドに
    関係する各論理割込みが上記所与のカウンタを増分させ
    、そのダウン・カウント入力端に上記カウンタを減分す
    る減分信号が印加され、上記カウンタが正のカウントを
    示すとき第1の状態となる正出力と、上記カウンタのカ
    ウントが0または負のカウントを示すとき第1の状態と
    なる負出力とを有するという、n個のアップ/ダウン・
    カウンタと、 それぞれが上記n個のアップ/ダウン・カウンタのうち
    同じ番号のものと関連し、同じ番号のカウンタの正出力
    が上記第1の状態のときラッチがセットされるように、
    同じ番号のカウンタの正出力端に接続されたセット入力
    と、同じ番号のカウンタの負出力が上記第1の状態のと
    きラッチがクリアされるように、同じ番号のカウンタの
    負出力端に接続されたクリア入力と、ラッチがセットさ
    れたとき第1の状態となる出力とを有する、n個のラッ
    チと、 各入力が上記n個のラッチのうち異なる1つの出力端に
    接続され、少なくとも1つの入力が上記第1の状態にあ
    って、少なくとも1つの論理装置からの間接コマンドに
    関する少なくとも1つの論理割込みがあることを示す場
    合にゲートの出力端に間接コマンドに関する物理割込み
    信号が供給されるという、n個の入力を有するゲートと
    、それぞれが、上記n個のラッチのうち同じ番号のもの
    の出力端に接続された第1の入力と、上記上位プロセッ
    サからの読取り信号を受け取るように接続された第2の
    入力とを有し、かつ第1の入力が上記第1の状態にあり
    、同時に読取り信号が第2の入力に印加されたとき、同
    じ番号の論理装置からの少なくとも1つの間接コマンド
    に関する未処理の論理割込みがあることを示す出力を有
    する、n個の論理手段と、 それぞれ上記論理手段のうち同じ番号のものの出力端に
    接続されたn個のビット位置を有する、装置割込み識別
    ポート(DIIP)と、 上記n個の論理装置のうちどれが少なくとも1個の間接
    コマンドに関する未処理の論理割込みをもつか決定する
    ために、上記DIIPのn個のビット位置を読み取るべ
    く、上記上位プロセッサによって上記読取り信号を発生
    するための手段と、を具備する割込み処理システム。
  10. (10)上記上位プロセッサによって処理された同じ番
    号の論理装置の各論理割込みごとに、上記上位プロセッ
    サから所与のカウンタのダウン・カウント入力端に上記
    減分信号を供給する手段を含む、特許請求の範囲第6項
    または第9項に記載のシステム。
  11. (11)上記減分信号を供給する上記手段が並直列コン
    バータを備え、上記減分信号が、上記同じ番号の論理装
    置に対する処理された間接コマンドに関する論理割込み
    の数を示す並列信号を含み、上記並直列コンバータが、
    上記並列信号を、同じ番号の論理装置に対する処理され
    た論理割込みの数に少なくとも等しいパルス数をもつ直
    列信号に変換するという、 特許請求の範囲第10項に記載のシステム。
  12. (12)上位プロセッサと、接続された装置を有する少
    なくとも1個の知能サブシステムとを含み、上記の知能
    サブシステム及び接続装置がそれぞれ上記上位プロセッ
    サからは論理装置に見え、それぞれの論理装置にn個の
    装置識別番号のうちの1つが割り当てられ、n個の記憶
    装置を有し、上記n個の論理装置のそれぞれにかかる記
    憶装置が1つずつ関連するというコンピュータ・システ
    ムにおいて、 上記n個の記憶装置のそれぞれに、関連する論理装置か
    らの未処理の論理割込みの数を示す数値を記憶するステ
    ップと、 少なくとも2つの部分を有し、第1の部分が、コマンド
    の対象となる論理装置の装置識別番号を含み、第2の部
    分が、上記コマンドの第1の部分で指定される論理装置
    に対する、上記上位プロセッサによって処理された論理
    割込みの数を示すという割込みリセット・コマンドを、
    上記上位プロセッサから上記1つの知能サブシステムに
    供給するステップと、 上記コマンドの第1の部分で識別される論理装置に関連
    する記憶装置に記憶された数値を、上記コマンドの第2
    の部分で指定される数値だけ減少させるステップと、 を含む割込み処理方法。
  13. (13)上記n個の記憶装置の少なくとも1つに、少な
    くとも1つの論理割込みが未処理であることを示す数値
    が記憶されている場合に、優先割込み信号を上記1つの
    知能サブシステムから上記上位プロセッサに供給するス
    テップを含む、 特許請求の範囲第12項に記載の方法。
  14. (14)上位プロセッサと、接続された装置を有する少
    なくとも1個の知能サブシステムとを含み、上記の知能
    サブシステム及び接続装置がそれぞれ上記上位プロセッ
    サからは論理装置に見え、それぞれの論理装置に装置識
    別番号が割り当てられ、各ビット位置が割り当てられた
    装置識別番号に従ってそれぞれ上記論理装置のうち異な
    る装置に割り当てられるという、複数のビット位置をも
    つ少なくとも1つのレジスタを有し、n個の記憶装置を
    有し、上記n個の論理装置のそれぞれにかかる記憶装置
    が1つずつ関連するというコンピュータ・システムにお
    いて、 上記n個の記憶装置のそれぞれに、関連する論理装置か
    らの未処理の論理割込みの数を示す数値を記憶するステ
    ップと、 同じ論理装置に関連する記憶手段に記憶された数値によ
    って表されるように、上記1つのレジスタの所与のビッ
    ト位置に割り当てられた論理装置からの少なくとも1つ
    の論理割込みが未処理のとき、そのビット位置を第1の
    状態にセットし、そのビット位置に割り当てられた論理
    装置からの未処理の論理割込みがないとき、上記所与の
    ビット位置を第2の状態にセットするステップと、上記
    n個の記憶手段の少なくとも1つに、少なくとも1つの
    論理割込みが未処理であることを示す数値が記憶されて
    いる場合に、優先割込み信号を上記1つの知能サブシス
    テムから上記上位プロセッサに供給するステップと、 少なくとも2つの部分を有し、第1の部分が、コマンド
    の対象となる論理装置の装置識別番号を含み、第2の部
    分が、上記コマンドの第1の部分で指定される論理装置
    に対する、上記上位プロセッサによって処理された論理
    割込みの数を示すという割込みリセット・コマンドを、
    上記上位プロセッサから上記1つの知能サブシステムに
    供給するステップと、 上記割込みリセット・コマンドに応答して、上記コマン
    ドの第1の部分で識別される論理装置に関連する記憶装
    置に記憶された数値を、上記コマンドの第2の部分で指
    定される数値だけ減少させるステップと、 を含む割込み処理方法。
  15. (15)上位プロセッサと、接続された装置を有する少
    なくとも1個の知能サブシステムとを含み、上記の知能
    サブシステム及び接続装置がそれぞれ上記上位プロセッ
    サからは論理装置に見え、それぞれの論理装置に装置識
    別番号が割り当てられ、各ビット位置が割り当てられた
    装置識別番号に従ってそれぞれ上記論理装置のうち異な
    る装置に割り当てられるという、複数のビット位置をも
    つ少なくとも1つのポートを有するというコンピュータ
    ・システムにおいて、 上記1つのポートの所与のビット位置に割り当てられた
    論理装置からの少なくとも1つの論理割込みが未処理の
    とき、そのビット位置を第1の状態にセットし、未処理
    の論理割込みがないとき、上記所与のビット位置を第2
    の状態にセットするステップと、 いずれかの論理装置からの1つまたは複数の論理割込み
    が未処理なのに応じて、上記上位プロセッサに単一の物
    理割込みを供給するステップと、上記論理装置のどれが
    未処理の論理割込みをもつかを決定するために上記上位
    プロセッサによって上記の1つのポートを読み取るステ
    ップと、を含む割込み処理方法。
  16. (16)上記上位プロセッサによって処理された、所与
    の論理装置に対するすベての論理割込みをクリアするた
    めのリセット信号を、上記上位コンピュータから上記所
    与の論理装置に供給するステップを含む、 特許請求の範囲第15項に記載の方法。
  17. (17)上位プロセッサと、接続された装置を有する少
    なくとも1個の知能サブシステムとを含み、上記の知能
    サブシステム及び接続装置がそれぞれ上記上位プロセッ
    サからは論理装置に見え、それぞれの論理装置に装置識
    別番号が割り当てられ、上位プロセッサが上記論理装置
    に直接コマンドと間接コマンドを供給し、上記論理装置
    からの上記直接コマンドに関係する物理割込みが順次印
    加される先の割込み状況ポート(ISP)を備え、各ビ
    ット位置が割り当てられた装置識別番号に従ってそれぞ
    れ上記論理装置のうち異なる装置に割り当てられるとい
    う、複数のビット位置をもつ少なくとも1つの装置割込
    み識別ポート(DIIP)を備えるというコンピュータ
    ・システムにおいて、上記論理装置からの直接コマンド
    に関係する上記物理割込みを処理するため、上記上位プ
    ロセッサにより上記ISPを順次読み取るステップと、
    上記1つのDIIPポートの所与のビット位置に割り当
    てられた論理装置からの少なくとも1つの論理割込みが
    未処理のとき、そのビット位置を第1の状態にセットし
    、未処理の論理割込みがないとき、上記所与のビット位
    置を第2の状態にセットするステップと、 上記論理装置のいずれかからの1つまたは複数の論理割
    込みが未処理なのに応じて、上記上位プロセッサに単一
    の物理割込みを供給するステップと、 上記論理装置のどれが間接コマンドに関係する未処理の
    論理割込みをもつかを決定するために上記上位プロセッ
    サによって上記1つのDIIPを読み取るステップと、 を含む割込み処理方法。
  18. (18)上記上位プロセッサによって処理された、所与
    の論理装置に対する間接コマンドに関係するすべての論
    理割込みをクリアするためのリセット信号を、上記上位
    コンピュータから上記所与の論理装置に供給するステッ
    プを含む、 特許請求の範囲第17項に記載の方法。
JP2155578A 1989-06-16 1990-06-15 割込み処理のためのシステムおよび方法 Expired - Lifetime JPH0640321B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/367,391 US5185864A (en) 1989-06-16 1989-06-16 Interrupt handling for a computing system with logical devices and interrupt reset
US367391 1989-06-16

Publications (2)

Publication Number Publication Date
JPH0355653A true JPH0355653A (ja) 1991-03-11
JPH0640321B2 JPH0640321B2 (ja) 1994-05-25

Family

ID=23446982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2155578A Expired - Lifetime JPH0640321B2 (ja) 1989-06-16 1990-06-15 割込み処理のためのシステムおよび方法

Country Status (6)

Country Link
US (1) US5185864A (ja)
EP (1) EP0403119A3 (ja)
JP (1) JPH0640321B2 (ja)
BR (1) BR9002835A (ja)
GB (1) GB9008091D0 (ja)
PE (1) PE3691A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7416812B2 (en) 2002-06-27 2008-08-26 Hitachi Maxell Ltd. Battery provided with terminals
US8968907B2 (en) 2010-08-30 2015-03-03 Samsung Sdi Co., Ltd. Battery pack
CN110858164A (zh) * 2018-08-22 2020-03-03 成都华为技术有限公司 进程间通信方法、装置及计算机可读介质

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3917715A1 (de) * 1989-05-31 1990-12-06 Teldix Gmbh Rechnersystem
US5265255A (en) * 1990-09-24 1993-11-23 International Business Machines Corp. Personal computer system with interrupt controller
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH0776951B2 (ja) * 1990-10-30 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステム、複数の入出力アダプタによるアドレス空間共用システム、及び複数の入出力装置とコンピュータプロセッサ間の通信管理方
US5404535A (en) * 1991-10-22 1995-04-04 Bull Hn Information Systems Inc. Apparatus and method for providing more effective reiterations of processing task requests in a multiprocessor system
BR9204660A (pt) * 1991-12-20 1993-06-22 Ibm Sistema de rede de computadores que engloba uma interface para sistemas de computadores pequenos(scsi)para dispositivos de scsi nao locais
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5481724A (en) * 1993-04-06 1996-01-02 International Business Machines Corp. Peer to peer computer-interrupt handling
JPH07262154A (ja) * 1994-03-25 1995-10-13 Fujitsu Ltd プロセッサ間通信制御方式
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6023743A (en) * 1997-06-10 2000-02-08 International Business Machines Corporation System and method for arbitrating interrupts on a daisy chained architected bus
PL363432A1 (en) * 2001-01-31 2004-11-15 International Business Machines Corporation Method and apparatus for transferring interrupts from a peripheral device to a host computer system
US7653763B2 (en) * 2001-02-28 2010-01-26 Cavium Networks, Inc. Subsystem boot and peripheral data transfer architecture for a subsystem of a system-on- chip
US6816935B1 (en) * 2001-03-02 2004-11-09 Advanced Micro Devices, Inc. Interrupt and status reporting structure and method for a timeslot bus
US6823413B2 (en) * 2001-06-08 2004-11-23 Oki Electronic Industry Co., Ltd. Interrupt signal processing apparatus
US20030225916A1 (en) * 2002-05-30 2003-12-04 David Cheon Implementing a data link layer protocol for multiple network interface devices
US7076787B2 (en) * 2002-05-30 2006-07-11 Sun Microsystems, Inc. Supporting multiple protocols with a single device driver
US6792610B2 (en) * 2002-05-30 2004-09-14 Sun Microsystems, Inc. Attaching a device driver to multiple logical devices of one physical device
US7127601B2 (en) * 2002-05-30 2006-10-24 Sun Microsystems, Inc. System and method for delivering FPGA programming
US20090177807A1 (en) * 2008-01-03 2009-07-09 International Business Machines Corporation Reset method for application specific integrated circuits (asic)
US9146776B1 (en) * 2011-08-16 2015-09-29 Marvell International Ltd. Systems and methods for controlling flow of message signaled interrupts
US9128920B2 (en) 2011-11-30 2015-09-08 Marvell World Trade Ltd. Interrupt handling systems and methods for PCIE bridges with multiple buses
CN107577591A (zh) * 2016-07-05 2018-01-12 中兴通讯股份有限公司 一种自动化测试异常保护的方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5093358A (ja) * 1973-12-19 1975-07-25
JPS57178518A (en) * 1981-04-24 1982-11-02 Nec Home Electronics Ltd Interruption control circuit

Family Cites Families (9)

* 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
US4470111A (en) * 1979-10-01 1984-09-04 Ncr Corporation Priority interrupt controller
US4445176A (en) * 1979-12-28 1984-04-24 International Business Machines Corporation Block transfers of information in data processing networks
JPS58222361A (ja) * 1982-06-18 1983-12-24 Fujitsu Ltd デ−タ処理システムにおけるアクセス要求の優先順位決定制御方式
US4787026A (en) * 1986-01-17 1988-11-22 International Business Machines Corporation Method to manage coprocessor in a virtual memory virtual machine data processing system
US4901234A (en) * 1987-03-27 1990-02-13 International Business Machines Corporation Computer system having programmable DMA control
JPH01126751A (ja) * 1987-11-11 1989-05-18 Fujitsu Ltd グルーピング装置
US4994963A (en) * 1988-11-01 1991-02-19 Icon Systems International, Inc. System and method for sharing resources of a host computer among a plurality of remote computers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5093358A (ja) * 1973-12-19 1975-07-25
JPS57178518A (en) * 1981-04-24 1982-11-02 Nec Home Electronics Ltd Interruption control circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7416812B2 (en) 2002-06-27 2008-08-26 Hitachi Maxell Ltd. Battery provided with terminals
US8968907B2 (en) 2010-08-30 2015-03-03 Samsung Sdi Co., Ltd. Battery pack
CN110858164A (zh) * 2018-08-22 2020-03-03 成都华为技术有限公司 进程间通信方法、装置及计算机可读介质
CN110858164B (zh) * 2018-08-22 2022-09-09 成都华为技术有限公司 进程间通信方法、装置及计算机可读介质

Also Published As

Publication number Publication date
EP0403119A3 (en) 1991-11-27
EP0403119A2 (en) 1990-12-19
JPH0640321B2 (ja) 1994-05-25
PE3691A1 (es) 1991-02-15
GB9008091D0 (en) 1990-06-06
BR9002835A (pt) 1991-08-20
US5185864A (en) 1993-02-09

Similar Documents

Publication Publication Date Title
JPH0355653A (ja) 割込み処理のためのシステムおよび方法
KR920008459B1 (ko) 컴퓨팅시스템의 명령 전달 장치 및 방법
US7962913B2 (en) Scheduling threads in a multiprocessor computer
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) データ処理システム及びそれに使用するための入出力プロセッサ
US4447874A (en) Apparatus and method for communication of information between processes in an information system
US4590555A (en) Apparatus for synchronizing and allocating processes among several processors of a data processing system
US6021458A (en) Method and apparatus for handling multiple level-triggered and edge-triggered interrupts
US5170471A (en) Command delivery for a computing system for transferring data between a host and subsystems with busy and reset indication
US4939644A (en) Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
EP0644487A2 (en) Scalable system interrupt structure for a multiprocessing system
JPS62162146A (ja) マルチプロセッサシステムの試験方法
US4905145A (en) Multiprocessor
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
JPH05216835A (ja) 割込み再試行低減装置
US20020099893A1 (en) System and method for the handling of system management interrupts in a multiprocessor computer system
US5507032A (en) Multiprocessor I/O request control system forming device drive queue and processor interrupt queue from rows and cells of I/O request table and interrupt request table
EP0443557A2 (en) Interrupt controller capable of realizing interrupt nesting function
JPH03109644A (ja) マイクロコンピュータ
US5544333A (en) System for assigning and identifying devices on bus within predetermined period of time without requiring host to do the assignment
US8151028B2 (en) Information processing apparatus and control method thereof
EP1406172A2 (en) System and method for task arbitration in multi-threaded simulations
JPH04232559A (ja) システムのプロセッサ間対話方法及び該方法を実施するためのシステム
JP2990800B2 (ja) 割込み処理装置
JPS595331A (ja) 磁気デイスク・サブシステムにおける待ち合せ方式