(57)【要約】【課題】データ処理単位毎にデータ処理の実行サイクル数及び許容される処理時間に制約のあるデータ処理を繰り返すデータ処理部の低消費電力を図る。【解決手段】データ処理部のクロック信号周波数を制御するクロック制御部（５）は、データ処理部（３，４）が繰り返し行うデータ処理単位でデータ処理を行うサイクル期間(実行期間)とデータ処理を行うことが阻止されるサイクル期間(ストール期間)とを取得し、一つのデータ処理単位において取得した双方のサイクル期間の合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に近づく方向に、当該データ処理部のクロック信号周波数を変更する。双方のサイクル期間の合計が、前記保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に対して余裕があるとき当該データ処理部のクロック信号周波数を低くする。【選択図】図１
2012038070.tif 000002
【特許請求の範囲】
【請求項１】
夫々固有のクロック信号に同期動作される複数のデータ処理部と、前記複数のデータ処理部が利用するリソースと、前記データ処理部のクロック信号周波数を制御するクロック制御部と、を備えたデータ処理システムであって、
前記クロック制御部は、前記データ処理部が繰り返し行うデータ処理単位でデータ処理を行うサイクル期間とデータ処理を行うことが阻止されるサイクル期間とを取得し、一つのデータ処理単位における前記取得した双方のサイクル期間の合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に近づく方向に、当該データ処理部のクロック信号周波数を変更する制御を行う、データ処理システム。
【請求項２】
前記クロック制御部は、前記サイクル期間の合計が処理時間の制約限界から離れているほど変更するクロック信号周波数を低くする、請求項１記載のデータ処理システム。
【請求項３】
前記クロック制御部は、前記データ処理を行うことが阻止されるサイクル期間として、データ処理部が前記リソースに対するアクセスリクエストを要求してからそれに応答するレスポンスが返されるまでのサイクル期間を取得する、請求項２記載のデータ処理システム。
【請求項４】
前記クロック制御部は、クロック制御部のクロック信号を用いて前記データ処理部が繰り返し行う複数データ処理単位でデータ処理を行うサイクル数とデータ処理を止めるサイクル数を計測し、計測したサイクル数を当該データ処理部のクロック信号のサイクル数に変換して、前記データ処理部が繰り返し行う一つのデータ処理単位でデータ処理を行うサイクル期間とデータ処理を行うことが阻止されるサイクル期間とを取得する、請求項３記載のデータ処理システム。
【請求項５】
夫々固有のクロック信号に同期動作され相互に単独動作と協調動作が可能にされる第１のデータ処理部及び第２のデータ処理部と、前記第１のデータ処理部及び第２のデータ処理部が利用するリソースと、前記第１のデータ処理部及び第２のデータ処理部のクロック信号周波数を制御するクロック制御部と、を備えたデータ処理システムであって、
前記クロック制御部は、前記第１のデータ処理部及び第２のデータ処理部が夫々繰り返し行うデータ処理単位でデータ処理を行うサイクル期間とデータ処理を行うことが阻止されるサイクル期間とを個別に取得し、夫々のデータ処理部による一つのデータ処理単位における前記取得した双方のサイクル期間の合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に近づく方向に、当該データ処理部のクロック信号周波数を変更する制御を行う、データ処理システム。
【請求項６】
前記第１のデータ処理部及び第２のデータ処理部が単独動作するとき、前記クロック制御部は、取得したサイクル期間に基づいてクロック信号周波数を変更しようとするデータ処理部に変更要求を行い、この要求に応答する承認がそのデータ処理部から返されるのを待って、当該データ処理部のクロック信号周波数を変更する、請求項５記載のデータ処理システム。
【請求項７】
クロック制御部は、前記サイクル期間の取得対象とするデータ処理部のクロック信号周波数を予め選択可能な最高周波数に設定してサイクル期間とデータ処理を行うことが阻止されるサイクル期間とを取得する、請求項６記載のデータ処理システム。
【請求項８】
前記第１のデータ処理部及び第２のデータ処理部が協調動作するとき、前記クロック制御部は、夫々取得したサイクル期間に基づいてクロック信号周波数を変更しようとする第１のデータ処理部及び第２のデータ処理部に変更要求を行い、この要求に応答する承認が双方のデータ処理部から返されるのを待って、第１のデータ処理部及び第２のデータ処理部の夫々のクロック信号周波数を変更する、請求項５記載のデータ処理システム。
【請求項９】
クロック制御部は、前記サイクル期間の取得対象とするデータ処理部のクロック信号周波数を予め選択可能な最高周波数に設定してサイクル期間とデータ処理を行うことが阻止されるサイクル期間とを取得する、請求項８記載のデータ処理システム。
【請求項１０】
前記第１のデータ処理部は画像処理部であり、前記第２のデータ処理部は音声処理部であり、
前記単独動作は、動画再生処理の指示に応答する前記画像処理部の画像再生処理動作と、音声再生処理の指示に応答する前記音声処理部の音声再生処理動作との夫々の処理動作であり、
前記協調動作は、地デジ処理の指示に応答して並行される前記画像処理部の画像再生処理動作と音声処理部の音声再生処理動作である、請求項９記載のデータ処理システム。
【請求項１１】
１個の半導体基板に形成された、請求項１又は５記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理単位毎にデータ処理の実行サイクル数及び許容される処理時間に制約のあるデータ処理を繰り返し行うデータ処理システムに関し、例えば、画像処理や音声処理を行うシステムオンチップ（SoC）のマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
半導体装置の高性能化及び高機能化を実現するため、中央処理装置（ＣＰＵ）と共にそのアクセラレータとして画像処理や音声処理などの複数のデータ処理部としてのモジュールを搭載し、且つ動作周波数を高くした、ＳｏＣ形態の半導体装置が提供されている。この種の半導体装置においては搭載モジュール数や動作速度などの点からデータ処理量が増え、それによって、複数のモジュール間でバスアクセスが競合し易くなり、アクセス要求からアクセスレスポンスを得るまでの待ち時間が長くなる傾向にある。また、モジュールの動作周波数と当該モジュールが利用するリソースの動作周波数との相違によってもアクセスレスポンスを得るまでの待ち時間が長くなる。
【０００３】
上記アクセス要求からアクセスレスポンスを得るまでの待ち時間に着目した技術として特許文献１には、アクセス要求からレスポンスまでの待ち時間を測定し、測定した時間を用いてパケット転送のタイムアウト制御を行うものである。同じく、特許文献２には、リクエストを発行してからレスポンスがあるまでのサイクル数を満たす許容時間をカウンタで測定し、カウント閾値を下回るカウント値に対応するリクエストに対する応答処理を最優先とする制御について記載される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１４８７１０号公報
【特許文献２】特開２００８−２８７５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明者は、データ処理単位毎にデータ処理の実行サイクル数及び許容される処理時間に制約のある画像処理や音声処理などのデータ処理を繰り返し行うデータ処理システムにおいてデータ処理に必要なデータのアクセス要求からアクセスレスポンスを得るまでの待ち時間が長くなると、データ処理部はそのような待ち時間の間も動作可能な状態にされているので、クロック信号に同期して無駄な電力を消費することになるという点に着目した。上記特許文献に記載の技術は、アクセス要求からレスポンスまでの待ち時間を測定しているが、その用途は、パケット通信のタイムアウト制御やリクエストに対する優先制御であり、アクセスを要求するデータ処理部の低消費電力化に直接関係するものではない。
【０００６】
本発明の目的は、データ処理単位毎にデータ処理の実行サイクル数及び許容される処理時間に制約のあるデータ処理を繰り返し行うデータ処理システムにおいて低消費電力を図ることにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、データ処理部のクロック信号周波数を制御するクロック制御部は、前記データ処理部が繰り返し行うデータ処理単位でデータ処理を行うサイクル期間とデータ処理を行うことを阻止されるサイクル期間とを取得し、一つのデータ処理単位における前記取得した双方のサイクル期間の合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に近づく方向に、当該データ処理部のクロック信号周波数を変更する制御を行う。
【００１０】
これによれば、データ処理単位でデータ処理を行うサイクル期間とデータ処理を行うことが阻止されるサイクル期間との合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に対して余裕があるとき、当該データ処理部のクロック信号周波数を低くすることができ、その分、データ処理を行うサイクル期間は長くなるが、データ処理を行うことが阻止されるサイクル期間は変わりなく、結果としてデータ処理を行うことが阻止されるサイクル期間においてデータ処理部が消費するクロックサイクル数が少なくなる。
【発明の効果】
【００１１】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１２】
すなわち、データ処理単位毎にデータ処理の実行サイクル数及び許容される処理時間に制約のあるデータ処理を繰り返し行うデータ処理システムにおいてデータ処理部の動作周波数を適切に調整して低消費電力を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明に係るデータ処理システムの一例であるマイクロコンピュータを示すブロック図である。
【図２】図２はストール期間を考慮したクロック信号周波数変更制御の処理を原理的に示す説明図である。
【図３】図３は分周率算出部の一例を示すブロック図である。
【図４】図４は画像処理部が単独で画像処理を行う場合に画像処理部とＳＤＲＡＭの期間ＴにおけるリクエストパケットＲＥＱｇｒに含まれるリクエスト信号、レスポンスパケットＲＥＳｇｒに含まれるレスポンス信号、及び演算サイクル信号ＥＮｇｒの変化に同期した動作を例示するタイミングチャートである。
【図５】図５は画像処理部と音声処理部がＳＤＲＡＭをアクセスしながら協調して画像処理と音声処理を行う動作を例示するタイミングチャートである。
【図６】図６は画像処理部と音声処理部がＳＤＲＡＭをアクセスしながら協調して画像処理と音声処理を行う場合に画像処理部の動作周波数を図５に比べて低くしたときの動作を示すタイミングチャートである。
【図７】図７は画像処理部と音声処理部による協調動作と単独動作を例示するタイミングチャートである。
【図８】図８は画像処理部による１フレームの処理期間に行う画像処理の具体例を示すタイミングチャートである。
【図９】図９はＣＰＵが画像処理部と音声処理部を用いたデータ処理を制御するときのクロック周波数の変更制御手順を例示するタイミングチャートである。
【図１０】図１０は図７に示される動作タイミングを詳細に示す第１のタイミングチャートである。
【図１１】図１１は図７に示される動作タイミングを詳細として図１０の続きを示すタイミングチャートである。
【図１２】図１２は図７に示される動作タイミングを詳細として図１１の続きを示すタイミングチャートである。
【図１３】図１３は図７に示される動作タイミングを詳細として図１２の続きを示すタイミングチャートである。
【図１４】図１４は図７に示される動作タイミングを詳細として図１３の続きを示すタイミングチャートである。
【図１５】図１５は図７に示される動作タイミングを詳細として図１４の続きを示すタイミングチャートである。
【発明を実施するための形態】
【００１４】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１５】
〔１〕＜データ処理のクロック信号周波数をストール期間を考慮して変更＞
本発明の代表的な実施の形態に係るデータ処理システム（１）は、夫々固有のクロック信号（ＣＬＫｇｒ，ＣＬＫａｄ）に同期動作される複数のデータ処理部（３，４）と、前記複数のデータ処理部が利用するリソース（７）と、前記データ処理部のクロック信号周波数を制御するクロック制御部（５）と、を備える。前記クロック制御部は、前記データ処理部が繰り返し行うデータ処理単位でデータ処理を行うサイクル期間(実行期間)とデータ処理を行うことが阻止されるサイクル期間(ストール期間)とを取得し、一つのデータ処理単位における前記取得した双方のサイクル期間の合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に近づく方向に、当該データ処理部のクロック信号周波数を変更する制御を行う。
【００１６】
これによれば、データ処理単位でデータ処理を行うサイクル期間(実行期間)とデータ処理を行うことが阻止されるサイクル期間(ストール期間)との合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に対して余裕（この余裕とはデータ処理が必要とされないサイクル期間としてのアイドル期間に相当する）があるとき、当該データ処理部のクロック信号周波数を低くすることができ、その分、データ処理を行うサイクル期間(実行期間)は長くなるが、データ処理を行うことが阻止されるサイクル期間(ストール期間)は変わりなく、結果としてデータ処理を行うことが阻止されるサイクル期間(ストール期間)においてデータ処理部が消費するクロックサイクル数が少なくなる。これによって当該データ処理部の電力消費量を全体的に低減させることができる。このとき、データ処理を行うサイクル期間(実行期間)は長くなるが、データ処理単位で保証すべきデータ処理の実行サイクル数及び許容される処理時間の制約は満足されているので、必要なデータ処理の性能低下にはならない。
【００１７】
〔２〕＜制約限界に近づけるようにクロック信号周波数を低下させる＞
項１のデータ処理システムにおいて、前記クロック制御部は、前記サイクル期間の合計が処理時間の制約限界から離れているほど変更するクロック信号周波数を低くする（図２）。
【００１８】
性能限界の範囲でデータ処理部の低消費電力を最優先とすることができる。
【００１９】
〔３〕＜ストール期間としてアクセスリクエストからレスポンスまでの期間に着目＞
項１又は２のデータ処理システムにおいて、前記クロック制御部は、前記データ処理を行うことが阻止されるサイクル期間(ストール期間)として、データ処理部が前記リソースに対するアクセスリクエストを要求してからそれに応答するレスポンスが返されるまでのサイクル期間を取得する。
【００２０】
これにより、データ処理を行うことが阻止されるサイクル期間(ストール期間)を過不足なく取得することができる。
【００２１】
〔４〕＜測定サイクル数を所要サイクル期間に変換＞
項１乃至３の何れかのデータ処理システムにおいて、前記クロック制御部は、クロック制御部のクロック信号を用いて前記データ処理部が繰り返し行う複数データ処理単位でデータ処理を行うサイクル数(実行サイクル数)とデータ処理を行うことが阻止されるサイクル数(ストールサイクル数)を計測し、計測したサイクル数を当該データ処理部のクロック信号のサイクル数に変換して、前記データ処理部が繰り返し行う一つのデータ処理単位でデータ処理を行うサイクル期間(実行期間)とデータ処理を行うことが阻止されるサイクル期間(ストール期間)と、を取得する。
【００２２】
データ処理部とクロック制御部のクロック信号周波数が一致しない場合にも前記データ処理を行うサイクル期間(実行期間)とデータ処理を行うことが阻止されるサイクル期間(ストール期間)とを容易且つ確実に取得することができる。
【００２３】
〔５〕＜協調動作するデータ処理部におけるストールを考慮したクロック信号周波数の変更＞
本発明の代表的な別の実施の形態に係るデータ処理システム（１）は、夫々固有のクロック信号（ＣＬＫｇｒ，ＣＬＫａｄ）に同期動作され相互に単独動作と協調動作が可能にされる第１のデータ処理部（３）及び第２のデータ処理部（４）と、前記第１のデータ処理部及び第２のデータ処理部が利用するリソース（７）と、前記第１のデータ処理部及び第２のデータ処理部のクロック信号周波数を制御するクロック制御部（５）と、を備える。前記クロック制御部は、前記第１のデータ処理部及び第２のデータ処理部が夫々繰り返し行うデータ処理単位でデータ処理を行うサイクル期間(実行期間)とデータ処理を行うことが阻止されるサイクル期間(ストール期間)とを個別に取得し、夫々のデータ処理部による一つのデータ処理単位における前記取得した双方のサイクル期間の合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に近づく方向に、当該データ処理部のクロック信号周波数を変更する制御を行う。
【００２４】
複数個のデータ処理部が異なるデータ処理を行うデータ処理システムにおいても、夫々にデータ処理部毎にクロック信号周波数の設定を変更することができるから、項１と同様に、個々のデータ処理部のデータ処理性能を低下させることなく低消費電力を実現することができる。
【００２５】
〔６〕＜単独動作におけるクロック周波数変更タイミング＞
項５のデータ処理システムにおいて、前記第１のデータ処理部及び第２のデータ処理部が単独動作するとき、前記クロック制御部は、取得した前記サイクル期間に基づいてクロック信号周波数を変更しようとするデータ処理部に変更要求を行い、この要求に応答する承認がそのデータ処理部から返されるのを待って、当該データ処理部のクロック信号周波数を変更する（図１３）。
【００２６】
単独動作するデータ処理部によるデータ処理に支障を与えることなくクロック信号周波数を変更することができる。
【００２７】
〔７〕＜サイクル期間取得時にクロック信号周波数を最高周波数に設定＞
項６のデータ処理システムにおいて、クロック制御部は、前記サイクル期間の取得対象とするデータ処理部のクロック信号周波数を予め選択可能な最高周波数に設定してサイクル期間とデータ処理を行うことが阻止されるサイクル期間(ストール期間)とを取得する（図１２）。
【００２８】
データ処理単位で保証すべきデータ処理の実行サイクル数及び許容される処理時間の制約を満足する最高周波数を基点にすることにより、最初から上記制約を満足するか否かを判別してクロック信号周波数の初期値を設定することを要しない。
【００２９】
〔８〕＜協調動作におけるクロック周波数変更タイミング＞
項５のデータ処理システムにおいて、前記第１のデータ処理部及び第２のデータ処理部が協調動作するとき、前記クロック制御部は、取得したサイクル期間とデータ処理を行うことが阻止されるサイクル期間(ストール期間)とに基づいてクロック信号周波数を変更しようとする第１のデータ処理部及び第２のデータ処理部に変更要求を行い、この要求に応答する承認が双方のデータ処理部から返されるのを待って、第１のデータ処理部及び第２のデータ処理部の夫々のクロック信号周波数を変更する（図１５）。
【００３０】
協調動作するデータ処理部によるデータ処理に支障を与えることなくクロック信号周波数を変更することができる。
【００３１】
〔９〕＜サイクル期間取得時にクロック信号周波数を最高周波数に設定＞
項８のデータ処理システムにおいて、クロック制御部は、前記サイクル期間の取得対象とするデータ処理部のクロック信号周波数を最高周波数に設定してサイクル期間とデータ処理を行うことが阻止されるサイクル期間(ストール期間)とを取得する（図１４）。
【００３２】
データ処理単位で保証すべきデータ処理の実行サイクル数及び許容される処理時間の制約を満足する最高周波数を基点にすることにより、最初から上記制約を満足するか否かを判別してクロック信号周波数の初期値を設定することを要しない。
【００３３】
〔１０〕＜画像処理ユニットと音声処理ユニット＞
項９のデータ処理システムにおいて、前記第１のデータ処理部は画像処理部であり、前記第２のデータ処理部は音声処理部である、このとき、前記単独動作は、画像再生処理の指示に応答する前記画像処理部の画像再生処理動作と、音声再生処理の指示に応答する前記音声処理部の音声再生処理動作との夫々の処理動作である。前記協調動作は、地デジ処理の指示に応答して並行される前記画像処理部の画像再生処理動作と音声処理部の音声再生処理動作である。
【００３４】
画像処理ユニット及び音声処理ユニットを搭載して動画再生処理、音声再生処理及び地デジ処理を行うデータ処理システムの低消費電力を容易に実現することができる。
【００３５】
〔１１〕＜SoC半導体デバイス＞
項１乃至１０の何れかのデータ処理システムは１個の半導体基板に形成された半導体デバイスである。
【００３６】
データ処理システムにおけるデータ処理部の高機能と高集約化に資することができる。
【００３７】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３８】
《マイクロコンピュータ》
図１には本発明に係るデータ処理システムの一例としてマイクロコンピュータ（ＭＣＵ）１が示される。同図に示されるマイクロコンピュータ１は、特に制限されないが、ＣＭＯＳ集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成される。ここで特に制限されないが、データ処理システムとは、マイクロコンピュータのように一つの半導体基板に形成されたデータ処理装置を含むものである。
【００３９】
マイクロコンピュータ（マイクロプロセッサ、データ処理装置）1は、プログラムをフェッチして実行する中央処理装置（ＣＰＵ）２、ＣＰＵ２から供給されるコマンドに従って画像処理を行うデータ処理部としての画像処理部（ＧＲＩＰ）３、ＣＰＵ２から供給されるコマンドに従って音声処理を行うデータ処理部としての音声処理部（ＡＤＩＰ）４、外部に接続されるＳＤＲＡＭ（Synchronous Dynamic Random Access Memory)の制御を行うメモリ制御回路（ＭＣＮＴ）７、及びクロック制御回路（ＣＬＫＣＮＴ）５などを備え、それらはシステムバス６を介して情報の入出力を行う。
【００４０】
ここではメモリ制御回路７がＣＰＵ２，ＧＲＩＰ３，ＡＤＩＰ４にとって一つの共有リソースとされ、ＳＤＲＡＭ８に対するアクセス要求に応答するメモリ制御を行う。ＣＰＵ２，ＧＲＩＰ３，ＡＤＩＰ４のリソースはＭＣＮＴ７に限定されず、その他の入出力コントローラや周辺回路を備えている。
【００４１】
メモリ制御回路7はシステムバス６からのＳＤＲＡＭアクセス要求に答えて、ＳＤＲＡＭアクセスのためのメモリインタフェース制御を行う。メモリ制御回路７は、各端子を介してＳＤＲＡＭ８に接続されるように構成され、各端子には、アドレス端子、データ端子、制御端子、クロックイネーブル端子等が含まれる。ＳＤＲＡＭ8は例えばクロック制御部５から供給されるクロック信号ＣＬＫｓｄｒａｍに同期動作される。
【００４２】
システムバス６は、特に制限されないが、スプリットトランザクションバスとされ、図示を省略するバスルータを有し、イニシエータが出力されるアクセスリクエストとしてのリクエストパケットを受け取ると、それによってアクセス対象に指定されるターゲットへのアクセス競合があればこれを調停して当該ターゲットへの経路を選択して、当該リクエストパケットをターゲットに与える。リクエストパケットが与えられたターゲットはそのアクセスリクエストにしたがったアクセス動作を行い、アクセス結果はレスポンスパケットとしてバスルータに返され、バスルータはレスポンスパケットに含まれる対応するリクエストパケットの発行元イニシエータへの経路を選択して当該レスポンスパケットを供給する。図には、代表的に、画像処理部３がシステムバス６を介してメモリ制御回路７に与えられるリクエストパケットＲＥＱｇｒ、メモリ制御回路７が画像処理部３に返すレスポンスパケットＲＥＳｇｒ、音声処理部４がシステムバス６を介してメモリ制御回路７に与えられるリクエストパケットＲＥＱａｄ、メモリ制御回路７が音声処理部４に返すレスポンスパケットＲＥＳａｄが例示される。
【００４３】
ＣＰＵ２はクロック信号ＣＬＫｃｐに同期してプログラムをフェッチして実行する。
【００４４】
画像処理部３はＣＰＵ２から画像処理のコマンドや制御データを含む画像処理の指示ＥＸｇｒを制御レジスタ１４に受け取ると、その指示にしたがって演算部１１で演算及び演算制御を行い、演算に必要なデータのフェッチや演算結果データのストアは、バスインタフェース１３からシステムバス６を介して行われる。観測部１２は演算部１１が画像処理演算を実行している演算サイクルか否かを判別し、演算サイクルであれば演算サイクル信号ＥＮｇｒをアサートし、演算サイクルでなければ演算サイクル信号ＥＮｇｒをネゲートする。画像処理部３はクロック信号ＣＬＫｇｒに同期動作される。演算サイクルとは、例えば、演算部１１が自ら保有する演算シーケンサによる制御にしたがって演算を実行する場合に、演算シーケンサによる演算制御の終了ステートではない状態を意味する。
【００４５】
音声処理部４はＣＰＵ２から音声処理のコマンドや制御データを含む音声処理の指示ＥＸａｄを制御レジスタ２４に受け取ると、その指示にしたがって演算部２１で演算及び演算制御を行い、演算に必要なデータのフェッチや演算結果データのストアは、バスインタフェース２３からシステムバス６を介して行われる。観測部２２は演算部２１が音声処理演算を実行している演算サイクルか否かを判別し、演算サイクルであれば演算サイクル信号ＥＮａｄをアサートし、演算サイクルでなければ演算サイクル信号ＥＮａｄをネゲートする。音声処理部４はクロック信号ＣＬＫａｄに同期動作される。演算サイクルの意味は上記同様である。
【００４６】
クロック制御部５は源発振に基づいて同期クロック信号を生成するクロック生成部６０を有する。クロック生成部６０は、図示を省略する振動子などの源発振を受けて発振動作する源発振回路６３の源発振クロック信号ＣＬＫを分周部６２で分周して、前記クロック信号ＣＬＫｃｐ，ＣＬＫｇｒ，ＣＬＫａｄ、ＣＬＫｓｄ、ＣＬＫｓｄｒａｍなどの同期クロック信号を生成する。源発振クロック信号ＣＬＫに対する前記クロック信号ＣＬＫｃｐ，ＣＬＫｇｒ，ＣＬＫａｄ、ＣＬＫｓｄ、ＣＬＫｓｄｒａｍなどの分周比の初期値は例えばＣＰＵ２によって設定される。特に制限されないが、メモリ制御回路7に供給されるクロック信号ＣＬＫｓｄと、ＳＤＲＡＭ８に供給されるクロック信号ＣＬＫｓｄｒａｍは同一の周波数である。また、前記クロック信号ＣＬＫｇｒ及びＣＬＫａｄの分周比は、画像処理部３及び音声処理部４の夫々におけるデータ処理状況、すなわち、データ処理単位でデータ処理を行うサイクル期間(実行期間)とデータ処理を行うことが阻止されるサイクル期間(ストール期間)との合計が、そのデータ処理単位で保証すべきデータ処理の実行サイクル数を満足し且つ許容される処理時間の制約限界に対して余裕（アイドル期間）があるとき、画像処理部３又は音声処理部４のようなデータ処理部のクロック信号周波数を低くするように制御を行って、画像処理部３及び音声処理部４における電力消費を低減する。
【００４７】
《ストール期間を考慮したクロック信号周波数の変更の原理説明》
まず、前記クロック信号ＣＬＫｇｒ及びＣＬＫａｄの周波数制御の原理について図２を参照しながら説明する。ここでは画像処理を一例とする。デコード、拡大、色変換などの画像処理はフレームのような画像データの表示単位で繰り返し行われる。したがって、表示単位のデータに対する画像処理は所定時間毎に完結していかなければならない。そのような所定時間毎に完結すべきデータ処理単位（例えば１フレーム分の画像データに対する処理）には、許容される処理時間Ｔと、その間に実行すべき処理サイクル数Ｎが決まる。処理時間Ｔに対して実効サイクルＮとそのときの画像処理部３のクロック信号周波数ｆ０に基づけば余裕サイクルはＡとなる。余裕サイクルＡは、画像処理の対象とされるデータをメモリからフェッチしたり、処理結果をメモリにストアするためのメモリアクセスなどに費やことができ、データ処理を行う期間に対してデータ処理を止める期間（ストール期間及びアイドル期間）として用いられる。データ処理を止める期間は、例えばＳＤＲＡＭのアクセス動作に起因するアクセスレイテンシ、外部メモリであるＳＤＲＡＭのメモリ動作速度が画像処理速度と相違されること、及びアクセス競合によるレイテンシなどによって生ずる。特に、ストール期間とは、必要なデータ処理が行われる実行期間に対して、必要なデータ処理を行うことが阻止されるサイクル期間である。前述のように、データ処理に必要なオペランドアクセスを完了できるまでの待ち時間などによって発生する。アイドル期間はデータ処理が必要とされない余裕期間としてのサイクル期間である。本発明ではデータ処理を行う実行期間とデータ処理が阻止されるストール期間とを実際に測定する。例えば図２に例示されるように、周波数ｆ０で画像処理部３を動作させて測定した結果、周波数ｆ０のサイクル数で、データ処理を行う実行期間が実効サイクル数Ｎ、データ処理が阻止されるストール期間がストールサイクル数Ｂであったとする。これにより、最大でＡ＋Ｎ−（Ｂ＋Ｎ）のサイクル数分（すなわちデータ処理が必要とされないアイドルサイクルのサイクル数Ｃに相当する）だけ、処理期間を長くするようにデータ処理部３の動作周波数を低くしても、許容時間Ｔの制約を満足することができる。この観点によって周波数制御を行う。更に詳述すれば、サイクルＡ＋Ｎの合計サイクル数をＭ０とすると、測定時の周波数ｆ０はＭ０／Ｔと表すことができる。また、測定したサイクル数Ｂ＋Ｎを期間Ｔで消費するとすれば、そのときの動作周波数ｆ１はＭ１／Ｔと表すことができる。更に、前記周波数ｆ０は源発振周波数Ｆ０を分周比Ｎ０で分周して得られるものとすれば、ｆ０＝Ｆ０／Ｎ０となる。したがって分周比Ｎ０はＴ×Ｆ０／Ｍ０であらわすことができる。同様に周波数ｆ１の場合の分周比Ｎ１はＮ１＝Ｔ×Ｆ０／Ｍ１と表すことができる。したがって、画像処理部３のクロック周波数をｆ０からｆ１に変更するとき、すなわち、源発振クロック信号ＣＬＫの周波数Ｆ０に対してクロック信号ＣＬＫｇｒの周波数を決めるとき、その分周比を決めるパラメータをＦ０／Ｍ０からＦ０／Ｍ１に変更すればよい。設定可能な分周比の刻みが限られている場合には、Ｎ１≦Ｔ×Ｆ０／Ｍ１になるように分周器Ｎ１を決めればよい。
【００４８】
このようにして、画像処理部３のクロック周波数をｆ０からｆ１に変更することにより、その分、データ処理を行う期間（実行期間）は長くなるが、データ処理を行うことを阻止される期間（ストール期間）は変わりなく、結果としてデータ処理を行うことを阻止される期間において画像処理部３が消費するクロックサイクル数が少なくなる。これによって当該画像処理部の電力消費量を全体的に低減させることができる。このとき、データ処理を行うサイクル期間(実行期間)は長くなるが、データ処理単位で保証すべきデータ処理の実行サイクル数Ｎ及び許容される処理時間Ｔの制約は満足されているので、必要なデータ処理の性能低下にはならない。音声処理部４による処理の場合も同様である。
【００４９】
《ストール期間を考慮したクロック信号周波数変更のための具体例》
図２で原理的に説明した周波数変更のための具体的な構成を図１に基づいて説明する。クロック周波数制御を行うためにクロック制御回路５は測定部３０、集計部４０及び計算部５０を有する。
【００５０】
測定部３０は画像処理部３と音声処理部４の夫々に対して個別にストールサイクル数と実行サイクル数を測定するための回路ブロックである。ストールサイクル数はカウンタ３３で計数し、計数開始はリクエスト信号検出部３２がリクエストパケットＲＥＱｇｒ，ＲＥＱａｄを検出することに同期して行われ、計数停止はレスポンス信号検出部３１がレスポンスパケットＲＥＱｇｒ，ＲＥＱａｄを検出することに同期して行われる。夫々の計数動作は、リクエストパケットＲＥＱｇｒとレスポンスパケットＲＥＱｇｒとによる画像処理部３のための計数動作（画像処理対応計測動作）と、リクエストパケットＲＥＱａｄとレスポンスパケットＲＥＱａｄとによる音声処理部４のための計数動作（音声処理対応計測動作）とで個別に行われる。
【００５１】
実行サイクル数はカウンタ３５で計数し、計数動作は観測部１２，２２からの演算サイクル信号ＥＮｇｒ，ＥＮａｄのアサートに応答して開始し、同演算サイクル信号ＥＮｇｒ，ＥＮａｄのネゲートに応答して停止する。夫々の計数動作は、演算サイクル信号ＥＮｇｒによる画像処理部３のための計数動作（画像処理対応計測動作）と、演算サイクル信号ＥＮａｄによる音声処理部４のための計数動作（音声処理対応計測動作）とで個別に行われる。
【００５２】
カウンタ３３は、リクエストの検出からレスポンスの検出の期間毎にクロックを計数して出力し、出力毎に計数値が初期化される。同様にカウンタ３５は、演算サイクルの開始から演算サイクルの終了の期間毎にクロックを計数して出力し、出力毎に計数値が初期化される。カウンタ３３，３５は、特に制限されないが、クロック制御回路５のクロック信号ＣＬＫｓｙを計数する。
【００５３】
集計部４０はカウンタ３３，３５による計数値の集計を行う。カウンタ３３による計数値は画像処理対応計測動作と音声処理対応計測動作毎にストール期間集計レジスタ４１に格納される。カウンタ３５による計数値は画像処理対応計測動作と音声処理対応計測動作毎に実行期間集計レジスタ４２に格納される。集計レジスタ４１、４２は例えばＦＩＦＯ構造を有し、カウンタ３３，３５からの出力を画像処理と音声処理毎に順次蓄積していく。蓄積期間はタイマ３６からタイムアウト信号ＴＭＯが出力されるまでの期間とされる。すなわち、ＣＰＵ２はタイマ３６に前記期間Ｔのｎ（正の整数）倍に応ずるタイマ値をプリセットすると共にカウンタ３３，３５をクリアしてから、画像処理部３による画像処理や音声処理部４による音声処理の開始を信号ＥＸｇｒ，ＥＸａｄで指示すると共に、タイマ３６によるタイマ動作の開始を指示する。タイマ３６はクロック信号ＣＬＫｓｙをダウンカウントして計数値ゼロになったとき（期間Ｔのｎ倍の期間の経過）でタイムアウト信号ＴＭＯを活性化する。タイムアウト信号ＴＭＯが活性化されると、集計部４０はストール期間集計レジスタ４１に画像処理と音声処理毎に順次蓄積された計数値を順位読み出して加算することによって集計し、これによって、ｎ×Ｔの期間に実行された画像処理のサイクル数と、音声処理のサイクル数が得られる。同様に、集計部４０は実行期間集計レジスタ４２に画像処理と音声処理毎に順次蓄積された計数値を順位読み出して加算することによって集計し、これによって、ｎ×Ｔの期間に現れた画像処理に関するストールサイクル数と、音声処理に関するストールサイクル数が得られる。夫々のサイクル数はクロック信号ＣＬＫｓｙのサイクル数である。
【００５４】
計測期間を期間Ｔではなくそのｎ倍とすることにより、計測動作の誤差の影響を小さくすることができる。
【００５５】
計算部５０はクロック変換部５１、平均値算出部５２ｍ及び分周率算出部５３を有する。
【００５６】
クロック変換部５１は、集計レジスタ４１，４２に集計されたサイクル数を受け取り、画像処理に関するサイクル数をクロック信号ＣＬＫｓｙを基準とするサイクル数から、画像処理部３のクロック信号ＣＬＫｇｒを基準とするサイクル数に変換し、音声処理に関するサイクル数をクロック信号ＣＬＫｓｙを基準とするサイクル数から、音声処理部４のクロック信号ＣＬＫａｄを基準とするサイクル数に変換する。平均値算出部５２は、夫々変換されたサイクル数をｎで算術平均して、期間Ｔのサイクル数を算出する。図２の原理図に従えば、画像処理部３、音声処理部４の夫々に対してサイクル数Ｍ１を算出する。分周率算出部５３は図２で説明したように、画像処理部３、音声処理部４の夫々に対して変更すべき分周比Ｎ１を演算し、分周部６２に設定可能な分周比の内、それよりも大きく且つ最も近い分周比の設定データＤＡＴｄｖを分周部６２に与える。
【００５７】
分周部６２は図３に例示されるように与えられた分周比の設定データＤＡＴｄｖを対応する分周率選択回路６５，６６の分周率設定レジスタ６５Ｒ，６６Ｒにセットする。分周率選択回路６４〜６８は対応する分周率設定レジスタ６４Ｒ〜６８Ｒに設定された分周比の設定データに従って分周比でクロック信号ＣＬＫの周波数Ｆ０を分周したクロック信号ＣＬＫｃｐ，ＣＬＫｇｒ，ＣＬＫｓｄ，ＣＬＫｓｄ，ＣＬＫｓｄｒａｍを生成する。前述のごとく、分周比の設定データはＣＰＵ２によって初期設定され、クロック信号ＣＬＫｇｒ，ＣＬＫｓｄの分周比の設定データについては上述によって生成される設定データＤＡＴｄｖにより変更可能にされる。分周比を変更するタイミングは、例えば、変更される回路から変更許可を受け取った後のタイミングとされ、データ処理の途中でクロック信号周波数が変更されることにより誤動作を生じないようにするためである。
【００５８】
《動作タイミング》
図４には画像処理部が単独で画像処理を行う場合の動作タイミングが例示される。ここでは、リクエストパケットＲＥＱｇｒに含まれるリクエスト信号、レスポンスパケットＲＥＳｇｒに含まれるレスポンス信号、及び演算サイクル信号ＥＮｇｒの変化に対する画像処理部３とＳＤＲＡＭ８の期間Ｔにおける動作状態が例示される。画像処理において期間Ｔは１フレームの画像データの処理に許容される期間（単位１フレーム期間とも記す）とする。１フレーム期間での画像処理は、特に制限されないが、画像デコード（画像復号処理）、拡大、及び色変換とされる。夫々の処理の前に処理データをＳＤＲＡＭ８から取得するために必要な待ち時間（画像処理が阻止される期間）としてストール期間が示されている。リクエスト信号のパルス変化からレスポンス信号のパルス変化までの間でＳＤＲＡＭはメモリ動作を行っている。
【００５９】
図５には画像処理部３と音声処理部４がＳＤＲＡＭ８をアクセスしながら協調して画像処理と音声処理が行われる場合の動作タイミングが例示される。ここでは画像処理部３は音声処理部４に比べて高い周波数で動作される。音声処理による音楽の再生サイクルに比べて画像処理サイクルが早い場合には、再生サイクルに併せて画像処理サイクルと途中で休止することが可能な余裕を得ることができる。このような休止期間はもとより、ストール期間でも画像処理部３ではクロックサイクルを消費して電力消費が行われる。
【００６０】
図６にも画像処理部３と音声処理部４がＳＤＲＡＭ８をアクセスしながら協調して画像処理と音声処理が行われる場合の動作タイミングが例示されるが、ここでは画像処理部３の動作周波数は図５に比べて低くされる。画像処理部の動作周波数が低くされても、１フレーム期間に実行すべき処理を完結できるデータ処理能力が確保されていれば問題ない。図５と図６を見比べれば明らかなように、双方においてＳＤＲＡＭの動作周波数は同じであるから、図６の場合にストール期間で画像処理装置３が消費するクロック信号ＣＬＫｇｒのクロックサイクル数は図５の場合にストール期間で画像処理装置３が消費するクロック信号ＣＬＫｇｒのクロックサイクル数よりも少なくなり、低消費電力になる傾向があるから、図６の動作形態の方がシステム全体として低消費電力になる。これは、図２で説明したことに一致する。
【００６１】
《協調動作と単独動作の動作タイミング》
次に、発生するイベントの種類に応じて画像処理部と音声処理部を協調動作させたり単独動作させたりするときの動作タイミングを詳述する。
【００６２】
図７には画像処理部と音声処理部による協調動作と単独動作の動作タイミングが例示される。Ｐ１，Ｐ２では画像処理部３と音声処理部４が協調動作し、Ｐ３，Ｐ４では音声処理部４が単独動作し、Ｐ５，Ｐ６では画像処理部３と音声処理部４が協調動作する。画像処理部３を用いた動画再生は例えば毎秒３０フレームで行われるものとする。動作再生の指示に応答する処理は画像再生処理と音声再生処理による協調処理とされる。図の測定期間は測定部３０、集計部４０、及び計算部５０による処理期間である。特に制限されないが、測定期間は複数フレームの処理期間とされる。測定期間においてクロック信号周波数は選択可能な最高周波数とする。
【００６３】
クロック変更手続期間は、計算部５０で計算された分周比に基づいてクロック信号周波数の切り換え対象から切換え許可を得るため手続期間である。Ｐ２，Ｐ６に例示されるように、協調動作を行うときは、クロック制御部５が双方から変更許可を得た後に、双方に対して同期的に、夫々のクロック信号ＣＬＫｇｒ，ＣＬＫａｄが変更される。Ｐ４に例示されるように、音声処理部４が単独動作を行うときは、クロック制御部５が音声処理部４から変更許可を得た後に、クロック信号ＣＬＫａｄを変更すればよい。
【００６４】
図８には画像処理部３による１フレームの処理期間に行う画像処理の具体例が示される。画像処理は画像デコード、拡大、及び色変換の処理とされる。
【００６５】
図９にはＣＰＵ２が画像処理部３と音声処理部４を用いたデータ処理を制御するときのクロック周波数の変更制御手順が示される。
【００６６】
イベントの発生によってＣＰＵ２により画像処理部３又は音声処理部４に新たなデータ処理動作が指示されると、動作が指示された画像処理部３又は音声処理部４のクロック信号ＣＬＫｇｒ，ＣＬＫａｄの周波数が、選択可能な範囲で最高周波数に変更される（Ｓ１）。そして、カウンタ３３，３５が初期化され、タイマ３６が初期設定され（Ｓ３）、測定部３０による実行期間とストール期間の測定が開始される。画像処理と音声処理毎に、リクエストからレスポンスまでの一つのストール期間がカウンタ３３で取得されると（Ｓ４）、その計数値がＦＩＦＯ構造のストール期間集計レジスタ４１に蓄積される動作（Ｓ５，Ｓ６）が行われる。また、データ処理の開始から停止までの一つの実行期間がカウンタ３５で取得されると、その計数値がＦＩＦＯ構造の実行期間集計レジスタ４２に蓄積される動作（Ｓ８，Ｓ９）が行われる。上記動作（Ｓ５，Ｓ６及びＳ８，Ｓ９）は、タイマ３６のタイムアウトまで繰り返される（Ｓ１０）。
【００６７】
タイマ３６のタイムアウトに応答して、ストール期間集計レジスタ４１に順次蓄積された計数値が加算されてｎ×Ｔの計測期間におけるストール期間のクロックサイクル数が取得され、同様に実行期間集計レジスタ４２に順次蓄積された計数値が加算されてｎ×Ｔの計測期間における実行期間のクロックサイクル数が取得され、画像処理に対応されるストール期間のクロックサイクル数と実行期間のクロックサイクル数との合計サイクル数がクロック周波数ＣＬＫｇｒのサイクル数に変換され、同様に、音声処理に対応されるストール期間のクロックサイクル数と実行期間のクロックサイクル数との合計サイクル数がクロック周波数ＣＬＫｇｒのサイクル数に変換される（Ｓ１１）。変換されたサイクル数はＴの期間に平均され（Ｓ１２）、それに基づいて分周率算出部５２で、変更すべき分周比が算出される（Ｓ１３）。変更された分周率にしたがって、所定のタイミングでクロック信号ＣＬＫｇｒ，ＣＬＫａｄの周波数が低くされる（Ｓ１４）。低くされた周波数で画像処理部３、音声処理部４がデータ処理を行い、次のイベントの発生を待つ（Ｓ１５）。イベントが発生されたときはステップＳ１の処理に戻る。イベントが発生しない場合は、終了となる。
【００６８】
図１０乃至図１５には図７に示される動作タイミングが更に詳細に示される。
【００６９】
図１０において、ＣＰＵ２が画像処理部３と音声処理部４に動作を指示していないとき、新たなイベントが発生するとＣＰＵが画像処理部３と音声処理部４のクロック信号ＣＬＫｇｒ，ＣＬＫａｄの周波数を最高周波数に変更する指示をクロック制御回路５に与える（ＣＭ１）。クロック制御回路５がその指示に応答してクロック信号ＣＬＫｇｒの周波数を最高周波数Ａ［Ｈｚ］に、クロック信号ＣＬＫａｄの周波数を最高周波数Ａ［Ｈｚ］に変更して（ＥＸ０）、変更完了の通知をＣＰＵ２に返す（ＣＭ２）。これを受けてＣＰＵ２は画像処理装置３に動画再生を指示し（ＣＭ３）、音声処理回路４に音楽再生動作を指示し（ＣＭ４）、クロック制御回路５にサイクル期間の測定開始を指示する（ＣＭ５）。これによってクロック制御回路５は画像処理部３におけるストール期間の測定と（ＥＸ１）と実行期間の測定（ＥＸ２）を行い、音声処理部４におけるストール期間の測定と（ＥＸ３）と実行期間の測定（ＥＸ４）を行う。測定を行う第１期間が経過するとタイマ２６のタイムアウトが発生する（ＥＸ５）。タイムアウトまでの期間は図７のＰ１における第１期間、すなわち測定期間に対応される。
【００７０】
ＥＸ５のタイムアウトが発生すると、クロック制御回路５は図１１に例示されるように、画像処理と音声処理のそれぞれのサイクル数（ストール期間のサイクル数と実行期間のサイクル数との和）を画像処理部のクロック周波数と音声処理部のクロック周波数に応ずるサイクル数に変換して、それぞれ単位処理期間の平均サイクル数を取得する（ＥＸ６）。平均サイクル数に基づいて、変更すべき分周率を算出する（ＥＸ７）。算出結果はＣＰＵ２に与えられ（ＥＸ８）、ＣＰＵ２はその結果を把握可能になる。この後、ＣＰＵ２はクロック制御回路５にクロック周波数の変更を指示する（ＣＭ６）。既に再生動作の指示が与えられている画像処理装置３及び音楽再生動作の指示が与えられている音声処理装置４は、第２期間においても更に再生動作を行うためにリクエストパケットを発行して（ＣＭ７、ＣＭ８）、ＳＤＲＡＭ８のアクセスを行う。この間に、クロック制御回路５は画像処理部３及び音声処理部４の夫々にクロック変更の要求すなわちクロック変更の許可を確認する（ＥＸ９，ＥＸ１０）。これを受ける画像処理部３及び音声処理部４の夫々は、クロック周波数が変更されても支障の無い状態であるか否かを判別し、支障ないときにクロック変更許可をクロック制御回路５に与える（ＣＭ１０，ＣＭ９）。クロック制御回路５は双方からのクロック変更許可を待って画像処理部３のクロック信号ＣＬＫｇｒの周波数をＡ［Ｈｚ］からＢ［Ｈｚ］に、音声処理部４のクロック信号ＣＬＫａｄの周波数をＡ［Ｈｚ］からＣ［Ｈｚ］に、夫々低く設定し直す（ＥＸ１１）。ここまでが図７の第２期間（Ｐ２）におけるクロック変更手続き期間に対応される。画像処理部３と音声処理部４が協調動作される場合に双方のクロック信号周波数の変更は双方からのクロック変更許可を待って行われるから、クロック周波数を変更したとき協調動作が乱れること、例えば表示画像と再生音声が食い違うこと、などの誤動作が防止される。そして画像処理部３及び音声処理部４はＳＤＲＡＭアクセスをアクセスして取得したデータを用いる演算処理を繰り返して、必要な動画再生と音楽再生処理を完了する。処理が完了されるとクロック信号ＣＬＫｇｒ，ＣＬＫａｄを停止する。
【００７１】
次に、図１２に示されるように新たに音楽再生を指示するイベントが発生すると（図７のＰ３に対応）、ＣＰＵが音声処理部４のクロック信号ＣＬＫａｄの周波数を最高周波数に変更する指示をクロック制御回路５に与える（ＣＭ２１）。クロック制御回路５がその指示に応答してクロック信号ＣＬＫａｄの周波数を最高周波数Ａ［Ｈｚ］に変更して（ＥＸ２０）、変更完了の通知をＣＰＵ２に返す（ＣＭ２２）。これを受けてＣＰＵ２は音声処理回路４に音楽再生動作を指示し（ＣＭ２３）、クロック制御回路５にサイクル期間の測定開始を指示する（ＣＭ２４）。これによってクロック制御回路５は音声処理部４におけるストール期間の測定と（ＥＸ２１）と実行期間の測定（ＥＸ２２）を行う。測定を行う第１期間が経過するとタイマ２６のタイムアウトが発生する（ＥＸ２３）。タイムアウトまでの期間は図７のＰ３における第１期間、すなわち測定期間に対応される。
【００７２】
ＥＸ２３のタイムアウトが発生すると、クロック制御回路５は図１３に例示されるように、音声処理のサイクル数（ストール期間のサイクル数と実行期間のサイクル数との和）を音声処理部のクロック周波数に応ずるサイクル数に変換して、単位処理期間の平均サイクル数を取得する（ＥＸ２４）。平均サイクル数に基づいて、変更すべき分周率を算出する（ＥＸ２５）。算出結果はＣＰＵ２に与えられ（ＥＸ２６）、ＣＰＵ２はその結果を把握可能になる。この後、ＣＰＵ２はクロック制御回路５にクロック周波数の変更を指示する（ＣＭ２５）。既に音楽再生動作の指示が与えられている音声処理装置４は、第２期間においても更に再生動作を行うためにリクエストパケットを発行して（ＣＭ２６）、ＳＤＲＡＭ８のアクセスを行う。この間に、クロック制御回路５は音声処理部４の夫々にクロック変更の要求すなわちクロック変更の許可を確認する（ＥＸ２７）。これを受ける音声処理部４は、クロック周波数が変更されても支障の無い状態であるか否かを判別し、支障ないときにクロック変更許可をクロック制御回路５に与える（ＣＭ２７）。クロック制御回路５はクロック変更許可を待って音声処理部４のクロック信号ＣＬＫａｄの周波数をＡ［Ｈｚ］からＤ［Ｈｚ］に、低く設定し直す（ＥＸ２８）。ここまでが図７のＰ４（第２期間）におけるクロック変更手続期間に対応される。ここでは音声処理部４が単独で行われるのでそのクロック信号周波数を変更するときは音声処理部４からのクロック変更許可を待つだけでクロック周波数を変更しても何ら支障を生じない。そして音声処理部４はＳＤＲＡＭアクセスをアクセスして取得したデータを用いる演算処理を繰り返して、必要な音楽再生処理を継続する。
【００７３】
次に、図１４に示されるように音楽再生処理の途中で新たに地デジ受信再生を指示するイベントが発生すると（図７のＰ５に対応）、ＣＰＵが画像処理部３と音声処理部４のクロック信号ＣＬＫｇｒ，ＣＬＫａｄの周波数を最高周波数に変更する指示をクロック制御回路５に与える（ＣＭ３１）。クロック制御回路５がその指示に応答してクロック信号ＣＬＫｇｒの周波数を最高周波数Ａ［Ｈｚ］に、クロック信号ＣＬＫａｄの周波数を周波数Ｄ［Ｈｚ］から最高周波数Ａ［Ｈｚ］に変更して（ＥＸ３０）、変更完了の通知をＣＰＵ２に返す（ＣＭ３２）。これを受けてＣＰＵ２は画像処理装置３に動画再生を指示し（ＣＭ３３）、音声処理回路４に音楽再生動作を指示し（ＣＭ３４）、クロック制御回路５にサイクル期間の測定開始を指示する（ＣＭ３５）。これによってクロック制御回路５は画像処理部３におけるストール期間の測定と（ＥＸ３１）と実行期間の測定（ＥＸ３２）を行い、音声処理部４におけるストール期間の測定と（ＥＸ３３）と実行期間の測定（ＥＸ３４）を行う。測定を行う第１期間が経過するとタイマ２６のタイムアウトが発生する（ＥＸ３５）。タイムアウトまでの期間は図７のＰ５における第１期間、すなわち測定期間に対応される。
【００７４】
ＥＸ３５のタイムアウトが発生すると、クロック制御回路５は図１５に例示されるように、画像処理と音声処理のそれぞれのサイクル数（ストール期間のサイクル数と実行期間のサイクル数との和）を画像処理部のクロック周波数と音声処理部のクロック周波数に応ずるサイクル数に変換して、それぞれ単位処理期間の平均サイクル数を取得する（ＥＸ３６）。平均サイクル数に基づいて、変更すべき分周率を算出する（ＥＸ３７）。算出結果はＣＰＵ２に与えられ（ＥＸ３８）、ＣＰＵ２はその結果を把握可能になる。この後、ＣＰＵ２はクロック制御回路５にクロック周波数の変更を指示する（ＣＭ３６）。既に再生動作の指示が与えられている画像処理装置３及び音楽再生動作の指示が与えられている音声処理装置４は、第２期間においても更に再生動作を行うためにリクエストパケットを発行して（ＣＭ３７、ＣＭ３８）、ＳＤＲＡＭ８のアクセスを行う。この間に、クロック制御回路５は画像処理部３及び音声処理部４の夫々にクロック変更の要求すなわちクロック変更の許可を確認する（ＥＸ３９，ＥＸ４０）。これを受ける画像処理部３及び音声処理部４の夫々は、クロック周波数が変更されても支障の無い状態であるか否かを判別し、支障ないときにクロック変更許可をクロック制御回路５に与える（ＣＭ３９，ＣＭ４０）。クロック制御回路５は双方からのクロック変更許可を待って画像処理部３のクロック信号ＣＬＫｇｒの周波数をＡ［Ｈｚ］からＥ［Ｈｚ］に、音声処理部４のクロック信号ＣＬＫａｄの周波数をＡ［Ｈｚ］からＦ［Ｈｚ］に、夫々低く設定し直す（ＥＸ４１）。ここまでが図７の第２期間（Ｐ６）におけるクロック変更手続期間に対応される。画像処理部３と音声処理部４が協調動作される場合に双方のクロック信号周波数の変更は双方からのクロック変更許可を待って行われるから、クロック周波数を変更したとき協調動作が乱れること、例えば表示画像と再生音声が食い違うこと、などの誤動作が防止される。そして画像処理部３及び音声処理部４はＳＤＲＡＭアクセスをアクセスして取得したデータを用いる演算処理を繰り返して、必要な動画再生と音楽再生処理を継続する。
【００７５】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７６】
例えば、画像処理部はそれぞれ物理的に１個のデータ処理部であることを要しない。例えば画像処理部は画像デコード、拡大及び色変換の夫々の処理毎に異なる画像処理部が設けられていてもよい。データ処理部は関連する一群のデータ処理機能を実現するユニットであればよく、物理的に１個の回路ユニットか複数個の回路ユニットかは問わない。また、データ処理部は画像処理部と音声処理部に限定されず、符号化部、復号部、送信部、受信部などのような種々のデータ処理部で合ってよい。また、その数も２個に限定されない。
【００７７】
リソースはＳＤＲＡＭを制御するメモリ制御回路に限定されず、ＥＥＰＲＯＭ、フラッシュメモリなどのその他のメモリ、タイマ回路、アナログディジタル変換回路、ディジタルアナログ変換回路などの周辺回路であってよく、その配置はマイクロコンピュータのオンチップであってもオフチップであってもよい。
【００７８】
システムバスはスプリットトランザクションバスに限定されず、アクセス権が排他制御される共通バスであってもよい。
【符号の説明】
【００７９】
１  マイクロコンピュータ
２  中央処理装置（ＣＰＵ）
３  画像処理部（ＧＲＩＰ）
４  音声処理部（ＡＤＩＰ）
７  メモリ制御回路（ＭＣＮＴ）
５  ロック制御回路（ＣＬＫＣＮＴ）
８  ＳＤＲＡＭ
６  システムバス
ＣＬＫｓｄ  ＳＤＲＡＭ用クロック信号
ＣＬＫｃｐ  ＣＰＵ用クロック信号
ＣＬＫｇｒ  ＧＲＩＰ用クロック信号
ＣＬＫａｄ  ＡＤＩＰ用クロック信号
ＲＥＱｇｒ、ＲＥＱａｄ  リクエストパケット
ＲＥＳｇｒ、ＲＥＳａｄ  レスポンスパケット
ＥＸｇｒ  画像処理の指示
ＥＮｇｒ  演算サイクル信号
ＥＸａｄ  音声処理の指示
ＥＮａｄ  演算サイクル信号
３０  測定部
４０  集計部
５０  計算部
３３  カウンタ
３２  リクエスト信号検出部
３１  レスポンス信号検出部
３５  カウンタ
４１  ストール期間集計レジスタ
４２  実行期間集計レジスタ
５１  クロック変換部
５２  平均値算出部
６２  分周部
６４〜６７  分周率選択回路
６４Ｒ〜６７Ｒ  分周率設定レジスタ
【図１】
2012038070.tif 000003
【図２】
2012038070.tif 000004
【図３】
2012038070.tif 000005
【図４】
2012038070.tif 000006
【図５】
2012038070.tif 000007
【図６】
2012038070.tif 000008
【図７】
2012038070.tif 000009
【図８】
2012038070.tif 000010
【図９】
2012038070.tif 000011
【図１０】
2012038070.tif 000012
【図１１】
2012038070.tif 000013
【図１２】
2012038070.tif 000014
【図１３】
2012038070.tif 000015
【図１４】
2012038070.tif 000016
【図１５】
2012038070.tif 000017