JP2012507080A - コンピュータシステムにおける割り込み通信技術 - Google Patents

コンピュータシステムにおける割り込み通信技術 Download PDF

Info

Publication number
JP2012507080A
JP2012507080A JP2011533324A JP2011533324A JP2012507080A JP 2012507080 A JP2012507080 A JP 2012507080A JP 2011533324 A JP2011533324 A JP 2011533324A JP 2011533324 A JP2011533324 A JP 2011533324A JP 2012507080 A JP2012507080 A JP 2012507080A
Authority
JP
Japan
Prior art keywords
interrupt
icr
legacy
information
apic
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
JP2011533324A
Other languages
English (en)
Other versions
JP5357972B2 (ja
Inventor
ティルヴァラー、ケシャヴァン
パーササラシー、ラジェシュ
ビー. クロスランド、ジェイムス
カウシク、シヴナンダン
フッド、ルーク
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2012507080A publication Critical patent/JP2012507080A/ja
Application granted granted Critical
Publication of JP5357972B2 publication Critical patent/JP5357972B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

コンピュータシステム内で効率的な割り込み通信を可能とする技術を提供する。一実施形態では、拡張プログラム制御割り込みコントローラ(APIC)が、メモリマップドI/O(MMIO)を利用することなく、様々なインタフェース命令または処理を利用してAPICインタフェースレジスタ内の一式のビットを介してインタフェースされる。
【選択図】図1

Description

本発明の実施形態は、概して情報処理分野に係り、より詳しくは、コンピューティングシステムおよびマイクロプロセッサにおける割り込み通信分野に係る。
プロセッサがより多くの数のコンピューティングコアを含むようになっている昨今では、異質および同質いずれであっても、コンピュータシステムがより多くのプロセッサを含み、割り込み管理が益々難しくなってきている。先行技術の中には、メモリマップドI/O(MMIO)スキームを利用して割り込みを管理するものもあり、この技術によると、プロセッサまたはコア(本明細書では概して「エージェント」と称する)が、メモリのある領域(例えばDRAM)を利用して、特別に割り込み通信情報用に留保されている割り込み情報を通信する。例えば、拡張プログラム制御割り込みコントローラ(APIC)がプログラミングされる先行技術の割り込み通信技術の一つに、プログラムされる情報を、MMIOの領域を利用してAPICに通信する、というものがある。
割り込み情報の、MMIOを利用して行うAPICに対する送受信は、幾つかの欠点を有しており、これはエージェントの数ひいては割り込みトラフィックの数が増加するにつれて悪化する。例えばMMIOアクセスでは、APICに関するメモリ領域が、キャッシュされていない(UC)アクセス属性でマッピングされる必要がある場合があり、これは、高い性能のオーバヘッドが関与する。UCインタフェースも、シリアライゼーション処理を実行するが、これはAPICレジスタの大きなサブセットには必要がない。
MMIOインタフェースの利用は、さらに、ポステッドライトセマンティックスの利用が必要であり、エージェントに対して、APICに対する読み書き順序の制限的制御を可能とするので、基本的な割り込みに関する命令に必要な多数の読み書きを伴う割り込みの送信効率に影響を与える場合がある。例えば、一部の先行技術におけるMMIO実装例におけるプロセッサ間割り込み(IPI)を利用するプロセッサ間の割り込み送信では、ソフトウェアが、割り込みがローカルAPICを退出したことを保証する必要がない場合には、1個のUC読み出しおよび2個のUC書き込みが必要となり、ソフトウェアが、割り込みがローカルAPICを退出したことを保証する必要がある場合には、2個のUC読み出しおよび2個のUC書き込みが必要となる。
先行技術のMMIOインタフェースは、割り込み配信のためにシステムソフトウェアにとって好適なメカニズムを効率よく提供する機能を制限することがある。具体例には、割り込み優先レベルの変更処理が含まれ、これは、一部の先行技術の実装では、システムソフトウェアがタスク優先レジスタ(TPR)に書き込むことにより、および、システムソフトウェアがAPICの割り込みの終了(EOI)レジスタに書き込みを行うことにより行うことのできる「EOI処理」により行うことができる。システムソフトウェアには、これらの処理を、これらの処理の前に確定的にポストされる全ての割り込みが、これら処理の直後に提起されるように、優先度を付け直す処理の完了と結び付けられて完了することが望まれる。これらの保証がないと、システムソフトウェアは、ポーリングベースのメカニズムを十分に利用することができなくなり、APICトラフィックの増加につながる場合がある。
MMIOベースの割り込み情報の利用も、コンピュータシステム内の他の特徴に影響を及ぼすことがある。例えば先行技術のMMIO割り込み通信インタフェース技術の利用によって、仮想化の複雑性が増し、APICアクセスの仮想化にまつわるオーバヘッドが増す場合がある。例えば、割り込みコントローラにアクセスする際に利用される命令は、仮想マシンモニタ(VMM)を利用してコンピュータシステムにおける仮想化をサポートすることを必要とする場合がある。MMIO処理について前述したオーバヘッドは、VMMがシステムの仮想マシンを入退出する際に利用するこれらの事象により複合化されうる。
最後に、APICインタフェース内に留保されるビットの検知および実行は、MMIOによりインタフェースされる場合に実装コストが高くなり、これはAPICを利用するエージェント数が増えると顕著な問題となる。一部の先行技術の割り込み通信技術によると、レガシーソフトウェアによるレジスタのいずれかに対する書き込みが誤ったものとなる可能性があることから、将来拡張可能なアーキテクチャ用に留保されているビット位置の利用が制限されうる。
少なくとも上述した理由から、一部の先行技術の割り込み通信技術は、割り込み情報の通信にMMIOを利用するものも含めて、マルチコアプロセッサのプロセッサコア数、またはマルチプロセッサシステムのプロセッサ数の増加をサポートする目的に適したものではない。
本発明の実施形態は、添付図面において限定ではない例示により示されており、図面間において同様の参照番号は同様の部材を示す。
本発明の少なくとも1つの実施形態が利用されうるマイクロプロセッサのブロック図を示す。 本発明の少なくとも1つの実施形態が利用されうる共有バスコンピュータシステムのブロック図を示す。 本発明の少なくとも1つの実施形態が利用されうるポイントツーポイント・インターコネクト・コンピュータシステムのブロック図を示す。 本発明の少なくとも1つの実施形態が実装されうるロジックのブロック図を示す。 本発明の少なくとも1つの実施形態を実行する際に利用可能な処理のフロー図を示す。 本発明の少なくとも1つの実施形態を実行する際に利用可能な処理のフロー図を示す。
図1は、本発明の少なくとも1つの実施形態が利用されうるマイクロプロセッサのブロック図を示す。具体的には、図1は、各々に対してローカルキャッシュ107および113がそれぞれ関連付けられた1以上のプロセッサコア105および110を有するマイクロプロセッサ100を示す。さらに図1は、ローカルキャッシュ107および113の各々に格納されている情報の少なくとも一部の様々なバージョンを格納しうる共有キャッシュメモリ115を示している。一部の実施形態では、マイクロプロセッサ100はさらに、図1に示していない他のロジック(例えば、集積メモリコントローラ、集積グラフィックスコントローラ、および、I/O制御等のコンピュータシステム内の他の機能を実行する他のロジック)を含むことができる。一実施形態では、マルチプロセッサシステムの各マイクロプロセッサ、あるいは、マルチコアプロセッサの各プロセッサコアは、少なくとも1つの実施形態における割り込み通信技術を可能とするロジック119を含む、あるいはこれと関連付けられている。ロジックには、一部の先行技術の実装例におけるものよりも効率的に複数のコアまたはプロセッサ間の割り込み通信を行わせることのできる回路、ソフトウェア、あるいはこれら両方が含まれている。
一実施形態では、ロジック119は、APICインタフェースレジスタ(1つまたは複数)が含まれていてよく、この内容は、MMIOを利用することなく一式の標準的または実装専用命令により操作または読み出すことができる。例えば一実施形態では、ロジック119は、ネーティブ命令セットアーキテクチャ(ISA)を利用して通信可能なレジスタインタフェースを含む。一実施形態では、レジスタ(1または複数)、あるいはネーティブISAを介してインタフェース可能なその他の格納装置のサポートにより、割り込み通信にまつわるアクセスサイクルおよびオーバヘッドの数を一部の先行技術よりも低減させることができる。一実施形態では、先行技術であるMSRアドレスを利用して、先行技術である読み書き処理(例えばRDMSRおよびWRMSR命令)を介して、モデル専用レジスタ(1つまたは複数)(MSR)を利用したり、これにアクセスしたりすることができる。他の実施形態では、新しい読み書き命令一式およびアドレス空間が割り込みコントローラレジスタに設けられる。一実施形態では、割り込み情報の通信に必要な、先行技術よりもアクセスサイクル数を低減させることのできる新しいセマンティックスが、新しいAPICレジスタインタフェース内で明示的にサポートされる。一実施形態では、既存のマイクロアーキテクチャメカニズムを留保されているビットのチェックに利用して、将来のアーキテクチャ拡張のために留保されているレジスタの利用を保証することができる。一実施形態では、一部のシステムソフトウェアが引き続きレガシーMMIOインタフェースを利用してよい。従って少なくとも1つの実施形態が、レガシーインタフェースおよびここで説明する新たなAPICレジスタインタフェースの両方を提供する場合がある。一実施形態では、MSRを利用した新たなAPICレジスタインタフェースの実装が、比較的実装コストの増分が少ないレガシーインタフェースと共存する場合がある。
一例として図2は、本発明の少なくとも1つの実施形態が利用されうるフロントサイドバス(FSB)コンピュータシステムを示す。任意のプロセッサ201、205、210、または215は、プロセッサコア223、227、233、237、243、247、253、257のいずれか1つのなかの、またはこれに関連付けられた任意のローカルレベル1(L1)キャッシュメモリ220、225、230、235、240、245、250、255からの情報にアクセスすることができる。さらに任意のプロセッサ201、205、210、または215は、任意の共有のレベル2(L2)キャッシュ203、207、213、217、またはシステムメモリ260からの情報に、チップセット265を介してアクセスすることができる。図2に示すプロセッサのうち1以上は、少なくとも1つの実施形態における割り込み通信技術を可能とするロジック219を含む、またはこれと関連付けられていてよい。
図2に示すFSBコンピュータシステムに加えて、他のシステム構成を、本発明の様々な実施形態との関連で利用することもできる(例としては、ポイントツーポイント(P2P)インターコネクトシステムおよびリングインターコネクトシステムが挙げられる)。例えば図3のP2Pは複数のプロセッサを含んでよく、これらのうちプロセッサ370、380という2つのみを例として図示している。プロセッサ370、380は各々が、メモリ32、34と接続するためのローカルメモリコントローラハブ(MCH)372、382を含んでよい。プロセッサ370、380は、ポイントツーポイント(PtP)インタフェース回路378、388を利用して、PtPインタフェース350を介してデータを交換することができる。プロセッサ370、380は各々、ポイントツーポイントインタフェース回路376、394、386、398を利用して個々のPtPインタフェース352、354を介してチップセット390とデータを交換することができる。チップセット390は、さらに、高性能グラフィックスインタフェース339を介して高性能グラフィックス回路338とデータを交換することもできる。本発明の実施形態は、任意の数のプロセッサコアを有する任意のプロセッサ内、または図3のPtPバスエージェント各々内に設けられてよい。一実施形態では、任意のプロセッサコアが、ローカルキャッシュメモリ(不図示)を含む、またはこれと関連付けられてよい。さらに共有キャッシュ(不図示)が、両プロセッサの外部にあるいずれかのプロセッサに含まれていて、しかもp2pインターコネクトを介してプロセッサに接続され、プロセッサのうちいずれかまたは両方におけるローカルキャッシュ情報を、プロセッサが低電力モードになった場合に共有キャッシュに格納するようにしてよい。図3の複数のプロセッサまたはコアの1以上は、少なくとも1つの実施形態における割り込み通信技術を可能とするロジック319を含む、またはこれと関連付けられてよい。
図4は、本発明の少なくとも1つの実施形態を実行するロジックを示す。具体的には図4は、一実施形態における割り込み通信を可能とする情報を格納する際に利用可能な2つのAPIC割り込みコマンドレジスタ(ICR)を示している。例えばレジスタ401は、一実施形態において、留保されているビット31−20、および、APIC通信を可能とする様々な他の制御ビットを含む。加えて、図4は、割り込み対象エージェントを識別する32ビットの宛先識別(ID)フィールドを格納するレジスタ405を含む。一部の実施形態では、宛先IDフィールドは、他の制御フィールドおよびビットと同じレジスタ401内にあってよい。さらに一部の実施形態では、ICR401および405がMSRであり、他の実施形態では他のレジスタまたは格納領域である。一実施形態では、レジスタ401および405に格納されているビットは、様々な先行技術におけるMSR読み書き命令を利用して操作したり読み出してよく、他の実施形態では、新たな命令を定義して、レジスタ401および405の内容の操作および読み出しに利用することもできる。
図4に示されている、含まれているレジスタおよび情報は、一実施形態では、単一のレジスタ書き込みへの割り込み処理を低減させる目的で利用することができ、これは、ポステッドライトセマンティックスを利用する先行技術で、1個のUC読み出しおよび2個のUC書き込みが最低でも必要となる(ソフトウェアが、割り込みがローカルAPICを退出した旨の保証を必要としない場合)、あるいは、2個のUC読み出しおよび2個のUC書き込みが必要となる(ソフトウェアが、割り込みがローカルAPICを退出した旨の保証を必要とする場合)に必要となるのと対照的である。
一実施形態では、プロセッサは、プロセッサ間割り込み(IPI)を、ローカルAPICの割り込みコマンドレジスタに書き込みを行うことにより生成することができる。一実施形態では、APIC ICRは、読み出し専用の属性であってよい、この割り込みの配信のステータスを示すレガシー配信ステータスビット(図4のビット12)を含む。一実施形態では、ICR401のビット12の値が0である場合、現在はアクティビティがないことを示し、値が1である場合、送信が未完了であることを示す。一実施形態では、割り込みが送信された後で、配信ステータスビット(ICR401のビット12)をクリアする。レガシーインタフェースをサポートする場合には、システムソフトウェアは、IPIの送信前に、配信ステータスビットがクリアされるまでビジー待ちする場合もある。同様に、送信処理のセマンティックスが、ローカルAPICユニットからの割り込み送信を必要とする場合にも、システムソフトウェアは、配信ステータスビットがクリアされるまでビジー待ちする場合がある。一実施形態におけるAPICインタフェースでは、図4に示すようにICR401が単一の64ビットMSRに組み合わせられる。ICR401への単一のMSR書き込みを利用することで割り込みがディスパッチされる。特に一実施形態におけるAPIC ICR401および405へのレジスタインタフェースの場合、システムソフトウェアは、IPIを送信するためにICRに書き込みを行う前に配信ステータスビットのステータスをチェックする必要がない。
一実施形態では、特定のセマンティックスを、典型的な割り込みコントローラ関連の処理(特にTPR書き込みおよびEOI書き込み)に関連付けることで(あるいはこれより効率的な実装を行うことで)、割り込み関連の通信およびトラフィックの効率性を高め、ソフトウェアに必要となる修正量を最低に抑えることができるようになる。例えば、図4に示すICRを介したTPRレジスタへの読み書き用のセマンティックスは、プロセッサの優先度の変更による優先度を付け直す処理の結果が、TPRの実行の後の次の命令の前にプロセッサに確実に反映されるようにすることができる。この結果の配信可能な割り込みは、TPR書き込みの後の命令境界で行われる。図4のICRを介したEOIレジスタへのアクセスにより、EOIによる優先度を付け直す処理の結果が、EOIの実行の後の次の命令の前に、プロセッサに確実に反映されるようにする。この結果生じる配信可能な割り込みはいずれも、EOI書き込みの次の命令の境界で行われる。
一実施形態では、図4に示されるICRを実装するためのMSRの利用を、レガシー実装におけるものと同じアドレス空間にマッピングすることができる。例えば一実施形態では、レガシーレジスタオフセットとMSRオフセットとの間の一対一の対応を、セマンティックの行動が変化するレジスタを除いて維持する。一実施形態では、レガシーレジスタは、128ビットの境界における32ビットのレジスタであってよい。しかし、128ビットの境界上の32ビットのレジスタが64ビットのMSRに対応している一実施形態では、MSRレジスタオフセットを「MSRレジスタオフセット=レガシーレジスタオフセット/16」という公式に基づいて計算することができる。
しかし一実施形態におけるICRでは、図4に示すように、2つの32ビットのレガシーレジスタを1つの64ビットのMSRに組み合わせる。
一実施形態では、本発明は、先行技術におけるMMIOベースのAPICとの間のインタフェースに関する問題を解決することができる。さらに、本発明の実施形態の少なくとも1つの実装例は、少なくとも1つの実施形態に関連するICRおよびレガシーの両方をサポートする必要のあるシステムにおいて実装コストの増分を低く抑えることもできる。
図5Aは、実施形態を利用するプロセッサまたはシステム構成に関らず、本発明の少なくとも1つの実施形態とともに利用可能な処理のフロー図を示す。具体的には図5Aは、一実施形態において、レガシー技術を利用して割り込みを通信する場合に、レガシーによりサポートされるプロトコルを介して割り込みを通信する技術を示す。処理501Aで、配信ステータスビット(図4のビット12)が、ICRインタフェースが利用可能となるまでポーリングされる。処理505Aでステータスビットがディアサートされている間、510AでレガシーUC MMIO読み出しを行う。一実施形態では、レガシーレジスタが32ビット長である場合、高いおよび低いモードで宛先を書き込むことにより、割り込みを送信する。例えば、割り込み対象アドレスを汎用レジスタ(例えばx86プロセッサの「EAX」)に書き込む。レガシーモードに準拠させるべく、処理515Aで、ICR宛先IDの上位の部分を、UC MMIO書き込みを利用して書き込む。処理520Aで、UC MMIO書き込みをICRの下位(例えば下位32ビット)に書き込むことで、ICRのモードおよびベクトルフィールドを書き込んで様々なレガシー割り込み特徴を示す。処理525Aで、割り込みがローカルAPICを退出するまで、ICRのステータスフィールドがディアサートされている間UC MMIO読み出しのループを行うことで、ICRをポーリングする。
図5Bは、実施形態を利用するプロセッサまたはシステム構成に関らず、本発明の少なくとも1つの実施形態とともに利用可能な処理のフロー図を示す。一実施形態では、図4に示す1以上もMSRからなるICRインタフェースを介して割り込みを通信するが、ここで宛先フィールドは上位32ビットであり、モード/ベクトル情報は下位32ビットである。処理501Bでは、割り込みの対象アドレスを第1の汎用レジスタ(例えば「EDX」)に格納し、処理505Bで、モードおよびベクトル情報を第2の汎用レジスタ(例えば「EAX」)に格納する。処理510Bで、MSRアドレス空間のICRに対応するICRオフセットアドレスを、第3の汎用レジスタ(例えば「ECX」)に格納する。処理515Bで、第1および第2の汎用レジスタ内の、またはこれらが示す内容を、第3の汎用レジスタに格納されているアドレスに書き込む命令を実行する。一実施形態では、命令は先行技術のMSR書き込み命令(「WRMSR」)である。他の実施形態では、命令は、上述した技術を実装するプロセッサのISAに特化して定義された新たな命令であってもよい。
少なくとも1つの実施形態の1以上の側面は、プロセッサ内の様々なロジックを表す機械可読媒体に格納された代表的なデータにより実装することができ、機械により読み出されると、機械に、ここで説明する技術を行わせるロジックを生成させる。「IPコア」として知られているような表現は、有形の機械可読媒体(「テープ」)に格納されて、様々なカスタマーまたは製造施設に供給された後に製造機械へ搭載され、ここで実際のロジックまたはプロセッサが生成される。
マイクロアーキテクチャにおけるメモリ領域アクセスを行うための方法および装置を記載してきた。上述した記載は、例示を意図しており限定は意図していない。当業者であれば上述の記載を読むことで数多くの他の実施形態を想到するであろう。従って本発明の範囲は、添付請求項、および、請求項の均等物の全範囲による定義が意図されている。

Claims (21)

  1. 少なくとも第1のエージェントから少なくとも第2のエージェントへ割り込み情報を通信するロジックを備え、
    前記ロジックは、メモリマップドI/O(MMIO)領域にアクセスすることなく、少なくとも1つの命令により操作される割り込み情報を通信する割り込み制御インタフェースを含む装置。
  2. 前記割り込み制御インタフェースは、少なくとも1つの未完了の割り込みを示すステータス情報を格納する割り込み制御レジスタ(ICR)を含む請求項1に記載の装置。
  3. 前記ICRはベクトルフィールドを含む請求項2に記載の装置。
  4. 前記ICRはモードフィールドを含む請求項3に記載の装置。
  5. 前記少なくとも1つの命令は、それぞれモデル専用レジスタ(MSR)に対する情報の読み出し処理または書き込み処理に対応する請求項1に記載の装置。
  6. 前記割り込み制御インタフェースは、拡張プログラム制御割り込みコントローラ(APIC)との間で割り込み情報の交換を行う請求項1に記載の装置。
  7. 前記割り込み制御インタフェースは、前記APICとの間のレガシー通信および前記APICとの間の非レガシー通信をサポートする請求項6に記載の装置。
  8. 前記APICは、各々が異なるエージェントに対応している複数のローカルAPICの1つである請求項7に記載の装置。
  9. メモリマップドI/O(MMIO)ストレージを利用することなく1以上のモデル専用レジスタ(MSR)を含む割り込み制御レジスタ(ICR)を介して割り込みを通信する段階を備え、
    前記割り込みを通信する段階は、
    第1の汎用レジスタに前記割り込みの対象アドレスを格納する段階と、
    第2の汎用レジスタに割り込みモードおよびベクトル情報を格納する段階と、
    第3の汎用レジスタにICRオフセットアドレスを格納する段階と、
    前記ICRオフセットアドレスに対して前記対象アドレスと前記モードおよびベクトル情報とを書き込む命令を実行する段階とを有する方法。
  10. 前記割り込みをレガシー技術を利用して通信する場合、レガシーをサポートするプロトコルに従って前記割り込みを通信する段階をさらに備える請求項9に記載の方法。
  11. 前記レガシーをサポートするプロトコルは、前記ICR用のインタフェースが利用可能になるまで、ステータスビットをポーリングすることを含む請求項10に記載の方法。
  12. 前記レガシーをサポートするプロトコルはさらに、前記ステータスビットがディアサートされている間、キャッシュされていないMMIO読み出しを実行する請求項11に記載の方法。
  13. 前記レガシーをサポートするプロトコルはさらに、前記ベクトルおよびモード情報を前記ICR内の対応するフィールドに書き込んでレガシー割り込みの特徴を示すことを含む請求項12に記載の方法。
  14. 前記ICRの前記モードおよびベクトルのフィールドは、キャッシュされていないMMIO書き込み処理を利用して書き込まれる請求項13に記載の方法。
  15. 前記レガシーをサポートするプロトコルは、前記割り込みが前記ICRに対応する拡張プログラム制御割り込みコントローラ(APIC)を退出するまで、前記ICRの前記ステータスビットをポーリングすることを含む請求項14に記載の方法。
  16. 読み出し命令および書き込み命令を少なくとも1つずつ格納するメモリと、
    複数の拡張プログラム制御割り込みコントローラ(APIC)を有する複数のプロセッサと
    を備え、
    前記複数のAPICの各々は、先ず前記メモリ内のメモリマップドI/O(MMIO)アドレス空間に対して割り込み情報を読み書きすることなく、前記読み出し命令および書き込み命令を利用して割り込み制御レジスタ(ICR)インタフェースを介して前記割り込み情報を通信するシステム。
  17. 前記ICRはベクトルフィールドを含む請求項16に記載のシステム。
  18. 前記ICRはモードフィールドを含む請求項17に記載のシステム。
  19. 前記読み出し命令および書き込み命令は、モデル専用レジスタ(MSR)に対する情報の読み出し処理または書き込み処理にそれぞれ対応する請求項18に記載のシステム。
  20. 前記割り込み制御インタフェースは、前記複数のAPICとの間のレガシー通信および前記複数のAPICとの間の非レガシー通信をサポートする請求項19に記載のシステム。
  21. 前記複数のAPICは異なるプロセッサに対応する請求項20に記載のシステム。
JP2011533324A 2008-10-28 2009-10-22 コンピュータシステムにおける割り込み通信技術 Expired - Fee Related JP5357972B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/290,208 2008-10-28
US12/290,208 US8103816B2 (en) 2008-10-28 2008-10-28 Technique for communicating interrupts in a computer system
PCT/US2009/061641 WO2010062514A2 (en) 2008-10-28 2009-10-22 Technique for communicating interrupts in a computer system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013178878A Division JP5749304B2 (ja) 2008-10-28 2013-08-30 割り込み通信装置、方法、およびシステム

Publications (2)

Publication Number Publication Date
JP2012507080A true JP2012507080A (ja) 2012-03-22
JP5357972B2 JP5357972B2 (ja) 2013-12-04

Family

ID=42118584

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011533324A Expired - Fee Related JP5357972B2 (ja) 2008-10-28 2009-10-22 コンピュータシステムにおける割り込み通信技術
JP2013178878A Expired - Fee Related JP5749304B2 (ja) 2008-10-28 2013-08-30 割り込み通信装置、方法、およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013178878A Expired - Fee Related JP5749304B2 (ja) 2008-10-28 2013-08-30 割り込み通信装置、方法、およびシステム

Country Status (6)

Country Link
US (2) US8103816B2 (ja)
JP (2) JP5357972B2 (ja)
CN (3) CN101727414B (ja)
DE (1) DE102009050983A1 (ja)
TW (1) TWI434181B (ja)
WO (1) WO2010062514A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255603B2 (en) * 2009-08-14 2012-08-28 Advanced Micro Devices, Inc. User-level interrupt mechanism for multi-core architectures
WO2012014285A1 (ja) * 2010-07-27 2012-02-02 富士通株式会社 割込制御方法、マルチコアプロセッサシステム、および割込制御プログラム
US8631256B2 (en) 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US8930676B2 (en) 2010-12-22 2015-01-06 Via Technologies, Inc. Master core discovering enabled cores in microprocessor comprising plural multi-core dies
US9460038B2 (en) * 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
US8782451B2 (en) 2010-12-22 2014-07-15 Via Technologies, Inc. Power state synchronization in a multi-core processor
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies
US10019390B2 (en) * 2012-03-30 2018-07-10 Intel Corporation Using memory cache for a race free interrupt scheme without the use of “read clear” registers
WO2013180691A1 (en) * 2012-05-29 2013-12-05 Intel Corporation Peer-to-peer interrupt signaling between devices coupled via interconnects
CN103559087B (zh) * 2013-10-31 2017-11-28 华为技术有限公司 一种虚拟处理器之间的中断的实现方法、相关装置和系统
US9697031B2 (en) 2013-10-31 2017-07-04 Huawei Technologies Co., Ltd. Method for implementing inter-virtual processor interrupt by writing register data in a single write operation to a virtual register
US9740644B2 (en) 2014-09-26 2017-08-22 Intel Corporation Avoiding premature enabling of nonmaskable interrupts when returning from exceptions
US9747225B2 (en) 2015-05-05 2017-08-29 Microsoft Technology Licensing, Llc Interrupt controller
CN107015931A (zh) * 2016-01-27 2017-08-04 三星电子株式会社 用于中断处理的方法和加速器单元

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324996A (ja) * 1993-04-19 1994-11-25 Intel Corp 集積回路およびプログラマブル・マルチ・プロセッサ割り込みコントローラ・システム
JPH09505922A (ja) * 1994-09-19 1997-06-10 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 多数のマイクロ制御器の演算を実行するマイクロ制御器システム
JP2001516089A (ja) * 1997-08-18 2001-09-25 インテル・コーポレーション メモリ属性パレット
JP2007500898A (ja) * 2003-07-31 2007-01-18 インテル・コーポレーション プロセッサ間割り込み

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495615A (en) 1990-12-21 1996-02-27 Intel Corp Multiprocessor interrupt controller with remote reading of interrupt control registers
US5987538A (en) 1997-08-15 1999-11-16 Compaq Computer Corporation Apparatus for initiating generation of an inter-processor interrupt by a peripheral device not directly connected to any of the multi-processor local interrupt controllers
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
US6370606B1 (en) 1998-11-05 2002-04-09 Compaq Computer Corporation System and method for simulating hardware interrupts in a multiprocessor computer system
US6968412B1 (en) 1999-12-30 2005-11-22 Intel Corporation Method and apparatus for interrupt controller data re-direction
US7051137B2 (en) * 2002-10-31 2006-05-23 Intel Corporation Event delivery
US7143223B2 (en) * 2004-10-14 2006-11-28 International Business Machines Corporation Method, system and program product for emulating an interrupt architecture within a data processing system
US20060095624A1 (en) * 2004-11-03 2006-05-04 Ashok Raj Retargeting device interrupt destinations
JP4182948B2 (ja) * 2004-12-21 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
TW200708969A (en) * 2005-08-24 2007-03-01 Tyan Computer Corp ID allocating method for advanced programmable interrupt controller
CN100543645C (zh) * 2006-06-21 2009-09-23 国际商业机器公司 对中断等待影响最小的热调节控制方法、系统
KR100824792B1 (ko) * 2006-07-11 2008-04-24 삼성전자주식회사 커맨드 처리 장치와 방법 및 이를 포함하는 시스템
US7769938B2 (en) * 2007-09-06 2010-08-03 Intel Corporation Processor selection for an interrupt identifying a processor cluster
US7627706B2 (en) * 2007-09-06 2009-12-01 Intel Corporation Creation of logical APIC ID with cluster ID and intra-cluster ID
US8312309B2 (en) * 2008-03-05 2012-11-13 Intel Corporation Technique for promoting determinism among multiple clock domains

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324996A (ja) * 1993-04-19 1994-11-25 Intel Corp 集積回路およびプログラマブル・マルチ・プロセッサ割り込みコントローラ・システム
JPH09505922A (ja) * 1994-09-19 1997-06-10 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 多数のマイクロ制御器の演算を実行するマイクロ制御器システム
JP2001516089A (ja) * 1997-08-18 2001-09-25 インテル・コーポレーション メモリ属性パレット
JP2007500898A (ja) * 2003-07-31 2007-01-18 インテル・コーポレーション プロセッサ間割り込み

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012049639; IntelR 64 Architecture x2APIC Specification Reference Number: 318148-001, 200709, i〜39ページ, Intel Corporation *

Also Published As

Publication number Publication date
US8103816B2 (en) 2012-01-24
WO2010062514A3 (en) 2010-07-22
CN103399833A (zh) 2013-11-20
CN101727414A (zh) 2010-06-09
DE102009050983A1 (de) 2010-06-02
CN104021109B (zh) 2017-11-07
CN101727414B (zh) 2014-06-25
US8312198B2 (en) 2012-11-13
TW201032055A (en) 2010-09-01
JP5357972B2 (ja) 2013-12-04
JP5749304B2 (ja) 2015-07-15
JP2014029702A (ja) 2014-02-13
TWI434181B (zh) 2014-04-11
CN104021109A (zh) 2014-09-03
US20120124264A1 (en) 2012-05-17
WO2010062514A2 (en) 2010-06-03
US20100106875A1 (en) 2010-04-29
CN103399833B (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
JP5749304B2 (ja) 割り込み通信装置、方法、およびシステム
US9043521B2 (en) Technique for communicating interrupts in a computer system
JP5911985B2 (ja) ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
US9766891B2 (en) Apparatus, system, and method for persistent user-level thread
JP5963282B2 (ja) 割り込み分配スキーム
CN100592271C (zh) 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法
US10296356B2 (en) Implementation of reset functions in an SoC virtualized device
JP2004506981A (ja) マルチプロセッサにおけるセマフォおよびアトミック動作の管理のためのシステムおよび方法
EP3654178B1 (en) Mechanism for issuing requests to an accelerator from multiple threads
KR20100053593A (ko) 컴퓨터 시스템에서 다른 프로세서들에 대한 시스템 관리 인터럽트들을 방송하기 위한 메커니즘
US20170286354A1 (en) Separation of control and data plane functions in soc virtualized i/o device
US9946665B2 (en) Fetch less instruction processing (FLIP) computer architecture for central processing units (CPU)
US10853303B2 (en) Separation of control and data plane functions in SoC virtualized I/O device
Bratt HSA queueing.

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130222

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: 20130702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130731

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130830

R150 Certificate of patent or registration of utility model

Ref document number: 5357972

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees