JP2010277158A - 割り込み通知制御装置および半導体集積回路 - Google Patents

割り込み通知制御装置および半導体集積回路 Download PDF

Info

Publication number
JP2010277158A
JP2010277158A JP2009126534A JP2009126534A JP2010277158A JP 2010277158 A JP2010277158 A JP 2010277158A JP 2009126534 A JP2009126534 A JP 2009126534A JP 2009126534 A JP2009126534 A JP 2009126534A JP 2010277158 A JP2010277158 A JP 2010277158A
Authority
JP
Japan
Prior art keywords
interrupt
delay
notification control
control device
processor
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
JP2009126534A
Other languages
English (en)
Other versions
JP5267328B2 (ja
Inventor
Takashi Shimada
貴史 島田
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009126534A priority Critical patent/JP5267328B2/ja
Priority to US12/770,224 priority patent/US8612661B2/en
Publication of JP2010277158A publication Critical patent/JP2010277158A/ja
Application granted granted Critical
Publication of JP5267328B2 publication Critical patent/JP5267328B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2416Determination of the interrupt source among a plurality of incoming interrupts

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

【課題】割り込み処理に伴うオーバーヘッドを削減することのできる割り込み通知制御装置および半導体集積回路の提供を図る。
【解決手段】複数の割り込み源31〜34からの割り込み要求IR1〜IR4を受け取り、該受け取った割り込み要求を纏めてプロセッサに通知する割り込み通知制御装置であって、前記割り込み要求の相互関係を判断し、前記プロセッサに対して前記割り込み要求を纏めて通知するタイミングを制御するように構成する。
【選択図】図5

Description

本発明は、割り込み通知制御装置および半導体集積回路に関する。
従来、例えば、計算機システムにおいて、割り込みコーリス(割り込み調停:Interrupt coalescing)という技術が知られている。
この割り込みコーリスは、割り込み要求を発する割り込み源と、割り込み入力端子を有するプロセッサとを繋ぐ割り込み通知制御装置(割り込みコントローラ)に対して適用することが可能である。
割り込みコーリスの基本概念は、高頻度で割り込みが発生することによってプロセッサの負荷が増大することを避けるためのものである。
そして、一定の条件によってプロセッサへの割り込み要求の通知タイミングを遅延させ、後発の複数の割り込み要求と纏めてプロセッサに通知することで割り込み処理に伴う割り込みハンドラの起動/終了といったプロセッサのオーバーヘッドを削減している。
図1は従来の割り込み通知制御装置の一例を概略的に示すブロック図であり、基本的な割り込みコーリスを適用した割り込みコントローラを概略的に示すものである。また、図2は図1の割り込み通知制御装置における遅延制御部を概念的に示すブロック図である。
図1において、参照符号501は割り込みコントローラ(割り込み通知制御装置)、502はプロセッサ、そして、503は割り込み源を示している。また、図2において、参照符号511aは遅延制限カウンタ、そして、511bはアンドゲートを示している。
図1に示されるように、割り込みコントローラ501は、遅延制御部511および条件レジスタ512を有する。
図1に示す割り込み通知制御装置において、条件レジスタ512の条件(割り込みの遅延条件)が『X回の割り込み要求が起きるまで通知を遅延する』であった場合を考える。
このとき、条件レジスタ512には、その回数”X”が保持され、遅延制御部511の遅延制限カウンタ511aが、割り込み源503からの割り込み通知(割り込み要求)IRをX回カウントするとアンドゲート511bに高レベル”1”を出力する。
これにより、アンドゲート511bは、X回目の割り込み要求による高レベル”1”のタイミングでそれまでのX回の割り込み要求IRをプロセッサ502に通知する。
なお、図2は遅延制御部511を概念的に示すものであり、実際には、例えば、割り込み源503からの割り込み要求IRをX回分保持しておくラッチ回路等も設けられている。
すなわち、割り込み源503から最初の割り込み要求IR5が起きてから、割り込み要求がX回だけ起きるまでの間、プロセッサ502に対する割り込み通知を遅延させる。そして、X回目の割り込み要求が起きた時点で、X個の割り込み要求を纏めてプロセッサ502に通知する。
この手法を用いることにより、プロセッサ502に対する割り込み回数を、実質的に1/X回に減少させ、割り込み処理に伴うオーバーヘッドを削減するようになっている。
ところで、従来、割り込みコーリスの改良技術としての様々なものが提案されており、複数の割り込み要求の通知タイミングの遅延方法に関する提案もなされている。
特開2008−217821号公報 特開2002−182930号公報
従来、割り込みコーリスを適用した割り込みコントローラ501における条件レジスタ512の条件としては、例えば、上述した「一定の回数の割り込み要求が起きる」、或いは、「一定の時間が経過する」といったものが用いられている。
ところで、割り込み源は1つに限定されるものではなく、複数の割り込み源からの割り込み要求をプロセッサに通知する場合、割り込み処理に伴うオーバーヘッドの増加が問題になっている。
この出願は、上述した課題に鑑み、複数の割り込み源からの割り込み要求を適切にプロセッサに通知することにより、割り込み処理に伴うオーバーヘッドを削減することのできる割り込み通知制御装置および半導体集積回路の提供を目的とする。
本発明によれば、複数の割り込み源からの割り込み要求を受け取り、該受け取った割り込み要求を纏めてプロセッサに通知する割り込み通知制御装置が提供される。
本発明の割り込み通知制御装置は、前記割り込み要求の相互関係を判断し、前記プロセッサに対して前記割り込み要求を纏めて通知するタイミングを制御する。
開示の割り込み通知制御装置および半導体集積回路は、複数の割り込み源からの割り込み要求を適切にプロセッサに通知することにより、割り込み処理に伴うオーバーヘッドを削減する効果を奏する。
従来の割り込み通知制御装置の一例を概略的に示すブロック図である。 図1の割り込み通知制御装置における遅延制御部を概念的に示すブロック図である。 複数の割り込み源に対する割り込み通知制御装置の一例を概略的に示すブロック図である。 図3に示す割り込み通知制御装置の動作の一例を説明するためのタイミングチャートである。 第1実施例の割り込み通知制御装置を概略的に示すブロック図である。 図5の割り込み通知制御装置における遅延制御部を概略的に示すブロック図である。 図6の遅延制御部における処理の一例を説明するための図である。 第1実施例の割り込み通知制御装置の動作の一例を説明するためのタイミングチャートである。 第2実施例の割り込み通知制御装置を概略的に示すブロック図である。 本実施例が適用される半導体集積回路の一例を概略的に示すブロック図である。
まず、割り込み通知制御装置および半導体集積回路の実施例を詳述する前に、複数の割り込み源に対する割り込みコントローラに割り込みコーリス技術をそのまま適用したときの問題点を説明する。
図3は複数の割り込み源に対する割り込み通知制御装置の一例を概略的に示すブロック図であり、具体的に、4つの割り込み源531〜534に対する割り込みコントローラ501を示すものである。
なお、割り込み源531〜534からの割り込み要求IR51〜IR54としては、例えば、キーボードからのキー入力やマウスからの入力、他の周辺機器やホスト側からの割り込み入力、或いは、ソフトウェアによる割り込み入力といった様々なものがある。
図3に示されるように、割り込みコントローラ501は、4つの割り込み源531〜534に対応した4組の遅延制御部5111〜5114および条件レジスタ5121〜5124を有する。
すなわち、割り込みコントローラ501には、図1における遅延制御部511および条件レジスタ512の組が、4つの割り込み源531〜534に対応して4組設けられている。なお、各遅延制御部5111〜5114は、図2に示す遅延制御部511と同様のものとなっている。
ところで、割り込みコーリスという手法は、各割り込み源に対して通知の遅延条件を決定するため、複数の割り込み源531〜534と複数の割り込み入力端子TI51〜TI54を持つプロセッサ502とを繋ぐ割り込みコントローラ501に適用すると問題が生じる。
すなわち、割り込みコーリスでは、各割り込み源531〜534からの割り込み要求IR51〜IR54の状況、或いは、各割り込み要求IR51〜IR54の優先度(リアルタイム性)といった情報を関連付けて遅延条件を決定することができない。
そのため、各割り込み要求IR51〜IR54間の相関を考慮したタイミング遅延を実施することができず、例えば、複数の割り込み源531〜534が同時にプロセッサ502への割り込み要求IR51〜IR54を出している場合に適切な対応ができなかった。
具体的に、例えば、各割り込み要求IR51〜IR54の遅延条件である一定時間が経過していない場合には、プロセッサ502に対して早急に割り込み要求IR51〜IR54を纏めて通知するといったことはできなかった。
また、例えば、複数の割り込み源531〜534が同時にプロセッサ502への通知要求を出している場合、各割り込み要求IR51〜IR54の優先度が低くてプロセッサ502への割り込み通知を更に待たせるといった柔軟な対応はできなかった。
さらに、遅延条件を決定するための値に条件レジスタ5121〜5124の値を直接利用すると、その値が固定であるため、常に一定の条件に従って割り込み要求を遅延させることになっていた。
そのため、割り込み要求が発生してからの応答が一定時間だけ常に遅くなり、複数の割り込み源531〜534と複数の割り込み入力端子TI51〜TI54を持つプロセッサ502とを繋ぐ割り込みコントローラ501の処理として適切なものとはいえなかった。
図4は図3に示す割り込み通知制御装置の動作の一例を説明するためのタイミングチャートである。
図4の例では、時間t1で割り込み源531からの割り込み要求IR51が発生し、時間t2で割り込み源533からの割り込み要求IR53が発生し、そして、時間t3で割り込み源532からの割り込み要求IR52が発生している。
ここで、割り込み源531〜534からの割り込み要求が入力される遅延制御部5111〜5114には、開始値が”2”の遅延制限カウンタ(図2中の511a)が設けられ、その遅延制限カウンタが”0”になった時点で各割り込み要求がプロセッサ502に通知される。
すなわち、時間t1で割り込み源531の割り込み要求IR51が発生し、時間t2で割り込み源533の割り込み要求IR53が発生し、時間t3で割り込み源532の割り込み要求IR52が発生しても、時間t3ではプロセッサ502への通知は行われない。
そして、参照符号N51に示されるように、遅延制御部5111の遅延制限カウンタが”0”になるタイミングt4で割り込み要求IR51がプロセッサ502に通知される。また、参照符号N52に示されるように、遅延制御部5113の遅延制限カウンタが”0”になるタイミングt5で割り込み要求IR53がプロセッサ502に通知される。
さらに、参照符号N53に示されるように、遅延制御部5112の遅延制限カウンタが”0”になるタイミングt6で割り込み要求IR52がプロセッサ502に通知される。
このように、図3に示す割り込み通知制御装置は、各遅延制御部の遅延制限カウンタの値に従うだけで、3回のタイミングt4,t5,t6で割り込み要求IR51,IR53,IR52を通知し、各割り込み源からの割り込み要求の相互関係を考慮してはいない。
すなわち、連続する3サイクルt1,t2,t3で3つの割り込み要求IR51,IR53,IR52が起きた場合でも、単に異なる3つの割り込み源からの割り込み要求を処理するだけで、複数の割り込み要求を纏めて処理することは行われていない。
その結果、例えば、異なるタイミングの3つの割り込み要求IR51,IR53,IR52に対して、3回の割り込みハンドラの起動/終了が必要になり、割り込み処理に伴うオーバーヘッドが増大することになっている。
以下、割り込み通知制御装置および半導体集積回路の実施例を、添付図面を参照して詳述する。
図5は第1実施例の割り込み通知制御装置(割り込みコントローラ)を概略的に示すブロック図であり、具体的に、4つの割り込み源31〜34に対する割り込みコントローラ1を示すものである。
なお、割り込み源31〜34からの割り込み要求IR1〜IR4としては、例えば、キーボードからのキー入力やマウスからの入力、他の周辺機器やホスト側からの割り込み入力、或いは、ソフトウェアによる割り込み入力といった様々なものがある。
図5に示されるように、本第1実施例の割り込みコントローラ1は、4つの割り込み源31〜34に対して1つの共通の遅延制御部11および条件レジスタ12を有する。
ここで、遅延制御部11は、割り込み源31〜34からの割り込み要求IR1〜IR4の相互関係を判断し、プロセッサ2に対してその割り込み要求IR1〜IR4を纏めて通知するタイミングの遅延を制御するようになっている。
すなわち、遅延制御部11は、プロセッサ2の複数の割り込み入力端子TI1〜TI4への割り込み通知状況に相関関係を持たせて、時間経過による単一の割り込み要求の通知状況と共に、同一時間における他の割り込み要求の通知状況も遅延条件の基準にする。
図6は図5の割り込み通知制御装置における遅延制御部を概略的に示すブロック図である。
図6に示されるように、遅延制御部11は、遅延条件決定部(加算器)111,遅延条件比較部(比較器)112,重み値レジスタ113,アンドゲート1141〜1144,並びに,遅延制限カウンタ115を有する。
重み値レジスタ113は、各割り込み要求IR1〜IR4に対して与えられた重み値を記憶し、また、遅延条件決定部111は、割り込み要求IR1〜IR4に与えられた重み値を演算して仮遅延条件値PDVを算出する。
ここで、各割り込み要求IR1〜IR4に与える重み値は、例えば、その割り込み要求を発する割り込み源31〜34の優先度に基づいて決められる値である。具体的に、優先度が高い割り込み源からの割り込み要求に対しては大きい重み値を設定し、逆に、優先度が低い割り込み源からの割り込み要求に対しては小さい重み値を設定する。
条件レジスタ12は、遅延条件比較部112において、遅延条件決定部111で算出された仮遅延条件値PDVと比較する遅延条件閾値DTVを格納する。また、アンドゲート1141〜1144は、遅延条件比較部112の比較結果に従って割り込み要求のプロセッサ2への通知を制御する。
なお、遅延制限カウンタ115は、遅延条件比較部112による比較結果に関わらず、その遅延制限カウンタ115が所定値に達したときに、割り込み要求をプロセッサ2に纏めて通知するためのものである。
例えば、発せられた複数の割り込み要求の優先度がすべて低く、遅延条件比較部112における仮遅延条件値と遅延条件閾値の比較に長時間を要する場合、所定時間だけカウンとするとそれまでの割り込み要求をプロセッサ2に通知するようになっている。
これにより、たとえ優先度が低い(重み値が小さい)割り込み要求であっても、遅延制限カウンタ115により規定される所定時間がカウントされたときには、プロセッサ2への通知が行われ、長時間割り込み処理が停滞するのを避けることが可能になる。
なお、図6において、割り込み要求IR1〜IR4は、それぞれ直接アンドゲート1141〜1144の一方の入力に供給され、各他方の入力に供給された遅延条件比較部112の出力信号との論理を取るようになっている。
しかしながら、実際には、例えば、遅延制御部11に対して割り込み要求IR1〜IR4を保持しておくラッチ回路等を設けるのはいうまでもない。
図7は図6の遅延制御部における処理の一例を説明するための図である。
図7に示されるように、まず、オペレーションSOAにおいて、重み値レジスタ113に対して、重み値W1〜W4を設定する。
この重み値W1〜W4の設定は、割り込み要求IR1〜IR4を発する割り込み源31〜34の優先度に基づいて決められ、例えば、外部からソフトウェアにより設定される。
ここで、各割り込み要求IR1〜IR4に与える重み値W1〜W4は、例えば、割り込みコントローラ1の割り込み入力端子の優先度に相当するものである。
すなわち、優先度が高い割り込み源(例えば、割り込み源32)からの割り込み要求(例えば、IR2)は、割り込み応答のリアルタイム性が高く、これは通知遅延のための重み値が大きい(例えば、W2=”4”)ことに対応する。
逆に、優先度が低い割り込み源(例えば、割り込み源33)からの割り込み要求(例えば、IR3)は、割り込み応答のリアルタイム性が低く、これは通知遅延のための重み値が小さい(例えば、W3=”1”)ことに対応する。
なお、重み値W1〜W4は任意に設定することができるものであり、各割り込み源31〜34から発せられた割り込み要求IR1〜IR4の重み値の総和が、仮遅延条件値PDVになる。
次に、オペレーションSOBにおいて、条件レジスタ12に対して遅延条件閾値DTVとなる値を設定する。
また、オペレーションSOCにおいて、そのサイクル時点で発生している各割り込み要求(例えば、IR1,IR3,IR2)の重み値(例えば、W1,W3,W2)を遅延条件決定部(加算器)111に入力する。
さらに、オペレーションSODにおいて、遅延条件決定部111によりそれらの重み値(例えば、W1,W3,W2)を足し合わせる。
ここで、遅延条件決定部111による加算結果は、仮遅延条件値PDVとして遅延条件比較部112に供給される。また、遅延条件比較部112には、条件レジスタ12から遅延条件閾値DTVが供給されている。
そして、オペレーションSOEにおいて、仮遅延条件値PDVと遅延条件閾値DTVとの比較を行う。すなわち、PDV≧DTVならば、発生している割り込み要求(例えば、IR1,IR3,IR2)をプロセッサ2に纏めて通知する(図7中の符号A参照)。
すなわち、図6における遅延条件比較部112からアンドゲート1141〜1144に対して高レベル”1”の信号が供給され、発せられたすべての割り込み要求(例えば、IR1〜IR3)がプロセッサ2に纏めて通知される。
一方、PDV<DTVならば、オペレーションSOCに戻って(図7中の符号B参照)、さらなる割り込み要求の入力を待って、上述したオペレーションSODおよびSOEを繰り返す。
すなわち、図6における遅延条件比較部112からアンドゲート1141〜1144に対して低レベル”0”の信号が供給され、すべての割り込み要求は、プロセッサ2に対しては通知されずに遅延されることになる。
ここで、前述したように、遅延制限カウンタ115による処理を行うこともできるのはいうまでもない。
すなわち、遅延条件比較部112による比較結果に関わらず、遅延制限カウンタ115が所定値に達したときに、割り込み要求をプロセッサ2に対して発生している割り込み要求を纏めて通知する処理を含めることもできる。
図8は第1実施例の割り込み通知制御装置の動作の一例を説明するためのタイミングチャートである。
図8の例では、時間T1で割り込み源31からの割り込み要求IR1が発生し、時間T2で割り込み源33からの割り込み要求IR3が発生し、そして、時間T3で割り込み源32からの割り込み要求IR2が発生している。
ここで、各割り込み源から発生する割り込み要求の重み値は、割り込み要求IR1の重み値W1は”3”、 割り込み要求IR3の重み値W3は”1”、そして、割り込み要求IR2の重み値W2は”4”に設定されている。
なお、条件レジスタ12には、”5”の遅延条件閾値DTVが設定されている。また、図8の例では、発生していないが、割り込み源34からの割り込み要求IR4の重み値W4は”2”に設定されている。
前述した図7におけるオペレーションSODの遅延条件決定部111による重み値の加算処理は、時間T1では重み値W1が”3”の割り込み要求IR1だけしか発生していないため、仮遅延条件値PDVは”3”になる。
このとき、図7におけるオペレーションSOEの遅延条件比較部112による比較処理は、遅延条件閾値DTVが”5”なので、PDV(”3”)<DTV(”5”)になって、さらなる割り込み要求の発生を待つ(図7中の符号B)。
すなわち、PDV<DTVとなって、仮遅延条件値PDVは遅延条件閾値DTVを越えないので、プロセッサ2に対する割り込み要求の通知IR1は、さらに遅延されることになる。
次に、時間T2で重み値W3が”1”の割り込み要求IR3が発生すると、オペレーションSODの遅延条件決定部111による重み値の加算処理は、W1(”3”)+W3(”1”)により、仮遅延条件値PDVは”4”になる。
このとき、オペレーションSOEの遅延条件比較部112による比較処理は、PDV(”4”)<DTV(”5”)になって、時間T1と同様にさらなる割り込み要求の発生を待つ(図7中の符号B)。
すなわち、PDV<DTVとなって,仮遅延条件値PDVは遅延条件閾値DTVを越えないので、プロセッサ2に対する割り込み要求の通知IR1およびIR3は、さらに遅延されることになる。
そして、時間T3で重み値W2が”4”の割り込み要求IR2が発生すると、オペレーションSODの遅延条件決定部111による重み値の加算処理は、W1(”3”)+W3(”1”)+W2(”4”)により、仮遅延条件値PDVは”8”になる。
このとき、オペレーションSOEの遅延条件比較部112による比較処理は、PDV(”8”)≧DTV(”5”)になって、参照符号N1のように、割り込み要求IR1,IR3,IR2をプロセッサ2に纏めて通知する(図7中の符号A)。
すなわち、PDV≧DTVとなって、仮遅延条件値PDVが遅延条件閾値DTVを越えたので、遅延させていた割り込み要求IR1およびIR3と、割り込み源32から発生した割り込み要求IR2を纏めてプロセッサ2に通知する。
そして、プロセッサ2は、割り込みコントローラ1から纏めて通知された割り込み要求IR1,IR3,IR2を順次処理することになる。
なお、図8の例では、開始値が”2”とされた遅延制限カウンタ115も設けられており、この遅延制限カウンタ115による処理も示されている。
すなわち、遅延制限カウンタ115は、時間T1〜T3によりカウント値を1ずつデクリメントして”0”になるまでの所定の時間が経過すると、発生している割り込み要求をプロセッサ2に纏めて通知するようになっている。
従って、図8の例では、遅延条件比較部112による比較処理、並びに、遅延制限カウンタ115による遅延制限処理の両方の結果として、時間T3(N1)で、発生している割り込み要求IR1,IR3,IR2をプロセッサ2に纏めて通知している。
このように、本第1実施例によれば、図2および図3を参照して説明した割り込み通知制御装置では3回必要であった割り込みハンドラの起動/終了を1回に留めることができ、割り込み処理に伴うオーバーヘッドを削減することが可能になる。
図9は第2実施例の割り込み通知制御装置を概略的に示すブロック図である。
本第2実施例における遅延制限カウンタ115’は、第1実施例における遅延制限カウンタ115とは異なり、割り込み源から発せられた割り込み要求の数が所定数に達したときに、それらの割り込み要求をプロセッサ2に纏めて通知する。
すなわち、図6に示す第1実施例における遅延制限カウンタ115は、最初の割り込み要求を受け取ってからの時間経過をカウントするのに対して、本第2実施例における遅延制限カウンタ115’は、割り込み要求の数をカウントしている。
そして、その受け取った割り込み要求の数が所定数に達したときに、その割り込み要求をプロセッサ2に纏めて通知するようになっている。
さらに、図9と図6との比較から明らかなように、本第2実施例の割り込み通知制御装置1における遅延制御部11’では、例えば、割り込み源31からの割り込み要求IR1をそのままプロセッサ2に供給するようになっている。
すなわち、例えば、割り込み源31からの割り込み要求IR1は、その優先度(緊急度)が非常に高く、その割り込み要求IR1が発せられたときは、直ちにプロセッサ2に通知して割り込み処理を行うようになっている。
このように、上述した実施例は、割り込み源からの割り込み要求の優先度および処理の緊急性等を考慮して、適宜変形することができる。
図10は本実施例が適用される半導体集積回路の一例を概略的に示すブロック図である。
図10に示されるように、本実施例が適用される半導体集積回路100は、割り込み通知制御装置1と、プロセッサ2と、このプロセッサ2に接続された周辺マクロ3と、を有する。
ここで、周辺マクロ3としては、その半導体集積回路100が使用されるシステムに応じて様々に変化し、例えば、RAM等のメモリ回路やバッファ回路、或いは、バス回路やI/O回路といった様々なものが考えられる。
1,1’,501 割り込み通知制御装置(割り込みコントローラ)
2,502 プロセッサ
3 周辺マクロ
11,11’,511,5111〜5114 遅延制御部
12,5111〜5114 条件レジスタ
31〜34,503,531〜534 割り込み源
111 遅延条件決定部(加算器)
112 遅延条件比較部(比較器)
113 重み値レジスタ
115,115’,511a 遅延制限カウンタ
1141〜1144,511b アンドゲート

Claims (10)

  1. 複数の割り込み源からの割り込み要求を受け取り、該受け取った割り込み要求を纏めてプロセッサに通知する割り込み通知制御装置であって、
    前記割り込み要求の相互関係を判断し、前記プロセッサに対して前記割り込み要求を纏めて通知するタイミングを制御することを特徴とする割り込み通知制御装置。
  2. 請求項1に記載の割り込み通知制御装置において、該割り込み通知制御装置は、
    前記各割り込み要求の優先度に基づいて、前記プロセッサに対して前記割り込み要求を纏めて通知するタイミングの遅延を制御する遅延制御部と、
    該遅延制御部が前記通知タイミングの遅延を判断する条件を格納する条件レジスタと、を有することを特徴とする割り込み通知制御装置。
  3. 請求項2に記載の割り込み通知制御装置において、
    前記遅延制御部は、前記各割り込み要求の優先度に基づいた重み値を演算し、前記条件レジスタに格納された閾値と比較して前記通知タイミングの遅延を制御することを特徴とする割り込み通知制御装置。
  4. 請求項3に記載の割り込み通知制御装置において、
    前記遅延制御部は、
    前記複数の割り込み源からの各割り込み要求に与える重み値を記憶する重み値レジスタと、
    前記受け取った割り込み要求に与えられた前記重み値を演算して仮遅延条件値を算出する遅延条件決定部と、
    前記仮遅延条件値を、前記条件レジスタに格納された閾値である遅延条件閾値と比較する遅延条件比較部と、を有し、
    前記遅延条件比較部により前記仮遅延条件値が前記遅延条件閾値よりも大きいと判別されたときに、前記受け取った割り込み要求を纏めて前記プロセッサに通知することを特徴とする割り込み通知制御装置。
  5. 請求項4に記載の割り込み通知制御装置において、
    前記遅延条件決定部は、前記受け取った割り込み要求に与えられた前記重み値を加算して前記仮遅延条件値を算出する加算器であり、
    前記遅延条件比較部は、前記仮遅延条件値と前記遅延条件閾値との大小を比較する比較器であることを特徴とする割り込み通知制御装置。
  6. 請求項4または5に記載の割り込み通知制御装置において、
    前記遅延制御部は、遅延制限カウンタを有し、前記比較器による比較結果に関わらず、前記遅延制限カウンタが所定値に達したときに、前記受け取った割り込み要求を前記プロセッサに纏めて通知することを特徴とする割り込み通知制御装置。
  7. 請求項6に記載の割り込み通知制御装置において、
    前記遅延制限カウンタは所定の時間をカウントし、前記複数の割り込み源からの最初の割り込み要求を受け取ってから該所定の時間が経過したときに、前記受け取った割り込み要求を前記プロセッサに纏めて通知することを特徴とする割り込み通知制御装置。
  8. 請求項6に記載の割り込み通知制御装置において、
    前記遅延制限カウンタは、前記受け取った割り込み要求の数をカウントし、前記受け取った割り込み要求の数が所定数に達したときに、前記受け取った割り込み要求を前記プロセッサに纏めて通知することを特徴とする割り込み通知制御装置。
  9. 請求項2〜8のいずれか1項に記載の割り込み通知制御装置において、
    前記複数の割り込み源の少なくとも1つからの割り込み要求は、前記遅延制御部を介さずに直接前記プロセッサに通知されることを特徴とする割り込み通知制御装置。
  10. 請求項1〜9のいずれか1項に記載の割り込み通知制御装置と、前記プロセッサと、該プロセッサに接続された周辺マクロと、を有することを特徴とする半導体集積回路。
JP2009126534A 2009-05-26 2009-05-26 割り込み通知制御装置および半導体集積回路 Expired - Fee Related JP5267328B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009126534A JP5267328B2 (ja) 2009-05-26 2009-05-26 割り込み通知制御装置および半導体集積回路
US12/770,224 US8612661B2 (en) 2009-05-26 2010-04-29 Interrupt-notification control unit, semiconductor integrated circuit and methods therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009126534A JP5267328B2 (ja) 2009-05-26 2009-05-26 割り込み通知制御装置および半導体集積回路

Publications (2)

Publication Number Publication Date
JP2010277158A true JP2010277158A (ja) 2010-12-09
JP5267328B2 JP5267328B2 (ja) 2013-08-21

Family

ID=43221551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009126534A Expired - Fee Related JP5267328B2 (ja) 2009-05-26 2009-05-26 割り込み通知制御装置および半導体集積回路

Country Status (2)

Country Link
US (1) US8612661B2 (ja)
JP (1) JP5267328B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5866082B1 (ja) * 2015-06-22 2016-02-17 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの制御方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010003521A1 (de) * 2010-03-31 2011-10-06 Robert Bosch Gmbh Modulare Struktur zur Datenverarbeitung
TWI497419B (zh) * 2011-10-20 2015-08-21 Via Tech Inc 電腦裝置及其中斷任務分配方法
WO2014012580A1 (en) * 2012-07-17 2014-01-23 Siemens Aktiengesellschaft Device and method for interrupt coalescing
US9542345B2 (en) * 2012-09-28 2017-01-10 Apple Inc. Interrupt suppression strategy
US9559968B2 (en) 2015-03-23 2017-01-31 Cisco Technology, Inc. Technique for achieving low latency in data center network environments
US10387343B2 (en) 2015-04-07 2019-08-20 International Business Machines Corporation Processing of events for accelerators utilized for parallel processing
US10009294B2 (en) * 2015-05-15 2018-06-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Communication device for limiting processing of interrupt-causing messages
US20220206973A1 (en) * 2020-12-24 2022-06-30 Intel Corporation Interrupt and exception clustering in a processor using timing groups

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02153433A (ja) * 1988-12-05 1990-06-13 Fujitsu Ltd 割り込みの優先制御方式
JPH04352057A (ja) * 1991-05-29 1992-12-07 Nec Corp 割込み通知回路
JPH07168723A (ja) * 1993-12-14 1995-07-04 Nec Corp コンピュータシステムの外部イベント検出方式
JPH10207822A (ja) * 1997-01-02 1998-08-07 Digital Equip Corp <Dec> 高速i/oコントローラにおける割り込み処理方法
JP2000322270A (ja) * 1999-05-11 2000-11-24 Matsushita Electric Ind Co Ltd 割り込み制御方法
JP2001014243A (ja) * 1999-07-01 2001-01-19 Mitsubishi Electric Corp 受信割込処理装置
JP2002182930A (ja) * 2000-12-18 2002-06-28 Hitachi Kokusai Electric Inc 割り込み制御装置
WO2003063002A1 (fr) * 2002-01-24 2003-07-31 Fujitsu Limited Ordinateur permettant de determiner dynamiquement un delai d'interruption
JP2004118546A (ja) * 2002-09-26 2004-04-15 Nec Corp バス調停方式及びデータ転送装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708814A (en) * 1995-11-21 1998-01-13 Microsoft Corporation Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events
US5937199A (en) * 1997-06-03 1999-08-10 International Business Machines Corporation User programmable interrupt mask with timeout for enhanced resource locking efficiency
US6189066B1 (en) * 1999-01-26 2001-02-13 3Com Corporation System and method for dynamically selecting interrupt time interval threshold parameters
US6889279B2 (en) * 2000-12-11 2005-05-03 Cadence Design Systems, Inc. Pre-stored vector interrupt handling system and method
US6889277B2 (en) * 2002-04-18 2005-05-03 Sun Microsystems, Inc. System and method for dynamically tuning interrupt coalescing parameters
US6895460B2 (en) * 2002-07-19 2005-05-17 Hewlett-Packard Development Company, L.P. Synchronization of asynchronous emulated interrupts
US7587587B2 (en) * 2002-12-05 2009-09-08 Broadcom Corporation Data path security processing
JP4298543B2 (ja) 2004-02-24 2009-07-22 京セラミタ株式会社 割り込み制御装置
US7478186B1 (en) * 2004-06-03 2009-01-13 Integrated Device Technology, Inc. Interrupt coalescer for DMA channel
TWI283977B (en) * 2005-12-16 2007-07-11 Ind Tech Res Inst Adaptive interrupts coalescing system with recognizing minimum delay packets
US7788434B2 (en) * 2006-12-15 2010-08-31 Microchip Technology Incorporated Interrupt controller handling interrupts with and without coalescing
US8259576B2 (en) * 2007-03-23 2012-09-04 Intel Corporation Method and apparatus for performing interrupt coalescing
US7743193B2 (en) * 2007-10-31 2010-06-22 Tpk Touch Solutions Inc. Logic gateway circuit for bus that supports multiple interrupt request signals
US7788435B2 (en) * 2008-01-09 2010-08-31 Microsoft Corporation Interrupt redirection with coalescing
JP4653192B2 (ja) 2008-04-25 2011-03-16 富士通株式会社 割込み遅延を動的に決定する計算機

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02153433A (ja) * 1988-12-05 1990-06-13 Fujitsu Ltd 割り込みの優先制御方式
JPH04352057A (ja) * 1991-05-29 1992-12-07 Nec Corp 割込み通知回路
JPH07168723A (ja) * 1993-12-14 1995-07-04 Nec Corp コンピュータシステムの外部イベント検出方式
JPH10207822A (ja) * 1997-01-02 1998-08-07 Digital Equip Corp <Dec> 高速i/oコントローラにおける割り込み処理方法
JP2000322270A (ja) * 1999-05-11 2000-11-24 Matsushita Electric Ind Co Ltd 割り込み制御方法
JP2001014243A (ja) * 1999-07-01 2001-01-19 Mitsubishi Electric Corp 受信割込処理装置
JP2002182930A (ja) * 2000-12-18 2002-06-28 Hitachi Kokusai Electric Inc 割り込み制御装置
WO2003063002A1 (fr) * 2002-01-24 2003-07-31 Fujitsu Limited Ordinateur permettant de determiner dynamiquement un delai d'interruption
JP2004118546A (ja) * 2002-09-26 2004-04-15 Nec Corp バス調停方式及びデータ転送装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5866082B1 (ja) * 2015-06-22 2016-02-17 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの制御方法
WO2016207937A1 (ja) * 2015-06-22 2016-12-29 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの制御方法

Also Published As

Publication number Publication date
US20100306433A1 (en) 2010-12-02
JP5267328B2 (ja) 2013-08-21
US8612661B2 (en) 2013-12-17

Similar Documents

Publication Publication Date Title
JP5267328B2 (ja) 割り込み通知制御装置および半導体集積回路
US11157061B2 (en) Processor management via thread status
JP2008176360A (ja) マルチプロセッサシステム
WO2007099613A1 (ja) コマンド選択方法、装置、コマンド投入方法、及び装置
JP2007108944A (ja) 半導体集積回路装置
US8793421B2 (en) Queue arbitration using non-stalling request indication
JP2009025939A (ja) タスク制御方法及び半導体集積回路
US7805557B2 (en) Interrupt controller and method for handling interrupts
CN107436767A (zh) 一种异步框架中幂等操作的优化方法
WO2016177081A1 (zh) 通知消息处理方法及装置
EP2159686B1 (en) Information processor and method therefor
TWI277906B (en) Method, apparatus and system for handling interrupts
US11061840B2 (en) Managing network interface controller-generated interrupts
US20050066093A1 (en) Real-time processor system and control method
KR101635816B1 (ko) 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치
JP2010282352A (ja) Dma転送制御装置
KR101087177B1 (ko) 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US9058207B2 (en) Simulation apparatus, method, and computer-readable recording medium
JP2011108140A (ja) データ処理装置
US10078604B1 (en) Interrupt coalescing
JP2011243120A (ja) ジョブ管理装置、ジョブ管理方法、およびジョブ管理プログラム
KR101674324B1 (ko) 실시간 제어 응용에 적용되는 태스크 스케쥴링 장치 및 방법
JP5348698B2 (ja) 情報処理装置及び情報処理方法
JP5441185B2 (ja) 割り込みコントローラ及び時分割割り込み発生方法
JP4877317B2 (ja) 情報処理装置、割り込み制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5267328

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees