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

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

Info

Publication number
JPH04328665A
JPH04328665A JP3116694A JP11669491A JPH04328665A JP H04328665 A JPH04328665 A JP H04328665A JP 3116694 A JP3116694 A JP 3116694A JP 11669491 A JP11669491 A JP 11669491A JP H04328665 A JPH04328665 A JP H04328665A
Authority
JP
Japan
Prior art keywords
interrupt
priority
processors
processor
interrupt priority
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
JP3116694A
Other languages
English (en)
Other versions
JP2625589B2 (ja
Inventor
Munehiro Fukuda
福田 宗弘
Nobuyuki Oba
信之 大庭
Takeo Nakada
武男 中田
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)

Abstract

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

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 De
velopment of a Very High 
Speed System Bus − The En
core Multimax Nanobus”,D.
J.Schanin, Proceedings of
 Fall Joint Computer Conf
erence, pp.410−418、1986年、
11月、および、”Balance: A Share
d Memory Multiprocessor S
ystem”, S.S.Thakkar, P.Gi
fford, G.Fielland, Procee
dings of 2nd Internationa
l conference on Supercomp
uting, 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を
LOWに落とし、バス・アービタ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は、
従来の割込みコントローラが提供する機能である。IM
R8は、マスクすべき割込み要求レベルを指定する。エ
ンコーダ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がHIG
Hのときに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 Enable PP
R)信号により、PPR11の内容を調停線4に送出す
る。第1回目の調停に勝ち残ると、ラウンド・ロビン方
式による第2回目の調停を行うために、OE_RRPR
(Output Enable RRPR)信号により
、RRPR12の内容を調停線4に送出する。コンパレ
ータ13は、第1回目の割込み調停では、PPR11の
内容と調停線4に送出されている他のインタラプト・ア
ービタ3の優先度を比較する。自分のプロセスの実行優
先度が最低であるとき、制御ロジックに獲得信号を送っ
て、第1回目の調停に勝ち残ったことを通知する。第2
回目の調停では、RRPR12の内容と他の優先度を比
較する。自分のRRPR12の優先度が最高であるとき
、制御ロジック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は、P
PR11の値を調停線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・・・制御ロジック

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと、上記プロセッサの各
    々に対応して設けられ、上記プロセッサの各々について
    第1の割込み優先度を示すデータを保持する第1の割込
    み優先度保持手段と、上記プロセッサの各々に対応して
    設けられ、上記プロセッサの各々について第2の割込み
    優先度を示すデータを保持する第2の割込み優先度保持
    手段であって、上記プロセッサごとに第2の割込み優先
    度を異ならせ、かつ所定のイベントの発生のたびに上記
    第2の優先度を変更するようにしたものと、上記プロセ
    ッサの各々に対応して設けられ、当該プロセッサを含む
    複数のプロセッサに対して割込み要求があり、当該プロ
    セッサの第1の割込み優先度のみが最優先のときに、上
    記割込み要求を受付ける手段と、上記プロセッサの各々
    に対応して設けられ、当該プロセッサを含む複数のプロ
    セッサに対して割込み要求があり、当該プロセッサの第
    1の割込み優先度を含む複数の第1の割込み優先度が最
    優先であり、さらに当該プロセッサの第2の割込み優先
    度が、上記最優先の第1の優先度を保持する他のプロセ
    ッサの第2の割込み優先度より優先のときに、上記割込
    みを受付ける手段とを有することを特徴とするマルチプ
    ロセッサ・システム。
  2. 【請求項2】上記第2の割込み優先度がすべてのプロセ
    ッサにおいて昇順に変化し、上限値で下限値へ復帰する
    請求項1記載のマルチプロセッサ・システム。
  3. 【請求項3】上記第2の割込み優先度がすべてのプロセ
    ッサにおいて降順に変化し、下限値で上限値へ復帰する
    請求項1記載のマルチプロセッサ・システム。
  4. 【請求項4】上記所定のイベントが上記割込み要求に対
    する上記プロセッサの選択動作である請求項1、2また
    は3記載のマルチプロセッサ・システム。
  5. 【請求項5】上記プロセッサの各々の第1の割込み優先
    度は当該プロセッサで実行されているプロセスの優先度
    が高くなればなるほど低くなるようにした請求項1、2
    、3または4記載のマルチプロセッサ・システム。
  6. 【請求項6】上記プロセッサの各々の第1の割込み優先
    度は当該プロセッサの割込み要求待ち行列中の割込み要
    求の数が多くなればなるほど低くなるようにした請求項
    1、2、3または4記載のマルチプロセッサ・システム
  7. 【請求項7】複数のプロセッサと、上記プロセッサの各
    々に対応して設けられ、上記プロセッサの各々について
    第1の割込み優先度を示すデータを保持する第1の割込
    み優先度保持手段と、上記プロセッサの各々に対応して
    設けられ、上記プロセッサの各々について第2の割込み
    優先度を示すデータを保持する第2の割込み優先度保持
    手段であって、設定可能な上限値および設定可能な下限
    値の間において、所定のイベントの発生のたびに上記第
    2の優先度を変更するようにしたものと、上記プロセッ
    サの各々に対応して設けられ、当該プロセッサを含む複
    数のプロセッサに対して割込み要求があり、当該プロセ
    ッサの第1の割込み優先度のみが最優先のときに、上記
    割込み要求を受付ける手段と、上記プロセッサの各々に
    対応して設けられ、当該プロセッサを含む複数のプロセ
    ッサに対して割込み要求があり、当該プロセッサの第1
    の割込み優先度を含む複数の第1の割込み優先度が最優
    先であり、さらに当該プロセッサの第2の割込み優先度
    が、上記最優先の第1の優先度を保持する他のプロセッ
    サの第2の割込み優先度より優先のときに、上記割込み
    を受付ける手段とを有することを特徴とするマルチプロ
    セッサ・システム。
  8. 【請求項8】上記上限値および上記下限値が同一値をと
    るプロセッサでは上記第2の割込み優先度が上記同一値
    に固定される請求項7記載のマルチプロセッサ・システ
    ム。
  9. 【請求項9】複数のプロセッサと、上記プロセッサの各
    々に対応して設けられ、上記プロセッサの各々について
    第1の割込み優先度を示すデータを保持する第1の割込
    み優先度保持手段と、上記プロセッサの各々に対応して
    設けられ、上記プロセッサの各々について第2の割込み
    優先度を示すデータを保持する第2の割込み優先度保持
    手段であって、上記プロセッサごとに第2の割込み優先
    度を異ならせ、かつ所定のイベントの発生のたびに上記
    第2の優先度を変更するようにしたものと、上記プロセ
    ッサの各々に対応して設けられ、当該プロセッサを含む
    複数のプロセッサに対する割込み要求に対して、当該プ
    ロセッサを含む複数のプロセッサの第1の割込み優先度
    に基づいて、当該プロセッサのみが選択されるときは上
    記割込み要求を当該プロセッサに受付けさせる手段と、
    上記プロセッサの各々に対応して設けられ、当該プロセ
    ッサを含む複数のプロセッサに対する割込み要求に対し
    て、当該プロセッサを含む複数のプロセッサの第1の割
    込み優先度に基づいて当該プロセッサを含む複数のプロ
    セッサが選択され、かつ選択された複数のプロセッサの
    第2の割込み優先度に基づいて、当該プロセッサが選択
    できるときは上記割込み要求を当該プロセッサに受付け
    させる手段とを有することを特徴とするマルチプロセッ
    サ・システム。
  10. 【請求項10】複数のプロセッサと、調停バスと、上記
    プロセッサの各々に対応して設けられ、かつ上記調停バ
    スに結合され、当該プロセッサを含む複数のプロセッサ
    がバス・アクセスを要求するときに、当該プロセッサが
    バス・アクセスを優先的に保持するかどうかを決定する
    バス調停手段と、上記プロセッサの各々に対応して設け
    られ、上記プロセッサの各々について第1の割込み優先
    度を示すデータを保持する第1の割込み優先度保持手段
    と、上記プロセッサの各々に対応して設けられ、上記プ
    ロセッサの各々について第2の割込み優先度を示すデー
    タを保持する第2の割込み優先度保持手段であって、上
    記プロセッサごとに第2の割込み優先度を異ならせ、か
    つ所定のイベントの発生のたびに上記第2の優先度を変
    更するようにしたものと、上記プロセッサの各々に対応
    して設けられ、かつ上記調停バスに結合され、当該プロ
    セッサを含む複数のプロセッサに対する割込み要求に対
    して、当該プロセッサを含む複数のプロセッサの第1の
    割込み優先度に基づいて、当該プロセッサのみが選択さ
    れるときは上記割込み要求を当該プロセッサに受付けさ
    せる第1の割込み調停手段と、上記プロセッサの各々に
    対応して設けられ、かつ上記調停バスに結合され、当該
    プロセッサを含む複数のプロセッサに対する割込み要求
    に対して、当該プロセッサを含む複数のプロセッサの第
    1の割込み優先度に基づいて当該プロセッサを含む複数
    のプロセッサが選択され、かつ選択された複数のプロセ
    ッサの第2の割込み優先度に基づいて、当該プロセッサ
    が選択できるときは上記割込み要求を当該プロセッサに
    受付けさせる第2の割込み調停手段と上記割込み要求に
    基づいて上記バス調停手段の上記調停バスの使用を禁止
    する手段とを有することを特徴とするマルチプロセッサ
    ・システム。
  11. 【請求項11】第1の割込み優先度を示すデータを保持
    する第1の割込み優先度保持手段と、第2の割込み優先
    度を示すデータを保持する第2の割込み優先度保持手段
    であって、かつ所定のイベントの発生のたびに上記第2
    の優先度を変更するようにしたものと、第1の割込み優
    先度に基づいて、割込み要求を受付けるかどうかを決定
    する手段と、上記第1の割込み優先度に基づいて割り込
    み要求を受付けるかどうかを決定できないときに、上記
    第2の割込み優先度に基づいて、上記割込み要求を受付
    けるかどうかを決定する手段とを有することを特徴とす
    るマルチプロセッサ・システムの割込み調停装置。
  12. 【請求項12】上記第1の優先度はマルチプロセッサ中
    においてすべて異なる値をとるように初期設定できるよ
    うにされている請求項11記載のマルチプロセッサ・シ
    ステムの割込み調停装置。
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 true JPH04328665A (ja) 1992-11-17
JP2625589B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200318A (ja) * 1993-12-16 1995-08-04 Internatl Business Mach Corp <Ibm> 動的優先タスク・スケジューラを有するデータ処理システム
US7051133B2 (en) 2002-11-25 2006-05-23 Renesas Technology Corp. Arbitration circuit and data processing system
US7978600B2 (en) 2006-03-06 2011-07-12 Denso Corporation Electronic control unit with a plurality of control circuits

Families Citing this family (38)

* 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 松下電器産業株式会社 マイクロコンピュータ
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
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 データ転送バスシステム
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 上海阵量智能科技有限公司 中断控制器、中断控制方法、芯片、计算机设备以及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01279354A (ja) * 1988-04-28 1989-11-09 Internatl Business Mach Corp <Ibm> 共有バスを有するデータ処理システムおよびその優先度決定回路
JPH0346051A (ja) * 1989-07-14 1991-02-27 Oki Electric Ind Co Ltd マルチプロセッサシステムの割込み制御方式

Family Cites Families (18)

* 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
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 マイクロコンピュータの割り込み回路
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01279354A (ja) * 1988-04-28 1989-11-09 Internatl Business Mach Corp <Ibm> 共有バスを有するデータ処理システムおよびその優先度決定回路
JPH0346051A (ja) * 1989-07-14 1991-02-27 Oki Electric Ind Co Ltd マルチプロセッサシステムの割込み制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200318A (ja) * 1993-12-16 1995-08-04 Internatl Business Mach Corp <Ibm> 動的優先タスク・スケジューラを有するデータ処理システム
US7051133B2 (en) 2002-11-25 2006-05-23 Renesas Technology Corp. Arbitration circuit and data processing system
US7978600B2 (en) 2006-03-06 2011-07-12 Denso Corporation Electronic control unit with a plurality of control circuits

Also Published As

Publication number Publication date
EP0511476A2 (en) 1992-11-04
JP2625589B2 (ja) 1997-07-02
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
JPH04328665A (ja) マルチプロセッサ・システム
US6073132A (en) Priority arbiter with shifting sequential priority scheme
US4972313A (en) Bus access control for a multi-host system using successively decremented arbitration delay periods to allocate bus access among the hosts
EP0644487B1 (en) Scalable system interrupt structure for a multiprocessing system
US7533206B2 (en) Resource management device
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US5274774A (en) First-come first-serve arbitration protocol
JP2005536791A (ja) 動的多重レベルタスク管理方法及び装置
JPH06266676A (ja) 多重プロセッサ・コンピュータの割り込み操向システム
JPH0812652B2 (ja) コンピュータ・システムの調停装置
US7103631B1 (en) Symmetric multi-processor system
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
WO2007004696A1 (ja) アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
US20070089114A1 (en) Real time scheduling system for operating system
JPH0635729A (ja) データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置
US20050066093A1 (en) Real-time processor system and control method
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
WO2000033175A2 (en) Method for increasing efficiency of multiprocessing systems
JP5348315B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
JP5605477B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JPH0877026A (ja) 情報処理方法とその装置
JP3101023B2 (ja) バス使用権制御方法
US6167478A (en) Pipelined arbitration system and method
US20060048150A1 (en) Task management methods and related devices