JP2006172196A - 割込みコントローラ - Google Patents

割込みコントローラ Download PDF

Info

Publication number
JP2006172196A
JP2006172196A JP2004364699A JP2004364699A JP2006172196A JP 2006172196 A JP2006172196 A JP 2006172196A JP 2004364699 A JP2004364699 A JP 2004364699A JP 2004364699 A JP2004364699 A JP 2004364699A JP 2006172196 A JP2006172196 A JP 2006172196A
Authority
JP
Japan
Prior art keywords
interrupt
register
factor
address
interrupt factor
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
JP2004364699A
Other languages
English (en)
Other versions
JP4865213B2 (ja
Inventor
Takayuki Nagashima
孝幸 長島
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2004364699A priority Critical patent/JP4865213B2/ja
Publication of JP2006172196A publication Critical patent/JP2006172196A/ja
Application granted granted Critical
Publication of JP4865213B2 publication Critical patent/JP4865213B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】CPUによる割込み要因特定を簡素化する。
【解決手段】例えば、第1の機能モジュールが割込みを発行し、この割込みが有効になっているとすると、シーケンサ11は、割込み要因バッファの先頭アドレス0x0100_0000に第1の機能モジュールの識別情報をライトして、次に、割込み要因アドレス#1である、0x1B03_0040番地からデータをリードして、0x0100_0004番地にライトする。さらに、該リード値を割込み要因アドレス#1である、0x1B03_0040番地にライトして、第1の機能モジュールの割込み要因をクリアした後に、第1の機能モジュールに対応するシーケンス終了信号をアクティブにして、レジスタ13および割込み発行部14に通知する。ステータスレジスタのビット0が“1”に変化すると、割込み発行部14は、割込み信号線7をアクティブにして割込みを発行する。
【選択図】図2

Description

本発明は、複数の機能モジュールがそれぞれ発生した割込みを処理して、CPUに伝達する割込みコントローラに関する。
システムLSI(Large Scale Integrated Circuit)は、通常、CPU(Central Processing Unit)と複数の機能モジュールとを備えている。そして、半導体技術やシステム開発・検証技術の進歩に支えられて、より多くの機能モジュールを搭載する大規模なシステムLSIが作られるようになってきた。
CPUコアの割込み信号線数よりも、搭載される機能モジュール数の方が少ない場合には、各機能モジュールの割込み信号を直接CPUコアの割込み信号線に接続することも可能であるが、CPUコアの割込み信号線数よりも、機能モジュール数の方が多い場合が多く、この場合には、複数の機能モジュールからの割込みを多重化してCPUコアに接続する方法が採られている(例えば特許文献1参照)。
図7は、このような従来のシステムLSIの概略構成を示すブロック図である。
同図に示すように、従来のシステムLSIは、プログラムに従ってシステムLSI全体を制御するCPU1と、プログラムを記憶するROM(Read Only Memory)2と、CPU1のワークエリアまたは各機能モジュール間のデータの受け渡しに利用されるRAM(Random Access Memory)3と、システムLSIの各機能モジュール間のデータの送受信を行うバス4と、通信や画像処理を行うn個の機能モジュール(FM)5-1〜5-nと、機能モジュール5-1〜5-nからの割込み信号による割込み発生状況を反映するステータスレジスタと各割込みをCPU1への割込みとして伝達するか否かを選択するマスクレジスタとを備え、マスクされていない割込みが発生したときにCPU1への割込み信号をアクティブにする割込みコントローラ101とによって構成されている。
各機能モジュール5-1〜5-nは、該各機能モジュール5-1〜5-nによってそれぞれドライブされる割込み信号線6-1〜6-nを介して、割込みコントローラ101と接続されている。さらに、割込みコントローラ101は、割込み信号7を介してCPU1と接続されている。
図8は、割込みコントローラ101が備えているステータスレジスタ101aとマスクレジスタ101bの構成の一例を示す図である。
同図に示すように、ステータスレジスタ101aとマスクレジスタ101bは、システムアドレス空間の一部にマッピングされており、CPU1からバス4を介してアクセスすることができるようになっている。
機能モジュール5-1〜5-nのいずれかが割込みを発生すると、ステータスレジスタ101aのフラグF1〜Fnのうち、割込みが発生した機能モジュールに対応するものがセット(“1”)され、セットされたフラグは、CPU1によってクリアされる。
マスクレジスタ101bの各ビットB1〜Bnは、機能モジュール5-1〜5-nの各割込みに対応しており、各ビットB1〜Bnは、CPU1によってセット(“1”)/リセット(“0”)され、セット/リセットされたビットの値は保持される。
次に、割込み発生時に、従来のシステムLSIが実行する制御動作について説明する。
例えば、機能モジュール5-1が割込みを発生すると、ステータスレジスタ101aのフラグF1はセットされ、そのときマスクレジスタ101bのビットB1が“0”であれば、割込みコントローラ101は、割込み信号線7を介して、CPU1に割込み発生を通知し、マスクレジスタ101bのビットB1が“1”であれば、CPU1に割込み発生を通知しない。
CPU1が、割込み信号線7を介して割込みの発生を検出すると、CPU1は、割込みコントローラ101のステータスレジスタ101aをリードして、機能モジュール5-1が割込み要因モジュールであると判断する。さらに、CPU1は、機能モジュール5-1の割込み要因レジスタ(図示せず)をリードして、機能モジュール5-1における割込み要因を特定し、該割込み要因に対応する処理ルーチンを実行する。
特開平5−274160号公報
しかし、上記従来のシステムLSIにおける割込み制御方法では、機能モジュール数が大きくなればなる程、CPU1が処理すべき割込み数も多くなるため、CPU1は、より短時間で割込み要因を特定したいにも拘わらず、複数のレジスタにアクセスする必要があり、これにより、割込み要因の特定に時間を要してしまうという問題があった。
また、先に割込みを発生した機能モジュールの処理の実行やタスク切り替えに時間を要し、機能モジュールが割込みを発生してから一定時間内に、当該機能モジュールの割込み要因レジスタをリードすることができず、当該機能モジュールにおいて、割込み要因が上書きされてしまう可能性があるという問題もあった。
本発明は、これらの問題に着目してなされたものであり、CPUによる割込み要因特定を簡素化するとともに、割込み毎の割込み要因を確実に検出可能な割込みコントローラを提供することを目的とする。
上記目的を達成するため、請求項1に記載の割込みコントローラは、複数の機能モジュールのそれぞれに対応したマスク情報と、前記複数の機能モジュールのそれぞれに対応して設けられた割込み要因レジスタの各アドレスを示す第1のアドレス情報と、前記各割込み要因レジスタから読み出した割込み要因を書き出すバッファ領域を特定する第2のアドレス情報と、CPUへの割込みの有無を示す割込み有無情報とを保持するとともに、前記機能モジュールが発生した割込み信号を前記マスク情報に基づいてマスクして出力するレジスタと、前記レジスタから有効な割込み信号を検出したときに、該割込み信号の発生元の機能モジュールの割込み要因を、該機能モジュールに対応する割込み要因レジスタから読み出し、該読み出された割込み要因および当該機能モジュールの識別子を、前記バッファ領域中、前記第2のアドレス情報によって示される位置に書き込んだ後、前記割込み有無情報を割込み有りに設定するように制御する制御手段と、前記割込み有無情報が割込み有りに設定されたときに、CPUへの割込みを発行する割込み発行手段とを有することを特徴とする。
本発明によれば、CPUは、機能モジュールの発生した割込みの総数よりも少ない回数の割込み信号を検出することで、機能モジュールが発生したすべての割込みを処理できると同時に、多くの機能モジュールが実装されている場合にも、階層的に割込み要因レジスタをリードすることなく割込み要因を特定でき、かつ機能モジュールが割込み要因を上書きすることによる割込み要因の読みこぼしを防ぐことが可能となる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係る割込みコントローラを含むシステムLSIの概略構成を示すブロック図である。
なお、本実施の形態のシステムLSIは、前記従来のシステムLSIに対して、割込みコントローラ10の構成が異なるのみであるので、図1中、図7と同様の構成については同一符号を付して、その説明を省略する。
図2は、図1の割込みコントローラ10の詳細な構成を示すブロック図である。
図2に示すように、割込みコントローラ10は、シーケンサ11、バスインタフェース12、レジスタ13および割込み発行部14によって構成されている。
シーケンサ11は、レジスタ13でマスクされていない機能モジュール5-1〜5-nからの割込みを検出すると、レジスタ13に保持されているデータに従って、割込み要因となっている機能モジュールの割込み要因レジスタをリードし、RAM3にライトするものであり、ステートマシン、カウンタ、レジスタを備えている。
バスインタフェース12は、シーケンサ11からのバスアクセスをバス4に中継するとともに、CPU1などの、バス4に接続されたバスマスタからのアクセスをレジスタ13に中継する。
レジスタ13は、機能モジュール5-1〜5-nからの割込みの有無を示すステータスレジスタと、各機能モジュール5-1〜5-nの割込みをマスクするためのデータを保持するマスクレジスタと、各機能モジュール5-1〜5-nの割込み要因レジスタのアドレスを保持する割込み要因アドレスレジスタと、リードした割込み要因レジスタ値の書き出し先となる割込み要因バッファのアドレスを保持する割込み要因バッファアドレスレジスタとを備え、マスクレジスタの記憶内容に応じて、機能モジュールからの割込みをマスクし、シーケンサ11に伝達する機能を営んでいる。
割込み発行部14は、レジスタ13のステータスレジスタの値に応じてCPU1への割込みを発行する。
以下、以上のように構成されたシステムLSIが実行する制御動作について説明する。
CPU1は、各機能モジュール5-1〜5-nを起動するのに先立って、割込みコントローラ10内のレジスタ13の初期化を行う。以下に、レジスタ13の初期化直後の値を示す。
ステータスレジスタ: 0x0000_0000
マスクレジスタ : 0xFFFF_0080
割込み要因アドレス#1: 0x1B03_0040
・・・・
割込み要因アドレス#8: 0x1B04_0040
・・・・
割込み要因バッファスタートアドレス: 0x0100_0000
割込み要因バッファエンドアドレス : 0x0100_0040
レジスタ13において、例えば、機能モジュール5-1の割込みは、マスクレジスタのビット0に対応しており、機能モジュール5-1の割込み要因アドレスレジスタには、割込み要因アドレス#1が記憶されている。また、機能モジュール5-8の割込みは、マスクレジスタのビット7に対応しており、機能モジュール5-8の割込み要因アドレスレジスタには、割込み要因アドレス#8が記憶されている。
ステータスレジスタは、そのビット0がCPU1への割込みの有無を示しており、このビット0は、シーケンサ11がシーケンス処理を終了したときにセットされ、CPU1によってクリアされるものとする。
割込み要因バッファエリアは、RAM3に割り当てられており、割込み要因バッファスタートアドレスと割込み要因エンドアドレスによって指定される。シーケンサ11は、割込み要因バッファエリアをリングバッファとみなしてライトを行い、CPU1は、割込み要因バッファエリアをリングバッファとみなしてリードを行うものとする。
以上のように初期化を行った後に、CPU1は、各機能モジュール5-1〜5-nを起動する。
最初の割込みとして、例えば、機能モジュール5-1が割込みを発行し、割込み信号線6-1をアクティブにすると、レジスタ13のマスクレジスタのビット0の値は“0”であり、機能モジュール5-1の割込みは有効になっているので、シーケンサ11は、機能モジュール5-1に対応するシーケンスの実行を開始する。
シーケンサ11は、割込み要因バッファの先頭アドレス0x0100_0000に機能モジュール5-1の識別情報をライトして、内部カウンタをインクリメントし、次に、割込み要因アドレス#1である、0x1B03_0040番地からデータをリードして、内部のレジスタにリード値を一時的に記憶した後、該リード値を0x0100_0000番地の次のアドレスである、0x0100_0004番地にライトして、内部カウンタをインクリメントし、さらに、該リード値を割込み要因アドレス#1である、0x1B03_0040番地にライトして、機能モジュール5-1の割込み要因をクリアした後に、機能モジュール5-1に対応するシーケンス終了信号をアクティブにして、シーケンス終了をレジスタ13および割込み発行部14に通知する。
ステータスレジスタのビット0が“1”に変化し、割込み発行部14は、CPU1に対して、割込み信号線7をアクティブにして割込みを発行する。ステータスレジスタのビット0は、CPU1によって“1”が書かれてクリアされるまで、“1”の値を保持する。
CPU1は、割込み信号線7がアサートされて割込みを検出すると、タスク切り替えを行い、割込み処理ルーチンを実行する。割込み処理ルーチンでは、割込み要因バッファの先頭アドレスである、0x0100_0000番地から機能モジュールの識別情報をリードして、機能モジュール5-1が割込み要因モジュールであることを検出し、次に、0x0100_0004番地から割込み要因をリードして、機能モジュール5-1の割込み要因を特定し、レジスタ13のステータスレジスタのビット0に“1”をライトして、ステータスをクリアした後に、機能モジュール5-1に対する所定の処理を行う。
続いて、機能モジュールが、マスクされていない割込みを発生した場合には、当該機能モジュールの識別情報と割込み要因が、シーケンサ11によって、割込み要因バッファの0x0100_0008番地と0x0100_000C番地、0x0100_0010番地と0x0100_0014番地、・・・に同様のシーケンスでライトされて行く。
また、CPU1も、割込み処理ルーチンにおいて、割込み要因バッファの0x0100_0008番地と0x0100_000C番地、0x0100_0010番地と0x0100_0014番地、・・・から機能モジュールの識別情報と割込み要因をリードして行く。
機能モジュール5-8が、割込み信号線6-8をアサートして割込みを発行した場合、レジスタ13のマスクレジスタの対応ビットであるビット7は“1”であり、機能モジュール5-8の割込みはマスクされているため、シーケンサ11は動作しない。したがって、機能モジュール5-8に対応するシーケンス終了信号はアサートされることはなく、ステータスレジスタのビット0に“1”がセットされることもない。
このように、本実施の形態では、機能モジュールが、マスクされていない割込を発生する度に、割込み要因バッファの異なったアドレス位置に、当該機能モジュールの識別情報と割込み要因を書き込んで行くようにしたので、CPUは、階層的に割込み要因レジスタをリードすることなく割込み要因を特定でき、かつ機能モジュールが割込み要因を上書きすることによる割込み要因の読みこぼしを防ぐことができる。さらに、シーケンサ11は、マスクされていない割込を発生したすべての機能モジュールに対してシーケンス処理を行った後、CPUに対して割込みの発生を伝達するので、機能モジュールの発生した割込みの総数よりも少ない回数の割込み信号を検出して、機能モジュールが発生したすべての割込みを処理できる。
(第2の実施の形態)
次に、本発明の第2の実施の形態に係る割込みコントローラを含むシステムLSIについて説明する。
本実施の形態のシステムLSIは、前記第1の実施の形態のシステムLSIに対して、割込みコントローラの構成が異なるのみであるので、割込みコントローラ以外のハードウェアは、第1の実施の形態のシステムLSIのもの、すなわち図1に記載のものをそのまま用いることにする。
図3は、本実施の形態のシステムLSIに設けられた割込みコントローラ20の詳細な構成を示すブロック図である。同図中、図2と同様の構成には同一符号を付して、その説明は省略する。
図3において、シーケンサ21は、レジスタ13でマスクされていない機能モジュール5-1〜5-nからの割込みを検出すると、レジスタ13に保持されているデータに従って、割込み要因となっている機能モジュールの割込み要因レジスタをリードして、RAM3にライトするとともに、割込み発生時刻を示すタイムスタンプをRAM3にライトするものであり、ステートマシン、カウンタ、レジスタを備えている。
タイマ32は、前記割込み発生時刻を計時する。
以上のように構成されたシステムLSIでは、シーケンサ21が機能モジュール5-1〜5-nの割込み要因をリードして、RAM3にライトする際に、タイムスタンプを併せてライトする他は、前記第1の実施の形態のシステムLSIとほぼ同様に動作するので、その動作の説明は省略する。
(第3の実施の形態)
次に、本発明の第3の実施の形態に係る割込みコントローラを含むシステムLSIについて説明する。
本実施の形態のシステムLSIは、前記第1の実施の形態のシステムLSIに対して、割込みコントローラの構成が異なるのみであるので、割込みコントローラ以外のハードウェアは、第1の実施の形態のシステムLSIのもの、すなわち図1に記載のものをそのまま用いることにする。
図4は、本実施の形態のシステムLSIに設けられた割込みコントローラ30の詳細な構成を示すブロック図である。同図中、図2と同様の構成には同一符号を付して、その説明は省略する。
図4において、シーケンサ31は、レジスタ13でマスクされていない機能モジュール5-1〜5-nからの割込みを検出すると、レジスタ13に保持されているデータに従って、割込み要因となっている機能モジュールの割込み要因レジスタをリードして、RAM3にライトするとともに、割込み発生時刻を示すタイムスタンプをRAM3にライトするものであり、ステートマシン、カウンタ、レジスタを備えている。
カウンタ42は、シーケンサ32が処理シーケンスを実行する度にインクリメントする。
以上のように構成されたシステムLSIでは、シーケンサ31が機能モジュール5-1〜5-nの割込み要因をリードして、RAM3にライトする際に、各割込み情報に対してシリアル番号を併せてライトする他は、前記第1の実施の形態のシステムLSIとほぼ同様に動作するので、その動作の説明は省略する。
(第4の実施の形態)
次に、本発明の第4の実施の形態に係る割込みコントローラを含むシステムLSIについて説明する。
本実施の形態のシステムLSIは、前記第1の実施の形態のシステムLSIに対して、割込みコントローラの構成が異なるのみであるので、割込みコントローラ以外のハードウェアは、第1の実施の形態のシステムLSIのもの、すなわち図1に記載のものをそのまま用いることにする。
図5は、本実施の形態のシステムLSIに設けられた割込みコントローラ40の詳細な構成を示すブロック図である。同図中、図2と同様の構成には同一符号を付して、その説明は省略する。
プロセッサ41は、サスペンド/レジューム機能を備え、メモリ45に記憶されたプログラムを実行する。
IOコントローラ42は、プロセッサ41からのアクセスを、アドレスに従ってレジスタ44、バスインタフェース43およびメモリ45に中継するとともに、外部バスマスタからのアクセスを、アドレスに従ってレジスタ44およびメモリ45に中継する。
バスインタフェース43は、IOコントローラ42からのバスアクセスをシステムバスに中継するとともに、外部バスマスタからのアクセスをIOコントローラ42に中継する。
レジスタ44は、機能モジュール5-1〜5-nからの割込みの有無を示すステータスレジスタと、各機能モジュール5-1〜5-nの割込みをマスクするためのデータを保持するマスクレジスタと、各機能モジュール5-1〜5-nの割込み要因レジスタのアドレスを保持する割込み要因アドレスレジスタと、リードした割込み要因レジスタ値の書き出し先となる割込み要因バッファのアドレスを保持する割込み要因バッファアドレスレジスタとを備えている。
以下、以上のように構成されたシステムLSIが実行する制御動作について、図5および図6を参照しながら説明する。
CPU1は、各機能モジュール5-1〜5-nを起動するのに先立って、割込みコントローラ40内のレジスタ43の初期化を行う。以下に、レジスタ43の初期化直後の値を示す。
ステータスレジスタ: 0x0000_0000
マスクレジスタ : 0xFFFF_0080
割込み要因アドレス#1: 0x1B03_0040
・・・・
割込み要因アドレス#8: 0x1B04_0040
・・・・
割込み要因バッファスタートアドレス: 0x0100_0000
割込み要因バッファエンドアドレス : 0x0100_0040
レジスタ43において、機能モジュール5-1の割込みは、マスクレジスタのビット0に対応しており、機能モジュール5-1の割込み要因アドレスレジスタには、割込み要因アドレス#1が記憶されている。また、機能モジュール5-8の割込みは、マスクレジスタのビット7に対応しており、機能モジュール5-8の割込み要因アドレスレジスタには、割込み要因アドレス#8が記憶されている。
ステータスレジスタは、そのビット0がCPU1への割込みの有無を示しており、このビット0は、プロセッサ41が処理シーケンスを終了したときにセットされ、CPU1によってクリアされるものとする。
さらに、CPU1は、初期化時に、プロセッサ41が実行する制御処理プログラムをメモリ45にライトする。
割込み要因バッファエリアは、RAM3に割り当てられており、割込み要因バッファスタートアドレスと割込み要因エンドアドレスによって指定される。プロセッサ41は、割込み要因バッファエリアをリングバッファとみなしてライトを行い、CPU1は、割込み要因バッファエリアをリングバッファとみなしてリードを行うものとする。
以上のように初期化を行った後に、CPU1は、割込みコントローラ40を起動するとともに、各機能モジュール5-1〜5-nを起動する。
割込みコントローラ40が起動されると、プロセッサ41は、メモリ45に書き込まれた制御処理プログラム、すなわち図6の制御処理の実行を開始する。
図6において、プロセッサ41は、割込み要因ライトカウンタの初期化を行った(ステップS1)後、サスペンドして(ステップS2)、機能モジュール5-1〜5-nのうち、レジスタ44でマスクされていない割込みが発生するまで待機状態となる。
最初の割込みとして、例えば、機能モジュール5-1が割込みを発行し、割込み信号線6-1をアクティブにすると、レジスタ44のマスクレジスタのビット0の値は“0”であり、機能モジュール5-1の割込みは有効になっているので、プロセッサ41に割込み信号が伝達される。プロセッサ41は、レジュームして(ステップS3)、機能モジュール5-1に対応するシーケンスの実行を開始する。
プロセッサ41は、割込み要因バッファの先頭アドレス0x0100_0000に機能モジュール5-1の識別情報をライトして(ステップS4)、次に、割込み要因アドレス#1である、0x1B03_0040番地からデータをリードして、内部のレジスタにリード値を一時的に記憶し(ステップS5)、該リード値を割込み要因アドレス#1の0x1B03_0040番地にライトして、機能モジュール5-1の割込み要因をクリアし(ステップS6)、さらに、該リード値を0x0100_0000番地の次のアドレスである、0x0100_0004番地にライトして(ステップS7)、最後に、ステータスレジスタのビット0に“1”をライトした(ステップS8)後、再びサスペンドして、次の割込みが発生するまで待機する(ステップS2)。この時点で、既に次の割込みが発生していれば、即座にレジュームして、同様の処理を行う。
割込み発行部14は、CPU1に対して、割込み信号線7をアクティブにして割込みを発行する。ステータスレジスタのビット0は、CPU1によってクリアされるまで、値を保持する。
CPU1は、割込み信号線7がアサートされて割込みを検出すると、タスク切り替えを行い、割込み処理ルーチンを実行する。割込み処理ルーチンでは、割込み要因バッファの先頭アドレスである、0x0100_0000番地から機能モジュールの識別情報をリードして、機能モジュール5-1が割込み要因モジュールであることを検出し、次に、0x0100_0004番地から割込み要因をリードして、機能モジュール5-1の割込み要因を特定し、レジスタ44のステータスレジスタのビット0をクリアした後に、機能モジュール5-1に対する所定の処理を行う。
続いて、マスクされていない割込みが発生した場合には、該当機能モジュールの識別情報と割込み要因が、プロセッサ41によって、割込み要因バッファの0x0100_0008番地と0x0100_000C番地、0x0100_0010番地と0x0100_0014番地、・・・に同様のシーケンスでライトされて行く。
また、CPU1も、割込み処理ルーチンにおいて、割込み要因バッファの0x0100_0008番地と0x0100_000C番地、0x0100_0010番地と0x0100_0014番地、・・・から、機能モジュールの識別情報と割込み要因をリードして行く。
機能モジュール5-8が、割込み信号線6-8をアサートして割込みを発行した場合、レジスタ44のマスクレジスタの対応ビットであるビット7は“1”であり、機能モジュール5-8の割込みはマスクされているため、プロセッサ41は動作しない。したがって、機能モジュール5-8に対応するシーケンス終了信号はアサートされることはなく、ステータスレジスタのビット0に“1”がセットされることもない。
なお、プロセッサ41が割込み要因を割込み要因バッファに書き出す際に、割込み要因と併せてタイムスタンプまたはシリアル番号を書き出す場合も、本実施の形態に含むものとする。
なお、上述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
また、コンピュータが読出したプログラムコードを実行することにより、上述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
本発明の第1の実施の形態に係る割込みコントローラを含むシステムLSIの概略構成を示すブロック図である。 図1中の割込みコントローラの詳細な構成を示すブロック図である。 本発明の第2の実施の形態に係る割込みコントローラの詳細な構成を示すブロック図である。 本発明の第3の実施の形態に係る割込みコントローラの詳細な構成を示すブロック図である。 本発明の第4の実施の形態に係る割込みコントローラの詳細な構成を示すブロック図である。 図5中のプロセッサが実行する制御プログラムの手順を示すフローチャートである。 従来のシステムLSIの概略構成を示すブロック図である。 図7中の割込みコントローラが備えているステータスレジスタとマスクレジスタの構成の一例を示す図である。
符号の説明
1 CPU
2 ROM
3 RAM
4 システムバス
5-1〜5-n 機能モジュール
6-1〜6-n 割込み信号線(機能モジュール−割込みコントローラ間)
7 割込み信号線(割込みコントローラ−CPU間)
10 割込みコントローラ
11 シーケンサ
12 バスインタフェース
13 レジスタ
14 割込み発行部
20 割込みコントローラ
21 シーケンサ
22 タイマ
30 割込みコントローラ
31 シーケンサ
32 カウンタ
40 割込みコントローラ
41 プロセッサ
42 IOコントローラ
43 バスインタフェース
44 レジスタ
45 メモリ
101 割込みコントローラ
101a ステータスレジスタ
101b マスクレジスタ

Claims (4)

  1. 複数の機能モジュールのそれぞれに対応したマスク情報と、前記複数の機能モジュールのそれぞれに対応して設けられた割込み要因レジスタの各アドレスを示す第1のアドレス情報と、前記各割込み要因レジスタから読み出した割込み要因を書き出すバッファ領域を特定する第2のアドレス情報と、CPUへの割込みの有無を示す割込み有無情報とを保持するとともに、前記機能モジュールが発生した割込み信号を前記マスク情報に基づいてマスクして出力するレジスタと、
    前記レジスタから有効な割込み信号を検出したときに、該割込み信号の発生元の機能モジュールの割込み要因を、該機能モジュールに対応する割込み要因レジスタから読み出し、該読み出された割込み要因および当該機能モジュールの識別子を、前記バッファ領域中、前記第2のアドレス情報によって示される位置に書き込んだ後、前記割込み有無情報を割込み有りに設定するように制御する制御手段と、
    前記割込み有無情報が割込み有りに設定されたときに、CPUへの割込みを発行する割込み発行手段と
    を有することを特徴とする割込みコントローラ。
  2. 前記制御手段は、複数の機能モジュールの各割込み要因および識別子を前記バッファ領域に書き込むときには、それぞれ異なったアドレス位置に書き込むことを特徴とする請求項1に記載の割込みコントローラ。
  3. 前記機能モジュールが割込み信号を発生したときの割込み発生時刻を計時する計時手段をさらに有し、
    前記制御手段は、前記バッファに領域に、前記読み出された割込み要因および当該機能モジュールの識別子を書き込むときに、前記計時手段によって計時された割込み発生時刻を示すタイムスタンプも併せて書き込むことを特徴とする請求項1に記載の割込みコントローラ。
  4. 前記制御手段が、前記割込み信号の発生元の機能モジュールの割込み要因を、該機能モジュールに対応する割込み要因レジスタから読み出す回数をカウントするカウンタをさらに有し、
    前記制御手段は、前記バッファに領域に、前記読み出された割込み要因および当該機能モジュールの識別子を書き込むときに、前記カウンタによってカウントされた回数も併せて書き込むことを特徴とする請求項1に記載の割込みコントローラ。
JP2004364699A 2004-12-16 2004-12-16 割込みコントローラ Expired - Fee Related JP4865213B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004364699A JP4865213B2 (ja) 2004-12-16 2004-12-16 割込みコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004364699A JP4865213B2 (ja) 2004-12-16 2004-12-16 割込みコントローラ

Publications (2)

Publication Number Publication Date
JP2006172196A true JP2006172196A (ja) 2006-06-29
JP4865213B2 JP4865213B2 (ja) 2012-02-01

Family

ID=36672876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004364699A Expired - Fee Related JP4865213B2 (ja) 2004-12-16 2004-12-16 割込みコントローラ

Country Status (1)

Country Link
JP (1) JP4865213B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129668A (ja) * 2006-11-17 2008-06-05 Meidensha Corp Cpuの割込み制御方式
JP2016021123A (ja) * 2014-07-14 2016-02-04 株式会社デンソー マイクロコンピュータ
CN112488905A (zh) * 2020-11-27 2021-03-12 中国科学院西安光学精密机械研究所 一种高光谱相机姿态辅助数据更新周期波动消除方法及星上串行通讯方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101936565B1 (ko) * 2016-11-14 2019-01-09 엘에스산전 주식회사 인버터에서 인터럽트 제어방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0477929A (ja) * 1990-07-20 1992-03-12 Fujitsu Ltd 割込み制御方式
JPH11338712A (ja) * 1998-05-22 1999-12-10 Nec Corp 割込順序保存回路
JP2004030171A (ja) * 2002-06-25 2004-01-29 Seiko Epson Corp コントローラ、印刷装置および割込コントロール方法
JP2004118235A (ja) * 2002-09-20 2004-04-15 Ricoh Co Ltd データ処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0477929A (ja) * 1990-07-20 1992-03-12 Fujitsu Ltd 割込み制御方式
JPH11338712A (ja) * 1998-05-22 1999-12-10 Nec Corp 割込順序保存回路
JP2004030171A (ja) * 2002-06-25 2004-01-29 Seiko Epson Corp コントローラ、印刷装置および割込コントロール方法
JP2004118235A (ja) * 2002-09-20 2004-04-15 Ricoh Co Ltd データ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129668A (ja) * 2006-11-17 2008-06-05 Meidensha Corp Cpuの割込み制御方式
JP2016021123A (ja) * 2014-07-14 2016-02-04 株式会社デンソー マイクロコンピュータ
CN112488905A (zh) * 2020-11-27 2021-03-12 中国科学院西安光学精密机械研究所 一种高光谱相机姿态辅助数据更新周期波动消除方法及星上串行通讯方法

Also Published As

Publication number Publication date
JP4865213B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
US8200875B2 (en) Processing and forwarding of message-signaled interrupts
US7949863B2 (en) Inter-port communication in a multi-port memory device
US4942519A (en) Coprocessor having a slave processor capable of checking address mapping
TW563029B (en) Flexible interrupt controller that includes an interrupt force register
US7500040B2 (en) Method for synchronizing processors following a memory hot plug event
RU2137182C1 (ru) Выполнение инструкции обработки данных
US20030093612A1 (en) Microcomputer
US6070204A (en) Method and apparatus for using universal serial bus keyboard to control DOS operations
JP2009187223A (ja) プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム
JP2002175261A (ja) データ転送制御回路
EP0775959B1 (en) Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses
JP2695017B2 (ja) データ転送方式
EP1695224B1 (en) Driver transparent message signaled interrupts
US20040030867A1 (en) Processing system and method for efficiently enabling detection of data hazards for long latency instructions
JP4865213B2 (ja) 割込みコントローラ
JP2007207120A (ja) システム検証装置及びその検証方法
JP3776302B2 (ja) コンピュータ・プログラムのハザードを検出するシステム
JP2004030161A (ja) コンピュータシステムにおける割り込み制御方法、コンピュータシステム、半導体集積回路、及びプログラム
US20030018842A1 (en) Interrupt controller
JP2006331391A (ja) データ処理装置及びデータ処理方法
US7103692B2 (en) Method and apparatus for an I/O controller to alert an external system management controller
JP2011138401A (ja) プロセッサシステム、プロセッサシステムの制御方法、及び制御回路
JP2003309564A (ja) マイクロコンピュータシステムおよびそれに使用されるトランシーバ
US7668976B2 (en) Control method and computer system utilizing the same
JP2008097134A (ja) アドレスオフセット制御回路

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060419

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090805

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100803

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111110

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees