JPH1097509A - 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置 - Google Patents

対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置

Info

Publication number
JPH1097509A
JPH1097509A JP9223403A JP22340397A JPH1097509A JP H1097509 A JPH1097509 A JP H1097509A JP 9223403 A JP9223403 A JP 9223403A JP 22340397 A JP22340397 A JP 22340397A JP H1097509 A JPH1097509 A JP H1097509A
Authority
JP
Japan
Prior art keywords
bus
interrupt
computer system
register
agent
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
JP9223403A
Other languages
English (en)
Inventor
Sompong P Olarig
ソンポン・ピー・オラリグ
Dale J Mayer
デール・ジェイ・メイヤー
William F Whiteman
ウィリアム・エフ・ホワイトマン
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.)
Compaq Computer Corp
Original Assignee
Compaq Computer 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 Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of JPH1097509A publication Critical patent/JPH1097509A/ja
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 マルチプロセッサ環境において用い、均衡の
とれた割り込みの配信を保証する分散割り込みコントロ
ーラ・システムを提供する。 【解決手段】 分配割り込みコントローラ・システム
は、専用バスを介して少なくとも1つの中央プログラマ
ブル割り込みコントローラ(COPIC)に結合された
少なくとも2つのローカル・プログラマブル割り込みコ
ントローラ(LOPIC)を有するマルチプロセッサ環
境において用いられる。COPICの1つはマスタ・ア
ービタとして機能し、LOPIC及び他のCOPICは
バス・エージェントとして扱われる。バスの付与は「ラ
ウンド・ロビン」仲裁プロトコルによって行われる。割
り込みの分散配信のために、マスタ・アービタは各バス
・エージェントと関連付けられた現タスク優先度レジス
タ値を比較し、最も余裕のあるエージェントを判定して
それに割り込みを配信する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータ・シス
テムに関し、更に特定すれば、対称型マルチプロセッサ
・システム(symmetric multiprocessor system)にお
いて割り込みを分散する方法および装置に関するもので
ある。
【0002】尚、本願と同時に出願した「スケーラブル
対称マルチプロセッサ・システムにおいてバス幅又はバ
ス・プロトコルを変更せずに割り込みを分散する方法及
び装置(METHOD AND APPARATUS FOR DISTRIBUTING INTE
RRUPTS IN A SCALABLE SYMMETRIC MULTIPROCESSOR SYST
EM WITHOUT CHANING THE BUS WIDTH OR BUS PROTOCO
L)」と題する、同時に譲渡された米国特許出願も、こ
の言及によって本願に含むものとする。
【0003】
【従来の技術】対称型マルチプロセッシング(「SM
P」)システムが今日のハイエンド・パーソナル・コン
ピュータ(「PC」)およびサーバに出現したことによ
り、この拡張されたシステム構造において最適な処理性
能を達成する新たな設計手法に対する必要性が生じるこ
ととなった。マルチプロセッサ・システムの開発におけ
る最も重要な課題には、マルチプロセッサ(多重プロセ
ッサ)の使用が可能なバス(「MPバス」)の設計、な
らびにSMPに対処可能な割り込みコントローラ(SMP-
aware interrupt controller)による割り込みのチャネ
リング(channeling)および処理が含まれる。当技術で
は理解されているが、MPバスは複数のプロセッシング
・ユニットに対して働き、システムの主メモリおよびそ
の他の構成要素へのアクセスを提供する。
【0004】従来、マルチプロセッシング・システムと
は1つ以上のプロセッサを有し、典型的に、ハイエンド
・ワークステーション又はファイル・サーバとしての使
用に設計されたものであった。かかるシステムは、高性
能バス、巨大容量のエラー訂正メモリ、安価なディスク
の冗長アレイ(RAID:redundant array of inexpen
sive disk)ドライブ・システム、ボトルネックを減少
させた先進のシステム・アーキテクチャ及び多数の電源
のような冗長構造を含むことができる。
【0005】最も一般的な意味では、マルチプロセッシ
ングは、複数のプロセッサを用いて計算タスクを実行す
ることと定義されている。この用語は、異なる場所にあ
る1組のネットワーク構成のコンピュータ、または数個
のプロセッサを内蔵した単一のシステムにも適用するこ
とができる。しかしながら、公知のように、この用語
は、単一の密閉されたものの中に2つ以上のプロセッサ
をリンクさせ内蔵したアーキテクチャを記述する際にも
頻繁に用いられている。更に、単に複数のプロセッサが
あるでけではマルチプロセッシングは行われない。例え
ば、ラック内にPCSのスタックを有することは、マル
チプロセッシングに該当しない。同様に、1つ以上の
「スタンバイ」状態にあるプロセッサを有するサーバも
マルチプロセッシングに該当しない。したがって、「マ
ルチプロセッシング」という用語は、2つ以上のプロセ
ッサが協同してあるタスクまたは1組のタスクに作用し
ているときにのみ適用される。
【0006】マルチプロセッシングの基本的な命題には
多くの変形がある。通常、この相違は、種々のプロセッ
サがどのように独立して動作するのか、およびこれらプ
ロセッサ間の処理負荷(workload)をどのようにして分
配(分散)するかに関係する。疎結合マルチプロセッシ
ング(loosely-coupled multiprocessing)では、複数
のプロセッサが関連するタスクを実行するが、それらは
あたかも単体のプロセッサであるかのようにタスクを実
行する。各プロセッサはそれのメモリを有し、それ自体
の大容量記憶装置でさえ有する場合もある。更に、各プ
ロセッサは、典型的に、オペレーティング・システムの
それ自身のコピーを実行し、ローカル・エリア・ネット
ワーク上で通信する装置と全く同様に、メッセージ受け
渡し方式(message-passing scheme)を通じて他のプロ
セッサまたはプロセッサ群と通信する。疎結合マルチプ
ロセッシングは、メインフレームおよびミニコンピュー
タにおいて広く用いられているが、これを行うためのソ
フトウエアはハードウエアの設計に非常に密接に結び付
けられている。この理由のため、ソフトウエア販売業者
の支援が得られず、PCサーバには広く用いられていな
い。
【0007】密結合マルチプロセッシングでは、対照的
に、プロセッサの動作はより密接に統合化されている。
これらは通常メモリを共有し、共有キャッシュですら有
する場合もある。プロセッサは互いに同一でなくてもよ
く、更に同様のタスクを実行してもしなくてもよい。し
かしながら、これらは通常、大容量記憶装置や入力/出
力(「I/O」)のような他のシステム資源を共有す
る。更に、各プロセッサ毎にオペレーティング・システ
ムの別個のコピーを用いる代わりに、これらは通常単一
のコピーを実行し、オペレーティング・システムがプロ
セッサ間のタスク調整を処理する。システム資源の共有
は密結合マルチプロセッシングのコスト低下をもたらす
ので、ネットワーク・サーバでは支配的なマルチプロセ
ッサ・アーキテクチャとなっている。
【0008】密結合マルチプロセッシング・システム用
ハードウエア・アーキテクチャは、更に、2つの広いカ
テゴリにに分割することができる。対称型マルチプロセ
ッサ・システムでは、メモリやディスク入出力のような
システム資源は、当該システム内の全マイクロプロセッ
サによって共有される。処理負荷は利用可能なプロセッ
サに均等に分散されるので、1つのプロセッサに特定の
タスクがロードされている間、別のプロセッサがアイド
ル状態にあるということはない。SMPシステムの処理
能力は少なくとも理論的には、プロセッサ・ユニットを
多く追加する程に全てのタスクに対して向上する。この
高く望まれている設計目標をスケーラビリティ(scalabi
lity)と呼ぶ。
【0009】非対称型プロセッサ・システムでは、タス
クおよびシステム資源が異なるプロセッサ・ユニットに
よって管理される。例えば、1つのプロセッサ・ユニッ
トがI/Oを処理し、別のプロセッサがネットワーク・
オペレーティング・システム(「NOS」)・タスクを
処理することができる。非対称型マルチプロセッサ・シ
ステムは処理負荷の均衡化を行わないことは容易に理解
できよう。したがって、あるタスクを処理しているプロ
セッサが過剰動作状態にあり得る間、別のユニットはア
イドル状態であるということも想像し難くない。
【0010】更に、SMPシステムのカテゴリ内におい
ても、キャッシュ・メモリの実施方法に基づいて2つの
サブカテゴリがあることを指摘することができる。処理
能力が低い方のサブカテゴリは「共有キャッシュ」マル
チプロセッシングを含み、処理能力が高い方のサブカテ
ゴリは「専用キャッシュ」マルチプロセッシングとして
知られているものを含む。専用キャッシュ・マルチプロ
セッシングでは、あらゆるプロセッサが、それ自体の
「レベル1」のオンチップ・メモリ・キャッシュに加え
て、専用の「レベル2」のオフチップ・メモリ・キャッ
シュ(プロセッサ毎に1つ)を有する。これらのキャッ
シュはMP環境において、プロセッサ−メモリ間のイン
タラクションを高速化する。一方、共有キャッシュ・マ
ルチプロセッシングでは、プロセッサは単一の「レベル
2」キャッシュを共有する。典型的に、共有キャッシュ
・アーキテクチャは専用キャッシュ・アーキテクチャよ
りも提供するスケーラビリティが低い。
【0011】以上簡単に述べたように、最も重要な設計
上の課題の1つは、いずれの広いマルチプロセッシング
・カテゴリにおいても、割り込みのルーティング(rout
ing)および処理である。従来、割り込みコントローラ
がMPシステムにおける割り込み源から割り込み宛先へ
の割り込みの配信を担っていた。割り込みは、少なくと
も1つのプロセッサの対処を必要とする或る状態が、シ
ステム内のどこかに存在することを示すイベントとし
て、一般化することができる。割り込みに応答してプロ
セッサが取る行為のことを一般的に割り込みに「応ずる
(servicing)」または割り込みを「処理する(handlin
g)」と呼んでいる。
【0012】SMPシステムでは、各割り込みは他のも
のと区別するためのアイデンティティを有する。このア
イデンティティのことを、一般的に、割り込みの「ベク
トル」と呼んでいる。ベクトルは、割り込み処理を行う
プロセッサまたはプロセッサ群に当該割り込みのための
適切なハンドラ(handler)を発見させる。プロセッサ
が割り込みを受け入れたとき、プロセッサはベクトルを
用いてその割り込みテーブル内のハンドラのエントリ・
ポイントの位置を突き止める。加えて、各割り込みは割
り込み優先度を有する場合もあり、処理側プロセッサの
他の処理中のアクティビティまたはタスクとの関係にお
いて、割り込みに応ずるべき適切な時点を決定する。
【0013】通常、割り込みコントローラは、MPシス
テムにおいて割り込みをそれらの適切な宛先に配信する
ために、2つの割り込み分散モードを利用可能である。
指定配信モード(directed delivery mode)(「静的」
配信)では、割り込みは無条件で、割り込みと共に供給
される宛先情報に一致する特定のプロセッサに配信され
る。分散配信モード(distributed delivery mode)
(「動的」配信)では、特定の割り込み源からの割り込
みイベントは、宛先フィールド値によって指定されるプ
ロセッサ群の間で分散される。
【0014】以上のことから、スケーラブルMPシステ
ムにおいて種々のプロセッサ間で割り込み負荷の均衡を
取ることは、非常に望ましい目的であることが認められ
よう。しかしながら、当技術ではよく理解されているよ
うに、システム設計者の予測からは、これは達成が困難
な目的である。アーキテクチャの観点から、SMP環境
において割り込みをそれらの宛先に配信するためには、
2種類の解決策がある。一方の解決策では、例えば、ホ
スト・バスと周辺コンポーネント相互接続(「PC
I」)バスのようなシステム・バスとの間に、集中割り
込みコントローラを設け、割り込みをそれらの割り込み
源から受け取り、指定モードまたは分散モードのいずれ
かにおいて、その割り込みを各宛先に向かわせる(rout
ing)。更に、この種の解決策では、典型的に、所定の
ビット長のカウンタが各プロセッシング・ユニット内に
設けられている。カウンタ・サイズは、特定のプロセッ
シング・ユニットに対応してタスク優先度レジスタに付
加される。タスク優先度レジスタの内容およびそれに付
加されるカウンタ・サイズを用いて、当該プロセッシン
グ・ユニットに対する全体的な優先度レベルを判定す
る。I/O割り込みがこのプロセッシング・ユニットに
ディスパッチされると、通常ラップアラウンド(wrapar
ound)・オプションを用いて、このプロセッシング・ユ
ニットと連動するカウンタが増分される。
【0015】第2の解決策は、分散割り込み制御方式を
提案する。この方式では、1つの割り込みコントローラ
が、例えば、I/O割り込みのルーティングのようなグ
ローバル又はシステム・レベルの機能を引き受け、そし
て、対応するプロセッシング・ユニットと連動する複数
のローカル割り込みコントローラの各々が、例えば、プ
ロセッサ間割り込み(interprocessor interrupt)のよ
うなローカル機能を制御する。これら2種類のクラスの
割り込みコントローラは別個のバスを通じて通信するこ
とができ、システム全体において割り込み源からの割り
込みを割り込みの宛先に配信する役割を一括して担って
いる。
【0016】
【発明が解決しようとする課題】上述の解決策は、双方
の種類とも、いくつかの欠点があることが知られてい
る。例えば、前述の集中割り込みコントローラ方式で
は、カウンタの幅がシステムに許されるプロセッサの最
大数によって異なり、この幅がプロセッサのタスク優先
度レジスタに付加されるので、割り込みの配信に選択さ
れたプロセッサがリストされたプロセッサ中の実際に最
低の優先度を有する、即ち、それが最も余裕があるユニ
ットであるこという保証はない。加えて、この方式は集
中割り込みコントローラのホスト・バスおよびシステム
・バスへの結合を必要とするので、割り込みメッセージ
が双方のバス上で貴重な帯域を浪費し、それによってシ
ステム全体の性能に負の影響を与えることになる。更
に、集中方式のスケーラビリティは、プロセッサをシス
テムに追加するに連れて低下する。
【0017】一方、分散型アーキテクチャはいくつかの
利点があるが、現行の分散割り込みコントローラによる
解決案も、選択されたプロセッサが本当に最も優先度が
低いプロセッサであることを保証することができない。
何故なら、通常、空いている割り込みスロットを有する
ローカル割り込みコントローラのみが、優先度が最低の
アービトレーション(仲裁)に含まれることを要求され
るからである。したがって、選択されたプロセッサは、
少なくとも1つの利用可能な割り込みスロットを有する
1プロセッサに過ぎず、最高の優先度を有する可能性も
ある。
【0018】
【発明が解決しようとする課題】したがって、2つ以上
のプロセッサ間で、最低の現タスク優先度を有するプロ
セッサへの均衡のとれた割り込みの配信を保証するMP
コンパチブル割り込み制御方式を提供するコスト効率的
な解決策に対する必要性があることは、容易に理解でき
よう。更に、かかる方式が現行の業界アーキテクチャと
互換性があり、相互動作性および相互交換性を最大限発
揮することができれば有利であろう。以下に説明し特許
請求する本発明はこのような目的およびその他の目的を
達成する方法および装置を提供する。
【0019】
【課題を解決するための手段】現在好適な実施例の一態
様では、本発明は、各々キャッシュ・メモリ・ユニット
と通信する少なくとも2つのプロセッシング・ユニット
を含むコンピュータ・システムであって、各々プログラ
マブル割り込みコントローラ・バス上に配置される少な
くとも2つのローカル・プログラマブル割り込みコント
ローラと、プログラマブル割り込みコントローラ・バス
上に配置される少なくとも1つの中央プログラマブル割
り込みコントローラとを備えるコンピュータ・システム
を提供する。各ローカル・プログラマブル割り込みコン
トローラは、現タスク優先度レジスタと、プロセッサ間
割り込みコマンド・ポートと、自己識別(フーアムア
イ、who-am-i)レジスタと、割り込み承認(アクノレッ
ジ、acknowledge)レジスタと、割り込み終了レジスタ
と、第1のローカル・タイマと、第2のローカル・タイ
マとを含む。更に、中央プログラマブル割り込みコント
ローラは、少なくとも1つの特徴報告レジスタと、少な
くとも1つのグローバル・コンフィギュレーション・レ
ジスタと、少なくとも1つのベンダー特定的レジスタ
と、ベンダー識別レジスタと、プロセッサ初期設定レジ
スタと、少なくとも1つのプロセッサ間割り込みベクト
ル優先度レジスタと、擬似(スプリアス、spurious)ベ
クトル・レジスタと、少なくとも1つのグローバル・タ
イマ・レジスタと、少なくとも1つの割り込み源レジス
タとを含む。また、本発明のコンピュータ・システム
は、キャッシュ・メモリ・ユニット間に配置され、それ
らの間に通信経路を提供するホスト・バスと、第1のバ
ス間ブリッジを介してホスト・バスに結合された第1の
システム・バスと、第2のバス間ブリッジを介して第1
のシステム・バスに結合された第2のシステム・バスと
を含む。また、第2のシステム・バスには8259Aコ
ンパチブル割り込みコントローラを設けて、起動時電源
投入互換性(start-up power on compatibility)を含
ませるようにしてもよい。加えて、プログラマブル割り
込みコントローラ・バスは6本の導電性伝送ライン、即
ち、1本のクロック・ライン、1本の制御ライン、およ
び4本のデータ・ラインを備える。更に別の実施例で
は、ローカル・プログラマブル割り込みコントローラの
各々は、それに対応するプロセッシング・ユニットと一
体化してもよい。
【0020】他の態様において、本発明は、中央割り込
みコントローラ内に位置するマスタ・アービタと、少な
くとも2つのバス・エージェントとを含み、マスタ・ア
ービタとバス・エージェントがプログラマブル割り込み
コントローラ・バス上に配置された構成のマルチプロセ
ッサ・コンピュータ・システムにおける割り込み配信方
法を提供する。この方法は、割り込みの存在を判定する
ステップと、プログラマブル割り込みコントローラ・バ
スの制御を獲得するステップと、前述の割り込みは指定
配信割り込みであるか否かについてステータスを判定す
るステップと、ステータスを判定するステップに応答し
て割り込みが指定配信割り込みであると判定された場合
に割り込みを予め指定されたプロセッサに配信するステ
ップと、その他の場合に、現タスク優先度レジスタに最
低値を有するユニットを選択するステップと、選択する
ステップに応答して割り込みをそのユニットに配信する
ステップとを備える。
【0021】更に別の実施例では、前述の制御を獲得す
るステップは、バス・エージェントによってバス要求信
号をアサートするステップと、マスタ・アービタによっ
てバス・エージェントを選択するステップであって、バ
ス・エージェントはマスタ中央割り込みコントローラに
在る内部仲裁ポインタの内容のラップアラウンドの増分
によって指し示される、ステップと、選択されたバス・
エージェントによってバス・メッセージを送信するステ
ップと、内部仲裁ポインタの内容を更新するステップと
を更に備える。
【0022】更に他の実施例では、前述の選択するステ
ップは、更に、マスタ・アービタによってリストされた
バス・エージェントに分散割り込みコマンドを送るステ
ップと、分散割り込みコマンドに応答して、リストされ
たバス・エージェントによって、プログラマブル割り込
みコントローラ・バス上で現タスク優先度レベル・デー
タをシリアルに送信するステップと、リストされたバス
・エージェントの内のどれが最低の現タスク優先度レベ
ルを有するかを判定するステップとを更に備える。この
実施例では、更に、1つのバス・エージェントのみが最
低の現タスク優先度レベルを有する場合に、該バス・エ
ージェントを選択して割り込みを配信する。その他の場
合には以前に割り込みに応じた(割り込みに対処した)
ことがあるバス・エージェントをその配信のために選択
する。本発明のこの実施例では更にまた、以前に割り込
みに応じたエージェントがなかった場合、最低のバス識
別値を有するエージェントを選択し、割り込みを受け取
るようにさせる。
【0023】
【発明の実施の形態】これより図面を参照しながら本発
明の実施例について説明するが、同様のエレメントまた
は類似のエレメントには全図面を通して同一の参照番号
を付してある。また、図示する種々のエレメントは必ず
しも同一の拡縮率で描かれているわけではない。具体的
に図1を参照すると、集中割り込みコントローラ112
を有する従来のマルチプロセッサ・コンピュータ・シス
テムのブロック図が示されている。マルチプロセッサ・
コンピュータ・システムは複数のプロセッシング・ユニ
ット(プロセッサ)から成り、その内2つを図示し、C
PU1,CPU2と命名し、更にそれぞれ参照番号10
5、106で示している。
【0024】プロセッサ105、106の各々は、それ
ぞれ参照番号107および108で示す対応するキャッ
シュ・メモリ・ユニットに結合されている。システム・
メモリ109はホスト・バス110を介してプロセッサ
/キャッシュ結合ユニットと通信する。集中割り込みコ
ントローラ(「CIC」と命名する)が、ホスト・バス
110および周辺コンポーネント相互接続バスのような
第1のシステム・バス113に接続されている。第1の
システム・バス113は、第1のバス間ブリッジを介し
て、ホスト・バス110にブリッジされている。第1の
バス間ブリッジのことをPCIブリッジと命名し、参照
番号111で示す。
【0025】引き続き図1を参照する。第1のシステム
・バス113は、第2のバス間ブリッジを介して業界標
準アーキテクチャ(「ISA」)バスのような第2のシ
ステム・バス115にもブリッジされている。第2のバ
ス間ブリッジのことをPCI/ISAブリッジと命名
し、参照番号114で示す。第1のシステム・バス11
3上には第1の複数のI/O装置が配置されており、そ
れらI/O装置の1つを参照番号120で示す。この装
置はI/O割り込み源として機能することができる。こ
こに示すように、これらI/O装置の各々は、例えば、
IRQライン121のようなそれ自体のIRQラインを
介してCIC112に接続されている。
【0026】更に図1の参照を続ける。第2のシステム
・バス115上には第2のI/Oブロック116と、従
来の8259割り込みコントローラ117とが配置され
ている。第2のI/Oブロック116もマルチプロセッ
サ・コンピュータ・システムに対して割り込み源として
機能することができる。8259割り込みコントローラ
117からの出力はIRQライン119を通じてCIC
112に接続され、起動処理のための通過モード(pass
-through mode)をイネーブルする。
【0027】通常の動作では、パワー・オン・リセット
の後、従来のCIC112がデフォルトで8259通過
モードに設定する。このモードでは、8259割り込み
要求出力が直接にCIC112を通じて単一の予め選択
されているプロセッサの割り込み要求入力ラインに渡さ
れ、CIC112は本質的にディスエーブルされる。S
MP動作の間、8259通過モードがディスエーブルさ
れ、CIC112は全てのシステム割り込みイベントを
分散する。これについては以下に説明する。
【0028】各プロセッサ、例えばCPU1 105に
は、代表的な4プロセッサ実施形態では2ビット・カウ
ンタ(図示せず)が設けられている。このカウンタは0
0、01、10または11に初期設定される。これら2
ビットカウンタの各々は、例えばCPU1 105のよ
うな各プロセッサと関連する4ビットのタスク優先度レ
ジスタ(図示せず)に付加される。従って、各プロセッ
サは本質的に6ビットの内部優先度レベルを有し、容易
にわかるように、4ビットのタスク優先度レジスタ全て
が同じ優先度データを有していても、4つのプロセッサ
の各々は異なる6ビットの内部優先度レベルを有するこ
とになる。I/O割り込みがこれらのプロセッサのいず
れかに対してディスパッチされると、各プロセッサの2
ビット・カウンタは1だけ増分する(または、必要であ
れば、ラップアラウンドが行われる)。このため、その
カウンタが増分する前は最低の6ビット内部優先度レベ
ルを有していたプロセッサは、増分処理後はその優先度
が最低値ではなくなる。
【0029】先に述べたように、この実施態様では、選
択されたプロセッサが最低の4ビット優先度レベルを有
することを保証できない。加えて、このシステムでは、
ホスト・バス110および第1のシステム・バス113
双方にCIC112を取り付ける必要があるので、割り
込みメッセージが双方のバス上で混雑を起こし、バス帯
域を浪費することになる。容易に理解されるであろう
が、システム内のプロセッサ数を増加させても割り込み
制御のためのバス・トラフィックが単に状況を悪化させ
るだけであり、このためにシステムのスケーラビリティ
の低下を招く。
【0030】次に図2を参照すると、図1を参照してこ
れまで説明してきた集中割り込みコントローラを有する
従来のマイクロプロセッサ・コンピュータ・システムの
第2実施例のブロック図が示されている。本質的に、図
2の実施例は図1に示した実施例と非常に類似している
ことがわかる。しかしながら、CIC112はシステム
・ロジック・チップセット205に一体化され、ホスト
・バス110及び第1のシステム・バス113双方に対
する内部接続機能を有するようにしてある。この実施例
は図1の実施例に対しては、例えば、低コスト化やピン
数の減少といったある程度の利点を提供するが、それで
もなお、例えば、先に論じたホスト/システム・バスの
浪費および輻輳、選択されたプロセッサの優先度におけ
る不確実性、及び最適とは言えないスケーラビリティと
いうような欠点が残っている。
【0031】図3は分散割り込み制御方式を有するマル
チプロセッサ・コンピュータ・システムを対象とする本
発明の第1の実施例のブロック図を示す。この例示的マ
ルチプロセッサ・コンピュータ・システムは複数のプロ
セッサを有し得るが、その内の2つをCPU105およ
びCPU106と命名し、この参照番号で示すことにす
る。各プロセッサ、例えば、CPU105またはCPU
106は、対応するローカル・プログラマブル割り込み
コントローラ、例えば、LOPIC305またはLOP
IC306にそれぞれ結合されている。本発明の教示に
よれば、各LOPICはそれに対応するプロセッサと割
り込み配信プロトコルを処理する。また、LOPIC
は、プロセッサの内部レジスタへのアクセス、プロセッ
サ間の割り込み(「IPI」)および遠隔アクセスの処
理も行う。加えて、各LOPICはハードウエアまたは
ソフトウエアによってディスエーブルすることができ
る。各LOPICは起動通過モード(start-up pass-th
rough mode)機能のために、標準的な8259Aコンパ
チブル割り込みコントローラ(この図には示されていな
い)と共に用いることもできる。本好適実施例では、各
LOPICは2つのローカル・タイマ(図示せず)を内
蔵しており、システム・ソフトウエアがシステムの処理
能力の監視や診断の目的にこれらのタイマを用いる。更
に、各LOPICは、書き込みを行うとIPIが1つ以
上のプロセッサに送られることになるプロセッサ間割り
込みコマンド・ポート(図示せず)と、各プロセッサの
現タスク優先度を設定するために用いられる現タスク優
先度レジスタ(「CTPR」)とを含む。タスク優先度
は、現在実行中のタスクの相対的な重要度を示す。この
実施例では、0ないし15の優先度レベルが実施され
る。
【0032】引き続き図3を参照すると、各LOPI
C、例えば、LOPIC305は各プロセッサ、例え
ば、CPU105に、当該プロセッサのID値を判定さ
せる機構を与える自己識別レジスタ(who-am-i registe
r)を更に含む。この値を用いて、割り込みを配信する
ために用いられる宛先マスクに対する値を判定すること
ができる。また、LOPIC305は割り込み承認レジ
スタと割り込み終了(「EOI」)レジスタも含む。割
り込み終了レジスタにゼロを書き込むと、関連するプロ
セッサに対する現在進行中の割り込みの処理終了を通知
することになる。
【0033】図6は、LOPIC305およびその内容
の一実施例を示す。この内容は従来通りに実施しかつ相
互接続することにより本発明の実施例におけるLOPI
C機能の実行を可能にする。
【0034】再び図3を参照すると、各プロセッサ、例
えば、CPU105は連動するキャッシュ・メモリ・ユ
ニット、例えば、キャッシュ107とデータ通信を行
う。例えば、キャッシュRAM307およびキャッシュ
RAM308のような二次キャッシュがあってもよく、
これはデータ経路309を通じて主メモリ313に接続
される。キャッシュ107およびキャッシュ108は電
気的にホスト・バス110に接続され、ホスト・バス1
10は、第1のバス間ブリッジ、即ち、ブリッジ320
を介してPCIバスのような第1のシステム・バス11
3にブリッジされている。図3には示していないが、第
2のシステム・バス、例えば、EISAまたはISAバ
スを適切なバス間ブリッジを介してバス113にブリッ
ジしてもよいことは理解されるであろう。
【0035】更に引き続き図3を参照する。各LOPI
C、例えば、LOPIC305またはLOPIC306
はプログラマブル割り込みコントローラ・バス311を
介して中央プログラマブル割り込みコントローラCOP
IC312に接続されている。本実施例では1つのCO
PIC312のみが示されているが、これを参照すれ
ば、本発明の範囲内において複数の中央プログラマブル
割り込みコントローラを使用可能であることは容易に理
解できよう。SMP環境では、複数のLOPICおよび
COPICユニットが共に動作し、システム全体を通じ
て割り込み源から割り込み宛先への割り込みの配信を集
合的に担っている。COPIC312は複数のI/O割
り込み源(図示せず)に接続され、I/O割り込みルー
ティング、割り込みのマスキングおよびバス仲裁という
ような機能を与える。COPIC312の本好適実施例
は、特徴報告レジスタ、グローバル・コンフィギュレー
ション・レジスタ、ベンダー特定的レジスタ、ベンダー
識別レジスタ、プロセッサ初期化レジスタ、IPIベク
トル/優先度レジスタ、擬似ベクトル・レジスタ、グロ
ーバル・タイマ・レジスタ、および割り込み源レジスタ
のようなグローバル・レジスタを含む。
【0036】図7はCOPIC312の一例およびその
内容を示す。その内容は従来通りに実施しかつ相互接続
することにより本発明の実施例におけるCOPIC機能
の実行を可能にする。
【0037】再び図3を参照する。プログラマブル割り
込みコントローラ・バス311は、6線、マルチ・フェ
ーズ、双方向共有バスで、4本のデータ・ライン、1本
の制御ラインおよびクロック・ラインを有することが好
ましい。また、バス311は現在は四プロセッサ環境に
最適化されているが、それより多くのユニットを支持す
ることができる。多数のCOPICおよびLOPICユ
ニットを有するシステムでは、1つのCOPICが事前
にマスタ/アービタとして指定されており、マスタでな
いCOPICおよびLOPIC(これらはそれぞれのプ
ロセッシング・ユニットと一体化されることができる)
は集合的にバス・エージェントとして扱われる。バス仲
裁および割り込み配信の一般的な動作については図5を
具体的に参照しながら以下で論ずることにする。
【0038】次に図4を参照すると、分散割り込み制御
方式を有するマルチプロセッサ・コンピュータ・システ
ムを対象とする本発明の第2実施例のブロック図が示さ
れている。本実施例は、図3を参照しながら先に詳細に
論じた実施例と同様である。本実施例では、LOPIC
ユニット305、306は、それに対する内部アクセス
を有するプロセッサと一体化されたユニットとしてでは
なく、それぞれの対応するプロセッサCPU105、1
06と、それぞれ、外部経路401、402を介して通
信する外部ユニットとして設けられている。図3を参照
して論じた実施例は低価格化およびピン数の減少に関し
ては図4で説明した実施例よりも優れた解決策を提供す
るが、この設計は用途によっては有用に実施可能な代替
設計となり得るものであることは容易に理解できよう。
【0039】図5は、本発明の教示に従ってSMP環境
において割り込みを配信する処理を例示するフローチャ
ートである。システムの起動および初期化ステップ50
5の間、各バス・エージェント(図3を参照して論じ
た)には固有の仲裁識別(アービトレーション・アイデ
ンティフィケーション)(「Arb ID」)値が割り
当てられる。8259Aコンパチビリティにより、シス
テム内で予め指定されているプロセッサによる起動のリ
セットの処理が済んでいる。加えて、各バス・エージェ
ントは、プログラマブル割り込みコントローラ・バス3
11(図3に示した)上のバス・エージェントの総数に
関して初期設定される。好適な方法は、システム・ソフ
トウエア(「OS」)が、システムの初期化フェーズ5
05の間に必要な全ての情報を制御し提供することを可
能にする。スケーラビリティを維持するために、好適実
施例は符号化5ビット・レジスタを用いる。この5ビッ
ト・レジスタの値「00000」は1つのバス・エージ
ェントおよび1つのマスタCOPICの存在を示し、値
「00001」は、2つのバス・エージェントと1つの
マスタCOPICを示す等というように、31個のバス
・エージェントと1つのマスタCOPICを示す値「1
1110」までの範囲の値を取る。加えて、符号化5ビ
ット・レジスタにおける値「11111」は、実施例で
はRESET(リセット)を示す。
【0040】判断ブロック510において、システムが
割り込みの存在を検出した場合、バス・メッセージが配
信される前に、COPICまたはLOPICのいずれか
がプログラマブル割り込みコントローラ・バス311の
制御を獲得しなければならない。判断ブロック515に
おいてバス311がビジーであることが示された場合、
バス・エージェントは判断ブロック517に示すように
バス311がアイドルになるまで待たなければならな
い。次に、ひとたび現バス・トランザクションが完了し
たなら、バス・エージェントは仲裁を行いバスの付与
(グラント)を獲得しなければならない。何故なら、マ
スタ/アービタCOPICのみが、バスの制御ラインに
接続されているそのバス要求ラインの全制御を有するか
らである。仲裁フェーズ520の間、各バス・エージェ
ントはバス311のデータ・ラインの1本に接続されて
いるそれ自体のバス要求ライン上でACTIVE HI
GH(アクティブ・ハイ)をアサートすることによりバ
ス要求信号を発行する。マスタ/アービタCOPICは
「巡回優先度」又は「ラウンド・ロビン(round robi
n)」仲裁プロトコルを用いてバス・エージェントを選
択し、メッセージ配信のためにバス311を付与(グラ
ント)する。この目的のために、実施例におけるマスタ
/アービタCOPICは、ARB_PTRで示す内部巡
回ポインタを利用し、最も最近にバス要求を許可(グラ
ント)されたバス・エージェントを指し示すようにす
る。本発明の一態様によれば、ARB_PTRの内容に
よって指し示されたバス・エージェントはバス仲裁の最
低優先度が与えられ、更に、ARB_PTR値を1だけ
ラップアラウンド増分(wraparound increment)するこ
とによって指し示されるバス・エージェントは最高の優
先度を与えられる。本好適実施例では、5ビットのAR
B_PTRを設けて、31個のバス・エージェントおよ
び1つのマスタCOPICまで、スケーラブルに対応す
るようにした。起動時、この5ビットのARB_PTR
は「11111」に初期設定され、「00000」によ
って指し示されるバス・エージェントが、次に行われる
バス仲裁に対して最高の優先度を有するようにする。一
方、バス・エージェントおよびマスタCOPICの総数
が32未満である場合、ARB_PTRの上位側ビット
は適切にマスクされる。
【0041】引き続き図5を参照する。一旦バス311
の制御が付与されたなら、要求元は直ちにそのメッセー
ジの送出を開始することができる。各メッセージの送信
成功の後、マスタ/アービタCOPICはそのARB_
PTRを増分又は更新し、当該メッセージの送出に成功
したバス・エージェントを指し示すようにする。現バス
・トランザクションの終了時に、バス仲裁プロセスを再
び開始することができる。バス311がアイドルである
場合、エージェントまたはマスタは直接仲裁フェーズを
開始し、バスの付与を獲得することができる。
【0042】バス311の制御を獲得した後、判断ブロ
ック525に入ると、割り込みが指定配信モード割り込
みか、または分散配信モード割り込みかについて判定が
行われる。割り込みが指定配信モード割り込みであると
判定された場合、そこからYES経路を取ることによ
り、バス331の一部を構成する複数のデータ・ライ
ン、例えば、4本のデータ・ライン上の宛先プロセッサ
(または、プロセッサおよびそのLOPICが共に一体
化されていない場合は、バス・エージェント/LOPI
C)にデータを配信する。
【0043】ステップ525にいて、割り込みは分散配
信モード割り込みであると判定された場合、ステップ5
30に示すように、COPICは「分散割り込み」コマ
ンドを、リストされている全エージェントに送る。次
に、各エージェントは、バスを要求するために用いられ
るデータ・ラインを通じてシリアルに各エージェントの
4ビット優先度レベルを送信することにより、その現タ
スク優先度レベル(CTPR)を与える。CTPRレベ
ル内のビット数は4であるので、各エージェントがその
CTPR値をCOPICに供給するには合計4サイクル
が必要となる。
【0044】CTPR値を受け取った後、COPICは
ステップ535において比較を行い、最小のCTPR値
(0が最小であり、最も余裕のあるエージェントを意味
し、15が最大である)を有するエージェントを選択す
る。最小のCTPR値を有するエージェントが1つのみ
である場合、判断ブロック540からYES経路を取る
ことにより、割り込みを当該エージェントに配信する。
その他の場合、判断ブロック550において判定を行
い、ステップ555に示すように配信を行うために以前
に同一の割り込みに応じた(割り込みに対処した)エー
ジェントを選択する。一方、以前に当該割り込みに応じ
たエージェントがない場合、ステップ565において選
択を行い、固有のArb IDに基づいてエージェント
を選択する。例えば、最小のArb IDを有するエー
ジェントを選択し、それに割り込みを配信する。
【0045】以上の説明から、本発明は、MP環境にお
いて、割り込みをそれらの宛先に均衡して配信するため
の非常にコスト効率の高い解決策を提供することは、当
業者には容易に認められよう。ここに開示した方法は、
各バス・エージェントのCTPR値を比較して、最低の
現タスク優先度を判定するだけでよく、これによって、
動的配信モードにおいて常に最も余裕のあるエージェン
トに割り込みが分散されることが保証される。更に、専
用割り込みバス上に配置されている中央割り込みコント
ローラおよびローカル割り込みコントローラ間で制御を
分散することにより、ホスト・バスのトラフィックまた
はシステム・バスのトラフィックに対する影響を消滅す
る程に減少させることを実現可能となる。ローカル割り
込みコントローラをそれに対応するプロセッシング・ユ
ニットと一体化することによって、MPシステム・アー
キテクチャにおいて高度にスケーラブルなコスト低減お
よびピン数減少を実現する解決策が達成される。
【0046】本発明の方法および装置の好適実施例を添
付図面に示しかつ上述の詳細な説明に記載したが、本発
明は先に開示した実施例に限定されるものではなく、特
許請求の範囲に記載し定義する本発明の精神から逸脱す
ることなく、多くの再構成、変更および交換が可能であ
ることは理解されよう。
【図面の簡単な説明】
【図1】集中割り込みコントローラを有する従来のマル
チプロセッサ・コンピュータ・システムのブロック図で
ある。
【図2】集中割り込みコントローラを有する従来のマル
チプロセッサ・コンピュータ・システムの第2実施例を
示すブロック図である。
【図3】分散割り込み制御方式を有するマルチプロセッ
サ・コンピュータ・システムに対する本発明の第1実施
例を示すブロック図である。
【図4】分散割り込み制御方式を有するマルチプロセッ
サ・コンピュータ・システムに対する本発明の第2実施
例を示すブロック図である。
【図5】本発明の教示による分散割り込み制御方式を有
するマルチプロセッサ・コンピュータ・システムにおい
て割り込みを配信する処理の一例を示すフローチャート
である。
【図6】本発明の教示によるローカル・プログラマブル
割り込みコントローラの一実施例を示す図である。
【図7】本発明の教示による中央プログラマブル割り込
みコントローラの一実施例を示す図である。
【符号の説明】
105 CPU1 106 CPU2 107、108 キャッシュ・メモリ・ユニット 109 システム・メモリ 110 ホスト・バス 112 集中割り込みコントローラ 113 第1のシステム・バス 114 PCI/ISAブリッジ 115 第2のシステム・バス 116 第2のI/Oブロック 117 8259割り込みコントローラ 119、121 IRQライン 120 I/O装置 205 システム・ロジック・チップセット 305、306 ローカル・プログラマブル割り込みコ
ントローラ 307、308 キャッシュRAM 309 データ経路 311 プログラマブル割り込みコントローラ・バス 312 中央プログラマブル割り込みコントローラ 313 主メモリ 320 第1のバス間ブリッジ 401、402 外部経路
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591030868 20555 State Highway 249,Houston,Texas 77070,United States o f America (72)発明者 デール・ジェイ・メイヤー アメリカ合衆国テキサス州77070,ヒュー ストン,ムーアクリーク 11819 (72)発明者 ウィリアム・エフ・ホワイトマン アメリカ合衆国テキサス州77429,サイプ レス,ガルヴァニ・ドライブ 14210

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 各々キャッシュ・メモリ・ユニットと通
    信する少なくとも2つのプロセッシング・ユニットを含
    み、更に割り込みを処理するバスを有する構成のコンピ
    ュータ・システムであって、 少なくとも2つのローカル・プログラマブル割り込みコ
    ントローラであって、各々前記バス上に配置され、少な
    くとも2つの前記プロセッシング・ユニットの一つと関
    連する、ローカル・プログラマブル割り込みコントロー
    ラと、 少なくとも1つの中央プログラマブル割り込みコントロ
    ーラであって、前記バス上に配置された中央プログラマ
    ブル割り込みコントローラとを備えるコンピュータ・シ
    ステム。
  2. 【請求項2】 請求項1記載のコンピュータ・システム
    において、前記少なくとも2つのローカル・プログラマ
    ブル割り込みコントローラの各々は、前記プロセッシン
    グ・ユニットの一つと一体化される、コンピュータ・シ
    ステム。
  3. 【請求項3】 請求項1記載のコンピュータ・システム
    において、前記バスは6本の伝送ラインを備える、コン
    ピュータ・システム。
  4. 【請求項4】 請求項1記載のコンピュータ・システム
    において、前記少なくとも2つのローカル・プログラマ
    ブル割り込みコントローラの各々は、 現タスク優先度レジスタと、 プロセッサ間割り込みコマンド・ポートと、 自己識別レジスタと、 割り込み承認レジスタと、 割り込み終了レジスタと、 第1のローカル・タイマと、 第2のローカル・タイマと を備える、コンピュータ・システム。
  5. 【請求項5】 請求項1記載のコンピュータ・システム
    であって、 ホスト・バスであって、前記キャッシュ・メモリ・ユニ
    ット間に配置され、それらの間に通信経路を提供するホ
    スト・バスと、 第1のシステム・バスであって、第1のバス間ブリッジ
    を介して前記ホスト・バスに結合された第1のシステム
    ・バスと、 第2のシステム・バスであって、第2のバス間ブリッジ
    を介して前記第1のシステム・バスに結合された第2の
    システム・バスとを更に備えるコンピュータ・システ
    ム。
  6. 【請求項6】 請求項1記載のコンピュータ・システム
    において、前記少なくとも1つの中央プログラマブル割
    り込みコントローラは、 少なくとも1つの特徴報告レジスタと、 少なくとも1つのグローバル・コンフィギュレーション
    ・レジスタと、 少なくとも1つのベンダー特定的レジスタと、 ベンダー識別レジスタと、 プロセッサ初期設定レジスタと、 少なくとも1つのプロセッサ間割り込みベクトル優先度
    レジスタと、 擬似ベクトル・レジスタと、 少なくとも1つのグローバル・タイマ・レジスタと、 少なくとも1つの割り込み源レジスタとを備える、コン
    ピュータ・システム。
  7. 【請求項7】 請求項5記載のコンピュータ・システム
    において、前記第1のシステム・バスは周辺コンポーネ
    ント相互接続バスを備える、コンピュータ・システム。
  8. 【請求項8】 請求項5記載のコンピュータ・システム
    において、前記第2のシステム・バスは拡張業界標準ア
    ーキテクチャ・バスを備える、コンピュータ・システ
    ム。
  9. 【請求項9】 請求項1記載のコンピュータ・システム
    において、前記バスは、 制御信号ラインと、 クロック信号ラインであって、前記制御信号ラインから
    離間されているクロック信号ラインと、 複数のデータ・ラインであって、各々互いから離間され
    ている複数のデータ・ラインとを備える、コンピュータ
    ・システム。
  10. 【請求項10】 請求項9記載のコンピュータ・システ
    ムにおいて、前記複数のデータ・ラインは4本のデータ
    ・ラインを備える、コンピュータ・システム。
  11. 【請求項11】 請求項5記載のコンピュータ・システ
    ムであって、 標準8259Aコンパチブル割り込みコントローラであ
    って、前記第2のシステム・バス上に配置された標準8
    259Aコンパチブル割り込みコントローラを更に備え
    るコンピュータ・システム。
  12. 【請求項12】 内部仲裁ポインタを有するマスタ・ア
    ービタと、少なくとも2つのバス・エージェントとを含
    み、前記マスタ・アービタと前記バス・エージェントが
    バス上に配置された構成のマルチプロセッサ・コンピュ
    ータ・システムにおける割り込み配信方法であって、 割り込みの存在を判定するステップと、 前記バスの制御を獲得するステップと、 前記割り込みは指定配信割り込みであるか否かについて
    ステータスを判定するステップと、前記ステータスを判
    定するステップに応答して前記割り込みが指定配信割り
    込みであると判定された場合に、前記割り込みをプロセ
    ッサに配信するステップと、 その他の場合に、現タスク優先度レジスタに最低値を有
    するユニットを選択するステップと、 前記選択するステップに応答して前記割り込みを前記ユ
    ニットに配信するステップと、 を備える方法。
  13. 【請求項13】 請求項12記載のマルチプロセッサ・
    コンピュータ・システムにおける割り込み配信方法にお
    いて、前記制御を獲得するステップは、 バス・エージェントによってバス要求信号をアサートす
    るステップと、 前記マスタ・アービタによって前記バス・エージェント
    を選択するステップであって、前記内部仲裁ポインタの
    内容のラップアラウンド増分によって前記バス・エージ
    ェントを指し示す、ステップと、 選択した前記バス・エージェントにバス・メッセージを
    送信するステップと、 前記内部仲裁ポインタの内容を更新するステップとを備
    える、方法。
  14. 【請求項14】請求項12記載のマルチプロセッサ・コ
    ンピュータ・システムにおける割り込み配信方法におい
    て、前記選択するステップは、 前記マスタ・アービタによって、リストされたバス・エ
    ージェントに分散割り込みコマンドを送るステップと、 前記分散割り込みコマンドに応答して、前記リストされ
    たバス・エージェントによって、前記バス上で現タスク
    優先度レベル・データをシリアルに送信するステップ
    と、 リストされたバス・エージェントの内のどれが最低の現
    タスク優先度レベルを有するかを判定し、1つのバス・
    エージェントのみが最低の現タスク優先度レベルを有す
    る場合には、該バス・エージェントを前記割り込みのそ
    れへの配信のために選択し、前記割り込みを該バス・エ
    ージェントに配信するために該バス・エージェントを選
    択し、その他の場合には、以前に前記割り込みに応じた
    ことがあるバス・エージェントをその配信のために選択
    し、以前に割り込みに応じたバス・エージェントが発見
    されなかった場合には、最低のバス識別を有するエージ
    ェントをその配信のために選択するステップとを更に備
    える、方法。
  15. 【請求項15】 マルチプロセッサ・コンピュータ・シ
    ステムであって、 少なくとも2つのプロセッシング・ユニットと、 少なくとも2つのキャッシュ・メモリ・ユニットであっ
    て、各々前記少なくとも2つのプロセッシング・ユニッ
    トの一つと通信する、キャッシュ・メモリ・ユニット
    と、 ホスト・バスであって、前記少なくとも2つのキャッシ
    ュ・メモリ・ユニットを接続するホスト・バスと、 第1のシステム・バスであって、第1のバス間ブリッジ
    を介して前記ホスト・バスに結合され、前記第1のバス
    間ブリッジがその間の通信を容易にする、第1のシステ
    ム・バスと、 第2のシステム・バスであって、第2のバス間ブリッジ
    を介して前記第1のシステム・バスに結合され、前記第
    2のバス間ブリッジがその間の通信を容易にする、第2
    のシステム・バスと、 少なくとも2つのバス・エージェントであって、各々前
    記少なくとも2つのプロセッシング・ユニットの一つと
    通信する、バス・エージェントと、 マスタ・アービタであって、割り込みコントローラ・バ
    スを介して、前記少なくとも2つのバス・エージェント
    の各々に動作可能に接続されたマスタ・アービタとを備
    えるマルチプロセッサ・コンピュータ・システム。
  16. 【請求項16】 請求項15記載のマルチプロセッサ・
    コンピュータ・システムにおいて、前記少なくとも2つ
    のバス・エージェントの各々は、前記少なくとも2つの
    プロセッシング・ユニットの一つと一体化される、マル
    チプロセッサ・コンピュータ・システム。
  17. 【請求項17】 請求項15記載のマルチプロセッサ・
    コンピュータ・システムにおいて、前記割り込みコント
    ローラ・バスは制御信号ラインと、 クロック信号ラインと、 複数のデータ信号ラインとを備える、マルチプロセッサ
    ・コンピュータ・システム。
  18. 【請求項18】 請求項15記載のマルチプロセッサ・
    コンピュータ・システムにおいて、前記第1のシステム
    ・バスは周辺コンポーネント相互接続バスを備える、マ
    ルチプロセッサ・コンピュータ・システム。
  19. 【請求項19】 請求項15記載のマルチプロセッサ・
    コンピュータ・システムにおいて、前記第2のシステム
    ・バスは拡張業界標準アーキテクチャ・バスを備える、
    マルチプロセッサ・コンピュータ・システム。
  20. 【請求項20】 請求項15記載のマルチプロセッサ・
    コンピュータ・システムであって、 標準8259Aコンパチブル割り込みコントローラであ
    って、前記第2のシステム・バス上に配置されている標
    準8259Aコンパチブル割り込みコントローラを更に
    備えるマルチプロセッサ・コンピュータ・システム。
JP9223403A 1996-08-20 1997-08-20 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置 Pending JPH1097509A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69992196A 1996-08-20 1996-08-20
US699921 1996-08-20

Publications (1)

Publication Number Publication Date
JPH1097509A true JPH1097509A (ja) 1998-04-14

Family

ID=24811487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9223403A Pending JPH1097509A (ja) 1996-08-20 1997-08-20 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置

Country Status (3)

Country Link
US (1) US5944809A (ja)
EP (1) EP0827084A3 (ja)
JP (1) JPH1097509A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515280A (ja) * 2006-11-27 2009-04-09 インテル コーポレイション 中央化された割り込みコントローラ
JP2012009063A (ja) * 2011-09-05 2012-01-12 Intel Corp 中央化された割り込みコントローラ
JP2013232249A (ja) * 2013-08-22 2013-11-14 Intel Corp 中央化された割り込みコントローラ

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338716A (ja) * 1998-05-29 1999-12-10 Nec Corp 無線端末、及び無線端末における受信方法
US6456502B1 (en) * 1998-09-21 2002-09-24 Compaq Computer Corporation Integrated circuit device/circuit board connection apparatus
US6574688B1 (en) * 1999-01-05 2003-06-03 Agere Systems Inc. Port manager controller for connecting various function modules
US6493781B1 (en) 1999-08-19 2002-12-10 Koninklijke Philips Electronics N.V. Servicing of interrupts with stored and restored flags
JP2001154982A (ja) * 1999-11-24 2001-06-08 Toshiba Corp コンピュータシステム
US8041754B1 (en) * 2000-01-22 2011-10-18 Intel Corporation Establishing thread priority in a processor or the like
US6829765B1 (en) 2000-07-18 2004-12-07 International Business Machines Corporation Job scheduling based upon availability of real and/or virtual resources
US7028302B2 (en) * 2002-04-24 2006-04-11 Hewlett-Packard Development Company, L.P. System and method for automatically tuning a multiprocessor computer system
US7051135B2 (en) * 2002-11-22 2006-05-23 Ess Technology, Inc. Hierarchical bus arbitration
US20060112208A1 (en) * 2004-11-22 2006-05-25 International Business Machines Corporation Interrupt thresholding for SMT and multi processor systems
US20070106827A1 (en) * 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US20070136499A1 (en) * 2005-12-12 2007-06-14 Sykes Charles E Method for designing a completely decentralized computer architecture
US7689748B2 (en) * 2006-05-05 2010-03-30 Ati Technologies, Inc. Event handler for context-switchable and non-context-switchable processing tasks
US8225320B2 (en) * 2006-08-31 2012-07-17 Advanced Simulation Technology, Inc. Processing data using continuous processing task and binary routine
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
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
US8972642B2 (en) * 2011-10-04 2015-03-03 Qualcomm Incorporated Low latency two-level interrupt controller interface to multi-threaded processor
WO2013094031A1 (ja) * 2011-12-21 2013-06-27 キヤノン株式会社 情報処理装置、その装置を用いた記録装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555420A (en) * 1990-12-21 1996-09-10 Intel Corporation Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
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
AU2270892A (en) * 1991-06-26 1993-01-25 Ast Research, Inc. Automatic distribution of interrupts controller for a multiple processor computer system
US5437042A (en) * 1992-10-02 1995-07-25 Compaq Computer Corporation Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
US5530891A (en) * 1994-05-31 1996-06-25 Advanced Micro Devices System management interrupt mechanism within a symmetrical multiprocessing system
US5555430A (en) * 1994-05-31 1996-09-10 Advanced Micro Devices Interrupt control architecture for symmetrical multiprocessing system
DE69531270T2 (de) * 1994-05-31 2004-04-22 Advanced Micro Devices, Inc., Sunnyvale Unterbrechungssteuerungsgeräte in symmetrischen Mehrprozessorsystemen
US5619706A (en) * 1995-03-02 1997-04-08 Intel Corporation Method and apparatus for switching between interrupt delivery mechanisms within a multi-processor system
US5721931A (en) * 1995-03-21 1998-02-24 Advanced Micro Devices Multiprocessing system employing an adaptive interrupt mapping mechanism and method
US5727217A (en) * 1995-12-20 1998-03-10 Intel Corporation Circuit and method for emulating the functionality of an advanced programmable interrupt controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515280A (ja) * 2006-11-27 2009-04-09 インテル コーポレイション 中央化された割り込みコントローラ
JP2012009063A (ja) * 2011-09-05 2012-01-12 Intel Corp 中央化された割り込みコントローラ
JP2013232249A (ja) * 2013-08-22 2013-11-14 Intel Corp 中央化された割り込みコントローラ

Also Published As

Publication number Publication date
US5944809A (en) 1999-08-31
EP0827084A3 (en) 1999-02-03
EP0827084A2 (en) 1998-03-04

Similar Documents

Publication Publication Date Title
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
US6041377A (en) Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol
US6711643B2 (en) Method and apparatus for interrupt redirection for arm processors
US5701495A (en) Scalable system interrupt structure for a multi-processing system
US9798556B2 (en) Method, system, and apparatus for dynamic reconfiguration of resources
KR100292660B1 (ko) 프로세서가통합된인터럽트제어기를갖춘멀티프로세서프로그래머블인터럽트제어기시스템
US4484270A (en) Centralized hardware control of multisystem access to shared and non-shared subsystems
EP0794492B1 (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
US6370606B1 (en) System and method for simulating hardware interrupts in a multiprocessor computer system
JP2661733B2 (ja) データ処理システム
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPH04318654A (ja) マイクロプロセッサへの割り込みのリダイレクションシステム
JPH0916533A (ja) 対称多重処理システム
US4736319A (en) Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
US4905145A (en) Multiprocessor
JP2539352B2 (ja) 階層型多重計算機システム
Beck et al. VLSI Assist for a Multiprocessor
US4855899A (en) Multiple I/O bus virtual broadcast of programmed I/O instructions
US5953535A (en) Using intelligent bus bridges with pico-code to service interrupts and improve interrupt response
US20060080514A1 (en) Managing shared memory
JP2000010897A (ja) コンピュ―タ・システムにおいて用いられマルチ処理を行う入出力サブシステムの間でタスクを分散させるシステム及び方法
JPS62180455A (ja) 多重処理装置
JPS63310060A (ja) マルチプロセツサシステム
JPH056333A (ja) マルチプロセサシステム