JP2013120417A - データ処理装置およびその制御方法 - Google Patents
データ処理装置およびその制御方法 Download PDFInfo
- Publication number
- JP2013120417A JP2013120417A JP2011266756A JP2011266756A JP2013120417A JP 2013120417 A JP2013120417 A JP 2013120417A JP 2011266756 A JP2011266756 A JP 2011266756A JP 2011266756 A JP2011266756 A JP 2011266756A JP 2013120417 A JP2013120417 A JP 2013120417A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- frequency
- interrupt
- circuit
- control
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
【課題】電力消費を大幅に増大させることなく、高速な回路部から低速な回路部へのアクセス速度の低下を防止するデータ処理装置とその制御方法を提供する。
【解決手段】クロック生成回路140は、メインバス110に接続された第1回路部にメインCLKを出力し、サブバス120に接続された第2回路部にサブCLKを出力する。CPU100と割り込みコントローラ101はメインCLKに同期して動作し、第2回路部を構成するBLOCKB105はサブCLKに同期して動作する。アドレスデコーダ102は、CPU100からBLOCKB105のレジスタにアクセスする際のアドレスをデコードする。サブCLKの周波数を制御するクロック制御回路130は、CPU100がBLOCKB105に係る割り込み処理を行う際にサブCLKの周波数を上げた後で、割り込み処理が終了したと判断した場合にサブCLKの周波数を変更前の周波数に戻す制御を行う。
【選択図】図1
【解決手段】クロック生成回路140は、メインバス110に接続された第1回路部にメインCLKを出力し、サブバス120に接続された第2回路部にサブCLKを出力する。CPU100と割り込みコントローラ101はメインCLKに同期して動作し、第2回路部を構成するBLOCKB105はサブCLKに同期して動作する。アドレスデコーダ102は、CPU100からBLOCKB105のレジスタにアクセスする際のアドレスをデコードする。サブCLKの周波数を制御するクロック制御回路130は、CPU100がBLOCKB105に係る割り込み処理を行う際にサブCLKの周波数を上げた後で、割り込み処理が終了したと判断した場合にサブCLKの周波数を変更前の周波数に戻す制御を行う。
【選択図】図1
Description
本発明は、動作クロックの異なる複数の回路ブロックを備えたデータ処理装置において、低速クロックで動作する回路ブロックに対するアクセス応答性を向上させる技術に関する。
CPU等の高速動作を行う回路ブロック(以下、高速回路ブロックという)と、低速なシリアル通信等を行う周辺回路とを同一基板上に搭載した、システム・オン・チップのデータプロセッサ等が広く用いられている。高速回路ブロックはオンチップの高速バスに接続され、また、低速動作を行う回路ブロック(以下、低速回路ブロックという)は低速バスに接続される。バスブリッジ回路は双方のバスにおけるバスアクセス動作の相違に対するタイミング制御を行い、バス間でのアクセス動作を可能にする。
高速で動作するCPUが低速バスを経由して低速回路ブロックへアクセスすると、低速バスサイクルが完了するまでCPUがストールすることになり、システム性能が低下する。特に近年のCPUの動作周波数の向上に比べ、周辺回路の動作周波数は殆ど向上していない。このため、低速バスと高速バスとで動作周波数の間に大きなギャップが生じており、CPUの動作周波数を上げた分に見合う性能を引き出すのが難しい。例えば、リアルタイムOS(オペレーティング・システム)の管理下で、割り込みを多用して組み込み機器を制御する場合、割り込みへの応答性がシステム性能に大きな影響を及ぼす。CPUは割り込みへの応答の際、割り込み要因の解析が必要であり、割り込み要因元の周辺回路に対し、多数の内部レジスタ値を読む必要がある。このとき、低速回路ブロック内のレジスタへのアクセスに時間がかかったのでは、良好な割り込み応答性は得られない。そこで、低速回路ブロックに高速バスインタフェースを実装して高速バスに接続する方法が考えられるが、消費電力の増大という別の問題が起こる。多数の周辺回路を搭載したシステム・オン・チップの半導体装置では無駄な電力を消費することになるので、この方法は現実的でない。
特許文献1には、低速動作する周辺回路に対するアクセス応答性を向上させる技術が開示されている。図5に示すように、プログラム命令をフェッチして実行する中央処理装置(CPU)2が接続されるバス7に回路ブロック3〜6,8が接続される。これらはクロック生成回路(CPG)18で生成される、高速クロック信号CLKHが供給されて同期動作される。バス7にはブリッジ回路(BRDGH)8を介してバス10が接続される。バス10に接続されたブリッジ回路(BRDGHL)11には、バス20を介して周辺回路12〜14が接続され、これらは、クロック生成回路(CPG)18で生成される、低速クロック信号CLKLが供給されて同期動作される。ブリッジ回路11は、周辺回路に対するアクセス制御を、クロック信号CLKHに同期して行う高速モードと、クロック信号CLKLに同期して行う低速モードとを有し、CPU2によって動作モードを切換え可能に設定される。
周辺回路12〜14にはタイミング制御回路(ADPT)15〜17がそれぞれ接続され、これらはバス21でブリッジ回路11に接続される。タイミング制御回路15〜17は周辺回路に対し、高速モードにてブリッジ回路11への読み出し動作をクロック信号CLKHに同期させ、またクロック信号CLKHに同期するブリッジ回路11からの書き込み指示に対応するための回路である。この構成では、高速クロック信号CLKHで動作するタイミング制御回路15〜17をブリッジ回路11と通信させることで、CPU2と周辺回路12〜14との間のデータ処理の効率を向上させている。
従来の技術では、電力消費の低減と、高速回路ブロックから低速回路ブロックへのアクセス速度の向上とを両立させることが困難である。
前記特許文献1に記載のデータプロセッサでは、CPU2と周辺回路12〜14との間のデータ処理の効率を向上させるために、タイミング制御回路15〜17を設けているので、回路規模が増大してしまう。また、CPU2と周辺回路12〜14との間でデータ処理を行う場合、常に高速クロック信号CLKHをタイミング制御回路15〜17に供給する必要があり、消費電力が大きくなってしまう。さらには、CPU2から周辺回路12〜14への書き込み指示に対して、書き込みの終了動作について低速クロック信号CLKLのサイクルに同期した処理を行っているため、高速クロック信号CLKHに対して応答速度が低下してしまう。
本発明の目的は、電力消費を大幅に増大させることなく、高速な回路部から低速な回路部へのアクセス速度の低下を防止するデータ処理装置とその制御方法を提供することにある。
前記特許文献1に記載のデータプロセッサでは、CPU2と周辺回路12〜14との間のデータ処理の効率を向上させるために、タイミング制御回路15〜17を設けているので、回路規模が増大してしまう。また、CPU2と周辺回路12〜14との間でデータ処理を行う場合、常に高速クロック信号CLKHをタイミング制御回路15〜17に供給する必要があり、消費電力が大きくなってしまう。さらには、CPU2から周辺回路12〜14への書き込み指示に対して、書き込みの終了動作について低速クロック信号CLKLのサイクルに同期した処理を行っているため、高速クロック信号CLKHに対して応答速度が低下してしまう。
本発明の目的は、電力消費を大幅に増大させることなく、高速な回路部から低速な回路部へのアクセス速度の低下を防止するデータ処理装置とその制御方法を提供することにある。
上記課題を解決するために本発明に係る装置は、第1クロックおよび第2クロックを生成するクロック生成手段と、第1バスに接続されて前記第1クロックに同期して動作する第1回路部および第2バスに接続されて前記第2クロックに同期して動作する第2回路部を有するデータ処理装置であって、前記第1回路部は、前記第1クロックに同期して命令を実行する中央演算処理手段と、前記第1クロックに同期して前記中央演算処理手段に割り込み要求信号を出力する割り込み制御手段と、を備える。前記クロック生成手段を制御することで前記第2クロックの周波数を変更するクロック制御手段は、前記中央演算処理手段が前記第2回路部を構成する回路ブロックに係る割り込み処理を行う際に前記第2クロックの周波数を上げる制御を行い、前記割り込み処理が終了したと判断した場合に前記第2クロックの周波数を変更前の周波数に戻す制御を行う。
本発明によれば、電力消費を大幅に増大させることなく、第1回路部から第2回路部へのアクセス速度の低下を防止できる。
以下、本発明の各実施形態について詳述する。本発明の実施形態に係るデータ処理装置は、高速バスとしての第1バス(以下、メインバスという)および低速バスとしての第2バス(以下、サブバスという)を備える。データ処理装置を構成する第1回路部は、メインバスに接続されて第1クロックに同期して動作し、第2回路部はサブバスに接続されて第2クロックに同期して動作する。
[第1実施形態]
図1は、本発明の第1実施形態に係るデータ処理装置の構成例を示すブロック図である。
命令をフェッチして実行するCPU(中央演算処理装置)100は、メインバス110に接続される。メインバス110にはCPU100の他、INTC(割り込みコントローラ)101が接続されている。割り込み制御を行うINTC101は、周辺回路からの割り込み要求信号による割り込み要求を調停して内部の割り込み要因レジスタにその割り込み要因を保持し、CPU100にIRQ(割り込み要求信号)を出力する。またADDRDEC(アドレスデコーダ)102がメインバス110に接続されており、CPU100が出力するアクセスアドレスを受け取り、CPU100がアクセスしようとしているアドレスエリアについてのアドレスデコード処理を行う。さらには、第1周辺回路(以下、BlockAと記す)103と、プログラムを格納するメモリ106等がメインバス110に接続されている。CPU100、INTC101、ADDRDEC102、BlockA103、メモリ106は高速回路ブロックである。
図1は、本発明の第1実施形態に係るデータ処理装置の構成例を示すブロック図である。
命令をフェッチして実行するCPU(中央演算処理装置)100は、メインバス110に接続される。メインバス110にはCPU100の他、INTC(割り込みコントローラ)101が接続されている。割り込み制御を行うINTC101は、周辺回路からの割り込み要求信号による割り込み要求を調停して内部の割り込み要因レジスタにその割り込み要因を保持し、CPU100にIRQ(割り込み要求信号)を出力する。またADDRDEC(アドレスデコーダ)102がメインバス110に接続されており、CPU100が出力するアクセスアドレスを受け取り、CPU100がアクセスしようとしているアドレスエリアについてのアドレスデコード処理を行う。さらには、第1周辺回路(以下、BlockAと記す)103と、プログラムを格納するメモリ106等がメインバス110に接続されている。CPU100、INTC101、ADDRDEC102、BlockA103、メモリ106は高速回路ブロックである。
メインバス110は、ブリッジ回路104を介してサブバス120と接続される。ブリッジ回路104は、メインバス110上の第1回路部からサブバス120上の第2回路部へのアクセスのタイミング制御を行う。サブバス120には、第2周辺回路(以下、BlockBと記す)105が接続されており、該回路は低速回路ブロックである。
クロック生成回路140は、少なくとも2種類のクロック信号を生成する。本実施形態では、第1クロックをメインCLKといい、メインCLKの周波数以下の第2クロックをサブCLKという。メインバス110上の第1回路部(符号100乃至104および106参照)には、クロック生成回路140の生成するメインCLKが供給され、このクロック信号に同期した動作を行う。また、サブバス120上の第2回路部(符号104及び105参照)には、クロック生成回路140の生成するサブCLKが供給されて、このクロック信号に同期した動作を行う。なお、ブリッジ回路104にはメインCLKおよびサブCLKが入力される。
本実施形態にて、サブCLKは消費電力の低減を目的として使用され、低速回路ブロックであるBlockB105に対するアクセスが不要である場合、サブCLKの周波数はメインCLKよりも低い値に設定される。
クロック制御回路130は、クロック生成回路140に対して複数種類の指示信号を出力する。この指示信号の種別に応じてクロック生成回路140は、生成するクロック信号の周波数を変更する。クロック制御回路130には、INTC101からのIRQと、ADDRDEC102からのアドレスエリアの解析結果信号が入力される。
クロック制御回路130は、クロック生成回路140に対して複数種類の指示信号を出力する。この指示信号の種別に応じてクロック生成回路140は、生成するクロック信号の周波数を変更する。クロック制御回路130には、INTC101からのIRQと、ADDRDEC102からのアドレスエリアの解析結果信号が入力される。
図2は、本実施形態に係るデータ処理装置の割り込み処理に係る動作例を示すフローチャートである。
S10で処理が開始し、S101でCPU100は割り込みが発生したか否かを判定する。例えば、CPU100はINTC101からのIRQが発生したか否かを、IRQの信号レベルによって判断する。IRQの発生手順は、以下の通りである。
S10で処理が開始し、S101でCPU100は割り込みが発生したか否かを判定する。例えば、CPU100はINTC101からのIRQが発生したか否かを、IRQの信号レベルによって判断する。IRQの発生手順は、以下の通りである。
いずれかの回路ブロックに割り込みが発生すると、該回路ブロックはINTC101へ割り込み要求信号を出力する。INTC101は割り込み要求信号を受けると、内部の割り込み要因レジスタに割り込み要因のデータを保持する。そして、INTC101はIRQを発生させて、周辺回路ブロックからの割り込み要求があったことをCPU100に通知する。このIRQ信号はクロック制御回路130にも出力される。
S101でIRQが発生したと判定された場合、S102へ処理を進め、また、IRQが発生していないと判定された場合、S101の判定処理が繰り返し行われる。
S101でIRQが発生したと判定された場合、S102へ処理を進め、また、IRQが発生していないと判定された場合、S101の判定処理が繰り返し行われる。
なお、割り込みが発生したか否かについては別例として、CPU100がINTC101の割り込み要因レジスタをポーリングすることにより判断できる。特定の回路ブロックからINTC101へ出力される割り込み要求信号に対して、INTC101で割り込みマスクをかけることができる。割り込み要求信号に対して割り込みマスクがかかっている場合、INTC101は内部の割り込み要因レジスタに割り込み要因のデータを保持するが、CPU100に対してIRQを発生しない。よってCPU100がINTC101の割り込み要因レジスタを定期的にポーリングすることで、割り込み発生の有無を判断できる。CPU100はINTC101の割り込み要因レジスタをポーリングした結果をクロック制御回路130へ出力する。
割り込みが発生したと判断された場合、S102で割り込み要因の解析処理が実行される。S101でIRQを受けたCPU100は、現在のプログラムカウンタの値をスタックあるいは内部レジスタに退避させ、メモリ106のIRQに対応するベクタアドレスから実行を開始するようにプログラムカウンタの値を設定する。そして、CPU100は、ベクタアドレスに格納されている分岐命令に従って、対応する割り込みハンドラを起動させる。割り込みハンドラはINTC101へアクセスし、その割り込み要因レジスタに保持されている割り込み要因を調べる。または、S101でポーリングによって割り込み発生を検知した場合、CPU100はポーリングで読み出したINTC101の割り込み要因に対応する割り込みハンドラを起動させる。
S103でCPU100は、S102で読み出した割り込み要因に対応する回路ブロックへアクセスするためのアドレスを発行する。次のS104でADDRDEC102はS103でCPU100が発行したアドレスを受信して解析する。ADDRDEC102は、発行されたアドレスエリアが、サブバス120に接続されているBlockB105の指定に関係するか否かを解析し、解析結果の信号をクロック制御回路130に対して出力する。S105で、クロック制御回路130は、S101での割り込み判断結果と、S104で受信したアドレスエリアの解析結果の信号に基づいて、クロック生成回路140に対してクロック周波数の変更指示信号を出力するか否かを判断する。この判断については、例えばIRQとアドレスエリアの解析結果信号の論理積によって行うことができる。論理積の結果が真値の場合、つまりIRQが発生しており、かつ、CPU100がアクセスしようとしているアドレスエリアがBlockB105の指定に関係する場合、S106に進む。また論理積の結果が偽値の場合、例えばIRQが発生していても、CPU100がアクセスしようとしているアドレスエリアがメインバス110に接続されている回路ブロックの指定に関係する場合には、S107に進む。
S106でクロック制御回路130は、クロック生成回路140に対して、サブCLKの周波数を上げる指示信号を出力する。クロック制御回路130はサブCLKの周波数を上げる指示信号を出力したか否かについて判別用情報を管理する。この判別用情報には状態フラグを使用し、以下では「CLK変更フラグ」と呼ぶ。CLK変更フラグは、0または1の2値をとるものとし、0の場合にはサブCLKの周波数を上げる指示信号を出力していないことを表す。CLK変更フラグの値が1の場合には、サブCLKの周波数を上げる指示信号を出力したことを表す。S106では、CLK変更フラグの値が0から1に変更される。クロック生成回路140は、クロック制御回路130から出力された、クロック周波数の変更指示信号を受信し、サブCLKの周波数を上げる。例えば、サブCLKの周波数をメインCLKの周波数と同じ周波数に上げることで、通常ではメインCLKに比べて低速なサブCLKのサイクルが完了するまでの待ち時間を短縮できる。
S107でCPU100は割り込みが起きた回路ブロックにアクセスし、割り込みに応じた処理を行った後、当該回路ブロックの割り込み要因をクリアする。割り込み要因のクリアによって、回路ブロックからINTC101への割り込み要求信号もクリアされ、INTC101からCPU100およびクロック制御回路130へのIRQもクリアされる。
S108でクロック制御回路130は、クロック生成回路140に対してサブCLKの周波数を低下させる変更指示信号を出力するか否かを判断する。CLK変更フラグの値が0の場合、つまりS106でサブCLKの周波数を上げる指示信号を出力していない場合には、S11へ進み、処理を終了する。また、CLK変更フラグの値が1の場合、つまりS106でサブCLKの周波数を上げる指示信号を既に出力している場合には、サブCLKの周波数を下げる指示信号を出力するために次のS109へ処理を進める。
S109でクロック制御回路130は、クロック生成回路140に対してサブCLKの周波数を下げる指示信号を出力する。ここで、クロック制御回路130はCLK変更フラグの値を1から0に変更する。この場合、CPU100が、サブバス120に接続されている回路ブロックにまだアクセス中であると、サブCLKの周波数を低下させたことで応答性が損なわれてしまう。そこでクロック制御回路130は、サブCLKの周波数を下げる指示信号を出力するタイミングについて、例えばIRQとアドレスエリアの解析結果信号との否定論理和によって判断する。否定論理和の結果が真値の場合、S107でIRQがクリアされ、かつ、ADDRDEC102の解析したアドレスエリアがサブバス120に接続されている回路ブロックの指定に関係しないと判定される。CPU100からサブバス120に接続されている回路ブロックへの割り込み処理が終了したと判断され、サブCLKの周波数を下げる指示信号がクロック生成回路140に出力される。クロック生成回路140は、クロック制御回路130から出力されたクロック周波数の変更指示信号を受信し、サブCLKの周波数を下げて変更前の周波数に戻す処理を行う。
なお、S101でポーリングにより割り込み発生を検知する場合にも、サブCLKの周波数を低下させたことで応答性が損なわれないように配慮を要する。この場合、サブCLKの周波数を下げる指示信号の出力タイミングについては、例えばINTC101の割り込み要因レジスタをポーリングした結果と、アドレスエリアの解析結果信号との否定論理和により判断できる。
以上、第1実施形態によれば、特に応答性能が求められる割り込み処理において、高速で動作するCPUが低速バスを経由して周辺回路へアクセスを行う際に、低速バスに係るクロック周波数を上げることによって良好な割り込み応答性が得られる。また、低速バスに対して常にクロック周波数を上げるのではなく、割り込み処理の際、動的にクロック周波数を変更することで不必要な消費電力の増加を防止できる。
なお、本実施形態では、クロック周波数の変更指示信号をクロック制御回路130が生成するものとして説明した。この他、クロック信号の変更条件に合致した時にクロック生成回路140のレジスタ値を書き変えてクロック信号の周波数を変更させる等、ソフトウェア処理で変更指示動作を行ってもよく、特定の指示方法に限定されるものではない。
なお、本実施形態では、クロック周波数の変更指示信号をクロック制御回路130が生成するものとして説明した。この他、クロック信号の変更条件に合致した時にクロック生成回路140のレジスタ値を書き変えてクロック信号の周波数を変更させる等、ソフトウェア処理で変更指示動作を行ってもよく、特定の指示方法に限定されるものではない。
[第2実施形態]
次に、本発明の第2実施形態について詳述する。
図3は、第2実施形態に係るデータ処理装置の構成例を示すブロック図である。基本的な構成は図1に示した第1実施形態に係る構成と同様である。よって、第1実施形態の場合と同様の機能をもつ構成要素については、既に使用した参照符号と同じ符号を用いることによってそれらの詳細な説明を省略する。
次に、本発明の第2実施形態について詳述する。
図3は、第2実施形態に係るデータ処理装置の構成例を示すブロック図である。基本的な構成は図1に示した第1実施形態に係る構成と同様である。よって、第1実施形態の場合と同様の機能をもつ構成要素については、既に使用した参照符号と同じ符号を用いることによってそれらの詳細な説明を省略する。
図1に示す構成との相違点は、クロック制御回路200と、BLOCKA103およびBLOCKB105が接続されていることである。
クロック制御回路200は、クロック生成回路140に対して複数種類の指示信号を出力し、その指示信号の種別によってクロック生成回路140が生成するクロック信号の周波数の変更制御を行う。クロック制御回路200には、複数の周辺回路ブロック、つまりBLOCKA103およびBLOCKB105からの割り込み要求信号が入力される。この割り込み要求信号については、メインバス110に接続されている高速回路ブロックからの信号と、サブバス120に接続されている低速回路ブロックからの信号とを判別可能である。図3の例では、BLOCKA103からの割り込み要求信号であるか、またはBLOCKB105からの割り込み要求信号であるかが区別されて、これらの回路ブロックがクロック制御回路200に接続されている。また、クロック制御回路200にはADDRDEC102からのアドレスエリアの解析結果信号が入力される。
クロック制御回路200は、クロック生成回路140に対して複数種類の指示信号を出力し、その指示信号の種別によってクロック生成回路140が生成するクロック信号の周波数の変更制御を行う。クロック制御回路200には、複数の周辺回路ブロック、つまりBLOCKA103およびBLOCKB105からの割り込み要求信号が入力される。この割り込み要求信号については、メインバス110に接続されている高速回路ブロックからの信号と、サブバス120に接続されている低速回路ブロックからの信号とを判別可能である。図3の例では、BLOCKA103からの割り込み要求信号であるか、またはBLOCKB105からの割り込み要求信号であるかが区別されて、これらの回路ブロックがクロック制御回路200に接続されている。また、クロック制御回路200にはADDRDEC102からのアドレスエリアの解析結果信号が入力される。
図4は、第2実施形態に係るデータ処理装置の割り込み処理に係る動作例を示すフローチャートである。以下、図2と相違する処理を主に説明する。
S20で処理が開始し、S201でクロック制御回路200は、周辺回路ブロックからの割り込み要求信号を受信したか否かを判定する。割り込み要求信号を受信したことが判定された場合、S202へ処理を進め、割り込み要求信号を受信していないと判定された場合、S201の判定処理を繰り返す。
S20で処理が開始し、S201でクロック制御回路200は、周辺回路ブロックからの割り込み要求信号を受信したか否かを判定する。割り込み要求信号を受信したことが判定された場合、S202へ処理を進め、割り込み要求信号を受信していないと判定された場合、S201の判定処理を繰り返す。
S202では割り込み要求の解析が行われる。クロック制御回路200は受信した割り込み要求信号が、どの回路ブロックから発生したのかを特定する。クロック制御回路200は割り込み要求信号が、メインバス110に接続されているBlockA103から発生したのか、またはサブバス120に接続されているBlockB105から発生したのかついての識別用情報を管理する。この識別用情報には状態フラグを使用し、これを「割り込み判定フラグ」と呼び、0または1の2値をとるものとする。割り込み判定フラグの値が0の場合、受信した割り込み要求信号の発生元がメインバス110に接続された回路であることを表す。また、割り込み判定フラグの値が1の場合、受信した割り込み要求信号の発生元がサブバス120に接続された回路であることを表す。本実施形態では、S201で受信した割り込み要求信号が、BlockA103から発生したのであれば、割り込み判定フラグの値は0に設定される。またBlockB105から発生したのであれば、割り込み判定フラグの値が1に設定される。S202で割り込み判定フラグの値が設定された後、S203に処理を進める。
S203とS204では、第1実施形態の場合に図2のS103とS104で説明した処理と同様の処理が行われる。よって、それらの詳細な説明は省略する。
S205でクロック制御回路200は、S202で決定した割り込み判定フラグを参照し、クロック生成回路140に対してクロック周波数の変更指示信号を出力するか否かについて判断する。割り込み判定フラグの値が1の場合、S206へ処理を進め、割り込み判定フラグの値が0の場合、S207へ処理を進める。
S206からS209とS21の各処理は、図2のS106からS109とS11の処理とそれぞれ同様である。但し、S207で行われる回路ブロックの割り込み要因のクリアについては、各回路ブロックからINTC101およびクロック制御回路200への割り込み要求信号がクリアされ、INTC101からCPU100へのIRQもクリアされる。
S206からS209とS21の各処理は、図2のS106からS109とS11の処理とそれぞれ同様である。但し、S207で行われる回路ブロックの割り込み要因のクリアについては、各回路ブロックからINTC101およびクロック制御回路200への割り込み要求信号がクリアされ、INTC101からCPU100へのIRQもクリアされる。
また、S209にてクロック制御回路200がクロック生成回路140に対してサブCLKの周波数を下げる指示信号を出力するタイミングについては、応答性が損なわれないための対策が講じられる。すなわち、この指示信号を出力するタイミングについては、例えば割り込み要求信号とアドレスエリアの解析結果信号の否定論理和によって判断される。否定論理和の結果が真値の場合、S207で割り込み要求信号がクリアされ、かつ、ADDRDEC102の解析したアドレスエリアがサブバス120に接続されている回路ブロックの指定に関係しないと判定される。このとき、クロック制御回路200はCPU100からサブバス120に接続されている回路ブロックへの割り込み処理が終了したと判断して、サブCLKの周波数を下げる指示信号をクロック生成回路140に出力する。クロック生成回路140は、クロック制御回路200からクロック周波数の変更指示信号を受信し、サブCLKの周波数を下げる。
第2実施形態によれば、第1実施形態と同様の効果を奏し、さらには、クロック制御回路200に複数の回路ブロックからの割り込み要求信号が入力可能であり、クロック信号の周波数を迅速に変更できる。
第2実施形態によれば、第1実施形態と同様の効果を奏し、さらには、クロック制御回路200に複数の回路ブロックからの割り込み要求信号が入力可能であり、クロック信号の周波数を迅速に変更できる。
100 CPU
101 割り込みコントローラ
102 アドレスデコーダ
103 メインCLKに同期して動作する回路ブロック
105 サブCLKに同期して動作する回路ブロック
130,200 クロック制御回路
140 クロック生成回路
101 割り込みコントローラ
102 アドレスデコーダ
103 メインCLKに同期して動作する回路ブロック
105 サブCLKに同期して動作する回路ブロック
130,200 クロック制御回路
140 クロック生成回路
Claims (7)
- 第1クロックおよび第2クロックを生成するクロック生成手段と、第1バスに接続されて前記第1クロックに同期して動作する第1回路部および第2バスに接続されて前記第2クロックに同期して動作する第2回路部を有するデータ処理装置であって、
前記第1回路部は、
前記第1クロックに同期して命令を実行する中央演算処理手段と、
前記第1クロックに同期して前記中央演算処理手段に割り込み要求信号を出力する割り込み制御手段と、を備えており、
前記クロック生成手段を制御することで前記第2クロックの周波数を変更するクロック制御手段を設け、前記中央演算処理手段が前記第2回路部を構成する回路ブロックに係る割り込み処理を行う際に前記第2クロックの周波数を上げる制御を行い、前記割り込み処理が終了したと判断した場合に前記第2クロックの周波数を変更前の周波数に戻す制御を行うことを特徴とするデータ処理装置。 - 前記第1回路部は、前記中央演算処理手段が前記第1回路部および第2回路部のレジスタにアクセスする際のアドレスをデコードするアドレスデコード手段を備え、
前記クロック制御手段は、前記中央演算処理手段がアクセスしようとするアドレスエリアの情報を前記アドレスデコード手段から受信するとともに、前記割り込み制御手段による前記回路ブロックに係る割り込みが発生したことを示す情報を受信した場合、前記第2クロックの周波数を変更する制御を行い、前記第2クロックの周波数を変更したか否かについての判別用情報を管理することを特徴とする請求項1記載のデータ処理装置。 - 前記クロック制御手段は、
前記アドレスデコード手段の示すアドレスエリアが前記回路ブロックを指定しており、かつ前記割り込み制御手段による前記回路ブロックに係る割り込みが発生したことが示された場合、前記第2クロックの周波数を上げる制御を行い、
前記判別用情報を参照して前記第2クロックの周波数を既に上げていると判別した状態にて、前記アドレスデコード手段が示すアドレスエリアが前記回路ブロックを指定しておらず、かつ前記割り込み制御手段により前記割り込みの終了が示されたときに、前記第2クロックの周波数を下げる制御を行うことを特徴とする請求項2記載のデータ処理装置。 - 前記第1回路部は、前記中央演算処理手段が前記第1回路部および第2回路部のレジスタにアクセスする際のアドレスをデコードするアドレスデコード手段を備え、
前記クロック制御手段は、前記中央演算処理手段がアクセスしようとするアドレスエリアの情報を前記アドレスデコード手段から受信するとともに前記回路ブロックからの割り込み要求信号を受信した場合、前記第2クロックの周波数を変更する制御を行い、前記第2クロックの周波数を変更したか否かについての判別用情報を管理することを特徴とする請求項1記載のデータ処理装置。 - 前記クロック制御手段は、
前記回路ブロックからの割り込み要求信号を受信した際に前記第2クロックの周波数を上げる制御を行い、
前記判別用情報を参照して前記第2クロックの周波数を既に上げていると判別した状態にて、前記アドレスデコード手段が示すアドレスエリアが前記回路ブロックを指定しておらず、かつ前記割り込み制御手段により前記割り込みの終了が示されたときに、前記第2クロックの周波数を下げる制御を行うことを特徴とする請求項4記載のデータ処理装置。 - 前記クロック制御手段は、
前記割り込み要求信号が前記第1回路部で発生したか、または前記第2回路部で発生したかについての識別用情報を管理し、
前記識別用情報を参照して前記割り込み要求信号の発生元が前記第2回路部を構成する回路ブロックであると判定した場合、前記第2クロックの周波数を上げる制御を行い、また前記割り込み要求信号の発生元が前記第1回路部を構成する回路ブロックであると判定した場合、前記第2クロックの周波数を上げる制御を行わないことを特徴とする請求項4または5記載のデータ処理装置。 - 第1クロックおよび第2クロックを生成するクロック生成手段と、第1バスに接続されて前記第1クロックに同期して動作する第1回路部および第2バスに接続されて前記第2クロックに同期して動作する第2回路部を有するデータ処理装置にて実行される制御方法であって、
前記第1クロックに同期して中央演算処理手段が命令を実行するステップと、
前記第1クロックに同期して前記中央演算処理手段に割り込み要求信号を出力する割り込み制御ステップと、
前記クロック生成手段を制御して前記第2クロックの周波数を変更するクロック制御ステップを有し、
前記クロック制御ステップはさらに、
前記中央演算処理手段が前記第2回路部を構成する回路ブロックに係る割り込み処理を行う際に、前記第2クロックの周波数を上げる制御を行うステップと、
前記割り込み処理が終了したと判断した場合に前記第2クロックの周波数を変更前の周波数に戻す制御を行うステップを有することを特徴とするデータ処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011266756A JP2013120417A (ja) | 2011-12-06 | 2011-12-06 | データ処理装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011266756A JP2013120417A (ja) | 2011-12-06 | 2011-12-06 | データ処理装置およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013120417A true JP2013120417A (ja) | 2013-06-17 |
Family
ID=48773047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011266756A Pending JP2013120417A (ja) | 2011-12-06 | 2011-12-06 | データ処理装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013120417A (ja) |
-
2011
- 2011-12-06 JP JP2011266756A patent/JP2013120417A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7529956B2 (en) | Granular reduction in power consumption | |
CN106155265B (zh) | 有功率效率的处理器体系结构 | |
TWI443504B (zh) | 多核心處理器系統及其動態電源管理方法與控制裝置 | |
CN105144082B (zh) | 基于平台热以及功率预算约束,对于给定工作负荷的最佳逻辑处理器计数和类型选择 | |
US8531893B2 (en) | Semiconductor device and data processor | |
JPWO2009022371A1 (ja) | タスク処理装置 | |
US8275975B2 (en) | Sequencer controlled system and method for controlling timing of operations of functional units | |
US8190924B2 (en) | Computer system, processor device, and method for controlling computer system | |
US9026829B2 (en) | Package level power state optimization | |
US7886177B2 (en) | Method and apparatus of collecting timer ticks | |
US8185722B2 (en) | Processor instruction set for controlling threads to respond to events | |
US20080229310A1 (en) | Processor instruction set | |
JP6236996B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
CN101526831A (zh) | 用于在多个时钟域之间提升确定性的技术 | |
CN101609361B (zh) | 动态功率管理处理器的降噪装置和方法 | |
JP6354333B2 (ja) | 情報処理装置及びタイマ設定方法 | |
JP2009070389A (ja) | 処理装置のためのコントローラ | |
US20140351828A1 (en) | Apparatus and method for controlling multi-core system on chip | |
JP2013120417A (ja) | データ処理装置およびその制御方法 | |
JP2010140319A (ja) | 半導体装置 | |
JP5928272B2 (ja) | 半導体集積回路及びコンパイラ | |
CN114787777A (zh) | 异构处理器之间的任务转移方法 | |
EP2137613B1 (en) | Processor register architecture | |
JP5204740B2 (ja) | タスク処理装置 | |
US10101795B2 (en) | System-on-chip (SoC) and method for dynamically optimizing power consumption in the SoC |