JP2012506091A - データ処理システムにおける割込承認 - Google Patents

データ処理システムにおける割込承認 Download PDF

Info

Publication number
JP2012506091A
JP2012506091A JP2011532106A JP2011532106A JP2012506091A JP 2012506091 A JP2012506091 A JP 2012506091A JP 2011532106 A JP2011532106 A JP 2011532106A JP 2011532106 A JP2011532106 A JP 2011532106A JP 2012506091 A JP2012506091 A JP 2012506091A
Authority
JP
Japan
Prior art keywords
interrupt
processor
interrupt request
identifier
request
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
JP2011532106A
Other languages
English (en)
Other versions
JP5500741B2 (ja
JP2012506091A5 (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.)
NXP USA Inc
Original Assignee
NXP USA 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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2012506091A publication Critical patent/JP2012506091A/ja
Publication of JP2012506091A5 publication Critical patent/JP2012506091A5/ja
Application granted granted Critical
Publication of JP5500741B2 publication Critical patent/JP5500741B2/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)

Abstract

データ処理システム(10)は、対応する割込識別子(31)と対応する割込ベクトル(32)とにしたがってプロセッサ(20)に割込要求(30)を提供する割込コントローラ(14)を備える。プロセッサ(20)が割込を承認すると、プロセッサ(20)は、割込承認(33)にしたがって、割込識別子(34)経由で割込コントローラ(14)に、割込識別子(31)と同じ値を返す。割込取得/非取得識別子(35)もまた提供される。割込コントローラ(14)とプロセッサ(20)間の割込プロセスを調整するために使用される通信インターフェース(60,40,70)は、非同期である。

Description

本発明は一般にデータ処理システム、特に、割込を有するデータ処理システムに関連する。
いくつかのアプリケーションにおいて、プロセッサがデータ処理システム内の重要な割込に応答する時間を減らすことは重要で、時に不可欠なことである。その結果、リアルタイム及びニア・リアルタイムアプリケーションの多くに対し、プロセッサ割込応答待ち時間は重要である。
多数のリアルタイム及びニア・リアルタイムアプリケーションに対して、プロセッサ割込応答待ち時間は重要である。多くのデータ処理システムにおいて、割込フェッチ機構は、メモリマップド・レジスタから保護されたロードを実行するプロセッサを必要とする。
米国特許第5,905,898号明細書
残念ながら、多くのシステムにおいて、そのようなロードは、著しい回線争奪ひいては著しい遅延を有する。例えば、単一の集積回路で複数プロセッサを有するデータ処理システムにおいて、かなりの数のプロセッサは、割込コントローラ内でプロセッサとメモリマップド・レジスタとの間に情報を伝達するバスにアクセスするために競合する。
従って割込ベクトル処理と、割込処理に必要な他の情報とを加速する機構を実装することは、有用である。
或る実施形態では、割込ベクトルは、割込コントローラのレジスタスペースに格納され、当該割込コントローラのレジスタスペースは、1つのシリアル化アクセスパス(すなわち、開放型割込コントローラ(OpenPIC)標準)によって複数のプロセッサに接続する共有リソースである。従って1つのシリアル化アクセスパスにアクセスする競合があるので、割込ベクトルを取得することは、非常に遅い過程(工程)となるおそれがある。他の実施形態では、OpenPIC規定された割込コントローラ以外の割込コントローラを使用することもできるが、割込応答待ち時間の問題を有するおそれもある。
或る実施形態では、割込コントローラ14は、割込要求30を、割込要求に対応する割込識別子31と、割込要求に対応する割込ベクトル32とともに、プロセッサ20に提供する。プロセッサ20が割込を受入れる場合、プロセッサ20が、同一割込識別子31を、割込識別子34によって割込承認33とともに、割込コントローラ14に返信する。割込承認33の受信によって、割込コントローラ14は、プロセッサ20が割込を受入れたことを決定する。割込識別子34を受信することによって、割込コントローラ14は、サービスのために、どの割込をプロセッサ20が受入れたかを決定できる。他の実施形態で、プロセッサ20は、割込承認33及び割込識別子34に加え、割込取得/非取得表示子35を備える。或る実施形態では、割込コントローラとプロセッサ20との間の割込処理を調整するための通信(すなわち、インターフェース60,70)は、非同期でありうる。他の実施形態は、割込処理情報を通信するために、プロセッサ20と割込コントローラ14との間の同期インターフェースを用いてもよい。
データ処理のシステムの一実施形態のブロック図である。 図1のプロセッサ及び割込コントローラの一実施形態のブロック図である。 割込を承認する方法の一実施形態のフロー図である。
図1では、或る実施形態におけるデータ処理システム10のブロック図を示している。或る実施形態では、データ処理システム10は、単一の集積回路上に提供されうる。他の実施形態では、データ処理システム10は複数の集積回路に備えられる可能がある。或る実施形態では、バス26は、双方向に、1以上のプロセッサ12と、割込コントローラ14と、1以上のモジュール16と、1以上のメモリ18と、外部インターフェース24とに接続されうる。或る実施形態では、割込コントローラ14は、複数であるN個の割込コントローラインターフェース15を有し、割込コントローラインターフェース15はそれぞれ、バス26に個々に双方向に接続される。他の実施形態では、割込コントローラ14は、バス26への単一接続を全体的に共有する複数であるN個の割込コントローラインターフェース15を有する。様々な実施形態では、モジュール16はいかなるタイプの回路を含みうる。例えば、タイマードライバー、通信ポート、などである。同様に様々な実施形態では、メモリ18はいかなるタイプのメモリを含むことができる。例えばランダムアクセスメモリ、読み出し専用メモリ、様々な不揮発性メモリのタイプ、などである。図示した実施形態では、外部インターフェース24は、1以上の端子または導体28によって、データ処理システム10に接続される。或る実施形態では、1以上の外部割込ソースは、端子または導体28によって、データ処理システム10に割込信号を提供する。
或る実施形態では、複数であるN個のプロセッサ12は割込コントローラ14に接続し、割込コントローラ14は複数であるN個の割込コントローラインターフェース15を有する。図示した実施形態では、データ処理システム10は、複数であるN個のプロセッサ12(プロセッサ12を含む)、複数であるN個の通信導体(通信導体40を含む)、複数であるN個の割込コントローラインターフェース15(割込コントローラインターフェース22を含む)を有する。或る実施形態では、N個の割込コントローラインターフェース15はそれぞれ、1以上の通信導体(すなわち、通信導体40)によって、プロセッサ12の相当する1つに接続する。或る実施形態では、N個のプロセッサそれぞれ(すなわち、プロセッサ20)と、それに相当するN個の割込コントローラインターフェースそれぞれ(すなわち、割込コントローラインターフェース22)に接続するように用いた通信導体(すなわち、通信導体40)は、同一機能を実施する同一導体の二重セットを用いる。他の実施形態では、いくつかのプロセッサ12は、通信導体40による方法以外に、割込コントローラ14を異なる方法で通信する。Nは1よりも多い整数である。
或る実施形態で、通信導体40は、割込要求識別子30、割込識別子31、割込コントローラインターフェース22からプロセッサ20へ提供される割込ベクトル32を有する。或る実施形態では、通信導体40は、割込承認33、割込識別子33、割込取得/非取得表示子35を有する。いくつかの実施形態では、通信導体40は、双方向通信可能、または割込コントローラインターフェース22からプロセッサ20へ単方向性通信可能、またはプロセッサ20から割込コントローラインターフェース22へ単方向性通信可能である1以上他の信号36を有する。他の実施形態では、導体(30〜32)により提供された情報は、1以上の別または共有する導体によって提供される。同様に他の実施形態では、導体(33〜35)によって提供された情報は、1以上の別または共有の導体(30〜32)によって提供される。
図示した実施形態では、割込コントローラ14は、割込コントローラ14の内部回路をクロックするためにクロック信号54を受信する。同様に、図示した実施形態では、プロセッサ20は、プロセッサ20の内部回路をクロックするためにクロック信号52を受信する。或る実施形態では、割込コントローラ14の回路をクロックするためのクロック54は、プロセッサ20の回路をクロックするためのクロック52と、任意の位相と周波数の関係を有する。他の実施形態では、クロック52とクロック54との間の関係は、既知または予め決定されうる。したがって、このクロックは、非同期ではない可能性がある。
図2では、或る実施形態における、図1のプロセッサ20と割込コントローラ14のブロック図を示している。図示した実施形態では、割込コントローラ14の非同期インターフェース70と、プロセッサ20の非同期インターフェース60との間の割込情報を通信するために、図1と同じ通信導体40を用いる。或る実施形態では、割込コントローラ14の回路をクロックするために用いたクロック54は、プロセッサ20の回路をクロックするために用いたクロック52に対して非同期であるので、インターフェース60とインターフェース70とは、互いに非同期である。
或る実施形態では、割込コントローラ14は、優先・ベクトル・状態回路72と、割込コントローラインターフェース22とを有する。図示した実施形態では、優先・ベクトル・状態回路72は、1以上の割込ソース90を受信する。各割込ソース90は、内部からデータ処理システム10へのソース、または外部からデータ処理システム10へのソースによって提供される。或る実施形態では、割込コントローラ22は、優先・ベクトル・状態回路72に双方向性に接続され、割込回路79に双方向性に接続されたソート回路74を含む。或る実施形態では、割込回路79は、未処理割込要求キュー78を有し、割込識別子生成回路80を有する。当該未処理割込要求キュー78と当該割込識別子生成回路(割込識別子ジェネレータ)80とは、互いに双方向性に接続している。割込回路79はまた、非同期インターフェース70に双方向性に接続する。或る実施形態では、回路79が、優先・ベクトル・状態回路72へ状態更新表示子82を提供する。或る実施形態では、状態更新表示子82は、1以上の導体によって提供される。
引き続き、図2を参照すると、図示した実施形態では、プロセッサ20は、割込処理回路62と非同期インターフェース60を有する。或る実施形態では、非同期インターフェース60は、割込処理回路62に、割込要求66と割込ベクトル67を提供する。他の実施形態は、割込要求66と割込ベクトル67の情報とを非同期インターフェース60から割込処理回路62へ伝達するために、いかなる数の導体(66、67)を用いても良い。或る実施形態では、割込処理回路62は、受入表示子68を非同期インターフェース60に提供する。他の実施形態は、割込受入情報を割込処理回路62から非同期インターフェース60に伝達するために、いかなる数の導体68を用いても良い。いくつかの実施形態では、受入情報68を返信するためにも、割込要求66と割込ベクトル67の情報を提供する同一の導体を使用する。或る実施形態では、割込処理回路62は、導体40により提供された割込ベクトル32を格納するために、ベクトル格納回路64を有する。或る実施形態では、非同期インターフェース60は、導体(40)によって提供された割込識別子31を格納するために、割込識別子格納回路62を有する。他の実施形態では、プロセッサ20は異なる方法、あるいは異なる場所、またはその両方で、割込ベクトル32及び割込識別子31を格納する。
図3は、開始101から終了121までのフロー図における、或る実施形態にしたがう割込を承認するための方法100を示す。方法100の様々な実施形態は、図1と図2で説明される回路の操作を説明するとともに、以下で記述される。
図1と図2に示す回路の操作と、図3に示す方法100とを、より詳細に説明する。図示した実施形態では、1以上の割込ソース90は、割込コントローラ14に接続する。様々な実施形態では、割込ソース90は、データ処理システム10に対して内部あるいは外部である。例えばリアルタイム制御アプリケーションにおいて、外部割込ソース90の例は、外部インターフェース24を介する、スイッチまたはキーパッドキーである。そして内部割込ソース90の例は、他のモジュール16からの割込であり、例えば、タイマーまたは通信ポートによる割込である(図1を参照)。
割込コントローラ14が割込を受信した時、(図3のボックス102を参考)、優先・ベクトル・状態回路72は、優先と、ベクトルと、割込ソース識別子と、他の関連する状態情報(たとえば、特定割込ソース90に対する特定プロセッサである)とを決定する(図3のボックス103を参考)。或る実施形態では、優先・ベクトル・状態回路72は、データ処理システム10を使用する異なるアプリケーションが、様々な割込ソースへの応答のカスタマイズ化を可能とするようにプログラムされる。或る実施形態では、各割込ソース90は、対応する優先と、ベクトルと、特定プロセッサとを有するように構成されうる。様々な割込ソース90は、同一の、優先と、ベクトルと、特定プロセッサとのうちの少なくとも1つを所有できる。しかし割込識別子は、各割込ソース90に固有になりうる。「特定プロセッサ」という用語は、割込を使用可能にするプロセッサを指定するという意味である。或る実施形態では、状態情報は、割込の種々状態(ペンディング、実行中、無効、など)を表示する1以上の表示子を含む。或る実施形態では、回路72は、どのプロセッサが特定プロセッサであるか決定し、特定プロセッサのソート回路74に割込要求を選択的に提供する。代替実施形態では、回路72は、あらゆるプロセッサのためにソート回路74へ割込要求を提供し、各ソート回路74は、該割込が該割込の特定プロセッサに対応するか否か決定する。
或る実施形態では、割込コントローラ14が割込ソース90による割込を最初に受信する時、割込の最初状態は、「ペンディング」と示される(図3のボックス103を参照)。或る実施形態では、ソート回路74は、特定プロセッサのために他の未処理割込要求の中の割込要求をソートする(図3のボックス104)。代替実施形態は、任意の所望の適切な方法で、割込要求をソートすることができる。例えば或る実施形態では、割込要求は、優先、年齢(age)、割込タイプ、またはその組み合わせでソートされる。ソートの結果で、一番または、次の割込要求として指名された1つの割込要求が存在する(図3のボックス105を参照)。最優先割込要求が決定されると、特定の割込に対応する割込識別子が生成される(図3のボックス105と、図2の割込識別生成回路80)。代替実施形態は、任意の所望の適切な方法で割込識別子を生成しうる。或る実施形態では、割込識別子は、特定の割込要求に対して独自の値である。対応する割込識別子に関連する割込が使用可能になると、もし望むならば、割込識別子の値は、新たな全く関係のない割込のために再度使用可能である。割込識別子の値は、格別な意義(例えば割込ソース番号など)を有する、または割込自身とは関係ない。しかし或る実施形態では、各割込要求は対応する割込識別子を有する。或る実施形態では、割込識別子生成回路80は、割込識別子と共に格納される未処理割込要求キュー78に、割込識別子を提供する。(図3のボックス106を参照)
図示した実施形態では、割込コントローラ14内の非同期インターフェース70は、プロセッサ20内の非同期インターフェース60とは互いに非同期である。或る実施形態では、割込コントローラ14内の回路をクロックするために使用されるクロック54は、プロセッサ20内の回路をクロックするために使用されるクロック52とは、任意の位相と周波数の関係を有する。
割込コントローラ14とプロセッサ12との間のインターフェースが非同期であるという事実は、全ての通信が時間ベース式よりイベントベース式で動作することを必要とする。このことは、インターフェースの複雑さを増加してしまい、必要な情報を速く且つ正確に通信することをより困難にしてしまう。
或る実施形態では、割込コントローラ14は、プロセッサ20に、最優先割込要求30、割込識別子31、割込ベクトル32を提供する。(図3のボックス107,ボックス108を参照)。代替実施形態は、所望且つ適切な信号の使用(すなわち、この情報は、直列、並列に提供されたり時間多重方式であるものなど)によってこの情報を提供しうる。
非同期的に動作している回路の複数のブロック(すなわち、14,12)の間で、割込情報を協調して送信ならびに受信することは重要である。プロセッサ20が割込要求を受信すると、プロセッサ20は、受信した割込要求を受入れるか否か決定する(図3のボックス108,ボックス109を参照)。代替実施形態は、受信した割込要求を承認するか否か決定するために異なる基準を使用してもよい。例えば或る実施形態では、割込のソフトウェアマスキングとハードウェアマスキングとのうちの少なくとも1つは、プロセッサ20で使用されうる。代替実施形態では、割込を受入れる<承認>または受入れない<拒否>決定は、割込を受けるために1以上のマスク値が変化するまで、または新たな割込要求が受信されるまで引き延ばされる。プロセッサ20によって新たな割込要求が受信されたときに、元の割込要求が承認されていない場合、プロセッサ20は、新たな割込要求を支持して、元の割込要求を拒否する。新たな割込要求をプロセッサ20に送信する唯一の方法は、より優先であるソート回路74によって、新たな割込要求が決定された場合である。プロセッサ20の代替実施形態は、受信した割込要求を受入れるまたは受入れないということを決定するためのいかなる所望且つ適切な基準を使用しうる。
プロセッサ20が受信した割込を受入れる場合(図3の決定ダイヤ110を参照)、プロセッサ20は、割込ベクトル(たとえば、32,67を介して提供される)をベクトル格納回路64(図3のボックス111を参照)に格納し、割込要求の動作を始める(図3のボックス112を参照)。或る実施形態では、割込要求の動作は、如何なる周知の方法も含む任意の所望且つ適切な方法でも実行可能である。
或る実施形態では、プロセッサ20が割込承認33、割込識別子34を提供し、割込を受けたかを表示するために割込コントローラ14に割込取得/非取得表示子をアサートする(図3のボックス113を参照)。割込コントローラ14は、割込承認33と、割込識別子34と、アサートした割込取得/非取得表示子とを非同期的に受信する(図3のボックス114を参照)。或る実施形態では、割込コントローラ14は、未処理割込要求キュー78中の対応するエントリを選択するために割込識別子31を使用する(図3のボックス115を参照)。或る実施形態では、回路72内で割込要求の状態をペンディングから実行中に変更するように、回路72に状態更新の表示子82を提供するために、対応するエントリの割込ソース識別子は、回路79によって使用される(図3のボックス116を参照)。また回路79は、一致するエントリを未処理割込キュー78から除去する(図3のボックス117を参照)。この時点において、割込は、その対応する割込ベクトルと共にプロセッサ20へ送信されている。プロセッサは、割込を使用可能であり、該割込は、割込コントローラ14内で「実行中」の状態である。或る実施形態では、図3のステップを実行するために、ソフトウェアの介入は必要がない。
代替実施形態では、割込取得/非取得表示子35は使用されない。この実施形態では、割込承認33とそれに対応する割込識別子34とは、プロセッサ20によって割込が取得された時だけに提供される。またこの実施形態では、割込コントローラが、割込承認33とそれに対応する割込識別子34とを受信する時、回路79は、全ての以前の割込要求を取得しないとして処理し、全ての以前の割込要求を未処理割込要求キュー78から除去する。
決定ダイヤ110(図3を参照)において、プロセッサ20が受信した割込を受入れない場合、プロセッサ20は、割込承認33と割込識別子34とを提供し、割込が受理されなかったこと表示するために、割込コントローラ14に割込取得/非取得表示子をネゲートする(図3のボックス118参照)。割込コントローラ14は、割込承認33と、割込識別子34と、アサートされた割込取得/非取得表示子35を非同期的に受信する(図3のボックス119を参照)。或る実施形態では、未処理割込要求キュー78における対応するエントリを選択するために、割込コントローラ14は、割込識別子31を使用する(図3のボックス120を参照)。回路79は、一致するエントリを未処理割込要求キュー78から除去する(図3のボックス117を参照)。この時点において、割込は、それに対応する割込ベクトルとともに、プロセッサ20に送信されてしまっている。プロセッサ20は、割込を動作しておらず、割込は、割込コントローラ14内で「ペンディング」状態であり、30−32を介してプロセッサに提示するために、ソート回路74によって再選択されることが可能である。
本明細書で使用されているように、「バス(bus)」という語は1以上の種々のタイプの情報、例えば、データ、アドレス、制御、状態、など)を伝達するために使用可能な複数の信号や導体を言及するために用いられている。本明細書で説明されているような導体は、単独の導体、複数の導体、単方向の導体、もしくは双方向の導体であることを基準として図示あるいは記述されてもよい。しかし、様々な実施形態によってこの導体の実装例が多様化してもよい。例えば、双方向導体ではなく別個の単方向導体を用いてもよいし、逆の場合も成り立つ。また、複数の導体を、複数の信号を連続的に、または時分割方式で伝達する単独の導体に置き換えてもよい。同様に、複数の信号を担う単一種類の複数の導体を分割し、これらの信号の部分集合を担う様々な異なる導体にしてもよい。よって、伝達信号には、多くの選択が存在する。
アサートする(assert)」や「セットする(set)」及び「ネゲートする(negate)」(あるいは「ディアサートする(deassert)」や「クリアする(clear)」)という語は、信号、状態ビット、または同様の装置を論理的に真の状態または論理的に偽の状態にそれぞれすることを言及する場合に用いられている。論理的に真の状態が論理レベル1の場合、論理的に偽の状態は論理レベルゼロである。また、論理的に真の状態が論理レベルゼロの場合、論理的に偽の状態は論理レベル1である。
本明細書に述べた各信号は、正又は負論理として構成し得る。この場合、負論理は、信号名称上のバー又は名称に続くアスタリスク記号(*)によって示し得る。負論理信号の場合、信号は、アクティブ「ロー」であり、この場合、論理的に真の状態は、論理レベル0に対応する。正論理信号の場合、信号は、アクティブ「ハイ」であり、この場合、論理的に真の状態は、論理レベル1に対応する。本明細書で述べる信号は、いずれも負又は正のいずれかの論理信号として構成し得ることに留意されたい。従って、他の実施形態では、正論理信号として述べた信号は、負論理信号として実現してもよく、また負論理信号として述べた信号は、正論理信号として実現してもよい。
本発明を組み込む装置は、ほとんど、当業者には公知の電子部品及び回路で構成されるため、本発明の基本概念を理解し解釈するために、また、本発明の教示内容が不明瞭になったり教示内容から逸脱したりしないように、回路の詳細については、上述したように、必要と考えられる範囲を超える説明は行なわない。
いくつか上記の実施形態では、適用な場合において、種々の異なる情報処理システムで実行することができる。例えば、図1及び上述の説明は代表的な情報処理構成であって、この代表的な構成は本発明の実施形態を説明するためにだけである。構成の詳細は説明のために簡単化した及び適切な構成の種々タイプの1つである。当業者は論理ブロックとの間の限界は例示的だけであり、代替実施形態において、論理ブロックまたは回路素子を組み合わせ、または様々な論理ブロック及び回路素子に機能の代替分解を実行する。
従って、本明細書の構造は代表的だけであって、他の同一機能の構造も実行できる。抽象的及び明確な意味で、所望機能を達成するように同一機能を達成する成分の構造は有効的に「関連する」。従って、構造または中間成分を関わらず、いかなる2つの成分を組み合わせ、特定な機能を達成することは2つの成分を有効的に「関連する」ことである。同様に、そのような「関連する」いかなる2つの成分は、所望機能を達成するために互いに「作動的に接続している」。
例えば、或る実施形態では、図示したデータ処理システム10の素子は、集積回路または同様のデバイス内で配置された回路である。あるいはデータ処理システム10は、互いに接続された別の集積回路あるいは他のデバイスをいかなる数も含む。例えば、メモリ18は、プロセッサ12としての同様の集積回路に、またはデータ処理システム10のその他の要素から離散的に分離された周辺または子局装置に配置してもよい。例えばデータ処理システム10またはその一部分は、物理的な回路、または物理的な回路へ変換可能な論理的表示のソフトウェアまたはコード表示である。従ってデータ処理システム10は、いかなる適切タイプのハードウェア言語においても具現化される。
当業者は、上述操作の機能との間の制限は説明だけであることを認識するであろう。複数操作の機能を組み合わせ、1つの操作になって、または1つ操作の機能を追加的操作に分布する。また代替実施形態は特定操作の複数の場合を含み、操作の順番は他の実施形態で変更できる。
上記の明細書により、本発明は特定の実施形態に基づいて記載してきた。しかし、当業者は様々な変更や変形は添付した本発明の特許請求の範囲に反することなく行われる。例えば、割込コントローラ14を実行するために異なる回路を利用してもよいし、通信導体40のために導体のいかなる所望且つ適切な数を利用してもよい。従って明細書と図は説明上のもので制約的なものでない、またこれら全ての変更は本発明の範囲に内包されるものである。いかなる利点、他の有利な点、問題の解決策、及びいかなる利点の要因、有利な点の要因、解決策を生じ或いはより明白とする要因はいかなる請求項の重要な、必要な、又は不可欠な特性又は要素として解釈されない。
“接続した”という語は、直接接続または機械的接続だけに限られてない。種々の実施例で、図示した回路の全て、いかなる部分も、またその一部は、いかなる所望または適切な方法で提供される。

Claims (20)

  1. データ処理システムであって、
    プロセッサと;
    前記プロセッサに接続された割込コントローラと
    を備え、
    前記割込コントローラは、前記プロセッサに、割込要求と、前記割込要求に対応する割込識別子と、前記割込要求に対応する割込ベクトルとを提供するように構成され、
    前記プロセッサは、前記割込要求を受入れると、前記割込コントローラに、前記割込要求に対応する割込承認と、前記割込要求に対応する前記割込識別子とを送信するように構成されることを特徴とする、データ処理システム。
  2. 前記割込コントローラは、非同期インターフェースを介して前記プロセッサに接続され、
    前記非同期インターフェースは、前記割込要求と、前記割込識別子と、前記割込ベクトルと、前記割込承認とを提供するように構成される、
    請求項1記載のデータ処理システム。
  3. 前記プロセッサは、前記割込要求を受入れる場合には、割込取得/非取得表示子をアサートすることによって、前記プロセッサが前記割込要求を受入れたことを表示し、
    前記割込取得/非取得表示子は、前記プロセッサから前記割込コントローラに送信される、
    請求項1記載のデータ処理システム。
  4. 前記プロセッサは、前記割込要求を受入れない場合には、前記割込取得/非取得表示子をネゲートすることによって、前記プロセッサが前記割込要求を受入れないことを表示する、
    請求項3記載のデータ処理システム。
  5. 前記プロセッサは、割込ソースから前記割込要求を受信すると、前記割込要求に優先権を割り当て、且つ前記割込ベクトルを前記割込要求に割り当て、且つ前記割込要求の状態をペンディング状態に設定し、
    前記割込コントローラは、ペンディング状態の他の割込要求と比較して、前記割込要求が最優先割込要求である場合に、前記プロセッサに、前記割込要求と、前記割込識別子と、前記割込ベクトルとを提供する、
    請求項1記載のデータ処理システム。
  6. 前記割込要求が前記最優先割込要求の場合に、前記割込コントローラは、前記割込識別子を生成し、且つ前記割込識別子を未処理割込要求キューに格納する、
    請求項5記載のデータ処理システム。
  7. 前記割込要求が前記最優先割込要求の場合に、前記割込コントローラは、前記割込ソースに対応するソース識別子を、前記未処理割込要求キュー内に格納することを特徴とする、
    請求項6記載のデータ処理システム。
  8. 前記割込コントローラは、前記プロセッサから前記割込承認と前記割込識別子とを受信すると、前記割込識別子を使用することによって、前記割込識別子に一致する、前記未処理割込要求キュー内の一致エントリを特定する、
    請求項6記載のデータ処理システム。
  9. 前記割込コントローラは、前記プロセッサから前記割込承認と前記割込識別子を受信すると、状態更新表示子を提供することによって、前記ペンディング状態を実行中状態に変更する、
    請求項8記載のデータ処理システム。
  10. 前記割込コントローラは、第1クロックに従って動作し、
    前記プロセッサは、第2クロックに従って動作し、
    前記第1クロックは、前記第2クロックに対する任意の位相と周波数の関係を有する、
    請求項1記載のデータ処理システム。
  11. プロセッサを有するデータ処理システム内の処理方法であり、
    前記プロセッサに、割込要求と、前記割込要求に対応する割込識別子と、前記割込要求に対応する割込ベクトルとを送信するステップと;
    前記プロセッサが前記割込要求を受入れる場合に、前記プロセッサから、前記割込要求と前記割込識別子とに応じる割込承認を受信するステップと
    を有する、プロセッサを有するデータ処理システム内の処理方法。
  12. 前記プロセッサに送信する前に、前記処理方法はさらに、
    割込ソースから、前記割込要求を受信するステップと;
    前記割込要求に、優先権と前記割込ベクトルとを割り当てるステップと;
    前記割込要求の状態を、ペンディング状態に設定するステップと;
    前記プロセッサへのペンディング状態の複数の前記割込要求をソートすることによって、最優先割込要求を識別するステップと
    を有し、
    前記割込要求が最優先割込要求として識別された時に、前記プロセッサへの送信は実行される、
    請求項11記載の処理方法。
  13. 前記処理方法はさらに、前記割込要求が前記最優先割込要求として識別された時に、前記割込識別子を生成し、且つ未処理割込要求キューの第1エントリに前記割込識別子を格納するステップを有する、
    請求項12記載の処理方法。
  14. 前記処理方法はさらに、前記割込要求が前記最優先割込要求として識別された時に、前記割込ソースに対応するソース識別子を、前記第1エントリに格納するステップを有する、
    請求項13記載の処理方法。
  15. 前記処理方法はさらに、前記プロセッサから前記割込承認と前記割込識別子とを受信した後、前記割込識別子を使用することによって、前記割込識別子に一致する、前記未処理割込要求キュー内の一致エントリを特定するステップを有する、
    請求項13記載の処理方法。
  16. 前記処理方法はさらに、前記一致エントリが特定された時に、前記割込要求の前記ペンディング状態を実行中状態に変更し、且つ前記一致エントリを前記未処理割込要求キューから除去するステップを有する、
    請求項15記載の処理方法。
  17. 前記処理方法はさらに、前記プロセッサから割込取得/非取得表示子を受信するステップを有し、
    前記プロセッサは、前記割込取得/非取得表示子をアサートすることによって、前記プロセッサが前記割込要求を受入れたことを表示し、
    前記プロセッサは、前記割込取得/非取得表示をネゲートすることによって、前記割込要求を受入れなかったことを表示する、
    請求項11記載の処理方法。
  18. プロセッサを有するデータ処理システム内の処理方法であり、
    第1割込ソースから第1割込要求を受信するステップと;
    前記第1割込要求の状態をペンディング状態に設定するステップと;
    前記第1割込要求に対応する第1割込要求識別子を生成するステップと;
    前記第1割込要求識別子を、未処理割込要求キューに格納するステップと;
    前記プロセッサに、前記第1割込要求と、前記第1割込要求識別子と、前記第1割込要求に対応する第1割込ベクトルとを提供するステップと;
    前記プロセッサが前記第1割込要求を受入れた時に、前記第1割込要求と前記第1割込識別子とに対応する第1割込承認を、前記プロセッサから受信するステップと
    を有する、プロセッサを有するデータ処理システム内の処理方法。
  19. 前記処理方法はさらに、
    前記プロセッサから前記第1割込承認と前記第1割込識別子とを受信後に、前記第1割込識別子に一致する、前記未処理割込要求キュー内の一致エントリを特定するために、前記第1割込識別子を使用するステップと;
    前記一致エントリが特定された時、前記ペンディング状態を実行中状態に変更するステップと
    を有する、
    請求項18記載の処理方法。
  20. 前記処理方法はさらに、プロセッサからの受信前に、
    第2割込ソースから、第2割込要求を受信するステップと;
    前記第2割込要求の状態をペンディング状態に設定するステップと
    を有し、
    前記第2割込要求が前記第1割込要求よりも優先する場合に、前記処理方法はさらに、
    前記第2割込要求に応じる第2割込識別子を生成するステップと;
    前記第2割込要求を、前記未処理割込要求キューに格納するステップと;
    前記第2割込要求と、前記第2割込識別子と、前記第2割込要求に応じる第2割込ベクトルとを、前記プロセッサに提供するステップと
    を有する、
    請求項18に記載の方法。
JP2011532106A 2008-10-14 2009-08-25 データ処理システムにおける割込承認 Expired - Fee Related JP5500741B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/250,682 2008-10-14
US12/250,682 US7849247B2 (en) 2008-10-14 2008-10-14 Interrupt controller for accelerated interrupt handling in a data processing system and method thereof
PCT/US2009/054850 WO2010044954A1 (en) 2008-10-14 2009-08-25 Interrupt acknowledgment in a data processing system

Publications (3)

Publication Number Publication Date
JP2012506091A true JP2012506091A (ja) 2012-03-08
JP2012506091A5 JP2012506091A5 (ja) 2012-09-27
JP5500741B2 JP5500741B2 (ja) 2014-05-21

Family

ID=42099921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011532106A Expired - Fee Related JP5500741B2 (ja) 2008-10-14 2009-08-25 データ処理システムにおける割込承認

Country Status (4)

Country Link
US (1) US7849247B2 (ja)
EP (1) EP2340480A4 (ja)
JP (1) JP5500741B2 (ja)
WO (1) WO2010044954A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014048965A (ja) * 2012-08-31 2014-03-17 Fujitsu Ltd 情報処理装置,処理方法及びプログラム
US9457322B2 (en) 2009-04-13 2016-10-04 Entegris, Inc. Porous composite membrane

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5322567B2 (ja) * 2008-10-02 2013-10-23 ルネサスエレクトロニクス株式会社 データ処理システム及び半導体集積回路
US8180944B2 (en) * 2009-01-26 2012-05-15 Advanced Micro Devices, Inc. Guest interrupt manager that records interrupts for guests and delivers interrupts to executing guests
US8458386B2 (en) 2010-12-07 2013-06-04 Apple Inc. Atomic interrupt masking in an interrupt controller to prevent delivery of same interrupt vector for consecutive interrupt acknowledgements
US8959270B2 (en) 2010-12-07 2015-02-17 Apple Inc. Interrupt distribution scheme
US8972642B2 (en) 2011-10-04 2015-03-03 Qualcomm Incorporated Low latency two-level interrupt controller interface to multi-threaded processor
US9229884B2 (en) * 2012-04-30 2016-01-05 Freescale Semiconductor, Inc. Virtualized instruction extensions for system partitioning
US9152587B2 (en) 2012-05-31 2015-10-06 Freescale Semiconductor, Inc. Virtualized interrupt delay mechanism
US9442870B2 (en) 2012-08-09 2016-09-13 Freescale Semiconductor, Inc. Interrupt priority management using partition-based priority blocking processor registers
US9436626B2 (en) 2012-08-09 2016-09-06 Freescale Semiconductor, Inc. Processor interrupt interface with interrupt partitioning and virtualization enhancements
FR2996935B1 (fr) * 2012-10-16 2016-01-15 Bull Sas Procede et dispositif de traitement d'interruptions dans un systeme multiprocesseur
US9009368B2 (en) 2012-10-23 2015-04-14 Advanced Micro Devices, Inc. Interrupt latency performance counters
FR3089322B1 (fr) * 2018-11-29 2020-12-18 St Microelectronics Rousset Gestion des restrictions d’accès au sein d’un système sur puce
EP3924818A1 (en) 2019-02-14 2021-12-22 International Business Machines Corporation Directed interrupt for multilevel virtualization
TWI727607B (zh) 2019-02-14 2021-05-11 美商萬國商業機器公司 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
TWI764082B (zh) 2019-02-14 2022-05-11 美商萬國商業機器公司 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品
WO2020164819A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt for multilevel virtualization with interrupt table
WO2020164935A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt virtualization with running indicator
TWI759677B (zh) * 2019-02-14 2022-04-01 美商萬國商業機器公司 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
JP7335339B2 (ja) 2019-02-14 2023-08-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 有向割り込みの仮想化方法、システム、プログラム
CN112559403B (zh) * 2019-09-25 2024-05-03 阿里巴巴集团控股有限公司 一种处理器及其中的中断控制器
US11630789B2 (en) * 2020-09-11 2023-04-18 Apple Inc. Scalable interrupts
US11934313B2 (en) 2021-08-23 2024-03-19 Apple Inc. Scalable system on a chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6182260A (ja) * 1984-09-05 1986-04-25 Fujitsu Ltd 入出力割込み制御方式
JPH07262023A (ja) * 1994-03-23 1995-10-13 Fujitsu Ltd 割込制御方式
JP2003281112A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd マルチプロセッサシステム
JP2009528598A (ja) * 2006-02-24 2009-08-06 クゥアルコム・インコーポレイテッド 2レベル割込サービスルーチン

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002877A (en) * 1994-03-23 1999-12-14 Fujitsu Limited Interrupt control method for controlling an interrupt from a peripheral device to a processor
US5905898A (en) 1994-05-31 1999-05-18 Advanced Micro Devices, Inc. Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
ATE245290T1 (de) 1994-05-31 2003-08-15 Advanced Micro Devices Inc Unterbrechungssteuerungsgeräte in symmetrischen mehrprozessorsystemen
US5721931A (en) * 1995-03-21 1998-02-24 Advanced Micro Devices Multiprocessing system employing an adaptive interrupt mapping mechanism and method
US5765195A (en) * 1995-12-08 1998-06-09 Ncr Corporation Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms
US5848279A (en) 1996-12-27 1998-12-08 Intel Corporation Mechanism for delivering interrupt messages
US5968159A (en) * 1997-09-12 1999-10-19 Infineon Technologies Corporation Interrupt system with fast response time
US6356354B1 (en) * 1998-09-18 2002-03-12 Hewlett-Packard Co. System having an arithmetic-logic circuit for determining the maximum or minimum of a plurality of codes
US6889279B2 (en) 2000-12-11 2005-05-03 Cadence Design Systems, Inc. Pre-stored vector interrupt handling system and method
US6880030B2 (en) * 2000-12-13 2005-04-12 Wind River Systems, Inc. Unified exception handling for hierarchical multi-interrupt architectures
US6813665B2 (en) * 2001-09-21 2004-11-02 Intel Corporation Interrupt method, system and medium
US7350005B2 (en) 2003-05-23 2008-03-25 Arm Limited Handling interrupts in a system having multiple data processing units
US7552236B2 (en) * 2005-07-14 2009-06-23 International Business Machines Corporation Routing interrupts in a multi-node system
JP4817834B2 (ja) * 2005-12-19 2011-11-16 ルネサスエレクトロニクス株式会社 割り込み制御装置及び割り込み制御方法
US7873770B2 (en) * 2006-11-13 2011-01-18 Globalfoundries Inc. Filtering and remapping interrupts
US7685347B2 (en) * 2007-12-11 2010-03-23 Xilinx, Inc. Interrupt controller for invoking service routines with associated priorities

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6182260A (ja) * 1984-09-05 1986-04-25 Fujitsu Ltd 入出力割込み制御方式
JPH07262023A (ja) * 1994-03-23 1995-10-13 Fujitsu Ltd 割込制御方式
JP2003281112A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd マルチプロセッサシステム
JP2009528598A (ja) * 2006-02-24 2009-08-06 クゥアルコム・インコーポレイテッド 2レベル割込サービスルーチン

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9457322B2 (en) 2009-04-13 2016-10-04 Entegris, Inc. Porous composite membrane
JP2014048965A (ja) * 2012-08-31 2014-03-17 Fujitsu Ltd 情報処理装置,処理方法及びプログラム

Also Published As

Publication number Publication date
WO2010044954A1 (en) 2010-04-22
EP2340480A4 (en) 2012-08-08
JP5500741B2 (ja) 2014-05-21
US20100095039A1 (en) 2010-04-15
EP2340480A1 (en) 2011-07-06
US7849247B2 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
JP5500741B2 (ja) データ処理システムにおける割込承認
KR101050554B1 (ko) 개발 인터페이스에 대한 적용성을 가진 데이터 처리 시스템내의 마스킹
US20040136241A1 (en) Pipeline accelerator for improved computing architecture and related system and method
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
EP1573515A2 (en) Pipeline accelerator and related system and method
US7827343B2 (en) Method and apparatus for providing accelerator support in a bus protocol
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
WO2004042562A2 (en) Pipeline accelerator and related system and method
EP2579164A1 (en) Multiprocessor system, execution control method, execution control program
US8583845B2 (en) Multi-processor system and controlling method thereof
EP3304331A1 (en) Single-chip multi-processor communication
US5596749A (en) Arbitration request sequencer
US7769937B2 (en) Data processing system with interrupt controller and interrupt controlling method
US10095643B2 (en) Direct memory access control device for at least one computing unit having a working memory
US6298394B1 (en) System and method for capturing information on an interconnect in an integrated circuit
EP0338564A2 (en) Microprogram branching method and microsequencer employing the method
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
KR102326892B1 (ko) 적응형 트랜잭션 처리 방법 및 이를 위한 장치
JP2001142869A (ja) システム集積回路
JP2020140380A (ja) 半導体装置及びデバッグシステム
US20110264829A1 (en) Data processing system having peripheral-paced dma transfer and method therefor
WO2000017756A1 (fr) Processeur de signaux
CN111399905B (zh) 运算方法、装置及相关产品
JP4233446B2 (ja) 集積回路装置
US11023241B2 (en) Systems and methods for selectively bypassing address-generation hardware in processor instruction pipelines

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140310

R150 Certificate of patent or registration of utility model

Ref document number: 5500741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees