(57)【要約】【課題】１つ以上のマスタ装置とリソース制御装置とリソースとから構成されるデータ処理装置において、リソースを制御するクロック周波数の変更はリソースへのアクセスがない状態で行う必要があるが、リアルタイム性を必要とするマスタ装置が動作している間はリソースへのアクセスがあるためクロック周波数の変更ができない。【解決手段】リソース制御装置１０１にアクセス停止制御装置１１０を設け、クロック周波数の変更時にマスタ装置１２１〜１２３からのアクセス受付を一時的に停止させ、安全なタイミングでクロック周波数を変更する。これにより、クロック周波数の変更時にマスタ装置の動作を停止させる必要がなく、かつ、リソース１０３へのアクセス停止期間を短く抑えることができるため、リアルタイム性を必要とするアプリケーションの実行に影響を与えない。【選択図】図１
2009122922.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのマスタ装置と、
前記マスタ装置からアクセスされるリソースと、
前記マスタ装置から前記リソースへのアクセスを制御するリソース制御装置と、
前記リソース制御装置へ供給されるクロックを制御するクロック制御装置とを備えたデータ処理装置であって、
前記リソース制御装置は、前記マスタ装置から前記リソースへのアクセス要求の受け付けを一時的に停止するアクセス停止制御装置を有し、
前記クロック制御装置は、前記リソース制御装置が前記リソースへのアクセスを行っていない間に、前記リソース制御装置へ供給されるクロックを変更することを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記リソース制御装置は、
前記リソースを制御するためのパラメータを保持する参照レジスタと、
前記参照レジスタの値に従って、前記リソースの制御を管理するパラメータ管理装置とを更に有することを特徴とするデータ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記マスタ装置は、前記クロック制御装置により変更されたクロック周波数に基づいて、前記参照レジスタが保持する前記パラメータを設定することを特徴とするデータ処理装置。
【請求項４】
請求項２に記載のデータ処理装置において、
前記リソース制御装置は、前記パラメータを設定するための設定レジスタを更に有し、
前記リソース制御装置が前記リソースへのアクセスを行っていない間に前記参照レジスタの値を前記設定レジスタの値をもとに更新することを特徴とするデータ処理装置。
【請求項５】
請求項４に記載のデータ処理装置において、
前記リソース制御装置は、前記リソース制御装置へ供給されるクロック周波数に応じた前記設定レジスタを複数有し、
前記クロック制御装置は、前記リソース制御装置に予めクロック周波数情報を通知し、
前記リソース制御装置は、変更される前記クロック周波数に対応する前記設定レジスタの値をもとに、前記リソース制御装置が前記リソースへのアクセスを行っていない間に、前記参照レジスタの値を更新することを特徴とするデータ処理装置。
【請求項６】
請求項４に記載のデータ処理装置において、
前記クロック制御装置は、前記リソース制御装置に予めクロック周波数情報を通知し、
前記リソース制御装置は、前記変更後のクロック周波数に対応するよう前記設定レジスタの値をもとに変更後の値を算出し、前記リソースへのアクセスを行っていない間に前記参照レジスタの値を前記算出した値で更新することを特徴とするデータ処理装置。
【請求項７】
請求項４に記載のデータ処理装置において、
前記マスタ装置は、低消費電力状態への遷移を示す信号を出力し、
前記リソース制御装置は、前記マスタ装置の低消費電力状態への遷移後に、前記マスタ装置からのアクセス要求の受け付けを停止し、
前記クロック制御装置は、前記リソース制御装置が前記リソースへのアクセスを行っていない間に、前記クロックの周波数を変更することを特徴とするデータ処理装置。
【請求項８】
請求項７に記載のデータ処理装置において、
前記リソース制御装置は、前記マスタ装置の低消費電力状態から通常動作状態への遷移後に、前記マスタ装置からのアクセス要求の受け付けを停止し、
前記クロック制御装置は、前記リソース制御装置が前記リソースへのアクセスを行っていない間に、前記クロック制御装置が変更した前記クロックの周波数を変更することを特徴とするデータ処理装置。
【請求項９】
請求項７に記載のデータ処理装置において、
前記リソース制御装置は、前記マスタ装置の低消費電力状態から通常状態への遷移の前に、前記マスタ装置からのアクセス要求の受け付けを停止し、
前記クロック制御装置は、前記リソース制御装置が前記リソースへのアクセスを行っていない間に、前記クロック制御装置が変更した前記クロックの周波数を変更した後で、前記マスタ装置が低消費電力状態から通常状態への遷移を行うことを特徴とするデータ処理装置。
【請求項１０】
請求項１に記載のデータ処理装置において、
前記マスタ装置は、前記リソースへのアクセス要求の受け付けが停止されている時に、前記リソースへのアクセス要求を停止させないことを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、揮発性半導体メモリのようなＡＣパラメータを持つリソースを制御するシステムにおいて、リソースへのアクセス要求を行いながらシステムのクロック周波数を下げることで、リソースへのアクセス性能を下げることなく低消費電力化を図る、データ処理装置に関するものである。
【背景技術】
【０００２】
ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などのメモリデバイスには、アクセスするためのコマンド制御において各種コマンド同士の間隔に関する時間制約がＡＣパラメータとして規定されている。このＡＣパラメータは時間で規定されているが、メモリデバイスを制御する回路はクロックを基準として動作しているため、一般的にはＡＣパラメータをクロックサイクル数に換算して、そのクロックサイクル数で制御を行っている。
【０００３】
ＳＤＲＡＭを含むシステムにおいて、低消費電力化のためにシステムのクロック周波数を下げる場合、又は高速モードで動作させるためにクロック周波数を上げる場合、変更前後の各周波数における前記ＡＣパラメータを換算したクロックサイクル数は異なるため、クロック周波数の変更に伴って前記クロックサイクル数も変更する必要がある。その場合、メモリデバイスへアクセス中に前記クロックサイクル数を変更することは回路構成が複雑になるため、一旦メモリデバイスへのアクセスを停止させて、前記クロックサイクル数を変更する必要がある。
【０００４】
ある従来技術によれば、プロセッサはメモリデバイスへのアクセスを停止し、ＤＭＡＣ（Direct Memory Access Controller）などの他のアクセスマスタの動作が停止したことをソフトウェアで確認し、前記クロックサイクル数の設定を変更した後、クロック制御部にクロック周波数変更を命令し、クロック周波数が変更されたことを確認してから、メモリデバイスへのアクセスを再開することで、クロック周波数の変更を可能にしている（特許文献１参照）。
【特許文献１】特開２００４−０７４６２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のようにソフトウェアによってクロック周波数変更を行う場合、リソースへアクセスしている全てのマスタの動作を停止させる必要があるため、リアルタイム性を必要とするアプリケーションの実施中には、クロック周波数の変更ができない。また、全てのマスタの動作を停止させるなどの処理が必要となるため、ソフトウェアの実行手順が複雑になり、ソフトウェアコードのサイズが大きくなり、コード格納に大きなメモリ容量が必要となるため、コストが高くなる。また、プロセッサからリソースへのアクセスも停止させる必要があり、クロック周波数変更のためのソフトウェアコードを該当リソース上に置くことができなくなるため、コード配置の制限が必要になる。また、独立して動作する複数プロセッサを含むシステムにおいては、お互いの動作を停止させることが困難なため、その場合、クロック周波数を安全に変更することができなくなる。
【０００６】
上記のように従来のデータ処理装置では、リアルタイム性を必要とするアプリケーションの継続と、低消費電力化のためのクロック周波数変更との両立ができない。
【０００７】
本発明の目的は、リアルタイム性を必要とするアプリケーションの動作中においても、クロック周波数の変更を可能にすることにより、システムの低消費電力化が図れるデータ処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明では、リソースを制御するリソース制御装置に一時的にアクセスを停止させるアクセス停止制御装置を設け、クロック周波数変更時に、クロック制御装置と通信を行うことで、アクセス停止、ＡＣパラメータを換算したクロックサイクル数の変更、クロック周波数の変更、アクセス受付再開の手順をハードウェアで自動的に行う。
【０００９】
この構成において、クロック周波数の変更時に各マスタ装置の動作を停止させる必要はなく、リソースへのアクセス要求を行っている状態でもよい。アクセス停止制御装置は、これらのアクセス要求への反応を一時的に返さないことで、リソースへのアクセスが一時的に発生しないようにする。
【発明の効果】
【００１０】
本発明によれば、リアルタイム性を必要とするアプリケーションの実行への影響を最小限にして、クロック周波数の変更を行うことで、システムの低消費電力化を図ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００１２】
《第１の実施形態》
図１は、本発明のデータ処理装置の一実施形態を示している。図１において、データ処理装置１００は、リソース制御装置１０１と、クロック制御装置１０２と、リソースであるＳＤＲＡＭ１０３と、各々ＳＤＲＡＭ１０３へアクセスするマスタ装置であるＣＰＵ（Central Processing Unit）１２１、ＤＭＡＣ（Direct Memory Access Controller）１２２及びＨＷＥ（Hardware Engine）１２３とから構成される。また、リソース制御装置１０１は、アクセス停止制御装置１１０、パラメータ管理装置１１１、参照レジスタ１１２を構成要素として持つ。クロック制御装置１０２は、リソース制御装置１０１、ＣＰＵ１２１、ＤＭＡＣ１２２、ＨＷＥ１２３といったデータ処理装置１００を構成する回路にクロック（ｃｌｋ）信号を供給している。また、ＣＰＵ１２１は、ＳＤＲＡＭ１０３へのアクセスの他に、クロック制御装置１０２、参照レジスタ１１２にアクセスして、それぞれに命令を与えることができる。
【００１３】
参照レジスタ１１２に格納される情報としては、例えばＳＤＲＡＭ１０３へのアクティブコマンドからライトコマンドまでの最小サイクル間隔や、アクティブコマンドからプリチャージコマンドまでの最大サイクル間隔などになる。例えば、アクティブコマンドからライトコマンドまでの最小サイクル間隔が４と設定されている場合、パラメータ管理装置１１１は、アクティブコマンドからライトコマンドまでの間隔が４より小さくならないように制御を行う。
【００１４】
なお、ＳＤＲＡＭ１０３へアクセスするマスタ装置として、ＣＰＵ１２１、ＤＭＡＣ１２２、ＨＷＥ１２３の３つを例に挙げているが、実際の構成においてはいずれか１つ以上であればいくつでもよく、ＣＰＵが２つ以上あってもよい。またリソースとしてはフラッシュメモリなどＳＤＲＡＭ１０３以外でもよい。
【００１５】
図２は、図１で示されるデータ処理装置１００のクロック周波数を変更する場合の各構成要素の動作の流れの一例を示している。以下、図２を用いて動作を説明する。
【００１６】
タイミング（Ａ）では、ＣＰＵ１２１、ＤＭＡＣ１２２、ＨＷＥ１２３が動作中であるとする。ＣＰＵ１２１がＳＤＲＡＭ１０３にアクセスする場合、タイミング（Ｂ）で、ＣＰＵ１２１は参照レジスタ１１２をはじめとするリソース制御装置１０１に必要な設定を行った後、タイミング（Ｃ）で、リソース制御装置１０１に起動命令を行う。リソース制御装置１０１はこの命令を受けて動作を開始し、ＳＤＲＡＭ１０３へのアクセスが可能な状態にする。リソース制御装置１０１への起動命令を行った後、ＣＰＵ１２１はタイミング（Ｄ）で通常動作状態に入る。このタイミングでは、ＣＰＵ１２１、ＤＭＡＣ１２２、ＨＷＥ１２３のいずれのマスタ装置もＳＤＲＡＭ１０３にアクセスすることが可能である。リソース制御装置１０１では、パラメータ管理装置１１１が参照レジスタ１１２の値を参照して、ＳＤＲＡＭ１０３のＡＣパラメータの制約を満たすようアクセス制御を行う。
【００１７】
次に、アプリケーションの負荷が軽くなるなどで、ＳＤＲＡＭ１０３へアクセスするクロック周波数を下げてもアプリケーションが成立する場合、タイミング（Ｅ）でＣＰＵ１２１はクロック制御装置１０２に対してクロック周波数変更命令を行う。クロック制御装置１０２はこの命令を受けると、リソース制御装置１０１に対してｒｅｑ信号をアサートする。ｒｅｑ信号を受け取ったリソース制御装置１０１はアクセス停止制御装置１１０により全マスタ装置からの新規のアクセス要求の受付を一時的に停止させる。この状態は、各マスタ装置にとっては、リソース制御装置１０１からの反応が一時的に止まったように見えるだけで、各マスタ装置の動作自体は停止してない。リソース制御装置１０１は、アクセス停止制御装置１１０が新規アクセス受付を停止させた後、既に受け付けたアクセス要求を実行し、ＳＤＲＡＭ１０３へのアクセスを完了させる。リソース制御装置１０１はタイミング（Ｆ）で受付済みアクセス要求のアクセスが完了したことを確認し、タイミング（Ｇ）でクロック制御装置１０２に対して、ａｃｋ信号をアサートする。クロック制御装置１０２はａｃｋ信号がアサートされたのを見て、リソース制御装置１０１に供給しているクロックの周波数を下げる。このとき、タイミング（Ｅ）でのＣＰＵ１２１からのクロック周波数変更命令の内容によっては、同時にＣＰＵ１２１など他の構成要素へ供給しているクロックの周波数も下げてもよく、使用しない構成要素へのクロックを停止させてもよい。その後、クロック制御装置１０２はタイミング（Ｈ）でｒｅｑ信号をネゲートし、タイミング（Ｉ）でｄｏｎｅ信号をアサートする。リソース制御装置１０１はｄｏｎｅ信号がアサートされたことを見て、マスタ装置からの新規アクセス受付を再開する。
【００１８】
そして、タイミング（Ｊ）でａｃｋ信号をネゲートする。その後、タイミング（Ｋ）で通常動作に戻る。クロック制御装置１０２はタイミング（Ｊ）でａｃｋ信号がネゲートされたことを確認して、ｄｏｎｅ信号をネゲートする。タイミング（Ｋ）の状態では、タイミング（Ｄ）の状態と比較して、各構成要素のクロック周波数は低く、低消費電力状態になっている。
【００１９】
以上のとおり、図１、図２の例によれば、データ処理装置１００がクロック周波数を下げることによる低消費電力状態に移行するときに、各マスタ装置の動作を止めることなく、クロック周波数を下げることができるため、ＨＷＥ１２３などがリアルタイム性を必要とするアプリケーションを実行している場合も、アプリケーションを中断することなく実現することができる。またＳＤＲＡＭ１０３へのアクセスができない期間（タイミング（Ｅ）〜タイミング（Ｉ））はハードウェアで実行された非常に短い期間であるため、ＳＤＲＡＭ１０３へのアクセスができないことによるアプリケーションへの影響を低く抑えることができる。また、特にＣＰＵ１２１もタイミング（Ｅ）でのクロック周波数変更命令以降は、クロック周波数変更のための処理が不要なため、別の処理を実行することが可能であり、ＤＭＡＣ１２２、ＨＷＥ１２３の動作を停止させる必要もないため、ＣＰＵ１２１の実行手順が簡易になる。
【００２０】
なお、本例ではクロック周波数を下げる場合を説明したが、クロック周波数を上げる場合や、クロック周波数を変更しなくても一時的にＳＤＲＡＭ１０３へのアクセスを停止させるときに用いてもよいし、クロック供給源であるＰＬＬ（Phase-Locked Loop）を切り替える場合に用いてもよい。また、リソース制御装置１０１とクロック制御装置１０２との通信方法は本例の方法に限定するものでなく、別の方法でもよい。例えば、リソース制御装置１０１のａｃｋ信号アサートからクロック制御装置１０２のｄｏｎｅ信号のアサートまでの時間又はクロックサイクル数が固定的に定義できる場合は、ｄｏｎｅ信号の受け渡しは行わずに、リソース制御装置１０１の内部で固定的に待機して処理を進めてもよい。また図２で示した流れも本例の流れに限定するものでなく、例えば、クロック周波数変更とｒｅｑ信号のネゲートタイミングは逆でもよい。
【００２１】
《第２の実施形態》
図３は、本発明のデータ処理装置の一実施形態を示している。クロック制御装置１０２からＣＰＵ１２１へのｉｎｔ信号の追加以外、図３の構成要素は図１で示した各構成要素と同じものを示している。
【００２２】
図４は、図３で示されるデータ処理装置３００のクロック周波数を変更する場合の各構成要素の動作の流れの一例を示している。以下、図４を用いて動作を説明する。
【００２３】
タイミング（Ｇ）までは第１の実施形態と同様である。タイミング（Ｈ）でクロック制御装置１０２はｒｅｑ信号のネゲートと同時にｉｎｔ信号のアサートを行う。ＣＰＵ１２１はｉｎｔ信号を見て、変更後のクロック周波数に適した値を参照レジスタ１１２に設定する。参照レジスタ１１２の変更が完了した後、ＣＰＵ１２１はタイミング（Ｉ）でクロック制御装置１０２に対して参照レジスタ１１２の変更が完了した通知を行う。その後、クロック制御装置１０２は、ｄｏｎｅ信号をアサートし、ｉｎｔ信号をネゲートする。
【００２４】
リソース制御装置１０１はｄｏｎｅ信号を見て、新規アクセスの受付を開始する。このとき、新規のＳＤＲＡＭ１０３へのアクセスは変更後の参照レジスタ１１２の値によってパラメータ管理装置１１１が制御を行う。タイミング（Ｊ）でＣＰＵ１２１は通常動作に戻る。以降の流れは第１の実施形態と同様である。
【００２５】
以上により、クロック周波数変更手順の途中にＣＰＵ１２１によって参照レジスタ１１２の値を変更することで、変更後のクロック周波数に適したパラメータで、ＳＤＲＡＭ１０３を制御できるため、ＳＤＲＡＭ１０３へのアクセスの効率を向上させることができる。
なお、ｉｎｔ信号はＣＰＵ１２１への割り込み信号であってもよく、またｉｎｔ信号を接続せずとも、ＣＰＵ１２１がクロック制御装置１０２の状態を定期的に確認することでｉｎｔ信号の代用にすることもできる。また、ＣＰＵ１２１が参照レジスタ１１２を変更する流れは、本例に限らない。
【００２６】
《第３の実施形態》
図５は、本発明のデータ処理装置の一実施形態を示している。図５においては、図１に対して、設定レジスタ１１３が新たに追加される。
【００２７】
図６は、図５で示されるデータ処理装置５００のクロック周波数を変更する場合の各構成要素の動作の流れの一例を示している。以下、図６を用いて動作を説明する。
【００２８】
タイミング（Ａ）については、第１の実施形態と同様である。タイミング（Ｂ）で、ＣＰＵ１２１は設定レジスタ１１３にＳＤＲＡＭ１０３を制御するためのパラメータを設定する。タイミング（Ｃ）でＣＰＵ１２１がリソース制御装置１０１の起動命令を行うと、リソース制御装置１０１では、アクセス停止制御装置１１０がｕｐｄａｔｅ信号のパルスを出して、それを受けた参照レジスタ１１２は設定レジスタ１１３の値を取り込み、自身を更新する。タイミング（Ｄ）で、ＣＰＵ１２１は通常動作に戻り、リソース制御装置１０１も通常動作を行う。このとき、パラメータ管理装置１１１は、タイミング（Ｂ）でＣＰＵ１２１が設定した内容でＳＤＲＡＭ１０３へのアクセスを制御している。
【００２９】
クロック周波数の変更を行うとき、タイミング（Ｄ’）でＣＰＵ１２１は設定レジスタ１１３の値を、変更後のクロック周波数に適した値に更新する。その後、タイミング（Ｅ）で、クロック周波数変更命令をクロック制御装置１０２に対して行う。その後、タイミング（Ｈ）までは第１の実施形態と同様である。タイミング（Ｉ）で、クロック制御装置１０２はｄｏｎｅ信号をアサートし、リソース制御装置１０１では、アクセス停止制御装置１１０がｕｐｄａｔｅ信号のパルスを出し、参照レジスタ１１２が設定レジスタ１１３の値を取り込み、自身を更新する。その後、タイミング（Ｉ’）でリソース制御装置１０１は新規アクセス受付を再開する。このとき、パラメータ管理装置１１１は、変更後のクロック周波数に適したパラメータでＳＤＲＡＭ１０３を制御している。その後の流れは第１の実施形態と同様である。
【００３０】
以上により、参照レジスタ１１２と設定レジスタ１１３とを別々に持つことで、クロック周波数変更途中にＣＰＵ１２１からの設定なしに、参照レジスタ１１２の値を変更後のクロック周波数に適したものに変更することができる。このため、クロック周波数変更時のＳＤＲＡＭ１０３へのアクセス停止期間を最小限に抑えた状態で、ＳＤＲＡＭ１０３の制御用のパラメータも適した値に変更することができる。
【００３１】
なお、ｕｐｄａｔｅ信号のタイミングは本例に限らず、例えばタイミング（Ｇ）でのａｃｋ信号のアサートと同時でもよく、他の適したタイミングであってもよい。また、タイミング（Ｅ）でのクロック周波数変更命令の内容によって、ｒｅｑ信号のアサートと同時に変更前後の周波数比の情報をリソース制御装置１０１に通知することで、タイミング（Ｉ）での参照レジスタ１１２の更新時に、設定レジスタ１１３の値をそのまま取り込むだけでなく、前記周波数比に応じた演算を設定レジスタ１１３の値に施して、その値で参照レジスタ１１２を更新してもよい。
【００３２】
《第４の実施形態》
図７は、本発明のデータ処理装置の一実施形態を示している。図７においては、図１に対して、設定レジスタＸ１１４と、設定レジスタＹ１１５と、セレクタ１１６とが新たに追加される。
【００３３】
図８は、図７で示されるデータ処理装置７００のクロック周波数を変更する場合の各構成要素の動作の流れの一例を示している。以下、図８を用いて動作を説明する。
【００３４】
タイミング（Ａ）までは第１の実施形態と同様である。ＣＰＵ１２１は、タイミング（Ｂ）で周波数変更前に適したパラメータの値を設定レジスタＸ１１４に、タイミング（Ｂ’）で周波数変更後に適したパラメータの値を設定レジスタＹ１１５にそれぞれ設定する。タイミング（Ｃ）でＣＰＵ１２１がリソース制御装置１０１の起動命令を行うと、リソース制御装置１０１ではセレクタ１１６が設定レジスタＸ１１４を選択するようにｓｅｌ信号が出力され、同時にｕｐｄａｔｅのパルスが出力される。これにより参照レジスタ１１２は、設定レジスタＸ１１４の値で更新される。タイミング（Ｄ）でＣＰＵ１２１、リソース制御装置１０１は通常動作に入るが、このとき、パラメータ管理装置１１１は、参照レジスタ１１２に取り込まれた設定レジスタＸ１１４の値をもとにＳＤＲＡＭ１０３へのアクセス制御を行う。タイミング（Ｅ）で、ＣＰＵ１２１はクロック周波数変更命令をクロック制御装置１０２に対して行い、クロック制御装置１０２はリソース制御装置１０１にｒｅｑ信号をアサートする。同時に、ａｔｔｒ信号として、変更後のクロック周波数情報を出力し、このａｔｔｒ信号によりリソース制御装置１０１はクロック周波数の変更後のパラメータとして設定レジスタＹ１１５が最適であると判断する。クロック制御装置１０２からのｒｅｑ信号を受け取ったリソース制御装置１０１はマスタ装置からの新規アクセス受付を停止する。タイミング（Ｆ）で、ＣＰＵ１２１は通常動作に戻る。リソース制御装置１０１は新規アクセス受付停止前に既に受け付けたアクセスの実行を完了させて、タイミング（Ｇ）でクロック制御装置１０２に対してａｃｋ信号をアサートする。クロック制御装置１０２はａｃｋ信号を受け取り、クロック周波数を変更し、タイミング（Ｈ）でｒｅｑ信号をネゲートする。タイミング（Ｉ）で、クロック制御装置１０２はｄｏｎｅ信号をアサートし、それを受けてリソース制御装置１０１では、セレクタ１１６が設定レジスタＹ１１５を選択するようにｓｅｌ信号が出力され、かつｕｐｄａｔｅのパルスが出される。これにより、参照レジスタ１１２は設定レジスタＹ１１５の値で自身を更新する。タイミング（Ｉ’）でリソース制御装置１０１は新規アクセス受付を再開し、タイミング（Ｊ）でａｃｋ信号をネゲートし、タイミング（Ｋ）で通常動作に戻る。このとき、パラメータ管理装置１１１は、参照レジスタ１１２に取り込まれた設定レジスタＹ１１５の値をもとにＳＤＲＡＭ１０３を制御する。タイミング（Ｊ）でａｃｋ信号のネゲートを確認したクロック制御装置１０２はｄｏｎｅ信号をネゲートする。
【００３５】
以上により、複数の設定レジスタ１１４，１１５を持つことで、クロック周波数の変更時に、ＣＰＵ１２１による設定レジスタの設定が不要になるため、クロック周波数変更手順が更に簡単になる。
【００３６】
なお、図８で示したフローは一例であり、この限りではない。また、設定レジスタは本例では２セットであったが、クロック周波数のバリエーションにより３つ以上あってもよい。
【００３７】
《第５の実施形態》
図９は、本発明のデータ処理装置の一実施形態を示している。図９においては、図７に対して、クロック制御装置１０２中に予約情報１１７が新たに追加される。
【００３８】
図１０、図１１は、図９で示されるデータ処理装置９００のクロック周波数を変更する場合の各構成要素の動作の流れの一例を示している。以下、図１０、図１１を用いて動作を説明する。
【００３９】
タイミング（Ａ）までは第１の実施形態と同様である。タイミング（Ｂ）でＣＰＵ１２１は設定レジスタＸ１１４、設定レジスタＹ１１５にクロック周波数変更前後に適したパラメータを設定する。タイミング（Ｃ）でＣＰＵ１２１はリソース制御装置１０１に起動命令を行い、リソース制御装置１０１では設定レジスタＸ１１４が選択されるようにｓｅｌ信号を出力しながら、ｕｐｄａｔｅパルスを出力し、参照レジスタ１１２は設定レジスタＸ１１４の値で自身を更新する。タイミング（Ｄ）でＣＰＵ１２１、リソース制御装置１０１は通常動作を行う。
【００４０】
一般的に、ＣＰＵを用いないアプリケーションを実行する場合、ＣＰＵはスリープ（ＳＬＥＥＰ）状態に入り、低消費電力の状態に入る。このとき、低消費電力状態であることを示し、割り込み信号など、起動用の信号の受付を行っている状態であることを示す信号を出力することがある。図９中のＣＰＵ１２１がこのようなＣＰＵであるという前提において、タイミング（Ｅ）で、ＣＰＵ１２１がＳＬＥＥＰ状態に入ったときに、リソース制御装置１０１のクロック周波数を落とすという意味の予約設定をクロック制御装置１０２に対して行う。その後、ＣＰＵ１２１はＳＬＥＥＰ状態に入る前にタイミング（Ｅ’）でＰＷＤＮ信号を出力する。予約設定を行った状態でＰＷＤＮ信号が出力されたことを見て、クロック制御装置１０２はｒｅｑ信号をアサートし、ａｔｔｒ信号として、設定レジスタＹ１１５を選択する意味の値を出力する。リソース制御装置１０１はマスタ装置からの新規アクセス受付を停止する。タイミング（Ｆ）でＣＰＵ１２１はＳＬＥＥＰ状態になる。タイミング（Ｆ）からタイミング（Ｋ）までのクロック制御装置１０２とリソース制御装置１０３の動作は第４の実施形態と同様である。
【００４１】
図１１を用いて以降の流れを説明する。図１１はＣＰＵ１２１がＳＬＥＥＰ状態から通常状態へ復帰するまでの流れを示している。タイミング（Ｌ）は、図１０のタイミング（Ｋ）と同様である。タイミング（Ｍ）で、ＣＰＵ１２１がＳＬＥＥＰ状態から通常状態へ復帰する要因となるＩＮＴ信号をクロック制御装置１０２が受信する。ＩＮＴ信号はＣＰＵ１２１への割り込み信号であってもよいし、その他の信号であってもよい。ＩＮＴ信号を受信したクロック制御装置１０２は、タイミング（Ｎ）でｒｅｑ信号をアサートし、ａｔｔｒ信号は設定レジスタＸ１１４を選択する意味を持つ値で出力する。タイミング（Ｎ）からタイミング（Ｓ）までは図８のタイミング（Ｅ）からタイミング（Ｉ’）までと同様である。ただし、タイミング（Ｒ）でのｕｐｄａｔｅパルス時にｓｅｌ信号は設定レジスタＸ１１４が選択される値で出力される。タイミング（Ｔ）で、リソース制御装置１０１はａｃｋ信号をネゲートし、クロック制御装置１０２はｄｏｎｅ信号をネゲートし、ＣＰＵ１２１に対してＷＡＫＥ信号を出力する。ＣＰＵ１２１はＷＡＫＥ信号を見てＳＬＥＥＰ状態から通常状態に復帰する。タイミング（Ｕ）で、リソース制御装置１０１は通常状態になる。
【００４２】
以上のように、ＣＰＵ１２１の状態遷移とあわせてクロック周波数をハードウェアで自動的に変更することで、ＣＰＵ１２１の低消費電力状態への移行と復帰にあわせてデータ処理装置９００全体の低消費電力状態への移行と復帰が可能になる。
【００４３】
なお、図１０、図１１で示したフローは一例であり、この限りではない。またＣＰＵは１つに限らず、複数のＣＰＵのＰＷＤＮ信号により、クロック周波数の変更の有無を判断してもよい。また予約情報１１７がなく、ＣＰＵ１２１がＰＷＤＮ信号を出力したときに常にクロック周波数の変更を行ってもよい。また予約情報１１７に変更後のクロック周波数の情報を持たせて、それにより変更後のクロック周波数を選択してもよい。また、ＣＰＵ１２１がＩＮＴ信号を受信し、ＰＷＤＮ信号がネゲートされ、ＣＰＵ１２１が低消費電力状態から通常状態へ復帰したことを確認してから、クロック制御装置１０２がリソース制御装置１０１へｒｅｑ信号をアサートしてタイミング（Ｎ）以降の手順を実施してもよい。
【産業上の利用可能性】
【００４４】
以上説明してきたとおり、本発明に係るデータ処理装置は、リアルタイム性を必要とするアプリケーションの実行中においてもクロック周波数の変更を可能にすることにより、システム全体としての省電力化を実現することができるので、システムＬＳＩ等に好適に利用できる。
【図面の簡単な説明】
【００４５】
【図１】本発明に係るデータ処理装置の構成例を示すブロック図である。
【図２】図１の構成例における動作例を示すフロー図である。
【図３】本発明に係るデータ処理装置の第２の構成例を示すブロック図である。
【図４】図３の構成例における動作例を示すフロー図である。
【図５】本発明に係るデータ処理装置の第３の構成例を示すブロック図である。
【図６】図５の構成例における動作例を示すフロー図である。
【図７】本発明に係るデータ処理装置の第４の構成例を示すブロック図である。
【図８】図７の構成例における動作例を示すフロー図である。
【図９】本発明に係るデータ処理装置の第５の構成例を示すブロック図である。
【図１０】図９の構成例における動作例を示すフロー図（前半）である。
【図１１】図９の構成例における動作例を示すフロー図（後半）である。
【符号の説明】
【００４６】
１００  データ処理装置
１０１  リソース制御装置
１０２  クロック制御装置
１０３  ＳＤＲＡＭ（リソース）
１１０  アクセス停止制御装置
１１１  パラメータ管理装置
１１２  参照レジスタ
１１３  設定レジスタ
１１４  設定レジスタＸ
１１５  設定レジスタＹ
１１６  セレクタ
１１７  予約情報
１２１  ＣＰＵ（マスタ装置）
１２２  ＤＭＡＣ（マスタ装置）
１２３  ＨＷＥ（マスタ装置）
３００，５００，７００，９００  データ処理装置
【図１】
2009122922.tif 000003
【図２】
2009122922.tif 000004
【図３】
2009122922.tif 000005
【図４】
2009122922.tif 000006
【図５】
2009122922.tif 000007
【図６】
2009122922.tif 000008
【図７】
2009122922.tif 000009
【図８】
2009122922.tif 000010
【図９】
2009122922.tif 000011
【図１０】
2009122922.tif 000012
【図１１】
2009122922.tif 000013