JP2625589B2 - マルチプロセッサ・システム - Google Patents

マルチプロセッサ・システム

Info

Publication number
JP2625589B2
JP2625589B2 JP3116694A JP11669491A JP2625589B2 JP 2625589 B2 JP2625589 B2 JP 2625589B2 JP 3116694 A JP3116694 A JP 3116694A JP 11669491 A JP11669491 A JP 11669491A JP 2625589 B2 JP2625589 B2 JP 2625589B2
Authority
JP
Japan
Prior art keywords
interrupt
priority
processor
processors
arbitration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP3116694A
Other languages
English (en)
Other versions
JPH04328665A (ja
Inventor
宗弘 福田
信之 大庭
武男 中田
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
Priority to JP3116694A priority Critical patent/JP2625589B2/ja
Priority to CA002061127A priority patent/CA2061127C/en
Priority to EP19920104061 priority patent/EP0511476A3/en
Priority to US07/870,014 priority patent/US5265215A/en
Publication of JPH04328665A publication Critical patent/JPH04328665A/ja
Application granted granted Critical
Publication of JP2625589B2 publication Critical patent/JP2625589B2/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
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、密結合型マルチプロ
セッサ・システムに関し、とくにプロセッサの負荷状況
に応じて、しかも1つのプロセッサに偏ることなく、I/
O割込みを各プロセッサに分配できるようにしたもので
ある。
【0002】
【従来の技術】近年のハードウェア技術の向上により、
多数のプロセッサを搭載した密結合型マルチプロセッサ
・ワークステーションの実用化が進んでいる。この種の
ワークステーションでは、高速な数値演算機能に加え
て、多種多様なI/O機能を提供することが求められてい
る。
【0003】従来システムの多くは、各プロセッサに対
して局所的にI/O装置を接続する形態、もしくは、特定
のプロセッサがI/O装置を集中管理する形態(たとえば
特開昭63−147252号)をとる。このようなシス
テムは、特定のプロセッサが特定のI/Oを制御すること
を前提としている。したがって、その実現が容易である
反面、I/O処理の負荷分散は極めて不可能に近く、高度
なI/O機能を効率良くユーザに提供することは難しい。
【0004】これに対して、I/O処理の負荷分散を密結
合型マルチプロセッサ・システム上で行う試みが行なわ
れつつある。I/O処理の負荷分散を実現するためには、
システム中の全てのプロセッサが、平等にかつ直接、I/
O装置を操作できることが必須である。特に、I/O装置か
らの割込みを各プロセッサに分配する機能を実現する必
要がある。しかしながら、この割込みの分配に際して、
1つの割込みを同時に2台以上のプロセッサに受け取ら
せないように割込みを調停しなければならない。この割
込み調停が実現できないと、1つのI/O装置からの要求
が重複して処理されることになる。また、最も負荷の軽
いジョブ、あるいは、優先度の低いジョブを実行してい
るプロセッサへ割込みを送信することが、I/Oの負荷分
散を実現する上で重要である。
【0005】I/O処理の負荷分散を行っているシステム
については、"The Design and Development of a Very
High Speed System Bus - The Encore Multimax Nanobu
s",D.J.Schanin, Proceedings of Fall Joint Computer
Conference, pp.410-418、1986年、11月、およ
び、"Balance: A Shared Memory Multiprocessor Syste
m", S.S.Thakkar, P.Gifford, G.Fielland, Proceeding
s of 2nd International conference on Supercomputin
g, pp.93-101、1987年5月に開示がある。これら2
つのシステムは、割込み調停を行うための機能を備えて
いる。これら2つのシステムでは、各プロセッサの実行
しているプロセスの優先度、もしくは、割込み待ち行列
にある未処理の割込みの数をパラメ−タとして割込み調
停を行い、I/Oの負荷分散を実現しようとしている。し
かし、2台以上のプロセッサが、調停に勝つ可能性があ
る。そこで、プロセッサ固有のスロット番号によって、
割込みを受け付けるべきプロセッサを最終的に1台選択
する。
【0006】しかしながら、この2つの割込み調停方式
は、I/Oの負荷分散を十分に実現することができない。
なぜなら、全てのプロセッサが同一のプライオリティ・
レベルで処理を行っているとき、常に物理的位置を示す
スロット番号によって決定されたプロセッサへ割込みが
送られることになる。また、どのプロセッサの割込み待
ち行列も空である場合には、たとえ重要なジョブを実行
していようとも常に決まったプロセッサへ割込みが送ら
れる。また、割込みレベルごとに割込み可能なプロセッ
サ群を指定することは、全く不可能か、あるいは、シス
テムの起動時にのみ設定可能である。したがって、シス
テムの動作中に各プロセッサの負荷状況に応じて割込み
可能なプロセッサ群を動的に指定し、変更することはで
きない。さらに、割込み調停を行うために、その制御ハ
ードウェアをプロセッサにのみ装備した例は実在しな
い。現存のシステムでは、プロセッサのみならず、I/O
装置に制御ロジックを加えるか、もしくは、特別なI/O
装置を新設するとともに、割込み調停用の通信線をシス
テム・バスに付加している。したがって、割込み調停を
実現するための制御ハードウェアの規模も無視できな
い。調停の実現方法は、メッセージ通信を繰り返して行
うもの、非同期型バック・オフ方式で行うもの等、様々
であるが、短時間で割込みを調停し、プロセッサに送信
することは期待できない。
【0007】この発明と関連する他の先行技術には特開
昭61−87448号公報、特開昭62−187955
号および特開平1−279354号公報がある。特開昭
61−87448号はバス調停のたびにバス調停用の優
先度を変更することを開示している。特開昭62−18
7955号公報はバス調停のたびにバス調停用の優先度
を循環的に変更することを開示している。また特開平1
−279354号公報はバス調停のたびにバス調停用の
優先度を循環的に変更させ、さらに上限値および下限値
を各プロセッサごとに設定可能とし、各プロセッサでは
その上限値および下限値の間で優先度が変化するように
することを開示している。この場合所定のプロセッサの
上限値および下限値を同一にすればその優先度をその値
に固定できる。しかしながら以上の先行技術はすべてバ
ス要求の調停であり、しかもこれらには一回目の調停で
割込みの負荷分散を行い、しかも付加的な二回目の調停
で割込みの偏りをなくすという点についてはなんら教示
がない。
【0008】
【発明が解決しようとする課題】この発明は、以上の事
情を考慮してなされたものであり、プロセッサの負荷状
況に応じて、しかも1つのプロセッサに偏ることなく、
I/O割込みを各プロセッサに分配できるようにしたマル
チプロセッサ・システムのI/O割込みを提供することを
目的としている。さらにこの発明はI/O割込みの制御を
既存のマルチプロセッサ・システムに容易に適用できる
ようにすることを目的としている。
【0009】
【課題を解決するための手段】この発明では以上の目的
を達成するために、プロセッサの負荷状況を表すパラメ
ータを第1の優先度としてI/0割込みの調停を行い、こ
の調停で1個のプロセッサが決まらないときに、循環的
に変化する第2の優先度にしたがって最終的に1個のプ
ロセッサを選択できるようにしている。またこの発明で
はプロセッサからのバス要求の調停を行うバス・アービ
タをI/O割込み用に兼用し既存のマルチプロセッサ・シ
ステムへの適用を容易にしている。すなわち従来の密結
合型マルチプロセッサ・システムでは、各プロセッサに
装備されたバス・アービタが、調停線を介して相互に通
信し、プロセッサからのバス使用要求を調停するものが
多い。本発明は、この調停線を割込みの調停に流用し、
各プロセッサに割込みの調停を行う回路を付加すること
により、極めて簡単に実現できる。回路は、従来の割込
みコントローラのロジックに若干のレジスタと比較器を
加えたものである。この回路を、バス・アービタと区別
するためにインタラプト・アービタと呼ぶことにする。
【0010】
【実施例】以下この発明の実施例について図面を参照し
て説明しよう。図1はこの発明が適用されたマルチプロ
セッサ・システムの割込み調停機構を全体的に示すもの
である。図1においてプロセッサP1…PNは共有バス
1(図ではデータバス、アドレスバス、制御バスは省略
している)に共通に結合されている。各プロセッサP
(ここのプロセッサを指し示す場合以外はサフィックス
を除いて示す)はバス・アービタ2およびインターラプ
ト・アービタ3を具備し、バス・アービタ2でプロセッ
サPからのバス要求を調停し、インターラプト・アービ
タ3でI/O割込み要求を調停する。バス・アービタ2お
よびインターラプト・アービタ3の双方は調停線4およ
び割込み調停要求線5に共通に接続され、インターラプ
ト・アービタ3はさらに割込み要求線6に共通に接続さ
れている。この割込み要求線6にはI/O装置7が接続さ
れている。
【0011】インタラプト・アービタ3は、I/O装置7
から割込み要求を割込み要求線6を介して直接入力す
る。ある割込み要求がI/O装置7から発行されると、各
インタラプト・アービタ3は、割込み調停要求線5をLO
Wに落とし、バス・アービタ2に対して調停線4の使用
を一時禁止する。割込み調停要求線5は、ワイヤード・
オアでアクティブLOWの信号線である。インタラプト・
アービタ3は、前のメモリ・バス・サイクルが終了する
と、この調停線4を介して相互に通信し、割込みの調停
を行う。
【0012】割込み調停は、図2を参照して説明するよ
うに、最初に各プロセッサPが実行しているプロセスの
優先度を用いて行われる。プロセスの優先度はプロセス
の種類たとえばOSカーネル、アプリケーション等に応
じて割り当てられる。最低のプロセスの実行優先度を持
つプロセッサPが勝ち残る。プロセスの優先度が同じプ
ロセッサPが2台以上存在する場合があるので、ラウン
ド・ロビン方式を使用して第2回目の調停を行う。ラウ
ンド・ロビンは、予め各アービタに固有の優先度を与
え、調停を行う毎に各アービタがその優先度をローテイ
トし、優先度の最も高いプロセッサを選択する方式であ
る。このローテイトにより、常に公平な調停を行うこと
ができる。この2回にわたる調停により、インタラプト
・アービタ3は、I/O割込みを受け取るプロセッサPを
唯一つ決定し、そのプロセッサPに割込み信号をかけ
る。
【0013】図2はインタラプト・アービタの実現例を
示す。図2において、インタラプト・アービタ3は、割
込みマスク・レジスタ(IMR)8、エンコーダ9、割込
みレベル・レジスタ(ILR)10、プロセス・プライオ
リティ・レジスタ(PPR)11、ラウンド・ロビン・プ
ライオリティ・レジスタ(RRPR)12、コンパレータ
13および制御ロジック14等から構成される。このう
ち、IMR8、エンコーダ9、ILR10は、従来の割
込みコントローラが提供する機能である。IMR8は、
マスクすべき割込み要求レベルを指定する。エンコーダ
9は、IMR8を通過した割込み要求レベル(IRQ)、す
なわち、マスクされなかった割込み要求レベル(マスク
されない IRQ)のうち、最もプライオリティの高い割込
み要求レベル(IRQ)を1つ選択する組合せロジックであ
る。ILR10は、割込みに応答したプロセッサに対し
て、エンコーダ2で選択した割込み要求レベルを返すレ
ジスタである。
【0014】したがって、本発明を実現する上で新たに
必要となる構成要素は、PPR11とRRPR12の2
つのレジスタ、コンパレータ13、および、その制御ロ
ジック14だけである。PPR11およびRRPR12
のデータはバッファ15に一時記憶される。PPR11
は、プロセスの実行優先度に応じたI/O割込みの優先度
を指定し(プロセスの実行優先度が高いほどI/O割込み
の優先度が低くなる)、プロセスの実行優先度による第
1回目の調停に使用される。各インタラプト・アービタ
3のRRPR12は、プロセッサの個数の範囲で循環計
数するカウンタであり、システム起動時に固有の優先度
に初期化され、各インターラプト・アービタごとに異な
る値を有している。カウンタは割込み調停動作、すなわ
ち割込み調停パルス(図3、このパルスは割込み調停要
求の信号がLOWでかつBUS_BusyがHIGHのときにHIGHにな
る信号である)をカウントし、その内容は、割込み調停
ごとにローテイトする。すなわち0の優先度が1に、1
の優先度が2に、3の優先度が4に、…、(N−1)
(Nはプロセッサの個数)の優先度が0に変化する。あ
るいはに(N−1)の優先度が(N−2)に、(N−
2)の優先度が(N−2)に、…、0の優先度が(N−
1)に変化する。RRPR12の内容は、ラウンド・ロ
ビン方式による第2回目の調停に使用される。エンコー
ダ9は、選択した割込み要求レベルが変化すると要求信
号を制御ロジック14に送る。制御ロジック14は、こ
の要求信号によって起動される。この回路14は、割込
み調停要求線5をLOWに落とし、バス・アービタ2に対
して調停線4の使用を一時禁止する。前のメモリ・バス
・サイクルが終了すると、プロセスの実行優先度による
第1回目の割込み調停を行うために、OE_PPR(Output En
able PPR)信号により、PPR11の内容を調停線4に
送出する。第1回目の調停に勝ち残ると、ラウンド・ロ
ビン方式による第2回目の調停を行うために、OE_RRPR
(Output Enable RRPR)信号により、RRPR12の内容
を調停線4に送出する。コンパレータ13は、第1回目
の割込み調停では、PPR11の内容と調停線4に送出
されている他のインタラプト・アービタ3の優先度を比
較する。自分のプロセスの実行優先度が最低であると
き、制御ロジックに獲得信号を送って、第1回目の調停
に勝ち残ったことを通知する。第2回目の調停では、R
RPR12の内容と他の優先度を比較する。自分のRR
PR12の優先度が最高であるとき、制御ロジック14
に獲得信号を送って、第2回目の調停で選択されたこと
を通知する。制御ロジック14は、これを受けてプロセ
ッサに対して割込み信号を送出し、割込みをかける。
【0015】図3は、インタラプト・アービタ3による
割込み調停のタイミング・チャートを示している。この
例では、共有バス1がクロック同期であるものとする。
この図において割込み要求(i)は、1からnレベルの割
込み要求線のうち、i番目の割込み要求線であることを
示す。バス・ビジー#信号は、アクティブLOWのトライス
テート、または、ワイヤード・オア信号線で、この信号
がLOWであるとき、共有バス1がメモリ・サイクル中で
あることを示す。したがって、バス1の使用要求の調
停、または、割込みの調停は、このバス・ビジー#信号
がHIGHであるときに行われる。割込み信号は、各インタ
ラプト・アービタ3がプロセッサPへ割込みを通知する
ための信号である。図3の割込み信号は、割込み調停で
選択された唯一のインタラプト・アービタ3の割込み信
号を示す。以下に図3における割込み調停の実施手順の
一例を説明する。
【0016】(1)バス・クロック1において、あるI/
O装置が割込み要求(i)信号を立ち上げて割込み要求を発
行する。各インタラプト・アービタ3では、この割込み
要求(i)信号をIMR8でマスクしていない場合、エン
コーダ9が最もレベルの高い割込み要求を選択し直す。
エンコーダ9の値が変化した場合には、要求信号が制御
ロジック14に送られる。 (2)バス・クロック2において、インタラプト・アー
ビタ3の制御ロジック14が起動し、割込み調停要求#
信号を共有バス1に送出する。これにより、次回のアー
ビトレーション・サイクルは割込み調停だけに有効とな
る。したがって、バス・アービタ2は、割込み調停要求
#信号がLOWになると次回のアービトレーション・サイク
ルの参入を見合わせる。 (3)バス・クロック3において、バス・ビジー#信号
がHIGHになり、メモリ・バス・サイクルが終了し、アー
ビトレーション・サイクルに入る。割込み調停要求#信
号がLOWであるので、バス・アービタ2は、バス使用要
求の調停を行うことはできない。このサイクルでは、1
台以上のインタラプト・アービタ3が割込み調停に参入
する。割込み調停は、2サイクルで行なわれる。バス・
クロック3で、インタラプト・アービタ3は、PPR1
1の値を調停線4に出力し、各々のプロセッサPが実行
しているプロセスの優先度で割込み調停を行う。最も低
いプロセスの実行優先度を持つインタラプト・アービタ
3が勝ち残る。 (4)バス・クロック4において、最低のプロセス実行
優先度を持つインタラプト・アービタ3が、RRPR1
2の値を調停線4に出力し、ラウンド・ロビンによる調
停を行う。RRPR12の内容が最高であるインタラプ
ト・アービタ3が唯一選択される。 (5)バス・クロック5において、選択されたインタラ
プト・アービタ3は、割込み信号により、プロセッサP
に対して割込みをかける。割り込まれたプロセッサP
は、ILR10を読むことによって受け付けた割込みの
レベルを知ることができる。割込み調停に参入していた
インタラプト・アービタ3は、割込み調停要求#信号をH
IGHに上げてバス・アービタ3に対して、調停線4の使
用を許可する。バス・アービタ2は、バス・クロック5
において、割込み以外の通常のバス使用要求の調停を行
うことができる。 (6)バス・クロック6において、バス使用要求の調停
に勝ったプロセッサPがバス・ビジー#信号をLOWに落と
し、メモリ・バス・サイクルを開始する。
【0017】I/O装置からの割込みは、最も負荷の軽
い、あるいは、優先度の低いプロセスを実行しているプ
ロセッサに均一に送ることが望ましい。この実施例で
は、ソフトウェアによる設定が可能なPPR11の値を
用いて、最も優先度の低いプロセスを実行しているプロ
セッサPを選ぶ。さらに、最低の実行優先度を持つプロ
セッサPが、2台以上存在する場合でも、常に決まった
プロセッサPを選択するのではなく、ラウンド・ロビン
による調停により、その中から公平にプロセッサPを1
台選択する。したがって、I/O処理の負荷分散を徹底す
ることができる。
【0018】この実施例による割込み調停は通常のシス
テム・バスの調停サイクルを利用して行う。インタラプ
ト・アービタ3は、このサイクルでプロセスの実行優先
度による調停を行ない、さらに、もう1サイクル使用し
て、ラウンド・ロビンによる調停を行う。したがって、
通常のバス調停時間の高々、2倍の時間で割込みを調停
し、分配できる。集中して種々のレベルの割込みが発生
した場合でも、短期間に各プロセッサPに割込みを分配
できる。
【0019】1台のプロセッサPでのみOSカーネルが
実行され、その他のプロセッサではユーザ・プロセスが
実行される場合、種々のI/Oデバイス・ハンドラ、サー
バが各プロセッサPに固定である場合には、あるレベル
の割込みを特定のプロセッサPへ送信できることが望ま
しい。また、すべてのプロセッサPで同一のOSカーネ
ルを実行させたい場合、プロセッサ・グループごとに実
行すべきサーバが異なる場合には、あるレベルの割込み
を特定のプロセッサ・グループに送信できることが望ま
しい。本発明は、IMR8の変更により、レベルごとに
割込みを受け付けるプロセッサ、または、プロセッサ・
グループをシステムの負荷状況に応じて動的に変更する
ことができる。すなわち、割込みレベルごとにプロセッ
サ群を個別に指定することができる。
【0020】また、この実施例は、インタラプト・アー
ビタ3のロジック量が少なく、インタラプト・アービタ
3を各プロセッサPに装備するだけで簡単に実現でき
る。また、I/O装置、コントローラ等に制御用のロジッ
クを付加する必要がないので、既存のI/Oカードを使用
することができる。割込み調停に必要な通信線は、シス
テム・バスの調停線を共有するので、バック・プレーン
をほとんど変更する必要がない。したがって、若干のハ
ードウェアの変更、および追加により、この実施例を既
存のマルチプロセッサ・システムに極めて容易に適用で
きる。
【0021】なおこの発明は以上の実施例の詳細に限定
されるものではなく、その趣旨を逸脱しない範囲で種々
の変更が可能である。プロセスの優先度に応じて一回目
の割込み調停を行うかわりに、割込み待ち行列中の割込
み要求の数が多いほど割込みの優先度を低くするように
してもよい。
【0022】また二回目の割込み調停の優先度を完全な
ラウンド・ロビンにするのでなく、特開平1−2793
54号公報のように設定可能な上限値および下限値の間
を変化する優先度を採用してもよい。この場合所定のプ
ロセッサの上限値および下限値を所定の値にすれば、そ
の優先度をその所定の値に固定できる。もちろんその他
のプロセッサの優先度は割込み調停に応じて変化する。
【0023】
【発明の効果】以上説明したようにこの発明によれば極
めて簡単な構成で割込みの調停を動的かつ高速に実現で
き、既存のシステムへの適用が容易である。
【図面の簡単な説明】
【図1】この発明の実施例を全体として示すブロック図
である。
【図2】図1の実施例のインターラプト・アービタの構
成を示すブロック図である。
【図3】図2のインターラプト・アービタの操作を説明
するためのタイミング・チャートである。
【符合の説明】P・・・プロセッサ 1・・・共有バス 2・・・バス・アービタ 3・・・インターラプト・アービタ 4・・・調停線 5・・・割込み調停要求線 6・・・割込み要求線 11・・・プロセス・プライオリティ・レジスタ 12・・・ラウンド・ロビン・プライオリティ・レジス
タ 13・・・コンパレータ 14・・・制御ロジック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中田 武男 埼玉県川口市飯原町3−3 (56)参考文献 特開 平3−46051(JP,A) 特開 平4−232558(JP,A)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと、 上記プロセッサの各々に対応して設けられ、上記プロセ
    ッサの各々について第1の割込み優先度を示すデータを
    保持する第1の割込み優先度保持手段と、 上記プロセッサの各々に対応して設けられ、上記プロセ
    ッサの各々について第2の割込み優先度を示すデータを
    保持する第2の割込み優先度保持手段であって、上記プ
    ロセッサごとに第2の割込み優先度を異ならせ、かつ所
    定のイベントの発生のたびに上記第2の優先度を変更す
    るようにしたものと、 上記プロセッサの各々に対応して設けられ、当該プロセ
    ッサを含む複数のプロセッサに対して割込み要求があ
    り、当該プロセッサの第1の割込み優先度のみが最優先
    のときに、上記割込み要求を受付ける手段と、 上記プロセッサの各々に対応して設けられ、当該プロセ
    ッサを含む複数のプロセッサに対して割込み要求があ
    り、当該プロセッサの第1の割込み優先度を含む複数の
    第1の割込み優先度が最優先であり、さらに当該プロセ
    ッサの第2の割込み優先度が、上記最優先の第1の優先
    度を保持する他のプロセッサの第2の割込み優先度より
    優先のときに、上記割込みを受付ける手段とを有し、 上記プロセッサの各々の第1の割込み優先度は当該プロ
    セッサで実行されているプロセスの優先度が高くなれば
    なるほど低くなるようにすることを特徴とするマルチプ
    ロセッサ・システム。
  2. 【請求項2】複数のプロセッサと、 上記プロセッサの各々に対応して設けられ、上記プロセ
    ッサの各々について第1の割込み優先度を示すデータを
    保持する第1の割込み優先度保持手段と、 上記プロセッサの各々に対応して設けられ、上記プロセ
    ッサの各々について第2の割込み優先度を示すデータを
    保持する第2の割込み優先度保持手段であって、上記プ
    ロセッサごとに第2の割込み優先度を異ならせ、かつ所
    定のイベントの発生のたびに上記第2の優先度を変更す
    るようにしたものと、 上記プロセッサの各々に対応して設けられ、当該プロセ
    ッサを含む複数のプロセッサに対して割込み要求があ
    り、当該プロセッサの第1の割込み優先度のみが最優先
    のときに、上記割込み要求を受付ける手段と、 上記プロセッサの各々に対応して設けられ、当該プロセ
    ッサを含む複数のプロセッサに対して割込み要求があ
    り、当該プロセッサの第1の割込み優先度を含む複数の
    第1の割込み優先度が最優先であり、さらに当該プロセ
    ッサの第2の割込み優先度が、上記最優先の第1の優先
    度を保持する他のプロセッサの第2の割込み優先度より
    優先のときに、上記割込みを受付ける手段とを有し、 上記プロセッサの各々の第1の割込み優先度は当該プロ
    セッサの割込み要求待ち行列中の割込み要求の数が多く
    なればなるほど低くなるようにすることを特徴とするマ
    ルチプロセッサ・システム。
  3. 【請求項3】複数のプロセッサと、 調停バスと、 上記プロセッサの各々に対応して設けられ、かつ上記調
    停バスに結合され、当該プロセッサを含む複数のプロセ
    ッサがバス・アクセスを要求するときに、当該プロセッ
    サがバス・アクセスを優先的に保持するかどうかを決定
    するバス調停手段と、 上記プロセッサの各々に対応して設けられ、上記プロセ
    ッサの各々について第1の割込み優先度を示すデータを
    保持する第1の割込み優先度保持手段と、 上記プロセッサの各々に対応して設けられ、上記プロセ
    ッサの各々について第2の割込み優先度を示すデータを
    保持する第2の割込み優先度保持手段であって、上記プ
    ロセッサごとに第2の割込み優先度を異ならせ、かつ所
    定のイベントの発生のたびに上記第2の優先度を変更す
    るようにしたものと、 上記プロセッサの各々に対応して設けられ、かつ上記調
    停バスに結合され、当該プロセッサを含む複数のプロセ
    ッサに対する割込み要求に対して、当該プロセッサを含
    む複数のプロセッサの第1の割込み優先度に基づいて、
    当該プロセッサのみが選択されるときは上記割込み要求
    を当該プロセッサに受付けさせる第1の割込み調停手段
    と、 上記プロセッサの各々に対応して設けられ、かつ上記調
    停バスに結合され、当該プロセッサを含む複数のプロセ
    ッサに対する割込み要求に対して、当該プロセッサを含
    む複数のプロセッサの第1の割込み優先度に基づいて当
    該プロセッサを含む複数のプロセッサが選択され、かつ
    選択された複数のプロセッサの第2の割込み優先度に基
    づいて、当該プロセッサが選択できるときは上記割込み
    要求を当該プロセッサに受付けさせる第2の割込み調停
    手段と上記割込み要求に基づいて上記バス調停手段の上
    記調停バスの使用を禁止する手段とを有することを特徴
    とするマルチプロセッサ・システム。
JP3116694A 1991-04-22 1991-04-22 マルチプロセッサ・システム Expired - Lifetime JP2625589B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP3116694A JP2625589B2 (ja) 1991-04-22 1991-04-22 マルチプロセッサ・システム
CA002061127A CA2061127C (en) 1991-04-22 1992-02-12 Multiprocessor system and interrupt arbiter thereof
EP19920104061 EP0511476A3 (en) 1991-04-22 1992-03-10 Multiprocessor system
US07/870,014 US5265215A (en) 1991-04-22 1992-04-17 Multiprocessor system and interrupt arbiter thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3116694A JP2625589B2 (ja) 1991-04-22 1991-04-22 マルチプロセッサ・システム

Publications (2)

Publication Number Publication Date
JPH04328665A JPH04328665A (ja) 1992-11-17
JP2625589B2 true JP2625589B2 (ja) 1997-07-02

Family

ID=14693544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3116694A Expired - Lifetime JP2625589B2 (ja) 1991-04-22 1991-04-22 マルチプロセッサ・システム

Country Status (4)

Country Link
US (1) US5265215A (ja)
EP (1) EP0511476A3 (ja)
JP (1) JP2625589B2 (ja)
CA (1) CA2061127C (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5410710A (en) * 1990-12-21 1995-04-25 Intel Corporation Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems
US5495615A (en) * 1990-12-21 1996-02-27 Intel Corp Multiprocessor interrupt controller with remote reading of interrupt control registers
US5410677A (en) * 1991-12-30 1995-04-25 Apple Computer, Inc. Apparatus for translating data formats starting at an arbitrary byte position
JPH05257851A (ja) * 1991-12-30 1993-10-08 Apple Computer Inc データの転送の順序を制御させる装置
US5848297A (en) * 1991-12-30 1998-12-08 Apple Computer, Inc. Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
US5640599A (en) * 1991-12-30 1997-06-17 Apple Computer, Inc. Interconnect system initiating data transfer over launch bus at source's clock speed and transfering data over data path at receiver's clock speed
US5887196A (en) * 1991-12-30 1999-03-23 Apple Computer, Inc. System for receiving a control signal from a device for selecting its associated clock signal for controlling the transferring of information via a buffer
US5590380A (en) * 1992-04-22 1996-12-31 Kabushiki Kaisha Toshiba Multiprocessor system with processor arbitration and priority level setting by the selected processor
TW216473B (en) * 1992-08-28 1993-11-21 American Telephone & Telegraph Contention resolution scheme for communications systems
FR2709579B1 (fr) * 1993-08-31 1995-11-17 Sgs Thomson Microelectronics Codeur de niveau de priorité.
JP3242508B2 (ja) * 1993-11-05 2001-12-25 松下電器産業株式会社 マイクロコンピュータ
US5487170A (en) * 1993-12-16 1996-01-23 International Business Machines Corporation Data processing system having dynamic priority task scheduling capabilities
AU1261995A (en) * 1993-12-16 1995-07-03 Intel Corporation Multiple programmable interrupt controllers in a multi-processor system
US5613126A (en) * 1994-05-31 1997-03-18 Advanced Micro Devices, Inc. Timer tick auto-chaining technique within a symmetrical multiprocessing system
US5519837A (en) * 1994-07-29 1996-05-21 International Business Machines Corporation Pseudo-round-robin arbitration for a shared resource system providing fairness and high throughput
KR960042387A (ko) * 1995-05-31 1996-12-21 유기범 하이파이플러스 인터럽트버스 중재방법
US5892956A (en) * 1995-12-19 1999-04-06 Advanced Micro Devices, Inc. Serial bus for transmitting interrupt information in a multiprocessing system
US6105084A (en) * 1997-02-11 2000-08-15 Alcatel Priority-based access control arrangement by assigning first and second own priorities to each of units
US6012121A (en) * 1997-04-08 2000-01-04 International Business Machines Corporation Apparatus for flexible control of interrupts in multiprocessor systems
US6256660B1 (en) 1997-04-08 2001-07-03 International Business Machines Corporation Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
US5935234A (en) * 1997-04-14 1999-08-10 International Business Machines Corporation Method and system for controlling access to a shared resource in a data processing system utilizing pseudo-random priorities
US5931924A (en) * 1997-04-14 1999-08-03 International Business Machines Corporation Method and system for controlling access to a shared resource that each requestor is concurrently assigned at least two pseudo-random priority weights
GB9809199D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Interrupt and control packets for a microcomputer
US6189065B1 (en) * 1998-09-28 2001-02-13 International Business Machines Corporation Method and apparatus for interrupt load balancing for powerPC processors
US6701429B1 (en) 1998-12-03 2004-03-02 Telefonaktiebolaget Lm Ericsson(Publ) System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location
US6606676B1 (en) * 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6952749B2 (en) * 2001-05-02 2005-10-04 Portalplayer, Inc. Multiprocessor interrupt handling system and method
US6813665B2 (en) * 2001-09-21 2004-11-02 Intel Corporation Interrupt method, system and medium
JP4266619B2 (ja) 2002-11-25 2009-05-20 株式会社ルネサステクノロジ 調停回路
JP4195484B2 (ja) * 2003-01-07 2008-12-10 サムスン エレクトロニクス カンパニー リミテッド 複合再伝送方式の移動通信システムにおける出力バッファ制御装置及び方法
US7117285B2 (en) * 2003-08-29 2006-10-03 Sun Microsystems, Inc. Method and system for efficiently directing interrupts
DE102004013635B4 (de) * 2004-03-19 2006-04-20 Infineon Technologies Ag Verfahren zur Vergabe von Buszugriffsrechten in Multimaster-Bussystemen, sowie Multimaster-Bussystem zur Durchführung des Verfahrens
US20060112208A1 (en) * 2004-11-22 2006-05-25 International Business Machines Corporation Interrupt thresholding for SMT and multi processor systems
JP2007058716A (ja) * 2005-08-26 2007-03-08 Oki Electric Ind Co Ltd データ転送バスシステム
JP4682878B2 (ja) 2006-03-06 2011-05-11 株式会社デンソー 電子制御装置
US8024504B2 (en) * 2008-06-26 2011-09-20 Microsoft Corporation Processor interrupt determination
US20090327556A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Processor Interrupt Selection
US8219725B2 (en) 2010-06-16 2012-07-10 International Business Machines Corporation Cache optimized balanced handling of initiatives in a non-uniform multiprocessor computing system
KR101841930B1 (ko) * 2012-01-30 2018-03-26 삼성전자주식회사 인터럽트 스프레드 방법, 인터럽트 스프레드 장치 및 이를 구비하는 시스템 온-칩
CN113138949A (zh) * 2021-04-29 2021-07-20 上海阵量智能科技有限公司 中断控制器、中断控制方法、芯片、计算机设备以及介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
US4159518A (en) * 1977-07-05 1979-06-26 International Business Machines Corporation Auto-selection priority circuits for plural channel adapters
US4268904A (en) * 1978-02-15 1981-05-19 Tokyo Shibaura Electric Co., Ltd. Interruption control method for multiprocessor system
IT1100916B (it) * 1978-11-06 1985-09-28 Honeywell Inf Systems Apparato per gestione di richieste di trasferimento dati in sistemi di elaborazione dati
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
US4314335A (en) * 1980-02-06 1982-02-02 The Perkin-Elmer Corporation Multilevel priority arbiter
US4495569A (en) * 1982-06-28 1985-01-22 Mitsubishi Denki Kabushiki Kaisha Interrupt control for multiprocessor system with storage data controlling processor interrupted by devices
US4769768A (en) * 1983-09-22 1988-09-06 Digital Equipment Corporation Method and apparatus for requesting service of interrupts by selected number of processors
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
JPS62231338A (ja) * 1986-03-31 1987-10-09 Toshiba Corp 優先順位決定方法および装置
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US5016162A (en) * 1988-03-30 1991-05-14 Data General Corp. Contention revolution in a digital computer system
JPH081632B2 (ja) * 1988-04-28 1996-01-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 共有バスを有するデータ処理システムおよびその優先度決定回路
US5210871A (en) * 1988-07-15 1993-05-11 The Charles Stark Draper Labroatory, Inc. Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
US4985831A (en) * 1988-10-31 1991-01-15 Evans & Sutherland Computer Corp. Multiprocessor task scheduling system
JPH02190937A (ja) * 1989-01-19 1990-07-26 Sanyo Electric Co Ltd マイクロコンピュータの割り込み回路
JPH0346051A (ja) * 1989-07-14 1991-02-27 Oki Electric Ind Co Ltd マルチプロセッサシステムの割込み制御方式
US5179707A (en) * 1990-06-01 1993-01-12 At&T Bell Laboratories Interrupt processing allocation in a multiprocessor system
US5125093A (en) * 1990-08-14 1992-06-23 Nexgen Microsystems Interrupt control for multiprocessor computer system

Also Published As

Publication number Publication date
JPH04328665A (ja) 1992-11-17
EP0511476A2 (en) 1992-11-04
US5265215A (en) 1993-11-23
CA2061127C (en) 1996-12-03
EP0511476A3 (en) 1993-06-23
CA2061127A1 (en) 1992-10-23

Similar Documents

Publication Publication Date Title
JP2625589B2 (ja) マルチプロセッサ・システム
US5572686A (en) Bus arbitration scheme with priority switching and timer
CA2123447C (en) Scalable system interrupt structure for a multiprocessing system
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
US5006982A (en) Method of increasing the bandwidth of a packet bus by reordering reply packets
EP0450233B1 (en) Bus access for digital computer system
US5787264A (en) Method and apparatus for arbitrating access to a shared bus
JP2559906B2 (ja) アービトレーション・システム及び方法
US6041377A (en) Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol
EP0524682A1 (en) A centralized backplane bus arbiter for multiprocessor systems
US6519666B1 (en) Arbitration scheme for optimal performance
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
GB2171542A (en) System employing tightly coupled processors
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
JPH04312160A (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
US5509125A (en) System and method for fair arbitration on a multi-domain multiprocessor bus
JPH0635729A (ja) データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置
US5307466A (en) Distributed programmable priority arbitration
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
EP1096387B1 (en) An arbitration unit for a bus
EP0675446B1 (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
US5933648A (en) Configurable arbitration device for controlling the access of components to an arbiter or the like based on a control input
US20030101297A1 (en) Dynamic request pacing in switch systems
US6167478A (en) Pipelined arbitration system and method