(57)【要約】      （修正有）【課題】電力消費を大幅に増大させることなく、高速な回路部から低速な回路部へのアクセス速度の低下を防止するデータ処理装置とその制御方法を提供する。【解決手段】クロック生成回路１４０は、メインバス１１０に接続された第１回路部にメインＣＬＫを出力し、サブバス１２０に接続された第２回路部にサブＣＬＫを出力する。ＣＰＵ１００と割り込みコントローラ１０１はメインＣＬＫに同期して動作し、第２回路部を構成するＢＬＯＣＫＢ１０５はサブＣＬＫに同期して動作する。アドレスデコーダ１０２は、ＣＰＵ１００からＢＬＯＣＫＢ１０５のレジスタにアクセスする際のアドレスをデコードする。サブＣＬＫの周波数を制御するクロック制御回路１３０は、ＣＰＵ１００がＢＬＯＣＫＢ１０５に係る割り込み処理を行う際にサブＣＬＫの周波数を上げた後で、割り込み処理が終了したと判断した場合にサブＣＬＫの周波数を変更前の周波数に戻す制御を行う。【選択図】図１
2013120417.tif 000002
【特許請求の範囲】
【請求項１】
第１クロックおよび第２クロックを生成するクロック生成手段と、第１バスに接続されて前記第１クロックに同期して動作する第１回路部および第２バスに接続されて前記第２クロックに同期して動作する第２回路部を有するデータ処理装置であって、
前記第１回路部は、
前記第１クロックに同期して命令を実行する中央演算処理手段と、
前記第１クロックに同期して前記中央演算処理手段に割り込み要求信号を出力する割り込み制御手段と、を備えており、
前記クロック生成手段を制御することで前記第２クロックの周波数を変更するクロック制御手段を設け、前記中央演算処理手段が前記第２回路部を構成する回路ブロックに係る割り込み処理を行う際に前記第２クロックの周波数を上げる制御を行い、前記割り込み処理が終了したと判断した場合に前記第２クロックの周波数を変更前の周波数に戻す制御を行うことを特徴とするデータ処理装置。
【請求項２】
前記第１回路部は、前記中央演算処理手段が前記第１回路部および第２回路部のレジスタにアクセスする際のアドレスをデコードするアドレスデコード手段を備え、
前記クロック制御手段は、前記中央演算処理手段がアクセスしようとするアドレスエリアの情報を前記アドレスデコード手段から受信するとともに、前記割り込み制御手段による前記回路ブロックに係る割り込みが発生したことを示す情報を受信した場合、前記第２クロックの周波数を変更する制御を行い、前記第２クロックの周波数を変更したか否かについての判別用情報を管理することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記クロック制御手段は、
前記アドレスデコード手段の示すアドレスエリアが前記回路ブロックを指定しており、かつ前記割り込み制御手段による前記回路ブロックに係る割り込みが発生したことが示された場合、前記第２クロックの周波数を上げる制御を行い、
前記判別用情報を参照して前記第２クロックの周波数を既に上げていると判別した状態にて、前記アドレスデコード手段が示すアドレスエリアが前記回路ブロックを指定しておらず、かつ前記割り込み制御手段により前記割り込みの終了が示されたときに、前記第２クロックの周波数を下げる制御を行うことを特徴とする請求項２記載のデータ処理装置。
【請求項４】
前記第１回路部は、前記中央演算処理手段が前記第１回路部および第２回路部のレジスタにアクセスする際のアドレスをデコードするアドレスデコード手段を備え、
前記クロック制御手段は、前記中央演算処理手段がアクセスしようとするアドレスエリアの情報を前記アドレスデコード手段から受信するとともに前記回路ブロックからの割り込み要求信号を受信した場合、前記第２クロックの周波数を変更する制御を行い、前記第２クロックの周波数を変更したか否かについての判別用情報を管理することを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記クロック制御手段は、
前記回路ブロックからの割り込み要求信号を受信した際に前記第２クロックの周波数を上げる制御を行い、
前記判別用情報を参照して前記第２クロックの周波数を既に上げていると判別した状態にて、前記アドレスデコード手段が示すアドレスエリアが前記回路ブロックを指定しておらず、かつ前記割り込み制御手段により前記割り込みの終了が示されたときに、前記第２クロックの周波数を下げる制御を行うことを特徴とする請求項４記載のデータ処理装置。
【請求項６】
前記クロック制御手段は、
前記割り込み要求信号が前記第１回路部で発生したか、または前記第２回路部で発生したかについての識別用情報を管理し、
前記識別用情報を参照して前記割り込み要求信号の発生元が前記第２回路部を構成する回路ブロックであると判定した場合、前記第２クロックの周波数を上げる制御を行い、また前記割り込み要求信号の発生元が前記第１回路部を構成する回路ブロックであると判定した場合、前記第２クロックの周波数を上げる制御を行わないことを特徴とする請求項４または５記載のデータ処理装置。
【請求項７】
第１クロックおよび第２クロックを生成するクロック生成手段と、第１バスに接続されて前記第１クロックに同期して動作する第１回路部および第２バスに接続されて前記第２クロックに同期して動作する第２回路部を有するデータ処理装置にて実行される制御方法であって、
前記第１クロックに同期して中央演算処理手段が命令を実行するステップと、
前記第１クロックに同期して前記中央演算処理手段に割り込み要求信号を出力する割り込み制御ステップと、
前記クロック生成手段を制御して前記第２クロックの周波数を変更するクロック制御ステップを有し、
前記クロック制御ステップはさらに、
前記中央演算処理手段が前記第２回路部を構成する回路ブロックに係る割り込み処理を行う際に、前記第２クロックの周波数を上げる制御を行うステップと、
前記割り込み処理が終了したと判断した場合に前記第２クロックの周波数を変更前の周波数に戻す制御を行うステップを有することを特徴とするデータ処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作クロックの異なる複数の回路ブロックを備えたデータ処理装置において、低速クロックで動作する回路ブロックに対するアクセス応答性を向上させる技術に関する。
【背景技術】
【０００２】
ＣＰＵ等の高速動作を行う回路ブロック（以下、高速回路ブロックという）と、低速なシリアル通信等を行う周辺回路とを同一基板上に搭載した、システム・オン・チップのデータプロセッサ等が広く用いられている。高速回路ブロックはオンチップの高速バスに接続され、また、低速動作を行う回路ブロック（以下、低速回路ブロックという）は低速バスに接続される。バスブリッジ回路は双方のバスにおけるバスアクセス動作の相違に対するタイミング制御を行い、バス間でのアクセス動作を可能にする。
【０００３】
高速で動作するＣＰＵが低速バスを経由して低速回路ブロックへアクセスすると、低速バスサイクルが完了するまでＣＰＵがストールすることになり、システム性能が低下する。特に近年のＣＰＵの動作周波数の向上に比べ、周辺回路の動作周波数は殆ど向上していない。このため、低速バスと高速バスとで動作周波数の間に大きなギャップが生じており、ＣＰＵの動作周波数を上げた分に見合う性能を引き出すのが難しい。例えば、リアルタイムＯＳ（オペレーティング・システム）の管理下で、割り込みを多用して組み込み機器を制御する場合、割り込みへの応答性がシステム性能に大きな影響を及ぼす。ＣＰＵは割り込みへの応答の際、割り込み要因の解析が必要であり、割り込み要因元の周辺回路に対し、多数の内部レジスタ値を読む必要がある。このとき、低速回路ブロック内のレジスタへのアクセスに時間がかかったのでは、良好な割り込み応答性は得られない。そこで、低速回路ブロックに高速バスインタフェースを実装して高速バスに接続する方法が考えられるが、消費電力の増大という別の問題が起こる。多数の周辺回路を搭載したシステム・オン・チップの半導体装置では無駄な電力を消費することになるので、この方法は現実的でない。
【０００４】
特許文献１には、低速動作する周辺回路に対するアクセス応答性を向上させる技術が開示されている。図５に示すように、プログラム命令をフェッチして実行する中央処理装置（ＣＰＵ）２が接続されるバス７に回路ブロック３〜６，８が接続される。これらはクロック生成回路（ＣＰＧ）１８で生成される、高速クロック信号ＣＬＫＨが供給されて同期動作される。バス７にはブリッジ回路（ＢＲＤＧＨ）８を介してバス１０が接続される。バス１０に接続されたブリッジ回路（ＢＲＤＧＨＬ）１１には、バス２０を介して周辺回路１２〜１４が接続され、これらは、クロック生成回路（ＣＰＧ）１８で生成される、低速クロック信号ＣＬＫＬが供給されて同期動作される。ブリッジ回路１１は、周辺回路に対するアクセス制御を、クロック信号ＣＬＫＨに同期して行う高速モードと、クロック信号ＣＬＫＬに同期して行う低速モードとを有し、ＣＰＵ２によって動作モードを切換え可能に設定される。
【０００５】
周辺回路１２〜１４にはタイミング制御回路（ＡＤＰＴ）１５〜１７がそれぞれ接続され、これらはバス２１でブリッジ回路１１に接続される。タイミング制御回路１５〜１７は周辺回路に対し、高速モードにてブリッジ回路１１への読み出し動作をクロック信号ＣＬＫＨに同期させ、またクロック信号ＣＬＫＨに同期するブリッジ回路１１からの書き込み指示に対応するための回路である。この構成では、高速クロック信号ＣＬＫＨで動作するタイミング制御回路１５〜１７をブリッジ回路１１と通信させることで、ＣＰＵ２と周辺回路１２〜１４との間のデータ処理の効率を向上させている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１６５２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の技術では、電力消費の低減と、高速回路ブロックから低速回路ブロックへのアクセス速度の向上とを両立させることが困難である。
前記特許文献１に記載のデータプロセッサでは、ＣＰＵ２と周辺回路１２〜１４との間のデータ処理の効率を向上させるために、タイミング制御回路１５〜１７を設けているので、回路規模が増大してしまう。また、ＣＰＵ２と周辺回路１２〜１４との間でデータ処理を行う場合、常に高速クロック信号ＣＬＫＨをタイミング制御回路１５〜１７に供給する必要があり、消費電力が大きくなってしまう。さらには、ＣＰＵ２から周辺回路１２〜１４への書き込み指示に対して、書き込みの終了動作について低速クロック信号ＣＬＫＬのサイクルに同期した処理を行っているため、高速クロック信号ＣＬＫＨに対して応答速度が低下してしまう。
本発明の目的は、電力消費を大幅に増大させることなく、高速な回路部から低速な回路部へのアクセス速度の低下を防止するデータ処理装置とその制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明に係る装置は、第１クロックおよび第２クロックを生成するクロック生成手段と、第１バスに接続されて前記第１クロックに同期して動作する第１回路部および第２バスに接続されて前記第２クロックに同期して動作する第２回路部を有するデータ処理装置であって、前記第１回路部は、前記第１クロックに同期して命令を実行する中央演算処理手段と、前記第１クロックに同期して前記中央演算処理手段に割り込み要求信号を出力する割り込み制御手段と、を備える。前記クロック生成手段を制御することで前記第２クロックの周波数を変更するクロック制御手段は、前記中央演算処理手段が前記第２回路部を構成する回路ブロックに係る割り込み処理を行う際に前記第２クロックの周波数を上げる制御を行い、前記割り込み処理が終了したと判断した場合に前記第２クロックの周波数を変更前の周波数に戻す制御を行う。
【発明の効果】
【０００９】
本発明によれば、電力消費を大幅に増大させることなく、第１回路部から第２回路部へのアクセス速度の低下を防止できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態に係るデータ処理装置の構成例を示すブロック図である。
【図２】本発明の第１実施形態に係るデータ処理装置の動作例を示すフローチャートである。
【図３】本発明の第２実施形態に係るデータ処理装置の構成例を示すブロック図である。
【図４】本発明の第２実施形態に係るデータ処理装置の動作例を示すフローチャートである。
【図５】従来技術のデータプロセッサの構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の各実施形態について詳述する。本発明の実施形態に係るデータ処理装置は、高速バスとしての第１バス（以下、メインバスという）および低速バスとしての第２バス（以下、サブバスという）を備える。データ処理装置を構成する第１回路部は、メインバスに接続されて第１クロックに同期して動作し、第２回路部はサブバスに接続されて第２クロックに同期して動作する。
【００１２】
［第１実施形態］
図１は、本発明の第１実施形態に係るデータ処理装置の構成例を示すブロック図である。
命令をフェッチして実行するＣＰＵ（中央演算処理装置）１００は、メインバス１１０に接続される。メインバス１１０にはＣＰＵ１００の他、ＩＮＴＣ（割り込みコントローラ）１０１が接続されている。割り込み制御を行うＩＮＴＣ１０１は、周辺回路からの割り込み要求信号による割り込み要求を調停して内部の割り込み要因レジスタにその割り込み要因を保持し、ＣＰＵ１００にＩＲＱ（割り込み要求信号）を出力する。またＡＤＤＲＤＥＣ（アドレスデコーダ）１０２がメインバス１１０に接続されており、ＣＰＵ１００が出力するアクセスアドレスを受け取り、ＣＰＵ１００がアクセスしようとしているアドレスエリアについてのアドレスデコード処理を行う。さらには、第１周辺回路（以下、ＢｌｏｃｋＡと記す）１０３と、プログラムを格納するメモリ１０６等がメインバス１１０に接続されている。ＣＰＵ１００、ＩＮＴＣ１０１、ＡＤＤＲＤＥＣ１０２、ＢｌｏｃｋＡ１０３、メモリ１０６は高速回路ブロックである。
【００１３】
メインバス１１０は、ブリッジ回路１０４を介してサブバス１２０と接続される。ブリッジ回路１０４は、メインバス１１０上の第１回路部からサブバス１２０上の第２回路部へのアクセスのタイミング制御を行う。サブバス１２０には、第２周辺回路（以下、ＢｌｏｃｋＢと記す）１０５が接続されており、該回路は低速回路ブロックである。
【００１４】
クロック生成回路１４０は、少なくとも２種類のクロック信号を生成する。本実施形態では、第１クロックをメインＣＬＫといい、メインＣＬＫの周波数以下の第２クロックをサブＣＬＫという。メインバス１１０上の第１回路部（符号１００乃至１０４および１０６参照）には、クロック生成回路１４０の生成するメインＣＬＫが供給され、このクロック信号に同期した動作を行う。また、サブバス１２０上の第２回路部（符号１０４及び１０５参照）には、クロック生成回路１４０の生成するサブＣＬＫが供給されて、このクロック信号に同期した動作を行う。なお、ブリッジ回路１０４にはメインＣＬＫおよびサブＣＬＫが入力される。
【００１５】
本実施形態にて、サブＣＬＫは消費電力の低減を目的として使用され、低速回路ブロックであるＢｌｏｃｋＢ１０５に対するアクセスが不要である場合、サブＣＬＫの周波数はメインＣＬＫよりも低い値に設定される。
クロック制御回路１３０は、クロック生成回路１４０に対して複数種類の指示信号を出力する。この指示信号の種別に応じてクロック生成回路１４０は、生成するクロック信号の周波数を変更する。クロック制御回路１３０には、ＩＮＴＣ１０１からのＩＲＱと、ＡＤＤＲＤＥＣ１０２からのアドレスエリアの解析結果信号が入力される。
【００１６】
図２は、本実施形態に係るデータ処理装置の割り込み処理に係る動作例を示すフローチャートである。
Ｓ１０で処理が開始し、Ｓ１０１でＣＰＵ１００は割り込みが発生したか否かを判定する。例えば、ＣＰＵ１００はＩＮＴＣ１０１からのＩＲＱが発生したか否かを、ＩＲＱの信号レベルによって判断する。ＩＲＱの発生手順は、以下の通りである。
【００１７】
いずれかの回路ブロックに割り込みが発生すると、該回路ブロックはＩＮＴＣ１０１へ割り込み要求信号を出力する。ＩＮＴＣ１０１は割り込み要求信号を受けると、内部の割り込み要因レジスタに割り込み要因のデータを保持する。そして、ＩＮＴＣ１０１はＩＲＱを発生させて、周辺回路ブロックからの割り込み要求があったことをＣＰＵ１００に通知する。このＩＲＱ信号はクロック制御回路１３０にも出力される。
Ｓ１０１でＩＲＱが発生したと判定された場合、Ｓ１０２へ処理を進め、また、ＩＲＱが発生していないと判定された場合、Ｓ１０１の判定処理が繰り返し行われる。
【００１８】
なお、割り込みが発生したか否かについては別例として、ＣＰＵ１００がＩＮＴＣ１０１の割り込み要因レジスタをポーリングすることにより判断できる。特定の回路ブロックからＩＮＴＣ１０１へ出力される割り込み要求信号に対して、ＩＮＴＣ１０１で割り込みマスクをかけることができる。割り込み要求信号に対して割り込みマスクがかかっている場合、ＩＮＴＣ１０１は内部の割り込み要因レジスタに割り込み要因のデータを保持するが、ＣＰＵ１００に対してＩＲＱを発生しない。よってＣＰＵ１００がＩＮＴＣ１０１の割り込み要因レジスタを定期的にポーリングすることで、割り込み発生の有無を判断できる。ＣＰＵ１００はＩＮＴＣ１０１の割り込み要因レジスタをポーリングした結果をクロック制御回路１３０へ出力する。
【００１９】
割り込みが発生したと判断された場合、Ｓ１０２で割り込み要因の解析処理が実行される。Ｓ１０１でＩＲＱを受けたＣＰＵ１００は、現在のプログラムカウンタの値をスタックあるいは内部レジスタに退避させ、メモリ１０６のＩＲＱに対応するベクタアドレスから実行を開始するようにプログラムカウンタの値を設定する。そして、ＣＰＵ１００は、ベクタアドレスに格納されている分岐命令に従って、対応する割り込みハンドラを起動させる。割り込みハンドラはＩＮＴＣ１０１へアクセスし、その割り込み要因レジスタに保持されている割り込み要因を調べる。または、Ｓ１０１でポーリングによって割り込み発生を検知した場合、ＣＰＵ１００はポーリングで読み出したＩＮＴＣ１０１の割り込み要因に対応する割り込みハンドラを起動させる。
【００２０】
Ｓ１０３でＣＰＵ１００は、Ｓ１０２で読み出した割り込み要因に対応する回路ブロックへアクセスするためのアドレスを発行する。次のＳ１０４でＡＤＤＲＤＥＣ１０２はＳ１０３でＣＰＵ１００が発行したアドレスを受信して解析する。ＡＤＤＲＤＥＣ１０２は、発行されたアドレスエリアが、サブバス１２０に接続されているＢｌｏｃｋＢ１０５の指定に関係するか否かを解析し、解析結果の信号をクロック制御回路１３０に対して出力する。Ｓ１０５で、クロック制御回路１３０は、Ｓ１０１での割り込み判断結果と、Ｓ１０４で受信したアドレスエリアの解析結果の信号に基づいて、クロック生成回路１４０に対してクロック周波数の変更指示信号を出力するか否かを判断する。この判断については、例えばＩＲＱとアドレスエリアの解析結果信号の論理積によって行うことができる。論理積の結果が真値の場合、つまりＩＲＱが発生しており、かつ、ＣＰＵ１００がアクセスしようとしているアドレスエリアがＢｌｏｃｋＢ１０５の指定に関係する場合、Ｓ１０６に進む。また論理積の結果が偽値の場合、例えばＩＲＱが発生していても、ＣＰＵ１００がアクセスしようとしているアドレスエリアがメインバス１１０に接続されている回路ブロックの指定に関係する場合には、Ｓ１０７に進む。
【００２１】
Ｓ１０６でクロック制御回路１３０は、クロック生成回路１４０に対して、サブＣＬＫの周波数を上げる指示信号を出力する。クロック制御回路１３０はサブＣＬＫの周波数を上げる指示信号を出力したか否かについて判別用情報を管理する。この判別用情報には状態フラグを使用し、以下では「ＣＬＫ変更フラグ」と呼ぶ。ＣＬＫ変更フラグは、０または１の２値をとるものとし、０の場合にはサブＣＬＫの周波数を上げる指示信号を出力していないことを表す。ＣＬＫ変更フラグの値が１の場合には、サブＣＬＫの周波数を上げる指示信号を出力したことを表す。Ｓ１０６では、ＣＬＫ変更フラグの値が０から１に変更される。クロック生成回路１４０は、クロック制御回路１３０から出力された、クロック周波数の変更指示信号を受信し、サブＣＬＫの周波数を上げる。例えば、サブＣＬＫの周波数をメインＣＬＫの周波数と同じ周波数に上げることで、通常ではメインＣＬＫに比べて低速なサブＣＬＫのサイクルが完了するまでの待ち時間を短縮できる。
【００２２】
Ｓ１０７でＣＰＵ１００は割り込みが起きた回路ブロックにアクセスし、割り込みに応じた処理を行った後、当該回路ブロックの割り込み要因をクリアする。割り込み要因のクリアによって、回路ブロックからＩＮＴＣ１０１への割り込み要求信号もクリアされ、ＩＮＴＣ１０１からＣＰＵ１００およびクロック制御回路１３０へのＩＲＱもクリアされる。
【００２３】
Ｓ１０８でクロック制御回路１３０は、クロック生成回路１４０に対してサブＣＬＫの周波数を低下させる変更指示信号を出力するか否かを判断する。ＣＬＫ変更フラグの値が０の場合、つまりＳ１０６でサブＣＬＫの周波数を上げる指示信号を出力していない場合には、Ｓ１１へ進み、処理を終了する。また、ＣＬＫ変更フラグの値が１の場合、つまりＳ１０６でサブＣＬＫの周波数を上げる指示信号を既に出力している場合には、サブＣＬＫの周波数を下げる指示信号を出力するために次のＳ１０９へ処理を進める。
【００２４】
Ｓ１０９でクロック制御回路１３０は、クロック生成回路１４０に対してサブＣＬＫの周波数を下げる指示信号を出力する。ここで、クロック制御回路１３０はＣＬＫ変更フラグの値を１から０に変更する。この場合、ＣＰＵ１００が、サブバス１２０に接続されている回路ブロックにまだアクセス中であると、サブＣＬＫの周波数を低下させたことで応答性が損なわれてしまう。そこでクロック制御回路１３０は、サブＣＬＫの周波数を下げる指示信号を出力するタイミングについて、例えばＩＲＱとアドレスエリアの解析結果信号との否定論理和によって判断する。否定論理和の結果が真値の場合、Ｓ１０７でＩＲＱがクリアされ、かつ、ＡＤＤＲＤＥＣ１０２の解析したアドレスエリアがサブバス１２０に接続されている回路ブロックの指定に関係しないと判定される。ＣＰＵ１００からサブバス１２０に接続されている回路ブロックへの割り込み処理が終了したと判断され、サブＣＬＫの周波数を下げる指示信号がクロック生成回路１４０に出力される。クロック生成回路１４０は、クロック制御回路１３０から出力されたクロック周波数の変更指示信号を受信し、サブＣＬＫの周波数を下げて変更前の周波数に戻す処理を行う。
【００２５】
なお、Ｓ１０１でポーリングにより割り込み発生を検知する場合にも、サブＣＬＫの周波数を低下させたことで応答性が損なわれないように配慮を要する。この場合、サブＣＬＫの周波数を下げる指示信号の出力タイミングについては、例えばＩＮＴＣ１０１の割り込み要因レジスタをポーリングした結果と、アドレスエリアの解析結果信号との否定論理和により判断できる。
【００２６】
以上、第１実施形態によれば、特に応答性能が求められる割り込み処理において、高速で動作するＣＰＵが低速バスを経由して周辺回路へアクセスを行う際に、低速バスに係るクロック周波数を上げることによって良好な割り込み応答性が得られる。また、低速バスに対して常にクロック周波数を上げるのではなく、割り込み処理の際、動的にクロック周波数を変更することで不必要な消費電力の増加を防止できる。
なお、本実施形態では、クロック周波数の変更指示信号をクロック制御回路１３０が生成するものとして説明した。この他、クロック信号の変更条件に合致した時にクロック生成回路１４０のレジスタ値を書き変えてクロック信号の周波数を変更させる等、ソフトウェア処理で変更指示動作を行ってもよく、特定の指示方法に限定されるものではない。
【００２７】
［第２実施形態］
次に、本発明の第２実施形態について詳述する。
図３は、第２実施形態に係るデータ処理装置の構成例を示すブロック図である。基本的な構成は図１に示した第１実施形態に係る構成と同様である。よって、第１実施形態の場合と同様の機能をもつ構成要素については、既に使用した参照符号と同じ符号を用いることによってそれらの詳細な説明を省略する。
【００２８】
図１に示す構成との相違点は、クロック制御回路２００と、ＢＬＯＣＫＡ１０３およびＢＬＯＣＫＢ１０５が接続されていることである。
クロック制御回路２００は、クロック生成回路１４０に対して複数種類の指示信号を出力し、その指示信号の種別によってクロック生成回路１４０が生成するクロック信号の周波数の変更制御を行う。クロック制御回路２００には、複数の周辺回路ブロック、つまりＢＬＯＣＫＡ１０３およびＢＬＯＣＫＢ１０５からの割り込み要求信号が入力される。この割り込み要求信号については、メインバス１１０に接続されている高速回路ブロックからの信号と、サブバス１２０に接続されている低速回路ブロックからの信号とを判別可能である。図３の例では、ＢＬＯＣＫＡ１０３からの割り込み要求信号であるか、またはＢＬＯＣＫＢ１０５からの割り込み要求信号であるかが区別されて、これらの回路ブロックがクロック制御回路２００に接続されている。また、クロック制御回路２００にはＡＤＤＲＤＥＣ１０２からのアドレスエリアの解析結果信号が入力される。
【００２９】
図４は、第２実施形態に係るデータ処理装置の割り込み処理に係る動作例を示すフローチャートである。以下、図２と相違する処理を主に説明する。
Ｓ２０で処理が開始し、Ｓ２０１でクロック制御回路２００は、周辺回路ブロックからの割り込み要求信号を受信したか否かを判定する。割り込み要求信号を受信したことが判定された場合、Ｓ２０２へ処理を進め、割り込み要求信号を受信していないと判定された場合、Ｓ２０１の判定処理を繰り返す。
【００３０】
Ｓ２０２では割り込み要求の解析が行われる。クロック制御回路２００は受信した割り込み要求信号が、どの回路ブロックから発生したのかを特定する。クロック制御回路２００は割り込み要求信号が、メインバス１１０に接続されているＢｌｏｃｋＡ１０３から発生したのか、またはサブバス１２０に接続されているＢｌｏｃｋＢ１０５から発生したのかついての識別用情報を管理する。この識別用情報には状態フラグを使用し、これを「割り込み判定フラグ」と呼び、０または１の２値をとるものとする。割り込み判定フラグの値が０の場合、受信した割り込み要求信号の発生元がメインバス１１０に接続された回路であることを表す。また、割り込み判定フラグの値が１の場合、受信した割り込み要求信号の発生元がサブバス１２０に接続された回路であることを表す。本実施形態では、Ｓ２０１で受信した割り込み要求信号が、ＢｌｏｃｋＡ１０３から発生したのであれば、割り込み判定フラグの値は０に設定される。またＢｌｏｃｋＢ１０５から発生したのであれば、割り込み判定フラグの値が１に設定される。Ｓ２０２で割り込み判定フラグの値が設定された後、Ｓ２０３に処理を進める。
【００３１】
Ｓ２０３とＳ２０４では、第１実施形態の場合に図２のＳ１０３とＳ１０４で説明した処理と同様の処理が行われる。よって、それらの詳細な説明は省略する。
【００３２】
Ｓ２０５でクロック制御回路２００は、Ｓ２０２で決定した割り込み判定フラグを参照し、クロック生成回路１４０に対してクロック周波数の変更指示信号を出力するか否かについて判断する。割り込み判定フラグの値が１の場合、Ｓ２０６へ処理を進め、割り込み判定フラグの値が０の場合、Ｓ２０７へ処理を進める。
Ｓ２０６からＳ２０９とＳ２１の各処理は、図２のＳ１０６からＳ１０９とＳ１１の処理とそれぞれ同様である。但し、Ｓ２０７で行われる回路ブロックの割り込み要因のクリアについては、各回路ブロックからＩＮＴＣ１０１およびクロック制御回路２００への割り込み要求信号がクリアされ、ＩＮＴＣ１０１からＣＰＵ１００へのＩＲＱもクリアされる。
【００３３】
また、Ｓ２０９にてクロック制御回路２００がクロック生成回路１４０に対してサブＣＬＫの周波数を下げる指示信号を出力するタイミングについては、応答性が損なわれないための対策が講じられる。すなわち、この指示信号を出力するタイミングについては、例えば割り込み要求信号とアドレスエリアの解析結果信号の否定論理和によって判断される。否定論理和の結果が真値の場合、Ｓ２０７で割り込み要求信号がクリアされ、かつ、ＡＤＤＲＤＥＣ１０２の解析したアドレスエリアがサブバス１２０に接続されている回路ブロックの指定に関係しないと判定される。このとき、クロック制御回路２００はＣＰＵ１００からサブバス１２０に接続されている回路ブロックへの割り込み処理が終了したと判断して、サブＣＬＫの周波数を下げる指示信号をクロック生成回路１４０に出力する。クロック生成回路１４０は、クロック制御回路２００からクロック周波数の変更指示信号を受信し、サブＣＬＫの周波数を下げる。
第２実施形態によれば、第１実施形態と同様の効果を奏し、さらには、クロック制御回路２００に複数の回路ブロックからの割り込み要求信号が入力可能であり、クロック信号の周波数を迅速に変更できる。
【符号の説明】
【００３４】
１００  ＣＰＵ
１０１  割り込みコントローラ
１０２  アドレスデコーダ
１０３  メインＣＬＫに同期して動作する回路ブロック
１０５  サブＣＬＫに同期して動作する回路ブロック
１３０，２００  クロック制御回路
１４０  クロック生成回路
【図１】
2013120417.tif 000003
【図２】
2013120417.tif 000004
【図３】
2013120417.tif 000005
【図４】
2013120417.tif 000006
【図５】
2013120417.tif 000007