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

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

Info

Publication number
JPH04232558A
JPH04232558A JP3135264A JP13526491A JPH04232558A JP H04232558 A JPH04232558 A JP H04232558A JP 3135264 A JP3135264 A JP 3135264A JP 13526491 A JP13526491 A JP 13526491A JP H04232558 A JPH04232558 A JP H04232558A
Authority
JP
Japan
Prior art keywords
interrupt
signal
processor
processors
multiprocessor
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.)
Pending
Application number
JP3135264A
Other languages
English (en)
Inventor
Richard S Piepho
リチャード スルワート ピーホ
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH04232558A publication Critical patent/JPH04232558A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/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)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、共用メモリマルチプロ
セッサシステムにおける割込み処理装置に関する。
【0002】
【従来の技術】一般に、プロセッサシステムにおいて高
いスループットを達成するために、特にプロセッサシス
テムの容量がモジュールにより着実に増加する利点を達
成するために、マルチプロセッサシステムが用いられる
。このマルチプロセッサシステムは、複数の類似または
同一のプロセッサからなり、その各プロセッサが共通メ
モリをアクセスするものである。
【0003】このようなシステムのプロセッサは、一般
的にバックグラウンドタスクと割込みタスクの両者を処
理する。すなわち、バックグラウンドタスクは処理に長
時間を要するタスクであり、割込みタスクは特定の割込
み信号に応答して処理が行われ、割込み信号が受信され
た後ほとんど瞬時に行われねばならないタスクである。 割込み信号は、一般的にディスクもしくはテープ装置等
の入出力装置により生成され、即時処理を要求する。
【0004】割込み信号の個別ソースが多数あるこのよ
うなマルチプロセッサシステムにおいては、各新規な割
込みの処理をマルチプロセッサシステムのプロセッサの
1つに割当てることが必要である。従来、すべての割込
みが1つのプロセッサに行くように構成されたものがあ
った。この構成では、サポートできるシステムのサイズ
に制限がある。すべての割込み処理は、必ず共通のプロ
セッサに集められ、このプロセッサが平均割込み処理ロ
ードのみならずクラスタ化割込み処理をも行わねばなら
ないからである。
【0005】これら問題点のうちのいくつかは、次の第
2の構成により解決される。すなわち、すべての割込み
は、最初に単一のプロセッサにチャンネルを通して送ら
れ、次に各特定の割込みを処理するためにこのプロセッ
サが他のプロセッサの1つに順番に割込みをかける。こ
の方法の欠点は、最初のプロセッサの処理時間がその割
込みを実際に処理するプロセッサの処理時間に加わるた
めに、必然的に応答時間がスローダウンすることである
。さらに、この最初の割込み処理に一部もしくは全部が
専用として用いられる最初のプロセッサの資源は他の目
的に使用できないため、この構成は資源を無駄にする。
【0006】さらにまた、もし割込みがクラスタ化され
ていると、これらクラスタ化された割込みは最初のプロ
セッサでバックアップされるため、最後のクラスタ化割
込みの処理の遅れは受入れられないものとなる。
【0007】別の構成では、割込みは専用割込みバスか
またはマルチプロセッサシステムメモリバスのいずれか
に置かれる。割込みソースはこれらバスのいずれかでア
イドルインターバルを待ち、このアイドルインターバル
を検出すると割込みソースを識別する信号が出る。次に
、この割込みはマルチプロセッサシステムの各プロセッ
サに渡され、あるアービトレーション装置を経て1つの
プロセッサがその割込みをピックアップする。この割込
みの処理を行う特定のプロセッサは次のように選択され
る。
【0008】すなわち、すべてのプロセッサに割込み信
号をピックアップさせる。そして所定のアービトレーシ
ョン装置を介してこの割込みを処理する特定のプロセッ
サをそれら自身の間で自動的に選択する。または、割込
み信号を逐次各プロセッサに渡し、各プロセッサは割込
み信号をピックアップして他のプロセッサに信号を渡さ
ぬようにするか、または割込み信号をピックアップしな
いで他のプロセッサにその信号を渡して他のプロセッサ
の1つがピックアップするようにする。
【0009】
【発明が解決しようとする課題】多くのマルチプロセッ
サシステムでは、各割込み信号が実際に複数のソースを
表すように割込みがクラスタ化されている。例えば、1
つの割込み信号が3つまたは4つのテープ装置により生
成された割込みを表す場合がある。従って、実際には、
各割込み信号は複数の基本割込みソースを表わしている
。割込み処理を均一に分散させるような構成は非常に難
しく、最新の構成においても問題となっている。
【0010】例えば、順次各プロセッサに接続される割
込みバスが用いられる場合、各プロセッサは割込みのレ
ベルに基づき割込みを受け入れるかどうかの決定をする
が、第1のプロセッサはオーバーロードとなるかアンダ
ーロードとなる。その理由は、異なるレベルでの割込み
速度の変化のため、および実際上各レベルに付随する割
込み部分を適切に予測する能力がないためである。
【0011】このように、共用メモリマルチプロセッサ
システムにおいて、各プロセッサが割り込み処理ロード
をほぼ公平に負担し、割込みが高速かつ効率良く処理さ
れるように複数のプロセッサの間で割込みを分散する満
足できる構成はなかった。
【0012】また、パーソナルコンピュータ(PC)を
対象として書かれ、PC上で作動する標準的ソフトウェ
ア及びハードウェア割込みドライバとインタフェースす
るように書かれた多数のプログラムがある。PC割込み
ハードウェア(ソフトウェアと割込みドライバにより制
御される)の工業規格として、BCPRサービス社発行
(1989年)の拡張工業規格アーキテクチャスペシフ
ィケーション(Extended  Industry
  Standard  Architecture(
EISA)Specification)バージョン3
.1がある。
【0013】このようなドライバは、例えばPC端末の
ビデオディスプレイ制御に用いられる。このようなプロ
グラムの一例に代表的PCコンソールドライバがある。 このクラスのPC割込み信号は、特定のプロセッサおよ
びそのプロセッサ内のレジスタロケーションの特定のセ
ットに送られなければならない。マルチプロセッサシス
テムに用いられる割込みドライバのタイプは、PC割込
みドライバとはコンパチブルではない。
【0014】従来技術は次の構成がないという問題も有
する。すなわち、共用メモリを有するマルチプロセッサ
システムのプロセッサの間で割込みを公平に分散させ、
かつ特定の事前に選択されたプロセッサ(PCプロセッ
サとして作動)にこれらの割込みのサブセットを分散さ
せ、そしてPCハードウェア及びソフトウェアとコンパ
チブルな構成での割込みのこのサブセットを伝送する構
成である。
【0015】
【課題を解決するための手段及び作用】上記課題を解決
するために、本発明では、次のように共用メモリマルチ
プロセッサシステムの複数のプロセッサの間で割り込み
が分散される。その複数のプロセッサの中で、最高ラン
クの利用可能プロセッサが、プロセッサの最近の割込み
処理ヒストリを表わすプレフィックスにより補正される
ような、アービトレーション構成により選択され、割込
みを処理する。
【0016】各マルチプロセッサ割込み信号はすべての
プロセッサに分散され、アービトレーション装置を用い
て実際的にその割込みを処理するプロセッサを選択する
。各プロセッサは、プロセッサランク識別を有し、最高
ランク識別を有する利用可能プロセッサが割込みを処理
するのに選択される。本発明では、プロセッサのランク
識別は、プロセッサランク識別をプレフィックスとして
有効な前置追加表示により補正され、この表示は最後の
割込みが処理された以降経過した時間およびその割込み
の処理ロードを表わす。
【0017】この表示としては単純に1ビットであって
、これは割込みが処理された後、所定時間内にリセット
される。また、アービトレーションは次のようにプロセ
ッサの間で信号を伝送することに基づく。すなわち、低
位にランクされたプロセッサからの信号は、高位にラン
クされたプロセッサからの信号により無効とされる。 プロセッサの指示は、次のようにバックプレーン回線に
組込まれる。それは、プロセッサがプラグインされるバ
ックプレーン上の位置が、そのプロセッサのランクを決
める。
【0018】分散バスから割込み信号を受信するのに用
いられる回路は、次の割込み分散論理を有する。それは
、プロセッサがその種類の信号に対し、最高位にランク
されたプロセッサである場合、そのプロセッサが処理す
るよう要求するタイプのアクティブ信号であることを認
識し、アービトレーションを行い、割込み先のデータを
定める割込み分数媒体の付加情報を受取る論理である。 割込みレジスタは、割込み分散論理に基づいて設定され
割込みのランクを示す信号を受信する。
【0019】このランクは、プロセッサ内に用いられる
割込みマスクレジスタの内容と論理的に結合され、プロ
セッサが処理する割込みのレベルを選択する。もし割込
み信号がマスクされたレベルのものである場合、このプ
ロセッサは割込みに役立とうと宣言することができ、ア
ービトレーション論理は宣言するプロセッサのうちのど
れが実際に割込みを処理するのかを決める。このアービ
トレーション構成では、高位ランクのプロセッサからの
宣言する信号が低位ランクのプロセッサからの宣言する
信号を抑制する。
【0020】共用メモリマルチプロセッサシステムのプ
ロセッサのうちいくつかは、割込み信号を含むPCコン
パチブル入力を受信し、PCコンパチブル出力を送信す
るように構成され、また割込み信号および多重処理シス
テムの他の入出力信号を送受信するように構成されてい
る。本発明の一特定例では、このシステムの各プロセッ
サがマルチプロセッサ入出力割込み信号を受信する。
【0021】受信されたマルチプロセッサ入出力割込み
信号は、割込み分散媒体によりすべてのプロセッサの間
にされ、PCコンパチブル割込み信号はプロセッサのい
くつかとの間に分散される。各プロセッサは内部アービ
トレーション論理を有し、そして与えられた割込みを処
理するプロセッサはどれであるかを選択する。本例では
、アービトレーションスキームは、次のような他のすべ
てのプロセッサのランクと異なるランクを有する各プロ
セッサに基づく。ここでは、そのランクは、先の割込み
処理ヒストリに基づき割込み処理選択の指標に基づいて
前置付加される。
【0022】最高位にランクされたプロセッサは、この
指標に基づいて補正され、割込みを処理する。本発明の
1つの特徴として、PCコンパチブルモードを用いネッ
トワークインタフェースから複数のPCに接続されるネ
ットワーク上の入力をドライブし受信する。好都合に、
この構成によりPCコンパチブルユニプロセッサインタ
フェースソフトウェアが用いられてネットワークの他の
端末におけるユニプロセッサおよびマルチプロセッサシ
ステムの間で通信を行う。
【0023】好都合に、本発明により接続されたプロセ
ッサまたは通信システムのプロトコルを満足する現存の
PCコンパチブルソフトウェアが、次のマルチプロセッ
サシステムにインタフェースするのに使用される。ここ
では、このマルチプロセッサシステムは、性能向上のた
めに異なるプロトコルを用いて、マルチプロセッサシス
テム内および他の装置との通信を行う。
【0024】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。図1は、マルチプロセッサシステムのブロック
図である。図1において、コンパチブルプロセッサエレ
メントCPE−1(ブロック100)、・・・、コンパ
チブルプロセッサエレメントCPE−2(ブロック10
1)を有する。これらは、標準的パーソナルコンピュー
タ(PC)のハードウェア規格およびソフトウェア規格
とコンパチブルな方法で入出力装置とインタフェースす
る処理エレメントであり、図2に詳細を示す。
【0025】また、マルチプロセッサコンパチブル入出
力装置から信号を得て、主メモリバス123および割込
み信号分散媒体121と通信する入出力チャネル1(ブ
ロック115)、・・・、入出力チャネル2(ブロック
116)を有する。さらに多重処理エレメントMPE−
1(ブロック110)、・・・、MPE−2(プロック
111)がある。コンパチブルプロセッサエレメントC
PE−1(ブロック100)が割込み信号バス125及
び割込み分散媒体121の両者と接続されるのに対し、
多重処理エレメントMPE−1(ブロック110)は割
込み分散媒体121にのみ接続される。
【0026】これは、コンパチブルプロセッサエレメン
ト100は、PC標準入出力モードでのみ作動するネッ
トワークインタフェース133のような装置及び割込み
分散媒体121上でその割込み信号を送ることによりマ
ルチプロセッサモードで動作するように構成されるディ
スク131のような入出力装置と通信できるのに対し、
多重処理エレメント110は割込み分散媒体121から
割込み信号を受信するのみだからである。
【0027】入出力チャネル115、・・・、116の
各々は、割込み信号バス125から1つ以上の入出力制
御信号を受信し、それらを用いて割込み分散媒体121
への信号を生成する。さらに入出力チャンネル115、
・・・、116は、周辺装置と主メモリバス123との
間でデータ通信するのに用いられる。主メモリバス12
3は、コンパチブルプロセッサエレメント100、・・
・、101および多重処理エレメント110、・・・、
111の両者に接続されている。これらは主メモリバス
123経由で共用主メモリ135と通信する。
【0028】マルチプロセッサ入出力エレメントは共用
主メモリ135と次のように通信する。コンパチブルプ
ロセッサエレメント100がディスク131をアクセス
したい場合、例えば、コンパチブルプロセッサエレメン
ト100は、ディスク出力が書き込まれるべきメモリの
アドレスを含め、共用主メモリ135に要求を書き込む
。コンパチブルプロセッサエレメント100はデータバ
ス126を経由してディスク131のコントローラの既
知の場所に要求指標を書き込む。
【0029】ディスクコントローラは、データバス12
6、入出力チャネル115、および主メモリバス123
を経由して共用主メモリ135を読取り、アドレス指定
およびデータ転送長情報を得る。次に、ディスク131
は要求されたデータをアクセスして、そのデータをデー
タバス126、入出力チャネル115および主メモリバ
ス123を経由して共用主メモリ135に引渡す。ディ
スク動作が完結されると、ディスク131は割込み信号
バス125を介して入出力チャネル115に割り込み信
号を送る。次に、入出力チャネル115は、割込み分散
媒体121上に割込み信号を送り、ディスク動作が完了
したことをマルチプロセッサシステムに通知する。
【0030】割込み信号バス125は、特定の割込み信
号に接続されたコンパチブルプロセッサエレメント10
0、・・・、101および入出力チャンネル115、・
・・、116チャネルにソースから割込み信号を送る回
線束を有する。PCコンパチブルのネットワークインタ
フェース133が1つ以上のキャラクタを伝送したい場
合、割込み信号バス125を介して、接続されたコンパ
チブルプロセッサエレメント、この場合はコンパチブル
プロセッサエレメント100に割込みをかける。
【0031】次に、コンパチブルプロセッサエレメント
100はネットワークインタフェース133からデータ
を受取り共用主メモリ135に記憶するために、コンパ
チブルプロセッサエレメント100から主メモリバス1
23への接続を用いて共用主メモリ135におけるその
データの記憶を制御する。ネットワークインタフェース
133からのデータは、データバス126、コンパチブ
ルプロセッサエレメント100、および主メモリバス1
23を経由して共用主メモリ135に伝送される。コン
パチブルプロセッサエレメント100は、データバス1
26を経由してネットワークインタフェース133の既
知の場所に第1の要求書込みによりデータを送る。従っ
て、データはコンパチブルプロセッサエレメント100
からデータバス126を介してネットワークインタフェ
ース133に送られる。
【0032】別のモードでは、コンパチブルプロセッサ
エレメント100は直接メモリアクセス装置を有し、ネ
ットワークインターフェース133からデータバス12
6を経由するメモリバス123へのデータ伝送を直接制
御する。さらに別のモードでは、ネットワークインタフ
ェース133は、共用主メモリ135とインタフェース
との間のデータの転送を制御する直接メモリアクセス装
置を有し、コンパチブルプロセッサエレメント100を
メモリバス123にアクセスするアクセス手段として用
いる。
【0033】図2において、コンパチブルプロセッサエ
レメント100は、PCコンパチブルネットワークイン
タフェース133からの信号を搬送する割込み信号バス
125から割込み信号を受取る。また図2の底部では、
割込み分散媒体121から割込み信号を受信する。最初
に、割込み分散媒体121から受信する信号を考える。 これらの信号は割込み分散論理部201に入り、特に分
散論理部201内の割込み識別子レジスタ203で終わ
る。
【0034】この識別子レジスタ203の出力は、アー
ビトレーション(ARB)部205に接続される。この
ARB部205には、割込みレベルマスクレジスタ20
9、ランクプレフィックス部206、プロセッサランク
識別部207、割込み分散媒体121からの入力がある
。また、割込み分散媒体121は他のプロセッサエレメ
ント内のARB部205の出力からの信号を搬送する。
【0035】ランクプレフィクス部206は、プロセッ
サランク識別部207のモディファイアである。ランク
は、プロセッサエレメントを相互接続するバックプレー
ンにプラグインされたプロセッサの位置によりプロセッ
サランク識別部207内で決定される。本実施例では、
ランクプレフィックス部は割込み処理が始まった後0に
セットされ、割込み処理につづく100マイクロ秒後は
1にセットされる。
【0036】コンパチブルプロセッサエレメント100
が割込み分散媒体121から受取った割込みを処理でき
る候補である場合、ARB部205はコンパチブルプロ
セッサエレメント100の補正されたランクを表わす直
列信号を送る。コンパチブルプロセッサエレメント10
0は、このランクを送る一方、割込み分散媒体121を
モニタする。コンパチブルプロセッサエレメント100
が「0」を送信し、「1」をモニタする場合、これはよ
り高位の補正ランクのプロセッサエレメントが利用可能
な候補であるという信号であり、コンパチブルプロセッ
サエレメント100はこの割込みを処理しない。そうで
ない場合、コンパチブルプロセッサエレメント100は
割込みを処理する。この場合、ARB部205の出力は
アクティブである。
【0037】ARB部205の出力がアクティブである
場合、割込みレベルのコード化バージョンは、ゲートG
1(ブロック221)によりゲートされ、割込みレベル
レジスタ(XIR)223に記憶される。割込みレベル
レジスタ223は16個の信号のうちからの1つの信号
として割込みレベルを記憶する。これによりゲートG3
(ブロック227)において、割込みレベルマスクレジ
スタ209の出力と割込みレベルレジスタ223の出力
の結合を容易にし、割込みレベルはプロセッサが処理で
きる範囲内にあることを確実にする。
【0038】次に割込みレベルマスクレジスタ209は
、現割込み信号のレベルの次の割込み信号を現割込み信
号と同位または低位のレベルでフィルタアウトするよう
にソフトウェアの制御下で変更される。ゲートG3の出
力は、周辺割込みコントロール部PIC−2(ブロック
231)のレジスタに入る単一ビット信号である。この
信号は、割込み分散媒体121から受信された割込み信
号を識別する位置で周辺割込みコントロール部231に
入る。
【0039】コンパチブルプロセッサエレメント100
により直接受信された割込み信号は、周辺割込みコント
ロール部233もしくは周辺割込みコントロール部23
1に入力される。また、周辺割込みコントロール部23
3は、コンパチブルプロセッサエレメント100内の内
部割込みソースから入力を受信する。周辺割込みコント
ロール部231の割込み信号インディケータのいずれも
がハイである場合、周辺割込みコントロール部231の
出力は、周辺割込みコントロール部233の事前に決め
られた位置に格納される。プロセッサ240は、周辺割
込みコントロール部233の割込みインディケータのい
ずれかがハイである場合、周辺割込みコントロール部2
33及び周辺割込みコントロール部231の状態を試験
する。
【0040】周辺割込みコントロール部231の適切な
ビット位置におけるアクティブ信号により表示されるよ
うに、適切ならば、プロセッサ240は割込みレベルレ
ジスタ223の内容を試験し、周辺割込みコントロール
部231、周辺割込みコントロール部233及び割込み
レベルレジスタ223の内容に基づいてどの割込みを処
理すべきかを決める。プロセッサ240は主メモリバス
123と適切に通信する。多重処理エレメント110は
、コンパチブルプロセッサエレメント100の上部に示
されたような割込み信号への接続がないことを除けば、
コンパチブルプロセッサエレメント100と同様の構成
である。従って、多重処理エレメント110は、ゲート
227から出力された割込みのみを処理する。
【0041】この構成を用いることにより、ネットワー
クインタフェース133との通信はPCコンパチブルモ
ードで十分に実施することができる。そのため、もしソ
フトウェアがPCコンパチブルモードネットワーキング
ソフトウェアを用いて通信を処理するように構成されて
いたとしても、このようなソフトウェアを書き込む必要
はない。また、このマルチプロセッサシステムは、マル
チプロセッサモードの通信を制御するためのソフトウェ
アを用いて、従来のマルチプロセッサモードでディスク
131と通信することができる。
【0042】本実施例では、割込み信号バス125から
の11個の出力がコンパチブルプロセッサエレメント1
00で終わる。周辺割込みコントロール部231、23
3の各々は7個の入力信号を受け取り、6個の割込み信
号が周辺割込みコントロール部233で終了し、5個の
割込み信号が周辺割込みコントロール部231で終了す
る。このことから、周辺割込みコントロール部231の
出力が周辺割込みコントロール部233の7番目の入力
をセットするのに用いられ、また、ゲート227の出力
が周辺割込みコントロール部231の6番目もしくは7
番目の入力をセットするのに用いられる。
【0043】本発明の他の一実施例では、ランクプレフ
ィックス部206はカウンタであり、その初期値は割込
みの処理ロードによりソフトウェアでセットされ、また
それは所定の速度、例えばミリ秒毎に一度で、自動的に
増加される。この構成によれば、複雑な割込みを処理し
たプロセッサを次の割込み処理前に平均してより長い時
間待つようにすることができるという利点がある。。
【0044】以上の説明は、本発明の一実施例に関する
もので、この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。
【0045】
【発明の効果】以上述べたごとく、本発明によれば、共
用メモリマルチプロセッサシステムにおいて、割り込み
処理ロードを均一に分散し割込みを高速かつ有効に処理
することができる。
【図面の簡単な説明】
【図1】本発明の一実施例によるマルチプロセッサシス
テムの構成を示すブロック図である。
【図2】マルチプロセッサシステムの1つのプロセッサ
内の割込み処理を示すブロック図である。
【符号の説明】
100  コンパチブルプロセッサエレメント1(CP
E−1) 101  コンパチブルプロセッサエレメント2(CP
E−2) 110  多重処理エレメント1(MPE−1)111
  多重処理エレメント2(MPE−2)115  入
出力チャネル1(I/O  CH−1)116  入出
力チャネル2(I/O  CH−2)121  割込み
信号分散媒体 123  主メモリバス 125  割込み信号バス 126  データバス 131  ディスク 133  ネットワークインタフェース135  共用
主メモリ 201  割込み分散論理部 203  割込み識別レジスタ 205  アービトレーション(ARB)部206  
ランクプレフィックス部 207  プロセッサランク識別部 209  割込みレベルマスクレジスタ(XIM)22
1  ゲート(G1) 223  割込みレベルレジスタ(XIR)227  
ゲート(G3) 231  周辺割込みコントロール部(PIC−2)2
33  周辺割込みコントロール部(PIC−1)24
0  プロセッサ

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】  データを処理する複数のプロセッサと
    、前記各プロセッサによりアクセスできる主メモリ手段
    と、前記複数のプロセッサの各々にマルチプロセッサ割
    込み信号を分散する割込み分散手段を有するマルチプロ
    セッサシステムにおいて、前記プロセッサ間で割込みロ
    ードを分散する前記プロセッサ間に配置されたアービト
    レーション手段を有し、このアービトレーション手段は
    使用可能信号及び各プロセッサのランクを示す第1の信
    号及び各プロセッサの割込み処理ヒストリを示す第2の
    信号に応答して割込み処理を割り当て、前記第1の信号
    と前記第2の信号とは結合されて各プロセッサに対する
    補正されたランクを形成し、所定の方向に最も大幅に補
    正されたランクを有するプロセッサを前記割込みを処理
    するために用いられることを特徴とするマルチプロセッ
    サシステム。
  2. 【請求項2】  各プロセッサのランクを示す前記第1
    の信号は、前記プロセッサを相互接続するバックプレー
    ンにおけるプロセッサの位置により定められることを特
    徴とする請求項1記載のマルチプロセッサシステム。
  3. 【請求項3】  前記第2の信号は、最新の割込みを処
    理した以後の経過時間を示し、かつ前記第1の信号に対
    する最上位のプレフィックスとして用いられることを特
    徴とする請求項1記載のマルチプロセッサシステム。
  4. 【請求項4】  前記第2の信号は、最新の割込みを処
    理した以後の経過時間により補正されるような最新に処
    理された割込みの関数を示すことを特徴とする請求項1
    記載のマルチプロセッサシステム。
  5. 【請求項5】前記マルチプロセッサの割込み信号は複数
    の信号のクラスに含まれ、各プロセッサは前記複数クラ
    スのいくつかをマスクするマスク手段を有し、そのマス
    ク手段が前記複数のクラスのいくつかをマスクした状態
    にあるプロセッサは、前記マスクされたクラスの割込み
    信号の処理には利用できないことを特徴とする請求項1
    記載のマルチプロセッサシステム。
  6. 【請求項6】  データを処理する複数のプロセッサと
    、前記各プロセッサによりアクセスできる主メモリ手段
    と、前記各プロセッサにマルチプロセッサ割込み信号を
    分散する第1の分散手段とを有するマルチプロセッサシ
    ステムにおいて、パーソナルコンピュータ(PC)コン
    パチブル割込み信号を前記プロセッサのいくつかに分散
    する第2の分散手段を有し、前記いくつかのプロセッサ
    の各々は、前記PCコンパチブル割込み信号に応答し、
    かつ前記第1の分散手段からのマルチプロセッサ割込み
    信号に応答して、割込み処理を割り当てる手段を有する
    ことを特徴とするマルチプロセッサシステム。
  7. 【請求項7】  前記プロセッサ間に配置された前記プ
    ロセッサ間に割込みロードを分散するアービトレーショ
    ン手段を有し、このアービトレーション手段は、使用可
    能信号、各プロセッサのランクを示す第1の信号及び各
    プロセッサの割込み処理ヒストリを示す第2の信号に応
    答して割込み処理を割り当てる手段であり、前記第1の
    信号と前記第2の信号とは結合されて各プロセッサに対
    する補正されたランクを形成し、所定の方向に最も大幅
    に補正されたランクを有するプロセッサが前記割込みを
    処理するために用いられることを特徴とする請求項6記
    載のマルチプロセッサシステム。
  8. 【請求項8】  各プロセッサのランクを示す前記第1
    の信号は、前記プロセッサを相互接続するバックプレー
    ンにおける前記プロセッサの位置で定められることを特
    徴とする請求項7記載のマルチプロセッサシステム。
  9. 【請求項9】  前記第2の信号は、最新の割込みを処
    理した以後の経過時間を示し、かつ前記第1の信号に対
    する最上位のプレフィックスとして用いられることを特
    徴とする請求項7記載のマルチプロセッサシステム。
  10. 【請求項10】  前記第2の信号は、最新の割込みを
    処理した以後の経過時間により補正されるような最新に
    処理された割込みの関数を示すことを特徴とする請求項
    7記載のマルチプロセッサシステム。
  11. 【請求項11】  前記マルチプロセッサ割込み信号及
    び前記PCコンパチブル割込み信号は複数の信号のクラ
    スに含まれ、前記各プロセッサは前記複数クラスのいく
    つかをマスクする手段を有し、そのマスク手段が前記複
    数のクラスのいくつかをマスクした状態にあるプロセッ
    サは、前記マスクされたクラスの割込み信号の処理には
    利用できないことを特徴とする請求項6記載のマルチプ
    ロセッサシステム。
  12. 【請求項12】  前記PCコンパチブル割込み信号の
    1つは、ネットワークを複数のパーソナルコンピュータ
    に接続可能にするネットワークインタフェースから受信
    可能であり、ユニプロセッサPCまたは前記ネットワー
    クインタフェースに接続可能な他のプロセッサとの間で
    通信できるように、PCコンパチブルユニプロセッサイ
    ンタフェースソフトウェアが使用されることを特徴とす
    る請求項6記載のマルチプロセッサシステム。
  13. 【請求項13】  データを処理する複数のプロセッサ
    と、前記各プロセッサによりアクセスできる主メモリ手
    段と、前記各プロセッサにマルチプロセッサ割込み信号
    を分散する第1の分散手段を有するマルチプロセッサシ
    ステムにおいて、PCコンパチブル割込み信号を前記複
    数のプロセッサのいくつかに分散する第2の分散手段を
    有し、前記プロセッサのいくつかは前記PCコンパチブ
    ル割込み信号に応答し、かつ前記割込み分散手段からの
    マルチプロセッサ割込み信号に応答する手段を有し、前
    記プロセッサ間に配置された前記プロセッサ間に割込み
    ロードを分散するアービトレーション手段を有し、前記
    アービトレーション手段は、使用可能信号、各プロセッ
    サのランクを示す第1の信号及び各プロセッサの割込み
    処理ヒストリを示す第2の信号に応答して割込み処理を
    割り当てる手段であり、前記第1の信号と前記第2の信
    号とは結合されて、各プロセッサに対する補正されたラ
    ンクを形成し、所定の方向に最も大幅に補正されたラン
    クを有するプロセッサが前記割込みを処理するために用
    いられ、前記第2の信号は最新の割込みが前記各プロセ
    ッサで処理された以後の経過時間を示し、かつ前記第1
    の信号に対する最上位のプレフィックスとして用いられ
    、  各プロセッサのランクを示す前記第1の信号は前
    記プロセッサを相互接続するバックプレーンにおける前
    記プロセッサの位置で定められ、前記マルチプロセッサ
    割込み信号及び前記PCコンパチブル割込み信号は複数
    の信号のクラスに含まれ、前記各プロセッサは前記複数
    クラスのいくつかをマスクする手段を有し、そのマスク
    手段が前記複数のクラスのいくつかをマスクした状態に
    あるプロセッサは、前記マスクされたクラスの割込み信
    号の処理には利用できないことを特徴とするマルチプロ
    セッサシステム。
  14. 【請求項14】  前記PCコンパチブル割込み信号の
    1つは、ネットワークを複数のパーソナルコンピュータ
    に接続可能にするネットワークインタフェースから受信
    可能であり、PCコンパチブルユニプロセッサインタフ
    ェースソフトウェアが、ユニプロセッサPCとの間で通
    信するのに用いられうることを特徴とする請求項13記
    載のマルチプロセッサシステム。
JP3135264A 1990-06-01 1991-05-13 マルチプロセッサシステム Pending JPH04232558A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US533192 1983-09-16
US07/533,192 US5179707A (en) 1990-06-01 1990-06-01 Interrupt processing allocation in a multiprocessor system

Publications (1)

Publication Number Publication Date
JPH04232558A true JPH04232558A (ja) 1992-08-20

Family

ID=24124890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3135264A Pending JPH04232558A (ja) 1990-06-01 1991-05-13 マルチプロセッサシステム

Country Status (5)

Country Link
US (1) US5179707A (ja)
EP (1) EP0459714B1 (ja)
JP (1) JPH04232558A (ja)
DE (1) DE69129477T2 (ja)
ES (1) ES2116995T3 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495615A (en) * 1990-12-21 1996-02-27 Intel Corp Multiprocessor interrupt controller with remote reading of interrupt control registers
US5410710A (en) * 1990-12-21 1995-04-25 Intel Corporation Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
US5555420A (en) * 1990-12-21 1996-09-10 Intel Corporation Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
JPH04246763A (ja) * 1991-01-31 1992-09-02 Nec Corp マルチプロセッサ回路
JP2625589B2 (ja) * 1991-04-22 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
EP0602858A1 (en) * 1992-12-18 1994-06-22 International Business Machines Corporation Apparatus and method for servicing interrupts in a multiprocessor system
SG48803A1 (en) * 1993-04-19 1998-05-18 Intel Corp Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
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
JPH07105023A (ja) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> データ処理システム内でスプリアス割込みを検出するための方法及び装置
CA2123447C (en) * 1993-09-20 1999-02-16 Richard L. Arndt Scalable system interrupt structure for a multiprocessing system
WO1995016965A1 (en) * 1993-12-16 1995-06-22 Intel Corporation Multiple programmable interrupt controllers in a multi-processor system
KR960042387A (ko) * 1995-05-31 1996-12-21 유기범 하이파이플러스 인터럽트버스 중재방법
US5802350A (en) * 1996-01-18 1998-09-01 International Business Machines Corporation System and method for selecting an interrupt system based upon the operating system of a multiprocessor system
US5848277A (en) * 1996-02-12 1998-12-08 Ford Motor Company Method for providing both level-sensitive and edge-sensitive interrupt signals on a serial interface between a peripheral and host
US5905897A (en) * 1997-03-20 1999-05-18 Industrial Technology Research Institute Method and apparatus for selecting a nonblocked interrupt request
US6003109A (en) * 1997-08-15 1999-12-14 Lsi Logic Corporation Method and apparatus for processing interrupts in a data processing system
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
US6859851B1 (en) * 1999-12-20 2005-02-22 Intel Corporation Buffer pre-loading for memory service interruptions
US6535942B1 (en) 2000-02-09 2003-03-18 Telefonaktiebolaget L M Ericsson (Publ) Method for reducing processor interrupt load
US6813665B2 (en) * 2001-09-21 2004-11-02 Intel Corporation Interrupt method, system and medium
US7328294B2 (en) * 2001-12-03 2008-02-05 Sun Microsystems, Inc. Methods and apparatus for distributing interrupts
US20040111549A1 (en) * 2002-12-10 2004-06-10 Intel Corporation Method, system, and program for improved interrupt processing
US7529875B2 (en) * 2003-08-20 2009-05-05 International Business Machines Corporation Assigning interrupts for input/output (I/O) devices among nodes of a non-uniform memory access (NUMA) system
US7222200B2 (en) * 2004-10-14 2007-05-22 Dell Products L.P. Method for synchronizing processors in SMI following a memory hot plug event
US20060112208A1 (en) * 2004-11-22 2006-05-25 International Business Machines Corporation Interrupt thresholding for SMT and multi processor systems
CN101896887A (zh) 2007-12-12 2010-11-24 Nxp股份有限公司 数据处理系统和中断处理方法
US7707344B2 (en) * 2008-01-29 2010-04-27 International Business Machines Corporation Interrupt mitigation on multiple network adapters
US8024504B2 (en) * 2008-06-26 2011-09-20 Microsoft Corporation Processor interrupt determination
US7996595B2 (en) * 2009-04-14 2011-08-09 Lstar Technologies Llc Interrupt arbitration for multiprocessors
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US8260996B2 (en) * 2009-04-24 2012-09-04 Empire Technology Development Llc Interrupt optimization for multiprocessors
US8234431B2 (en) * 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0348076A1 (en) * 1988-06-24 1989-12-27 International Computers Limited Data processing device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4080649A (en) * 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0348076A1 (en) * 1988-06-24 1989-12-27 International Computers Limited Data processing device

Also Published As

Publication number Publication date
DE69129477T2 (de) 1999-02-18
DE69129477D1 (de) 1998-07-02
EP0459714A2 (en) 1991-12-04
EP0459714A3 (en) 1992-01-08
US5179707A (en) 1993-01-12
EP0459714B1 (en) 1998-05-27
ES2116995T3 (es) 1998-08-01

Similar Documents

Publication Publication Date Title
JPH04232558A (ja) マルチプロセッサシステム
US5471618A (en) System for classifying input/output events for processes servicing the events
US5701495A (en) Scalable system interrupt structure for a multi-processing system
US5257356A (en) Method of reducing wasted bus bandwidth due to slow responding slaves in a multiprocessor computer system
EP0827085B1 (en) Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol
EP0550147B1 (en) Method and apparatus for arbitration based on the availability of resources
US5099414A (en) Interrupt handling in a multi-processor data processing system
US5944809A (en) Method and apparatus for distributing interrupts in a symmetric multiprocessor system
US5781927A (en) Main memory arbitration with priority scheduling capability including multiple priorty signal connections
WO2000075789A1 (en) A method and apparatus for automatically transferring i/o blocks between a host system and a host adapter
EP0317466A2 (en) Reverse flow control mechanism and method
US5276896A (en) Apparatus for implementing data communications between terminal devices and user programs
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
CA1169158A (en) Communication multiplexer variable priority scheme
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
JPH09101902A (ja) ジョブスケジューリング方式
JPH0612395A (ja) マルチプロセサシステムにおけるタスク割り付け方法
JPH10232849A (ja) ディスク制御装置
JPS62283752A (ja) ホストコンピユ−タ内バツフア割当て方式
JPH01305461A (ja) バス使用権制御方式
JPH08272754A (ja) マルチプロセッサシステム
KR100215572B1 (ko) 인터페이스 버퍼 제어 방법 및 장치
KR930005843B1 (ko) 다중 프로세서 시스템의 다수의 서브 프로세서 제어방법
JPH05128077A (ja) 複数計算機システムの分散処理方法
JP2576934B2 (ja) メモリ−マップド割込み方式