JP4749556B2 - 割込強制レジスタを含む柔軟な割込コントローラ - Google Patents

割込強制レジスタを含む柔軟な割込コントローラ Download PDF

Info

Publication number
JP4749556B2
JP4749556B2 JP2001015501A JP2001015501A JP4749556B2 JP 4749556 B2 JP4749556 B2 JP 4749556B2 JP 2001015501 A JP2001015501 A JP 2001015501A JP 2001015501 A JP2001015501 A JP 2001015501A JP 4749556 B2 JP4749556 B2 JP 4749556B2
Authority
JP
Japan
Prior art keywords
interrupt
hardware
software
storage device
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001015501A
Other languages
English (en)
Other versions
JP2001229031A5 (ja
JP2001229031A (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 JP2001229031A publication Critical patent/JP2001229031A/ja
Publication of JP2001229031A5 publication Critical patent/JP2001229031A5/ja
Application granted granted Critical
Publication of JP4749556B2 publication Critical patent/JP4749556B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、一般に、割込コントローラに関し、さらに詳しくは、ソフトウェアによって制御される割込強制レジスタを含む割込コントローラに関する。
【0002】
【従来の技術】
割込は、ソフトウェアに現在の実行を変更させ、割込を「処理(service)」するタスクを実行させる機構を提供するために、コンピュータ・システムにおいて一般に用いられる。例えば、バッファに格納すべき有効なデータがシリアル・データ・インタフェース上で着信すると、このシリアル・データ・インタフェースは割込をアサート(assert)し、この割込は、処理されると、データを捕捉して、バッファに入れる。多くの場合、割込の処理の優先順位(prioritization)は重要となるが、これは多くの割込は、割込の処理に伴う待ち時間(latency)に対して耐性が限られている割込ソースに関連しているためである。例えば、シリアル・データ・インタフェース上のデータは限られた時間でのみ有効であり、そのためこの時間期間内で捕捉する必要がある。割込の処理は、割込処理ルーチン(interrupt service routine)または割込ハンドラ(interrupt handler)と一般に呼ばれるソフトウェア・ルーチンを利用することによって一般に達成される。
【0003】
典型的な従来の割込コントローラ・モジュールは、複数の割込ソースから割込要求を受信する。これらの要求は、各割込ソースに対応するビットを有する割込ソース・レジスタ(interrupt source register)に格納され、そのためどのソースが保留割込(pending interrupts)をアサートしているのかを判定するために割込ソース・レジスタを読み出すことができる。割込イネーブル・レジスタ(interrupt enable register)は、割込ソース・レジスタの個別ビット・マスキングが促進されるように、各潜在的な保留割込に対応するビットを格納する。割込保留レジスタ(interrupt pending register)の内容を形成するために、割込ソース・レジスタと割込イネーブル・レジスタの内容に対して論理積(AND)が実行される。従って、割込がアサートされ、マスク・レジスタによってイネーブルされると、割込保留レジスタ内のこの割込に対して論理1が生成される。中央処理ユニット(CPU)に送られる割込信号を生成するために、割込保留レジスタに対してビットワイズ論理和(logical bit-wise OR)が実行される。そのため、イネーブルされる任意の保留割込は、CPUに対する割込信号のアサートを強制する。
【0004】
割込信号がアサートされたことをCPUが検出すると、それに応答してどの割込処理ルーチンを実行すべきかを判断するために、割込保留レジスタを調べることができる。これは、割込優先順位を解決することからなり、ここで優先順位は割込保留レジスタ内の特定の割込のビット位置に基づくことができる。従って、割込保留レジスタ内のより上位のビットは、下位ビットに比べて高い優先順位を有することができる。割込ソース・レジスタおよび割込保留レジスタは読出し専用なので、このような従来の割込コントローラは、強制的にハードウェアに割込要求をアサートさせることによってのみ、ソフトウェア割込要求を生成できるという点で制限される。
【0005】
別の従来の割込コントローラについては、Connellらに発行された米国特許第5,459,872号(以下、「Connell特許」という)において説明されている。Connell特許は、複数のハードウェア割込ソースに対応する保留割込を格納する割込レジスタを含む割込コントローラについて説明する。また、割込レジスタを修正することによって、割込要求をアサートさせることができる制御ソフトウェアも含まれる。Connell特許の教示により、割込レジスタに格納されたハードウェア割込指標(hardware interrupt indications)を修正することによってソフトウェア割込を生成できるが、割込レジスタの内容を参照することによって、ハードウェア生成割込とソフトウェア生成割込とを区別するすべはない。さらに、Connell特許によって教示されるように割込コントローラによってサポート可能な異なる割込要求の数は、割込レジスタによってサポートされるハードウェア割込ソースの数に制限される。
【0006】
【発明が解決しようとする課題】
従って、ワードウェア割込とソフトウェア割込とを区別でき、しかもハードウェア割込要求およびソフトウェア割込要求の両方の一元的な処理を可能にする割込コントローラが必要とされる。
【0007】
【実施例】
本発明は、添付の実施例において一例として示され、制限するものではない。なお、同様な参照番号は同様な要素を表すものとする。
【0008】
当業者であれば、図面における要素は簡単・明瞭となるように図示されており、必ずしも縮尺通りではないことが理解されよう。例えば、図面における一部の要素の寸法は、本発明の実施例の理解を深めるために、他の要素に対して誇張されることがある。
【0009】
一般に、本発明は、割込強制レジスタを含む柔軟な割込コントローラを提供する。それぞれハードウェア・ソースによって現在アサートされているハードウェア割込は、割込コントローラに内蔵される割込ソース・レジスタに格納される。独立した割込強制レジスタは、現在保留中のソフトウェア割込を格納し、このソフトウェア割込は、データ処理システム内の中央処理ユニット(CPU)によってソフトウェア・ルーチンを実行することでアサートできる。一実施例では、割込ソース・レジスタ内の各ビット位置は、割込強制レジスタ内の対応するビット位置を有し、割込強制レジスタ内の各ビットは、割込ソース・レジスタ内の対応するビットと論理和(logical OR)がとられる。この論理和演算の結果は割込保留レジスタに格納され、割込保留レジスタの内容は、CPUに与えられる割込要求信号を生成するために、互いにビットワイズ論理和(bit wise OR)がとられる。
【0010】
本発明については、図1ないし図6を参照することによって理解を深めることができよう。図1は、中央処理ユニット(CPU)回路12と、メモリ回路14と、タイマ回路16と、シリアル回路18と、他の回路20と、システム統合回路(system integration circuit)22とを有し、これら全てがバス24によって互いに双方向結合されている、データ処理システム10を示す。
【0011】
CPU12は、一つまたはそれ以上の集積回路端子30を介してデータ処理システム10の外部に結合できる。メモリ14は、一つまたはそれ以上の集積回路端子32を介してデータ処理システム10の外部に結合できる。タイマ16は、一つまたはそれ以上の集積回路端子34を介してデータ処理システム10の外部に結合できる。シリアル回路18は、一つまたはそれ以上の集積回路端子36を介してデータ処理システム10の外部に結合できる。また、他の回路20は、一つまたはそれ以上の集積回路端子38を介してデータ処理システム10の外部に結合できる。システム統合回路22は、バス26を介してデータ処理システム10の外部に双方向結合される。システム統合回路22は、割込回路28を含む。割込回路28は、集積回路端子40を介してデータ処理システム10の外部に結合でき、またバス24を介してCPU12に結合できる。
【0012】
本発明のいくつかの実施例では、データ処理システム10は単一の集積回路上に形成されるデータ・プロセッサである。ある実施例では、データ処理システム10はシングル・チップ・マイクロコントローラである。別の実施例では、データ処理システム10は任意の種類の電気回路を利用して構築できる。メモリ14は、任意の種類のメモリでもよい。データ処理システム10の別の実施例は、それ以上の、それ以下の、あるいは異なるブロックの回路を含んでもよい。例えば、データ処理システム10の別の実施例は、メモリ14,タイマ16,シリアル18または他の回路20を有していなくてもよい。本発明のある実施例は、割込回路28をCPU12の一部として有してもよく、またシステム統合回路22を有しても、有していなくてもよい。
【0013】
集積回路端子30,32,34,36,38,40は、電気信号をデータ処理システム10とやり取りできる任意の種類の装置でもよい。例えば、集積回路端子30,30,34,36,38,40は集積回路ピン,半田バンプ,ワイヤ導体などでもよい。さらに、バス26は集積回路端子を介してデータ処理システム10と電気信号をやり取りできる。
【0014】
図2は、本発明の一実施例による図1の割込回路28の一部を示す。割込回路28は、割込ソース・レジスタ110,割込強制レジスタ120,割込イネーブル・レジスタ140,割込保留レジスタ160および論理ゲート131〜133,151〜153,172を含んで示される。本発明の一実施例では、割込ソース・レジスタ110,割込強制レジスタ120,割込イネーブル・レジスタ140および割込保留レジスタ160は、それぞれNビットを含み、Nは整数である。
【0015】
割込ソース・レジスタ110は、複数の入力を有する格納デバイスであり、これらの入力はデータ処理システム10が受信するハードウェア割込に対応する。これらのハードウェア割込は、集積回路端子40などの物理的な導体を介して受信でき、各ハードウェア割込102は特定のハードウェア生成割込ソースに対応する。割込ソース・レジスタ110は、物理的な導体を介して受信したハードウェア割込を選択的に格納し、各ハードウェア生成割込を所定の出力端子にて与える。
【0016】
割込ソース・レジスタ110は複数のトランスペアレント・ラッチ(transparent latch)を含んでもよく、各トランスペアレント・ラッチは一つのハードウェア割込102の値を格納し、また割込ソース・レジスタ110を読むことによってハードウェア割込ライン102に関連する値をアサートさせることができる。このようなトランスペアレント・ラッチは、ハードウェア割込102上の変化が、タイミング制約を違反せずに、割込回路28内の他の回路に伝搬することを保証するのに有用である。
【0017】
別の実施例では、割込ソース・レジスタ110は、各ハードウェア割込102についてフリップフロップなどの個別のビット・レジスタを含む。ハードウェア割込ソースが割込要求をアサートすると、このソースからのこの特定の割込要求に対応する割込ソース・レジスタ110内のビットがセットされる。好ましくは、割込ソース・レジスタ110は、読出し専用レジスタ(read-only register)として構築され、そのため、ソフトウェアは割込ソース・レジスタ110内の特定のビットをセット状態またはクリア状態に強制できない。
【0018】
割込強制レジスタ120は、一つまたはそれ以上の入力を介して複数のソフトウェア生成割込信号(ソフトウェア割込)104を受信する。各ソフトウェア割込104は、ハードウェア割込102とは異なるソースの、あるいは異なる種類の割込を表し、ソフトウェア生成割込のうちの少なくとも一つは、ハードウェア割込ソースとして指定されていないデータ処理システムの一部に対応する。ソフトウェア割込は、CPU12によってメモリ14に格納されたソフトウェアを実行することで生成される。
【0019】
割込強制レジスタ120は、各ソフトウェア割込104についてビット位置を含む格納デバイスである。割込強制レジスタ120を構成する格納デバイスは、割込ソース・レジスタ110の場合と同様に、ラッチまたはレジスタを含んでもよい。割込強制レジスタ120への書込みを実行することによってソフトウェア割込をアサートさせるために、割込強制レジスタ120は読出し/書込みレジスタ(read/write register)として構築してもよい。
【0020】
割込ソース・レジスタ110および割込強制レジスタ120の内容(それぞれ、ハードウェア生成割込信号およびソフトウェア生成割込信号)は、論理回路を利用して合成され、割込要求信号174を生成し、この割込要求信号174はCPU12に与えられ、データ処理システム10内で割込を発生させる。図2に示す実施例では、割込ソース・レジスタ110内の特定の位置におけるビットの値と、割込強制レジスタ120内の対応するビットの値との論理和をとるために、複数のORゲート131〜133が用いられる。従って、ORゲート131は、割込ソース・レジスタ110内の最下位ビット位置におけるビットと、割込強制レジスタ120の最下位位置のビットとの論理和をとる。なお、本発明は他の実施例でも実施でき、ここでは複数のORゲート131〜133は、割込ソース・レジスタ110内の特定の位置におけるビットの値と、必ずしも対応するビットではない割込強制レジスタ120内の値との論理和をとるために用いられる。
【0021】
データ処理システムに含まれる割込が非マスカブル(non-maskable)である実施例では、ORゲート131〜133の出力は割込保留レジスタ160に直接与えることができる。しかし、ある実施例では、個別の割込はマスカブルであるため、割込イネーブル・レジスタ140(これはマスク・レジスタともいう)および他のイネーブル回路は、データ処理システム内の潜在的な割込をイネーブルあるいはディセーブルするために用いられる。従って、ORゲート131〜133の出力は、対応する複数のANDゲート151〜153への入力として与えられる。各ANDゲート151〜153の他の入力は、割込イネーブル・レジスタ140内の対応するビット位置にて格納されたビット値である。そして、ANDゲート151〜153の出力は、割込保留レジスタ160に与えられる。従って、割込イネーブル・レジスタ140内でセットされたビットは、保留割込を割込保留レジスタ160に伝搬あるいは通過させることができる。好ましくは、割込イネーブル・レジスタ140は、データ処理システム内の読出し/書込みレジスタとして構築される。これにより、処理システム内で各割込の動的なマスキングが可能になる。
【0022】
読出し専用レジスタでもよい割込保留レジスタ160は、割込ソース・レジスタ110,割込強制レジスタ120および割込イネーブル・レジスタ140内の値の合成を格納する。割込保留レジスタ160内の各ビット位置についての値は、ORゲート172によって互いにビットワイズ論理和がとられ、CPU12に与えられる割込要求信号174を生成する。従って、割込保留レジスタ160内の任意のビットがセットされると、割込要求信号174はアサートされる。
【0023】
割込保留レジスタ160内のビット位置(格納位置)は、より上位のビット位置にてセットされたビットにより指示される割込が、割込保留レジスタ160内の下位ビット位置にてセットされたビットにより指示される割込よりも高い優先順位を有する割込に対応するように、優先順位方式と関連付けることができる。例えば、割込保留レジスタ160がNビットを含む場合、ビット位置0は最低優先順位の割込に対応し、一方、ビット位置N−1は最高優先順位を有する割込に対応する。ファインド・ファースト・ビット・セット命令(find first set instruction)を割込保留レジスタ160とともに利用して、最高優先順位を有する保留割込を判定できる。なお、割込保留レジスタ内の特定の格納位置に対する割込優先レベルの割当は、割込ソース・レジスタ110および割込強制レジスタ120内のビット位置がこのような優先順位に直接関連することを意味する。
【0024】
一実施例では、図2に示すような割込回路28は、ハードウェア割込に関連するソースがアクティブでなく、あるいはシステム内に存在しなくても、ハードウェア割込の存在をエミュレーションするために用いることができる。これは、エミュレーションすべきハードウェア割込が対応する割込ソース・レジスタ110内のビット位置に対応する割込強制レジスタ120内のビット位置を有するソフトウェア割込をアサートするために、ソフトウェアを利用することによって達成できる。
【0025】
ORゲート131〜133は割込ソース・レジスタ110に格納された値を、割込強制レジスタ120に格納された値と合成するので、割込強制レジスタ120内の特定のビット位置にてソフトウェア割込を強制することは、割込ソース・レジスタ110内の同じビット位置に対応する受信ハードウェア割込と同じように、ORゲート131〜133のうちの特定の一つで正の出力値を生成する。従って、複数のソフトウェア生成割込信号の一部には、ハードウェア割込を生成し、かつ対応する優先レベルを有する割込ソースからの割込を表すために利用できるように、優先レベルを割り当てることができる。このようなエミュレーションは、他の手段を介してハードウェア割込のアサートをシミュレーションすることが不可能であるデバッグ動作において、貴重である。
【0026】
割込回路28によって生成された割込要求174をCPU12が受信すると、一般に最初の動作手順は割込保留レジスタ160を読み出す。次に、ファインド・ファースト・セット・ビット機能を利用して、割込保留レジスタ160によって指示される最高優先順位を有する保留割込を判定でき、ここでビット位置は各保留割込の優先順位を決定する。次に、最高優先割込のビット位置は、ジャンプ・テーブルから割込処理ルーチンに対応してフェッチされるベクトルを判定するために用いられる。フェッチされたベクトルは、CPUが、一般にメモリ14に格納される適切な割込処理ルーチンを実行することを可能にする。割込処理ルーチンの実行は、この割込処理ルーチンの実行をトリガした割込がデアサート(deassert)されるべく、完了時にシステムの状態が変更できように実施される。
【0027】
CPU12による割込の処理について説明した優先順位方式の維持を促進にするため、現在処理中の割込と同じまたは低い優先順位を有する割込は、(割込イネーブル・レジスタ140を利用して)一般にマスクオフ(mask off)され、低い優先割込をアサートしても、CPU12への追加の割込要求は生成されない。このようなCPU12への追加割込要求により、CPU12は割込保留レジスタ160を読み出して、新たに受信した割込の優先順位について判定を行うが、これは高優先割込処理ルーチンの実行の速度および効率を劣化させる。しかし、高優先割込が受信されると(この割込はマスクオフされない)、CPUは高優先割込の処理に切り替え、処理中だった割込の処理の完了を遅らせる。
【0028】
図3は、本発明の教示の一部の理解を助けるために用いられる割込ソース・レジスタ200および割込強制レジスタ201の例を示す。割込ソース・レジスタ200は、6ビット(位置0〜5)を含んで示される。割込ソース・レジスタ200のビット位置1,3,5は、特定のハードウェア割込に対応して示される。ビット位置1はパラレル入出力(I/O)割込に対応し、ビット位置3はタイマ割込に対応し、ビット位置5はUART(universal asynchronous receiver-transmitter)シリアル通信ポートに対応して示される。図3に示すこの一例の割込ソース・レジスタ200では、UARTは割込処理について最高優先順位を有すると想定される。従って、パラレルI/O割込は最低優先レベルを有する。
【0029】
UART割込の処理により、UARTシリアル・インタフェース上のデータは捕捉され、処理システム内のバッファに格納される。ある場合には、このデータをバッファに格納することに応答して、UARTデータの展開(decompression)などのバックエンド処理が必要なこともある。このようなバックエンド処理を促進するために、ソフトウェアはソフトウェア割込をアサートして、このようなバッファに格納されるデータの展開が必要なことを指示する。
【0030】
通常動作では、UART割込の処理によってバッファに入れられたデータが、バッファが閾値レベル以上に満杯にならないことを保証するレートで展開されると、バッファされたUARTデータの処理への要求に対応するソフトウェア割込の優先順位は一般に低い優先順位である。これは、図3の割込強制レジスタ201について示されており、ここでUARTバッファ低優先指標は、割込強制レジスタ201内のビット位置2に対応して示されている。この優先レベルのソフトウェア割込を利用して、UARTバッファの処理を要求すると、その処理はより高い優先順位を有する割込の不在に基づいて条件付けられる。このような高優先割込の一つとして、ハードウェア・タイマ割込がある。ハードウェア・タイマ割込は優先レベル3を有し、これはUARTバッファ低優先割込要求のレベル2優先順位よりも高い優先順位である。
【0031】
ある場合には、UARTバッファの処理を高い優先順位に格上げすべきことをCPUが検出することがある。これは、UARTハードウェア割込の処理が大量のデータをUARTバッファにダンプして、タイマによって発行される割込などより高優先順位の割込の処理がUARTバッファ・オーバフローの危険を生じる場合に、発生することがある。
【0032】
データ損失を防ぐために、UARTバッファの処理の優先順位は、割込強制レジスタ201内のUARTバッファ高優先指標によって指示されるようなより高い優先順位に格上げできる。UARTバッファ高指標は優先レベル4に対応し、これは割込ソース・レジスタ200内のタイマよりも高い優先順位である。従って、タイマと、より高い優先レベルでのUARTバッファの処理の両方について割込が保留中の場合、UARTバッファが優先して処理される。
【0033】
CPUは、UARTバッファの内容が優先順位について格上げを必要とするかどうかについて判断できる。UARTバッファ低またはUARTバッファ高優先レベルのいずれかの割込に基づいて、UARTバッファの処理を促進するために、図4に示すジャンプ・テーブル210を利用できる。ジャンプ・テーブル210は、レベル2優先割込に対応するポインタ212を格納する。ポインタ212は、UARTバッファを処理させる割込処理ルーチン220を指す。同様に、ジャンプ・テーブル210は、レベル4優先割込に対応するポインタ214を格納する。ポインタ214も、UARTバッファを処理させる割込処理ルーチン220を指す。
【0034】
CPU12が割込要求174を受信すると、割込保留レジスタ160を読み出して、現在の最高優先保留割込を確認する。この現在の最高優先保留割込がレベル2またはレベル4優先割込である場合、ジャンプ・テーブル210は、UARTバッファが処理されるように、割込処理ルーチン220へのポインタを取得すべく参照される。なお、ジャンプ・テーブル210は、割込ソース・レジスタ200について説明したハードウェア割込に対応する各優先レベルにおけるポインタも格納する。
【0035】
図5は、図3について説明したのと同様なシナリオに対応する割込ソース・レジスタ300および割込強制レジスタ301を示す。図5に関連する例では、アラーム・クロックに対応する追加のハードウェア割込は、アラーム・クロックが割込優先レベル4を有するように、割込ソース・レジスタ300に関連して示されている。割込強制レジスタ301について図示するように、通常UARTバッファは、レベル2優先順位であるUARTバッファ低優先レベルに基づいて処理される。UARTバッファが不適切に処理されており、その処理レベルを向上させるために関連するより高い優先レベルを有する必要があるとCPUが判断した場合、通常のUARTバッファ低優先割込ではなく、UARTバッファ高優先レベルに対応するソフトウェア割込をアサートできる。しかし、UARTバッファ高優先割込は、アラーム・クロックに対応するハードウェア割込と同じ優先順位であることが明らかである。両方はレベル4優先割込を有する。
【0036】
レベル4割込に応答してCPUに適切な割込処理ルーチンを実行させるために、図6に示すジャンプ・テーブル310は、追加の判定を含む割込処理ルーチン330へのポインタ314を含む。この割込処理ルーチン330は、割込強制レジスタ(IFR)301を読み出して、割込強制レジスタ301内のレベル4優先ビットがセットされているかどうかを判定する判定ステップ332を含む。レベル4優先に対応するビットが割込強制レジスタ301内でセットされていると判断すると、ステップ334に進み、ここでUARTバッファが処理される。
【0037】
割込強制レジスタ301内のレベル4優先ビットがセットされていないと判断されると、レベル4優先割込は、アラーム・クロックによる割込アサートによって生じたに違いない。なぜならば、レベル4優先割込は、割込ソース・レジスタ300および割込強制レジスタ301のレベル4優先ビットの論理和から生じるためである。割込強制レジスタ301内のレベル4優先ビットがセットされていないと判断し、アラーム・クロックが割込をアサートしたことを示すと、割込処理ルーチンは、アラーム・クロックが処理されるように、ステップ336を実行する。
【0038】
なお、ポインタ314に対応する割込処理ルーチン330は、アラーム・クロックからのハードウェア割込に対応する割込ソース・レジスタ300のレベル4優先割込よりも、ソフトウェア割込に対応する割込強制レジスタ301のレベル4優先割込を本質的に優先する。これは、割込処理ルーチン330は、割込強制レジスタ301の検査に基づいて、どの割込を処理すべきかを判定するという事実に起因する。アラーム・クロック・ハードウェア割込と、UARTバッファ高優先ソフトウェア割込の両方が同時に保留中である場合、割込強制レジスタ301の検査によって、UARTバッファ高優先ソフトウェア割込が保留中であることが判明し、そのため割込処理ルーチン330はステップ334に進んで、このUARTバッファを処理する。従って、アラーム・クロックがUARTバッファ高優先ソフトウェア割込と同じ優先レベルを有することが示されても、割込処理ルーチン330は、判定ステップ332の実行によって、UARTバッファ高優先ソフトウェア割込に対して追加の優先順位を与える。
【0039】
別の割込処理ルーチン340は、割込処理ルーチン340内の判定ステップの固有の優先順位は、アラーム・クロックに対応するハードウェア割込を優先するという点を除いて、割込処理ルーチン330と同様な結果を与える。ジャンプ・テーブル310は、ソフトウェア割込を優先する割込処理ルーチン330へのポインタ314を格納でき、あるいはハードウェア割込を優先するポインタ316を格納できる。
【0040】
割込処理ルーチン340は、割込ソース・レジスタ300を読出し、アラーム・クロック・ハードウェア割込に対応する割込ソース・レジスタ300内のレベル4優先ビットがセットされているかどうかを判定することによって開始する。割込ソース・レジスタ300内のレベル4優先ビットがセットされていない場合、割込強制レジスタ301内のレベル4優先ビットがセットされているとCPUは判断し、従ってUARTバッファがステップ346にて処理される。割込ソース・レジスタ300内のレベル4優先ビットがセットされていると判断されると、ステップ344にてアラーム・クロックが処理される。
【0041】
なお、ジャンプ・テーブル310は、割込処理ルーチン320を指すレベル2優先割込に対応するポインタ312を格納することを留意されたい。割込処理ルーチン320は、UARTバッファを処理させる。割込処理ルーチン320を実行するのに、判定は必要ない。なぜならば、システム内で発生できるのは一つのレベル2優先割込しかないためである。これは、UARTバッファ低優先ソフトウェア割込である。割込ソース・レジスタ300は、レベル2優先ビット位置に対応するハードウェア割込を有さずに示されている。
【0042】
図2に示す割込回路28は、同様な優先レベルのハードウェア割込およびソフトウェア割込の両方をデータ処理システム内で共存させることができる。これは、従来の割込ハンドラに比べて、割込保留レジスタによってサポートされる潜在的な割込の数を実質的に2倍にする。従って、割込保留レジスタは、N個の優先レベルに対応するN個のビット位置を含むことができ、ここでこれらのビット位置の任意の一つにおけるセット値は、この優先レベルのハードウェア割込またはこの優先レベルのソフトウェア割込に対応することができる。割込保留レジスタ160内の値がソフトウェア生成割込またはハードウェア生成割込に起因するのかを確認するために、一つまたはそれ以上の割込ソース・レジスタ110および割込強制レジスタ120を参照できる。
【0043】
割込ソース・レジスタ110によって受信されるハードウェア割込は、割込ソース・レジスタ110に結合された物理的な導体上で受信される信号に基づくので、これらの物理的な導体上で受信される割込の割込優先レベルは、物理的導体が対応する特定のビット位置に基づいて永久に割り当てられるか、固定される。しかし、割込強制レジスタ120に与えられるソフトウェア割込に関連する優先レベルは、ソフトウェア制御に基づいて変更できる。
【0044】
上記の例で説明したように、ソフトウェア割込の優先レベルの制御は、特定の優先レベルのソフトウェア割込が検出されたときに、実行すべきこの特定のソフトウェア割込に対応する割込処理ルーチンにジャンプ・テーブルが命令するように、ジャンプ・テーブルを修正することによって達成される。従って、UARTバッファの処理に対応するソフトウェア割込は、最初は優先レベル2であり、ジャンプ・テーブルは、レベル2優先ソフトウェア割込がUARTバッファを処理させるべきである旨の指標を格納する。UARTバッファをより高い割込優先レベルで処理すべきであるとCPUがその後判断した場合、以降のUARTバッファ・ソフトウェア割込は、優先レベル2よりも高い優先順位を有する割込強制レジスタ内のビットをセットすることによって、アサートできる。より高い優先ソフトウェア割込がUARTバッファの所望の処理となることを保証するために、ジャンプ・テーブルは、高優先レベルに対応するソフトウェア割込の結果、UARTバッファを処理する割込処理ルーチンが実行されるように構築される。
【0045】
割込優先レベルをデータ処理システムの必要性に適応させるために図2の割込回路28の柔軟性を利用する別の用途では、受信したハードウェア割込の有効な優先レベルを変更できる。例えば、より高い優先順位の以降に受信した割込によって割り込ませずに、CPUが処理すべきと判断した低優先のハードウェア割込を受信すると、CPUはより高い優先レベルのソフトウェア割込をアサートできる。このより高い優先順位のソフトウェア割込は、ジャンプ・テーブルの構築に基づいて、低優先ハードウェア割込と同様な割込処理ルーチンの実行をトリガする。高優先ソフトウェア割込が処理中である場合、低優先割込はマスクオフされ、そのため低優先ハードウェア割込によって当初指定された割込処理ルーチンの実行は割り込めないことを保証する。
【0046】
同様に、受信したハードウェア割込の割込処理ルーチンの実行の優先順位は実質低に格下げできる。これは、高優先ハードウェア割込の受信に応答して、低優先ソフトウェア割込をアサートすることによって達成される。低優先ソフトウェア割込がアサートされると、割込イネーブル・レジスタ140は、有効的な優先順位が修正される高優先レベルのハードウェア割込に対応する優先レベルをマスクオフするために利用できる。そのため、保留中のハードウェア割込はCPUによって無視され、高レベルのハードウェア割込の当初の受信に応答して生成された低レベルのソフトウェア割込は、その低優先レベルに基づいて処理される。
【0047】
上記のデータ処理システムにおける割込処理の優先順位の動的な変更は、データ処理システムが全体的な性能を向上させるために柔軟に適応することを可能にする。ジャンプ・テーブルおよび割込強制レジスタのソフトウェア構築能力とともにイネーブル・レジスタのマスキング機能を利用することによって、従来のシステムでは不可能だった、さまざまな優先順位の変更が可能になる。
【0048】
上記の明細書では、特定の実施例を参照して、本発明について説明した。ただし、当業者であれば、特許請求の範囲に規定される本発明の範囲から逸脱せずに、さまざまな修正および変更が可能なことが理解されよう。従って、明細書および図面は、制限的な意味ではなく、例示的な意味でみなすものとし、一切のかかる修正は本発明の範囲に含まれるものとする。
【0049】
特定の実施例について、効果,他の利点および課題の解決を説明した。ただし、効果,利点,課題の解決および任意の効果,利点または解決を生じせしめる、あるいはより明確にせしめる任意の要素は、任意あるいは全ての請求項の重要,必要もしくは不可欠な特徴または要素としてみなされるものではない。本明細書において、「構成する(comprise)」という用語およびその任意の変形は、非包括的な含有を表すものとし、要素のリストを構成するプロセス,方法,物品または装置は、これらの要素のみを含むのではなく、明示的にリスとされていない、あるいはかかるプロセス,方法,物品または装置に固有に備わっていない他の要素を含むことができる。
【図面の簡単な説明】
【図1】本発明の特定の実施例によるデータ処理システムのブロック図を示す。
【図2】本発明の特定の実施例による図1の割込回路の一部のブロック図を示す。
【図3】本発明の特定の実施例による割込ソース・レジスタおよび割込強制レジスタのブロック図を示す。
【図4】本発明の特定の実施例によるジャンプ・テーブルおよび関連ポインタのブロック図を示す。
【図5】本発明の別の実施例による別の割込ソース・レジスタおよび割込強制レジスタを示す。
【図6】本発明の別の実施例による別のジャンプ・テーブルおよび関連ポインタのブロック図を示す。
【符号の説明】
10 データ処理システム
12 中央処理ユニット(CPU)回路
14 メモリ回路
16 タイマ回路
18 シリアル回路
20 他の回路
22 システム統合回路
24,26 バス
28 割込回路
30,32,34,36,38,40集積回路端子
102 ハードウェア割込
104 ソフトウェア割込
110 割込ソース・レジスタ
120 割込強制レジスタ
131,132,133 ORゲート
140 割込イネーブル・レジスタ
151,152,153 ANDゲート
160 割込保留レジスタ
172 ORゲート
174 割込要求信号
200 割込ソース・レジスタ
201 割込強制レジスタ
210 ジャンプ・テーブル
212,214 ポインタ
220 割込処理ルーチン
300 割込ソース・レジスタ
301 割込強制レジスタ
310 ジャンプ・テーブル
312,314,316 ポインタ
320,330,340 割込処理ルーチン

Claims (5)

  1. データ処理システムにおいて割込を実施する方法であって、前記データ処理システムは、複数の入力を有する第1格納デバイスであって、前記複数の入力のそれぞれは、選択的にハードウェア割込を生成する複数のハードウェア生成割込ソースのうちの一つにそれぞれ物理的導体によって結合されている、前記第1格納デバイスと、複数の入力を有する第2格納デバイスと、前記第1格納デバイスおよび前記第2格納デバイスに結合された論理回路と、処理回路とを備え、前記方法は、
    前記第1格納デバイスが、前記ハードウェア割込を選択的に格納し、かつ一つまたはそれ以上のハードウェア生成割込信号を与える段階と、
    前記第2格納デバイスが、前記複数の入力のそれぞれを介して、複数のソフトウェア生成割込信号のうちの所定の一つを受信・格納し、一つまたはそれ以上のソフトウェア割込信号を与える段階であって、前記複数のソフトウェア生成割込信号の各々は、前記ハードウェア割込とは異なるソースからの、あるいは異なる種類の割込を指示する、前記一つまたはそれ以上のソフトウェア割込信号を与える段階と、
    前記論理回路が、前記一つまたはそれ以上のハードウェア生成割込信号および前記一つまたはそれ以上のソフトウェア割込信号を受信して、前記データ処理システムにおいて割込を生じさせる割込要求信号を生成する段階と、
    前記第1格納デバイスおよび前記第2格納デバイスの複数の格納位置に割込優先レベルが割り当てられ、前記第1格納デバイスに結合された前記複数のハードウェア生成割込ソースの割込優先レベルは不変的に割り当てられており、
    前記処理回路が、特定のソフトウェア生成割込信号の格納を、前記第2格納デバイス内の第1の割込優先レベルが割当てられた第1の格納位置から前記第1の割込優先レベルよりも高い第2の割込優先レベルが割当てられた第2の格納位置に変更する段階と
    を備えることを特徴とする方法。
  2. 第1割込はハードウェア生成であり、第2割込はソフトウェア生成である、2つの割込が同じ優先レベルを有する場合に、前記処理回路が前記ハードウェア生成第1割込または前記ソフトウェア生成第2割込のうち一方を処理するべく選択することによって、2つの割込間の優先順位を決定する段階;
    をさらに含んで構成されることを特徴とする請求項1記載の方法。
  3. 割込制御回路を有するデータ処理システムであって、
    複数のハードウェア割込ソースと、
    複数の入力を有するハードウェア割込格納デバイスであって、前記複数の入力のそれぞれは、複数のハードウェア割込ソースの一つに導電体によって結合され、前記ハードウェア割込格納デバイスは、ハードウェア生成割込を格納し、各前記ハードウェア生成割込を所定の出力端子にて与える、ハードウェア割込格納デバイスと、
    複数の入力を有するソフトウェア割込格納デバイスであって、前記複数の入力のそれぞれを介して複数のソフトウェア生成割込信号のうちの所定の一つを受信・格納し、前記複数のソフトウェア生成割込信号の各々は、前記ハードウェア割込とは異なるソースからの、あるいは異なる種類の割込を指示するソフトウェア割込格納デバイスと、
    前記ハードウェア割込格納デバイスおよび前記ソフトウェア割込格納デバイスに結合され、ハードウェア生成割込またはソフトウェア生成割込のいずれかの受信に応答してデータ処理システム割込信号を生成する論理回路と、
    第1割込がハードウェア生成であり、第2割込がソフトウェア生成である、2つの割込が同じ優先レベルを有する場合に、前記ハードウェア生成第1割込または前記ソフトウェア生成第2割込のうち一方を処理するべく選択することによって、前記2つの割込間の優先順位を決定する処理回路と
    を備え、
    前記ハードウェア割込格納デバイス及び前記ソフトウェア割込格納デバイスは、複数の格納位置に割り当てられた割込優先レベルを有し、前記ハードウェア割込ソースの割込優先レベルは不変的に割り当てられており、
    前記処理回路は、特定のソフトウェア生成割込信号の格納を、ソフトウェア割込格納デバイス内の第1の割込優先レベルが割当てられた第1の格納位置から前記第1の割込優先レベルよりも高い第2の割込優先レベルが割当てられた第2の格納位置に変更する、ことを特徴とするデータ処理システム。
  4. データ処理システムにおいて割込を実施する方法であって、前記データ処理システムは、複数の入力を有する第1格納デバイスであって、前記複数の入力のそれぞれは、選択的にハードウェア割込を生成する複数のハードウェア生成割込ソースのうちの一つにそれぞれ物理的導体によって結合されている、前記第1格納デバイスと、一つまたはそれ以上の入力を有する第2格納デバイスと、前記第1格納デバイスおよび前記第2格納デバイスに結合された論理回路と、処理回路とを備え、前記方法は、
    前記第1格納デバイスが、前記ハードウェア割込を選択的に格納し、かつ一つまたはそれ以上のハードウェア生成割込信号を与える段階と、
    該第2格納デバイスが、前記一つまたはそれ以上の入力のそれぞれを介して、複数のソフトウェア生成割込信号のうちの所定の一つを受信・格納し、一つまたはそれ以上のソフトウェア割込信号を与える段階であって、前記複数のソフトウェア生成割込信号の各々は、前記ハードウェア割込とは異なるソースからの、あるいは異なる種類の割込を指示する、一つまたはそれ以上のソフトウェア割込信号を与える段階と、
    前記論理回路が、前記一つまたはそれ以上のハードウェア生成割込信号および前記一つまたはそれ以上のソフトウェア割込信号を受信して、前記データ処理システムにおいて割込を生じさせる割込要求信号を生成する段階と、
    前記処理回路が、所定のソフトウェア生成割込を与えることにより所定のハードウェア生成割込の優先レベルを変更する段階であって、前記所定のソフトウェア生成割込は、前記所定のハードウェア生成割込に対応するハードウェア生成割込ソースを表し、かつ前記所定のハードウェア生成割込とは異なる優先レベルを有する、前記変更する段階と
    を備えることを特徴とする方法。
  5. データ処理システムにおいて割込を実施する方法であって、前記データ処理システムは、その内部に格納された複数のハードウェア生成割込信号に対する割込処理の優先順位を表す第1の複数の優先格納位置を有する第1格納デバイスであって、前記第1格納デバイスは複数の入力を有し、前記複数の入力の各々は、選択的にハードウェア割込を生成する複数のハードウェア生成割込ソースに物理的導体によって結合されている、前記第1格納デバイスと、その内部に格納された複数のソフトウェア生成割込信号に対する割込処理の優先順位を表す第2の複数の優先格納位置を有するとともに、複数の入力を有する第2格納デバイスと、前記第1格納デバイスおよび前記第2格納デバイスに結合された論理回路と、処理回路を備え、前記方法は、
    前記第1格納デバイスが、前記ハードウェア割込を選択的に格納し、かつ一つまたはそれ以上のハードウェア生成割込信号を与える段階と、
    前記第2格納デバイスが、前記複数の入力の各々を介して、前記複数のソフトウェア生成割込信号のうちの所定の一つを受信・格納し、一つまたはそれ以上のソフトウェア生成割込信号を与える段階であって、前記所定のソフトウェア生成割込信号は、前記ハードウェア割込とは異なるソース、あるいは異なる種類の割込を指示する、一つまたはそれ以上のソフトウェア生成割込信号を与える段階と、
    前記処理回路が、前記データ処理システムでソフトウェアを実行して、前記複数のハードウェア生成割込ソースのうちの所定の一つをエミュレートする、当該所定のハードウェア生成割込ソースとは異なる優先順位を有する所定のソフトウェア生成割込信号を生成することにより、前記データ処理システムにおける割込処理の優先順位を動的に変更する段階と、
    前記論理回路が、前記一つまたはそれ以上のハードウェア割込信号および前記一つまたはそれ以上のソフトウェア生成割込信号を前記第1格納デバイス及び前記第2格納デバイスからそれぞれ受信して、前記データ処理システムにおいて割込を生じさせる割込要求信号を生成する段階と
    を備えることを特徴とする方法。
JP2001015501A 2000-01-24 2001-01-24 割込強制レジスタを含む柔軟な割込コントローラ Expired - Fee Related JP4749556B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US490132 2000-01-24
US09/490,132 US6845419B1 (en) 2000-01-24 2000-01-24 Flexible interrupt controller that includes an interrupt force register

Publications (3)

Publication Number Publication Date
JP2001229031A JP2001229031A (ja) 2001-08-24
JP2001229031A5 JP2001229031A5 (ja) 2008-03-06
JP4749556B2 true JP4749556B2 (ja) 2011-08-17

Family

ID=23946756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001015501A Expired - Fee Related JP4749556B2 (ja) 2000-01-24 2001-01-24 割込強制レジスタを含む柔軟な割込コントローラ

Country Status (5)

Country Link
US (1) US6845419B1 (ja)
JP (1) JP4749556B2 (ja)
KR (1) KR100734158B1 (ja)
CN (1) CN1251077C (ja)
TW (1) TW563029B (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
JP2004199187A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd Cpu内蔵lsi
US7739438B2 (en) * 2003-02-12 2010-06-15 Hewlett-Packard Development Company, L.P. Method for priority-encoding interrupts and vectoring to interrupt code
US7584316B2 (en) * 2003-10-14 2009-09-01 Broadcom Corporation Packet manager interrupt mapper
GB2409543B (en) * 2003-12-23 2006-11-01 Advanced Risc Mach Ltd Interrupt masking control
JP2005242806A (ja) * 2004-02-27 2005-09-08 Renesas Technology Corp データ処理装置
US7162559B1 (en) * 2005-03-08 2007-01-09 Emc Corporation System for controlling interrupts between input/output devices and central processing units
US20060256876A1 (en) * 2005-05-13 2006-11-16 Andre Szczepanek Fast Decode of Pending Interrupts
US7913255B2 (en) * 2005-10-20 2011-03-22 Qualcomm Incorporated Background thread processing in a multithread digital signal processor
CN100365604C (zh) * 2005-12-02 2008-01-30 北京中星微电子有限公司 一种中断控制处理装置和方法
CN100365605C (zh) * 2005-12-02 2008-01-30 北京中星微电子有限公司 多级中断申请装置和方法
CN100397375C (zh) * 2005-12-02 2008-06-25 北京中星微电子有限公司 多中断处理单元的中断处理的装置和方法
EP2225645B1 (en) 2007-12-17 2011-07-27 Continental Teves AG & Co. oHG Memory mapping system, request controller, multi-processing arrangement, central interrupt request controller, apparatus, method for controlling memory access and computer program product
US7793025B2 (en) * 2008-03-28 2010-09-07 Freescale Semiconductor, Inc. Hardware managed context sensitive interrupt priority level control
US8135884B1 (en) * 2009-05-04 2012-03-13 Cypress Semiconductor Corporation Programmable interrupt routing system
US8112551B2 (en) 2009-05-07 2012-02-07 Cypress Semiconductor Corporation Addressing scheme to allow flexible mapping of functions in a programmable logic array
JP4897851B2 (ja) * 2009-05-14 2012-03-14 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システム及びコンピュータ・システムの制御方法
US8135894B1 (en) * 2009-07-31 2012-03-13 Altera Corporation Methods and systems for reducing interrupt latency by using a dedicated bit
CN101699418B (zh) * 2009-10-30 2011-11-16 曙光信息产业(北京)有限公司 一种中断处理方法、系统及设备
CN102822802B (zh) * 2010-03-30 2016-08-03 富士通株式会社 多核处理器系统以及控制方法
US9645823B2 (en) 2011-03-03 2017-05-09 Hewlett-Packard Development Company, L.P. Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity
US8738830B2 (en) * 2011-03-03 2014-05-27 Hewlett-Packard Development Company, L.P. Hardware interrupt processing circuit
US9189283B2 (en) 2011-03-03 2015-11-17 Hewlett-Packard Development Company, L.P. Task launching on hardware resource for client
CN102314399A (zh) * 2011-07-07 2012-01-11 曙光信息产业股份有限公司 一种龙芯刀片设备中断分配的实现方法
US9146776B1 (en) * 2011-08-16 2015-09-29 Marvell International Ltd. Systems and methods for controlling flow of message signaled interrupts
US9367498B2 (en) * 2011-09-14 2016-06-14 Panasonic Intellectual Property Management Co., Ltd. Resource request arbitration device, resource request arbitration system, resource request arbitration method, integrated circuit, and program
US9128920B2 (en) 2011-11-30 2015-09-08 Marvell World Trade Ltd. Interrupt handling systems and methods for PCIE bridges with multiple buses
US8762615B2 (en) * 2011-12-21 2014-06-24 International Business Machines Corporation Dequeue operation using mask vector to manage input/output interruptions
KR101356541B1 (ko) * 2012-01-09 2014-01-29 한국과학기술원 멀티 코어 프로세서, 이를 포함하는 멀티 코어 시스템, 전자 장치 및 멀티 코어 프로세서의 캐시 공유 방법
CN102932599A (zh) * 2012-11-09 2013-02-13 北京百纳威尔科技有限公司 基于gpio模拟数据总线实现照相机功能的装置及方法
JP6056576B2 (ja) * 2013-03-18 2017-01-11 富士通株式会社 割り込み要因を特定する方法及び装置
US9665509B2 (en) * 2014-08-20 2017-05-30 Xilinx, Inc. Mechanism for inter-processor interrupts in a heterogeneous multiprocessor system
US10078605B2 (en) * 2014-10-22 2018-09-18 Cavium, Inc. Multiple-interrupt propagation scheme in a network ASIC
US10591892B2 (en) 2015-06-05 2020-03-17 Renesas Electronics America Inc. Configurable mapping of timer channels to protection groups
GB2550904B (en) * 2016-05-27 2020-07-15 Arm Ip Ltd Methods and Apparatus for Creating Module Instances
GB2561881A (en) * 2017-04-27 2018-10-31 Airbus Group Ltd Microcontroller
CN112130904B (zh) * 2020-09-22 2024-04-30 黑芝麻智能科技(上海)有限公司 处理系统、处理器间通信方法、以及共享资源管理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5057997A (en) * 1989-02-13 1991-10-15 International Business Machines Corp. Interruption systems for externally changing a context of program execution of a programmed processor
DE69231278T2 (de) 1992-01-02 2001-01-18 Amdahl Corp Anwendungs-software für hardware-unterbrechungen.
CA2123447C (en) * 1993-09-20 1999-02-16 Richard L. Arndt Scalable system interrupt structure for a multiprocessing system
US5671424A (en) 1994-02-02 1997-09-23 Advanced Micro Devices, Inc. Immediate system management interrupt source with associated reason register
US6185629B1 (en) * 1994-03-08 2001-02-06 Texas Instruments Incorporated Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time
JPH08272727A (ja) * 1995-03-29 1996-10-18 Oki Electric Ind Co Ltd システムイベント処理機構
KR960038390U (ko) * 1995-05-10 1996-12-18 인터럽트 처리장치
KR100206964B1 (ko) * 1996-11-19 1999-07-01 구본준 인터럽트 요구 선택회로
US5987601A (en) * 1997-02-14 1999-11-16 Xyron Corporation Zero overhead computer interrupts with task switching
US5937199A (en) * 1997-06-03 1999-08-10 International Business Machines Corporation User programmable interrupt mask with timeout for enhanced resource locking efficiency
FR2775370B1 (fr) * 1998-02-20 2001-10-19 Sgs Thomson Microelectronics Procede de gestion d'interruptions dans un microprocesseur
US6412081B1 (en) * 1999-01-15 2002-06-25 Conexant Systems, Inc. System and method for providing a trap and patch function to low power, cost conscious, and space constrained applications
GB2345992B (en) * 1999-03-10 2001-01-24 Elan Digital Systems Ltd Apparatus and method for handling peripheral device interrupts
US6625149B1 (en) * 1999-11-29 2003-09-23 Lucent Technologies Inc. Signaled receiver processing methods and apparatus for improved protocol processing
JP4693326B2 (ja) * 1999-12-22 2011-06-01 ウビコム インコーポレイテッド 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法

Also Published As

Publication number Publication date
CN1251077C (zh) 2006-04-12
KR20010074544A (ko) 2001-08-04
US6845419B1 (en) 2005-01-18
CN1309350A (zh) 2001-08-22
KR100734158B1 (ko) 2007-07-03
TW563029B (en) 2003-11-21
JP2001229031A (ja) 2001-08-24

Similar Documents

Publication Publication Date Title
JP4749556B2 (ja) 割込強制レジスタを含む柔軟な割込コントローラ
US6460107B1 (en) Integrated real-time performance monitoring facility
KR0168656B1 (ko) 데이터 처리 시스템
US4181934A (en) Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US5717851A (en) Breakpoint detection circuit in a data processor and method therefor
US6959367B2 (en) System having read-modify-write unit
US5862148A (en) Microcontroller with improved debug capability for internal memory
JPH11219302A (ja) デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置
WO1999056217A1 (en) Interrupt controller
KR100313939B1 (ko) 인터럽트제어기
US5168559A (en) Emulation system capable of complying with microcomputers having different on-chip memory capacities
US6986028B2 (en) Repeat block with zero cycle overhead nesting
CN114003365A (zh) 用于risc-v架构的快速中断系统
US6842812B1 (en) Event handling
US7870311B2 (en) Preemptive packet flow controller
KR950009271B1 (ko) 정보처리시스템
US6449675B1 (en) Multifield register having a selection field for selecting a source of an information field
US6734984B2 (en) System having an arithmetic-logic circuit for determining the maximum or minimum of a plurality of codes
US6112274A (en) Method and apparatus for processing more than one interrupts without reinitializing the interrupt handler program
US7035908B1 (en) Method for multiprocessor communication within a shared memory architecture
JPH07311686A (ja) コンピュータシステム、およびその中でシステム管理割込を発生し処理するための方法
US5826047A (en) Method and apparatus for external viewing of an internal bus
US6742073B1 (en) Bus controller technique to control N buses
US7203786B2 (en) Error-flagging apparatus, systems, and methods
EP0335502A2 (en) Microcontroller and associated method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110518

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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