JPH06266676A - 多重プロセッサ・コンピュータの割り込み操向システム - Google Patents

多重プロセッサ・コンピュータの割り込み操向システム

Info

Publication number
JPH06266676A
JPH06266676A JP4281110A JP28111092A JPH06266676A JP H06266676 A JPH06266676 A JP H06266676A JP 4281110 A JP4281110 A JP 4281110A JP 28111092 A JP28111092 A JP 28111092A JP H06266676 A JPH06266676 A JP H06266676A
Authority
JP
Japan
Prior art keywords
interrupt
processor
register
processors
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
JP4281110A
Other languages
English (en)
Other versions
JP3381732B2 (ja
Inventor
Charles E Narad
チャールズ・イー・ナラド
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06266676A publication Critical patent/JPH06266676A/ja
Application granted granted Critical
Publication of JP3381732B2 publication Critical patent/JP3381732B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • 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

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】 任意のプロセッサに非指定割り込みサービス
要求を動的に割当てる。 【構成】 非指定割り込みを受信する特定の割り込み目
標プロセッサを識別するコードを記憶する割り込み目標
レジスタを備え、オペレーティング・システムが、割り
込み目標レジスタにプロセッサの識別コードを書き込む
ことによって、現在の割り込み目標とすべき特定のプロ
セッサを割り当てる。システム割り込み保留レジスタに
よって、プロセッサは、割り込み源に要求されたサービ
スがあるか否かを確かめることができる。各割り込みサ
ービス要求には、特定のプロセッサが、そのプロセッサ
について保留中の他の割り込み関連して割り込みのサー
ビスを行う時期を決定する割り込み優先順位が割り当て
られる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多重プロセッサ・コン
ピュータ・アーキテクチャに関するものである。とりわ
け、本発明は、指定されていないシステム割り込みの動
的操向に関する多重プロセッサ・アーキテクチャに関す
るものである。
【0002】
【従来の技術】ほとんどのコンピュータ・システムにお
いて、プロセッサは、コンピュータ・システムの動作時
に生じる装置信号及び状態に応答できるようにすること
が望ましく、かつ、必要である。こうした信号及び状態
は、各種内部装置及び外部装置からの予測される信号入
力の結果として生じる場合もあるし、あるいは、予測し
ていなかった事象または状態の発生の結果として生じる
場合もある。コンピュータ・システムの動作に影響する
事象または状態が生じると、こうした事象または状態
は、プロセッサに割り込みをかけ、事象または状態を確
認して、サービスを行うように要求する。いくつかの装
置がプロセッサと対話する可能性があるので、プロセッ
サが適切な順序で適合する割り込みに応答できるように
するため、優先順位割り当て案が必要になる。
【0003】単一プロセッサ・コンピュータ・システム
における割り込み指定を行う方法及びアーキテクチャは
多数存在する。単一プロセッサ・コンピュータ・システ
ムでは、全ての割り込みを必然的に単一プロセッサでサ
ービスすることになり、唯一の制約は、割り込みのサー
ビスを行う順番である。最も一般的なのは、割り込みに
優先順位を割り当て、昇順または降順にサービスを行う
ことである。さらに複雑な多重プロセッサ・コンピュー
タ・システムの場合、割り込みサービスは、対称及び非
対称割り込みサービス規則によって説明することができ
る。非対称多重プロセッサ・システムの場合、全ての割
り込みが、集中化され、割り込みサービス要求を取り扱
うように選択されたある特定のプロセッサに指定され
る。一方、対称多重プロセッサ・システムの場合、割り
込みは、多重処理アーキテクチャ内においてプロセッサ
が現在実行しているコンピュータ・システムの要求及び
タスクに応じて、任意のプロセッサに指定することがで
きる。
【0004】割り込みは、3つの形の1つをとることが
可能である。要求装置によって特定のプロセッサに送ら
れる指定割り込みがある。指定割り込みは、割り込み
が、ハードウエア信号を発生する特定の装置によって送
り出される「ハード」の場合もあれば、あるいは、割り
込みが特定のプロセッサによって発生し、ソフトウエア
の制御下でべつのプロセッサに指定される「ソフト」の
場合もある。要求装置がその割り込み要求にサービスを
行うべきプロセッサを指定しているので、割り込みをど
こに指定すべきかを決定する必要がない。
【0005】第2のタイプの割り込みは、それが生じる
とコンピュータ・システム内で動作する全ての装置にと
って重要な同報通信割り込みである。同報通信割り込み
は、潜在的にコンピュータ・システム内の全ての装置に
影響する可能性があるので、同報通信割り込みは、コン
ピュータ・システム内の全ての装置に対して送り出さ
れ、それらの装置に受信されることになる。同報通信割
り込みを必要とする例としては、電源故障のようなハー
ドウエアの故障があり、電源故障状態が瞬時にして発生
するであろうことをコンピュータ・システム内の全ての
装置に対して警告することが望ましい。指定割り込みと
同報通信割り込みは、両方とも、その割り込みのサービ
スを行う特定のプロセッサについて決定する必要はない
ので、多重プロセッサ・コンピュータ・システム内にお
いて動作するいくつかのプロセッサのうち1つないし全
てに指定割り込みまたは同報通信割り込みを割り当てる
アーキテクチャが多数存在する。
【0006】第3のタイプの割り込みである非指定割り
込みは、多重プロセッサ・コンピュータ・システムにお
いて最も頻繁に遭遇する割り込みである。非指定割り込
みはディスク・コントローラ、テープ・コントローラ、
直列及び並列I/Oポート、及びコンピュータ・システ
ム内のプロセッサと等しく共用する可能性のある他の装
置を含む、多様なコンピュータ・システム装置から受信
する可能性がある。先行技術による多重プロセッサ・ア
ーキテクチャは、システム・コンポーネント及び周辺機
器によって送り出される非指定割り込みの全てに関する
サービスを特定のプロセッサに割り当てることがよくあ
る。非指定割り込みのサービス要求だけに単一プロセッ
サを専念させることの減損は、前記プロセッサが他の汎
用処理に利用できないということである。とりわけ、低
レベルのあるいは最小の装置間通信であるが、集中的な
数値計算の期間において、専用の割り込みサービスプロ
セッサは、数値計算に参加することができず、従って、
コンピュータ・システム全体としての性能を向上させる
ことができない。代替案として、多重プロセッサ・アー
キテクチャを意図した先行技術による割り込みサービス
・ルーチンは、そのプロセッサが実行しているタスクに
関係なく、あるいは、最も迅速に処理可能な割り込みが
どれかといったことには関係なく、非指定割り込みサー
ビス要求を利用可能な最初のプロセッサに押しつける。
【0007】
【発明が解決しようとする課題】後述のように、本発明
の目的は、割り込みサービス要求を特定のプロセッサに
振り向ける割り込み目標レジスタを実現することによっ
て、多重プロセッサ・アーキテクチャに存在するいくつ
かのプロセッサのうち任意のプロセッサに非指定割り込
みサービス要求を動的に割り当てるための方法及び装置
を提供することにある。さらに、本発明の目的は、特定
のプロセッサに対する割り当ての前に、全ての保留非指
定割り込みの検閲を可能にすることにより、同様の優先
順位の割り込みに同時にサービス可能なプロセッサに対
して、非指定割り込みサービス要求の割り当てを行うこ
とを可能ならしめることにある。また、本発明の目的
は、プロセッサに対するフレキシブルで動的な非指定割
り込みサービス要求の割り当てによって、より有効な割
り込みサービス・メカニズムが得られるようにし、これ
により、システム全体の性能を向上させることにある。
【0008】
【課題を解決するための手段】本発明によれば、多重プ
ロセッサ・コンピュータ・システム内において非指定割
り込みサービス要求を動的に操向するための方法及び装
置が提供される。割り込み操向制御メカニズムには、シ
ステム内の特定の割り込み目標プロセッサを識別するコ
ードを記憶した割り込み目標レジスタが含まれている。
コンピュータのオペレーティング・システムは、対応す
るプロセッサ番号を割り込み目標レジスタに書き込むこ
とによって、カレント割り込み目標とすべき特定のプロ
セッサの割り当てを行うことができる。代替案として、
もう1つのプロセッサによって、それ自体の識別コード
を割り込み目標レジスタに書き込むことにより、保留割
り込みの制御を主張することが可能である。システム割
り込み保留レジスタは、任意のプロセッサが、任意の割
り込み源がサービスの要求を行ったか否かの判定を行う
ことを可能にする。各割り込みサービス要求には、割り
込み優先順位が割り当てられるが、この割り当て優先順
位は、特定のプロセッサが、特定のプロセッサに関する
他の割り込み保留に関連した割り込みのサービスを行う
時期を決定する。割り込みマスクレジスタによって、カ
レント割り込み目標プロセッサは、割り込み要求が発生
した時、そのサービスを行うか、あるいは、割り込み要
求にマスキングを施し、これによって、後まで割り込み
要求のサービスを遅延させることが可能になる。各プロ
セッサ毎の各プロセッサ割り込みレジスタによって、各
プロセッサは、そのプロセッサに関する全てのハード及
びソフト割り込み保留を検閲することが可能になる。プ
ロセッサ割り込みレジスタ内における各プロセッサに適
合するビットは、任意の優先順位レベルにおけるソフト
またはハード割り込みが、その特定のプロセッサに関し
て保留されているか否かを表示する。割り込み目標レジ
スタ及び割り込みマスク・レジスタのビット値に従っ
て、コンピュータ・システム内のプロセッサの1つが、
各割り込み要求のサービスを行う。非指定割り込みの動
的割り付けによって、オペレーティング・システムは、
可能性のある最良の時間に、最良の割り込みサービス・
アルゴリズムを割り当てることにより、コンピュータ・
システムの性能を最適化することが可能になる。
【0009】
【実施例】非指定割り込みを多重プロセッサ・コンピュ
ータ・システム内の特定のプロセッサに対し動的に操向
するための方法及び装置について開示する。解説を目的
とした以下の記述において、本発明に対する理解を完全
なものにするため、特定の数、材料、及び、構成につい
て述べることにする。ただし、当該技術の熟練者には明
らかなように、本発明は、これら特定の詳細説明がなく
ても実施することが可能である。他の例では、本発明を
不必要に曖昧にしないため、周知のシステムは、略図ま
たはブロック図の形で示されている。
【0010】以下の解説を通じて、用語「レジスタ」
は、デジタル・データを記憶するために用いられるコン
ピュータ・ハードウエア回路の解説に用いられる。レジ
スタはコンピュータ・システムにおいて一般的に見受け
られるものであり、単一ビットのデータを記憶するレジ
スタから複数バイトからなるデジタル・データ、さらに
は、複数ワードからなるデジタル・データにいたるま
で、サイズはさまざまである。本発明において記述のレ
ジスタは、一般に知られている設計原理に従って、任意
のコンピュータ・ハードウエア設計及びオペレーティン
グ・システムについて機能するものとする。本出願の内
容である非指定割り込み操向の発明は、特に、カリフォ
ルニア州マウンテン・ビューのSun Microsy
stems,Incによって製造された多重プロセッサ
・コンピュータ・システムについて機能することを意図
したものである。本発明が機能することを意図した例示
のマシンは、Sun Microsystems Su
n−4Mアーキテクチャによって設計されたマシンであ
る。
【0011】さらに、本発明は、「Method an
d Apparatus forRegister P
roviding Atomic Access to
Set and Clear Individual
Bits of Shared Registers
without Software Interloc
k」と題する同時係属出願第 号の態様を包含す
るものである。原子アクセス・レジスタ機能の用途につ
いては、適当なところで解説することにする。
【0012】ここで、図1を参照すると、本発明の割り
込み機能が示されている。図1の場合、割り込み操向モ
ジュールが、コンピュータ・システム内の任意のまたは
全ての割り込み源から下記を含む割り込みを受信すると
ころが示されている。 −−計時割り込み、すなわち、CLOCK割り込み −−プロセッサによって開始される割り込み、すなわ
ち、SOFT割り込み −−間隔装置によって開始される割り込み、すなわち、
SYSTEM割り込み −−拡張バスによって通信を行う装置、すなわち、BU
S A及びBUS B割り込み。
【0013】割り込み操向モジュールは、引き続き、サ
ービスを受けるため指定の優先順位の割り込みを多数の
マスタに送る。
【0014】次に、図2を参照すると、本発明の内容で
ある割り込み操向アーキテクチャの概要がブロック図に
よって示されている。図2において明らかなように、割
り込み源は、指定、同報通信、及び、非指定タイプであ
る。図2に示すように、同報通信割り込み1及び指定割
り込み2は、直接、プロセッサ割り込み制御ブロック5
に送られる。内部装置及び外部装置によって送られる非
指定可変優先順位割り込み3は、プロセッサ目標化及び
操向モジュール6に向けられる。プロセッサ目標化及び
操向モジュール6は、全ての非指定割り込みを受信し
て、特定の割り込みをどのプロセッサに指定するかを決
定する。プロセッサ目標化及び操向モジュール6は、ど
のプロセッサが割り込みを受信すべきかを指示した出力
信号をプロセッサ割り込み制御モジュール5に対して送
信する。プロセッサ割り込み制御モジュール5はコンピ
ュータ・システム内の全てのプロセッサに接続されてい
る。プロセッサ割り込み制御モジュール5は、4つのプ
ロセッサ、すなわち、プロセッサA、プロセッサB、プ
ロセッサC、及び、プロセッサDに接続されるのが望ま
しい。プロセッサ割り込み制御ブロック5には、プロセ
ッサコード化論理も含まれているので、保留中の優先順
位が最も高い割り込みレベルの割り込みが、各適正なプ
ロセッサ毎に、そのプロセッサに間違いなく指定され、
非指定割り込みを含む優先順位が最高の割り込みを、プ
ロセッサ目標化及び操向ブロック6によって選択された
プロセッサに間違いなく操向することができる。
【0015】本発明のより詳細な図例が、図3に最も明
確に示されている。図3の場合、装置から受信した非指
定割り込み3が、システム割り込み保留レジスタ13に
よって表示されている。システム割り込み保留レジスタ
13は、特定のコンピュータ・システムの動作に適合す
る任意のサイズにすることが可能である。望ましい実施
例の場合、システム割り込み保留レジスタ13は、32
ビット・レジスタであり、そのビット割り当ては、後の
図7及び8にさらに詳細に示されている。システム割り
込み保留レジスタ13によって、後続の割り込み論理回
路は、コンピュータ・システム内の全てのプロセッサに
関して保留中の全てのハード割り込みを検閲し、コンピ
ュータの動作に最も有益な多数のプロセッサ50のうち
の1つに特定の割り込みを指定することが可能になる。
重要なことは、ビットは、システム割り込み保留レジス
タ13内において「セット」されることも、「クリア」
されることもないという点である。それどころか、該レ
ジスタは、割り込み源のカレント状況を表示するだけで
ある。システム割り込み保留レジスタ13によって示さ
れた保留中の非指定割り込み3は、引き続き割り込み目
標マスク・レジスタ15によってマスクするか、あるい
は、ブロックすることが可能である。望ましい実施例の
場合、割り込み目標マスク・レジスタ15は、上述の同
時係属出願第 号にさらに詳細に解説されている、図6及
び8に示すビット割り当てを備えたタイプの32ビット
原子アクセス・レジスタである。割り込み目標マスク・
レジスタ15内における特定のビットをセットすること
によって、選択された割り込みビット・プロセッサ50
のサービスを遅延させるか、あるいは、まとめて排除す
ることが可能になる。ビットは、上述の同時係属出願第
号に開示の原子アクセス・レジスタ構造に従っ
て、割り込み目標マスク・レジスタ15内においてセッ
トまたはクリアされる。
【0016】図7に示すように、システム割り込み保留
レジスタ13内における特定のビット位置には、特定の
割り込み源が割り当てられているが、図7に示す特定の
32ビット割り当てには関係なく、システム割り込み保
留レジスタ13内における任意のビットまたは任意の組
み合わせのビットに、任意の割り込み源を割り当てるこ
とが可能である。もう一度図3を参照すると、割り込み
目標マスク・レジスタ15は、やはり、32ビットのレ
ジスタであるが、原子アクセス構成に基づく読み取りと
書き込みの両方の能力を備えており、割り込み目標マス
ク・レジスタ15は、それに対し3つのアドレスを振り
向けている。読み取りのために、1つのアドレスが割り
当てられ、レジスタ15内の個々のビットのセット及び
クリアのために、それぞれ、1つのアドレスが割り当て
られている。サービスを要求する装置によって送り出さ
れ、システム割り込み保留レジスタ13によって指示さ
れる非指定割り込み3は、割り込み目標マスク・レジス
タ15内の対応するビットが、セットされている場合、
目標割り込みサービス装置とすることを意図したプロセ
ッサに影響を及ぼすことはない。
【0017】システム割り込み保留レジスタ13が受信
し、割り込み目標マスク・レジスタ15がマスクまたは
ブロックしていない非指定割り込み3は、次に、割り込
み操向論理装置20に送られる。システム割り込み保留
レジスタ13内における個々のビットは、割り込み操向
論理装置20に対して、割り当てられた割り込み源によ
って送り出された割り込み要求が存在するか否かを表示
する。
【0018】割り込み目標レジスタ17は、どのプロセ
ッサ50を割り込み要求にサービスを施すカレント割り
込み目標(「CIT」)プロセッサにするつもりかを指
示する2進プロセッサ識別コードを記憶する。図5に
は、割り込み目標レジスタ17にとって現在のところ望
ましいビット割り当てが示されているが、この場合、2
ビット・コードで、4つのプロセッサのうちどれをCI
Tプロセッサにすべきかを指示している。一緒に機能す
ることによって、割り込み目標マスク・レジスタ15と
割り込み目標レジスタ17は、異なるプロセッサに対す
る非指定割り当てを支援する働きをする。さらに詳細に
後述するように、CITプロセッサは、割り込み要求を
受信すると、システム割り込み保留レジスタ13を調べ
ることによって、割り込み要求源を確認することができ
る。CITプロセッサは、それ以上のアクションを行わ
ない場合、割り込み操向論理装置20によってそれに指
定された割り込みサービス要求を受信する。代替案とし
て、割り込み目標レジスタ17の0と1のいずれかのビ
ットを変更する場合、現在、レジスタ17に生じている
2ビットのプロセッサ識別コードが割り当てられた対応
するプロセッサが、新たに割り当てられたCITプロセ
ッサになる。CITプロセッサは、別のプロセッサにお
ける保留の割り込みに対するサービスのスケジューリン
グを望む場合、サービスを要求する割り込み源に対応す
る割り込み目標マスク・レジスタ15に、原子的にマス
ク・ビットをセットし、次に、指定割り込みを所望のプ
ロセッサに送ることができる。割り込み目標マスク・レ
ジスタ15に対する原子セット書き込みによって実施さ
れるマスキング機能によって、指定のCITプロセッサ
が、マスクされている特定の割り込み源からの割り込み
サービス要求を受信せずに、プログラムを続行すること
が可能になる。選択された割り込みサービス・プロセッ
サが割り込みのサービスを完了すると、割り込み目標マ
スク・レジスタ15に既にセットされているマスク・ビ
ットがクリアされるので、特定の割り込み源からの後続
の割り込みが、再び、CITプロセッサに指定される。
【0019】割り込み操向論理装置20は、次に、割り
込み目標マスク・レジスタ15及び割り込み目標レジス
タ17による入力に基づいて、独立した出力回線によっ
て、多数のプロセッサ割り込みレジスタ32のうちの1
つに非指定割り込みを送る。多重プロセッサ・コンピュ
ータ・システムの場合、各プロセッサ毎に1つのプロセ
ッサ割り込み保留レジスタ32が存在する。図2に示す
ように、4つのプロセッサから構成される現在のところ
望ましいコンピュータ・システムの場合、それぞれ、4
つのプロセッサ50の1つに対応する、4つのプロセッ
サ割り込みレジスタ32が存在する。優先順位が最高の
同報通信ハード割り込み源1も、プロセッサ割り込みレ
ジスタ32に送られる。レジスタ15の場合と同様、プ
ロセッサ割り込みレジスタ32は、原子読み取り及び書
き込み能力を備えた32ビットのレジスタである。上述
の、また、同時係属出願第 号にはさらに詳細に
示されているセット及びクリア原子アクセス・レジスタ
に従って、各物理的アドレスに複数アドレスが割り当て
られる。本発明の望ましい実施例の場合、各プロセッサ
毎に、プロセッサ割り込みレジスタ32のそれぞれに対
して、3つの別個のアドレスが割り当てられる。1つの
アドレスは、読み取り専用機能を実施し、もう1つのア
ドレスは、クリア書き込み機能であり、割り当てられた
第3のアドレスは、セット書き込み機能である。
【0020】図4a〜cを参照すると、プロセッサ割り
込みレジスタ32のビット割り当てが示されている。図
4aに示すように、読み取り専用アクセス時、プロセッ
サ割り込みレジスタ32のビット位置1〜15は、関連
する特定のプロセッサに、それぞれレベルが1〜15の
範囲にわたる保留中のハード指定割り込みの優先順位を
指示する。図4aにさらに示されているように、プロセ
ッサ割り込みレジスタ32のビット17〜31は、特定
のプロセッサに対して、そのプロセッサに関して、15
レベルのソフト割り込みのどれが保留中であるかを表示
する。特定の対応するプロセッサによって読み取られる
と、そのプロセッサに関して保留中のハード割り込み及
びソフト割り込みが、全て示されることになる。
【0021】さらに、図4cに示すように、原子セット
書き込み機能の場合、SETアドレスを用いてプロセッ
サ割り込みレジスタ32に対し原子的に書き込むことに
よって、対応するプロセッサ割り込みレジスタ32にお
けるビット17〜31のうち1つ以上のビットを論理回
路1にセットすることができる。図4cに示すレジスタ
のビット17〜31のうち任意のビットを論理回路1に
セットすることによって、指定のレベルの指定割り込み
が対応するプロセッサに送られることになる。例えば、
プロセッサ50aに割り当てられたプロセッサ割り込み
レジスタ32aのビット31がセットされると、レベル
15の指定割り込みが、プロセッサ50aに送られる。
同様に、図4bに示すように、クリア書き込み機能は、
特定のビットを論理回路1にセットし、CLEARアド
レスを介して、プロセッサ割り込みレジスタ32に書き
込むことによって実施することができる。CLEARア
ドレスを介して、プロセッサ割り込みレジスタ32に書
き込むことによって、対応するソフト割り込みレベルの
ビットがクリアされ、関連するプロセッサ50に対する
割り込みに肯定応答がなされる。従って、セット及びク
リア原子アクセス・メカニズムによって、プロセッサ割
り込みレジスタ32に対する単一操作の原子アクセスが
可能になり、こうしたアクセスに関する相互排他ロック
の必要がなくなる。この結果、コンピュータ・システム
の速度及び単純さが増すことになる。
【0022】プロセッサ割り込みレジスタ32のハード
割り込みビット1〜13は、対応するプロセッサが割り
込み目標レジスタ17においてカレント割り込み目標、
すなわち、CITに指定された場合に限ってアクティブ
になる。さもなければ、ハード割り込みビット1〜13
は、論理0として読み取られる。重要なのは、ハード割
り込みビット1〜13は、「セット」されるのではな
く、特定のプロセッサが割り込み目標レジスタ17を介
して割り込みの「受信」を許可された場合、対応する割
り込み優先順位にある割り込みのカレント状況を反映す
るということである。図3に示す指定ソフト及び定時割
り込み2を参照すると、望ましい実施例の場合、定時事
象またはカウンタ駆動事象からなる非指定割り込みは、
図3のプロセッサ割り込みレジスタ32のハード・ビッ
ト14を介して実施することができる。時間またはカウ
ントに基づく割り込みは、コンピュータ・システムにお
けるタイム・スライスに、あるいは、コンピュータ・コ
ードの性能分析を行うために用いられるのが普通であ
る。望ましい実施例の場合、前者は、非指定割り込みと
して実施され、後者は指定割り込みとして実施される。
同様に、プロセッサ割り込みレジスタ32のハード・ビ
ット15は、システムの同報通信割り込みを表示するた
めに用いられる。
【0023】前述のように、割り込み目標レジスタ17
は、割り込み目標レジスタ17内に含まれる2ビット・
コードによって指示されるCITに対して、全ての非指
定ハード割り込みを指定する。さらに、ソフト割り込み
は、残りのプロセッサの1つが、ソフト割り込みのサー
ビスを意図された特定のプロセッサ50の1つに対応し
たプロセッサ割り込みレジスタ32のソフト割り込みビ
ット17〜31における適合するビットをセットするこ
とによって、指示された目標プロセッサに指定すること
ができる。両方の場合とも、割り込み信号は、エンコー
ダ33を介して、CITプロセッサとソフト割り込みの
指示された目標プロセッサのいずれかに指定される。現
在のところ望ましいので、エンコーダ33は、4つのプ
ロセッサ50のそれぞれについて、プロセッサ割り込み
レジスタ32から受信した割り込み保留信号を、各プロ
セッサ毎に、全部で15の割り込み優先順位に適合する
4ビットのコードにコード化する。図9を参照すると、
とりわけ、望ましい実施例のSPARCシステムを参照
すると、最高の優先順位には、割り込み優先レベル15
が割り当てられるが、割り込みレベル0が、保留中の割
り込みがないということを表しているわけではない。も
う1度、図3を参照すると、特定のプロセッサに送られ
る割り込み信号が、エンコーダ33から各プロセッサ5
0に出力される。エンコーダ33は、各プロセッサ50
に対して、専用の独特な4ビット割り込み要求回線
(「IRL」)を提供する。IRLによって、各プロセ
ッサは、それに割り当てられた最高レベルの保留割り込
みを受信することが可能になる。割り込み目標レジスタ
17によって割り当てられたCITプロセッサは、非指
定割り込みの操向だけに影響し、各プロセッサは、いつ
でも、保留中の独特なソフト割り込み、指定TIMER
割り込み、または、BROADCAST割り込みを有し
ている。
【0024】非指定割り込み操向アーキテクチャの構成
部分について解説してきたが、次に、システムの動作に
ついて解説する。割り込み操向アーキテクチャの動作
は、多重プロセッサ・システムに生じる3タイプの割り
込みの全てに適応する。本発明の場合、指定割り込み
は、必ず割り込み要求のサービスを受けるため、同じ目
標プロセッサに送られる。指定割り込みは、特定の装
置、エラー状態、または、プロセッサ50から送られる
ソフト割り込みから生じる可能性がある。図9に示すよ
うに、ソフト割り込みは、各種割り込み優先順位で、ソ
フトウエアを介してプロセッサ50の任意の1つから残
りのプロセッサ50の任意の1つに送られる。指定割り
込みは、サービスを受けるため、プロセッサ50の特定
の1つに送られる。指定割り込みは、選択によって、あ
るいは、システム設計の制約によって、速度または他の
理由から特定のプロセッサが割り込み要求のサービスを
行う必要がある場合には、取り入れることが可能であ
る。
【0025】非指定割り込みは、システム装置から生じ
る可能性があるが、割り込み操向論理装置20は、既知
の方法で要求のサービスを行うため、CITプロセッサ
に割り込みを指定する。従って、非指定割り込みのサー
ビスは、本発明を利用するコンピュータ・システム内の
全てのプロセッサ50の間で共用することが可能であ
る。重要なのは、本発明の場合、よりフレキシブルな割
り込みサービス割り当てアルゴリズムを支援するため、
CITは、プログラム可能である、すなわち、システム
内のプロセッサ50のうち任意の1つを選択して、全て
の非指定割り込みを受信することが可能である。同報通
信割り込みは、プロセッサによって同報通信割り込みが
開始する場合、送り出しを開始するプロセッサを含め
て、コンピュータ・システム内の全てのプロセッサ50
に送られる。同報通信割り込みは、例えば、システム・
エラー検出論理回路によって送り出される可能性もあ
る。同報通信割り込みは、どの割り込み優先順位におい
ても送り出すことが可能である。プロセッサによって送
り出される場合、同報通信割り込みは、システム内の各
プロセッサ毎に1つずつ送り出される一連のソフト割り
込みによって実施することが可能である。同報通信割り
込みの有効な働きは、プロセッサ割り込みレジスタ32
のソフト割り込みビットを介して、または、プロセッサ
割り込みレジスタ32のハード・ビット15を介して、
全てのプロセッサ50に同じ割り込み優先順位をセット
することにある。
【0026】システム設計者は、任意の割り込み配送案
を選択することができるが、下記の配送案は、図3に示
す本発明の望ましい実施例において実現することが可能
である。4つのプロセッサ50a、50b、50c、及
び、50dのそれぞれが、ソフト割り込みレベル14、
すなわち、高分解能タイマ割り込み優先順位によって実
施されるソフトウエア・プロファイリングのため指定割
り込みを受信する。さらに、4つのプロセッサプロセッ
サ50a、50b、50c、及び、50dのそれぞれ
が、それぞれ、プロセッサ割り込みレジスタ32a、3
2b、32c、及び、32dを介して肯定された優先順
位の指定ハード及びソフト割り込みを受信する機能を有
している。非指定システム割り込みは、全て、カレント
割り込み目標すなわちCITである割り込み目標レジス
タ17によって指示されるプロセッサ50の1つに送ら
れる。CITは、割り込み自体のサービスを行うことが
可能であり、あるいは、引き続き、指定割り込みメカニ
ズム及び共用メモリ通信を介して、残りのプロセッサ5
0によってサービスを受ける非指定割り込みのスケジュ
ーリングを行うことが可能である。レベル15のハード
割り込みは、全て、全プロセッサに同報通信され、任意
のレベル15の割り込み源の肯定によって、プロセッサ
割り込みレジスタ32のそれぞれにおいてレベル15の
ビットがセットされる。全プロセッサ50が、対応する
プロセッサ割り込み保留レジスタ32内におけるレベル
15ハード割り込みビットのクリア書き込みを行うこと
によって、レベル15割り込みの肯定に肯定応答するこ
とができる。
【0027】下記の動作例のため、プロセッサ50aが
CITに割り当てられたプロセッサであると仮定する。
CITとしてプロセッサ50aを識別する2ビット2進
プロセッサ識別コードが、割り込み目標レジスタ17に
記憶される。割り込み目標レジスタ17がプロセッサ5
0aを表す2進コードを記憶している限り、割り込み操
向メカニズムが受信する全ての非指定割り込みはプロセ
ッサ50aに指定される。カレント割り込み目標が、割
り込み目標レジスタ17によって識別されるにもかかわ
らず、優先順位が最高のハード割り込み源1から受信し
た割り込み、すなわち、同報通信割り込みは、コンピュ
ータ・システム内における全てのプロセッサ50に配送
される。すなわち、書き込みエラー、メモリ・エラー、
または、他のシステムエラーによって送り出された割り
込みは、等しく、プロセッサ50a、50b、50c、
または、50dに対して送り出される。同報通信割り込
みが発生すると、全てのプロセッサ割り込みレジスタ3
2のビット位置15に論理1が生じる場合に一時記憶さ
れる。従って、プロセッサ50aは、プロセッサ50a
の割り込みレジスタ32aにおけるビット15が論理1
の場合、同報通信割り込みが送り出されたものと認識す
る。同様に、プロセッサ50b、プロセッサ50c、及
び、プロセッサ50dは、プロセッサ割り込みレジスタ
32b、32c、及び、32dのビット15が、それぞ
れ、論理1にセットされていると、同報通信割り込みが
送り出されたものと認識する。プロセッサ50aが、カ
レント割り込み目標であることを想起すると、非CIT
プロセッサ50b、プロセッサ50c、及び、プロセッ
サ50dが、こうしたプロセッサが実際に割り込みサー
ビスを行うことを必要とせずに、割り込みの発生を肯定
応答することが可能なメカニズムが得られることにな
る。肯定応答は、上述の原子アクセス・メカニズムを介
して、それぞれのプロセッサ割り込みレジスタ32b、
32c、及び、32dのビット15について原子的にク
リア書き込みを行うことによって行われる。簡単に言え
ば、ビット15の原子クリアまたはリセットは、そのプ
ロセッサに関連した対応するプロセッサ割り込みレジス
タを指示する、クリア書き込みアドレスに対して書き込
みを行うカレント目標ではないプロセッサによって行わ
れることになる。クリア書き込み命令には、その2進相
当値のハード割り込みビット15に対応する2進データ
位置が論理1である、データを伴うことになる。カレン
ト例の場合、プロセッサ50aは、カレント割り込み目
標に割り当てられるので、プロセッサ50b、プロセッ
サ50c、及び、プロセッサ50dは、全て、それぞれ
のプロセッサ割り込み保留レジスタ32を介して受信し
たレベル15の同報通信割り込みに肯定応答することが
できる。従って、プロセッサ50bの場合、プロセッサ
割り込みレジスタ32bに割り当てられたクリア書き込
みアドレスが、例えば、ADDR4であれば、レベル1
5の同報通信割り込みの受信時にプロセッサ50bによ
って実行される原子クリア書き込み命令は、WRT A
DDR4 8000Hになる。ビット15位置における
論理1に相当する16進データによる原子クリア書き込
み命令を実行すると、プロセッサ割り込みレジスタ32
b内において対応するレベル15ビットがクリアされ、
この結果、同報通信割り込みが肯定応答される。同様の
機能が、コンピュータ・システム内の全ての50及びプ
ロセッサ割り込みレジスタ32について実施される。
【0028】さらに図3を参照すると、ソフト割り込み
2は、任意のプロセッサが、ソフト割り込みのサービス
を行うことが所望されるプロセッサに対応する、ソフト
割り込みレジスタ12内におけるレジスタ・ビットを原
子的にセット書き込みすることによって、任意のプロセ
ッサ50に指定することが可能である。物理的には、ソ
フト割り込みレジスタ12は、1であり、プロセッサ割
り込みレジスタ32のビット位置17〜31と同じであ
る。ビット17〜31の任意のビットが論理1にセット
されるように、任意のプロセッサ50のソフト割り込み
レジスタ12に対する原子的セット書き込みを行うこと
によって、関連するプロセッサ割り込みレジスタ32の
対応するビットがセットされ、この結果、そのレベルの
割り込みが適合するプロセッサに指定される。従って、
プロセッサ50aが、カレント割り込み目標であるが、
プロセッサ50aの判断により、プロセッサ50bに次
のレベル8の割り込みのサービスを行わせることになる
と、プロセッサ50aは、プロセッサ50bの割り込み
レジスタ32bのソフト割り込みがセットされたフィー
ルド(ビット17〜31)に、ビット8をセットするデ
ータを備えた原子セット書き込み命令を実行する。留意
すべきは、プロセッサ50bの割り込みレジスタ32b
に関するアドレスが、プロセッサ50aの割り込みレジ
スタ32aに関するセット書き込みアドレスに割り当て
られたアドレスと異なり、かつ、プロセッサ割り込みレ
ジスタ32b自体に関するクリア書き込みアドレスとも
異なっているという点である。代替案として、プロセッ
サ50の任意の1つが、割り込み目標レジスタ17の項
目によって明示された現在割り当てられているCITで
なく、そのプロセッサがカレント割り込み目標になるこ
とが望ましいと判断することが可能である。こうした場
合、カレント割り込み目標になろうとする任意のプロセ
ッサ50は、その識別コードを割り込み目標レジスタ1
7に書き込むことによって、旧CITにとって代わるこ
とになる。しかし、任意のプロセッサが、それ自体の識
別コードを割り込み目標レジスタ17に書き込むこと
で、CITプロセッサのオーナシップを得るという「取
得」アルゴリズムによって、前CITに、スプリアス割
り込みを体験させることになる可能性がある。スプリア
ス割り込みのサービスは、コンピュータ・システムの性
能を劣化させることになる可能性がある。従って、カレ
ントCITプロセッサが割り込み目標レジスタ17に新
しいプロセッサの識別コードを書き込むことによって、
CIT機能を新しいプロセッサに割り当てる、「放棄」
アルゴリズムが望ましい。
【0029】本発明が適応する最大の割り込みグループ
は、図3に示す非指定可変優先順位割り込み源3からの
ものである。最高レベル15のシステム同報通信割り込
み、指定タイマ割り込み、または、特定のプロセッサに
指定されたソフト割り込みではない割り込みは、全て、
システム割り込み保留レジスタ13、割り込み目標マス
クレジスタ15、及び、割り込み操向論理装置20によ
って評価され、配送される。本例のように、プロセッサ
50aがカレント割り込み目標であり、割り込みが、例
えば、直列ポートによって送り出される場合、該直列ポ
ートの割り込みは、図7及び図8に示すシステム割り込
み保留レジスタ13に関するビット割り当てに従って、
システム割り込み保留レジスタ13のビット15であ
る、直列ポート・ビットによって表示されることにな
る。割り込み目標マスク・レジスタ15内のビットが、
カレント割り込み目標からの割り込みをマスクするよう
にセットされていない場合、CIT、すなわち、プロセ
ッサ50aは、システム割り込み保留レジスタ13によ
って表示の保留直列ポート割り込みを表す、プロセッサ
割り込みレジスタ32aのビット12である、直列ポー
ト割り込みのサービスを行う。ここで、プロセッサ50
aは直列ポート割り込みのサービスを行っているが、S
Bus装置から新しい割り込みを受信し、すぐその後
で、プロセッサ50aのタイマ・カウンタからの割り込
みを受信するものと仮定する。プロセッサ50aは、ま
だ、前に受信した直列ポート割り込みサービス要求によ
って占められているので、プロセッサ50aは、能動的
に後続の割り込みに対するサービスを開始することはで
きない。しかし、システム割り込み保留レジスタ13
は、図7に示す割り当て案に従って、システム割り込み
保留レジスタ13の適合するビット位置に論理1を示す
ことによってSBus割り込みの発生を一時記憶するこ
とになる。プロセッサ50aの割り込み保留レジスタ3
2aは、ビット14に論理1を示すことによって、指定
タイマの発生を一時記憶する。本例の場合、システム割
り込み保留レジスタ13のビット7〜13の1つが、C
ITに対してSBus装置がサービスを要求しているこ
とを表示する。
【0030】プロセッサ50aが、割り込みのマスクを
行っていないものと仮定すると、プロセッサ50aは、
優先順位に従って、保留中の割り込みにサービスを行う
ことになる。現在のところ望ましい実施例の場合、プロ
セッサ・カウンタ・タイマには、SBus割り込みレベ
ルよりも高い優先順位が与えられるが、同様の結果が得
られるように、優先順位化案を実現することが可能であ
る。プロセッサ50aは、直列ポート割り込みのサービ
スを済ますと、任意のプロセッサに割り当てることの可
能な、次に優先順位の高い割り込みのサービスをプロセ
ッサ50cにさせようと決定するものと仮定する。本例
の場合、プロセッサ50aについて保留中のカウンタ・
タイマ割り込みは、もっと優先順位が高いが、カウンタ
・タイマ割り込みは、プロセッサ50aに関して固有の
ものであり、従って、プロセッサ50cに指定すること
はできない。それどころか、プロセッサ50aは、SB
us装置の優先順位に従って、プロセッサ割り込みレジ
スタ32cのソフト割り込みビット17〜31の1つを
原子的にセット書き込みし、それによって、プロセッサ
50cに関して割り込み保留レジスタをセットする。同
様に、プロセッサ50aは、割り込み目標マスク・レジ
スタ15の適合するビットに原子的にセット書き込みす
る。割り込み目標マスク・レジスタ15によって、プロ
セッサ50aは、プログラムの実行を進め、SBus装
置の割り込みのサービスをプロセッサ50cに受け渡
す。プロセッサ50aは、同様に、どの装置にサービス
を施すべきかを示すメモリに、プロセッサ50cに関す
るメッセージを残す。プロセッサ50cは、SBus装
置のサービスを終えると、割り込み目標マスク・レジス
タ15内の適合するマスク・ビットをクリアし、再び、
プロセッサ50aが該SBus装置から割り込みを受
け、それにサービスを施すことができるようにする。従
って、プロセッサ50cは、それが送り出した特定のレ
ベルで、保留SBus割り込みを受信する。プロセッサ
50aは、直列ポート割り込みのサービスを完了する
と、プロセッサ50aの割り込みレジスタ32aにおい
てハード割り込みビット14の形をとることによって、
プロセッサ50aに指定されたカウンタ・タイマ割り込
みのサービスも行う。適合するビットを割り込み目標マ
スク・レジスタ15にセットすることによって、プロセ
ッサ50aは、対応する割り込み、例えば、SBus割
り込みを「トラップ」しなくなり、代わりに、該割り込
みは代替プロセッサ、この場合、プロセッサ50cに指
定される。プロセッサ50cは、プロセッサ50aが、
前述の原子セット書き込み機能によって、指定割り込み
をプロセッサ50cに送ることによって選択され、プロ
セッサ50cの割り込みレジスタ32cにおける特定の
ビットが、SBus割り込みの特定のレベルに対応する
ようにセットされる。簡単に図4cを参照すると、留意
すべきは、原子セット書き込み指令は、プロセッサ50
cの割り込みレジスタ32cにおけるソフト割り込みビ
ット位置17〜31だけにしか影響しないという点であ
る。逆に、プロセッサ割り込みレジスタ32のハード割
り込みビット1〜15は、プロセッサに割り込み目標レ
ジスタ17を介して割り込みを体験させることができれ
ば、対応するレベルの割り込みのカレント状況だけしか
反映しない。従って、SBus装置からの割り込みをマ
スクし、ソフト割り込みを介してプロセッサ50cにそ
の割り込みを送ることによって、プロセッサ50aは、
別のプロセッサによる割り込みのサービスのスケジュー
リングを行い、同時に、CITの変更は行わずにおい
て、一般的な割り込みサービスのオーナシップを保持す
ることが可能である。逆に、プロセッサ50aが、忙し
すぎて、それ以上のハード割り込みのサービスが行えな
いと判断した場合、プロセッサ50aは、CITのオー
ナシップを放棄し、割り込み目標レジスタ17にプロセ
ッサ50cに関する識別コードを書き込むことによっ
て、CIT機能をプロセッサ50cに移行することがで
きる。その場合、プロセッサ50cは、SBus装置か
らのような後続の全ての保留ハード割り込みを受信し、
各割り込みについてサービスを行うべきか、あるいは、
転送すべきか選択することになる。
【0031】あらゆる場合において、プロセッサ50に
送られ、それぞれのプロセッサ割り込みレジスタ32に
よって指示される割り込みは、エンコーダ33を介し
て、各プロセッサ毎に、4ビットの割り込み要求レベル
信号にコード化される。割り込み要求レベル信号は、割
り込み要求回線35a〜dを介して、プロセッサ50
a、50b、50c、及び、50dのそれぞれに固有の
4つの割り込み要求レベル通信経路に送り出される。プ
ロセッサ50a、50b、50c、及び、50dは、そ
れぞれ、プロセッサを割り込みエンコーダ33に相互接
続して、各プロセッサがエンコーダ33によってコード
化された15の優先順位の割り込みのそれぞれに応答で
きるようにする4つのワイヤ・データ経路を備えてい
る。
【0032】従って、本出願の内容であるアーキテクチ
ャは、SPARCアーキテクチャに組み込まれる15の
異なる割り込み優先順位に適応する。
【0033】以上で、多重プロセッサ・コンピュータ・
システム内における特定のプロセッサに対して非指定割
り込みの動的操向を行うための方法及び装置に関する説
明を終えることにする。本発明の精神及び範囲を逸脱す
ることなく、当該技術の通常の技能者によって、本発明
における要素の材料及び構成に対して変更及び修正を加
えることができるように意図されたものである。
【図面の簡単な説明】
【図1】本発明に適合する割り込みのタイプを表した図
である。
【図2】非指定割り込み操向の発明を構成する非指定割
り込みサービス・モジュールをブロック図で示した一般
化ブロック図である。
【図3】割り込み操向アーキテクチャの概略図である。
【図4】読み取り専用動作時、クリア書き込み動作時、
セット書き込み動作時それぞれにおける本発明の望まし
い実施例のレジスタに関するビット割り当てを示す図で
ある。
【図5】本発明における割り込み目標レジスタの概略図
である。
【図6】本発明の望ましい実施例の割り込み目標マスク
レジスタの概略図である。
【図7】本発明の望ましい実施例のシステム割り込み保
留レジスタの概略図である。
【図8】図6に示す割り込み目標マスクレジスタ及び図
7に示すシステム割り込み保留レジスタに関するビット
割り当てを解説した凡例。
【図9】本発明の望ましい実施例のソフト及びハード割
り込み源に関するビット割り当てを解説した凡例。
【符号の説明】
1 同報通信ハード割り込み源 13 システム割り込み保留レジスタ 15 割り込み目標マスク・レジスタ 17 割り込み目標レジスタ 32 プロセッサ割り込みレジスタ 33 エンコーダ 50 割り込みビット・プロセッサ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・システムにおける、複数
    のプロセッサのうち任意のプロセッサに多数の可変優先
    順位割り込み信号を動的に指定するための割り込み操向
    システムにおいて、 少なくとも1つのシステム装置に結合されて、前記シス
    テム装置が送りだした前記可変優先順位割り込み信号を
    受信する割り込み受信手段と、 前記割り込み受信手段に結合されて、前記可変優先順位
    割り込み信号を、前記割り込み操向手段に結合されて、
    前記複数の可変優先順位割り込み信号が保留であれば、
    必ず、前記プロセッサに知らせる割り込み保留通告手段
    に指定する割り込み操向手段と、 前記割り込み保留通告手段に結合されて、前記可変優先
    順位割り込み信号をプロセッサに送られる複数のコード
    化されたプロセッサに固有の割り込みに変換する割り込
    みコード化手段とから構成される割り込み操向システ
    ム。
  2. 【請求項2】 コンピュータ・システムにおける、複数
    のプロセッサのうち任意のプロセッサに多数の優先順位
    の異なる割り込み信号を動的に指定するための割り込み
    操向システムにおいて、 少なくとも1つのシステム装置が送り出す複数の優先順
    位の割り当てられた割り込み信号を受信するための割り
    込み保留レジスタと、 前記割り込み保留レジスタに結合されて、複数の優先順
    位のマスクされた割り込み信号発生する、前記優先順位
    の割り当てられた割り込みをさまざまにブロックするた
    めの割り込み目標マスキング・レジスタと、 前記割り込み目標マスキング・レジスタから前記複数の
    優先順位のマスクされた割り込み信号を受信するように
    接続され、前記優先順位の割り当てられた複数の割り込
    み信号をカレント割り込み目標プロセッサに送る操向手
    段と、 前記操向手段に結合されて、前記カレント割り込み目標
    プロセッサを識別するための割り込み目標識別レジスタ
    と、 前記操向手段に結合されて、前記優先順位の割り当てら
    れた割り込み信号が保留の場合、前記カレント割り込み
    目標プロセッサに通告する複数のプロセッサ割り込み保
    留レジスタと、 前記複数のプロセッサに結合されて、前記複数のプロセ
    ッサのどれかが発生した複数のソフト割り込み信号を受
    信するようになっており、さらに、前記プロセッサ割り
    込み保留レジスタにも結合されているソフト割り込みレ
    ジスタを備えた複数の指定割り込み受信手段と、 前記複数のプロセッサ割り込み保留レジスタに結合され
    て、前記優先順位を割り当てられた割り込み信号、前記
    ソフト割り込み信号、及び、前記同報通信割り込み信号
    を複数のコード化されたプロセッサに固有の割り込み通
    告信号に変換するためのプロセッサ・コード化手段と、 前記プロセッサ・コード化手段に結合され、さらに、前
    記複数のプロセッサに結合されて、前記コード化された
    プロセッサに固有の割り込み通告信号を前記複数のプロ
    セッサに送るための複数の割り込み要求回線と、 から構成され、前記複数のプロセッサ割り込み保留レジ
    スタが、さらに、前記複数のシステム装置に結合され
    て、複数の優先順位が最高の同報通信割り込み信号を受
    信し、 前記複数の指定割り込み受信手段に、さらに、前記複数
    のプロセッサのうち任意のプロセッサに関して複数の計
    時割り込み信号を発生する、前記プロセッサ割り込み保
    留レジスタに対するタイマ割り込み手段が設けらている
    割り込み操向システム。
  3. 【請求項3】 コンピュータ・システムにおける、複数
    のプロセッサのうち任意のプロセッサに多数の優先順位
    の異なる割り込み信号を動的に指定するための方法にお
    いて、 複数の優先順位の割り当てられた割り込み信号を受信す
    るステップと、 前記優先順位の割り当てられた割り込み信号をさまざま
    にブロックし、複数のマスクされた優先順位割り込み信
    号を発生するステップと、 入力が前記複数のマスクされた優先順位割り込み信号を
    受信するように接続されている、前記優先順位の割り当
    てられた割り込み信号をカレント割り込み目標プロセッ
    サに指定する操向手段を設けるステップと、 前記操向手段に結合されて、前記カレント割り込み目標
    プロセッサを識別するための割り込み目標識別手段を設
    けるステップと、 前記プロセッサに固有の割り込み通告信号を受信するス
    テップと、 前記複数のプロセッサのうち任意のプロセッサが発生し
    た複数のソフト割り込みを受信するステップと、 前記複数のプロセッサのうち任意のプロセッサについて
    複数の計時割り込みを発生するステップと、 前記プロセッサに固有の割り込み通告信号を複数のコー
    ド化されたプロセッサに固有の割り込み通告信号に変換
    するステップと、 前記コード化されたプロセッサに固有の割り込み通告信
    号を前記複数のプロセッサに送るステップと、 から構成される割り込み信号を動的に指定するための方
    法。
JP28111092A 1991-09-27 1992-09-28 多重プロセッサ・コンピュータの割り込み操向システム Expired - Lifetime JP3381732B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76702391A 1991-09-27 1991-09-27
US767023 1991-09-27

Publications (2)

Publication Number Publication Date
JPH06266676A true JPH06266676A (ja) 1994-09-22
JP3381732B2 JP3381732B2 (ja) 2003-03-04

Family

ID=25078264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28111092A Expired - Lifetime JP3381732B2 (ja) 1991-09-27 1992-09-28 多重プロセッサ・コンピュータの割り込み操向システム

Country Status (5)

Country Link
US (1) US5560019A (ja)
EP (1) EP0535821B1 (ja)
JP (1) JP3381732B2 (ja)
KR (1) KR0176262B1 (ja)
DE (1) DE69223303T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192128A (ja) * 2007-01-11 2008-08-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8645668B2 (en) 2007-01-11 2014-02-04 Sony Corporation Information processing apparatus, information processing method and computer program

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809309A (en) * 1990-09-28 1998-09-15 Texas Instruments Incorporated Processing devices with look-ahead instruction systems and methods
US5905898A (en) * 1994-05-31 1999-05-18 Advanced Micro Devices, Inc. Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
US5781187A (en) * 1994-05-31 1998-07-14 Advanced Micro Devices, Inc. Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
EP0685798B1 (en) * 1994-05-31 2003-07-16 Advanced Micro Devices, Inc. Interrupt controllers in symmetrical multiprocessing systems
JPH0895798A (ja) * 1994-09-29 1996-04-12 Fujitsu Ltd データ処理装置
US5630049A (en) * 1994-11-30 1997-05-13 Digital Equipment Corporation Method and apparatus for testing software on a computer network
US5862389A (en) * 1995-02-27 1999-01-19 Intel Corporation Method and apparatus for selectively invoking a particular interrupt service routine for a particular interrupt request
US5692170A (en) * 1995-04-28 1997-11-25 Metaflow Technologies, Inc. Apparatus for detecting and executing traps in a superscalar processor
US5692200A (en) * 1995-10-16 1997-11-25 Compaq Computer Corporation Bridge circuit for preventing data incoherency by holding off propagation of data transfer completion interrupts until data clears the bridge circuit
KR0156173B1 (ko) * 1995-11-21 1998-11-16 문정환 인터럽트 발생회로
US5778236A (en) * 1996-05-17 1998-07-07 Advanced Micro Devices, Inc. Multiprocessing interrupt controller on I/O bus
US5923887A (en) * 1996-05-20 1999-07-13 Advanced Micro Devices, Inc. Interrupt request that defines resource usage
US5842026A (en) * 1996-07-01 1998-11-24 Sun Microsystems, Inc. Interrupt transfer management process and system for a multi-processor environment
CA2213767A1 (en) * 1996-08-20 1998-02-20 Norand Corporation Wireless communication system having reduced noise mode operation capability
US6125418A (en) * 1996-11-27 2000-09-26 Compaq Computer Corporation Method and apparatus for enabling a computer user to convert a computer system to an intelligent I/O system
US5848279A (en) * 1996-12-27 1998-12-08 Intel Corporation Mechanism for delivering interrupt messages
US5905897A (en) * 1997-03-20 1999-05-18 Industrial Technology Research Institute Method and apparatus for selecting a nonblocked interrupt request
US5983266A (en) * 1997-03-26 1999-11-09 Unisys Corporation Control method for message communication in network supporting software emulated modules and hardware implemented modules
DE69827755T2 (de) * 1997-07-21 2005-11-03 Koninklijke Philips Electronics N.V. Verfahren zum betreiben eines kommunikationskanals in einer gemischten master-/slave-teilnehmerumgebung durch eine dynamische schliess- und/oder öffnungsoperation und system zur durchführung des verfahrens
US6006301A (en) * 1997-09-30 1999-12-21 Intel Corporation Multi-delivery scheme interrupt router
US6192439B1 (en) * 1998-08-11 2001-02-20 Hewlett-Packard Company PCI-compliant interrupt steering architecture
US6138197A (en) * 1998-09-17 2000-10-24 Sun Microsystems, Inc. Apparatus and method for limit-based arbitration scheme
US6092143A (en) * 1998-10-20 2000-07-18 Advanced Micro Devices, Inc. Mechanism for synchronizing service of interrupts by a plurality of data processors
US6253260B1 (en) * 1998-10-22 2001-06-26 International Business Machines Corporation Input/output data access request with assigned priority handling
US6633942B1 (en) * 1999-08-12 2003-10-14 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing integrated interrupt management
US6735655B1 (en) * 1999-09-29 2004-05-11 Emc Corporation Interrupt request controller
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
US6947999B1 (en) 2000-03-17 2005-09-20 Exar Corporation UART with compressed user accessible interrupt codes
US6658594B1 (en) * 2000-07-13 2003-12-02 International Business Machines Corporation Attention mechanism for immediately displaying/logging system checkpoints
US7103696B2 (en) * 2001-04-04 2006-09-05 Adaptec, Inc. Circuit and method for hiding peer devices in a computer bus
US6775728B2 (en) 2001-11-15 2004-08-10 Intel Corporation Method and system for concurrent handler execution in an SMI and PMI-based dispatch-execution framework
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
US7222203B2 (en) * 2003-12-08 2007-05-22 Intel Corporation Interrupt redirection for virtual partitioning
US7240137B2 (en) * 2004-08-26 2007-07-03 International Business Machines Corporation System and method for message delivery across a plurality of processors
US7222200B2 (en) * 2004-10-14 2007-05-22 Dell Products L.P. Method for synchronizing processors in SMI following a memory hot plug event
US7386642B2 (en) * 2005-01-28 2008-06-10 Sony Computer Entertainment Inc. IO direct memory access system and method
US7702835B2 (en) * 2005-02-03 2010-04-20 Oracle America, Inc. Tagged interrupt forwarding
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
US7519752B2 (en) * 2006-02-07 2009-04-14 International Business Machines Corporation Apparatus for using information and a count in reissuing commands requiring access to a bus and methods of using the same
JP4971676B2 (ja) * 2006-04-28 2012-07-11 ルネサスエレクトロニクス株式会社 割り込み制御回路及び割り込み制御方法
US20080046891A1 (en) * 2006-07-12 2008-02-21 Jayesh Sanchorawala Cooperative asymmetric multiprocessing for embedded systems
US7941624B2 (en) * 2006-09-28 2011-05-10 Intel Corporation Parallel memory migration
US7493436B2 (en) * 2006-10-26 2009-02-17 International Business Machines Corporation Interrupt handling using simultaneous multi-threading
US8453143B2 (en) * 2007-09-19 2013-05-28 Vmware, Inc. Reducing the latency of virtual interrupt delivery in virtual machines
EP2235630A1 (en) * 2007-12-12 2010-10-06 Nxp B.V. Data processing system and method of interrupt handling
US20090172232A1 (en) * 2007-12-28 2009-07-02 Zimmer Vincent J Method and system for handling a management interrupt event
US7802042B2 (en) * 2007-12-28 2010-09-21 Intel Corporation Method and system for handling a management interrupt event in a multi-processor computing device
JP5169731B2 (ja) * 2008-10-24 2013-03-27 富士通セミコンダクター株式会社 マルチプロセッサシステムlsi
US8352804B2 (en) * 2010-05-20 2013-01-08 Infineon Technologies Ag Systems and methods for secure interrupt handling
US9146776B1 (en) * 2011-08-16 2015-09-29 Marvell International Ltd. Systems and methods for controlling flow of message signaled interrupts
US9128920B2 (en) 2011-11-30 2015-09-08 Marvell World Trade Ltd. Interrupt handling systems and methods for PCIE bridges with multiple buses
US9026705B2 (en) * 2012-08-09 2015-05-05 Oracle International Corporation Interrupt processing unit for preventing interrupt loss
US9665509B2 (en) * 2014-08-20 2017-05-30 Xilinx, Inc. Mechanism for inter-processor interrupts in a heterogeneous multiprocessor system
US20160188503A1 (en) * 2014-12-25 2016-06-30 Intel Corporation Virtual legacy wire
US10013279B2 (en) * 2015-07-28 2018-07-03 International Business Machines Corporation Processing interrupt requests

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4124888A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Peripheral-unit controller apparatus
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
US4349873A (en) * 1980-04-02 1982-09-14 Motorola, Inc. Microprocessor interrupt processing
US4604500A (en) * 1981-12-02 1986-08-05 At&T Bell Laboratories Multiprocessing interrupt arrangement
JPH077379B2 (ja) * 1983-06-22 1995-01-30 株式会社日立製作所 多重処理システムの割込み選択方式
US4769768A (en) * 1983-09-22 1988-09-06 Digital Equipment Corporation Method and apparatus for requesting service of interrupts by selected number of processors
US4779195A (en) * 1985-06-28 1988-10-18 Hewlett-Packard Company Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor
US4796176A (en) * 1985-11-15 1989-01-03 Data General Corporation Interrupt handling in a multiprocessor computing system
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
JPH0268632A (ja) * 1988-09-05 1990-03-08 Toshiba Corp 割込み制御装置
US5287523A (en) * 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
US5222215A (en) * 1991-08-29 1993-06-22 International Business Machines Corporation Cpu expansive gradation of i/o interruption subclass recognition

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192128A (ja) * 2007-01-11 2008-08-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8645668B2 (en) 2007-01-11 2014-02-04 Sony Corporation Information processing apparatus, information processing method and computer program

Also Published As

Publication number Publication date
DE69223303D1 (de) 1998-01-08
KR930006543A (ko) 1993-04-21
US5560019A (en) 1996-09-24
JP3381732B2 (ja) 2003-03-04
EP0535821A1 (en) 1993-04-07
EP0535821B1 (en) 1997-11-26
KR0176262B1 (ko) 1999-05-15
DE69223303T2 (de) 1998-06-18

Similar Documents

Publication Publication Date Title
JP3381732B2 (ja) 多重プロセッサ・コンピュータの割り込み操向システム
KR100292660B1 (ko) 프로세서가통합된인터럽트제어기를갖춘멀티프로세서프로그래머블인터럽트제어기시스템
JP2855298B2 (ja) 割込み要求の仲裁方法およびマルチプロセッサシステム
CA2061127C (en) Multiprocessor system and interrupt arbiter thereof
US5379434A (en) Apparatus and method for managing interrupts in a multiprocessor system
US5555420A (en) Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
KR100457146B1 (ko) 비정형 메모리 액세스 데이터 프로세싱 시스템을 위한 인터럽트 아키텍쳐
US5758169A (en) Protocol for interrupt bus arbitration in a multi-processor system
US6976109B2 (en) Multi-level and multi-resolution bus arbitration
JP2525997B2 (ja) I/o割込みサブクラスの認識方法
US5781187A (en) Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
US5892956A (en) Serial bus for transmitting interrupt information in a multiprocessing system
EP0644487A2 (en) Scalable system interrupt structure for a multiprocessing system
US6473780B1 (en) Scheduling of direct memory access
EP0383475A2 (en) Shared resource arbitration
JPS6220589B2 (ja)
JPH0250753A (ja) コンピュータにおける割込処理装置およびその方法
US5905898A (en) Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
EP0685798B1 (en) Interrupt controllers in symmetrical multiprocessing systems
EP0912943B1 (en) Multiprocessing interrupt controller on i/o bus
US5850558A (en) System and method for referencing interrupt request information in a programmable interrupt controller
US5590338A (en) Combined multiprocessor interrupt controller and interprocessor communication mechanism
US5894578A (en) System and method for using random access memory in a programmable interrupt controller
EP0969367A2 (en) System and method used in a computer system for distributing tasks between multiprocessing I/O subsystems
GB2277388A (en) Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111220

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121220

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121220

Year of fee payment: 10