(57)【要約】 【課題】  割り込み要因のクリアに際して多重割り込みの発生を抑制する。【解決手段】  プロセッサ部（１１）、低速モジュール（ＭＤＬ１〜ＭＤＬ４）、第１の割り込みコントローラ（９）、及び第２の割り込みコントローラ（３７）を有する。第１の割り込みコントローラは前記低速モジュールからの割り込み要求を制御する。第２の割り込みコントローラは外部からの割り込み要求と第１の割り込みコントローラからの割り込み要求発生の通知とを制御してプロセッサ部に割り込み要求の発生を通知する。前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、第１の割り込みコントローラに第２の割り込みコントローラへの割り込み要求発生の通知をマスクさせる。マスクさせた状態でプロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に、低速モジュールに割り込み要因のクリアを指示する。【選択図】        図１
2006331156.tif 000002
【特許請求の範囲】
【請求項１】
高速クロックに同期動作し、命令を実行するプロセッサ部と、
低周波クロックに同期動作し、割り込み要求を発生する低速モジュールと、
前記低速モジュールからの割り込み要求を制御する第１の割り込みコントローラと、
外部からの割り込み要求と前記第１の割り込みコントローラからの割り込み要求発生の通知とを制御して前記プロセッサ部に割り込み要求の発生を通知する第２の割り込みコントローラと、
前記第１の割り込みコントローラ及びプロセッサ部に接続される第１の内部バスと、
前記第１の内部バスに前記第２の割り込みコントローラ及び前記低速モジュールを接続するバスブリッジ回路と、を１個の半導体基板に有し、
前記第１の割り込みコントローラは第２の割り込みコントローラよりも周波数の高い中速クロックに同期動作される半導体装置。
【請求項２】
前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第１の割り込みコントローラに前記第２の割り込みコントローラへの割り込み要求発生の通知をマスクさせ、マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールに割り込み要因のクリアを指示する請求項１記載の半導体装置。
【請求項３】
前記低速モジュールは要因フラグを有し、前記要因フラグは割り込み要因の発生に応答してセットされ、前記要因フラグがセットされたとき低速モジュールは割り込み要求を発生し、
前記第１の割り込みコントローラはマスクフラグを有し、前記マスクフラグは前記プロセッサ部によって操作され、前記マスクフラグがセットされているとき前記第１の割り込みコントローラは前記低速モジュールから割り込み要求が発生されても第２の割り込みコントローラに対する割り込み要求発生の通知をマスクし、
前記プロセッサ部はブロックフラグを有し、前記ブロックフラグは前記第２の割り込みコントローラからの割り込み要求発生の通知によってセットされ、前記ブロックフラグがセットされたとき前記プロセッサ部は所定の割り込み要求以外の割り込み要求発生の通知を拒絶し、
前記プロセッサ部は、前記低速モジュールが発生した割り込み要求に基づく割り込み処理から元の処理に復帰する前に、前記マスクフラグをリセットし、次に前記ブロックフラグのリセットと当該割り込み要因に係る要因フラグのリセット指示とを行なう請求項１記載の半導体装置。
【請求項４】
前記第１の割り込みコントローラは、前記要因フラグがリセットされるのに応答して前記マスクフラグをリセットする請求項３記載の半導体装置。
【請求項５】
前記プロセッサブロックは、前記ブロックフラグのリセットを行なってから当該割り込み要因に係る要因フラグのリセットを指示する請求項４記載の半導体装置。
【請求項６】
前記第１の内部バスはスプリットトランザクションバスである請求項５記載の半導体装置。
【請求項７】
前記バスブリッジ回路に前記第２の割り込みコントローラを接続する第２の内部バスと、前記バスブリッジ回路に前記低速モジュールを接続する第３の内部バスとを有し、前記第２の内部バス及び第３の内部バスのデータ転送速度は前記第１の内部バスのデータ転送速度よりも遅い請求項６記載の半導体装置。
【請求項８】
低周波クロックに同期して動作し、割り込み要求を発生するモジュールと、
中周波クロックに同期して動作し、割り込み要求を制御する第１の割り込みコントローラ及び第２の割り込みコントローラと、
高周波クロックに同期して動作し、命令を実行するプロセッサ部と、を１個の半導体基板に有し、
前記第１の割り込みコントローラは前記モジュールからの割り込み要求の発生を検出して第２の割り込みコントローラに通知し、
前記第２の割り込みコントローラは別の回路からの割り込み要求の発生及び前記第１の割り込みコントローラからの割り込み要求発生の通知を検出してプロセッサ部に通知し、
前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第１の割り込みコントローラに前記第２の割り込みコントローラへの割り込み要求発生の通知をマスクさせ、マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールへの割り込み要因のクリアを指示する半導体装置。
【請求項９】
前記第１の割込みコントローラは、前記モジュールへの割り込み要因のクリアによって前記第２の割り込みコントローラへの割り込み要求発生の通知に対するマスクをクリアする請求項８記載の半導体装置。
【請求項１０】
前記第１の割り込みコントローラは第２の割り込みコントローラよりも周波数の高い中速クロックに同期動作される請求項９記載の半導体装置。
【請求項１１】
前記プロセッサ部と前記第１の割り込みコントローラはスプリットトランザクションバスで接続される請求項１０記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り込みコントローラを有する半導体装置、更には割り込み要因をクリアするための割り込み制御に関し、例えばマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
プロセッサ部とその周辺モジュールをオンチップしたマイクロコンピュータにおいてそのデータプロセッサ部の動作速度は高速化される傾向にある。これに対し、周辺モジュールの中にはインタフェース仕様上高速化の対象になり難い低速周辺モジュールが存在する。従来のマイクロコンピュータはプロセッサ部と共に１個の割り込みコントローラを１個の半導体基板に有する。この割り込みコントローラが外部からの割り込み要求及び内部の低速周辺モジュールからの割り込み要求などに対する制御を行う。
【０００３】
割り込みコントローラは内部モジュール及び外部からの割り込み要求があると割り込み優先レベルや割り込みマスク制御を行って割り込み信号をプロセッサ部に与える。これによってプロセッサ部は命令実行を中断し、状態保存を行ない、その割り込み要求に応ずる割り込み処理を行なう。このとき、プロセッサ部はブロックフラグをセットし、割り込み処理から復帰するとき、割り込み要因をクリアしたとき再度同じ割り込みが受付けられないように、割り込み要因をクリアしてからブロックフラグをリセットする。
【０００４】
特許文献１には、ＣＰＵ、割り込みコントローラ、割り込み制御回路及び割り込みデバイスを夫々個別チップ若しくは個別のオンボード回路で構成したデータ処理システムについて記載がある。割り込み制御回路は割り込みデバイス群と割り込みコントローラとの間に配置される。割り込み制御回路は、割り込みデバイスで発生した割り込み要求を一旦ラッチし、割り込みコントローラと同期を採り、割り込みコントローラが割り込み要求を内部でラッチしたら自動的にクリアする。これにより、ＣＰＵに余分なオーバーヘッドがかからないようになる。前記自動的クリアはＣＰＵによる割り込み応答サイクルの最後を割り込み制御回路が検出することによって行なう。
【０００５】
【特許文献１】特開平５−８８９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明者は割り込み制御に関するＣＰＵのオーバーヘッドについて検討した。特に割り込み処理から復帰するときの多重割り込みの抑制である。即ち、割り込み要因をクリアしてからブロックフラグをリセットするために、プロセッサ部は低速周辺モジュールに対して割り込み要因フラグのリセットを指示してから実際にリセットされるのを待ってブロックフラグをリセットしなければならない。しかしながら、低速バスを介して実際にクリアされるには時間を要し、これが無視し得ないオーバーヘッドとなる。特にプロセッサ部がスプリットトランザクションバスに接続されている場合には、前記要因フラグをリセットする書き込みアクセスパケットが実際に処理されたことを、フラグのポーリングによって確認しなければならない。特許文献１のような自動クリアを行なう場合にはＣＰＵによる割り込み応答サイクルの最後を検出して制御する割り込み制御回路が特別に必要になる。
【０００７】
また、半導体装置の仕様上、外部インタフェース信号に関してＴｒＴｆ（立ち上がり立ち下がり時間）が定められている。無駄なサイクルが発生しないように外部割込み信号を認識するには割り込みコントローラはＴｒＴｆの仕様に即した動作周波数で動作することが望ましい。しかしながら、割り込みコントローラ全体をそのような動作周波数で動作させると、プロセッサ部が高速化されても内部割込み要求信号に対する割り込み制御の高速化を実現できなくなる虞のあることが本発明者によって見出された。
【０００８】
本発明の目的は、割り込み要因のクリアに際して多重割り込みの発生を抑制することができると共にプロセッサ部のオーバーヘッドを小さくすることができる半導体装置を提供することにある。
【０００９】
本発明の別の目的は、プロセッサ部の高速化に伴って内部割込み要求信号に対する割り込み制御を高速化することが可能な半導体装置を提供することにある。
【００１０】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１２】
〔１〕半導体装置（１）は、プロセッサ部（２）、低速モジュール（ＭＤＬ１〜ＭＤＬ４）、第１の割り込みコントローラ（９）、第２の割り込みコントローラ（３７）、第１の内部バス（４）、及びバスブリッジ回路（５）を１個の半導体基板に有する。前記プロセッサ部は高速クロックに同期動作し、命令を実行する。前記低速モジュールは低周波クロックに同期動作し、割り込み要求（ＩＲＱ１〜ＩＲＱ４）を発生する。前記第１の割り込みコントローラは前記低速モジュールからの割り込み要求を制御する。前記第２の割り込みコントローラは外部からの割り込み要求（ＮＭＩ，ＥＸＩＲＱ）と前記第１の割り込みコントローラからの割り込み要求発生の通知（ＩＲＱａ）とを制御して前記プロセッサ部に割り込み要求の発生を通知する（ＩＲＱｂ）。前記第１の内部バスは前記第１の割り込みコントローラ及びプロセッサ部に接続される。前記バスブリッジ回路は前記第1の内部バスに前記第２の割り込みコントローラ及び前記低速モジュールを接続する。前記第１の割り込みコントローラは第２の割り込みコントローラよりも周波数の高い中速クロックに同期動作される。
【００１３】
外部からの割り込み要求の発生を制御する第２の割り込みコントローラは第１の割り込みコントローラとは別のクロックに同期動作するから、第２の割り込みコントローラは外部インタフェース信号に関するＴｒＴｆの仕様に即した動作周波数で動作することになっても、第１の割り込みコントローラの動作周波数はそれによる制限を受けない。これにより、プロセッサ部の高速化に伴い、低速モジュールからの割込み要求に対する割り込み制御を高速化することが可能になる。従って、前記第１の割り込みコントローラは第２の割り込みコントローラよりも周波数の高い中速クロックに同期動作させることができる。
【００１４】
〔２〕更に前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第１の割り込みコントローラに前記第２の割り込みコントローラへの割り込み要求発生の通知をマスクさせ、マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールに割り込み要因のクリアを指示する。
【００１５】
上記より、前記第１の割り込みコントローラに前記第２の割り込みコントローラへの割り込み要求発生の通知をマスクさせることにより、実際に割り込み要因がクリアされているか否かに拘らず、当該割り込み要因による多重割り込みの発生を抑制することができる。この後プロセッサ部は割り込み処理から復帰して新たな割り込みに備えることができ、割り込み応答性を向上させることができ、プロセッサ部のオーバーヘッドを小さくすることができる。更に、前記第２の割り込みコントローラへの割り込み要求発生の通知をマスクすればよいから、割り込み応答サイクルの終了を検出するような特別のロジック回路を必要としない。
【００１６】
前記多重割り込みの発生を抑制するための具体的な手段として以下の一つの具体的な形態を採用してよい。即ち、前記低速モジュールは要因フラグ（ＰＲＭ１〜ＰＲＭ４）を有し、前記要因フラグは割り込み要因の発生に応答してセットされ、前記要因フラグがセットされたとき低速モジュールは割り込み要求（ＩＲＱ１〜ＩＲＱ４）を発生する。前記第１の割り込みコントローラはマスクフラグ（ＭＳＫ）を有し、前記マスクフラグは前記プロセッサ部によって操作され、前記マスクフラグがセットされているとき前記第１の割り込みコントローラは前記低速モジュールから割り込み要求（ＩＲＱａ）が発生されても第２の割り込みコントローラに対する割り込み要求発生の通知をマスクする。前記プロセッサ部はブロックフラグ（ＢＬ）を有し、前記ブロックフラグは前記第２の割り込みコントローラからの割り込み要求発生の通知（ＩＲＱｂ）によってセットされる。前記ブロックフラグがセットされたとき前記プロセッサ部は所定の割り込み要求以外の割り込み要求発生の通知を拒絶する。前記プロセッサ部は、前記低速モジュールが発生した割り込み要求に基づく割り込み処理から元の処理に復帰する前に、前記マスクフラグをリセットし、次に前記ブロックフラグのリセットと当該割り込み要因に係る要因フラグのリセット指示とを行なう。
【００１７】
本発明の別の一つの具体的な形態として、前記第１の割り込みコントローラは、前記要因フラグがリセットされるのに応答して前記マスクフラグをリセットする。プロセッサ部がセットしたマスクフラグを自動クリアすることができ、この点においてもプロセッサ部の負担軽減になる。
【００１８】
本発明の別の一つの具体的な形態として、前記プロセッサブロックは、前記ブロックフラグのリセットを行なってから当該割り込み要因に係る要因フラグのリセットを指示する。逆にする場合よりも、新たな割り込み受け付け可能状態に早く遷移でき、割り込み応答性が良好になる。
【００１９】
本発明の別の一つの具体的な形態として、前記第１の内部バスはスプリットトランザクションバスである。スプリットトランザクションバスによりデータ転送のスループットが全体的に上がるが、特に書き込みパケットに対してその書き込み結果を確認するには読出しパケットによるポーリングを行なわなければならない。この点において、スプリットトランザクションバスの場合にはプロセッサ部のオーバーヘッド低減効果は顕著に現れる。
【００２０】
本発明の別の一つの具体的な形態として、前記バスブリッジ回路に前記第２の割り込みコントローラを接続する第２の内部バス２１と、前記バスブリッジ回路に前記低速モジュールを接続する第３の内部バス（２３）とを有し、前記第２の内部バス及び第３の内部バスのデータ転送速度は前記第１の内部バスのデータ転送速度よりも遅い。
【００２１】
〔３〕前記多重割り込みの発生の抑制を主眼とする観点による半導体装置は、モジュール、第１の割り込みコントローラ、第２の割り込みコントローラ及びプロセッサ部を１個の半導体基板に有する。前記モジュールは低周波クロックに同期して動作し、割り込み要求を発生する。前記第１の割り込みコントローラ及び第２の割り込みコントローラは中周波クロックに同期して動作し、割り込み要求を制御する。前記プロセッサ部は高周波クロックに同期して動作し、命令を実行する。前記第１の割り込みコントローラは前記モジュールからの割り込み要求の発生を検出して第２の割り込みコントローラに通知する。前記第２の割り込みコントローラは別の回路からの割り込み要求の発生及び前記第１の割り込みコントローラからの割り込み要求発生の通知を検出してプロセッサ部に通知する。前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第１の割り込みコントローラに前記第２の割り込みコントローラへの割り込み要求発生の通知をマスクさせる。マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールへの割り込み要因のクリアを指示する。
【００２２】
本発明の一つの具体的な形態として、前記第１の割込みコントローラは、前記モジュールへの割り込み要因のクリアによって前記第２の割り込みコントローラへの割り込み要求発生の通知に対するマスクをクリアする。
【００２３】
本発明の別の一つの具体的な形態として、前記第１の割り込みコントローラは第２の割り込みコントローラよりも周波数の高い中速クロックに同期動作される。
【００２４】
本発明の別の一つの具体的な形態として、前記プロセッサ部と前記第１の割り込みコントローラはスプリットトランザクションバスで接続される。
【発明の効果】
【００２５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２６】
すなわち、割り込み要因のクリアに際して多重割り込みの発生を抑制することができると共にプロセッサ部のオーバーヘッドを小さくすることができる。
【００２７】
プロセッサ部の高速化に伴い内部割込み要求信号に対する割り込み制御の高速化を実現可能になる。
【発明を実施するための最良の形態】
【００２８】
図２には本発明の一例に係るマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ（ＭＣＵ）１は、特に制限されないが、相補型ＭＯＳ（ＣＭＯＳ）集積回路製造技術により、単結晶シリコンなどの１個の半導体基板（半導体チップ）に形成され、例えばカーナビゲーションに必要な画像処理および音声処理機能、並びにＤＤＲ−ＳＤＲＡＭインタフェース等を備える。
【００２９】
マイクロコンピュータ１は、プロセッサ部としてのプロセッサコア２及びクロック発生回路（ＣＰＧ）３を有し、プロセッサコア２が接続する第１の内部バスとしてのスーパーハイウェイバス（ＳＨＢ）４にはバスブリッジ回路（ＢＢＲＧ）５、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）６、３次元画像の描画処理などの３次元画像処理を行う３Ｄエンジン（３ＤＧＦＣ）７、ＲＡＭ８、第１の割り込みコントローラ（ＩＮＴＣａ）９及びＤＤＲ―ＳＤＲＡＭメモリコントローラ（ＮＣＥＭＩ）１０が接続される。プロセッサコア２は、フェッチした命令を実行する中央処理装置（ＣＰＵ）１１、浮動小数点演算ユニット（ＦＰＵ）１２及びキャッシュ／メモリマネージメント（ＣＡＣＨ／ＭＭＵ）１３を有する。前記ＤＤＲ―ＳＤＲＡＭメモリコントローラ（ＮＣＥＭＩ）１０に接続される図示を省略するＤＤＲ―ＳＤＲＡＭはＣＰＵ１１のメインメモリ又はフレームバッファ等に利用される。前記バスブリッジ回路５には、第１周辺バス（ＰＢＦ）２１、第２周辺バス（ＰＢＳ）２２及び外部バス（ＥＸＢ）２３が接続される。３Ｄエンジン７は３Ｄバス（３ＤＢ）２４を介してＤＤＲ―ＳＤＲＡＭメモリコントローラ（ＮＣＥＭＩ）１０に接続される。ＤＤＲ−ＳＤＲＡＭメモリコントローラ（ＮＣＥＭＩ）１０には更にグラフィックバス（ＧＦＢ）２０が接続される。
【００３０】
前記スーパーハイウェイバス４はマルチマスターバス若しくはスプリットトランザクション型のバスとされる。スーパーハイウェイバス４に接続する夫々の回路モジュールはマスターポートとスレーブポートを独立に有している。自回路モジュールからのリード／ライトの転送要求はマスターポートからコマンドパケットとして発行する。他回路モジュールからの転送要求はバス調停回路での調停を経た結果、スレーブポートに転送要求として通知され、バストランザクションが実行される。バス調停回路は特に図示はしないがスーパーハイウェイバス４の途中に配置されている。このマルチマスターバス制御方式により、スーパーハイウェイバス４はそれに接続される回路モジュール間の全ての組み合わせの転送が可能にされる。例えばＣＰＵ１１とＤＭＡＣ６、バスブリッジ回路５とＮＣＥＭＩ１０、バスブリッジ回路５とＣＰＵ１１、の間の転送等が可能である。
【００３１】
前記３Ｄバス２４に接続される３ＤＧＦＣ７はスーパーハイウェイバス４を介してＣＰＵ１１から３Ｄ描画コマンドなどの画像処理コマンドを受取って３Ｄ描画処理を行う。描画はＮＣＥＭＩ１０を介して図示を省略する前記ＤＤＲ−ＳＤＲＡＭのフレームバッファ領域に対して行なわれる。
【００３２】
グラフィックバス２０には、２次元画像処理を行なう２Ｄエンジン（２ＤＧＦＣ）３０、表示制御回路（ＤＵ）３１、シリアルインタフェース回路（ＩＥＥＥ１３９４）３２、色空間変換ユニット（ＹＵＶ）３３、ＡＴアタッチメントパケットインタフェース回路（ＡＴＡＰＩ）３４、ビデオ信号入力回路（ＶＩＮ）３５、ユニバーサル・シリアル・バス・ファンクションコントローラ（ＵＳＢ）３６が接続される。表示制御回路３１はフレームバッファ領域に描画された画像データを順次読み出し、ラスタスキャン型のディスプレイに表示タイミングに同期させて出力する制御を行う。ビデオ信号入力回路３５はディジタルビデオ信号を入力する。ＡＴＡＰＩ３４はハードディスクドライブ、ＤＶＤ又はＣＤ−ＲＯＭドライブ等のディスクドライブ装置とのインタフェース制御を行う。
【００３３】
グラフィックバス２０はスーパーハイウェイバス４と同様にマルチマスターバスとされるが、バスのソース、デスティネーションの一方は必ずＤＤＲ−ＳＤＲＡＭメモリコントローラ１０になっている。すなわち、バスブリッジ回路５、２ＤＧＦＣ３０、ＤＵ３１、シリアルインタフェース回路３２、ＹＵＶ３３、ＡＴＡＰＩ３４、ＶＩＮ３５、ＵＳＢ３６はＤＤＲ−ＳＤＲＡＭインタフェース１０を介してＤＤＲ−ＳＤＲＡＭとの間の転送のみを行う。それら画像系の回路モジュール３０などは自回路ブロックで画像処理を行った後にはＤＤＲ−ＳＤＲＡＭに一旦データを格納する必要があるか、或いはＤＤＲ−ＳＤＲＡＭのデータをＤＵ３１に転送する必要があり、全ての転送は必ずＤＤＲ−ＳＤＲＡＭコントローラ１０を経由する構成になっている。
【００３４】
第１周辺バス２１には第２の割り込みコントローラ（ＩＮＴＣｂ）３７、２ＤＧＦＣ３０、ＤＵ３１、シリアルインタフェース回路３２が接続される。
【００３５】
第２周辺バス２２には、調歩同期シリアルコミュニケーションインタフェース回路（ＳＣＩＦ）４０、パルス幅変更タイマ（ＰＷＭ）４１、ＩＥＣ６０９５８オーディオコントローラ（ＳＰＤＩＦ）４２、ソースレートコンバータ（ＳＲＣ）４３、ＧＰＳ（Global Positioning System）サーチ／トラッキングエンジン（ＧＰＳ）４４、前記クロック発生回路３、ローカルエリアネットワーク用のインタフェース回路（ＨＣＡＮ）４６、時計回路としてのリアルタイムクロック（ＲＴＣ）４７、特定の仕様を持つシリアルインタフェース回路（Ｉ２Ｃ）４８、及び汎用入出力インタフェース（ＧＰＩＯ）４９などの周辺回路が接続される。前記クロック発生回路３は図示を省略する振動子又は外部から供給されるシステムクロックをクロック源とし、クロック源からのクロックを分周して複数の内部クロックＣＬＫｉを生成し、各部に供給する。
【００３６】
前記第１周辺バス２１及び第２周辺バス２２はシングルマスターの３２ビットバスであり、バスブリッジ回路５がバスマスターになっている。
【００３７】
前記ＣＰＵ１１は例えば３２ビットＣＰＵでありデータ処理単位は３２ビットとされる。このＣＰＵ１１は１サイクルで複数の命令を発行するスーパースカラ構造を有することにより、動作周波数の約２倍の命令処理実行能力を有する。即ち、ＣＰＵ１１は所謂２ウェイ・スーパースカラ構造を有する。これに呼応して前記スーパーハイウェイバス４は６４ビットバスとされる。したがって、ＣＰＵ１１は並行に２命令を実行して夫々３２ビットのデータを２組用意し、用意された合計６４ビットの２組のデータを１バスサイクルでスーパーハイウェイバス４へ転送可能である。また、ＣＰＵ１１は１バスサイクルでスーパーハイウェイバス４から６４ビットのデータをリードし、リードした下位３２ビットと上位３２ビットを別々に並行して演算処理することも可能にされる。ＭＰＵ２は命令を実行するＣＰＵ１１を少なくとも備えていればよい。
【００３８】
図１にマイクロコンピュータ１における割り込み制御系を示す。５０は第１周辺バス（ＰＨＢ１）２１に接続された周辺モジュールを総称し、周辺モジュール２１内には代表的に周辺モジュールＭＤＬ１、ＭＤＬ２が示されている。５１は第２周辺バス（ＰＨＢ１）２２に接続された周辺モジュールを総称し、周辺モジュール２２内には代表的に周辺モジュールＭＤＬ３、ＭＤＬ４が示されている。
【００３９】
ＭＰＵ２は４００ＭＨｚの高速クロックに同期動作する。周辺モジュールＭＤＬ１，ＭＤＬ２は１００ＭＨｚの中速クロックに同期動作する。周辺モジュールＭＤＬ３、ＭＤＬ４は５０ＭＨｚの低速クロックに同期動作する。スーパーハイウェイバス４のデータ転送速度は２００ＭＨｚの中速クロックに同期する。第１の周辺バス２１のデータ転送速度は１００ＭＨｚの中速クロックに同期する。第２の周辺バス２２の転送速度は５０ＭＨｚの低速クロックに同期する。
【００４０】
周辺モジュールＭＤＬ１〜ＭＤＬ４は割り込み要因の発生に応じて論理値“１”にセットされる要因フラグＰＲＭ１〜ＰＲＭ４を有する。要因フラグは、特に制限されないが、各周辺モジュールＭＤＬ１〜ＭＤＬ４が備えるコントロールレジスタの１ビットとされる。要因フラグＰＲＭ１〜ＰＲＭ４が論理値“１”にセットされることにより対応する割り込み要求信号ＩＲＱ１〜ＩＲＱ４が論理値“１”にされて、割り込みを要求する。割り込み要求をクリアするには要因フラグＰＲＭ１〜ＰＲＭ４を論理値“０”にリセットすることを要する。そのようなリセット処理はＣＰＵ１１がバス４，２２を介するレジスタアクセスによって行なうことが可能である。前記ＧＰＩＯ４９は複数の外部信号や内部信号の状態が所定の組み合わせになったとき割り込み要求を発生する機能を備える。このようなＧＰＩＯも一つの周辺モジュールＭＤＬ３として位置付ければよい。
【００４１】
前記第１の割り込みコントローラ９は周辺モジュール５０，５１からの割り込み要求信号ＩＲＱ１〜ＩＲＧ４を入力して、それによる割り込み要求を制御する。即ち、発生された割り込み要求に対し、ＭＰＵ２のＯＳ（オペレーティングシステム）によって設定された割り込み優先レベル及び割り込みマスクレベルを参照し、割り込み要求が受付可能か否かを判定し、受付可能な割り込み要求に対してその発生を割り込み要求信号ＩＲＱａによって第２の割り込みコントローラ３７に通知する。割り込み要求信号ＩＲＱａにはそれが通知する割り込み要求に応ずる割り込み優先レベル情報などが付随される。
【００４２】
前記第１の割り込みコントローラ９はマスクフラグＭＳＫを有し、前記マスクフラグＭＳＫは前記ＣＰＵ１１によって操作される。前記マスクフラグＭＳＫが論理値“１”にセットされているとき前記第１の割り込みコントローラ９は前記周辺モジュールＭＤＬ１〜ＭＤＬ４から割り込み要求が発生されても第２の割り込みコントローラ３７に割り込み要求信号ＩＲＱｂによる割り込み要求発生の通知をマスクする。要するに、割り込み要因フラグＰＲＭ１〜ＰＲＭ４の何れかがセットされて信号ＩＲＱａによる割り込み要求発生の通知が行なわれていても、マスクフラグＭＳＫがセットされることによって、信号ＩＲＱａがネゲートされる。
【００４３】
前記第２の割り込みコントローラ３７はマイクロコンピュータ１の外部から供給される割り込み信号ＮＭＩ、ＥＸＩＲＱと、前記第１の割り込みコントローラ９からの割り込み要求信号ＩＲＱａとを入力して、それによる割り込み要求を制御する。即ち、発生された割り込み要求に対し、ＭＰＵ２のＯＳ（オペレーティングシステム）によって設定された割り込み優先レベル及び割り込みマスクレベルを参照し、割り込み要求が受付可能か否かを判定し、受付可能な割り込み要求に対してその発生を割り込み要求信号ＩＲＱｂによってＣＰＵ１１に通知する。割り込み要求信号ＩＲＱｂにはそれが通知する割り込み要求に応ずる割り込み優先レベル情報などが付随される。信号ＩＲＱｂによりＣＰＵ１１に割り込み要求の発生が通知されているとき、前記マスクフラグＭＳＫがセットされると、前記信号ＩＲＱｂはネゲートされることになる。ＮＭＩはマスク不可能な外部割込み信号、ＥＸＩＲＱはマスク可能な外部割込み信号である。
【００４４】
ＣＰＵ１１はそのステータスレジスタに１ビットのブロックフラグＢＬを有する。ブロックフラグＢＬは、特に制限されないが、第２の割り込みコントローラ３７から割り込み要求信号ＩＲＱｂが発生されると、これに応答して論理値“１”にセットされる。ブロックフラグＢＬのセットは割り込み要求信号ＩＲＱｂの発生に応答して、自動的に行なわれてもよいし、割り込み処理プログラムを介するビット操作で行なってもよい。ブロックフラグＢＬがセットされると、ＣＰＵ１１は受け付けた割り込み要求の割り込みレベル以下の割り込み要求の発生に係る新たな通知が割り込み要求信号ＩＲＱｂによって与えられてもこれを拒絶する。要するに、ＣＰＵ１１は現在処理中の割り込み優先レベル以下の割り込みが発生してもその要求を受け付けない。
【００４５】
ＣＰＵ１１はモジュールＭＤＬ１〜ＭＤＬ４が発生した割り込み要求に基づく割り込み処理から元の処理に復帰する前に、バス４を介するレジスタアクセスによって前記マスクフラグＭＳＫを論理値“１”にセットして信号ＩＲＱａをネゲートする。その後、ＣＰＵ１１はレジスタアクセスによって前記ブロックフラグＢＬを論理値“０”にリセットすることにより、新たな割り込みを受付可能になる。更に、ＣＰＵ１１は、当該割り込み処理の割り込み要因に係る要因フラグをリセットする指示をバス４に発行する。既にマスクフラグＭＳＫがセットされているので、要因フラグのリセットが完了していなくても、当該割り込み要因による割り込みが多重に発生する虞は全くない。第１の割り込みコントローラ９は、一旦セットされたマスクフラグＭＳＫに対し、対応する割り込み要因のクリアによって自動的にリセット処理を行ない、周辺モジュール５０，５１からの割り込みを再度受け付け可能な状態にする。
【００４６】
図３には前記マスクフラグを利用した割り込み終了処理の動作が例示される。ＣＰＵ１１によるプログラム実行状態が通常処理（割り込み処理ではないという意味）のとき、時刻ｔ１に例えば周辺モジュールＭＤＬ１に割り込み要因が発生し、その要因フラグＰＲＭ１がセットされ、割り込み要求信号ＩＲＱ１がアサートされる。時刻ｔ２で割り込みコントローラ９がその割り込みの発生を信号ＩＲＱａにて割り込みコントローラ３７に通知する。割り込みコントローラ３７はその通知による割り込み要求を制御し、時刻ｔ３で信号ＩＲＱｂにてＣＰＵ１１にその割り込み要求の発生を通知する。これによってＣＰＵ１１はブロックフラグＢＬをセットし、割り込み処理プログラムを実行する。時刻ｔ４においてＣＰＵ１１は元の処理に復帰する前に割り込み処理プログラムに従ってマスクフラグＭＳＫをセットするためのレジスタアクセスの指示を行なう。バス４を介して実際にマスクフラグＭＳＫがセットされるまで、時刻ｔ５からバスウェイトをかけて待つ。マスクフラグＭＳＫがセットされると自動的に信号ＩＲＱａ，ＩＲＱｂがネゲートされる。ＣＰＵ１１は信号ＩＲＱｂのネゲートを確認することによってバスウェイトを解除し（ｔ６）、次にＣＰＵ１１は、割り込み要求元の周辺モジュールに対して割り込み要因をクリアするレジスタアクセスを指示すると共に（ｔ７）、ブロックフラグＢＬをリセットする（ｔ８）。レジスタアクセスによって実際に割り込み要因がクリアされるまでには比較的長い時間を要し、その完了は、クリア指示を行なった時刻ｔ７に対して大きく遅れることになる。ブロックフラグＢＬがリセットされたとき、割り込み要因がクリアされていなくても、マスクフラグＭＳＫが既にセットされているので、クリアされるべき要因の割り込みが多重に入ることはない。ブロックフラグＢＬのリセット処理は割り込み要因のクリア指示より先に行なってもよい。先に行なえば、割り込みコントローラ３７は新たな割り込みを受け付け可能になり、この点において割り込み応答性が向上する。
【００４７】
図４には前記マスクフラグを利用しない場合の比較例が示される。時刻ｔ４に割り込み発生元に対する割り込み要因のクリアを指示する。それ以前において上記マスクフラグＭＳＫのセット処理を行なっていない。前述したようにレジスタアクセスによって実際に割り込み要因がクリアされるまでには比較的長い時間を要し、その完了は、クリア指示を行なった時刻ｔ４に対して大きく遅れる。したがって、時刻ｔ５に割り込み要因のクリアによってＩＲＱａがネゲートされ、時刻ｔ６でＩＲＱｂがネゲートされるまでの時刻ｔｉでブロックフラグＢＬがリセットされてしまうと、再び同じ割り込みによる処理が起動されてしまう。特別なソフトウェアを用いてブロックフラグのリセットを遅らせることが必要になる。
【００４８】
図５にはマスクフラグのセットと自動リセットの動作タイミングチャートが示される。マスクフラグＭＳＫをセットして信号ＩＲＱｂをネゲートした場合、セットされたマスクフラグＭＳＫは対応する割り込み要因フラグのリセットによって自動的にリセットされる。マスクフラグＭＳＫを用いない動作モードを選択した場合には対応する割り込み要因フラグがリセットされることによって信号ＩＲＱｂがネゲートされる。
【００４９】
以上説明した割り込み制御系によれば以下の作用効果を得る。先ず、外部からの割り込み要求の発生を制御する第２の割り込みコントローラ３７は第１の割り込みコントローラ９とは別のクロックに同期動作するから、第２の割り込みコントローラ３７が外部インタフェース信号に関するＴｒＴｆの仕様に即した動作周波数で動作しても、第１の割り込みコントローラ９の動作周波数はそれによる制限を受けない。これにより、ＣＰＵ１１の動作周波数が高くても、低速モジュール５０，５１からの割込み要求に対する割り込み制御の高速化が可能になる。従って、第２の割り込みコントローラ３７の動作周波数が１００ＭＨｚであるのに対し、前記第１の割り込みコントローラ９を２００ＭＨｚのような中速クロックに同期動作させることができる。
【００５０】
上記マスクフラグＭＳＫを採用することにより、前記第１の割り込みコントローラ９に前記第２の割り込みコントローラ３７への割り込み要求発生の通知ＩＲＱａをマスクさせることにより、実際に割り込み要因がクリアされているか否かに拘らず、当該割り込み要因による多重割り込みの発生を抑制することができる。この後プロセッサ部は割り込み処理から復帰して新たな割り込みに備えることができ、割り込み応答性を向上させることができ、プロセッサ部のオーバーヘッドを小さくすることができる。また、前記第２の割り込みコントローラ３７への割り込み要求発生の通知をマスクすればよいから、割り込み応答サイクルの終了を検出するような特別のロジック回路を必要としない。
【００５１】
前記第１の割り込みコントローラ９は、前記要因フラグがリセットされるのに応答して前記マスクフラグＭＳＫをリセットする。ＣＰＵ１１がセットしたマスクフラグＭＳＫを自動クリアすることができ、この点においてもＣＰＵ１１の負担軽減になる。
【００５２】
前記ＣＰＵ１１は、前記ブロックフラグＢＬのリセットを行なってから当該割り込み要因に係る要因フラグのリセットを指示する。逆にする場合よりも、新たな割り込み受け付け可能状態に早く遷移でき、割り込み応答性が良好になる。
【００５３】
前記第１の内部バス４をスプリットトランザクションバスにすることによってデータ転送のスループットが全体的に上がるが、特に書き込みパケットに対してその書き込み結果を確認するには読出しパケットによるポーリングを行なわなければならない。この点において、スプリットトランザクションバスを採用する場合には、割り込み要因をクリアする前にマスクフラグＭＳＫをセットする構成によって得られるＣＰＵ１１のオーバーヘッド低減効果が顕著に現れる。
【００５４】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５５】
例えば、マスクビットは周辺モジュール毎に個別に設けられていてもよいし、信号ＩＲＱａに対して代表的に設けられていてもよい。また、低速モジュールとしての周辺モジュールの種類や機能は上記の例に限定されず適宜変更可能である。プロセッサ部は少なくともＣＰＵを備えれば良く、ＦＰＵやＣＡＣＨ／ＭＭＵはなくても良い。またプロセッサ部はその他の演算ユニットとしてディジタル信号処理ユニットなどを含んでもよい。バスはスプリットトランザクションバスに限定されない。要因フラグ、マスクフラグ、ブロックフラグはレジスタの１ビットに限定されず、メモリの１ビット、１個のフリップフロップであってもよい。
【図面の簡単な説明】
【００５６】
【図１】マイクロコンピュータにおける割り込み制御系を例示するブロック図である。
【図２】本発明の一例に係るマイクロコンピュータのブロック図である。
【図３】マスクフラグを利用した割り込み終了処理の動作を例示するタイミングチャートである。
【図４】マスクフラグを利用しない場合の動作を示すタイミングチャートである。
【図５】マスクフラグのセットと自動リセットの動作タイミングチャートである。
【符号の説明】
【００５７】
１  マイクロコンピュータ
２  プロセッサ部
４  スーパーハイウェイバス
５  バスブリッジ回路
９  第１の割り込みコントローラ
２１  第１の周辺バス
２２  第２の周辺バス
３７  第２の割り込みコントローラ
ＭＤＬ１〜ＭＤＬ４  周辺モジュール
ＰＲＭ１〜ＰＲＭ４  要因フラグ
ＩＲＱ１〜ＩＲＱ４  割り込み要求信号
ＩＲＱａ、ＩＲＱｂ  割り込み要求発生の通知信号
ＭＳＫ  マスクフラグ
ＢＬ  ブロックフラグ
ＮＭＩ、ＥＸＩＲＱ  外部割込み信号
【図１】
2006331156.tif 000003
【図２】
2006331156.tif 000004
【図３】
2006331156.tif 000005
【図４】
2006331156.tif 000006
【図５】
2006331156.tif 000007