JPH07105031A - 多重プロセッサ・コンピュータ・システム内で割込み情報を伝えるための方法および装置 - Google Patents

多重プロセッサ・コンピュータ・システム内で割込み情報を伝えるための方法および装置

Info

Publication number
JPH07105031A
JPH07105031A JP6187212A JP18721294A JPH07105031A JP H07105031 A JPH07105031 A JP H07105031A JP 6187212 A JP6187212 A JP 6187212A JP 18721294 A JP18721294 A JP 18721294A JP H07105031 A JPH07105031 A JP H07105031A
Authority
JP
Japan
Prior art keywords
interrupt
processor
information
packet
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.)
Pending
Application number
JP6187212A
Other languages
English (en)
Inventor
Ronad Xavier Arroyo
ロナルド・サヴィエル・アロヨ
William Brent Chandler
ウィリアム・ブレント・チャンドラー
George William Daly Jr
ジョージ・ウィリアム・ダリー・ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07105031A publication Critical patent/JPH07105031A/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

Abstract

(57)【要約】 【目的】 割込み要求と割込みリセットの両方のための
割込みパケット・プロトコルを提供すること。 【構成】 割込みを伝え、情報を転送するのにアドレス
・バス・パケットを使用する。割込みソースは、割込み
要求を有する時に、アドレス・バスの使用を要求する。
バスを認可された時、割込みソースは、割込み要求パケ
ットを送り出す。割込みコントローラが、その情報を処
理し、割込みをプロセッサに知らせる。多重処理システ
ムでは、割込みコントローラが、適当なプロセッサに割
込み情報を経路指定できる。プロセッサは、その割込み
の処理を終えた時に、割込みソースにリセット・パケッ
トを送るよう割込みコントローラに警告する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムに
関し、具体的には、割込みソース(元)とデータ処理シ
ステム内の割込みプロセッサの間で割込み情報を伝える
方法に関する。
【0002】
【従来の技術】データ処理システムでは、割込みが、割
込み条件が所与のソースに存在することをプロセッサに
知らせるのに使用される。この割込みソースは、たとえ
ば、ある種のサービスを必要とするシステム・バス上の
アダプタ・カードである。必要なサービスとは、データ
転送の開始や、最近変化した状況レジスタの読取りであ
る可能性がある。
【0003】プロセッサが、割込みを受け付けるように
条件付けられている(割込み可能と称する)時には、そ
のプロセッサは、割込みを受け取った時に割込み処理を
開始する。この割込み処理では、通常、プロセッサによ
る割込みソースの問い合わせ、割込みのタイプに基づく
機能の実行、および割込みのリセット(割込みをオフに
すること)が行われる。
【0004】割込み優先順位も、従来のシステムに適応
されてきた。所与の時刻に複数の割込み信号が活動状態
になる場合、割込み優先順位を使用して、どの割込みを
最初に処理するかをプロセッサに指示する。
【0005】割込みコントローラは、割込み信号のリセ
ットなど、必要な特定の割込みハンドシェーク機能を制
御するように設計されてきた。そのような割込みコント
ローラの典型が、Intel社の8259コントローラ
であり、これは、IntelComponent Da
ta Catalog, 1981(IntelCor
p. Literature Department,
米国3065 カリフォルニア州サンタ・クララから入
手可能)等に記載されている。これらの割込みコントロ
ーラは、複数の割込みソースを監視でき、単一の割込み
線だけを使用してプロセッサに割り込む。
【0006】
【発明が解決しようとする課題】現在の割込み信号生成
方法は、主に、少数の割込みソースまたは少数の割込み
優先順位を有する単一プロセッサ・システム用に設計さ
れている。ほとんどのシステムは、プレーナ上に配線さ
れた1つまたは複数の割込み線を介して割込みを送る。
割込みをサービスできるプロセッサが複数存在する多重
プロセッサ環境では、このタイプの割込み信号生成技法
を用いると、バスの複雑さが増大する。各割込みソース
からの割込み信号を、そのような割込みをサービスでき
るプロセッサまたは割込みコントローラのそれぞれに配
線しなければならない。
【0007】多重処理データ処理システムの必要を満足
しようとする試みには、システム内のプロセッサごとに
専用の割込みコントローラが必要であった。この手法
は、費用がかさむだけではなく、複数のソースが生成す
る、処理のため複数のプロセッサに経路指定されなけれ
ばならない割込みの首尾一貫した管理を行えない。
【0008】拡張可能であり、多数の割込みソースと優
先レベルを許容する方法が求められている。さらに、複
数のプロセッサと複数の割込みコントローラを扱う多重
処理システムと共に使用するための、割込み情報を伝え
る方法が必要である。
【0009】現在の割込みシステムは、ハードウェア固
有であり、ソフトウェア依存度がさまざまである。割込
みの数またはタイプを変更するには、特定のオペレーテ
ィング・システム・ソフトウェアに変更を加える必要が
ある。基礎となるハードウェア割込み構造からのソフト
ウェア独立性を提供する割込みサブシステムが必要であ
る。
【0010】
【課題を解決するための手段】本発明は、データ処理シ
ステム内の割込みサブシステムである。この割込みサブ
システムは、ローエンド単一プロセッサ・システムから
ハイエンド多重プロセッサ・(MP)システムまでスケ
ーラブル(拡張可能)である。この割込みサブシステム
は、多数のソースからの割込みの待ち行列化と、MPシ
ステム内の最適プロセッサへの割込みの待ち行列化を提
供する。これは、外部割込み機構を2つの層すなわち、
割込み経路指定層と割込み提示(プレゼンテーション)
層に分離することによって達成される。割込み経路指定
層は、割込み提示層内の割込み管理区域の適当な実体に
割込み条件を経路指定する。割込み経路指定層はスケー
ラブルであって、ローエンド・ローコスト・システムと
ハイエンド高性能システムの両方をサポートする。割込
み提示層は、割込みソースを、その割込みをサービスま
たは処理するシステム・ソフトウェアに通信する。この
ソフトウェアが、割込み条件を受け入れ、その割込み条
件をリセットする責任を負う。また、このソフトウェア
は、割込みの受け入れを示し、その割込みを処理し終え
たことを割込み提示層に通知する。
【0011】割込みサブシステム内に2つの層を設ける
ことによって、割込みのタイプまたは割込みのソースか
ら独立であり、基礎となるシステム・ハードウェア構造
から独立なアプリケーション・ソフトウェアまたはシス
テム・ソフトウェアを記述できる。割込み経路指定層
は、特定のハードウェア実施態様の詳細をソフトウェア
から隠蔽する。割込み提示層は、システム・ソフトウェ
アまたはアプリケーション・ソフトウェアにインターフ
ェースし、ハードウェア独立の機能を提供する。
【0012】本発明では、さらに、割込み要求と割込み
リセットの両方のための割込みパケット・プロトコルを
定義する。アドレス・バス・パケットを使用するが、こ
れには、配線方法に比べて多数の利点がある。割込みソ
ース(以下、入出力コントローラまたはIOCと称す
る)が割込み要求を有する時、そのIOCは、アドレス
・バスを要求する。バスを使用許可された時、IOC
は、アドレス・バスを介して割込み要求パケットを送
る。割込みコントローラが、その情報を処理し、割込み
をプロセッサに知らせる。多重処理システムでは、割込
みコントローラが、適当なプロセッサに割込み情報を経
路指定できる。プロセッサは、その割込みの処理を終え
た時に、IOCにリセット・パケットを送るよう割込み
コントローラに警告する。その後、割込みコントローラ
が、アドレス・バスを要求する。アドレス・バスを使用
許可された時、割込みコントローラは、アドレス・バス
を介して割込みリセット・パケットを送る。
【0013】通常はアドレスのそれぞれに関して複数サ
イクルのデータ転送があるので、データ・バスは、アド
レス・バスより頻繁に使用される。アドレス・バスを介
して割込み情報を送ることによって、使用頻度の高いデ
ータ・バスではなく、利用度の低い資源であるアドレス
・バスを使用することが可能になる。アドレス・バスを
使用することのもう1つの長所は、好ましい実施例で
は、システム・バス上のすべてのICチップが、アドレ
ス・バス全体を使用することである。しかし、これらの
ICチップは、すべてがデータ・バス全体を使用するわ
けではない。したがって、アドレス・バス上の割込みパ
ケットは、システム内に既に存在するアドレス線を、ピ
ンやワイヤのコストなしで使用する。これは、複数の別
個の割込み線を使用する従来の方法と大きく異なる。
【0014】メモリ・マップ式入出力は、入出力動作の
実行に最も広く使用されている方法なので、割込みパケ
ットを送るための方法としてこれを使用する。これは入
出力を実行するための最も一般的な方法であるので、シ
ステム・バス上のすべてのチップが、既にメモリ・マッ
プ式入出力を行うための論理機構を有する。
【0015】好ましい実施例では、割込みパケット定義
によって、512個のIOCのそれぞれから16個の割
込みソースが許容される。割込み優先レベルは、256
ある。各システムが、256個の割込みサーバを有する
ことができる。このため、広範囲の計算機でこのパケッ
ト定義が使用できる。割込み要求パケットと割込みリセ
ット・パケットの両方に、割込みパケット内の情報以上
の情報を送る必要のあるシステムが使用することのでき
る予約ビットがある。したがって、このパケット定義に
よって、将来のシステムに対する拡張性がもたらされ
る。
【0016】以前のハードウェア配線式割込みシステム
は、割込みに関する直接情報をほとんど提供しなかっ
た。このバス・パケット方法では、割込みソース、IO
ID、優先順位およびサーバ情報を、すべて同時に同一
の場所で提供する。これによって、システムの柔軟性に
加えて、システム割込みのデバッグがはるかに簡単にな
る。割込みリセット・パケットの予約済みアドレス・ビ
ット0ないし2に情報を入れて、どの種類の割込みリセ
ットが送られているのかをIOCに伝えることができ
る。
【0017】割込みは、アドレス・バスを介して転送さ
れるので、他の割込みや他のシステム動作と共に順序付
けされる。これによって、システム・レベルで割込みを
観察しやすくなり、割込みがシステムに対してより非同
期でなくなるので、デバッグの間に有用である。
【0018】割込み情報は、プレーナ上の配線ではなく
割込みパケット内のさまざまなフィールドで定義される
ので、この割込みシステムは、プログラム可能度が非常
に高い。割込み優先順位、サーバ番号、割込みソースお
よび入出力コントローラIDは、このパケット構造を使
用することによってすべてプログラム可能である。した
がって、この割込み構造は、ハードウェア配線式システ
ムの割込み構造より柔軟である。
【0019】したがって、本発明の目的は、改良された
データ処理システムを提供することである。
【0020】本発明のもう1つの目的は、データ処理シ
ステム内の改良された割込みサブシステムを提供するこ
とである。
【0021】本発明のもう1つの目的は、多重プロセッ
サ・データ処理システム内の改良された割込みシステム
を提供することである。
【0022】本発明のもう1つの目的は、改良された割
込み信号生成方法を提供することである。
【0023】
【実施例】図1は、データ処理システム20の論理図で
ある。システム相互接続22によって、システムのさま
ざまな構成要素、すなわちプロセッサ24、メモリ2
6、および、システム相互接続22に直接接続される入
出力コントローラ(IOC)30を介して接続される入
出力28の間でのデータ転送が可能になる。また、追加
の入出力やIOCが接続される、プロセッサからの任意
指定のシステム・バス29を設けることもできる。シス
テム相互接続22は、複数の異なる構成(たとえば、シ
ステム・バス、スイッチなど)のうちのいずれかとする
ことができ、システム依存である。好ましい実施例で
は、システム相互接続が、システム・バスである。
【0024】現代のシステムの外部割込み構造は、広範
囲のシステム要件、すなわち単純な単一ユーザ・パーソ
ナル・コンピュータから多重プロセッサの階層からなる
マルチユーザ・システムまでに及ぶ必要がある。以前の
技法では、このような範囲に有効に対処できない。割込
みシステムへのプログラミング・インターフェースと、
割込みシステムの論理的な外観は、一貫している必要が
ある。典型的な割込み構造を、図2に示す。割込みを生
成できる装置32(図1の入出力28とIOC30を含
む)を、割込みコントローラ34を介してサービスを行
うプロセッサ24とインターフェースする。本発明は、
広範囲のシステムにわたってスケーラブルでありなが
ら、なおかつ一貫したプログラミング・モデルを維持す
る、改良された割込み制御構造を識別する。
【0025】図3を参照すると、システム・ソフトウェ
アから見たこのシステムの論理的な外観は、事象のn個
(256まで)の待ち行列(キュー)である。ソフトウ
ェア待ち行列である待ち行列42および43のそれぞれ
の中には、事象の優先順位付きリストが存在する。これ
らの事象には、ハードウェア生成の割込み(たとえばI
OCからの外部割込み)とソフトウェア生成の割込み
(たとえばプロセッサ間割込み)が含まれる。待ち行列
42および43のそれぞれに、論理サーバが関連する。
待ち行列0ないしmは、論理サーバ#0に関連し、待ち
行列m+1ないしnは、論理サーバ#1に関連する。追
加プロセッサを有する追加の論理サーバも、同様に構成
できる。単一プロセッサ・システムには、1つのサーバ
があり、したがって1つの待ち行列がある。多重プロセ
ッサ・システムには、各プロセッサに関連する1つの待
ち行列と、1つの論理サーバとみなされるプロセッサの
集まりに関連する少なくとも1つの大域(グローバル)
待ち行列がある。たとえば、図3には、プロセッサ40
に関連するそれぞれの待ち行列42と、プロセッサ0な
いしmの集まりに関連する大域待ち行列44が示されて
いる。プロセッサ40の集まりは、符号38の論理サー
バ#0とみなされる。同様に、各待ち行列43は、プロ
セッサ41に関連し、大域待ち行列45は、プロセッサ
m+1ないしnの集まりに関連する。プロセッサ41の
集まりは、符号39の論理サーバ#1とみなされる。多
重プロセッサ・システムの場合、各大域待ち行列による
使用のためにどのプロセッサが使用可能であるかを決定
するための機構が必要である。この機構は、使用可能プ
ロセッサ・レジスタ(APR)(後に図4を参照してさ
らに説明する)によって提供される。
【0026】図3の説明を続けると、各待ち行列42お
よび43には、0x00ないし0xffの範囲内のサー
バ番号が関連する。この複合体内の個々のプロセッサ4
0および41には、0x00から昇順でサーバ番号が割
り当てられ、複数のプロセッサにサービスする待ち行列
(すなわち大域待ち行列)には、0xffから降順でサ
ーバ番号が割り当てられる。待ち行列の長さ(すなわ
ち、待ち行列内の優先順位付きリストの長さ)は、実施
態様依存であるが、1の最少深さを有する。
【0027】外部割込みは、IOC、複合体内の他のプ
ロセッサ、およびシステム内の他のソース(たとえば、
緊急電源断警告割込み)から発する。異なるソースは、
異なる物理信号生成機構を必要とするが、サーバ(大域
待ち行列の場合は論理サーバ、他の待ち行列の場合はプ
ロセッサ)にとっての論理的な外観は、下記でさらに説
明するように、最優先の事象を先頭とする1つの待ち行
列である。優先順位の最も高い(すなわち最優先の)割
込みは、0x00と定義され、優先順位の最も低い割込
みは、0xffと定義される。したがって、割込みレベ
ル0x55は、割込みレベル0xffより優先され、割
込みレベル0x00より優先されない。
【0028】本発明では、外部割込み機構(すなわち割
込みコントローラ)を、(i)割込み提示層と(ii)
割込み経路指定層の2層に分離する。これらの層を、図
4、図6および図7に示す。図4を参照すると、割込み
提示層50には、プロセッサまたはサーバに関連するレ
ジスタが含まれる。オペレーティング・システム・ソフ
トウェアは、これらのプロセッサまたはサーバとインタ
ーフェースして、個々の割込みを作成し、処理する。割
込み提示層50は、システム内のプロセッサまたはサー
バの数によってのみ変化する定義を有する。割込み経路
指定層52は、ソースから宛先へ割込みを経路指定する
が、その本質上はるかに実施態様固有である。システム
・ソフトウェアは、電源投入時に割込み経路指定層52
の構成をセットアップしなければならない可能性がある
が、割込みごとにこの割込み経路指定層にインターフェ
ースする必要はない。
【0029】割込みの管理に使用されるレジスタを、こ
こで簡単に説明し、後で詳細に説明する。
【0030】・使用可能プロセッサ・レジスタ(AP
R)割込みの経路指定先の特定のサーバとしてどのプロ
セッサを使用できるかを知るために割込み経路指定層ハ
ードウェアが使用する、任意指定のレジスタ。APR
は、大域待ち行列と共に使用する目的のものであり、図
4の符号39に示されている。
【0031】・大域待機割込み要求レジスタ(G_QI
RR) このレジスタは、1バイトまたは4バイト(32ビット
語)として書き込むことができ、図4の符号73に示さ
れている。 ・対称MP(SMP)システムで、非プロセッサ固有サ
ーバ待ち行列として使用される。 ・下記の2つのレジスタからなる 大域最優先要求レジスタ(G_MFRR)。これは1つ
のMFRRである。 割込みソース指定レジスタ(ISSR)。 ・SMPシステムで、G_MFRR割込みのソース指定
を構成するのに使用される(XISR参照)。
【0032】・待機割込み要求レジスタ(QIRR) このレジスタは、1バイトまたは4バイト(32ビット
語)として書き込むことができ、図4の符号61に示さ
れている。プロセッサごとに少なくとも1つと、非プロ
セッサ固有サーバ待ち行列ごとに1つある 下記の2つのレジスタからなる ・最優先要求レジスタ(MFRR) 待ち行列上の最優先要求の優先順位を保持する このレジスタは、書込みが発生したことを検査するため
にソフトウェアによって読み戻すことができる。 ・割込みソース指定レジスタ(ISSR)
【0033】・外部割込み要求レジスタ(XIRR) 図4の符号60に示されるように、プロセッサごとに1
つあり、割込みに関してシステム・ソフトウェアに単一
のソース識別子を提供する。下記の2つのレジスタから
なる ・現プロセッサ優先順位レジスタ(CPPR) このレジスタは、現プロセッサ優先順位を格納するよう
にシステム・ソフトウェアによって更新される このレジスタは、特定のアドレスのXIRRへのロード
命令をソフトウェアが発行する時に、実行されたロード
命令によって配布されるXISRデータが表す割込みの
優先順位に更新される。 ・外部割込みソース・レジスタ(XISR) 保留中の割込みのソースを識別する(保留中の割込みが
ない場合は0)
【0034】・外部割込みベクトル・レジスタ(XIV
R) 各IOC内の割込みレベルごとに1つあり、図4の符号
70に示される。割込みレベルのそれぞれに優先順位を
付けるのに使用する 特定の割込みを特定のサーバにベクトル指定するのに使
用できる
【0035】割込み経路指定層 割込み経路指定層の目標は、最優先の割込み要求を優先
順位の最も低いプロセッサすなわち最適プロセッサに向
けることである。可能なかぎり、割込み経路指定層は、
入ってくる要求よりも高い優先順位で走行中のプロセッ
サに割込みを送らないようにする。本発明を用いると、
割込み経路指定層を、システム要件に応じて異なる形で
実施できる。したがって、異なる実施態様は、異なるレ
ベルの精度で上記の目標に接近でき、これは、割込み要
求の経路指定の際の遅延の変化として現れる。割込みに
起因するシステム負荷の予期される値が大きければ大き
いほど、割込み経路指定ハードウェアは、正しいシステ
ム性能を達成するためにこの目標に近づかなければなら
ない。この目標を完全に達成するためには、割込み経路
指定ハードウェアが、システムの状態(すなわち、サイ
クルごとの正確なプロセッサ優先順位と、論理割込み要
求待ち行列のすべての内容)を完全に知っている必要が
生じるはずである。実際には、次の理由からこれが可能
にならない場合がある。すなわち(i)潜在的に割込み
経路指定層内のハードウェア待ち行列より多数の割込み
要求が存在し得るか、(ii)プロセッサから割込み経路
指定ハードウェアまでプロセッサ優先順位が伝播するの
に複数のサイクルを要し、サイクルごとの正確なプロセ
ッサ優先順位に関して割込み経路指定層内にあるレベル
の不確実性があるからである。待ち行列の深さの問題
は、割込み経路指定ハードウェアによって拒絶された割
込み要求メッセージを要求しなおすようにIOCに要求
することによって処理される。これによって、割込み経
路指定ハードウェアが、オーバーフローの場合を処理す
るのに割込み拒絶機構を使用して、予期される場合のう
ちのある程度の割合を満足する待ち行列深さ(最小値は
1)を実施できるようになる。システム・ソフトウェア
は、影響を受ける割込み要求に対して可変の待ち時間を
示すに過ぎない拒絶機構の存在を意識しない。割込み経
路指定ハードウェアは、初めて要求をプロセッサに経路
指定する時には真のプロセッサ優先順位を知らない可能
性があるので、経路指定ハードウェアは、割込み経路指
定ハードウェアが最初に要求を特定のプロセッサに割り
当てた後に、ソフトウェアがその動作優先順位を変更す
る場合に備えていなければならない。プロセッサ優先順
位の変更を考慮にいれないと、優先順位の逆転と深刻な
システム性能低下がもたらされる(優先順位の逆転は、
現プロセッサ優先順位より低い優先順位を有する割込み
が待ち行列に入れられ、その待機割込みが、そのプロセ
ッサより優先順位の高い割込みにそのプロセッサへ割り
込ませない場合に発生し得る)。待機割込みは、その待
機割込みの優先順位未満までプロセッサの優先順位が下
がらない限り、処理されない。この場合も、割込み拒絶
機構を使用して、待ち行列資源の問題から回復できる。
割込みを拒絶してIOCに返すことによって、IOC
が、割込み経路指定層の待ち行列化機構の拡張部分とし
て働く。
【0036】割込みソースは通常、下記のいずれかが発
生しない限り、インターフェース71(図4)を介して
割込み経路指定層に特定の割込みを1回だけ送る。例外
は(i)割込み経路指定層によって割込みが拒絶された
か、(ii)XISR値が割込みソースに等しくなるXI
RRへのソフトウェア書込みによって割込みがリセット
され、割込み中のソースの割込みがまだ保留中か(すな
わち、まだサービスされていない)のいずれかである。
これについては、下記で図6および図7を参照してさら
に説明する。
【0037】割込み経路指定層52は、(i)ローエン
ド計算機用の、外部割込みの優先順位とソースからな
る、プロセッサごとの単一の要素待ち行列、または(i
i)ハイエンド計算機用の、複数の外部割込みソース待
ち行列レジスタを含めて、さまざまな実施態様が可能で
ある。ハードウェアは、割込み経路指定層内の正確なハ
ードウェア待ち行列化実施態様が、割込み提示層とイン
ターフェースするシステム・ソフトウェアに対して不可
視であることを保証する。当技術分野には、米国特許第
4807111号明細書に記載の、エンティティが優先
順位の順に保たれるハードウェア・レジスタ・ファイル
など、多数のタイプの使用可能な待ち行列化技法があ
る。本発明の主要な特徴は、割込み提示層によるそのよ
うな待ち行列の使用である。この割込み提示層は、割込
み経路指定層内の基礎となる待ち行列実施態様からのソ
フトウェアの不可視性を提供する。
【0038】システム・セットアップ時に、セットアッ
プ・ソフトウェアは、サポートされる論理サーバの数、
どのプロセッサが論理サーバをサポートするか、どの割
込みがどのサーバに向けられるかを含めて、割込み経路
指定層の構成を決定しなければならない。これは、いく
つかの実施態様固有レジスタを読み取るか、構成情報を
ROMに格納させることによって行われる。APRを使
用して、どのプロセッサがどの論理サーバ待ち行列に対
して動作するかを指定する。具体的なセットアップの決
定は、ハードウェア依存であり、ハードウェア実施態様
によって異なる。唯一の要件は、どのように決定された
ものであれ、上にリストしたセットアップ情報が、割込
み経路指定層が後でアクセスできるようにAPRに置か
れることである。
【0039】割込み提示層 プロセッサ間割込み機構は、図3の待ち行列42および
43のそれぞれに関連する、システム内の要求ブロック
の物理待ち行列(図5の57)を有する。これらのソフ
トウェア管理される待ち行列のそれぞれは、ソフトウェ
アによって優先順位の順に維持される。待ち行列の実施
態様は、割込み機構内では定義されず、オペレーティン
グ・システム・ソフトウェアにゆだねられる。さまざま
な待ち行列の実施態様は、予想される使用頻度に応じて
異なることがある。各待ち行列に、最優先要求レジスタ
(MFRR)(システム・メモリ空間内)が関連付けら
れる。プログラムは、特定のプロセッサによって実行さ
れるサービスを必要とする時に、そのプロセッサの待ち
行列に要求ブロックを待機させ、この新要求の優先順位
が最高であるかどうかを判定し、そうであるならば、こ
の新要求の優先順位の値をMFRRに書き込む。プログ
ラムがサービスに関する要求を待機解除する場合、待ち
行列上の次の要求の優先順位値が、MRFFにロードさ
れる。待機解除の後に待ち行列が空になる場合、最低の
優先順位値(0xff)がMFRRにロードされる。M
FRR内の0xff以外の値によって、その優先順位の
割込みを、その待ち行列にサービスするプロセッサに伝
える(符号72)必要があることが、割込み経路指定層
内の割込みハードウェアに示される。
【0040】各プロセッサには、外部割込み要求レジス
タ(XIRR)60を含むメモリ・マップ式の割込み管
理区域が関連付けられている。XIRRは、4バイトの
機構であり、2つのフィールド、すなわち現プロセッサ
優先順位レジスタ(CPPR)と外部割込みソース・レ
ジスタ(XISR)から構成される。
【0041】CPPRには、そのプロセッサの動作優先
順位が含まれる。CPPRは、優先順位の低い要求から
の割込みを防ぐため、システム・ソフトウェアによって
書き込むことができる。割込み経路指定層は、CPPR
フィールドが割込み要求の優先順位より低い場合に限っ
て、そのプロセッサに割込み要求を向ける。システム・
ソフトウェアは、1バイト・レジスタとしてCPPRに
ストアして、割込み経路指定層内の割込みハードウェア
に、プロセッサの現動作優先順位について知らせる。
【0042】割込みのソースを決定するため、システム
・ソフトウェアは、XIRRに対するロード命令を発行
することによって、XISRを読み取る。XISR内の
値が、割込みのソース(IOCの場合にはIOIDとレ
ベル、プロセッサの場合にはサーバ待ち行列)を示す。
この情報に基づいて、ソフトウェアは、その割込みを処
理するために呼び出すのに適切なプログラムまたはプロ
セスを決定できる。XISRは、割込み経路指定層から
のロード命令に関しては読取り専用レジスタの外観を提
示し、割込み経路指定層からのストア命令に関しては書
込み専用レジスタの外観を提示する。すなわち、書き込
まれた内容が、自動的に読み取られる内容になるわけで
はない。というのは、XISRへの書込みが、ハードウ
ェアによって、割込みソースへの割込みリセット送出の
信号(後に説明するように、XISRのビット自体への
直接書込みの信号ではない)と解釈されるからである。
XISRは、4バイト・アクセスをXIRRに向ける時
には、CPPRと共に原子的にアクセスしなければなら
ない。IOCからの割込みの場合、XISRの上位ビッ
トが、そのIOCのIOIDを示し、XISRの下位4
ビットが、IOC内の16個までのソース(またはレベ
ル)を示す。このレジスタのいくつかの値には、意味が
定義されている。XISRについては、下記でさらに説
明する。
【0043】この割込み機構の割込み提示層は、下記の
表3に示されるように、システム内のプロセッサごとの
割込み管理区域を介して実施される。割込み管理区域
は、データ処理システムのメモリ空間内にある。以下で
は、プロセッサの割込み管理区域の開始アドレスを、そ
のベース・アドレス(BA)と称する。BAは、プロセ
ッサごとに異なり(すなわち、プロセッサごとに別々の
割込み管理区域がある)、これらの区域には、どのプロ
セッサからでもアクセスできる(保護は存在しない)。
あるプロセッサ用のBAは、構成時にセットアップされ
る。割込み管理区域の配置は、次のとおりである。
【表1】
【0044】待ち行列化 図5に、前に説明したさまざまな待ち行列の間の相互関
係を示す。一貫性のあるハードウェア独立のインターフ
ェースをシステム・ソフトウェアに提供する待ち行列4
2および43を、符号53の特定のプロセッサXについ
て示す。待ち行列Xは、符号54のXIRRレジスタを
介してプロセッサXとインターフェースする。このXI
RRレジスタは、符号55の割込み経路指定層52によ
って修正できる。符号55の経路指定層によって最高の
優先順位を選択するステップは、複数の割込みタイプを
考慮に入れたものでなければならない。符号56のハー
ドウェア待ち行列で維持されるハードウェア割込みは、
符号58で割込み経路指定層52に提示される。これら
のハードウェア割込みは、符号51の個々のIOCハー
ドウェア待ち行列から発する。さらに、ソフトウェア生
成の割込みが、割込み経路指定層52に提示される可能
性がある。これらのソフトウェア割込み(たとえばプロ
セッサ間割込み)は、符号57のソフトウェア管理待ち
行列で維持され、MFRRレジスタを介して符号59で
割込み経路指定層に提示される。
【0045】まとめると、システム・ソフトウェアに提
示される図4の待ち行列42および43は、ソフトウェ
ア管理待ち行列とハードウェア割込み待ち行列の組み合
わせである。したがって、ハードウェア待ち行列を、経
路指定層とIOCの間で分散できる。さらに、ハードウ
ェア生成の待ち行列とソフトウェア生成の待ち行列が、
均一のインターフェース、すなわちXIRRレジスタを
使用してシステム・ソフトウェアに提示される。
【0046】割込み処理 割込み処理全体の流れを、図6および図7に示す。IO
Cは、ステップ74で、サービスの必要な割込みを有す
る時に、まず、これが提示を必要とする最高の優先順位
であるかどうかを判定する。まだ処理されていない、よ
り高い優先順位の割込みが存在する場合、ステップ75
でまずその割込みを提示する。ステップ76で、IOC
は、提示される特定の割込みに関連するXIVRを選択
し、そのXIVRからのサーバ番号および優先順位と、
割込み経路指定層にサービスを要求しているIOCのI
OIDと、そのIOC内のソースを示す番号とを送る。
割込み経路指定層は、ステップ77で、この割込み情報
からのサーバ番号を使用して、その割込みを特定のプロ
セッサ(サーバ)に向ける(符号98)が、サーバ番号
がそのシステム内の特定のプロセッサに対応しない場合
には、ステップ78でその割込みを経路指定するプロセ
ッサを選択することができる。この後者の場合にハード
ウェアが割込みの経路指定先としてプロセッサを選択す
る方法は、実施態様に依存し、システム設計点(たとえ
ば、ローエンドの場合にはコスト、ハイエンドの場合に
は性能)に基づいて最適化できる。この経路指定決定ブ
ロック78に入ってくる情報は、さまざまなプロセッサ
がどの優先順位で動作しているか(CPPR値)と、他
のどの優先順位が待ち行列に待機してそのプロセッサを
待っているか(たとえば、そのプロセッサのMFRRま
たはG_MFRR)である。ステップ79で、IOCか
ら受け取った割込みの優先順位が、待機中の既存の割込
みの優先順位以下の場合、ブロック96でその割込みを
拒絶してIOCに返し、IOCは、後に(たとえばある
一定時間が経過した後で)その割込みを再提示しなけれ
ばならない。IOCからの割込みが、目標プロセッサの
XIRR内に既に置かれている既存の待機割込みより優
先順位が高い場合(ステップ80)、ステップ95で、
前にXIRRに置かれた割込みを拒絶して、それが来た
元のIOCに返し、ステップ81で新しい割込みをその
割込みと入れ替える。割込み経路指定層機構の特定の実
施態様では、後に提示するため経路指定層内で割込みを
待ち行列化することを選択できるが、この好ましい実施
例では、経路指定層が割込みを拒絶してソースに返し、
ソースが後にその割込みを再提示する。XISRのロー
ドは原子的でなければならない。すなわち、システム・
ソフトウェアと割込み経路指定層がXISRに同時にア
クセスしようとすること(たとえば、プロセッサがXI
RRを読み取ろうとするのと同時にハードウェアがXI
RRをより高い優先順位の要求に更新しようとする場
合)がないことを、ハードウェアが保証しなければなら
ない。
【0047】ステップ83で、XISRに非0値が格納
されている場合、プロセッサ・ハードウェアへの割込み
信号を介して、ハードウェアによってプロセッサに割込
みが伝えられる。ステップ84で、割込みが伝えられ、
割込みがイネーブルされている時、ソフトウェアは、割
込み信号を受け取り、ステップ85で割込み処理が始ま
る。ソフトウェアは、割込み処理のはじめに、ステップ
86でXIRRを読み取り、その割込み処理が終わるま
でその値をセーブする。ソフトウェアがXIRRを読み
取る時、ハードウェアは、ステップ86で、XISR値
によって表される割込みの優先順位をCPPRに入れ、
XISRを0にセットする。CPPRを割込みの優先順
位の値にセットすることで、ソフトウェアがそれを行う
必要がなくなる。その割込みのサービス開始時のプロセ
ッサ優先順位は、割込みの優先順位と等しくなり、その
結果、割込み経路指定層は、優先順位の低い割込みでそ
のサービスに割り込まなくなる。XISRを0にセット
することによって、プロセッサに対する割込み信号が非
活動化され、プロセッサが後にXIRRを読み取る場合
には、XISRの0の値によって、保留中の割込みがな
いことが伝えられる。プロセッサがBA+4のXIRR
を読み取ることによってプロセッサに割込みが提示され
た後、これによって、ソフトウェアが割込み処理を開始
することがハードウェアに伝えられ、したがって、割込
み経路指定層は、要求の優先使用も取消しも行わなくて
よい。XIRRを読み取った後、ソフトウェアは、XI
RRのXISRフィールドの値を使用して、どの割込み
サービス・ルーチンを呼び出すかを決定する。ステップ
87で、XISRがQIRRを指している場合、ソフト
ウェアは、ステップ88で、最優先の待ち行列項目をそ
の待ち行列から除去し、QIRR内のMFRRを、その
待ち行列の新しい最優先項目の優先順位の値か、その待
ち行列が空の場合には0xffの値にセットする。ステ
ップ89で、XISRがG_QIRRを指している場
合、ソフトウェアは、ステップ90で、大域待ち行列か
ら最優先待ち行列項目を削除し、G_QIRR内のG_
MFRRを、その待ち行列の新しい最優先項目の優先順
位の値に、またその待ち行列が空の場合には0xffの
値にセットする。XISRがソフトウェア待ち行列を指
していない場合、XISRは外部割込みサービス・ルー
チンを指しており、ステップ91で、ソフトウェアが、
適当な装置駆動プログラムを呼び出してその割込みを処
理する。外部割込みの場合、装置駆動プログラムは、割
込みを処理した後に、サービス・ルーチンの過程の間に
IOC内の割込みをリセットする(たとえば、ほとんど
のハードウェアは、IOCのアドレス空間内の特定のア
ドレスへのストア命令を発行することによって、IOC
内の割込みをリセットする)。割込みのソースが何であ
れ、そのサービスの終りに、ソフトウェアは、割込みサ
ービスの開始時にXISRから読み取り、セーブした値
を、ステップ92でBA+4のXIRRに書き込む。B
A+4のXIRRが書き込まれる時、CPPRは、スト
ア・データの値(この場合、割込みサービス開始時のC
PPRの値)にセットされ、ステップ93で割込み経路
指定層に、ステップ94でIOCに、書き込まれたXI
SRデータ(この場合、割込みの開始時のXISRの
値)で指定されたIOIDとIOC内のソースを用いて
割込みリセットを発行する(したがって、処理されたば
かりの割込みがリセットされる)。IOCがリセットを
受け取る時、ステップ97でまだ割込みが保留中である
とハードウェアが判断する場合(たとえば、ソフトウェ
アのサービスとXIRRへの書込みの後に割込みがもう
一度発生した場合)、ステップ74からの割込み提示処
理をもう一度開始する。
【0048】XIRR機能は、外部割込み管理区域に2
回登場する。アドレスBA+0は、割込みポーリングと
共に使用するように設計されている。アドレスBA+4
には、読み書きの際に副作用があり、割込み待ち行列化
処理の際にハードウェアにソフトウェアを援助させるこ
とによって、効率的な割込みハンドラ・ソフトウェアを
可能にするように設計されている。これらのレジスタと
その使用法は、下記でさらに説明する。
【0049】プロセッサ間割込み 最優先要求レジスタ(MFRR)は、このプロセッサの
ソフトウェア管理待ち行列に待ち行列化された最優先要
求の優先順位を保持する。0xff以外の値を書き込ま
れた時、MFRRは、プロセッサに割り込む権利を求め
て他の外部割込みと競争する。MFRRの優先順位が、
そのプロセッサに向けられたすべての割込み要求のうち
で最優先である時には、XISRに適当な値がロードさ
れ(XISRレジスタの説明を参照)、プロセッサに割
込みが伝えられる。プロセッサがBA+4のXIRRを
読み取る時、ハードウェアによって、MFRR内の値が
CPPRにロードされる。MFRRをソフトウェアによ
って読み戻して、MFRR書込みが行われたことを確認
できる。
【0050】プロセッサ間割込みの処理の間、最も優先
順位の高い要求が、MFRRに関連するソフトウェア待
ち行列からソフトウェアによって待機解除され、次の優
先順位の要求の優先順位が、当技術分野で既知の従来の
待ち行列管理技法を使用して、ソフトウェアによってM
FRRにロードされる。
【0051】大域待ち行列 MPシステムでは、システム・メモリ空間に1つまたは
複数の大域待ち行列MFRRが含まれ、これをシステム
・ソフトウェアが使用して、あるサーバ・グループ内の
プロセッサのどれかにプロセッサ間割込みを送る。大域
待ち行列のMFRRは、割込み経路指定層がそれ自体の
アルゴリズムに基づいて要求を受け取るプロセッサを決
定すること、およびXISRにロードされた値が大域待
ち行列を示すIOIDであることを除いて、上記で説明
したプロセッサごとのMFRRと同様に動作する。この
経路指定アルゴリズムも、システム設計点に基づいて同
様に最適化できる。たとえば、コストに基づいて最適化
されるシステムでは、優先順位比較論理機構を実装する
必要をなくすために、ランダムなプロセッサに経路指定
することができ、その一方で、高性能を求めて実装され
るシステムでは、必ず最低の優先順位で走行しているプ
ロセッサに経路指定するように試みることになる。
【0052】外部割込みベクトル・レジスタ(XIV
R) 各IOC30には、それがサポートする外部割込みごと
に1つの外部割込みベクトル・レジスタ70が含まれ
る。このレジスタのそれぞれのビットは、次のように定
義されている。
【表2】
【0053】これらのレジスタは、IOCアドレス空間
内に存在し、これらのレジスタのアドレスは、IOCの
具体的な設計によって定義される。
【0054】外部割込み要求レジスタ(XIRR) XIRRは、アドレスBA+0およびBA+4にある4
バイト・レジスタである。アドレスBA+0のXIRR
へのロード命令を発行すると、CPPRとXISRの内
容が、副作用なしでプロセッサに送られる。これは、外
部割込みをソフトウェア・ポーリングするための設計で
ある。アドレスBA+4のXIRRにロード命令を発行
すると、下記の原子的な副作用がある。XIRRの内容
を返す前に、 ・そのBAがアクセスされているプロセッサへの割込み
信号72が、図7の符号86で割込み経路指定層によっ
て非活動化される。XIRRの内容が要求元プロセッサ
に返されるのは、非活動化された割込み信号がそのプロ
セッサの内部割込み論理機構全体を伝播したことを保証
するのに十分な時間が経過した後に限られる。XIRR
からのデータがプロセッサに送られた後に、 ・CPPRの内容が、XISRで送られた割込みの優先
順位にセットされる(XISRが0の場合、CPPRフ
ィールドは変更されない) ・XISRを、0x000000にリセットする。より
高い優先順位を有する後続の割込み要求は、割込みを伝
えられ、XIRRに提示されるようになる。
【0055】システム・ソフトウェアが割込みの処理を
開始する時、プロセッサは、割込みを禁止する、すなわ
ち、後続の外部割込みをすべてマスクする。ソフトウェ
アは、この割込み処理シーケンスの間に、割込みを許可
して後続の割込みを提示できるようにしなければならな
い。割込み経路指定層の割込み信号生成終了との競争を
避けるために、割込みを可能にする前にBA+4のXI
RRの内容がプロセッサに返されていることを保証する
ように注意を払う必要がある。このような競争は、未定
義の結果を生ずる可能性がある。プロセッサが危険な命
令を実行する可能性に対抗してデータが返されているこ
とを保証する方法の1つが、コードのうちでXIRR値
データに依存する部分を、割込みを可能にするコードの
前に置くことである。XIRR値を受け取ろうとするプ
ロセッサ・レジスタを、それ自体と比較し、この比較の
結果を使用して、次の命令の位置を分岐目標アドレスと
するbranch−if−equal命令を実行する。
【0056】このようにXIRRのロードの際にCPP
Rをセットすることによって、ソフトウェアがXIRR
へのロード命令を発行した時点からCPPRへの新値の
ストア命令が発行されるまで、これ以下の優先順位の外
部割込みのすべてを拒絶するという効果が得られる。
【0057】BA+0のXIRR機構に対するストア命
令の発行は、定義されていない(データは無視され
る)。アドレスBA+4のXIRRに対するストアに
は、原子的な副作用があり、この副作用は、1バイト・
ストアと4バイト・ストアで異なる。ストア命令が1バ
イト・ストアの時、これはCPPRへのストアになる
(CPPRレジスタの説明を参照)。4バイト長のスト
ア命令がXIRRに発行される時、そのXISRへのス
トアに含まれるデータで示されるソース(ストアの時点
でXISRに示されているソースではない)に割込みリ
セットが送られる。XISRへのストアに含まれるデー
タは、XISRには書き込まれない(その後ロード命令
を用いて読み取る場合にもこのデータは得られない)。
そうではなくて、このデータは、リセットするソースを
割込み経路指定層に(プロセッサ間割込みと大域待ち行
列割込み以外の割込みの場合にはIOCにも)示すのに
使用される。このアドレスのXISRへのストアを発行
することによって、ソースが、そのストア命令に含まれ
るデータで示されたレベルの後続割込みを提示できるよ
うになる。4バイト・ストアの場合、バイト0がCPP
Rにストアされるが、システム・ソフトウェアは、この
CPPRのストアが前のCPPR値以下の優先順位であ
ることを保証する。というのは、この場合にハードウェ
アが二重リセットを処理する必要がなくなるからである
(二重リセットとは、これ以上の優先順位へのCPPR
内の値の変更に関するリセットと、XISRへの書込み
に関するリセットである)。
【0058】割込み経路指定層のハードウェアが、高い
レベルから低いレベルへのCPPRの変更の際の割込み
を拒絶することを選択する場合、XIRRへの4バイト
・ストアの際に、割込み経路指定層のハードウェアが、
下記の2つのうちのいずれかを行うことができる。 1.2つの拒絶をソースに返す(1つはCPPR変更に
関して、もう1つはXISR書込みに関して) 2.XISR書込みに関する拒絶を送る(CPPRの書
込みは前のCPPR値より低い優先順位でなければなら
ないという事実を使用する。これはソフトウェアに対す
る要件である)。
【0059】本明細書に記載の割込み機構を、潜在的に
異なるプロセッサを有する異なるシステムにわたって使
用するためには、割込み経路指定層が、特定のプロセッ
サの割込み信号制約条件をすべて満足することを保証し
なければならない。たとえば、プロセッサが割込み信号
を内部的にラッチせず、そのプロセッサの割込み提示サ
イクル中に割込み信号が非活動化された場合に正しい動
作を保証できない場合、割込み経路指定層は、割込み拒
絶の結果としてではなくXISRの読取りを用いてラッ
チをリセットする割込み信号を、外部でラッチしなけれ
ばならない。
【0060】割込みハンドラの終了時に、割込みハンド
ラの開始時に読み取った値をBA+4のXIRRに書き
込むことによって、明示的な割込みの終了をIOCに発
行することと、プロセッサの動作優先順位を割込み以前
の値に戻すことの複合効果が得られる。
【0061】ソフトウェアが割込みをポーリングしてい
る時、そのソフトウェアは、割込みを受け取ると決定し
た後に、BA+4のXIRRへのロードを発行すること
によって、その割込みを受け取ることをハードウェアに
伝えなければならない。その後、ソフトウェアは、BA
+0で読み取った値とXISRを比較して、この2回の
ロードの間にハードウェアがXISRを変更していない
ことを確認しなければならない。
【0062】現プロセッサ優先順位レジスタ(CPP
R) このレジスタは、1バイト・レジスタであり、関連する
プロセッサの現在の優先順位を格納するのに使用され
る。このレジスタは、アドレスBA+0とBA+4にあ
る。CPPR(BA+0とBA+4のどちらでも)に1
バイト・ロードを発行しても、副作用はない。CPPR
は、XIRRレジスタ内の1フィールドである。各プロ
セッサが、それ自体のCPPRを有する。プロセッサの
状態が変化する時、ソフトウェアは、そのプロセッサの
プロセス優先順位をCPPRに格納できる。割込み経路
指定層は、CPPR優先順位未満の優先順位である、あ
るプロセッサに対するすべての割込みを拒絶する。した
がって、CPPRを現在値に保つことで、外部割込みが
それ以上の優先順位を有する処理に割り込めなくなる。
【0063】CPPRは、XIRR内の1フィールドで
あり、XIRRの一部として読み書きできる。CPPR
の内容が変更される時、割込み経路指定層は、最優先レ
ベルの割込みだけがプロセッサに伝えられ、XIRRに
提示されることを保証する。これは、ハードウェア比較
機構を使用して達成される。入ってくる割込みの優先順
位が現CPPR以下の場合、その割込みが拒絶され、ソ
ースに返される。CPPRへのストアの後に提示される
最優先の割込みをハードウェアが再計算(おそらくは割
込みの拒絶によって)することは、優先順位が下がる方
向に変化する場合には許容可能であり、CPPRへのス
トアが待機割込み以上の優先順位である場合には必須で
ある。CPPRへのストアが原因で割込みがXIRRか
ら除去される時には、XISR内でそれに置換されるの
を待っているより高い(新CPPR値より高い)優先順
位の割込みがない場合、割込み提示ハードウェアが、X
ISRを0の値にセット(CPPRストアと共に原子的
に)して、保留中の割込みがないことを示し、そのプロ
セッサへの割込み要求線を下げる。
【0064】外部割込みソース・レジスタ(XISR) このレジスタは、3バイト・レジスタであり、割込みの
ソースのアドレスが格納される。各プロセッサは、それ
自体のXISRを有する。このレジスタは、アドレスB
A+1とBA+5にある。しかし、このレジスタは、原
子性のためXIRRの一部としてアクセスしなければな
らない。アドレスBA+0のXIRRへのロード命令を
発行することによって、副作用なしにXISRの内容が
プロセッサに返される。これは、外部割込みのソフトウ
ェア・ポーリングのための設計である。アドレスBA+
4のXIRRへのロード命令を発行すると、XIRRの
内容がプロセッサに返された後にXISRを原子的に0
x000000にリセットするという副作用が生じる。
その後、より高い優先順位の後続割込み要求が生じる
と、割込みが伝えられ、XIRRに提示される。
【0065】下の表3に示されるように、いくつかの値
は、XISRレジスタ内で特別な意味を持つ。
【表3】
【0066】待機割込み要求レジスタ(QIRR) 待機割込み要求レジスタは、4バイト・レジスタであ
り、その第1バイトが最優先要求レジスタ(MFR
R)、ISSRが実装される場合には残りの下位3バイ
トがISSRである。ソフトウェアは、1バイトすなわ
ちMFRRだけ、または4バイト全体のいずれかを書き
込むことができる。
【0067】最優先要求レジスタ(MFRR) これは1バイト・レジスタである。このレジスタの内容
は、システム・ソフトウェアによって制御され、特定の
MFRRが関連するプロセッサまたはサーバのプロセッ
サ間(IP)割込み待ち行列である待ち行列42および
43上の最優先IP割込みの優先順位を示す。あるプロ
セッサのMFRRが0xffの値にセットされている場
合、そのプロセッサのIP割込みの待ち行列42および
43には項目が存在せず、ハードウェアは、そのプロセ
ッサにIP割込みを伝えない。システム・ソフトウェア
は、あるプロセッサのIP待ち行列である待ち行列42
または43に何かを置く時に、このレジスタにIP待ち
行列上の最優先項目の優先順位をセットする。このレジ
スタは、0xff以外の値である時に、割込み経路指定
層によって、XIRRを介するプロセッサへの提示を求
めて競争するもう1つの割込み要求として扱われる。M
FRR内の値が、そのプロセッサに向けられたすべての
割込み要求のうちで最優先である時には、適当な値がX
ISRに置かれ(XISRの説明を参照)、割込みがプ
ロセッサに伝えられる。他のすべての割込みソースと同
様に、MFRR割込みは、割込みが経路指定層によって
拒絶される時またはソフトウェアが割込みの終了を発行
する時に割込み条件がリセットされていない場合に限っ
て、再要求される。この割込み条件は、0xff以外の
MFRR値として受け取られる。したがって、MFRR
が0xff以外の値を有し、割込み経路指定層がその割
込みの経路指定を開始したならば、割込み経路指定層
は、MFRR内の値がその後に変化しても、そのために
割込み提示層に割込み要求を経路指定し直すことはしな
い。割込み経路指定層がMFRR割込み要求を再経路指
定する唯一の方法は、割込みの拒絶または割込みリセッ
トに起因するものである(MFRRが0xffの値を有
しないと仮定する)。MFRRの値は、ソフトウェアの
ストア動作によってのみ変更される。各プロセッサは、
少なくとも1つのMFRRを有する。MPシステムに
は、1つまたは複数の大域MFRRも存在する。特定の
プロセッサのIP割込み機構に関連するMFRRは、B
A+12、BA+16などのアドレスに置かれる。
【0068】大域待機割込み要求レジスタ(G_QIR
R) 大域待機割込み要求レジスタ73は、4バイト・レジス
タであり、その第1バイトは、1つのMFRRである大
域最優先要求レジスタ(G_MFRR)、残りの下位3
バイトはISSRである。ソフトウェアは、1バイトす
なわちG_MFRRだけ、または4バイト全体のいずれ
かを書き込むことができる。大域サーバの割込み管理区
域の開始アドレスを、そのベース・アドレス(BA)と
称する。大域サーバのBAは、それぞれ異なり、それぞ
れがセットアップ時に確立される。大域サーバ割込み管
理区域の配置は、次のとおりである。
【表4】
【0069】ISSR(割込みソース指定レジスタ)に
は、対応するMFRRに関連する割込みがプロセッサに
伝えられる時にXISRにロードされる値が含まれる。
【0070】装置とコントローラの間での割込み信号生
成 表5に、IBM社のPowerPC 601システム・
バス用に設計された割込みパケット・フォーマットの詳
細を示す。このシステム・バスは、参照により背景材料
として本明細書に組み込まれる"PowerPC 601 RISC Micr
oprocessor User's Manual"、1992年に詳細に説明
されている。同一のアドレス・ビット定義を、他のプロ
セッサを使用する他のデータ処理機に同様に使用できる
はずである。転送タイプ・ビットは、601バスに固有
であり、他のバス・アーキテクチャでは変更される可能
性がある。
【表5】
【0071】転送タイプ・フィールドは、アドレス・バ
ス上で発生している転送のタイプ、たとえば割込み要求
や割込みリセットなどを識別するのに使用される。大域
(GBL)ビットは、バス上のすべての装置がトランザ
クションを監視しなければならないことを示すのに使用
され、割込みパケット転送のために必ずイネーブルされ
る。アドレス・ビット線は、4つのサブセットにグルー
プ化される。アドレス・ビット0ないし2は、発生中の
転送のうち特定のタイプのための追加情報を提供するの
に使用される。割込み要求動作の場合、アドレス・ビッ
ト0ないし2が、これがある割込みの最初の提示と後続
の提示のどちらであるかを示し、したがって、この割込
みが前に拒絶され、再提示されているかどうかを示す。
割込みリセット動作の場合、アドレス・ビット0ないし
2は、割込みリセットの原因を示す。アドレス・ビット
3ないし11は、要求元IOCのシステム・アドレスま
たは経路を示す。アドレス・ビット12ないし15は、
IOC内の16個までのソースのうちのどれがその要求
を行ったかを識別する。アドレス・ビット16ないし2
3は、サーバ番号であり、割込みソースのXIVRレジ
スタから直接取り出される。サーバ・ビットは、各サー
バによって、その特定のサーバに関してセットアップ時
に構成レジスタに書き込まれたサーバ番号と比較され
る。要求パケット内のアドレス・ビット24ないし31
には、その割込みの優先順位が含まれ、これも割込みソ
ースのXIVRから取り出される。この優先順位ビット
は、割込み要求が受け入れられるかどうかを判定するた
め、CPPR内の現在値と比較される。リセット・パケ
ットのアドレス・ビット24ないし31は、予約済みで
あり、X'00'が格納される。
【0072】図8および図9に、このデータ処理割込み
サブシステムのバス信号を示す。まず図8を参照する
と、IOCは、割込み要求を有する時に、そのバス要求
(BR)信号100を活動化することによって、中央バ
ス・アービトレータからアドレス・バスを要求する。ア
ービトレータは、そのIOCへの対応するバス使用許可
(BG)信号102を活動化することによってバスを使
用許可する。その後、このIOCは、このアドレス・バ
スを介して割込み要求パケットを送る。これは、転送開
始(TS)信号104、バス・アドレス信号110およ
び転送タイプ(TT)信号108をあるレベル(表5に
定義されたとおり)に駆動して、あるソースと優先順位
の割込みが存在することを割込みコントローラに伝える
ことによって行われる。さらに、IOCがアドレス・バ
ス・ビジー(ABB)信号106をローに駆動して、ア
ドレス・バスが使用中であることを示す。割込みコント
ローラは、この情報を処理し、割込みをプロセッサに知
らせる。多重処理システムでは、前に説明したように、
割込みコントローラが割込み情報を適当なプロセッサに
経路指定できる。バス・アービトレータが、アドレス肯
定応答(AACK)信号をローに駆動して、そのトラン
ザクションのアドレス部分が完了したことを示す。
【0073】次に図9を参照すると、プロセッサは、割
込みの処理を終えた時に、リセット・パケットをIOC
に送るように(前に説明したようにXIRRレジスタに
ストアすることによって)割込みコントローラに警告す
る。割込みコントローラは、そのバス要求(BR)信号
100を活動化することによって、中央バス・アービト
レータからアドレス・バスを要求する。アービトレータ
は、そのIOCへの対応するバス使用許可(BG)信号
102を活動化することによってバスを使用許可する。
IOCは、このアドレス・バスを介して割込みリセット
・パケットを送る。これは、TS信号104、バス・ア
ドレス信号110およびTT信号108をあるレベル
(表5に定義されたとおり)に駆動して、割込みが処理
されたことをIOCに伝えることによって行われる。さ
らに、IOCがアドレス・バス・ビジー(ABB)信号
106をローに駆動して、アドレス・バスが使用中であ
ることを示す。バス・アービトレータが、アドレス肯定
応答(AACK)信号をローに駆動して、そのトランザ
クションのアドレス部分が完了したことを示す。
【0074】保有期間は、1つのアドレス転送と0サイ
クルから8サイクルまでの間のデータの転送からなる。
通常は、アドレスごとに4サイクルのデータ転送がある
ので、データ・バスは、アドレス・バスより頻繁に使用
される。アドレス・バスを介して割込み情報を送ること
によって、使用頻度の高いデータ・バスではなく、利用
度の低い資源であるアドレス・バスを使用することが可
能になる。アドレス・バスを使用することのもう1つの
長所は、好ましい実施例では、現在システム・バス上に
あるすべてのIOCが、アドレス・バス全体を使用する
ことである。しかし、IOCは、すべてがデータ・バス
全体を使用するわけではない。アドレス・バス上を移動
する割込みパケットは、システム内に既に存在するアド
レス線を、ピンやワイヤのコストなしで使用する。これ
は、複数の別個の割込み線を使用する従来の方法と大き
く異なる。メモリ・マップ式入出力は、入出力に最も広
く使用されている方法なので、割込みパケットを送るた
めの方法としてこれを使用する。入出力の最も一般的な
方法であり、当技術分野で既知の従来の技法を使用する
ので、このシステム・バス上のすべてのチップが、既に
メモリ・マップ式入出力を行うための論理機構を有す
る。
【0075】好ましい実施例では、割込みパケット定義
によって、512個のIOCのそれぞれから16個の割
込みソースが許容される。割込み優先レベルは、256
ある。各システムが、256個の割込みサーバを有する
ことができる。このため、広範囲の計算機でこのパケッ
ト定義を使用できる。割込み要求パケットと割込みリセ
ット・パケットの両方に、割込みパケット内の情報以上
の情報を送る必要のあるシステムが使用することのでき
る予約ビットがある。したがって、このパケット定義に
よって、将来のシステムに対する拡張性がもたらされ
る。
【0076】以前のハードウェア配線式割込みシステム
は、割込みに関する直接情報をほとんど提供しなかっ
た。このバス・パケット方法では、割込みソース、IO
ID、優先順位およびサーバ情報を、すべて同時に同一
の場所で提供する。これによって、システムの柔軟性に
加えて、システム割込みのデバッグがはるかに簡単にな
る。割込みリセット・パケットの予約済みアドレス・ビ
ット0ないし2に情報を入れて、どの種類の割込みリセ
ットが送られているのかをIOCに伝えることができ
る。
【0077】256個の可能な割込みサーバが、この割
込みパケット定義で許容される。これは、システム内で
割込みを受け取るプロセッサが256個まで存在できる
ことを意味する。このパケット定義を用いると、異なる
プロセッサに割込みを簡単に経路指定できる。さらに、
256個の可能な割込みサーバは、システムごとに定義
でき、1システム内で256個までの割込みコントロー
ラが許容される。前に説明したように、割込みコントロ
ーラのそれぞれが1つのプロセッサだけにサービスする
か、あるいは一群のサーバが各プロセッサにサービスで
きる。
【0078】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0079】(1)アドレス部分とデータ部分とを有す
るバスを含むデータ処理システムにおいて、前記アドレ
ス部分を使用して、装置と割込みサービス機構との間で
割込み情報を転送するステップを含む、割込み情報を転
送するための方法。 (2)前記装置が、割込みの生成を引き起こすことを特
徴とする、上記(1)の方法。 (3)前記装置が、前記割込み情報の前記割込みサービ
ス機構への転送を引き起こすことを特徴とする、上記
(1)の方法。 (4)前記割込み情報が、前記割込みサービス機構に割
込み要求コマンドを伝えることを特徴とする、上記
(3)の方法。 (5)前記割込みサービス機構が、前記割込み情報の前
記装置への転送を引き起こすことを特徴とする、上記
(1)の方法。 (6)前記割込み情報が、前記装置に割込みリセット・
コマンドを伝えることを特徴とする、上記(5)の方
法。 (7)装置からサービス機構へ、割込み情報を含む第1
割込みパケットを転送するステップと、前記サービス機
構から前記装置へ、割込み情報を含む第2割込みパケッ
トを転送するステップとを含む、データ処理システム内
での割込み情報の双方向転送の方法。 (8)前記装置が、割込みの生成を引き起こすことを特
徴とする、上記(7)の方法。 (9)前記装置が、前記第1割込みパケットの前記割込
みサービス機構への転送を引き起こすことを特徴とす
る、上記(7)の方法。 (10)前記割込み情報が、前記割込みサービス機構に
割込み要求コマンドを伝えることを特徴とする、上記
(9)の方法。 (11)前記割込みサービス機構が、前記第2割込みパ
ケットの前記装置への転送を引き起こすことを特徴とす
る、上記(7)の方法。 (12)前記割込み情報が、前記装置に割込みリセット
・コマンドを伝えることを特徴とする、上記(11)の
方法。 (13)装置によって割込み要求を開始するステップ
と、前記装置に関する割込み情報を含む割込みパケット
を生成するステップと、データ処理システムのアドレス
・バスを介して割込みコントローラに前記割込みパケッ
トを送るステップとを含む、データ処理システム内で割
込みを処理するための方法。 (14)装置と、機能的に前記装置に結合された割込み
サービス機構と、前記装置と前記割込みサービス機構と
の間で割込み情報を転送するためバスのアドレス部分を
使用するための手段とを含む、前記アドレス部分とデー
タ部分とを含む前記バスを有するデータ処理システム内
で割込み情報を転送するためのシステム。 (15)前記装置が、割込みの生成を引き起こすことを
特徴とする、上記(14)のシステム。 (16)前記装置が、前記割込み情報の前記割込みサー
ビス機構への転送を引き起こすことを特徴とする、上記
(14)のシステム。 (17)前記割込み情報が、前記割込みサービス機構に
割込み要求コマンドを伝えることを特徴とする、上記
(16)のシステム。 (18)前記割込みサービス機構が、前記割込み情報の
前記装置への転送を引き起こすことを特徴とする、上記
(14)のシステム。 (19)前記割込み情報が、前記装置に割込みリセット
・コマンドを伝えることを特徴とする、上記(18)の
システム。 (20)装置からサービス機構へ、割込み情報を含む第
1割込みパケットを転送する手段と、前記サービス機構
から前記装置へ、割込み情報を含む第2割込みパケット
を転送する手段とを含む、データ処理システム内での割
込み情報の両方向転送のシステム。 (21)前記装置が、前記第1割込みパケットの前記割
込みサービス機構への転送を引き起こすことを特徴とす
る、上記(20)のシステム。 (22)前記割込み情報が、前記割込みサービス機構に
割込み要求コマンドを伝えることを特徴とする、上記
(21)のシステム。 (23)前記割込みサービス機構が、前記第2割込みパ
ケットの前記装置への転送を引き起こすことを特徴とす
る、上記(20)のシステム。 (24)前記割込み情報が、前記装置に割込みリセット
・コマンドを伝えることを特徴とする、上記(23)の
システム。 (25)装置によって割込み要求を開始する手段と、前
記装置に関する割込み情報を含む割込みパケットを生成
する手段と、データ処理システムのアドレス・バスを介
して割込みコントローラに前記割込みパケットを送る手
段とを含む、データ処理システム内で割込みを処理する
ためのシステム。 (26)前記割込み情報が、割込み要求コマンドを含む
ことを特徴とする、上記(25)のシステム。 (27)前記アドレス・バスを介して前記装置に、第2
割込みパケットを送るための手段をさらに含む、上記
(25)のシステム。 (28)前記第2割込みパケットが、割込みリセット・
コマンドを含むことを特徴とする、上記(27)のシス
テム。
【発明の効果】
【0080】割込みは、アドレス・バスを介して転送さ
れるので、他の割込みや他のシステム動作と共にシーケ
ンス化される。これによって、システム・レベルで割込
みを観察しやすくなり、割込みがシステムに対してより
非同期でなくなるので、デバッグの間に有用である。た
とえば、アドレス・バス上に提示される割込みを検出す
るために、システム・バスを監視できる。アドレス・パ
ケットは、順序付けされる(すなわち、オーバーラップ
せず、同時に提示されることもない)ので、どの処置が
呼び出されたか、もしくはどの処置が後続の処置の原因
となったかの判定が簡単である。
【0081】割込み情報は、プレーナ上の配線ではなく
割込みパケット内のさまざまなフィールドで定義される
ので、この割込みシステムは、プログラム可能度が非常
に高い。割込み優先順位、サーバ番号、割込みソースお
よび入出力コントローラIDは、このパケット構造を使
用することによってすべてプログラム可能である。した
がって、この割込み構造は、ハードウェア配線式システ
ムの割込み構造より柔軟である。
【図面の簡単な説明】
【図1】データ処理システムのブロック図である。
【図2】割込みコントローラを介するデータ・プロセッ
サへの装置インターフェースのブロック図である。
【図3】ソフトウェア待ち行列へインターフェースする
論理サーバの構成要素を示す図である。
【図4】割込みコントローラの内部構造を示す図であ
る。
【図5】ハードウェア待ち行列とソフトウェア待ち行列
の構造を示す図である。
【図6】入出力コントローラ、割込み経路指定層および
割込み提示層を含む、割込みサブシステム全体の流れ図
である。
【図7】入出力コントローラ、割込み経路指定層および
割込み提示層を含む、割込みサブシステム全体の流れ図
である。
【図8】割込み要求に関するバス・タイミング図であ
る。
【図9】割込みリセットに関するバス・タイミング図で
ある。
【符号の説明】
40 プロセッサ 41 プロセッサ 42 待ち行列 43 待ち行列 44 大域待ち行列 45 大域待ち行列 50 割込み提示層 52 割込み経路指定層 60 外部割込み要求レジスタ(XIRR) 61 待機割込み要求レジスタ(QIRR) 70 外部割込みベクトル・レジスタ(XIVR) 73 大域待機割込み要求レジスタ(G_QIRR) 100 バス要求(BR)信号 102 バス使用許可(BG)信号 104 転送開始(TS)信号 106 アドレス・バス・ビジー(ABB)信号 108 転送タイプ(TT)信号 110 バス・アドレス信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム・ブレント・チャンドラー アメリカ合衆国78660 テキサス州フルゲ ルヴィレ クリエフ・クロス・ドライブ 900 (72)発明者 ジョージ・ウィリアム・ダリー・ジュニア アメリカ合衆国78750 テキサス州オース チン ウェスターカーク・ドライブ 8901

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】アドレス部分とデータ部分とを有するバス
    を含むデータ処理システムにおいて、 前記アドレス部分を使用して、装置と割込みサービス機
    構との間で割込み情報を転送するステップを含む、割込
    み情報を転送するための方法。
  2. 【請求項2】前記装置が、割込みの生成を引き起こすこ
    とを特徴とする、請求項1の方法。
  3. 【請求項3】前記装置が、前記割込み情報の前記割込み
    サービス機構への転送を引き起こすことを特徴とする、
    請求項1の方法。
  4. 【請求項4】前記割込み情報が、前記割込みサービス機
    構に割込み要求コマンドを伝えることを特徴とする、請
    求項3の方法。
  5. 【請求項5】前記割込みサービス機構が、前記割込み情
    報の前記装置への転送を引き起こすことを特徴とする、
    請求項1の方法。
  6. 【請求項6】前記割込み情報が、前記装置に割込みリセ
    ット・コマンドを伝えることを特徴とする、請求項5の
    方法。
  7. 【請求項7】装置からサービス機構へ、割込み情報を含
    む第1割込みパケットを転送するステップと、 前記サービス機構から前記装置へ、割込み情報を含む第
    2割込みパケットを転送するステップとを含む、データ
    処理システム内での割込み情報の双方向転送の方法。
  8. 【請求項8】前記装置が、割込みの生成を引き起こすこ
    とを特徴とする、請求項7の方法。
  9. 【請求項9】前記装置が、前記第1割込みパケットの前
    記割込みサービス機構への転送を引き起こすことを特徴
    とする、請求項7の方法。
  10. 【請求項10】前記割込み情報が、前記割込みサービス
    機構に割込み要求コマンドを伝えることを特徴とする、
    請求項9の方法。
  11. 【請求項11】前記割込みサービス機構が、前記第2割
    込みパケットの前記装置への転送を引き起こすことを特
    徴とする、請求項7の方法。
  12. 【請求項12】前記割込み情報が、前記装置に割込みリ
    セット・コマンドを伝えることを特徴とする、請求項1
    1の方法。
  13. 【請求項13】装置によって割込み要求を開始するステ
    ップと、 前記装置に関する割込み情報を含む割込みパケットを生
    成するステップと、 データ処理システムのアドレス・バスを介して割込みコ
    ントローラに前記割込みパケットを送るステップとを含
    む、データ処理システム内で割込みを処理するための方
    法。
  14. 【請求項14】装置と、 機能的に前記装置に結合された割込みサービス機構と、 前記装置と前記割込みサービス機構との間で割込み情報
    を転送するためバスのアドレス部分を使用するための手
    段とを含む、前記アドレス部分とデータ部分とを含む前
    記バスを有するデータ処理システム内で割込み情報を転
    送するためのシステム。
  15. 【請求項15】前記装置が、割込みの生成を引き起こす
    ことを特徴とする、請求項14のシステム。
  16. 【請求項16】前記装置が、前記割込み情報の前記割込
    みサービス機構への転送を引き起こすことを特徴とす
    る、請求項14のシステム。
  17. 【請求項17】前記割込み情報が、前記割込みサービス
    機構に割込み要求コマンドを伝えることを特徴とする、
    請求項16のシステム。
  18. 【請求項18】前記割込みサービス機構が、前記割込み
    情報の前記装置への転送を引き起こすことを特徴とす
    る、請求項14のシステム。
  19. 【請求項19】前記割込み情報が、前記装置に割込みリ
    セット・コマンドを伝えることを特徴とする、請求項1
    8のシステム。
  20. 【請求項20】装置からサービス機構へ、割込み情報を
    含む第1割込みパケットを転送する手段と、 前記サービス機構から前記装置へ、割込み情報を含む第
    2割込みパケットを転送する手段とを含む、データ処理
    システム内での割込み情報の両方向転送のシステム。
  21. 【請求項21】前記装置が、前記第1割込みパケットの
    前記割込みサービス機構への転送を引き起こすことを特
    徴とする、請求項20のシステム。
  22. 【請求項22】前記割込み情報が、前記割込みサービス
    機構に割込み要求コマンドを伝えることを特徴とする、
    請求項21のシステム。
  23. 【請求項23】前記割込みサービス機構が、前記第2割
    込みパケットの前記装置への転送を引き起こすことを特
    徴とする、請求項20のシステム。
  24. 【請求項24】前記割込み情報が、前記装置に割込みリ
    セット・コマンドを伝えることを特徴とする、請求項2
    3のシステム。
  25. 【請求項25】装置によって割込み要求を開始する手段
    と、 前記装置に関する割込み情報を含む割込みパケットを生
    成する手段と、 データ処理システムのアドレス・バスを介して割込みコ
    ントローラに前記割込みパケットを送る手段とを含む、
    データ処理システム内で割込みを処理するためのシステ
    ム。
  26. 【請求項26】前記割込み情報が、割込み要求コマンド
    を含むことを特徴とする、請求項25のシステム。
  27. 【請求項27】前記アドレス・バスを介して前記装置
    に、第2割込みパケットを送るための手段をさらに含
    む、請求項25のシステム。
  28. 【請求項28】前記第2割込みパケットが、割込みリセ
    ット・コマンドを含むことを特徴とする、請求項27の
    システム。
JP6187212A 1993-09-20 1994-08-09 多重プロセッサ・コンピュータ・システム内で割込み情報を伝えるための方法および装置 Pending JPH07105031A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US124513 1980-02-25
US12451393A 1993-09-20 1993-09-20

Publications (1)

Publication Number Publication Date
JPH07105031A true JPH07105031A (ja) 1995-04-21

Family

ID=22415318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6187212A Pending JPH07105031A (ja) 1993-09-20 1994-08-09 多重プロセッサ・コンピュータ・システム内で割込み情報を伝えるための方法および装置

Country Status (2)

Country Link
EP (1) EP0644489A3 (ja)
JP (1) JPH07105031A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (ja) * 2001-05-18 2002-11-29 Nec Corp クラスタシステム、コンピュータ及びプログラム
WO2002099662A1 (fr) * 2001-05-30 2002-12-12 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de transmission
JP2006119802A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd マルチプロセッサシステム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684977A (en) * 1995-03-31 1997-11-04 Sun Microsystems, Inc. Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system
US5657472A (en) * 1995-03-31 1997-08-12 Sun Microsystems, Inc. Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor
DE69628493T2 (de) * 1995-03-31 2004-05-19 Sun Microsystems, Inc., Santa Clara Cache-kohärentes Computersystem, das Entwertungs- und Rückschreiboperationen minimiert
US5710891A (en) * 1995-03-31 1998-01-20 Sun Microsystems, Inc. Pipelined distributed bus arbitration system
DE69628079T2 (de) * 1995-03-31 2004-02-26 Sun Microsystems, Inc., Santa Clara Mechanismus auf Systemebene zum Entwerten von Daten, die im externen Cache eines Prozessors in einem Computersystem gespeichert sind
US5634068A (en) * 1995-03-31 1997-05-27 Sun Microsystems, Inc. Packet switched cache coherent multiprocessor system
US5689713A (en) * 1995-03-31 1997-11-18 Sun Microsystems, Inc. Method and apparatus for interrupt communication in a packet-switched computer system
US5655100A (en) * 1995-03-31 1997-08-05 Sun Microsystems, Inc. Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system
US5907485A (en) * 1995-03-31 1999-05-25 Sun Microsystems, Inc. Method and apparatus for flow control in packet-switched computer system
US5893165A (en) * 1996-07-01 1999-04-06 Sun Microsystems, Inc. System and method for parallel execution of memory transactions using multiple memory models, including SSO, TSO, PSO and RMO
JPH1078934A (ja) * 1996-07-01 1998-03-24 Sun Microsyst Inc パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム
GB9809197D0 (en) 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Microcomputer with packet translation for event packets and memory acess packets
GB9809183D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Microcomputer with interrupt packets
GB9809199D0 (en) 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Interrupt and control packets for a microcomputer
GB9809203D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Packet distribution in a microcomputer
GB9809201D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Microcomputer chips with interconnected address and data paths
GB9809182D0 (en) 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Microcomputer with bit packets for interrupts,control and memory access
GB2339035B (en) * 1998-04-29 2002-08-07 Sgs Thomson Microelectronics A method and system for transmitting interrupts
US7133946B2 (en) * 2004-03-29 2006-11-07 Intel Corporation Mechanism to repeat signals across an unrelated link
US9330035B2 (en) 2013-05-23 2016-05-03 Arm Limited Method and apparatus for interrupt handling

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5660955A (en) * 1979-10-23 1981-05-26 Canon Inc Interruption priority determination system
JPH0212432A (ja) * 1988-06-30 1990-01-17 Nec Corp データ処理装置
WO1993000638A1 (en) * 1991-06-26 1993-01-07 Ast Research, Inc. Automatic distribution of interrupts controller for a multiple processor computer system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (ja) * 2001-05-18 2002-11-29 Nec Corp クラスタシステム、コンピュータ及びプログラム
WO2002099662A1 (fr) * 2001-05-30 2002-12-12 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de transmission
US7421527B2 (en) 2001-05-30 2008-09-02 Matsushita Electric Industrial Co., Ltd. Transmission apparatus and transmission method
JP2006119802A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd マルチプロセッサシステム

Also Published As

Publication number Publication date
EP0644489A3 (en) 1995-11-22
EP0644489A2 (en) 1995-03-22

Similar Documents

Publication Publication Date Title
JP3312266B2 (ja) 多重処理システム用のスケーラブル・システム割込み構造
JPH07105031A (ja) 多重プロセッサ・コンピュータ・システム内で割込み情報を伝えるための方法および装置
EP0529384B1 (en) CPU expansive gradation of I/O interruption subclass recognition
KR0167818B1 (ko) 버스 중재 시스템, 버스 중재 회로, 버스 중재 방법 및 데이타 전송 방법
US5155854A (en) System for arbitrating communication requests using multi-pass control unit based on availability of system resources
JP2625589B2 (ja) マルチプロセッサ・システム
US20020116563A1 (en) Apparatus and method to reduce interrupt latency in shared interrupt systems
US9792232B2 (en) Techniques for queueing interrupts in a data processing system
US4905145A (en) Multiprocessor
US20030204655A1 (en) Prioritizing vector generation in interrupt controllers
US7350005B2 (en) Handling interrupts in a system having multiple data processing units
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
US5778236A (en) Multiprocessing interrupt controller on I/O bus
JPH056223B2 (ja)
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
US5850555A (en) System and method for validating interrupts before presentation to a CPU
US20120226842A1 (en) Enhanced prioritising and unifying interrupt controller
EP2495656B1 (en) Enhanced prioritising and unifying interrupt controller
US5850558A (en) System and method for referencing interrupt request information in a programmable interrupt controller
US5894578A (en) System and method for using random access memory in a programmable interrupt controller
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
US10229074B2 (en) Techniques for handling interrupts in a processing unit using interrupt request queues
US20030088723A1 (en) System and method for processing interrupts
JPH05314063A (ja) 多重バス制御方式
JPS58115569A (ja) マルチプロセツサ方式