JPH0916533A - 対称多重処理システム - Google Patents

対称多重処理システム

Info

Publication number
JPH0916533A
JPH0916533A JP8062963A JP6296396A JPH0916533A JP H0916533 A JPH0916533 A JP H0916533A JP 8062963 A JP8062963 A JP 8062963A JP 6296396 A JP6296396 A JP 6296396A JP H0916533 A JPH0916533 A JP H0916533A
Authority
JP
Japan
Prior art keywords
interrupt
register
central
unit
control unit
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
JP8062963A
Other languages
English (en)
Other versions
JP3570810B2 (ja
Inventor
Douglas D Gephardt
ダグラス・ディー・ゲファート
Rodney W Schmidt
ロドニー・ダブリュ・シュミット
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH0916533A publication Critical patent/JPH0916533A/ja
Application granted granted Critical
Publication of JP3570810B2 publication Critical patent/JP3570810B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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)【要約】 【課題】 中央割込制御ユニット220を含む対称多重
処理システムを提供する。 【解決手段】 ユニット220は処理ユニット202−
1〜202−mと割込ソースとに結合し、それらは第1
の周辺バス902に結合する周辺装置907〜909と
第2の周辺バス904に結合する装置910〜912と
を含む。ユニット220は2モードで動作し、通過モー
ドではISA周辺装置910〜912の割込は割込制御
装置915を介しユニット220に与えられマスタ処理
ユニットに直接送られる。PCI割込はPCIマッパー
916を介し割込制御装置の他の利用可能割込入力に与
えられる。通過モードは従来オペレーティングシステム
と該システムとの後方互換性を考慮する。先行モード中
ユニット220はPCIマッパー916を不能化しPC
IおよびISA装置割込はユニット220へ直接与えら
れる。先行モード中PCIマッパーは不能化されISA
周辺装置はPCI割込と競合せずにシステムでサポート
される。

Description

【発明の詳細な説明】
【0001】
【発明の背景】1.発明の分野 この発明はコンピュータシステムに関する。より特定的
にはこの発明は、対称多重処理システム内において用い
られる割込制御アーキテクチャおよびスキームに関す
る。
【0002】2.関連技術の説明 多重処理ユニットを用いるコンピュータシステムは、現
在の単一のプロセッサに基づくシステムの動作能力を超
える、経済的に見合う動作能力を約束する。多重処理を
行なう環境内では、1つのアプリケーションのためのす
べての処理を単一のプロセッサに集中させるよりもむし
ろ、タスクは別個のプロセッサによって処理可能なグル
ープまたは「スレッド」に分けられる。それにより、全
体の処理ロードはいくつかのプロセッサ間に分散され、
分散されたタスクは並列して同時処理されるだろう。オ
ペレーティングシステムソフトウェアは、プログラムコ
ードの様々な部分を別々に実行可能なスレッドに分け、
典型的には各スレッドに優先順位レベルを割当てる。
【0003】図1は、複数の処理ユニット12A−12
Cを含む、いわゆる対称多重処理システム10のブロッ
ク図である。各処理ユニット12A−12Cは、処理コ
ア14A−14Cとキャッシュメモリ16A−16Cと
バスインタフェース18A−18Cとをそれぞれ含む。
処理ユニット12A−12Cはシステムバス22を介し
て主メモリ20に結合される。I/O装置24および2
6の組はシステムバス22にさらに結合される。
【0004】図1の多重処理システム10は、すべての
処理ユニット12A−12Cが同じメモリ空間(つまり
主メモリ20)を共有し、同じアドレスマッピングを用
いてメモリ空間にアクセスするという点で対称である。
多重処理システム10はさらに、すべての処理ユニット
12A−12Cが同じI/Oサブシステムへ等しいアク
セスを共有するという点において対称である。
【0005】一般に、オペレーティングシステムソフト
ウェアの1つのコピーおよび各ユーザアプリケーション
ファイルの1つのコピーは主メモリ20内にストアされ
る。各処理ユニット12A−12Cは、オペレーティン
グシステムおよびユーザアプリケーションファイルのこ
れらの1つのコピーから実行する。処理コア14A−1
4Cはコードを同時に実行するだろうが、処理ユニット
12A−12Cのうちの1つだけが所与の時間にシステ
ムバス22のマスタシップをとってもよいことに注目さ
れたい。したがって、予め定められる調停アルゴリズム
に基づいて、2つ以上の処理ユニットの同時バス要求を
調停し、処理ユニットの1つにマスタシップを許可する
ために、バス調停機構(図示せず)が設けられる。様々
なバス調停技術が周知となっている。
【0006】各処理ユニット12A−12Cの高速キャ
ッシュメモリ16A−16Cは、それぞれの処理ユニッ
トによって最も最近アクセスされたデータを、その関連
データが対応する主メモリアドレスを示すアドレスタグ
とともにそれぞれストアする。プログラムはコードの同
じセクションを実行し同じデータ構造に繰返してアクセ
スする傾向があるため、キャッシュが十分に大きいもの
であれば、アクセスされる位置の多くは既にキャッシュ
にストアされている。
【0007】キャッシュ機構には2つの大きな利点があ
る。第1に、キャッシュは高速メモリでもって実現され
バス調停およびバッファ遅延なしにアクセス可能である
ため、それぞれのキャッシュにストアされる位置へのア
クセスは主メモリアクセスよりもはるかに高速である。
第2に、それぞれのキャッシュにストアされる位置への
アクセスはシステムバスへのアクセスを必要としないた
め、各プロセッサのバス利用は大きく低減される。シス
テムバスはゆえに他の要求されるトランザクションを処
理するのに使用できる。典型的には、「ヒット率」が高
ければ高いほど、全体のシステム性能はより向上する。
ヒット率は、特定の処理コアによる、キャッシュに既に
ストアされる位置へのアクセスの割合である。適度に大
きなキャッシュを有して適当に設計されるシステムは、
90%を超えるヒット率を達成することができる。
【0008】キャッシュメモリを用いる多重処理システ
ムに関して考慮しなければならない重要な点はデータの
一貫性である。主メモリ20によってストアされるデー
タ(および命令)の複数のコピーがキャッシュメモリ1
6A−16Cのうちの1つ以上に同時に存在するかもし
れないため、専用の機構を用いて、メモリサブシステム
のうちの1つが更新された(つまり新しいデータを書込
まれた)場合のデータの保全性を維持しなければならな
い。たとえば、データの特定のセクションが処理コア1
4Aによってキャッシュメモリ16A内で更新され、主
メモリ20の対応するセクション内では更新されないと
いう状況を考えられたい。処理コア14Bがこの後コー
ドの同じセクションにアクセスするならば、どのセクシ
ョンが最新のものでありどのセクションがもはや有効で
ないかということを把握するための何らかの信頼性のあ
る機構を設けて、処理コア14Bが適当なデータに確実
にアクセスするようにしなければならない。それゆえ、
キャッシュの一貫性を効率的に維持するという目的で、
いわゆるライトスルーおよびライトバック技術に基づく
技術を含む様々な技術が開発されてきた。様々なキャッ
シュ一貫性技術は既知の先行技術の多くの刊行物に記載
されており、ここではこれ以上は論じない。
【0009】対称多重処理システムに関して考慮しなけ
ればならない別の重要な点は、様々なシステム資源によ
り発生される割込の処理および分散である。たとえば、
図1のシステムでは、I/O装置24および26は、特
定の事象の発生(または非発生)に基づいて、それぞれ
の割込信号を各々アサートするかもしれない。当業者に
は理解されるように、割込は、特にキーボード装置、プ
リンタ、およびタイマのようなシステム資源によって、
ルーチンに従って発生される。多くのシステムは、割込
がソフトウェアコマンドに応答してアサートされてもよ
いソフトウェア割込にさらに対処する。システム内で生
じるであろう異なる割込の数のため、最適なシステム性
能およびバス利用を達成するよう割込を効率的に管理お
よび分散する機構を設けることが望ましい。
【0010】割込を処理するための1つの技術は、複数
の割込を受取りそれらを優先順位づけして様々な処理ユ
ニット間で分散させることのできる集中割込制御装置を
用いる。集中割込制御技術に関連する問題は、対処可能
な割込の総数が、典型的には集中割込制御装置に設けら
れる入力ピンの数によって制限されるという点である。
言い換えれば、たとえば、集中割込制御装置が全部で1
6の割込入力ピンを含むとすると、16より多い割込発
生装置は典型的にはシステム内で対処できない。このこ
とはシステムの柔軟性に制限を与える。さらに、そのよ
うなシステム内では、専用の割込ラインが各割込ソース
に接続されなければならない。このような専用割込ライ
ンは、コンピュータシステムに1つ以上の周辺装置を接
続するリモートケーブルネットワークでは利用できない
かもしれない。ここでも、システムの柔軟性は結果的に
制限されるだろう。
【0011】多重処理システムによって用いられる割込
スキームが、異なるI/Oバス上にある装置に割込むこ
とをサポートできることも重要である。従来の単一プロ
セッサシステムでは、アドバンスト・マイクロ・ディバ
イシズ・インコーポレイテッド(Advanced Micro Devic
es, Inc.)製造の、特に広く用いられているAM825
9割込制御装置のような割込制御装置が、ISA周辺装
置のような、比較的多数の周辺装置をサポートするため
に用いられる。さらに、そのようなシステム内でPCI
バス上にある周辺装置はPCI割込を8259割込制御
装置上の利用可能な入力に送る割込マッパーを介して周
辺装置の割込をマッピングすることによってフレキシブ
ルにサポートされてもよい。残念なことに、8259の
ような割込制御装置は複数のプロセッサ間に割込を分散
するようにはされない。この問題をさらに複雑にするこ
とには、DOSのような従来のオペレーティングシステ
ムは、システム内に8259タイプの割込装置が存在す
るものとする。
【0012】複数のI/Oバス上にある周辺装置からの
割込がサポートされる、多重処理システムのための割込
機構および方法は望ましい。この割込機構および方法は
さらに、新形多重処理オペレーティングシステムに対応
する一方で、DOSのような従来的なオペレーティング
システムと後方互換性があるべきである。
【0013】
【発明の概要】上に述べられる問題は、この発明に従う
対称多重処理システムによって大部分解決される。1つ
の実施例において、中央割込制御ユニットを含む対称多
重処理システムが設けられる。中央割込制御ユニット
は、複数の処理ユニットと複数の割込ソースとに結合さ
れる。割込ソースは、PCIバスのような第1の周辺バ
スに結合される複数の周辺装置を含む。割込ソースはさ
らに、ISAバスのような第2の周辺バスに結合される
装置を含む。中央割込制御ユニットは2つのモードで動
作する。通過モードと呼ばれる第1のモードでは、IS
A周辺装置からの割込は、カスケード接続されるタイプ
8259割込制御装置のような割込制御装置を介して、
中央割込制御ユニットに与えられる。中央割込制御ユニ
ットは次いでその割込をマスタ処理ユニットに直接送
る。PCI割込は、PCIマッパーを介して、割込制御
装置の他の利用可能な割込入力に与えられる。通過モー
ドは、このシステムと、DOSのような従来のオペレー
ティングシステムとの後方互換性を考慮するという有利
な点がある。先行動作モード中、中央割込制御ユニット
はPCIマッパーを不能化させる。先行モードでは、P
CI装置およびISA装置の両方からの割込は中央割込
制御ユニットに直接与えられる。先行モード中はPCI
マッパーは不能化されるので、付加的なISA周辺装置
はPCI割込と競合することなしにシステム内でサポー
トされるだろう。
【0014】この発明の他の目的および利点は、以下の
詳細な説明を読み、添付の図面を参照するとより明らか
となる。
【0015】この発明は様々な修正および代替形式が可
能であるが、その特定の実施例を図面の例によって示し
ここに詳細に記載する。しかしながら、図面およびその
詳細な説明はこの発明を開示される特定の形式に限定す
ることを意図するものではなく、逆に、この発明は前掲
の特許請求の範囲に定義されるようなこの発明の精神お
よび範囲内に入るすべての修正物、均等物および代替物
を包含することを意図するものであることが理解される
はずである。
【0016】
【実施例の詳細な説明】図2を参照すると、集中割込制
御装置機構を含む対称多重処理システム200のブロッ
ク図が示される。システム200は、主メモリ204に
CPUローカルバス207を介して結合される複数の処
理ユニット202−1から202−mを含む。各処理ユ
ニット202−1から202−mは、それぞれの処理コ
ア204−1から204−mと、それぞれのキャッシュ
メモリ205−1から205−mと、それぞれのバスイ
ンタフェース206−1から206−mとを含む。バス
ブリッジ208はCPUローカルバス207をI/Oバ
ス210に結合する。複数のI/O周辺装置212−1
から212−nはI/Oバス210に結合される。付加
的なI/O装置214および割込制御装置216はI/
Oバス210にさらに結合される。I/O装置212−
1から212−nは中央割込制御ユニット220に結合
される。I/O装置212−1から212−nおよび2
14は、処理ユニット202−1から202−mの各々
によりバスブリッジ208を介してアクセス可能であ
る。
【0017】中央割込制御ユニット220は、I/O装
置212−1から212−nと割込制御装置216とか
ら受取った割込を管理し、その割込を処理ユニット20
2−1から202−mの間に分散させるために設けられ
る。中央割込制御ユニット220は、処理ユニット20
2−1から202−mによって発生されるプロセッサ間
割込およびソフトウェア割込をさらに管理する。その好
ましい形式においては、中央割込制御ユニット220
は、最適なシステムの柔軟性を提供するために、以下に
論じられるような様々なプログラマブルな特徴を有して
実現される。
【0018】I/Oバス210は、CD−ROMユニッ
ト、ローカルエリアネットワーク(LAN)装置、およ
びプリンタのような周辺装置をコンピュータシステム2
00に結合するための任意の好適なバスであってもよ
い。例示の周辺バス規格は、ISA(業界標準アーキテ
クチャ)バスと、EISA(拡張業界標準アーキテクチ
ャ)バスと、PCI(周辺構成要素相互接続)バスとを
含む。バスブリッジ208は、I/Oバス210とCP
Uローカルバス207との間にインタフェースを与え
る。
【0019】処理コア204−1から204−mは、予
め定められる命令セットに従って動作するデータ処理ユ
ニットである。例示の処理ユニットは、80486型処
理ユニットと、ペンティアム(Pentium )コンパチブル
処理ユニットと、パワーPC(PowerPC )処理ユニット
とを含む。しかしながら、処理ユニット202−1から
202−mはさらに他の命令セットに従って動作しても
よいことが理解される。
【0020】キャッシュメモリ205−1から205−
mは高速メモリ素子を用いて実現される。各キャッシュ
メモリ205−1から205−mは、関連する処理コア
204−1から204−mと、関連するキャッシュメモ
リ205−1から205−mと、CPUローカルバス2
07との間でのデータの転送を調整し管理するキャッシ
ュ制御装置(図では別途には図示せず)に関連する。好
ましい形式においては、各処理ユニットのキャッシュ制
御装置は、最大の支持動作を提供するために、関連の処
理コアと同時並列で動作する。
【0021】CPUローカルバス207は、予め定めら
れるビット幅を有し、コンピュータシステムの主バスで
ある。主メモリ204は、予め定められるサイズの物理
的メモリであり、DRAM(ダイナミックランダムアク
セスメモリ)でもって実現されてもよい。メモリ制御装
置(別途には図示されず)は、主メモリ204に関連し
て、CPUローカルバス207と主メモリ204との間
で通信するデータ、アドレス、および制御信号の転送を
制御し調整する。
【0022】割込制御装置216は、たとえばI/O装
置214のような様々な割込ソースから引出される割込
信号を分類し管理するために設けられる。割込制御装置
216は、たとえば、アドバンスト・マイクロ・ディバ
イシズ・インコーポレイテッド(Advanced Micro Devic
es, Inc.)製造の、8259A型シリーズのプログラマ
ブル割込制御装置を示す。8259Aプログラマブル割
込制御装置については、刊行物「MOSマイクロプロセ
ッサおよび周辺装置(MOS Microprocessors and Periph
erals )」、3−371頁から3−388頁(アドバン
スト・マイクロ・ディバイシズ・インコーポレイテッド
1987)に記載されている。
【0023】中央割込制御ユニット220の詳細な議論
に進む前に、様々な構成レジスタが中央割込制御ユニッ
ト220内に組み込みまれることにまず注目されたい。
これらの構成レジスタはI/Oバス210を介してプロ
グラムされアクセスされてもよい。したがって、中央割
込制御装置220は、CPUローカルバス207のタイ
プからは独立し、したがって異なるタイプの処理ユニッ
トを用いる様々なシステム内で用いられてもよい。この
結果、中央割込制御ユニット220は、様々な多重処理
システムとともに使用されてもよく、それらのシステム
と互換性もある。
【0024】次に図3を参照して、中央割込制御ユニッ
ト220についての詳細を次に考察する。図3は、I/
O割込制御装置304とプロセッサ割込発生器306と
に結合される中央制御装置302を含む中央制御ユニッ
ト220の1つの実施例のブロック図である。I/Oバ
スインタフェースユニット308は、中央制御装置30
2に結合されてさらに図示される。
【0025】I/Oバスインタフェースユニット308
は、後により詳細に説明されるように、中央制御ユニッ
ト220のプログラミングを可能にし、かつ中央制御ユ
ニット220の他の機能を提供するために、I/Oバス
210と中央制御装置302との間にインタフェースを
与える。プログラミングおよび他の機能のために、中央
割込制御ユニット220は、CPUローカルバス207
を中央制御ユニット220に結合するためのCPUバス
インタフェースユニットを代替的にまたは付加的に含ん
でもよいことが理解される。
【0026】既に説明したように、中央割込制御ユニッ
ト220は様々な異なるI/O装置からの割込を受付け
ることができる。これらの割込は、INTR1−INT
Rnとラベルづけされる複数の割込ピンで受取られてI
/O割込制御装置304に与えられる。中央割込制御ユ
ニット220は、各割込INTR1−INTRnが割込
の特定のタイプを指定し、特定のデリバリモードを特定
し、それの優先順位レベルを示すように個々にプログラ
ムされ得るよう構成される。加えて、特定のピンで受取
られて識別され得る割込信号の数を増やすために、各割
込ピンがカスケードモードで用いられることもできる。
これについては後にさらに説明する。
【0027】中央制御装置302は、様々な割込信号に
優先順位をつけてそれらをプロセッサ割込発生器306
に送り、プロセッサ割込発生器306はそれに応答し、
特に各割込に対するデリバリモードと各処理ユニットの
現在のタスク優先順位とに基づいて割込信号を処理ユニ
ット202−1から202−mのうちの1つ以上に送
る。中央制御装置302は、システムのための割込スタ
ックおよび装置テーブルを維持し、さらにすべての処理
ユニットの現在のタスク優先順位を維持する。中央制御
装置302は最後に、すべてのプロセッサによってブロ
ードキャスト態様で処理される必要のある選択された割
込を分散させるための機構を含む。この分散機構につい
ては後により詳細に説明する。
【0028】既に述べたように、プロセッサ割込発生器
306は様々な割込を1つの(または複数の)指定され
る宛先処理ユニットに送る。この実施例では、中央割込
制御ユニット220は最大256の処理ユニット間に割
込を分散するよう構成される。システム内に設けられる
処理ユニットの数は、後の説明から理解されるように、
システム初期設定でプログラムされる。
【0029】図4はI/O割込制御装置304のブロッ
ク図である。I/O割込制御装置304はI/O装置か
らピンINTR1、INTR2、…INTRnを介して
割込を受取る。I/O割込制御装置304は、ピンIN
TR1−INTRnにそれぞれ結合される複数の割込チ
ャネル402−1から402−nを含む。中央制御装置
インタフェース404は割込チャネル402−1から4
02−nの各々に結合される。割込チャネル402−1
から402−nは、関連のピンINTR1−INTRn
でそれぞれ受取られた割込がそれを介して処理されると
ころの専用チャネルを与える。1つの実施例では、I/
O割込制御装置304は合計16の割込入力ピンを含
み、それらの各々は最大256の独自な割込ベクトルを
サポートするために16の割込信号とカスケードされる
ことが可能である。
【0030】各割込チャネル402−1から402−n
内には、各入来割込の処理を制御するために複数のレジ
スタ(図4には示さず)が設けられる。これらのレジス
タは、システムのメモリ空間またはI/O空間内のいず
れかにマッピングされる。割込チャネル402−1から
402−nの内部レジスタについてのさらなる詳細は後
に記載する。
【0031】各割込チャネル402−1から402−n
は、その関連する入力ピンINTR1−INTRnでの
割込信号のアサーションを検知しその割込信号を処理し
て、割込が処理ユニットにディスパッチされるべきかど
うかをベリファイする。割込特性は個別にプログラム可
能であり、暗示される位置従属は割込チャネル402−
1から402−nのいずれにも付加されない。
【0032】図5は割込チャネル402−1から402
−nの各々を示すブロック図である。図5の割込チャネ
ル402は、レジスタユニット504に結合される割込
入力プロセッサ502と割込受入ユニット506とを含
む。割込入力プロセッサ502は、INTRピン上の割
込信号(カスケードモードがプログラムされる場合は、
複数の割込信号)を処理し、カスケードされる割込に対
する転送のモードを判断する。ピンがカスケードされる
ピンであるようにプログラムされる場合には、現在のカ
スケードされる割込のインデックスはカスケード割込ア
ドレス(CIA)レジスタで判断されストアされる。割
込チャネル402がカスケードモードで動作される場合
には、レジスタユニット504の数と割込受入ユニット
506の数とは効果的に15回重複されて、別個の割込
サブチャネルが各可能なカスケードされる割込信号に対
して設けられることが注目される。これらのサブチャネ
ルは図5内に非常に細い線で示される。
【0033】各割込信号は、プログラマブル制御レジス
タ504Aと、宛先CPUレジスタ504Bと、アフィ
ニティCPUレジスタ504Cと、ID(ベクトル)レ
ジスタ504Dとに関連する。制御レジスタ504A内
の情報に基づいて、割込受入ユニット506はINTR
ピン上の信号を処理する。割込が純粋な、可能化され
た、かつ受容可能な信号である場合には、それは、処理
ユニットの1つ以上に送られるよう、(図4の)中央制
御装置インタフェース404に送られる。
【0034】既に述べたように、各INTRピンは、1
6の異なる割込を表わすカスケードされた信号を割込ピ
ンが受取ってもよいカスケードモードでプログラムされ
ることが可能である。ピンがカスケードされるようにプ
ログラムされる場合は、図5の非常に細い線で示される
ように、レジスタユニットおよび割込受入ユニットの1
6の個々の組は割込チャネルと関連する。中央制御ユニ
ット220のカスケードモードについては後により詳細
に説明する。
【0035】各割込チャネル(またはサブチャネル)の
様々なレジスタを次に考察する。既に述べたように、レ
ジスタの個々のセットは各可能な割込信号の各々に対し
て設けられる。これらのレジスタは、制御レジスタ50
4A、宛先CPUレジスタ504B、アフィニティCP
Uレジスタ504C、およびIDレジスタ504Dとラ
ベルづけされる。これらのレジスタは、ソフトウェアに
とって可視であり、メモリがマッピングされるまたはI
/Oがマッピングされるシステム空間のいずれかに位置
する。個々の制御レジスタ504Aは、各割込信号に対
して設けられ、プログラマブルである。各割込信号のた
めの制御レジスタ504Aは各INTRピンの機能性を
定義して司り、各々は32ビットレジスタで実施されて
もよい。図6は制御レジスタ504Aに関連するフィー
ルドを示し、表1は制御レジスタ504Aの様々なフィ
ールドを記載する。表2はカスケードモード符号化を示
し、表3はデリバリモード符号化を示し、表4はステー
タスビット符号化を示す。表1−表4に示されるよう
に、制御レジスタ504Aは、チャネルに与えられる割
込信号のタイプ、割込ピンのモード(つまり正規モード
またはカスケードモード)、割込信号が現在マスクされ
ているか否か、割込に関連する優先順位レベル、デリバ
リモード、および割込に関連する他のパラメータを定義
する様々な情報をストアする。
【0036】
【表1】
【0037】
【表2】
【0038】
【表3】
【0039】
【表4】
【0040】図5を再び参照すると、宛先CPUレジス
タ504Bの定義は、関連する割込信号のデリバリモー
ドと現在のステータスとに依存する。割込が処理中でな
い場合には、宛先CPUレジスタ504Bは、割込が向
けられる処理ユニットまたは処理ユニットのグループの
IDを有する。割込が処理中である場合には、宛先CP
Uレジスタ504Bは割込を処理中の処理ユニットのI
Dを有する。デリバリモードがブロードキャストかまた
は最下位優先順位である場合には、このレジスタは関連
の意味を全く伝えない。
【0041】アフィニティCPUレジスタ504Cは、
最も最近に割込を処理した処理ユニット202−1から
202−m(図2)のIDをホールドする。IDレジス
タ504Dは割込のID(またはベクトル)を含む。
【0042】割込は、中央制御装置インタフェース40
4を介して中央制御装置302に送られる前に、それぞ
れの割込受入ユニット506によって処理される。割込
が可能化され(ICRのEN)かつマスクされない場合
には(ICRのMSK)、それはデリバリモード、宛先
処理ユニット(もしあれば)、優先順位レベル、および
割込IDについての情報とともに中央制御装置302に
送られる。
【0043】上述したように、このアーキテクチャは、
中央割込制御ユニット220の各割込ピンINTR1−
INTRnが直接割込またはカスケードされる割込のい
ずれとしてもプログラムされることを可能にする。制御
レジスタ504A内のカスケードビットがセットされる
場合は、関連する割込チャネルは合計15のさらなる拡
張割込に対処する。これらの拡張割込の各々は、図5の
非常に細い線で示されるように、専用割込制御レジスタ
(ICR)504A、宛先CPU504B、アフィニテ
ィCPUレジスタ504C、およびIDレジスタ504
Dに関連する。拡張割込制御レジスタのCSD、CMお
よびISAフィールドは定義されないという事実を除い
て、これらのレジスタは表1−表4で定義されるものと
同一である。
【0044】CMフィールドは、カスケードモードで1
6の割込のうちの1つにアクセスするのに用いられる方
法を判断する。16の割込のうちの1つのインデックス
は、割込入力プロセッサに位置するCIAレジスタによ
って判断される。CMモードはCIAを計算する機構を
判断する。
【0045】図7および図8は、特定のピンをカスケー
ドするためのハードウェア構成を示す。中央割込制御ユ
ニット220は、3つの異なるカスケードモードを介し
て割込拡張をサポートすることが注目される。はじめの
2つのモードでは、単一の物理的な割込ピンINTR1
−INTRnは多重I/O装置の割込を選択される割込
サブチャネルに送る。第3のモードは、コンピュータシ
ステム内に従来の8259型割込制御装置を集積するこ
とを可能にする。これにより伝統的なPCハードウェア
およびソフトウェアの互換性が与えられる。
【0046】まず図7を参照すると、「直列コード化」
モードと呼ばれるもののためのハードウェア構成を示
す。図7は、特定の割込チャネルが直列コード化カスケ
ードモードに設定されると活性化される、割込入力プロ
セッサ502の内部部分を示すブロック図である。図7
に示されるように、割込入力プロセッサ502は、シフ
タ制御572と直列デコード回路574とに結合される
制御ユニット570を含む。制御ユニット570は、対
応する制御レジスタ504AのCSDおよびCMフィー
ルドに応答する。現在のモードが直列コード化カスケー
ドモードであることをCMフィールド(つまりカスケー
ドモードフィールド)が示す場合には、特定の割込信号
のアクティビティを識別するために、対応する割込ピン
INTRにある直列に送信される符号化されたデータが
デコードされるよう、制御ユニット570はシフタ制御
572と直列デコード回路574とを活性化する。割込
入力プロセッサ502は、シフトレジスタ584と並列
割込検知回路586とに結合される割込データエンコー
ダを含むリモート割込ハンドラ580に結合されて図示
される。
【0047】複数の割込信号0ないし15は並列割込検
知回路586に与えられる。リモート割込ハンドラ58
0は、装置割込を集めて、各割込信号のステータスを中
央割込制御ユニットへコード化された直列メッセージを
介し関連する割込チャネルのINTRライン上で通信す
る。並列割込検知回路586は、リモート割込ハンドラ
580に与えられる割込信号をモニタする。割込信号の
いずれかで遷移が起こると、割込データエンコーダ58
2は符号化された直列メッセージがシフトレジスタ58
4を介して割込入力プロセッサ502にブロードキャス
トされるようにする。直列データは、割込チャネルのI
NTRラインに与えられる直列コード化メッセージライ
ン上で送信される。シフトレジスタ584は、各直列コ
ード化メッセージが送信される際に、同期するシフトク
ロックを割込入力プロセッサ502に与える。
【0048】1つの実施例では、符号化されるメッセー
ジは6ビット形式の、カスケードされる割込信号番号お
よび割込状態からなる。可能な符号化スキームは次のと
おりである。
【0049】ビット5:4 割込状態 00 割込ローへ遷移 01 割込ハイへ遷移 10 予約 11 予約 ビット3:0 0ないし15と番号づけられるカスケー
ドされた割込入力信号のための割込番号 たとえば、割込信号3がローからハイへ遷移する状況を
考えられたい。この遷移は並列割込検知回路586によ
って検知される。割込データエンコーダ582は、生じ
た遷移のタイプとその遷移を起こした特定の割込信号と
を示す符号化された値を応答して発生する。たとえば、
上述のコード化スキームが用いられたとすると、符号化
された値「010111」は割込信号7(「011
1」)におけるハイ(「01」)への遷移を表わすこと
になる。符号化された値は次いでシフトレジスタ584
に与えられ、それはシフト制御ユニット572によって
受取られる直列送信を開始する。直列デコーダユニット
574は次いで、割込データエンコーダ582のコード
化スキームに従って受取ったメッセージをデコードし
て、そのメッセージを指定される割込サブチャネルの割
込受入ユニット506に与える。割込が可能化され(制
御レジスタのEN)かつマスクされない場合には(制御
レジスタのMSK)、対応する割込信号のための割込受
入ユニット506は次いで割込を中央制御装置302上
に送る。既に説明したのと同様に、割込受入ユニット5
06が割込を中央制御装置302に送るとき、その割込
は割込信号のためのデリバリモードと宛先CPU(もし
あれば)と優先順位レベルと割込IDとに関する情報と
ともに送られる。
【0050】図6の直列コード化カスケード構成に従う
と、直列チャネルは、アクティビティが1つ以上の割込
信号ライン上で生じたときのみ活性状態となり、したが
って低電力および電気的に沈黙した拡張技術を提供す
る。さらに、メッセージの付加的なタイプに対処するた
めに、符号化スキームは予約される値を与える。
【0051】図8は代替的なカスケード構成のブロック
図である。図7の回路部分に対応する回路部分は同一の
参照番号を付与される。この構成では、特定の割込信号
のアクティビティを示す値を符号化するのではなく、並
列割込検知回路586の状態が割込入力プロセッサ50
2にシフトレジスタ584を介して絶えずかつ直接通信
される。したがって、シフトレジスタ584は並列割込
検知回路586の状態を示す直列信号を継続して発生
し、シフト制御ユニット572は直列送信を並列データ
に変換する。並列データは次いでメッセージデコーダ5
90によってデコードされ、メッセージデコーダ590
は検知された割込信号送信を、対応するレジスタユニッ
ト504内にある関連の制御およびベクトル情報ととも
に、対応する割込受入ユニット506へ送る。
【0052】この構成では、割込入力プロセッサはリモ
ート割込シフトレジスタ584を継続的にクロックす
る。それは次いで、現在のデータがどの割込に属するか
を把握して、それを適当なチャネルに送らなければなら
ない。データは単純な「割込ハイ」かまたは「割込ロ
ー」である。中央制御装置(または割込受入ユニット5
06)は次いで、データが割込状態における変化を表わ
すかどうか、およびしたがってもし何らかの変化があっ
た場合にはどのような動作がとられるべきかを判断しな
ければならない。
【0053】図2の中央割込制御ユニット220のさら
なる局面を次に考察する。図9を参照すると、プロセッ
サ割込発生器306を示すブロック図が示される。既に
述べたように、プロセッサ割込発生器306は、中央制
御装置302から割込情報を受取って、処理ユニットに
送られるべき、INT1−INTmとラベルづけされる
プロセッサ割込信号を発生する。図に示されるように、
プロセッサ割込発生器306は、中央制御装置インタフ
ェース602と、プロセッサ間割込(IPI)およびソ
フトウェア割込レジスタセット604と、CPUチャネ
ル606−1から606−mの組とを含む。システムの
各処理ユニットは、プロセッサ割込発生器306の関連
するCPUチャネル606−1から606−mから割込
を受取る。CPUチャネル606−1から606−m
は、中央制御装置302(図3)から中央制御装置イン
タフェース602を介して割込を受取って、それらを適
当な処理ユニット(または複数の処理ユニット)にディ
スパッチする。
【0054】図10はプロセッサチャネル606−1か
ら606−mの各々を示すブロック図である。図10の
CPUチャネル606は、割込ディスパッチ制御ユニッ
ト654に結合されるCPUチャネルレジスタユニット
650と割込待ち行列652とを含む。割込ディスパッ
チ制御ユニット654は対応する処理ユニットに保留割
込をディスパッチする。
【0055】CPUチャネルレジスタユニット650
は、現在のタスク優先レジスタ650Aと、現在の割込
IDレジスタ605Bと、プロセッサIDレジスタ65
0Cと、制御レジスタ650Dとを含む。これらのレジ
スタの各々の機能およびビット定義を次に記載する。
【0056】システム内の各処理ユニットは、中央割込
制御ユニット220によって見られるような機能性を司
るために、専用の制御レジスタ650Dを割当てられ
る。これらは、システムのI/O空間またはメモリ空間
内のいずれかにマッピングされる32ビットプログラマ
ブルレジスタである。図11(a)は、CPUチャネル
制御(CIG)レジスタ650Dをその関連するフィー
ルドとともに示し、表5から表7にかけては制御レジス
タ内の各フィールドを記載する。
【0057】
【表5】
【0058】
【表6】
【0059】
【表7】
【0060】プロセッサIDレジスタ650Cは、特定
のチャネルに関連する処理ユニット202−1から20
2−mのIDを含む。現在の割込IDレジスタ650B
は、チャネルに接続される処理ユニットによって処理中
の割込のID(ベクトル)をストアするために設けられ
る。割込が処理中であることを制御レジスタのステータ
スフィールドが示す場合にのみ、現在の割込IDレジス
タ650Bは有効である。現在のタスク優先レジスタ6
50Aは、チャネルに関連する処理ユニットによって実
行中のタスクの優先順位を反映する。
【0061】図9を参照すると、プロセッサ間割込およ
びソフトウェア割込レジスタセット604は、論理上は
すべてのCPUチャネルから同じ位置にアクセス可能な
レジスタのセットを備える。このレジスタセットの空間
はプロセッサIDをインデックスとして用いることによ
って各CPUチャネルに対して独自のレジスタビューを
備える。したがって、同じ論理位置でマッピングされる
これらのレジスタに2つのプロセッサが読出/書込サイ
クルを発生すると、それらは実際には別個の物理上のレ
ジスタにアクセスするだろう。処理ユニットはこれらの
レジスタに書込を行なって、プロセッサ間割込を開始す
るかまたはソフトウェア割込をスケジュールする。
【0062】図11(b)は、プロセッサ間割込(IP
I)レジスタフォーマットおよびそのフィールドを示
す。すべてのIPIレジスタはソフトウェアにシステム
のI/O位置またはメモリ位置のいずれかにおいてアク
セス可能である。処理ユニットのIDは、どのレジスタ
がアクセスされているかを判断するためにインデックス
として用いられる。表8から表11にかけては、各IP
Iレジスタ内の様々なフィールドの説明である。
【0063】
【表8】
【0064】
【表9】
【0065】
【表10】
【0066】
【表11】
【0067】処理ユニットはそれがプロセッサ間割込を
スケジュールされるとそのIPIレジスタに書込を行な
う。処理ユニットが重複するプロセッサ間割込をスケジ
ュールできる場合には、それはIPIレジスタのST
(ステータス)フィールドをモニタすべきである。この
フィールドがアイドル状態であれば、処理ユニットはシ
ステムにプロセッサ間割込を行なうことができる。IP
Iレジスタのステータスをチェックすることなく処理ユ
ニットがプロセッサ間割込を行ない、かつSTフィール
ドがアイドル状態でない場合には、現在のプロセッサ間
割込および任意の既にスケジュールされたプロセッサ間
割込の必然性は判断されない。プロセッサ間割込レジス
タのために特定されるフォーマットと同一のフォーマッ
トを有する、各プロセッサチャネルのためのソフトウェ
ア割込レジスタがさらに設けられてもよいことが注目さ
れる。しかしながらソフトウェア割込の場合には、要求
される割込は割込要求中の処理ユニットにのみ送られ
る。
【0068】図2を再び参照して、コンピュータシステ
ム200のスタートアップ、および中央割込制御ユニッ
ト220内の様々な構成レジスタの初期化についての詳
細を次に考察する。システム構成中、処理ユニット20
2−1から202−mのうちの1つは「ブート」処理ユ
ニットとして指定される。以下の議論では、処理ユニッ
ト202−1がブート処理ユニットとして指定されたと
仮定する。図12は、システムリセットでのブート処理
ユニットの動作を示す流れ図である。ステップ852
で、処理ユニット202−1はパワーオン自己診断手順
と初期化手順とを開始する。はじめは他の処理ユニット
202−2から202−mは中央制御ユニット220に
よってリセットに保持されることが注目される。ステッ
プ854で、処理ユニット202−1は各割込チャネル
のレジスタユニット504(つまり、制御レジスタ50
4AおよびID(ベクトル)レジスタ504D)を初期
化する。既に述べたように、各割込チャネルのレジスタ
ユニット504は、コンピュータシステムのI/O空間
またはメモリ空間内にマッピングされる。各割込チャネ
ルの各レジスタは、予め定められかつ独自のアドレスで
もって指定される。各割込チャネルのレジスタユニット
504に与えられる初期化データは、典型的には主メモ
リ204のBIOSコード内にストアされる。したがっ
て、各割込チャネルのレジスタユニット504を初期化
するためのBIOSコードは、特定のシステム構成(つ
まり、割込発生資源の数およびタイプ)に依存し、シス
テムプログラマによって与えられなければならない。
【0069】処理ユニット202−1に接続する中央割
込処理ユニット220のCPUチャネル606−1も初
期化される。しかしながら、特定のCPUチャネル60
6−1から606−mのための現在のタスク優先レジス
タ650Aと現在の割込IDレジスタ605Bとプロセ
ッサIDレジスタ650Cと制御レジスタ650Dと
は、他のCPUチャネルのための対応するレジスタとし
て、同じシステムアドレス位置(I/O空間またはメモ
リ空間のいずれか)にあり、そこでマッピングされる。
つまり、現在のタスク優先レジスタ650Aのアドレス
は各CPUチャネル606−1から606−mに対して
同一である。同様に、各CPUチャネルのための現在の
割込IDレジスタ650Bのアドレスも同一であり、各
CPUチャネルのプロセッサIDレジスタ605Cおよ
び制御レジスタ650Dのためのアドレス値もそうであ
る。処理ユニットのID値はしたがって、各CPUチャ
ネル606−1から606−mのCPUチャネルレジス
タユニット650を初期化または更新するための指定さ
れるコマンド内に組込まれる各処理ユニット202−1
から202−mに関連する。これについては後でより詳
細に説明する。
【0070】図13は、各CPUチャネル606−1か
ら606−mのCPUチャネルレジスタユニット650
が正規実行の間に初期化され更新されることを可能にす
るハードウェアをより詳細に示す図である。図13は、
処理ユニット202−1に関連するIDレジスタ902
−1を示す。同一のIDレジスタ902−2から902
−mは処理ユニット202−2から202−mにさらに
関連する。各IDレジスタ902−1から902−m
は、特定の処理ユニットを独自に識別する値を含む。各
処理ユニットのID値は、ハードワイヤ値でもよく、ま
たはシステム構成中に与えられてもよい。たとえば、1
5の処理ユニットがシステム内で接続されたとすると、
IDレジスタ902−1から902−16内のID値は
それぞれ0から15までの範囲となるであろう。各ID
レジスタ902−1から902−mは、ソフトウェア命
令を通し各処理ユニットの関連する制御デコーダ904
−1から904−mを介してアクセスされてもよい。I
Dレジスタはメモリ空間またはI/O空間内のいずれか
でマッピングされてもよい。しかしながら、各処理ユニ
ットはその対応するIDレジスタ902に同じアドレス
値を介してアクセスすることが注目される。たとえば、
各処理ユニット202−1から202−mのIDレジス
タ902は、メモリ位置2000:Hでマッピングされ
てもよい。したがって、指定される処理コア204−1
から204−mがメモリ位置2000:Hに読出サイク
ルを実行すると、その処理ユニットのための対応するI
Dレジスタ902内にある値がプロセッサコアに与えら
れる。各処理コアはこれらの状況で独自の値を読むこと
になる。
【0071】図14は、各CPUチャネル606−1か
ら606−mのそれぞれのCPUチャネルレジスタユニ
ット650からデータが書込まれる(または読出され
る)のを可能にする、中央割込制御ユニット220内に
実施される回路を示す。この例では、合計16の処理ユ
ニットがシステム内に接続されるであろうと仮定される
が、この回路は代替的にたとえば256の独自の処理ユ
ニットに対処するよう構成されてもよいことが理解され
る。図14は、別個の16のCPUチャネルのためのC
PUチャネルレジスタユニット650−1から650−
16を示す。既に述べたように、各CPUチャネルレジ
スタユニット650−1から650−16は、現在のタ
スク優先レジスタ650Aと、現在の割込IDレジスタ
650Bと、プロセッサIDレジスタ650Cと、制御
レジスタ650Dとを含む。これらのレジスタの各々
は、CPUローカルバス207のデータラインからデー
タを受取るよう(または与えるよう)結合される。さら
に4ないし16デコーダ回路920が、その入力をCP
Uローカルバス207の選択されるデータラインに結合
される。4ないし16デコーダ回路920の出力は、C
PUチャネルレジスタユニット650−1から650−
16のそれぞれの選択ラインに結合される。各CPUチ
ャネルレジスタユニット650−1から650−16は
デコーダ回路920から別個の選択信号を受取ることが
注目される。さらにアドレスデコーダ922は、その入
力がI/Oバス210のアドレスラインに結合される。
4つのラッチ可能化ラインはアドレスデコーダ922の
出力に設けられる。アドレスデコーダ可能化ラインは、
CPUチャネルレジスタユニット650−1から650
−16の各現在のタスク優先レジスタ650Aのラッチ
ング可能化入力に結合され、同様にアドレスデコーダ可
能化ラインは、各現在のIDレジスタ650Bと、各プ
ロセッサIDレジスタ650Cと、各制御レジスタ65
0Dとにさらに接続される。
【0072】図13および図14に示されるハードウェ
ア実現例に従うと、指定されるCPUチャネル606−
1から606−mのCPUチャネルレジスタユニット6
50が初期化または更新されなければならない場合、指
定されるIDレジスタ902内のプロセッサID値が、
付加されるデータを正しいCPUチャネルレジスタユニ
ット650に向けるためのインデックスとして組込まれ
るよう、オペレーティングシステムプログラマは実行コ
ードを構成してもよい。たとえば、各処理ユニット20
2−1から202−mのIDレジスタ902はメモリ位
置2000:Hでマッピングされ、各CPUチャネル6
06−1から606−mの制御レジスタ650Dは30
00:HのI/Oアドレスでマッピングされる状況を考
えられたい。オペレーティングシステムが特定の処理ユ
ニットのために制御レジスタ650D内の構成情報を更
新しなければならないとすると、プログラマは、その特
定の処理ユニットのIDレジスタ内の値を読出すため
に、まず指定される処理ユニットにメモリ位置200
0:Hへのメモリ読出サイクルを実行させるだろう。プ
ログラマは次いで、関連の制御レジスタ650D内にス
トアされるべき構成データにそのID値を付加するため
の命令を呼出すだろう。続いて、アドレス位置300
0:HへのI/O書込コマンドが、その組合された情報
(つまり、構成データおよびプロセッサID値)を書込
むために実行される。このI/Oサイクルはアドレスデ
コーダ922によってデコーダされ、それは応答して各
CPUチャネルレジスタユニット650−1から650
−16の制御レジスタ650Dを可能化させる。構成デ
ータに付加されたプロセッサID値は次いで4ないし1
6デコーダ920によってデコードされ、それはCPU
チャネルレジスタユニット650−1から650−16
のうちの選択される1つに選択信号を与える。これによ
り、構成データは選択されかつ可能化されるレジスタに
のみストアされる。それにより、各CPUチャネルの構
成レジスタのための別個の専用アドレス位置を必要とす
ることなく、構成データは指定されるCPUチャネル6
06−1から606−mに与えられる。各CPUチャネ
ルのレジスタを更新するためのサイクル、および読出サ
イクルは、同じようにして達成される。必要なプロセッ
サID読出動作を実行する例示のコード、およびIDを
構成データに付加し構成データを指定されるCPUチャ
ネルに書込むためのコードは次のとおりである。
【0073】
【表12】
【0074】図12を再び参照すると、ブート処理ユニ
ットは中央割込制御ユニット220にあるI/Oチャネ
ルを初期化した後(各I/Oチャネルの構成レジスタ
は、他のI/Oチャネルからの構成レジスタからとは別
々に、専用位置にマッピングされる)、ブート処理ユニ
ット202−1はCPUチャネル606−1を初期化し
なければならない。これは、図13および図14に関連
して上記の方法を用いて達成される。したがって、ステ
ップ856で、処理ユニット202−1はその対応する
IDレジスタ902を読出す。ステップ858で、処理
ユニット202は、そのIDレジスタ値を、CPUチャ
ネルレジスタユニット650の指定されるレジスタ内に
ストアされなければならない所望の構成データに付加す
る。処理ユニット202−1は次いで、その組合された
データをCPUチャネルレジスタユニット650の選択
されるレジスタに書込むためのサイクルを実行する。こ
のサイクルの間に、図14の4ないし16デコーダ92
0が、CPUチャネル906−1のレジスタユニット6
50−1を選択するのに用いられることが注目される。
同様の動作を開始して、CPUチャネル606−1のC
PUチャネルレジスタユニット650の他のレジスタに
さらなる初期化データを書込んでもよい。1つの実現例
の場合、現在のタスク優先レジスタ650Aと制御レジ
スタ650Dとが、初期化シーケンスの間に処理ユニッ
ト202−1によって初期化データを書込まれる。処理
ユニット202−1がそのCPUチャネル606−1を
初期化した後、処理ユニット202−1は中央割込制御
ユニット220に残りの処理ユニット202−2から2
02−mをリセットから解放させる命令を中央割込制御
ユニット220に与える(ステップ862)。続いて
(ステップ864)、ブート処理ユニット202−1
は、図15に示されるようなスレーブ初期化シーケンス
が完了するのを待つ。これで初期化シーケンスは完了す
る。
【0075】図15は、各スレーブ処理ユニット202
−2から202−mの初期化シーケンスを示す流れ図で
ある。マスタ処理ユニット202−1によって中央割込
制御ユニット220が残りの処理ユニットをリセットか
ら解放すると、各処理ユニット202−2から202−
mは、ステップ870で関連のIDレジスタ902−2
から902−mをそれぞれ読出し、そのID値を制御レ
ジスタ650D内にストアされるべき構成データに付加
して(ステップ872)、その組合されたデータをCP
Uチャネルレジスタユニット650に書込む(ステップ
874)。図14のデコーダ回路920はこれらのサイ
クルの間、各特定のサイクル中に識別されるプロセッサ
IDに従って適当なCPUチャネルレジスタユニット6
50−1から650−16を選択するために活性状態に
ある。同様の動作を繰返して、各CPUチャネルのタス
ク優先レジスタ650Aを初期化してもよい(ステップ
876)。IDレジスタ902−2から902−mの各
々にある独自のID値はCPUチャネルレジスタユニッ
ト650の各レジスタに書込まれるデータに付加えられ
るため、各処理ユニット202−2から202−mはそ
れ自身のCPUチャネル構成を実現することが、ここで
も注目される。
【0076】再び図2と図4とを参照すると、既に述べ
たように、各指定される割込チャネル402−1から4
02−nは「8259」モードと呼ばれるモードにプロ
グラムされてもよい。これにより、特定の割込チャネル
が(関連の制御レジスタ504AのCMフィールドに示
されるように)8259モードでプログラムされた場合
には、割込制御装置216のようなプログラマブル割込
制御装置は中央割込制御ユニット220に接続されるこ
とが可能となる。動作の8259モードでは、8259
割込制御装置からの割込信号はそのプログラムされる優
先順位に従い中央割込制御ユニット220を介して送ら
れ、受信側の処理ユニット202−1から202−mか
らの肯定応答信号が中央割込制御ユニット220を介し
割込制御装置216へ送り返される。これは、処理ユニ
ット202の1つが中央割込制御ユニット220とバッ
ファ219とに接続されるのを示す図16に示される。
ISA割込が8259割込制御装置216の割込入力で
受取られると、その割込は、中央割込制御ユニット22
0を介して送られ、プログラムされる優先順位レベルと
他の中央制御経路に従って、指定される処理ユニット2
02に送られる。指定される処理ユニット202がサイ
クルを確認すると、割込肯定応答信号INTAが中央割
込制御ユニット220を介して送られて8259割込制
御装置216の割込肯定応答ラインで受取られる。割込
制御装置216はXバス210(または任意の他のバ
ス)上で割込ベクトルを応答して駆動し、その割込ベク
トルはバッファ219を介して処理ユニット202に送
られる。バッファ219はバスブリッジ208内に組込
まれてもよいことが注目される。したがって、8259
カスケードモードでは、中央割込制御ユニット220
は、受信側処理ユニット202の割込肯定応答サイクル
に直接応答せず、その代わりにベクトル情報が8259
割込制御装置216から与えられるようにする。上述の
ような8259カスケードモードを設けることにより、
システムタイマ834と実時間クロック835とを含む
82C206型集積回路のような集積化された割込ソー
スの使用が可能となることがさらに注目される。
【0077】図2を再び参照すると、多重処理システム
200は、その中に組込まれる1つ以上のバスをわたっ
て転送される特別に定義されるサイクルを用いて、様々
なインタフェースをわたる割込情報の転送を可能にする
ようさらに構成されてもよい。これは図17を参照する
と最もよく理解される。図17は、第2のI/Oブリッ
ジ282に結合される付加的なI/O装置280を有す
る、図2で一般的な形で示される多重処理システムのブ
ロック図である。第2のI/Oバス282はバスブリッ
ジ284を介してI/Oバス210に結合される。バス
ブリッジ284は、たとえば、I/O装置280によっ
て表わされるようなポータブルコンピュータを多重処理
システムに結合するためのドッキングステーションを示
す。図17のシステムの場合、I/O装置280はバス
ブリッジ284に割込信号を与えるだろう。しかしなが
ら、バスブリッジ284を中央割込制御ユニット220
に結合する専用割込ピンのコストおよびそれが利用でき
ない可能性のため、バスブリッジ284は中央割込制御
ユニット220によって受取られる割込信号を専用ライ
ンでアサートするよう構成されないかもしれない。その
代わりに、I/O装置280による割込のアサーション
に応答して、バスブリッジ284は、中央割込制御ユニ
ット220の特定の割込チャネルが応答する専用サイク
ルまたは専用メモリ位置へのメモリサイクルもしくはI
/Oサイクルを実行してもよい。図18は、バスブリッ
ジ284によって実行されるような割込サイクルをデコ
ードし、対応する割込チャネル内の対応する割込信号を
アサートするよう構成されるハードウェアを含む割込チ
ャネルを示す。図18に示されるように、割込チャネル
モードがI/Oバスモードとして指定される場合には、
制御ユニット290は、制御レジスタ504AのCMフ
ィールドに応答し、割込チャネルモードがI/Oバスと
して指定されていれば割込サイクルデコーダ292を応
答して可能化する。制御ユニット290が割込サイクル
デコーダ292を可能化すると、バスブリッジ284に
よって発生される専用割込サイクルが割込サイクルデコ
ーダ292によって検知され、それは割込入力プロセッ
サ502のINTR入力で割込信号をアサートする。I
/Oバス210がPCI規格構成バスである場合には、
PCIバスのサイクル定義ビットの予め特定されるコー
ド化によって、特定の割込サイクルが定義されてもよい
ことが注目される。代替的に、システムのメモリ空間ま
たはI/O空間のいずれかにある予め定められるアドレ
スに対するサイクルとして、特定の割込サイクルが定義
されてもよい。
【0078】中央制御装置302による割込の優先順位
づけについて次に考察する。図19は、I/O割込制御
装置304と中央制御装置302とプロセッサ割込発生
器306とを含む、中央割込制御ユニット220の一部
を示すブロック図である。特定の割込をその割込ベクト
ルに依って固定される優先順位と自動的に関連づけるの
ではなく、中央割込制御ユニット220は各割込が独立
したプログラマブル割込ベクトルと独立した優先順位と
を有するようにさせる。優先順位は割込チャネルのため
の関連する制御レジスタ504AのPLフィールド内に
ストアされる。既に述べたように、システム初期化で、
各割込チャネルに対するベクトルが設定される。加え
て、各割込チャネルに対する優先順位レベルも設定され
る。一旦特定の割込要求がI/O割込制御装置304に
よって受付けられると、割込ベクトルおよび優先順位デ
ータは中央制御装置302の割込スケジューラ305に
よって処理され、それは応答してプロセッサ割込発生器
306の指定されるCPUチャネルの保留割込待ち行列
652(図10)内の各割込に対し割込ベクトルと優先
順位データとを与える。割込は、割込制御レジスタによ
り示される優先順位レベルに基づき、および利用可能な
処理ユニットの現在のタスク優先順位に基づいて、優先
順位づけされる態様で、CPUチャネルの様々な割込待
ち行列に与えられる。図19は、I/Oバス210上の
指定されるI/Oまたはメモリサイクルを介して各割込
に対するベクトル情報と優先順位情報とを独立してプロ
グラミングすることを可能にするI/Oバスインタフェ
ースユニット308内のデコーダユニット309を示
す。1つの単純な構成では、保留中の割込要求は、CP
Uチャネルの割込待ち行列に、それらの優先順位づけさ
れた順序で与えられる。
【0079】図2を再び参照すると、既に述べたよう
に、タイマティック割込のような選択される割込は、各
処理ユニット202−1から202−mへブロードキャ
スト態様で与えられる必要があるかもしれない。特定の
割込信号のためのデリバリモードがブロードキャストモ
ード(つまり、割込のための制御レジスタ504AのD
Mフィールド)として指定される場合、中央割込装置3
02は図20の流れ図に示されるようなオートチェイニ
ング技術に従って動作する。図20に示されるように、
ブロードキャストとして指定される割込のための割込要
求信号がステップ470の間に決定されるようにアサー
トされると、割込はステップ472で最も低い現在のタ
スク優先順位レベル(そのCPUチャネルのための現在
のタスク優先レジスタ650Aによって示される)を有
する処理ユニット202−1から202−mに与えられ
る。ステップ474で、指定される処理ユニットは割込
を処理して割込の終わり(EOI)コマンドを中央制御
装置302に返す。処理ユニット202−1から202
−mのすべてが割込を受取ってはいない場合には(ステ
ップ476)、割込は、それをまだ受取ってはおらずか
つ(この割込をまだ受取っていない残りの処理ユニット
のうちで)最も低い現在のタスク優先順位値を有する次
の処理ユニット202−1から202−mに与えられ
る。この、次の処理ユニットは次いで、割込を処理して
割込の終わりコマンドを中央制御装置302へ返す。こ
のプロセスは、各処理ユニット202−1から202−
mが割込を処理するまで繰返される。すべての処理ユニ
ットが割込を受取って処理しているときには、割込のた
めのビジービット(つまり、割込チャネルのための制御
レジスタ504AのSTフィールドのアイドル状態)は
クリアされる(ステップ478)。すべての処理ユニッ
トではなく、処理ユニットの指定される組が特定の割込
を受取らなければならない場合には、同様のオートチェ
イニング手順が実行されてもよいことが理解される。タ
イマティック割込のような割込が処理ユニットの2つ以
上に与えられる上述のオートチェイニング技術に従う
と、中央割込装置302は、示される最も低い現在のタ
スク優先順位レベルを有する処理ユニットに割込を知的
に選択的に送る。割込は、前の処理ユニットが割込の処
理を完了するまで、次の処理ユニットには送られない。
この結果、相対的に高いタスク優先順位を有する処理ユ
ニットに割込む前に、相対的に最も低い現在のタスク優
先順位値を有する処理ユニットに割込むことによって、
バス競合が最小限に抑えられてシステム性能を最大限な
ものにする。
【0080】中央割込制御ユニット220は、不正割込
の発生を防ぐようさらに構成される。既に述べたよう
に、レベルトリガされる割込が指定される処理ユニット
によって処理中であるとき、I/Oコマンドは典型的に
は、実行されると割込ソースに割込信号をデアサートさ
せる割込処理ルーチンに関連する。続いて、割込の終わ
り(EOI)コマンドが実行されて、割込処理が完了し
たことを中央割込制御ユニット220に知らせる。不正
割込は、処理ユニットが(割込ソースに割込信号をデア
サートさせる)I/Oコマンドを実行する時間と、割込
信号がデアサートされる時間との間に有意な待ち時間が
導入される場合に生ずるかもしれない。このような待ち
時間はたとえば、I/O装置がいくつかのバスインタフ
ェースユニットを介してリモートバス上にある場合に生
ずるかもしれない。集中割込制御装置が割込の終わりコ
マンドに応答する前に、割込ソースが割込信号をデアサ
ートしない場合には、割込の継続されるアサーションが
中央割込制御ユニット220によって検知され、したが
って、割込を意図せずして再開させるかもしれない。
【0081】図21を参照すると、中央制御ユニット2
20は、デコーダユニット596を介してI/Oバス2
10に結合されるプログラマブル待ち時間タイマ595
に有利に関連する。プログラマブル待ち時間タイマ59
5は、中央制御装置302が割込の終わりコマンドを受
取る時間と、中央制御装置302が特定の割込チャネル
の制御レジスタ504Aのステータス(ST)フィール
ドをリセットする時間との間に、プログラム可能な時間
遅延を設定するよう、システムユーザによってプログラ
ムされてもよい。割込は処理中か、中央インタフェース
制御ユニット220から特定の処理ユニットへディスパ
ッチされてしまったか、または中央制御装置302で待
ち行列に入っていることをステータスが示す場合には、
I/O割込制御装置304は指定される割込信号がモニ
タされないように構成されるということは評価される。
一旦中央制御装置302が特定の割込信号のためにステ
ータスをアイドルにリセットすると、I/O割込制御装
置304は次のアサーションのために特定の割込信号を
モニタし続ける。プログラマブルタイマ595は特定の
割込チャネルのための制御レジスタのSTフィールドの
リセットを遅延させるので、不正割込が防がれるであろ
うことに注目されたい。プログラマブルタイマ595
は、その割込のチャネル制御レジスタ504AのEOI
フィールドを介して各割込に対して選択的に可能化され
てもよいことがさらに注目される。デコーダ596はI
/Oバスインタフェースユニット308と一体となった
部分として実施されてもよいことがさらに注目される。
【0082】最後に図22を参照すると、適応割込マッ
ピング機構および技術を用いる対称多重処理システムの
ブロック図が示される。簡略かつ明確にするために、図
2の回路部分に対応する回路部分は同一の番号を付けら
れる。
【0083】図22に示されるように、PCIバス90
2はバスブリッジ208を介してCPUローカルバス2
07に結合される。ISAバスはバスブリッジ906を
介してPCIバス902にさらに結合される。複数のP
CI装置907〜909はPCIバス902に結合され
る。複数のISA装置910〜912は同様にISAバ
ス904に結合される。最後に、割込制御装置915お
よびPCIマッパー916はISAバス904に結合し
て示される。
【0084】中央割込制御ユニット220は「先行」モ
ードまたは「通過」モードで動作するよう構成される。
通過モードはデフォルトモードである。先行モードに
は、中央割込制御ユニット220の構成レジスタ内のビ
ットをセットすることによって(つまり、制御レジスタ
504A内のビットをセットすることによって)入る。
2つのモード中の多重処理システムの動作を以下に説明
する。
【0085】一般的にいうと、割込制御装置915は、
PCI装置907〜909およびISA装置910〜9
12のような複数の割込装置から与えられる割込に優先
順位を付け処理する。割込制御装置915は、機能をマ
スクするといったような他の機能をさらに設けてもよ
い。割込制御装置915は、中央割込制御ユニット22
0に結合されるライン920で割込信号を発生する。割
込制御装置915は、たとえば、カスケード接続される
AM8259割込制御装置の対を例示する。
【0086】PCIマッパー916は、PCI装置90
7〜909の各々からの割込信号を、割込制御装置91
5の別個の割込入力(A〜H)に送るよう構成される。
PCIマッパー916は、システムBIOSに、PCI
装置907〜909からの各割込がPCIマッパー91
6を介して割込制御装置915の指定された入力(A〜
H)に(つまり、ISA装置910〜912のいずれに
よってもまだ使用されていない入力へ)送られるように
プログラムさせるという有利な点がある。応じて、シス
テム初期化中に、システムBIOSは、どのISA装置
がシステムに接続されているのかを判断でき、応じて任
意のPCI装置からの割込をPCIマッパー916を介
して割込制御装置915の不使用の割込入力にマッピン
グできる。ISA装置910〜912およびPCI装置
907〜909からの割込はさらに、中央割込制御ユニ
ット220へ直接与えられるということが注目される。
これについてさらに以下に説明する。
【0087】通過モード中、ISA装置910〜912
からの割込は割込制御装置915に与えられる。応答し
て、対応する割込が割込制御装置915によってライン
920で発生され、中央割込制御ユニット220を介し
てマスタ処理ユニット202−1に直接送られる。同様
に、PCI装置907〜909からの割込はPCIマッ
パー916を介して割込制御装置915に与えられる。
ここでも、PCI装置907〜909の1つによってア
サートされる割込は、割込制御装置915からライン9
20で割込のアサーションを生じる。割込制御装置91
5からの割込は次いで中央割込制御ユニット220を介
してマスタ処理ユニット202−1に直接送られる。中
央割込制御ユニットは、このモード中はPCI装置90
7および909ならびにISA装置910〜912から
直接来る割込を無視するようさらに構成される。通過モ
ード中、処理ユニット202−2から202−mはアイ
ドル状態のままであり、システムは単一プロセッサシス
テムとして動作することが注目される。このモードはD
OSのような従来のオペレーティングシステムに対応す
るという有利な点がある。
【0088】先行モードは多重処理(つまりウインドウ
ズ・NT(Windows NT)など)をサポートする新形オペ
レーティングシステムによってマスタ初期化に続いてセ
ットされてもよく、この先行モード中は、PCIマッパ
ー916はその出力のすべてがトライステートになるよ
う不能化される。PCI装置907〜909からの割込
は中央割込制御ユニット220へ直接与えられる。同様
に、ISA装置910912からの割込も中央割込制御
ユニット220へ直接与えられる。これらの割込の処理
は次いで上述の態様で達成されてもよい。先行モード中
は、割込制御装置915の割込出力は中央割込制御ユニ
ット220によって無視される。下の表13は、種々の
割込およびPCIマッパー916に対する通過モードお
よび先行モードの効果を示す。
【0089】
【表13】
【0090】図22の多重処理システムはゆえに、新形
オペレーティングシステムおよび従来の単一処理オペレ
ーティングシステムの両方が容易にサポートされる適応
割込マッピング機構および方法を用いる。先行モード中
はPCIマッパー916は不能化されるので、付加的な
ISA装置は先行モード中はPCI装置907〜909
からの割込と競合することなくISAバス904に接続
されるだろう。応じて、広範囲のシステム構成がサポー
トされ、利用可能なISA割込ライン数が最大限にされ
るだろう。上述の対称多重処理システムに従うと、シス
テム割込の効率的な管理を達成しながら幅広い互換性を
維持する。割込管理は集中割込制御ユニットによって達
成される。
【0091】上述の開示が十分に理解されれば、数多く
の変形および修正が当業者にとって明らかとなる。前掲
の特許請求の範囲はそのようなすべての変形および修正
を包含するよう解釈されることが意図されるものであ
る。
【図面の簡単な説明】
【図1】複数の処理ユニットを含む典型的な対称多重処
理システムのブロック図である。
【図2】集中割込制御装置機構を含む対称多重処理シス
テムのブロック図である。
【図3】中央割込制御ユニットのブロック図である。
【図4】I/O割込制御装置のブロック図である。
【図5】割込チャネルを示すブロック図である。
【図6】割込チャネル制御レジスタおよびその関連フィ
ールドの図である。
【図7】割込入力プロセッサの1つのカスケードモード
中の対称多重処理システムに関連するハードウェアを示
すブロック図である。
【図8】対称多重処理システムの別のカスケードモード
に関連するハードウェアを示すブロック図である。
【図9】プロセッサ割込発生器のブロック図である。
【図10】プロセッサチャネルを示すブロック図であ
る。
【図11】(a)はCPUチャネル制御レジスタをその
関連フィールドとともに示す図である。(b)はプロセ
ッサ間割込レジスタをその関連フィールドとともに示す
図である。
【図12】システムリセットでのブート処理ユニットの
動作を示す流れ図である。
【図13】各CPUチャネルのCPUチャネルレジスタ
ユニットを可能にするハードウェアを示す図である。
【図14】中央割込制御ユニット内に実施される回路を
示すブロック図である。
【図15】各スレーブ処理ユニットのための初期化シー
ケンスを示す流れ図である。
【図16】中央割込制御ユニットに結合される処理ユニ
ットの1つを示すブロック図である。
【図17】割込を開始するための特別に定義される割込
サイクルを備える多重処理システムのブロック図であ
る。
【図18】割込サイクルをデコードするよう構成される
ハードウェアを含む割込チャネルを示すブロック図で
あ。
【図19】中央制御装置の内部部分を含む中央割込制御
ユニットの一部を示すブロック図である。
【図20】ブロードキャストモード中の割込のデリバリ
を示す流れ図である。
【図21】プログラマブル待ち時間タイマを含む中央制
御ユニットのブロック図である。
【図22】この発明に従う適応割込マッピング機構およ
び技術を用いる対称多重処理システムのブロック図であ
る。
【符号の説明】 200 対称多重処理システム 202−1 処理ユニット 202−2 処理ユニット 202−m 処理ユニット 207 CPUローカルバス 208 バスブリッジ 210 I/Oバス 212−1 I/O装置 212−n I/O装置 214 I/O装置 220 中央割込制御ユニット 902 PCIバス 904 ISAバス 907 PCI装置 908 PCI装置 909 PCI装置 910 ISA装置 911 ISA装置 912 ISA装置 915 割込制御装置 916 PCIマッパー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダグラス・ディー・ゲファート アメリカ合衆国、78749 テキサス州、オ ースティン、クレアモント・ドライブ、 6412 (72)発明者 ロドニー・ダブリュ・シュミット アメリカ合衆国、78749 テキサス州、オ ースティン、タイハースト・ドライブ、 8500

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理ユニットと、 第1の周辺バスを介して前記複数の処理ユニットに動作
    的に結合される第1の周辺装置と、 前記第1の周辺バスを介して前記複数の処理ユニットに
    動作的に結合される第2の周辺装置と、 第2の周辺バスを介して前記複数の処理ユニットに結合
    される第3の周辺装置と、 前記第1の割込信号を受取るために結合される第1の入
    力ラインと、前記第2の入力信号を受取るために結合さ
    れる第2の入力ラインとを含む割込制御装置と、 第3の割込信号を受取るための入力ラインを含み、前記
    第3の割込信号を前記割込制御装置の第3の割込入力に
    送るよう構成される割込マッパーと、 前記複数の処理ユニットに結合される中央割込制御ユニ
    ットとを含み、前記中央割込制御ユニットは第1の動作
    モード中に前記複数の処理ユニット間に前記第1の割込
    信号と前記第2の割込信号と前記第3の割込信号とを分
    散するよう構成され、前記中央割込制御ユニットは前記
    第1の動作モード中に前記割込マッパーを不能化するた
    めに信号をアサートするよう構成される、対称多重処理
    システム。
JP06296396A 1995-03-21 1996-03-19 対称多重処理システム Expired - Fee Related JP3570810B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/408,003 US5721931A (en) 1995-03-21 1995-03-21 Multiprocessing system employing an adaptive interrupt mapping mechanism and method
US08/408003 1995-03-21

Publications (2)

Publication Number Publication Date
JPH0916533A true JPH0916533A (ja) 1997-01-17
JP3570810B2 JP3570810B2 (ja) 2004-09-29

Family

ID=23614444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06296396A Expired - Fee Related JP3570810B2 (ja) 1995-03-21 1996-03-19 対称多重処理システム

Country Status (6)

Country Link
US (1) US5721931A (ja)
EP (1) EP0737923B1 (ja)
JP (1) JP3570810B2 (ja)
KR (1) KR100399385B1 (ja)
AT (1) ATE202425T1 (ja)
DE (1) DE69613423T2 (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 (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944809A (en) * 1996-08-20 1999-08-31 Compaq Computer Corporation Method and apparatus for distributing interrupts in a symmetric multiprocessor system
US6269391B1 (en) * 1997-02-24 2001-07-31 Novell, Inc. Multi-processor scheduling kernel
US5925115A (en) * 1997-03-10 1999-07-20 Vlsi Technology, Inc. Method and system for extending interrupt sources and implementing hardware based and software based prioritization of interrupts for an embedded processor
US6256660B1 (en) * 1997-04-08 2001-07-03 International Business Machines Corporation Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
JP3008896B2 (ja) * 1997-06-16 2000-02-14 日本電気株式会社 共有バス型マルチプロセッサシステムの割り込み負荷分散システム
US6003109A (en) * 1997-08-15 1999-12-14 Lsi Logic Corporation Method and apparatus for processing interrupts in a data processing system
US6219741B1 (en) 1997-12-10 2001-04-17 Intel Corporation Transactions supporting interrupt destination redirection and level triggered interrupt semantics
US6418496B2 (en) * 1997-12-10 2002-07-09 Intel Corporation System and apparatus including lowest priority logic to select a processor to receive an interrupt message
US6571206B1 (en) * 1998-01-15 2003-05-27 Phoenix Technologies Ltd. Apparatus and method for emulating an I/O instruction for the correct processor and for servicing software SMI's in a multi-processor environment
US6081861A (en) * 1998-06-15 2000-06-27 International Business Machines Corporation PCI migration support of ISA adapters
US6192439B1 (en) 1998-08-11 2001-02-20 Hewlett-Packard Company PCI-compliant interrupt steering architecture
US6065088A (en) * 1998-08-31 2000-05-16 International Business Machines Corporation System and method for interrupt command queuing and ordering
US6701429B1 (en) 1998-12-03 2004-03-02 Telefonaktiebolaget Lm Ericsson(Publ) System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location
US6263395B1 (en) * 1999-01-06 2001-07-17 Compaq Computer Corp. System and method for serial interrupt scanning
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US20020099893A1 (en) * 2001-01-24 2002-07-25 Nguyen Tuyet-Huong Thi System and method for the handling of system management interrupts in a multiprocessor computer system
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) * 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US20040111549A1 (en) * 2002-12-10 2004-06-10 Intel Corporation Method, system, and program for improved interrupt processing
US7340740B2 (en) * 2003-04-22 2008-03-04 International Business Machines Corporation Cooperatively multitasking in an interrupt free computing environment
US20040267998A1 (en) * 2003-06-26 2004-12-30 Zimmer Vincent J Method to support legacy and native mode interrupts with multiplexed execution of legacy and native interrupt service
US7584316B2 (en) * 2003-10-14 2009-09-01 Broadcom Corporation Packet manager interrupt mapper
US7028106B2 (en) * 2003-12-05 2006-04-11 Hewlett-Packard Development Company, L.P. Remapping routing information entries in an expander
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7332976B1 (en) * 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7162559B1 (en) * 2005-03-08 2007-01-09 Emc Corporation System for controlling interrupts between input/output devices and central processing units
US7735141B1 (en) * 2005-03-10 2010-06-08 Noel Steven E Intrusion event correlator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
JP5006526B2 (ja) * 2005-05-31 2012-08-22 ルネサスエレクトロニクス株式会社 割り込み分配装置
US20070106827A1 (en) * 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
JP4222370B2 (ja) * 2006-01-11 2009-02-12 セイコーエプソン株式会社 デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム
US8067948B2 (en) * 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US20080082710A1 (en) * 2006-09-29 2008-04-03 Dell Products L.P. System and method for managing system management interrupts in a multiprocessor computer system
US7721034B2 (en) * 2006-09-29 2010-05-18 Dell Products L.P. System and method for managing system management interrupts in a multiprocessor computer system
DE102007015507B4 (de) * 2007-03-30 2010-09-02 Advanced Micro Devices, Inc., Sunnyvale Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb
US8092083B2 (en) * 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8040266B2 (en) * 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
JP2009251802A (ja) * 2008-04-03 2009-10-29 Panasonic Corp マルチプロセッサシステムおよびマルチプロセッサシステムの割込み制御方法
US20100088446A1 (en) * 2008-10-06 2010-04-08 Texas Instruments Incorporated Prioritizing interrupt controller
US7849247B2 (en) * 2008-10-14 2010-12-07 Freescale Semiconductor, Inc. Interrupt controller for accelerated interrupt handling in a data processing system and method thereof
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8312195B2 (en) * 2010-02-18 2012-11-13 Red Hat, Inc. Managing interrupts using a preferred binding between a device generating interrupts and a CPU
US9563588B1 (en) 2014-01-29 2017-02-07 Google Inc. OS bypass inter-processor interrupt delivery mechanism
US9910700B2 (en) 2015-08-26 2018-03-06 Netapp, Inc. Migration between CPU cores
US10459759B2 (en) 2015-08-26 2019-10-29 Netapp, Inc. Migration between CPU cores
CN111506530A (zh) * 2019-01-30 2020-08-07 智原科技股份有限公司 中断管理系统及其管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255040A (ja) * 1988-04-04 1989-10-11 Fujitsu Ltd 割込みマスク回路
KR940001878B1 (ko) * 1990-03-08 1994-03-10 가부시끼가이샤 히다찌세이사꾸쇼 멀티 프로세서시스템 및 인터럽션 제어장치
US5125093A (en) * 1990-08-14 1992-06-23 Nexgen Microsystems Interrupt control for multiprocessor computer system
KR930001365B1 (ko) * 1990-11-30 1993-02-27 현대전자 산업주식회사 콤팩트 디스크 플레이에서의 트랙 점프방법
US5506997A (en) * 1994-01-28 1996-04-09 Compaq Computer Corp. Device for mapping a set of interrupt signals generated on a first type bus to a set of interrupt signals defined by a second type bus and combing the mapped interrupt signals with a set of interrupt signals of the second type bus
US5530891A (en) * 1994-05-31 1996-06-25 Advanced Micro Devices System management interrupt mechanism within a symmetrical multiprocessing system

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
KR100399385B1 (ko) 2004-02-05
EP0737923A1 (en) 1996-10-16
DE69613423D1 (de) 2001-07-26
JP3570810B2 (ja) 2004-09-29
DE69613423T2 (de) 2002-05-02
US5721931A (en) 1998-02-24
KR960035261A (ko) 1996-10-24
ATE202425T1 (de) 2001-07-15
EP0737923B1 (en) 2001-06-20

Similar Documents

Publication Publication Date Title
US5721931A (en) Multiprocessing system employing an adaptive interrupt mapping mechanism and method
US5781187A (en) Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
US5555430A (en) Interrupt control architecture for symmetrical multiprocessing system
US5568649A (en) Interrupt cascading and priority configuration for a symmetrical multiprocessing system
US5530891A (en) System management interrupt mechanism within a symmetrical multiprocessing system
US5564060A (en) Interrupt handling mechanism to prevent spurious interrupts in a symmetrical multiprocessing system
US5613126A (en) Timer tick auto-chaining technique within a symmetrical multiprocessing system
US5862366A (en) System and method for simulating a multiprocessor environment for testing a multiprocessing interrupt controller
US5790871A (en) System and method for testing and debugging a multiprocessing interrupt controller
JP4250207B2 (ja) 対称多重処理システム、そのための割込制御ユニット、および対称多重処理システム内でプロセッサ割込信号を開始するための方法
JP2855298B2 (ja) 割込み要求の仲裁方法およびマルチプロセッサシステム
US6711643B2 (en) Method and apparatus for interrupt redirection for arm processors
US5758169A (en) Protocol for interrupt bus arbitration in a multi-processor system
US4959781A (en) System for assigning interrupts to least busy processor that already loaded same class of interrupt routines
US6249830B1 (en) Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol
US6775727B2 (en) System and method for controlling bus arbitration during cache memory burst cycles
WO1994008313A1 (en) Arrangement of dma, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
US20030126381A1 (en) Low latency lock for multiprocessor computer system
JPH04318654A (ja) マイクロプロセッサへの割り込みのリダイレクションシステム
US4941086A (en) Program controlled bus arbitration for a distributed array processing system
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
US6085279A (en) Interrupt control system provided in a computer
JPH06324996A (ja) 集積回路およびプログラマブル・マルチ・プロセッサ割り込みコントローラ・システム
JP2000010897A (ja) コンピュ―タ・システムにおいて用いられマルチ処理を行う入出力サブシステムの間でタスクを分散させるシステム及び方法
JPH01305461A (ja) バス使用権制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070702

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090702

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100702

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110702

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350