JPH07104841B2 - 多重処理システムの割込み制御方法 - Google Patents
多重処理システムの割込み制御方法Info
- Publication number
- JPH07104841B2 JPH07104841B2 JP61172860A JP17286086A JPH07104841B2 JP H07104841 B2 JPH07104841 B2 JP H07104841B2 JP 61172860 A JP61172860 A JP 61172860A JP 17286086 A JP17286086 A JP 17286086A JP H07104841 B2 JPH07104841 B2 JP H07104841B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- instruction
- processing
- signal
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明は、複数の命令プロセツサを有する多重処理シス
テムの割込み制御方式に係り、特に被共有I/O装置側か
ら複数レベルのI/O割込みを受取つて、複数の命令プロ
セツサの中から各I/O割込みを処理する命令プロセツサ
を選択する多重処理システムの割込み制御方法に関す
る。
テムの割込み制御方式に係り、特に被共有I/O装置側か
ら複数レベルのI/O割込みを受取つて、複数の命令プロ
セツサの中から各I/O割込みを処理する命令プロセツサ
を選択する多重処理システムの割込み制御方法に関す
る。
従来より複数の命令プロセツサを有する多重処理システ
ムでは、I/O割込みを処理する場合、該割込み処理を行
う命令プロセツサは、I/O割込みを発したチヤネルに起
動をかけた命令プロセツサに限らず、複数の命令プロセ
ツサから任意の命令プロセツサを選択することができる
ようになつている。その従来例として特開昭56−71130
号「多重処理システム」に開示されている方式がある。
この従来技術では、I/O割込みを次のように処理してい
る。すなわち、チヤネル制御装置からのI/O割込要求
を、一旦、システム制御装置内に保留した後、システム
制御装置は、各命令プロセツサに対して、割込みの受付
けが可能かどうか問合せを行う。命令プロセツサ側は、
割込みの受付けが可能か否かをシステム制御装置に知ら
せ、システム制御装置は、各命令プロセツサからの回答
を受け取つた後、最適な命令プロセツサを選択し、この
選択された命令プロセツサに割込み処理を実行させる。
以下、第2図に示すシステム構成図によりさらに詳細に
説明する。
ムでは、I/O割込みを処理する場合、該割込み処理を行
う命令プロセツサは、I/O割込みを発したチヤネルに起
動をかけた命令プロセツサに限らず、複数の命令プロセ
ツサから任意の命令プロセツサを選択することができる
ようになつている。その従来例として特開昭56−71130
号「多重処理システム」に開示されている方式がある。
この従来技術では、I/O割込みを次のように処理してい
る。すなわち、チヤネル制御装置からのI/O割込要求
を、一旦、システム制御装置内に保留した後、システム
制御装置は、各命令プロセツサに対して、割込みの受付
けが可能かどうか問合せを行う。命令プロセツサ側は、
割込みの受付けが可能か否かをシステム制御装置に知ら
せ、システム制御装置は、各命令プロセツサからの回答
を受け取つた後、最適な命令プロセツサを選択し、この
選択された命令プロセツサに割込み処理を実行させる。
以下、第2図に示すシステム構成図によりさらに詳細に
説明する。
第2図は、多重処理システムの構成例であり、図におい
て、1A、1Bは夫々命令プロセツサ(以後IP0、IP1と表
示)、2はシステム制御装置(SC)、3は主記憶装置
(MS)、4はチヤネル制御装置(CHC)、5は入出力制
御装置(IOC)、6は入出力装置(I/O)、21は待ち行列
保留レジスタ、31は各レベルQ0〜Q7対応の割込み待ち行
列である。
て、1A、1Bは夫々命令プロセツサ(以後IP0、IP1と表
示)、2はシステム制御装置(SC)、3は主記憶装置
(MS)、4はチヤネル制御装置(CHC)、5は入出力制
御装置(IOC)、6は入出力装置(I/O)、21は待ち行列
保留レジスタ、31は各レベルQ0〜Q7対応の割込み待ち行
列である。
図示多重処理システムは、IP0、IP1がSC2を介してMS3及
びCHC4を共有し、CHC4の各チヤネル(CH)にIOC5が接続
され、IOC5にそれぞれ複数のI/Oが接続されて構成され
ている。MS3内には、割込み待ち行列31があり、保留中
のI/O割込要求を各レベル毎の待ち行列Q0〜Q7として記
憶しており、また、SC2内には、MS3内の各レベルの待ち
行列が空か否かを示す割込み待ち行列保留レジスタ21が
あり、該レジスタ21の各ビツト0〜7が待ち行列Q0〜Q7
の空き塞りを表示している。
びCHC4を共有し、CHC4の各チヤネル(CH)にIOC5が接続
され、IOC5にそれぞれ複数のI/Oが接続されて構成され
ている。MS3内には、割込み待ち行列31があり、保留中
のI/O割込要求を各レベル毎の待ち行列Q0〜Q7として記
憶しており、また、SC2内には、MS3内の各レベルの待ち
行列が空か否かを示す割込み待ち行列保留レジスタ21が
あり、該レジスタ21の各ビツト0〜7が待ち行列Q0〜Q7
の空き塞りを表示している。
いま、CHC4からI/O割込要求がSC2に発せられると、SC2
はMS3内の対応するレベルの割込み待ち行列Q1にその割
込要求を登録する。このとき、この割込み待ち行列Qiが
空きで初めて登録する場合はSC2内の割込み待ち行列保
留レジスタ21の対応ビツトを“1"とするが、すでに1個
以上の割込み要求が割込み待ち行列Qiに登録されている
場合は、保留レジスタ21の対応ビツトは“1"となつてい
るので何もしない。SC2は、割込み待ち行列保留レジス
タ21の内容をIP0,IP1へ同時に送る。これに対し、IP0,I
P1は、それぞれ割込み可能状態にあれば、受諾信号と割
込みマスクされていない最高順位の割込み待ち行列番号
をSC2へ送り、同時に自IPがWAIT状態にあればWAIT信号
もSC2へ送る。SC2は、IP0,IP1からの応答信号に対して
次の処理を行う。
はMS3内の対応するレベルの割込み待ち行列Q1にその割
込要求を登録する。このとき、この割込み待ち行列Qiが
空きで初めて登録する場合はSC2内の割込み待ち行列保
留レジスタ21の対応ビツトを“1"とするが、すでに1個
以上の割込み要求が割込み待ち行列Qiに登録されている
場合は、保留レジスタ21の対応ビツトは“1"となつてい
るので何もしない。SC2は、割込み待ち行列保留レジス
タ21の内容をIP0,IP1へ同時に送る。これに対し、IP0,I
P1は、それぞれ割込み可能状態にあれば、受諾信号と割
込みマスクされていない最高順位の割込み待ち行列番号
をSC2へ送り、同時に自IPがWAIT状態にあればWAIT信号
もSC2へ送る。SC2は、IP0,IP1からの応答信号に対して
次の処理を行う。
(1) 1台のIPのみが受諾信号で応答し、他のIPが応
答しなかつた場合、前者のIPに割込み処理を実行させ
る。
答しなかつた場合、前者のIPに割込み処理を実行させ
る。
(2) 2台のIPが受諾信号で応答し、割込み待ち行列
のレベルが不一致であつた場合、2台のIPに割込み処理
を実行させる。
のレベルが不一致であつた場合、2台のIPに割込み処理
を実行させる。
(3) 2台のIPが受諾信号で応答し、割込み待ち行列
のレベルが一致した場合、A,2台のIPが共にWAIT状態に
ないとき、または2台ともWAIT状態にあるときは、予め
定められている優先順位に従つて1台のIPを選択し、そ
のIPに割込み処理を実行させ、B,1台のIPのみWAIT状態
にあるときは、そのWAIT状態にあるIPに割込み処理を実
行させる。
のレベルが一致した場合、A,2台のIPが共にWAIT状態に
ないとき、または2台ともWAIT状態にあるときは、予め
定められている優先順位に従つて1台のIPを選択し、そ
のIPに割込み処理を実行させ、B,1台のIPのみWAIT状態
にあるときは、そのWAIT状態にあるIPに割込み処理を実
行させる。
このように、従来技術においては、システム性能の向上
を目的として、WAIT状態にあるIPが存在する場合、その
IPを選択して割込み処理を実行させていた。
を目的として、WAIT状態にあるIPが存在する場合、その
IPを選択して割込み処理を実行させていた。
しかし、前述した従来技術では、IPがWAIT状態にない場
合でも、次のような場合には、SCに受諾信号で応答し、
SCから選択されると、割込み処理を実行していた。すな
わち、 (1) 命令と命令の切れ目で、I/O割込みより優先順
位の高い割込み要因が存在しない場合、 (2) 内蔵アレイプロセツサ(IAP)命令、 Move Long(MVCL)命令等の命令処理中で、I/O割込みよ
り優先順位の高い割込要因が存在せず、割込みの受付け
を可能とする命令実行中である場合、である。なお、MV
CL命令は、MSの第2アドレスから第1アドレスへ指定さ
れた長さのデータを転送する命令である。また、IAP命
令は、独立したアレイプロセツサではなく、IP内部でベ
クトル演算を行う命令であり、第1,第2および第3オペ
ランドの3つのオペランドが存在する場合があり、その
場合、第2,第3オペランドによる演算結果を第1オペラ
ンドにストアするものである。この演算は、命令で指定
された回数行われる。
合でも、次のような場合には、SCに受諾信号で応答し、
SCから選択されると、割込み処理を実行していた。すな
わち、 (1) 命令と命令の切れ目で、I/O割込みより優先順
位の高い割込み要因が存在しない場合、 (2) 内蔵アレイプロセツサ(IAP)命令、 Move Long(MVCL)命令等の命令処理中で、I/O割込みよ
り優先順位の高い割込要因が存在せず、割込みの受付け
を可能とする命令実行中である場合、である。なお、MV
CL命令は、MSの第2アドレスから第1アドレスへ指定さ
れた長さのデータを転送する命令である。また、IAP命
令は、独立したアレイプロセツサではなく、IP内部でベ
クトル演算を行う命令であり、第1,第2および第3オペ
ランドの3つのオペランドが存在する場合があり、その
場合、第2,第3オペランドによる演算結果を第1オペラ
ンドにストアするものである。この演算は、命令で指定
された回数行われる。
前述したIAP命令、MVCL命令等は、命令処理時間が長く
なる場合があるため、IPは、これらの命令実行中に割込
みを受付け可能としており、割込み処理を実行した場合
は、該割込み処理実行後、再び前記命令の処理を続け
る。これらの命令は、IP内でオペランドの先取りを行つ
て実行されているため、命令処理中に割込みを受付け、
割込み処理プログラムが走ると、先取りされたオペラン
ドが無効になる上、レジスタのSave、Restoreが生じ
る。このため、前述した従来技術では、システム全体の
性能が低下するという問題があつた。
なる場合があるため、IPは、これらの命令実行中に割込
みを受付け可能としており、割込み処理を実行した場合
は、該割込み処理実行後、再び前記命令の処理を続け
る。これらの命令は、IP内でオペランドの先取りを行つ
て実行されているため、命令処理中に割込みを受付け、
割込み処理プログラムが走ると、先取りされたオペラン
ドが無効になる上、レジスタのSave、Restoreが生じ
る。このため、前述した従来技術では、システム全体の
性能が低下するという問題があつた。
本発明の目的は、複数のIPがSCに接続された多重処理シ
ステムにおいて、SCが最適なIPを選択し、I/O割込みを
実行させることができるようにした多重処理システムの
割込み制御方法を提供することにある。
ステムにおいて、SCが最適なIPを選択し、I/O割込みを
実行させることができるようにした多重処理システムの
割込み制御方法を提供することにある。
本発明によれば、前記目的は、複数のIPがSCを介して、
MS,CHCを共有する多重処理システムにおいて、I/O割込
みが発生した発合、割込み要求を保留するレジスタと、
SCに接続された複数のIPについて、命令実行中にI/O割
込みの受付けを可能とする命令を実行中のIPが存在する
か、命令実行中にI/O割込みの受付けを可能とする命令
を実行中でなく、I/O割込み受付け可能であるIPが存在
するかを調べ、I/O割込みを実行させるIPを選択する割
込み選択回路をSC内に設けることにより達成される。
MS,CHCを共有する多重処理システムにおいて、I/O割込
みが発生した発合、割込み要求を保留するレジスタと、
SCに接続された複数のIPについて、命令実行中にI/O割
込みの受付けを可能とする命令を実行中のIPが存在する
か、命令実行中にI/O割込みの受付けを可能とする命令
を実行中でなく、I/O割込み受付け可能であるIPが存在
するかを調べ、I/O割込みを実行させるIPを選択する割
込み選択回路をSC内に設けることにより達成される。
すなわち、前記目的は、チャネル制御装置からのI/O割
込みをSCで受取り、該SC内の割込み選択回路が、複数の
命令プロセッサ中に、待機状態のプロセッサが存在せ
ず、命令実行中にI/O割込みの受付けを可能とする命令
を実行中の命令プロセッサが存在し、かつ、他に、命令
実行中にI/O割込みの受付けを可能とする命令以外の命
令の実行中でI/O割込み受付け可能な命令プロセッサが
存在する場合、前記命令実行中にI/O割込みの受付けを
可能とする命令以外の命令の実行中でI/O割込み受付け
可能な命令プロセッサの1つを選択し、選択したプロセ
ッサに前記受け取ったI/O割込み処理を実行させること
により達成される。
込みをSCで受取り、該SC内の割込み選択回路が、複数の
命令プロセッサ中に、待機状態のプロセッサが存在せ
ず、命令実行中にI/O割込みの受付けを可能とする命令
を実行中の命令プロセッサが存在し、かつ、他に、命令
実行中にI/O割込みの受付けを可能とする命令以外の命
令の実行中でI/O割込み受付け可能な命令プロセッサが
存在する場合、前記命令実行中にI/O割込みの受付けを
可能とする命令以外の命令の実行中でI/O割込み受付け
可能な命令プロセッサの1つを選択し、選択したプロセ
ッサに前記受け取ったI/O割込み処理を実行させること
により達成される。
I/O割込み要求が発生した場合、SCは、一旦この割込み
要求をレジスタにセツトする。割込み選択回路は、SCに
接続された複数のIPの中で、IAP命令、MVCL命令等の命
令実行中にI/O割込みの受付けを可能とする命令を実行
中のIPが存在し、他に命令実行中にI/O割込みの受付を
可能とする命令を実行中でなく、I/O割込み受付け可能
であるIPが存在する場合、後者のIPを選択し、SCは、こ
の選択されたIPにI/O割込み処理を実行させる。前述し
た場合以外の場合、割込み選択回路は、複数のIPの中か
ら最適なIPを選択し、SCは、この最適なIPにI/O割込み
処理を実行させる。
要求をレジスタにセツトする。割込み選択回路は、SCに
接続された複数のIPの中で、IAP命令、MVCL命令等の命
令実行中にI/O割込みの受付けを可能とする命令を実行
中のIPが存在し、他に命令実行中にI/O割込みの受付を
可能とする命令を実行中でなく、I/O割込み受付け可能
であるIPが存在する場合、後者のIPを選択し、SCは、こ
の選択されたIPにI/O割込み処理を実行させる。前述し
た場合以外の場合、割込み選択回路は、複数のIPの中か
ら最適なIPを選択し、SCは、この最適なIPにI/O割込み
処理を実行させる。
これにより、本発明によれば、IPがIAP命令、MVCL命令
等の命令処理中にI/O割込みを受付け処理することによ
る前記命令の実行を中断する確率が非常に低下するた
め、システム全体の性能が低下することがなくなる。
等の命令処理中にI/O割込みを受付け処理することによ
る前記命令の実行を中断する確率が非常に低下するた
め、システム全体の性能が低下することがなくなる。
以下、本発明による多重処理システムの割込み制御方法
について、図示の実施例により詳細に説明する。
について、図示の実施例により詳細に説明する。
第1図は、本発明の一実施例を示すブロック図であり、
特に、命令プロセツサ(IP)とシステム制御装置(SC)
とチヤネル制御装置(CHC)との接続関係、IP、SC内の
本発明に関係する部分の詳細を示すブロツク図である。
第1図において、1A,1B、2、4は第2図の場合と同じ
であり、21−0〜21−7は割込み待ち行列保留レジスタ
21を構成するラツチ、40は割込み判定回路、45はマイク
ロプログラム制御回路、53は割込み選択回路である。第
1図に示す本発明の一実施例では、IP0,IP1,SC2,CHC4の
みが示されているが、本発明が適用される多重処理シス
テム全体の構成は、第2図に示すシステム構成と同様で
ある。第1図において、IP1内の本発明に関係する部分
の詳細は、IP0と同じであるので省略してあり、また、I
P0,IP1からの記号A0〜E0,A1〜E1で示される信号線は、
同じ記号で示される信号線を介して、SC2内の割込み選
択回路53に接続されている。
特に、命令プロセツサ(IP)とシステム制御装置(SC)
とチヤネル制御装置(CHC)との接続関係、IP、SC内の
本発明に関係する部分の詳細を示すブロツク図である。
第1図において、1A,1B、2、4は第2図の場合と同じ
であり、21−0〜21−7は割込み待ち行列保留レジスタ
21を構成するラツチ、40は割込み判定回路、45はマイク
ロプログラム制御回路、53は割込み選択回路である。第
1図に示す本発明の一実施例では、IP0,IP1,SC2,CHC4の
みが示されているが、本発明が適用される多重処理シス
テム全体の構成は、第2図に示すシステム構成と同様で
ある。第1図において、IP1内の本発明に関係する部分
の詳細は、IP0と同じであるので省略してあり、また、I
P0,IP1からの記号A0〜E0,A1〜E1で示される信号線は、
同じ記号で示される信号線を介して、SC2内の割込み選
択回路53に接続されている。
SC2は、本発明に関係する部分として、第2図に示した
割込み待ち行列保留レジスタ21を構成するラツチ21−0
〜21−7およびIP0,IP1の状態を示す情報を受取り最適
なIPを選択する割込み選択回路53を備えて構成され、ま
た、IP0、IP1は、本発明に関係する部分として、前記SC
2内のラツチ21−0〜21−7からの信号と自己の有する
割込マスク信号を受け、割込みの可否と割込み待ち行列
信号を出力する割込み判定回路40および、前記SC2内の
割込み選択回路53からの信号と前記割込み判定回路40か
らの信号を受け、割込み要求時の自己の状態等を示す信
号を出力するマイクロプログラム制御回路45を備えて構
成されている。
割込み待ち行列保留レジスタ21を構成するラツチ21−0
〜21−7およびIP0,IP1の状態を示す情報を受取り最適
なIPを選択する割込み選択回路53を備えて構成され、ま
た、IP0、IP1は、本発明に関係する部分として、前記SC
2内のラツチ21−0〜21−7からの信号と自己の有する
割込マスク信号を受け、割込みの可否と割込み待ち行列
信号を出力する割込み判定回路40および、前記SC2内の
割込み選択回路53からの信号と前記割込み判定回路40か
らの信号を受け、割込み要求時の自己の状態等を示す信
号を出力するマイクロプログラム制御回路45を備えて構
成されている。
CHC4からI/O割込み要求が発生すると、第2図で説明し
た場合と同様にMS3内の該当レベルの待ち行列Qiにこの
要求が登録され、このとき、この待ち行列Qiが空きで初
めて登録する場合、SC2内の割込み待ち行列保留レジス
タ21の対応ビツトであるラツチ21−iが“1"とされる。
待ち行列Qiにすでに1個以上の割込み要求が登録されて
いる場合、SC2内のレジスタ21の対応ビツトが“1"とな
つているため、このレジスタ21は何の変更も受けない。
この割込み待ち行列保留レジスタ21を構成するラツチ21
−0〜21〜7の出力は、IP0,IP1に転送される。
た場合と同様にMS3内の該当レベルの待ち行列Qiにこの
要求が登録され、このとき、この待ち行列Qiが空きで初
めて登録する場合、SC2内の割込み待ち行列保留レジス
タ21の対応ビツトであるラツチ21−iが“1"とされる。
待ち行列Qiにすでに1個以上の割込み要求が登録されて
いる場合、SC2内のレジスタ21の対応ビツトが“1"とな
つているため、このレジスタ21は何の変更も受けない。
この割込み待ち行列保留レジスタ21を構成するラツチ21
−0〜21〜7の出力は、IP0,IP1に転送される。
IP0,IP1内の割込み判定回路40は、コントロールレジス
タ41−0〜41−7にセツトされた待ち行列に対応した割
込みマスク、プログラム状態語(PSW)の一部であるI/O
割込みマスクラツチ42の出力と、前記待ち行列保留レジ
スタ21を構成するラツチ21−0〜21−7の出力とを受取
り、割込み受付け可能であれば、割込み判定回路40の出
力信号43のレベルを“1"とする。すなわち、割込み判定
回路40は、I/O割込みマスクラツチ42が“1"であつて、
割込み待ち行列21−0〜21−7に“1"のものがあり、そ
れに対応したレジスタ41−0〜41−7の待ち行列に対応
した割込みマスクが“1"の場合に、出力信号43を“1"に
する。割込み判定回路40の出力信号43が“1"となり、後
述する割込み抑止信号63が“0"となつている場合、アン
ドゲート44の出力が“1"となり、このアンドゲート44の
出力“1"がマイクロプログラム制御回路45に入力され
る。
タ41−0〜41−7にセツトされた待ち行列に対応した割
込みマスク、プログラム状態語(PSW)の一部であるI/O
割込みマスクラツチ42の出力と、前記待ち行列保留レジ
スタ21を構成するラツチ21−0〜21−7の出力とを受取
り、割込み受付け可能であれば、割込み判定回路40の出
力信号43のレベルを“1"とする。すなわち、割込み判定
回路40は、I/O割込みマスクラツチ42が“1"であつて、
割込み待ち行列21−0〜21−7に“1"のものがあり、そ
れに対応したレジスタ41−0〜41−7の待ち行列に対応
した割込みマスクが“1"の場合に、出力信号43を“1"に
する。割込み判定回路40の出力信号43が“1"となり、後
述する割込み抑止信号63が“0"となつている場合、アン
ドゲート44の出力が“1"となり、このアンドゲート44の
出力“1"がマイクロプログラム制御回路45に入力され
る。
マイクロプログラム制御回路45は、I/O割込み受付可能
とする条件が整うと、I/O割込み処理ルーチンへブレー
クインする。I/O割込み可能とする条件は、 (1) IPがWAIT状態にある場合、 (2) 命令と命令の切れ目で、I/O割込みより優先順
位の高い割込み要因がない場合、 (3) IAP命令、MVCL命令等の命令処理中であるが、I
/O割込みより優先順位の高い割込み要因がなく、割込み
受付け可能な場合、 等である。IP0,IP1内のマイクロプログラム制御回路45
は、I/O割込み受付け処理ルーチンへブレークインすれ
ば、その後、受諾信号66,67をパルス信号でSC2へ送る。
このとき、IP0,IP1内のプライオリテイエンコーダ46
は、割込み待ち行列の中で、受付け可能な割込み待ち行
列を選択し、その行列番号を示す信号54−0〜54−2,55
−0〜55−2をSC2に送り、さらにPSWの一部であるWAIT
ラツチ47は、WAIT信号56,57をSC2に送る。また、IP0,IP
1内のラツチ48は、夫々のIPが命令処理中であることを
示すもので、その出力信号58,59もSC2に送られる。この
ラツチ48は、IPがIAP命令、MVCL命令等、命令処理中に
割込みの受付を可能とする命令の処理開始時にマイクロ
プログラムによりセツトされ、終了時にマイクロプログ
ラムでリセツトされる。
とする条件が整うと、I/O割込み処理ルーチンへブレー
クインする。I/O割込み可能とする条件は、 (1) IPがWAIT状態にある場合、 (2) 命令と命令の切れ目で、I/O割込みより優先順
位の高い割込み要因がない場合、 (3) IAP命令、MVCL命令等の命令処理中であるが、I
/O割込みより優先順位の高い割込み要因がなく、割込み
受付け可能な場合、 等である。IP0,IP1内のマイクロプログラム制御回路45
は、I/O割込み受付け処理ルーチンへブレークインすれ
ば、その後、受諾信号66,67をパルス信号でSC2へ送る。
このとき、IP0,IP1内のプライオリテイエンコーダ46
は、割込み待ち行列の中で、受付け可能な割込み待ち行
列を選択し、その行列番号を示す信号54−0〜54−2,55
−0〜55−2をSC2に送り、さらにPSWの一部であるWAIT
ラツチ47は、WAIT信号56,57をSC2に送る。また、IP0,IP
1内のラツチ48は、夫々のIPが命令処理中であることを
示すもので、その出力信号58,59もSC2に送られる。この
ラツチ48は、IPがIAP命令、MVCL命令等、命令処理中に
割込みの受付を可能とする命令の処理開始時にマイクロ
プログラムによりセツトされ、終了時にマイクロプログ
ラムでリセツトされる。
一方、SC2では、IP0からの受諾信号66によつてラツチ50
がセツトされ、IP1からの受諾信号67によつてラツチ51
がセツトされる。これらのラツチ50,51は、IP0,IP1のど
ちらから受諾信号があつたかを記憶しておくためのもの
であり、IP0,IP1で割込処理が完了し、その完了信号64,
65がSC2に送られたとき、オアゲート52を介してリセツ
トされる。
がセツトされ、IP1からの受諾信号67によつてラツチ51
がセツトされる。これらのラツチ50,51は、IP0,IP1のど
ちらから受諾信号があつたかを記憶しておくためのもの
であり、IP0,IP1で割込処理が完了し、その完了信号64,
65がSC2に送られたとき、オアゲート52を介してリセツ
トされる。
割込み選択回路53には、前記ラツチ50,51の出力信号の
他、IP0,IP1から、割込み待ち行列番号を示す信号54−
0〜54−2,55−0〜55−2、WAIT信号56,57、命令処理
中を示す信号58,59および受諾信号66,67のオアゲート60
を介した信号が入力される。割込み選択回路53は、この
オアゲート60の出力信号をトリガ信号として、割込みを
実行するIPを選択して、IP0,IP1に対して選択信号また
は拒絶信号をパルス信号で発行する。選択信号または拒
絶信号は、オアゲート61を介してラツチ62をセツトし、
割込み抑止信号63を発生させる。このラツチ62からの割
込抑止信号63は、割込み処理中“1"となつており、IP0,
IP1から割込み完了信号64,65が与えられたとき、オアゲ
ート62を介してリセツトされる。また、割込み抑止信号
63は、IP0,IP1に送られ、この信号が“1"の間、アンド
ゲート44をインヒビツトし、マイクロプログラム制御回
路45を割込み処理ルーチンへブレークインさせないよう
にしている。
他、IP0,IP1から、割込み待ち行列番号を示す信号54−
0〜54−2,55−0〜55−2、WAIT信号56,57、命令処理
中を示す信号58,59および受諾信号66,67のオアゲート60
を介した信号が入力される。割込み選択回路53は、この
オアゲート60の出力信号をトリガ信号として、割込みを
実行するIPを選択して、IP0,IP1に対して選択信号また
は拒絶信号をパルス信号で発行する。選択信号または拒
絶信号は、オアゲート61を介してラツチ62をセツトし、
割込み抑止信号63を発生させる。このラツチ62からの割
込抑止信号63は、割込み処理中“1"となつており、IP0,
IP1から割込み完了信号64,65が与えられたとき、オアゲ
ート62を介してリセツトされる。また、割込み抑止信号
63は、IP0,IP1に送られ、この信号が“1"の間、アンド
ゲート44をインヒビツトし、マイクロプログラム制御回
路45を割込み処理ルーチンへブレークインさせないよう
にしている。
割込み選択回路53は、以下の方法で割込みを実行するIP
を選択する。
を選択する。
(1) IP0,IP1がともに受諾信号を発行し、1台のIP
が命令処理中を示す信号を“1"とし、他のIPが“0"とし
ていた場合、割込み選択回路は、後者のIPを選択する。
が命令処理中を示す信号を“1"とし、他のIPが“0"とし
ていた場合、割込み選択回路は、後者のIPを選択する。
(2) 上記以外の場合、システム性能の向上を目的と
して、最適なIPが選択される。すなわち、 、1台のIPのみが受諾信号を発行し、他のIPが受諾信
号を発行しなかつた場合、受諾信号を発行したIPが選択
される。
して、最適なIPが選択される。すなわち、 、1台のIPのみが受諾信号を発行し、他のIPが受諾信
号を発行しなかつた場合、受諾信号を発行したIPが選択
される。
、2台のIPが受諾信号を発行し、2台のIPの割込み待
ち行列番号が一致しなかつた場合、2台のIPが同時に選
択される。
ち行列番号が一致しなかつた場合、2台のIPが同時に選
択される。
、2台のIPが受諾信号を発行し、2台のIPの割込み待
ち行列番号が一致した場合、次のA,BによりIPの選択が
行われる。
ち行列番号が一致した場合、次のA,BによりIPの選択が
行われる。
A.2台のIPがともにWAIT状態にない場合、または、2台
のIPがともにWAIT状態にある場合、予め定められている
一方のIPが選択される。
のIPがともにWAIT状態にある場合、予め定められている
一方のIPが選択される。
B.1台のIPのみがWAIT状態にある場合、このWAIT状態に
あるIPが選択される。
あるIPが選択される。
割込み選択回路53は、前述のようにして割込みを実行す
るIPを選択するが、受諾信号が発行したIPが選択信号を
受け取ると、そのIPは、MS3内の割込み待ち行列に登録
されている割込要求をフエツチし、割込み処理を実行す
る。また、拒絶信号を受け取つたIPは、何もせずそのま
ま終了する。
るIPを選択するが、受諾信号が発行したIPが選択信号を
受け取ると、そのIPは、MS3内の割込み待ち行列に登録
されている割込要求をフエツチし、割込み処理を実行す
る。また、拒絶信号を受け取つたIPは、何もせずそのま
ま終了する。
以上説明した実施例では、2台のIPがSCに接続されてい
るものとしたが、一般にIPは2台以上任意の台数が接続
されてもよい。
るものとしたが、一般にIPは2台以上任意の台数が接続
されてもよい。
以上説明したように、本発明によれば、I/O割込みが発
生した場合、SCに接続された複数のIPの中で、IAP命
令、MVCL命令等、命令実行中にI/O割込み受付けを可能
とする命令を実行中のIPと、命令実行中にI/O割込み受
付けを可能とする命令を実行中でなく、I/O割込み可能
なIPとが存在すれば、SCは、前者のIPではなく、後者の
IPを選択して、I/O割込み処理を実行させ、前者以外の
場合にも、SCは、最適なIPを選択して、I/O割込み処理
を実行させる。このため、I/O割込み発生時に、このI/O
割込みを処理するIPとして、I/O割込み受付けを可能と
する命令を実行中のIPが選択される確率がきわめて少な
くなり、本発明が適用される多重処理システム全体の処
理効率を向上させ、その性能を向上することができる。
生した場合、SCに接続された複数のIPの中で、IAP命
令、MVCL命令等、命令実行中にI/O割込み受付けを可能
とする命令を実行中のIPと、命令実行中にI/O割込み受
付けを可能とする命令を実行中でなく、I/O割込み可能
なIPとが存在すれば、SCは、前者のIPではなく、後者の
IPを選択して、I/O割込み処理を実行させ、前者以外の
場合にも、SCは、最適なIPを選択して、I/O割込み処理
を実行させる。このため、I/O割込み発生時に、このI/O
割込みを処理するIPとして、I/O割込み受付けを可能と
する命令を実行中のIPが選択される確率がきわめて少な
くなり、本発明が適用される多重処理システム全体の処
理効率を向上させ、その性能を向上することができる。
第1図は本発明による多重処理システムの割込み制御方
法の一実施例のブロツク図、第2図は多重処理システム
の構成例を示す図である。 1A,1B……命令プロセツサ(IP)、2……システム制御
装置(SC)、3……主記憶装置(MS)、4……チヤネル
制御装置(CHC)、5……入出力制御装置(IOC)、6…
…入出力装置(I/O)、21……割込み待ち行列保留レジ
スタ、21−0〜21−7……割込み待ち行列保留レジスタ
を構成するラツチ、31……割込み待ち行列、40……割込
み判定回路、45……マイクロプログラム制御回路、53…
…割込み選択回路。
法の一実施例のブロツク図、第2図は多重処理システム
の構成例を示す図である。 1A,1B……命令プロセツサ(IP)、2……システム制御
装置(SC)、3……主記憶装置(MS)、4……チヤネル
制御装置(CHC)、5……入出力制御装置(IOC)、6…
…入出力装置(I/O)、21……割込み待ち行列保留レジ
スタ、21−0〜21−7……割込み待ち行列保留レジスタ
を構成するラツチ、31……割込み待ち行列、40……割込
み判定回路、45……マイクロプログラム制御回路、53…
…割込み選択回路。
Claims (1)
- 【請求項1】複数の命令プロセッサがシステム制御装置
を介してチャネル制御装置と入出力(I/O)制御装置に
接続され、更にチャネル制御装置と各命令プロセッサに
共有される主記憶装置を有する多重処理システムの割込
み制御方法において、前記チャネル制御装置からのI/O
割込みを前記システム制御装置で受取り、該システム制
御装置内の割込み選択回路は、前記複数の命令プロセッ
サ中に、待機状態のプロセッサが存在せず、命令実行中
にI/O割込みの受付けを可能とする命令を実行中の命令
プロセッサが存在し、かつ、他に、命令実行中にI/O割
込みの受付けを可能とする命令以外の命令の実行中でI/
O割込み受付け可能な命令プロセッサが存在する場合、
前記命令実行中にI/O割込みの受付けを可能とする命令
以外の命令の実行中でI/O割込み受付け可能な命令プロ
セッサの1つを選択し、選択したプロセッサに前記受け
取ったI/O割込み処理を実行させることを特徴とする多
重処理システムの割込み制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61172860A JPH07104841B2 (ja) | 1986-07-24 | 1986-07-24 | 多重処理システムの割込み制御方法 |
| US07/076,069 US4833598A (en) | 1986-07-24 | 1987-07-21 | I/O interrupt handling mechanism in a multiprocessor system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61172860A JPH07104841B2 (ja) | 1986-07-24 | 1986-07-24 | 多重処理システムの割込み制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6329873A JPS6329873A (ja) | 1988-02-08 |
| JPH07104841B2 true JPH07104841B2 (ja) | 1995-11-13 |
Family
ID=15949636
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61172860A Expired - Lifetime JPH07104841B2 (ja) | 1986-07-24 | 1986-07-24 | 多重処理システムの割込み制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4833598A (ja) |
| JP (1) | JPH07104841B2 (ja) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0282343A (ja) * | 1988-09-20 | 1990-03-22 | Hitachi Ltd | マルチプロセッサシステムの割込処理方式 |
| JPH02128267A (ja) * | 1988-11-09 | 1990-05-16 | Fujitsu Ltd | 共有メモリによる通信方式 |
| DE58908047D1 (de) * | 1989-04-25 | 1994-08-18 | Siemens Ag | Verfahren zur Synchronisation von Datenverarbeitungsanlagen. |
| US5261099A (en) * | 1989-08-24 | 1993-11-09 | International Business Machines Corp. | Synchronous communications scheduler allowing transient computing overloads using a request buffer |
| EP0422310A1 (en) * | 1989-10-10 | 1991-04-17 | International Business Machines Corporation | Distributed mechanism for the fast scheduling of shared objects |
| US5613128A (en) * | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
| US5495615A (en) * | 1990-12-21 | 1996-02-27 | Intel Corp | Multiprocessor interrupt controller with remote reading of interrupt control registers |
| EP0619899B1 (en) * | 1992-01-02 | 2000-07-19 | Amdahl Corporation | Software control of hardware interruptions |
| US5581770A (en) * | 1992-06-04 | 1996-12-03 | Mitsubishi Denki Kabushiki Kaisha | Floating interruption handling system and method |
| US5438677A (en) * | 1992-08-17 | 1995-08-01 | Intel Corporation | Mutual exclusion for computer system |
| EP0602858A1 (en) * | 1992-12-18 | 1994-06-22 | International Business Machines Corporation | Apparatus and method for servicing interrupts in a multiprocessor system |
| US5381541A (en) * | 1993-05-26 | 1995-01-10 | International Business Machines Corp. | Computer system having planar board with single interrupt controller and processor card with plural processors and interrupt director |
| GB2298503B (en) * | 1993-12-16 | 1998-08-12 | Intel Corp | Multiple programmable interrupt controllers in a computer system |
| US5553293A (en) * | 1994-12-09 | 1996-09-03 | International Business Machines Corporation | Interprocessor interrupt processing system |
| US5864701A (en) * | 1997-02-14 | 1999-01-26 | Integrated Device Technology, Inc. | Apparatus and method for managing interrupt delay associated with mask flag transition |
| US6189065B1 (en) * | 1998-09-28 | 2001-02-13 | International Business Machines Corporation | Method and apparatus for interrupt load balancing for powerPC processors |
| US6584511B1 (en) * | 2000-03-24 | 2003-06-24 | Unisys Corporation | Loop initialization procedure exception handling for fibre channel transmissions |
| JP4832721B2 (ja) * | 2004-02-25 | 2011-12-07 | 富士通セミコンダクター株式会社 | 半導体装置およびマイクロコントローラ |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS52149931A (en) * | 1976-06-09 | 1977-12-13 | Fujitsu Ltd | Channel interuption control |
| US4271468A (en) * | 1979-11-06 | 1981-06-02 | International Business Machines Corp. | Multiprocessor mechanism for handling channel interrupts |
| JPH077379B2 (ja) * | 1983-06-22 | 1995-01-30 | 株式会社日立製作所 | 多重処理システムの割込み選択方式 |
-
1986
- 1986-07-24 JP JP61172860A patent/JPH07104841B2/ja not_active Expired - Lifetime
-
1987
- 1987-07-21 US US07/076,069 patent/US4833598A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6329873A (ja) | 1988-02-08 |
| US4833598A (en) | 1989-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0690371B1 (en) | Fetch and store buffer for supporting out of order execution in a data processing system | |
| JPH07104841B2 (ja) | 多重処理システムの割込み制御方法 | |
| US5420991A (en) | Apparatus and method for maintaining processing consistency in a computer system having multiple processors | |
| EP0423906B1 (en) | Method of and apparatus for nullifying an instruction | |
| EP0747816B1 (en) | Method and system for high performance multithread operation in a data processing system | |
| US7024543B2 (en) | Synchronising pipelines in a data processing apparatus | |
| US5257354A (en) | System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results | |
| EP0335515B1 (en) | Method and apparatus for executing instructions for a vector processing system | |
| US5043867A (en) | Exception reporting mechanism for a vector processor | |
| US4755935A (en) | Prefetch memory system having next-instruction buffer which stores target tracks of jumps prior to CPU access of instruction | |
| US6289445B2 (en) | Circuit and method for initiating exception routines using implicit exception checking | |
| US20040205747A1 (en) | Breakpoint for parallel hardware threads in multithreaded processor | |
| US5590294A (en) | Method and apparatus for retarting pipeline processing | |
| US4967338A (en) | Loosely coupled pipeline processor | |
| US7734897B2 (en) | Allocation of memory access operations to memory access capable pipelines in a superscalar data processing apparatus and method having a plurality of execution threads | |
| US5237702A (en) | System for prefetching vector data based on the status of the vector registers | |
| US6735687B1 (en) | Multithreaded microprocessor with asymmetrical central processing units | |
| JPH06161779A (ja) | データ処理装置の割込み制御方式 | |
| US6721878B1 (en) | Low-latency interrupt handling during memory access delay periods in microprocessors | |
| JP3146058B2 (ja) | 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法 | |
| US6035392A (en) | Computer with optimizing hardware for conditional hedge fetching into cache storage | |
| JP5093237B2 (ja) | 命令処理装置 | |
| EP0573071A2 (en) | A microprocessor | |
| JP2783285B2 (ja) | 情報処理装置 | |
| US6026488A (en) | Method for conditional hedge fetching into cache storage |