JP2006331156A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2006331156A JP2006331156A JP2005155136A JP2005155136A JP2006331156A JP 2006331156 A JP2006331156 A JP 2006331156A JP 2005155136 A JP2005155136 A JP 2005155136A JP 2005155136 A JP2005155136 A JP 2005155136A JP 2006331156 A JP2006331156 A JP 2006331156A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- interrupt controller
- controller
- flag
- processor unit
- 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.)
- Withdrawn
Links
Images
Landscapes
- Microcomputers (AREA)
- Bus Control (AREA)
Abstract
【課題】 割り込み要因のクリアに際して多重割り込みの発生を抑制する。
【解決手段】 プロセッサ部(11)、低速モジュール(MDL1〜MDL4)、第1の割り込みコントローラ(9)、及び第2の割り込みコントローラ(37)を有する。第1の割り込みコントローラは前記低速モジュールからの割り込み要求を制御する。第2の割り込みコントローラは外部からの割り込み要求と第1の割り込みコントローラからの割り込み要求発生の通知とを制御してプロセッサ部に割り込み要求の発生を通知する。前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、第1の割り込みコントローラに第2の割り込みコントローラへの割り込み要求発生の通知をマスクさせる。マスクさせた状態でプロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に、低速モジュールに割り込み要因のクリアを指示する。
【選択図】 図1
Description
本発明は、割り込みコントローラを有する半導体装置、更には割り込み要因をクリアするための割り込み制御に関し、例えばマイクロコンピュータに適用して有効な技術に関する。
プロセッサ部とその周辺モジュールをオンチップしたマイクロコンピュータにおいてそのデータプロセッサ部の動作速度は高速化される傾向にある。これに対し、周辺モジュールの中にはインタフェース仕様上高速化の対象になり難い低速周辺モジュールが存在する。従来のマイクロコンピュータはプロセッサ部と共に1個の割り込みコントローラを1個の半導体基板に有する。この割り込みコントローラが外部からの割り込み要求及び内部の低速周辺モジュールからの割り込み要求などに対する制御を行う。
割り込みコントローラは内部モジュール及び外部からの割り込み要求があると割り込み優先レベルや割り込みマスク制御を行って割り込み信号をプロセッサ部に与える。これによってプロセッサ部は命令実行を中断し、状態保存を行ない、その割り込み要求に応ずる割り込み処理を行なう。このとき、プロセッサ部はブロックフラグをセットし、割り込み処理から復帰するとき、割り込み要因をクリアしたとき再度同じ割り込みが受付けられないように、割り込み要因をクリアしてからブロックフラグをリセットする。
特許文献1には、CPU、割り込みコントローラ、割り込み制御回路及び割り込みデバイスを夫々個別チップ若しくは個別のオンボード回路で構成したデータ処理システムについて記載がある。割り込み制御回路は割り込みデバイス群と割り込みコントローラとの間に配置される。割り込み制御回路は、割り込みデバイスで発生した割り込み要求を一旦ラッチし、割り込みコントローラと同期を採り、割り込みコントローラが割り込み要求を内部でラッチしたら自動的にクリアする。これにより、CPUに余分なオーバーヘッドがかからないようになる。前記自動的クリアはCPUによる割り込み応答サイクルの最後を割り込み制御回路が検出することによって行なう。
本発明者は割り込み制御に関するCPUのオーバーヘッドについて検討した。特に割り込み処理から復帰するときの多重割り込みの抑制である。即ち、割り込み要因をクリアしてからブロックフラグをリセットするために、プロセッサ部は低速周辺モジュールに対して割り込み要因フラグのリセットを指示してから実際にリセットされるのを待ってブロックフラグをリセットしなければならない。しかしながら、低速バスを介して実際にクリアされるには時間を要し、これが無視し得ないオーバーヘッドとなる。特にプロセッサ部がスプリットトランザクションバスに接続されている場合には、前記要因フラグをリセットする書き込みアクセスパケットが実際に処理されたことを、フラグのポーリングによって確認しなければならない。特許文献1のような自動クリアを行なう場合にはCPUによる割り込み応答サイクルの最後を検出して制御する割り込み制御回路が特別に必要になる。
また、半導体装置の仕様上、外部インタフェース信号に関してTrTf(立ち上がり立ち下がり時間)が定められている。無駄なサイクルが発生しないように外部割込み信号を認識するには割り込みコントローラはTrTfの仕様に即した動作周波数で動作することが望ましい。しかしながら、割り込みコントローラ全体をそのような動作周波数で動作させると、プロセッサ部が高速化されても内部割込み要求信号に対する割り込み制御の高速化を実現できなくなる虞のあることが本発明者によって見出された。
本発明の目的は、割り込み要因のクリアに際して多重割り込みの発生を抑制することができると共にプロセッサ部のオーバーヘッドを小さくすることができる半導体装置を提供することにある。
本発明の別の目的は、プロセッサ部の高速化に伴って内部割込み要求信号に対する割り込み制御を高速化することが可能な半導体装置を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕半導体装置(1)は、プロセッサ部(2)、低速モジュール(MDL1〜MDL4)、第1の割り込みコントローラ(9)、第2の割り込みコントローラ(37)、第1の内部バス(4)、及びバスブリッジ回路(5)を1個の半導体基板に有する。前記プロセッサ部は高速クロックに同期動作し、命令を実行する。前記低速モジュールは低周波クロックに同期動作し、割り込み要求(IRQ1〜IRQ4)を発生する。前記第1の割り込みコントローラは前記低速モジュールからの割り込み要求を制御する。前記第2の割り込みコントローラは外部からの割り込み要求(NMI,EXIRQ)と前記第1の割り込みコントローラからの割り込み要求発生の通知(IRQa)とを制御して前記プロセッサ部に割り込み要求の発生を通知する(IRQb)。前記第1の内部バスは前記第1の割り込みコントローラ及びプロセッサ部に接続される。前記バスブリッジ回路は前記第1の内部バスに前記第2の割り込みコントローラ及び前記低速モジュールを接続する。前記第1の割り込みコントローラは第2の割り込みコントローラよりも周波数の高い中速クロックに同期動作される。
外部からの割り込み要求の発生を制御する第2の割り込みコントローラは第1の割り込みコントローラとは別のクロックに同期動作するから、第2の割り込みコントローラは外部インタフェース信号に関するTrTfの仕様に即した動作周波数で動作することになっても、第1の割り込みコントローラの動作周波数はそれによる制限を受けない。これにより、プロセッサ部の高速化に伴い、低速モジュールからの割込み要求に対する割り込み制御を高速化することが可能になる。従って、前記第1の割り込みコントローラは第2の割り込みコントローラよりも周波数の高い中速クロックに同期動作させることができる。
〔2〕更に前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第1の割り込みコントローラに前記第2の割り込みコントローラへの割り込み要求発生の通知をマスクさせ、マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールに割り込み要因のクリアを指示する。
上記より、前記第1の割り込みコントローラに前記第2の割り込みコントローラへの割り込み要求発生の通知をマスクさせることにより、実際に割り込み要因がクリアされているか否かに拘らず、当該割り込み要因による多重割り込みの発生を抑制することができる。この後プロセッサ部は割り込み処理から復帰して新たな割り込みに備えることができ、割り込み応答性を向上させることができ、プロセッサ部のオーバーヘッドを小さくすることができる。更に、前記第2の割り込みコントローラへの割り込み要求発生の通知をマスクすればよいから、割り込み応答サイクルの終了を検出するような特別のロジック回路を必要としない。
前記多重割り込みの発生を抑制するための具体的な手段として以下の一つの具体的な形態を採用してよい。即ち、前記低速モジュールは要因フラグ(PRM1〜PRM4)を有し、前記要因フラグは割り込み要因の発生に応答してセットされ、前記要因フラグがセットされたとき低速モジュールは割り込み要求(IRQ1〜IRQ4)を発生する。前記第1の割り込みコントローラはマスクフラグ(MSK)を有し、前記マスクフラグは前記プロセッサ部によって操作され、前記マスクフラグがセットされているとき前記第1の割り込みコントローラは前記低速モジュールから割り込み要求(IRQa)が発生されても第2の割り込みコントローラに対する割り込み要求発生の通知をマスクする。前記プロセッサ部はブロックフラグ(BL)を有し、前記ブロックフラグは前記第2の割り込みコントローラからの割り込み要求発生の通知(IRQb)によってセットされる。前記ブロックフラグがセットされたとき前記プロセッサ部は所定の割り込み要求以外の割り込み要求発生の通知を拒絶する。前記プロセッサ部は、前記低速モジュールが発生した割り込み要求に基づく割り込み処理から元の処理に復帰する前に、前記マスクフラグをリセットし、次に前記ブロックフラグのリセットと当該割り込み要因に係る要因フラグのリセット指示とを行なう。
本発明の別の一つの具体的な形態として、前記第1の割り込みコントローラは、前記要因フラグがリセットされるのに応答して前記マスクフラグをリセットする。プロセッサ部がセットしたマスクフラグを自動クリアすることができ、この点においてもプロセッサ部の負担軽減になる。
本発明の別の一つの具体的な形態として、前記プロセッサブロックは、前記ブロックフラグのリセットを行なってから当該割り込み要因に係る要因フラグのリセットを指示する。逆にする場合よりも、新たな割り込み受け付け可能状態に早く遷移でき、割り込み応答性が良好になる。
本発明の別の一つの具体的な形態として、前記第1の内部バスはスプリットトランザクションバスである。スプリットトランザクションバスによりデータ転送のスループットが全体的に上がるが、特に書き込みパケットに対してその書き込み結果を確認するには読出しパケットによるポーリングを行なわなければならない。この点において、スプリットトランザクションバスの場合にはプロセッサ部のオーバーヘッド低減効果は顕著に現れる。
本発明の別の一つの具体的な形態として、前記バスブリッジ回路に前記第2の割り込みコントローラを接続する第2の内部バス21と、前記バスブリッジ回路に前記低速モジュールを接続する第3の内部バス(23)とを有し、前記第2の内部バス及び第3の内部バスのデータ転送速度は前記第1の内部バスのデータ転送速度よりも遅い。
〔3〕前記多重割り込みの発生の抑制を主眼とする観点による半導体装置は、モジュール、第1の割り込みコントローラ、第2の割り込みコントローラ及びプロセッサ部を1個の半導体基板に有する。前記モジュールは低周波クロックに同期して動作し、割り込み要求を発生する。前記第1の割り込みコントローラ及び第2の割り込みコントローラは中周波クロックに同期して動作し、割り込み要求を制御する。前記プロセッサ部は高周波クロックに同期して動作し、命令を実行する。前記第1の割り込みコントローラは前記モジュールからの割り込み要求の発生を検出して第2の割り込みコントローラに通知する。前記第2の割り込みコントローラは別の回路からの割り込み要求の発生及び前記第1の割り込みコントローラからの割り込み要求発生の通知を検出してプロセッサ部に通知する。前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第1の割り込みコントローラに前記第2の割り込みコントローラへの割り込み要求発生の通知をマスクさせる。マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールへの割り込み要因のクリアを指示する。
本発明の一つの具体的な形態として、前記第1の割込みコントローラは、前記モジュールへの割り込み要因のクリアによって前記第2の割り込みコントローラへの割り込み要求発生の通知に対するマスクをクリアする。
本発明の別の一つの具体的な形態として、前記第1の割り込みコントローラは第2の割り込みコントローラよりも周波数の高い中速クロックに同期動作される。
本発明の別の一つの具体的な形態として、前記プロセッサ部と前記第1の割り込みコントローラはスプリットトランザクションバスで接続される。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、割り込み要因のクリアに際して多重割り込みの発生を抑制することができると共にプロセッサ部のオーバーヘッドを小さくすることができる。
プロセッサ部の高速化に伴い内部割込み要求信号に対する割り込み制御の高速化を実現可能になる。
図2には本発明の一例に係るマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ(MCU)1は、特に制限されないが、相補型MOS(CMOS)集積回路製造技術により、単結晶シリコンなどの1個の半導体基板(半導体チップ)に形成され、例えばカーナビゲーションに必要な画像処理および音声処理機能、並びにDDR−SDRAMインタフェース等を備える。
マイクロコンピュータ1は、プロセッサ部としてのプロセッサコア2及びクロック発生回路(CPG)3を有し、プロセッサコア2が接続する第1の内部バスとしてのスーパーハイウェイバス(SHB)4にはバスブリッジ回路(BBRG)5、ダイレクトメモリアクセスコントローラ(DMAC)6、3次元画像の描画処理などの3次元画像処理を行う3Dエンジン(3DGFC)7、RAM8、第1の割り込みコントローラ(INTCa)9及びDDR―SDRAMメモリコントローラ(NCEMI)10が接続される。プロセッサコア2は、フェッチした命令を実行する中央処理装置(CPU)11、浮動小数点演算ユニット(FPU)12及びキャッシュ/メモリマネージメント(CACH/MMU)13を有する。前記DDR―SDRAMメモリコントローラ(NCEMI)10に接続される図示を省略するDDR―SDRAMはCPU11のメインメモリ又はフレームバッファ等に利用される。前記バスブリッジ回路5には、第1周辺バス(PBF)21、第2周辺バス(PBS)22及び外部バス(EXB)23が接続される。3Dエンジン7は3Dバス(3DB)24を介してDDR―SDRAMメモリコントローラ(NCEMI)10に接続される。DDR−SDRAMメモリコントローラ(NCEMI)10には更にグラフィックバス(GFB)20が接続される。
前記スーパーハイウェイバス4はマルチマスターバス若しくはスプリットトランザクション型のバスとされる。スーパーハイウェイバス4に接続する夫々の回路モジュールはマスターポートとスレーブポートを独立に有している。自回路モジュールからのリード/ライトの転送要求はマスターポートからコマンドパケットとして発行する。他回路モジュールからの転送要求はバス調停回路での調停を経た結果、スレーブポートに転送要求として通知され、バストランザクションが実行される。バス調停回路は特に図示はしないがスーパーハイウェイバス4の途中に配置されている。このマルチマスターバス制御方式により、スーパーハイウェイバス4はそれに接続される回路モジュール間の全ての組み合わせの転送が可能にされる。例えばCPU11とDMAC6、バスブリッジ回路5とNCEMI10、バスブリッジ回路5とCPU11、の間の転送等が可能である。
前記3Dバス24に接続される3DGFC7はスーパーハイウェイバス4を介してCPU11から3D描画コマンドなどの画像処理コマンドを受取って3D描画処理を行う。描画はNCEMI10を介して図示を省略する前記DDR−SDRAMのフレームバッファ領域に対して行なわれる。
グラフィックバス20には、2次元画像処理を行なう2Dエンジン(2DGFC)30、表示制御回路(DU)31、シリアルインタフェース回路(IEEE1394)32、色空間変換ユニット(YUV)33、ATアタッチメントパケットインタフェース回路(ATAPI)34、ビデオ信号入力回路(VIN)35、ユニバーサル・シリアル・バス・ファンクションコントローラ(USB)36が接続される。表示制御回路31はフレームバッファ領域に描画された画像データを順次読み出し、ラスタスキャン型のディスプレイに表示タイミングに同期させて出力する制御を行う。ビデオ信号入力回路35はディジタルビデオ信号を入力する。ATAPI34はハードディスクドライブ、DVD又はCD−ROMドライブ等のディスクドライブ装置とのインタフェース制御を行う。
グラフィックバス20はスーパーハイウェイバス4と同様にマルチマスターバスとされるが、バスのソース、デスティネーションの一方は必ずDDR−SDRAMメモリコントローラ10になっている。すなわち、バスブリッジ回路5、2DGFC30、DU31、シリアルインタフェース回路32、YUV33、ATAPI34、VIN35、USB36はDDR−SDRAMインタフェース10を介してDDR−SDRAMとの間の転送のみを行う。それら画像系の回路モジュール30などは自回路ブロックで画像処理を行った後にはDDR−SDRAMに一旦データを格納する必要があるか、或いはDDR−SDRAMのデータをDU31に転送する必要があり、全ての転送は必ずDDR−SDRAMコントローラ10を経由する構成になっている。
第1周辺バス21には第2の割り込みコントローラ(INTCb)37、2DGFC30、DU31、シリアルインタフェース回路32が接続される。
第2周辺バス22には、調歩同期シリアルコミュニケーションインタフェース回路(SCIF)40、パルス幅変更タイマ(PWM)41、IEC60958オーディオコントローラ(SPDIF)42、ソースレートコンバータ(SRC)43、GPS(Global Positioning System)サーチ/トラッキングエンジン(GPS)44、前記クロック発生回路3、ローカルエリアネットワーク用のインタフェース回路(HCAN)46、時計回路としてのリアルタイムクロック(RTC)47、特定の仕様を持つシリアルインタフェース回路(I2C)48、及び汎用入出力インタフェース(GPIO)49などの周辺回路が接続される。前記クロック発生回路3は図示を省略する振動子又は外部から供給されるシステムクロックをクロック源とし、クロック源からのクロックを分周して複数の内部クロックCLKiを生成し、各部に供給する。
前記第1周辺バス21及び第2周辺バス22はシングルマスターの32ビットバスであり、バスブリッジ回路5がバスマスターになっている。
前記CPU11は例えば32ビットCPUでありデータ処理単位は32ビットとされる。このCPU11は1サイクルで複数の命令を発行するスーパースカラ構造を有することにより、動作周波数の約2倍の命令処理実行能力を有する。即ち、CPU11は所謂2ウェイ・スーパースカラ構造を有する。これに呼応して前記スーパーハイウェイバス4は64ビットバスとされる。したがって、CPU11は並行に2命令を実行して夫々32ビットのデータを2組用意し、用意された合計64ビットの2組のデータを1バスサイクルでスーパーハイウェイバス4へ転送可能である。また、CPU11は1バスサイクルでスーパーハイウェイバス4から64ビットのデータをリードし、リードした下位32ビットと上位32ビットを別々に並行して演算処理することも可能にされる。MPU2は命令を実行するCPU11を少なくとも備えていればよい。
図1にマイクロコンピュータ1における割り込み制御系を示す。50は第1周辺バス(PHB1)21に接続された周辺モジュールを総称し、周辺モジュール21内には代表的に周辺モジュールMDL1、MDL2が示されている。51は第2周辺バス(PHB1)22に接続された周辺モジュールを総称し、周辺モジュール22内には代表的に周辺モジュールMDL3、MDL4が示されている。
MPU2は400MHzの高速クロックに同期動作する。周辺モジュールMDL1,MDL2は100MHzの中速クロックに同期動作する。周辺モジュールMDL3、MDL4は50MHzの低速クロックに同期動作する。スーパーハイウェイバス4のデータ転送速度は200MHzの中速クロックに同期する。第1の周辺バス21のデータ転送速度は100MHzの中速クロックに同期する。第2の周辺バス22の転送速度は50MHzの低速クロックに同期する。
周辺モジュールMDL1〜MDL4は割り込み要因の発生に応じて論理値“1”にセットされる要因フラグPRM1〜PRM4を有する。要因フラグは、特に制限されないが、各周辺モジュールMDL1〜MDL4が備えるコントロールレジスタの1ビットとされる。要因フラグPRM1〜PRM4が論理値“1”にセットされることにより対応する割り込み要求信号IRQ1〜IRQ4が論理値“1”にされて、割り込みを要求する。割り込み要求をクリアするには要因フラグPRM1〜PRM4を論理値“0”にリセットすることを要する。そのようなリセット処理はCPU11がバス4,22を介するレジスタアクセスによって行なうことが可能である。前記GPIO49は複数の外部信号や内部信号の状態が所定の組み合わせになったとき割り込み要求を発生する機能を備える。このようなGPIOも一つの周辺モジュールMDL3として位置付ければよい。
前記第1の割り込みコントローラ9は周辺モジュール50,51からの割り込み要求信号IRQ1〜IRG4を入力して、それによる割り込み要求を制御する。即ち、発生された割り込み要求に対し、MPU2のOS(オペレーティングシステム)によって設定された割り込み優先レベル及び割り込みマスクレベルを参照し、割り込み要求が受付可能か否かを判定し、受付可能な割り込み要求に対してその発生を割り込み要求信号IRQaによって第2の割り込みコントローラ37に通知する。割り込み要求信号IRQaにはそれが通知する割り込み要求に応ずる割り込み優先レベル情報などが付随される。
前記第1の割り込みコントローラ9はマスクフラグMSKを有し、前記マスクフラグMSKは前記CPU11によって操作される。前記マスクフラグMSKが論理値“1”にセットされているとき前記第1の割り込みコントローラ9は前記周辺モジュールMDL1〜MDL4から割り込み要求が発生されても第2の割り込みコントローラ37に割り込み要求信号IRQbによる割り込み要求発生の通知をマスクする。要するに、割り込み要因フラグPRM1〜PRM4の何れかがセットされて信号IRQaによる割り込み要求発生の通知が行なわれていても、マスクフラグMSKがセットされることによって、信号IRQaがネゲートされる。
前記第2の割り込みコントローラ37はマイクロコンピュータ1の外部から供給される割り込み信号NMI、EXIRQと、前記第1の割り込みコントローラ9からの割り込み要求信号IRQaとを入力して、それによる割り込み要求を制御する。即ち、発生された割り込み要求に対し、MPU2のOS(オペレーティングシステム)によって設定された割り込み優先レベル及び割り込みマスクレベルを参照し、割り込み要求が受付可能か否かを判定し、受付可能な割り込み要求に対してその発生を割り込み要求信号IRQbによってCPU11に通知する。割り込み要求信号IRQbにはそれが通知する割り込み要求に応ずる割り込み優先レベル情報などが付随される。信号IRQbによりCPU11に割り込み要求の発生が通知されているとき、前記マスクフラグMSKがセットされると、前記信号IRQbはネゲートされることになる。NMIはマスク不可能な外部割込み信号、EXIRQはマスク可能な外部割込み信号である。
CPU11はそのステータスレジスタに1ビットのブロックフラグBLを有する。ブロックフラグBLは、特に制限されないが、第2の割り込みコントローラ37から割り込み要求信号IRQbが発生されると、これに応答して論理値“1”にセットされる。ブロックフラグBLのセットは割り込み要求信号IRQbの発生に応答して、自動的に行なわれてもよいし、割り込み処理プログラムを介するビット操作で行なってもよい。ブロックフラグBLがセットされると、CPU11は受け付けた割り込み要求の割り込みレベル以下の割り込み要求の発生に係る新たな通知が割り込み要求信号IRQbによって与えられてもこれを拒絶する。要するに、CPU11は現在処理中の割り込み優先レベル以下の割り込みが発生してもその要求を受け付けない。
CPU11はモジュールMDL1〜MDL4が発生した割り込み要求に基づく割り込み処理から元の処理に復帰する前に、バス4を介するレジスタアクセスによって前記マスクフラグMSKを論理値“1”にセットして信号IRQaをネゲートする。その後、CPU11はレジスタアクセスによって前記ブロックフラグBLを論理値“0”にリセットすることにより、新たな割り込みを受付可能になる。更に、CPU11は、当該割り込み処理の割り込み要因に係る要因フラグをリセットする指示をバス4に発行する。既にマスクフラグMSKがセットされているので、要因フラグのリセットが完了していなくても、当該割り込み要因による割り込みが多重に発生する虞は全くない。第1の割り込みコントローラ9は、一旦セットされたマスクフラグMSKに対し、対応する割り込み要因のクリアによって自動的にリセット処理を行ない、周辺モジュール50,51からの割り込みを再度受け付け可能な状態にする。
図3には前記マスクフラグを利用した割り込み終了処理の動作が例示される。CPU11によるプログラム実行状態が通常処理(割り込み処理ではないという意味)のとき、時刻t1に例えば周辺モジュールMDL1に割り込み要因が発生し、その要因フラグPRM1がセットされ、割り込み要求信号IRQ1がアサートされる。時刻t2で割り込みコントローラ9がその割り込みの発生を信号IRQaにて割り込みコントローラ37に通知する。割り込みコントローラ37はその通知による割り込み要求を制御し、時刻t3で信号IRQbにてCPU11にその割り込み要求の発生を通知する。これによってCPU11はブロックフラグBLをセットし、割り込み処理プログラムを実行する。時刻t4においてCPU11は元の処理に復帰する前に割り込み処理プログラムに従ってマスクフラグMSKをセットするためのレジスタアクセスの指示を行なう。バス4を介して実際にマスクフラグMSKがセットされるまで、時刻t5からバスウェイトをかけて待つ。マスクフラグMSKがセットされると自動的に信号IRQa,IRQbがネゲートされる。CPU11は信号IRQbのネゲートを確認することによってバスウェイトを解除し(t6)、次にCPU11は、割り込み要求元の周辺モジュールに対して割り込み要因をクリアするレジスタアクセスを指示すると共に(t7)、ブロックフラグBLをリセットする(t8)。レジスタアクセスによって実際に割り込み要因がクリアされるまでには比較的長い時間を要し、その完了は、クリア指示を行なった時刻t7に対して大きく遅れることになる。ブロックフラグBLがリセットされたとき、割り込み要因がクリアされていなくても、マスクフラグMSKが既にセットされているので、クリアされるべき要因の割り込みが多重に入ることはない。ブロックフラグBLのリセット処理は割り込み要因のクリア指示より先に行なってもよい。先に行なえば、割り込みコントローラ37は新たな割り込みを受け付け可能になり、この点において割り込み応答性が向上する。
図4には前記マスクフラグを利用しない場合の比較例が示される。時刻t4に割り込み発生元に対する割り込み要因のクリアを指示する。それ以前において上記マスクフラグMSKのセット処理を行なっていない。前述したようにレジスタアクセスによって実際に割り込み要因がクリアされるまでには比較的長い時間を要し、その完了は、クリア指示を行なった時刻t4に対して大きく遅れる。したがって、時刻t5に割り込み要因のクリアによってIRQaがネゲートされ、時刻t6でIRQbがネゲートされるまでの時刻tiでブロックフラグBLがリセットされてしまうと、再び同じ割り込みによる処理が起動されてしまう。特別なソフトウェアを用いてブロックフラグのリセットを遅らせることが必要になる。
図5にはマスクフラグのセットと自動リセットの動作タイミングチャートが示される。マスクフラグMSKをセットして信号IRQbをネゲートした場合、セットされたマスクフラグMSKは対応する割り込み要因フラグのリセットによって自動的にリセットされる。マスクフラグMSKを用いない動作モードを選択した場合には対応する割り込み要因フラグがリセットされることによって信号IRQbがネゲートされる。
以上説明した割り込み制御系によれば以下の作用効果を得る。先ず、外部からの割り込み要求の発生を制御する第2の割り込みコントローラ37は第1の割り込みコントローラ9とは別のクロックに同期動作するから、第2の割り込みコントローラ37が外部インタフェース信号に関するTrTfの仕様に即した動作周波数で動作しても、第1の割り込みコントローラ9の動作周波数はそれによる制限を受けない。これにより、CPU11の動作周波数が高くても、低速モジュール50,51からの割込み要求に対する割り込み制御の高速化が可能になる。従って、第2の割り込みコントローラ37の動作周波数が100MHzであるのに対し、前記第1の割り込みコントローラ9を200MHzのような中速クロックに同期動作させることができる。
上記マスクフラグMSKを採用することにより、前記第1の割り込みコントローラ9に前記第2の割り込みコントローラ37への割り込み要求発生の通知IRQaをマスクさせることにより、実際に割り込み要因がクリアされているか否かに拘らず、当該割り込み要因による多重割り込みの発生を抑制することができる。この後プロセッサ部は割り込み処理から復帰して新たな割り込みに備えることができ、割り込み応答性を向上させることができ、プロセッサ部のオーバーヘッドを小さくすることができる。また、前記第2の割り込みコントローラ37への割り込み要求発生の通知をマスクすればよいから、割り込み応答サイクルの終了を検出するような特別のロジック回路を必要としない。
前記第1の割り込みコントローラ9は、前記要因フラグがリセットされるのに応答して前記マスクフラグMSKをリセットする。CPU11がセットしたマスクフラグMSKを自動クリアすることができ、この点においてもCPU11の負担軽減になる。
前記CPU11は、前記ブロックフラグBLのリセットを行なってから当該割り込み要因に係る要因フラグのリセットを指示する。逆にする場合よりも、新たな割り込み受け付け可能状態に早く遷移でき、割り込み応答性が良好になる。
前記第1の内部バス4をスプリットトランザクションバスにすることによってデータ転送のスループットが全体的に上がるが、特に書き込みパケットに対してその書き込み結果を確認するには読出しパケットによるポーリングを行なわなければならない。この点において、スプリットトランザクションバスを採用する場合には、割り込み要因をクリアする前にマスクフラグMSKをセットする構成によって得られるCPU11のオーバーヘッド低減効果が顕著に現れる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、マスクビットは周辺モジュール毎に個別に設けられていてもよいし、信号IRQaに対して代表的に設けられていてもよい。また、低速モジュールとしての周辺モジュールの種類や機能は上記の例に限定されず適宜変更可能である。プロセッサ部は少なくともCPUを備えれば良く、FPUやCACH/MMUはなくても良い。またプロセッサ部はその他の演算ユニットとしてディジタル信号処理ユニットなどを含んでもよい。バスはスプリットトランザクションバスに限定されない。要因フラグ、マスクフラグ、ブロックフラグはレジスタの1ビットに限定されず、メモリの1ビット、1個のフリップフロップであってもよい。
1 マイクロコンピュータ
2 プロセッサ部
4 スーパーハイウェイバス
5 バスブリッジ回路
9 第1の割り込みコントローラ
21 第1の周辺バス
22 第2の周辺バス
37 第2の割り込みコントローラ
MDL1〜MDL4 周辺モジュール
PRM1〜PRM4 要因フラグ
IRQ1〜IRQ4 割り込み要求信号
IRQa、IRQb 割り込み要求発生の通知信号
MSK マスクフラグ
BL ブロックフラグ
NMI、EXIRQ 外部割込み信号
2 プロセッサ部
4 スーパーハイウェイバス
5 バスブリッジ回路
9 第1の割り込みコントローラ
21 第1の周辺バス
22 第2の周辺バス
37 第2の割り込みコントローラ
MDL1〜MDL4 周辺モジュール
PRM1〜PRM4 要因フラグ
IRQ1〜IRQ4 割り込み要求信号
IRQa、IRQb 割り込み要求発生の通知信号
MSK マスクフラグ
BL ブロックフラグ
NMI、EXIRQ 外部割込み信号
Claims (11)
- 高速クロックに同期動作し、命令を実行するプロセッサ部と、
低周波クロックに同期動作し、割り込み要求を発生する低速モジュールと、
前記低速モジュールからの割り込み要求を制御する第1の割り込みコントローラと、
外部からの割り込み要求と前記第1の割り込みコントローラからの割り込み要求発生の通知とを制御して前記プロセッサ部に割り込み要求の発生を通知する第2の割り込みコントローラと、
前記第1の割り込みコントローラ及びプロセッサ部に接続される第1の内部バスと、
前記第1の内部バスに前記第2の割り込みコントローラ及び前記低速モジュールを接続するバスブリッジ回路と、を1個の半導体基板に有し、
前記第1の割り込みコントローラは第2の割り込みコントローラよりも周波数の高い中速クロックに同期動作される半導体装置。 - 前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第1の割り込みコントローラに前記第2の割り込みコントローラへの割り込み要求発生の通知をマスクさせ、マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールに割り込み要因のクリアを指示する請求項1記載の半導体装置。
- 前記低速モジュールは要因フラグを有し、前記要因フラグは割り込み要因の発生に応答してセットされ、前記要因フラグがセットされたとき低速モジュールは割り込み要求を発生し、
前記第1の割り込みコントローラはマスクフラグを有し、前記マスクフラグは前記プロセッサ部によって操作され、前記マスクフラグがセットされているとき前記第1の割り込みコントローラは前記低速モジュールから割り込み要求が発生されても第2の割り込みコントローラに対する割り込み要求発生の通知をマスクし、
前記プロセッサ部はブロックフラグを有し、前記ブロックフラグは前記第2の割り込みコントローラからの割り込み要求発生の通知によってセットされ、前記ブロックフラグがセットされたとき前記プロセッサ部は所定の割り込み要求以外の割り込み要求発生の通知を拒絶し、
前記プロセッサ部は、前記低速モジュールが発生した割り込み要求に基づく割り込み処理から元の処理に復帰する前に、前記マスクフラグをリセットし、次に前記ブロックフラグのリセットと当該割り込み要因に係る要因フラグのリセット指示とを行なう請求項1記載の半導体装置。 - 前記第1の割り込みコントローラは、前記要因フラグがリセットされるのに応答して前記マスクフラグをリセットする請求項3記載の半導体装置。
- 前記プロセッサブロックは、前記ブロックフラグのリセットを行なってから当該割り込み要因に係る要因フラグのリセットを指示する請求項4記載の半導体装置。
- 前記第1の内部バスはスプリットトランザクションバスである請求項5記載の半導体装置。
- 前記バスブリッジ回路に前記第2の割り込みコントローラを接続する第2の内部バスと、前記バスブリッジ回路に前記低速モジュールを接続する第3の内部バスとを有し、前記第2の内部バス及び第3の内部バスのデータ転送速度は前記第1の内部バスのデータ転送速度よりも遅い請求項6記載の半導体装置。
- 低周波クロックに同期して動作し、割り込み要求を発生するモジュールと、
中周波クロックに同期して動作し、割り込み要求を制御する第1の割り込みコントローラ及び第2の割り込みコントローラと、
高周波クロックに同期して動作し、命令を実行するプロセッサ部と、を1個の半導体基板に有し、
前記第1の割り込みコントローラは前記モジュールからの割り込み要求の発生を検出して第2の割り込みコントローラに通知し、
前記第2の割り込みコントローラは別の回路からの割り込み要求の発生及び前記第1の割り込みコントローラからの割り込み要求発生の通知を検出してプロセッサ部に通知し、
前記プロセッサ部は、前記モジュールによる割り込み要求の発生に起因する割り込み処理から元の処理に復帰する前に、前記第1の割り込みコントローラに前記第2の割り込みコントローラへの割り込み要求発生の通知をマスクさせ、マスクさせた状態で前記プロセッサ部は新たな割り込み要求発生の通知に応答可能な内部状態に変化すると共に前記低速モジュールへの割り込み要因のクリアを指示する半導体装置。 - 前記第1の割込みコントローラは、前記モジュールへの割り込み要因のクリアによって前記第2の割り込みコントローラへの割り込み要求発生の通知に対するマスクをクリアする請求項8記載の半導体装置。
- 前記第1の割り込みコントローラは第2の割り込みコントローラよりも周波数の高い中速クロックに同期動作される請求項9記載の半導体装置。
- 前記プロセッサ部と前記第1の割り込みコントローラはスプリットトランザクションバスで接続される請求項10記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005155136A JP2006331156A (ja) | 2005-05-27 | 2005-05-27 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005155136A JP2006331156A (ja) | 2005-05-27 | 2005-05-27 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006331156A true JP2006331156A (ja) | 2006-12-07 |
Family
ID=37552771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005155136A Withdrawn JP2006331156A (ja) | 2005-05-27 | 2005-05-27 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006331156A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014039765A (ja) * | 2012-08-24 | 2014-03-06 | Olympia:Kk | 遊技機 |
JP2014534506A (ja) * | 2011-10-04 | 2014-12-18 | クアルコム,インコーポレイテッド | マルチスレッドプロセッサとの低待ち時間2レベル割込みコントローラインターフェース |
-
2005
- 2005-05-27 JP JP2005155136A patent/JP2006331156A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014534506A (ja) * | 2011-10-04 | 2014-12-18 | クアルコム,インコーポレイテッド | マルチスレッドプロセッサとの低待ち時間2レベル割込みコントローラインターフェース |
JP2016095855A (ja) * | 2011-10-04 | 2016-05-26 | クアルコム,インコーポレイテッド | マルチスレッドプロセッサとの低待ち時間2レベル割込みコントローラインターフェース |
JP2014039765A (ja) * | 2012-08-24 | 2014-03-06 | Olympia:Kk | 遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100306636B1 (ko) | Pci-isa인터럽트프로토콜컨버터및선택메카니즘 | |
US7398406B2 (en) | Data processor | |
US20070033369A1 (en) | Reconfigurable integrated circuit device | |
US20070294514A1 (en) | Picture Processing Engine and Picture Processing System | |
JP2005044361A (ja) | システム・オン・チップ設計のための構成要素としての自己完結型プロセッサ・サブシステム | |
US8339869B2 (en) | Semiconductor device and data processor | |
US20110016244A1 (en) | Information processing device and processor | |
US20040215857A1 (en) | Multiprocessor system | |
JP2003114864A (ja) | データ転送制御回路 | |
JP2006195746A (ja) | マルチレイヤバスシステム | |
CN117321580A (zh) | 无缝集成的微控制器芯片 | |
JP2006331156A (ja) | 半導体装置 | |
JP4436902B2 (ja) | 割り込みをクリアするロジック・ユニット及び集積回路 | |
US20040064748A1 (en) | Methods and apparatus for clock domain conversion in digital processing systems | |
JP2006243811A (ja) | Dma転送システム及びdma転送方法 | |
JP2010086456A (ja) | データ処理システム及び半導体集積回路 | |
JP2007272554A (ja) | データ処理装置 | |
JPH04192056A (ja) | アービトレーション方式 | |
JP2008041106A (ja) | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 | |
JP2005346513A (ja) | 半導体装置 | |
JP4921283B2 (ja) | 半導体装置 | |
EP3460671B1 (en) | Semiconductor device and program used in the semiconductor device | |
JP2011076584A (ja) | 半導体集積回路装置 | |
JP2007207121A (ja) | データ処理装置及びその制御方法 | |
JP2006003981A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080805 |