(57)【要約】      （修正有）【課題】クロック分周回路においてグリッジが発生しないタイミングを待ってクロック分周比を切り替えることができ、かつ、メモリへのアクセスを中断することなくクロックを切り替えることができる情報処理装置を実現する。【解決手段】クロック分周設定レジスタ３において、そのクロック分周比の変更に伴って可変分周器２によって生成される動作クロックの周波数が変更される。同時に、カウンタ回路６は、クロック分周比を変更と同時に、クロックダウンカウント数レジスタ７またはクロックアップカウント数レジスタ８に設定されているカウント数をカウントする。アクセスタイミング設定レジスタ５１およびセレクタ５２は、カウント回路でのカウント終了後に、アクセスタイミングを変更する。【選択図】図１
2006120004.tif 000002
【特許請求の範囲】
【請求項１】
被制御デバイスを制御するインターフェイスを有し、動作クロックの周波数を可変して動作する情報処理装置において、
動作クロックにおけるクロック分周比を設定および保持する保持手段と、
上記保持手段に保持されているクロック分周比に基づいて基本クロックを分周し、動作クロックを生成する動作クロック生成手段と、
上記保持手段におけるクロック分周比の設定が変更されたときに、該設定変更からの所定時間の経過を計測する計測手段と
上記被制御デバイスへのアクセスにおいて設けられるウエイト時間を変更するアクセスタイミング変更手段とを備えており、
上記アクセスタイミング変更手段におけるウエイト時間の変更を、上記計測手段によって計測される所定時間の経過後に行うことを特徴とする情報処理装置。
【請求項２】
上記計測手段は、任意のカウント数を設定できるカウンタ手段であり、設定したカウント数を基本クロックに基づいて計数することで、上記所定時間の経過を計測することを特徴とする請求項１の情報処理装置。
【請求項３】
上記保持手段におけるクロック分周比の設定が変更されたときに、該分周比の設定変更が動作クロックの周波数を上げる変更であるのか下げる変更であるのかを検出する検出手段を有していると共に、
上記カウンタ手段は、上記検出手段の検出結果に基づいて動作クロックの周波数を上げる場合と下げる場合とでそれぞれ異なるカウント数を設定することで、動作クロックの周波数を上げる場合には、動作クロックの周波数が変更されるタイミングをアクセスタイミングが変更されるタイミングよりも後とし、動作クロックの周波数を下げる場合には、アクセスタイミングが変更されるタイミングを動作クロックの周波数が変更されるタイミングよりも後とすることを特徴とする請求項２の情報処理装置。
【請求項４】
複数の上記インターフェイスおよび１つのインターフェイスにつき、１つまたは複数の被制御デバイスとそれぞれのインターフェイスに対応するカウンタとを持ち、
上記インターフェイス毎に、メモリアクセスタイミングの変更を自動で行うかどうかの設定を保持するアクセスタイミング設定保持手段を有することを特徴とする請求項１ないし３の何れかに記載の情報処理装置。
【請求項５】
上記インターフェイス毎に、カウント中のメモリアクセスを制限するかどうかの設定を保持するメモリアクセス設定保持手段を有することを特徴とする請求項４に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリやメモリに準じたアクセスを行うデバイスを制御するインターフェイスを有する情報処理装置に関し、特に動作クロックの周波数が可変である情報処理装置に関する。
【背景技術】
【０００２】
ＣＰＵ（Central Processing Unit）がメモリにアクセスする際には、メモリへアクセスしてからデータの読み書きが開始されるまでに一定の時間を要する。このため、メモリのアクセスタイミング設定において、所定クロック数分のウエイト時間が設けられ、メモリに対するデータの読み書きはメモリアクセスから該ウエイト時間の経過を待って行われる。
【０００３】
一方、携帯電話やノートパソコンをはじめとする持ち運び可能な小型軽量の情報処理端末では、消費電力節約のためにＣＰＵの動作クロックの周波数を動的に切り替える仕組みを備えている。ＣＰＵのクロック周波数を切り替える場合、該クロック周波数の変更と共に、メモリのアクセスタイミングを変更する必要が生じる。
【０００４】
すなわち、上記ウエイト時間はクロック数によって設定されているため、クロック周波数が変更されると、これによってメモリのウエイト時間も変わる。このように、ウエイト時間が変わるとデータの読み書きが間に合わなくなったり遅くなったりするため、これを防ぐには、クロック周波数の変更と共に、メモリのアクセスタイミングを変更しなければならない。
【０００５】
特許文献１では、ＣＰＵのクロック分周回路と、メモリアクセスタイミングの設定を切り替えるセレクタとを接続し、クロック分周回路においてクロック分周比の変更が発生した場合には、これをメモリアクセスタイミングの設定を切り替えるセレクタに通知する信号を送信する。これにより、特許文献１では、クロック分周比の変更と同時にメモリアクセスタイミングの設定変更を自動で行うようになっている。
【特許文献１】特開２００４−５４７６６号公報（公開日平成１６年２月１９日）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
通常、クロック分周比を変更すると、該クロック分周比を切り替える瞬間にグリッジが発生し、誤動作が発生する可能性がある。このため、上記の特許文献１では、クロック分周比の変更前にメモリへのアクセスを止めておき、クロック分周比とメモリアクセスタイミングとを変更した後、メモリへのアクセスを再開させている。クロック分周比の設定を変更してからクロック分周比が切り替わるまでにはタイムラグがあるため、この間はメモリへアクセスできず処理が中断されてしまう。
【０００７】
動作クロックの周波数を下げるときは周期が長くなるため、ウエイト時間を定めるクロック数を変化させなければウエイト時間が増えることとなる。このため、動作クロックの周波数を下げる場合は、ウエイト時間を定めるクロック数が少なくなるようにメモリアクセスタイミングの設定を変更する。逆に、動作クロックの周波数を上げる場合は、ウエイト時間を定めるクロック数が多くなるように設定を変更する。
【０００８】
動作クロックの周波数を下げる場合には、クロック分周比が切り替わる前に上記メモリアクセスタイミングの設定変更を行うと、ウエイト時間が短くなってメモリの応答が間に合わなくなる可能性がある。このため、クロック分周比、メモリアクセスタイミングの順で変更を行う必要がある。これに対し、動作クロックの周波数を上げる場合、メモリアクセスタイミングを設定変更する前にクロック分周比が切り替わると、クロック周期は短くなるためウエイト時間が短くなる。したがってこの場合もメモリの応答時間を満たせなくなる可能性が生じる。よって周波数を下げる場合とは逆にメモリアクセスタイミング、クロック分周比の順に変更を行わねばならない。
【０００９】
上記の特許文献１では動作クロックの周波数を上げる場合と下げる場合のいずれについてもクロック分周比が切り替わるまでメモリのアクセスとアクセスタイミングの変更を行わないため、クロック周波数の変更に対して柔軟な処理ができなかった。
【００１０】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、クロック分周回路においてグリッジが発生しないタイミングを待ってクロック分周比を切り替えることができ、かつ、メモリへのアクセスを中断することなくクロックを切り替えることができる情報処理装置を実現することにある。
【課題を解決するための手段】
【００１１】
本発明に係る情報処理装置は、上記課題を解決するために、被制御デバイスを制御するインターフェイスを有し、動作クロックの周波数を可変して動作する情報処理装置において、動作クロックにおけるクロック分周比を設定および保持する保持手段と、上記保持手段に保持されているクロック分周比に基づいて基本クロックを分周し、動作クロックを生成する動作クロック生成手段と、上記保持手段におけるクロック分周比の設定が変更されたときに、該設定変更からの所定時間の経過を計測する計測手段と上記被制御デバイスへのアクセスにおいて設けられるウエイト時間を変更するアクセスタイミング変更手段とを備えており、上記アクセスタイミング変更手段におけるウエイト時間の変更を、上記計測手段によって計測される所定時間の経過後に行うことを特徴としている。
【００１２】
上記の構成によれば、上記保持手段において設定および保持されるクロック分周比を変更し、上記動作クロック生成手段によって生成される動作クロックの周波数を変更するときには、上記計測手段によってクロック分周比の設定変更からの所定時間の経過を計測し、上記アクセスタイミング変更手段は上記計測手段によって計測される所定時間の経過後に上記被制御デバイスへのアクセスにおいて設けられるウエイト時間を変更する。
【００１３】
これにより、クロック分周比の設定変更からメモリアクセスタイミング変更までの期間に上記計測手段によって計測される所定時間分だけの時間幅を持たせることができ、クロック分周回路においてグリッジが発生しないタイミングを待ってクロック分周比を切り替えることが可能となる。したがって、メモリへのアクセスを中断することなくクロックを切り替えることができ、メモリへの処理を継続して行いながらメモリアクセスタイミングの変更を実行できる。
【００１４】
また、上記情報処理装置では、上記計測手段は、任意のカウント数を設定できるカウンタ手段であり、設定したカウント数を基本クロックに基づいて計数することで、上記所定時間の経過を計測することを特徴としている。これにより、クロック分周比の設定変更からメモリアクセスタイミング変更までの期間を常に必要最小限に保つことが可能であり、クロック周波数変更に伴う一連の処理を効率良く実行できる。
【００１５】
また、上記情報処理装置では、上記保持手段におけるクロック分周比の設定が変更されたときに、該分周比の設定変更が動作クロックの周波数を上げる変更であるのか下げる変更であるのかを検出する検出手段を有していると共に、上記カウンタ手段は、上記検出手段の検出結果に基づいて動作クロックの周波数を上げる場合と下げる場合とでそれぞれ異なるカウント数を設定することで、動作クロックの周波数を上げる場合には、動作クロックの周波数が変更されるタイミングをアクセスタイミングが変更されるタイミングよりも後とし、動作クロックの周波数を下げる場合には、アクセスタイミングが変更されるタイミングを動作クロックの周波数が変更されるタイミングよりも後とすることを特徴としている。
【００１６】
上記の構成によれば、動作クロックの周波数を下げる場合には、アクセスタイミングが変更されるタイミングを動作クロックの周波数が変更されるタイミングよりも後とするが、動作クロックの周波数を上げる場合には、動作クロックの周波数が変更されるタイミングをアクセスタイミングが変更されるタイミングよりも後とする。
【００１７】
これはすなわち、クロック周波数を下げる場合には、動作クロックの周波数が変更される前にアクセスタイミングを変更する場合、該アクセスタイミングの変更はウエイト時間を決定するカウント数を少なくすることによって行われるため、ウエイト時間が短くなる。そして、上記ウエイト時間が短くなると、メモリの応答が間に合わなくなり、メモリアクセスの破綻が生じる恐れがある。このため、動作クロックの周波数を下げる場合には、アクセスタイミングが変更されるタイミングを動作クロックの周波数が変更されるタイミングよりも後とすることで、そのようなメモリアクセスの破綻を回避する。
【００１８】
これに対し、クロック周波数を上げる場合には、アクセスタイミング変更前に動作クロックが変更されると、クロック周期が短くなるためウエイト時間が短くなる。よって同様にメモリの応答が間に合わなくなり、メモリアクセスの破綻が生じる恐れがある。ゆえに動作クロックの周波数を上げる場合には、アクセスタイミングが変更されるタイミングを動作クロックの周波数が変更されるタイミングよりも前とする。
【００１９】
以上よりいずれの場合においてもメモリアクセスを正常に行いつつ、最も効率的なタイミングをもってクロック周波数の変更を自動で処理することが可能である。
【００２０】
また、上記情報処理装置では、複数のインターフェイスおよび１つのインターフェイスにつき、１つまたは複数の被制御デバイスとそれぞれのインターフェイスに対応するカウンタとを持ち、上記インターフェイス毎に、メモリアクセスタイミングの変更を自動で行うかどうかの設定を行うアクセスタイミング変更設定手段を有することを特徴としている。
【００２１】
また、上記情報処理装置では、カウント中のメモリアクセスを制限するかどうかの設定を保持するメモリアクセス設定保持手段を有することを特徴としている。
【００２２】
上記の構成によれば、複数のメモリインターフェイスにそれぞれ対応するカウンタを有し、メモリインターフェイスごとに、メモリアクセスタイミングの自動変更の可否、カウント中のメモリアクセスの可否を選択可能とすることで各メモリインターフェイスに接続されるメモリの仕様や制約を満たすメモリアクセスを可能とすることができる。
【発明の効果】
【００２３】
本発明に係る情報処理装置は、以上のように、動作クロック周波数の変更に伴うメモリアクセスタイミングの変更を自動で行うことができ、ソフトウエア処理に伴うオーバーヘッドおよび複雑な手続きが軽減される。また、動作クロック周波数の切り替え前後で生じる冗長なウエイト時間の挿入を最小限に抑えることができるため、メモリアクセス処理の向上が実現できるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
本発明の一実施形態について図１ないし図４に基づいて説明すると以下の通りである。まずは、本実施の形態に係る情報処理装置の構成を図１を参照して説明する。
【００２５】
上記情報処理装置は、図１に示すように、ＣＰＵ１、可変分周期２、クロック分周設定レジスタ３、ＰＬＬ（Phase Locked-Loop）回路４、メモリ制御回路５、カウンタ回路６、クロックダウンカウント数レジスタ７、クロックアップカウント数レジスタ８、および被制御デバイスであるメモリ９を備えて構成されている。
【００２６】
ＣＰＵ１は、周辺回路の制御を行うマイクロプロセッサであり、可変分周器２から入力される動作クロック信号に基づいて動作する。
【００２７】
可変分周器２は、ＰＬＬ回路４で生成される基本クロック信号を入力とし、分周比のそれぞれ異なる幾つかの動作クロックを内部で生成することができる。クロック分周設定レジスタ３はクロック分周比の設定を保持しており、その保持している設定の値が更新されると、更新された設定をクロック切替信号によって可変分周期に出力する。
【００２８】
これにより、可変分周器２は、クロック分周設定レジスタ３におけるクロック分周比の設定値が更新されると、更新された設定に従ってクロック分周比の切替を行い、クロック分周設定レジスタ３の設定に対応するクロック周波数を動作クロック信号として出力する。尚、クロック分周設定レジスタ３におけるクロック分周比の変更は、ＣＰＵ１からの指示によって行われる。
【００２９】
また、クロック分周設定レジスタ３におけるクロック分周比の設定は、クロック切替信号によってカウンタ回路６にも伝えられ、カウンタ回路６では、設定の更新と同時にカウントが開始される。
【００３０】
メモリ制御回路５は、アクセスタイミング設定レジスタ５１、セレクタ５２、メモリインターフェイス回路５３、およびカウントイネーブルレジスタ５４を備えている。メモリ制御回路５は、ＣＰＵ１とメモリ９との間のインターフェイスを行う機能を有し、動作クロック周波数の変更に対応してメモリへのアクセスを制御する。
【００３１】
アクセスタイミング設定レジスタ５１は、メモリ９へのアクセスにおいてウエイト時間を挿入するためのクロック数を保持するものである。また、アクセスタイミング設定レジスタ５１は、可変分周器２で生成される分周比の異なるいくつかのクロックのそれぞれに対応するように、メモリアクセスタイミングの設定を保持しておくための複数のレジスタ（アクセスタイミング設定レジスタ５１−１〜５１−ｎ）で構成されている。
【００３２】
セレクタ５２には、カウンタ回路６を通してクロック切替信号が入力され、その時のクロック分周比の設定に対応するメモリアクセスタイミングが選択される。カウンタ回路６は、クロック切替信号によって伝わるクロック分周比の設定を保持しておくことによって、クロック分周比の設定が更新されたかどうかを検出する機能を有し、設定の更新が検出された場合には、検出と同時にカウントを開始する。
【００３３】
また、カウンタ回路６は、更新前のクロック分周比の設定と更新後のクロック分周比の設定を比較し、この更新において動作クロック周波数が下がる場合は、クロックダウンカウント数レジスタ７に保持されるカウント数をカウントし、クロック周波数が上がる場合はクロックアップカウント数レジスタ８に保持されるカウント数をカウントする。カウンタ回路６は、ＰＬＬ回路４で生成される基本クロック信号を基準にしてカウントを行い、カウント中はメモリ制御回路５へカウント中であることを示す信号を出力する。
【００３４】
クロックダウンカウント数レジスタ７またはクロックアップカウント数レジスタ８に保持されるカウント数に基づいて上記カウントが完了すると、カウンタ回路６は、メモリ制御回路５のセレクタ５２へ更新されたクロック切替信号を出力し、メモリアクセスタイミングを変更させる。
【００３５】
この時、カウンタ回路６から出力されるクロック切替信号は、カウントイネーブルレジスタ５４を介してからメモリ制御回路５のセレクタ５２に入力される。カウントイネーブルレジスタ５４は、カウンタ回路６からセレクタ５２へ入力されるクロック切替信号を有効とするか無効とするかを設定し、カウンタにより自動でメモリアクセスタイミングを変更するか、ソフトウエア制御によって変更するかを選択可能にする。ソフトウエア制御による変更を選択した場合、セレクタはアクセスタイミング設定レジスタ５１−１に固定され、ＣＰＵがソフトウエアによってアクセスタイミング設定レジスタ５１−１のウエイト数を書き換えた時点でメモリアクセスタイミングの変更が行われる。
【００３６】
さらに、カウントイネーブルレジスタ５４は、カウンタ回路６からカウント中であることを示す信号を受けている間、メモリアクセスを禁止する信号を出力させるかどうかを設定する。これにより、クロック分周設定レジスタ３の設定変更後、メモリアクセスタイミングが変更されるまでメモリアクセスを回避させることを選択可能にする。これら設定により、クロック周波数の変更に特別な処理を要するメモリや、メモリアクセス中にクロック分周比が切り替わると誤動作するメモリに対応することを可能とする。
【００３７】
図２は、複数のメモリインターフェイスを接続した本発明の情報処理装置を示す簡易ブロック図である。すなわち、図１の構成では、被制御デバイスであるメモリ９が一つであるため、メモリ制御回路５とカウンタ回路とが対となって構成されるメモリインターフェイスも一つである。しかしながら、被制御デバイスが複数存在する場合には、メモリインターフェイスもそれに対応して複数接続される。
【００３８】
図２に示すような複数の被制御デバイス９Ａ，９Ｂ，…，９Ｘを備えた情報処理装置では、各被制御デバイス９Ａ，９Ｂ，…，９Ｘのそれぞれに対し、メモリ制御回路５Ａ，５Ｂ，…，５Ｘ、およびカウンタ回路６Ａ，６Ｂ，…，６Ｘが対となって構成される複数のメモリインターフェイスを備えている。そして、各メモリインターフェイス毎に、それぞれ、メモリアクセスタイミングの自動変更の可否、カウント中のメモリアクセスの可否を個別に設定可能となっている。尚、図２において、被制御デバイス９Ａ，９Ｂ，…，９Ｘは、９Ａや９Ｘに示すようなメモリである必要は無く、９Ｂに示すようなその他のデバイス（メモリに準じたアクセスを行うデバイス）であってもよい。また、各インターフェイスに接続される被制御デバイスは１つまたは複数であってもよい。また、ここでの被制御デバイスは、該デバイスへのアクセスから該デバイスにおける実際の処理が開始されるまでに一定の時間を要するデバイス、と定義され、バスＩ／Ｆを持ちデータの入出力（ライト、リードに該当）を行うメモリ以外の周辺装置全般（例：カメラ、アナログＬＳＩ、メロディチップ、アクセラレータなど）を指す。
【００３９】
また、上記被制御デバイスは、その種類によって使用や制約が異なる。このため、上記メモリインターフェイスは、メモリインターフェイスごとに、メモリアクセスタイミングの自動変更の可否、カウント中のメモリアクセスの可否を選択可能となっている。これにより、各メモリインターフェイスに接続される被制御デバイスの仕様や制約を満たすメモリアクセスを可能としている。尚、本実施の形態において、メモリアクセスタイミングの自動変更の可否、カウント中のメモリアクセスの可否を選択可能とする機能は、カウントイネーブルレジスタ５４が有している。
【００４０】
すなわち、カウンタ回路６から出力されるクロック切替信号は、カウントイネーブルレジスタ５４において、その有効および無効が設定される。カウントイネーブルレジスタ５４において、上記クロック切替信号が有効とされた場合は、カウンタによるメモリアクセスタイミングの自動変更が行われる。また、上記クロック切替信号が無効とされた場合は、ソフトウエア制御によるメモリアクセスタイミングの変更を実施することが可能である。さらに、カウントイネーブルレジスタ５４は、カウント中のメモリアクセスの可否を選択可能とするため、カウンタ回路６からカウント中であることを示す信号を受けている間、メモリアクセスを禁止する信号を出力させるかどうかを設定する。
【００４１】
図３は、可変分周器２の動作の一例を示すものであり、内部の各クロックおよび動作クロックのタイミングチャートを示している。可変分周器２は、ＰＬＬ回路４から入力される１／１基本クロックを１／２，１／４，１／６，１／８の分周比にて分周することができ、分周した各クロックを切り替えて出力する。図３に示す例では、動作クロックが分周比１／１から１／４にクロックダウンするときのタイミングチャートを示している。尚、クロック周波数の切替は、分周された各クロックの立ち上がりが全て揃うタイミングを切替タイミングとして行われるようになっており、これによって動作クロックの周波数が切り替わる瞬間にグリッジが発生しないようにすることができる。図３の例では、１／１基本クロックにおける２４周期毎に切替タイミングが存在する。
【００４２】
次に、本発明の実施例としてクロック周波数を変更したときの一連の回路動作を図１および図３を用いて説明する。クロック周波数を下げる一例として図３に示すようにクロック分周比を１／１から１／４に切り替える例を用いる。
【００４３】
はじめに、ＣＰＵ１はソフトウエア制御によりクロック分周レジスタ３を書き換え、クロック分周比の設定を更新する（Ｔ１）。更新されたクロック分周比の設定はクロック切替信号によってカウンタ回路６に伝えられ、カウンタ回路６にて設定の更新が検出されるとカウントが開始される。この時、カウンタ回路６は保持していたクロック分周比の設定と更新後の設定を比較し、この設定変更がクロック周波数を下げるものであることを確認し、カウンタにクロックダウンカウント数レジスタ７のカウント数をセットする。
【００４４】
可変分周器２は、クロック分周レジスタ３の設定を更新したタイミング（Ｔ１）から、最初に発生する切替タイミング（Ｔ２）において動作クロック周波数を切り替える。この切替タイミングは、上述したように１／１基本クロックで２４周期毎に発生するため、上記タイミングＴ２は、タイミングＴ１から基本クロックで最大２４周期後には発生する。
【００４５】
ここで、動作クロック周波数を下げる動作を行う場合は、動作クロック周波数の切り替え完了後に、メモリアクセスタイミングの変更を行う必要がある。上述したように、動作クロック周波数の切り替えは、クロック分周レジスタ３の設定更新から、基本クロックで最大２４周期後には発生する。このため、メモリアクセスタイミングの変更を最短で行うためには、該メモリアクセスタイミングの変更をクロック分周レジスタ３の設定更新から基本クロックで２４周期後に行えばよい。そのためには、クロックダウンカウント数レジスタ７はカウント数を２４として設定しておけばよく、これにより、カウンタ回路６は動作クロック周波数が切り替わった後にそのカウントを完了する。
【００４６】
カウンタ回路６でのカウント終了後、更新されたクロック周波数の設定がカウンタ回路６からセレクタ５２へ出力され、セレクタ５２は、これに対応するアクセスタイミング設定レジスタ５１を選択して切り替えることでメモリアクセスタイミングが変更される（Ｔ３）。上記処理では、メモリアクセスタイミングを変更するタイミングＴ３は、動作クロック周波数を切り替えるタイミングＴ２よりも、確実に後のタイミングとすることができる。
【００４７】
以上により、カウンタによってクロック分周比の設定変更からメモリアクセスタイミング変更までの期間に幅を持たせることで、クロック分周回路においてグリッジが発生しないタイミングを待ってクロック分周比を切り替えることが可能となる。したがって、メモリへのアクセスを中断することなくクロックを切り替えることができ、処理を継続して実行可能となる。
【００４８】
また、カウントイネーブルレジスタ５４を設定することによって、カウンタ回路６の出力を無効にし、ソフトウエア制御によるメモリアクセスタイミングの変更を可能とする。
【００４９】
図４は、図３に対する比較として、メモリアクセスタイミングを変更しない場合のタイミングチャートを示したものである。ＣＳはチップセレクト信号であり、メモリへアクセスして応答を待つ間アサートされる。メモリアクセスにおけるウエイト時間は動作クロックを基準としてカウントされ、アクセスタイミング設定レジスタ５１に設定されるクロック数分、ウエイト時間が挿入される。
【００５０】
図４では、アクセスを行うメモリに対して、設定されているクロック分周比に関わらず５クロックのウエイト時間を挿入している。つまり、クロック分周比が切り替わった後もメモリアクセスタイミングを変更しないため、動作クロックの周期が長くなる分、ウエイト時間も長くなり、メモリに対し冗長なアクセスを行っていることとなる。これに対し、図３では、クロック分周比を切り替えるとともにメモリアクセスタイミングを変更し、ウエイト時間を１クロック分にすることで、クロック分周比を切り替えた後もほぼ同じウエイト時間でメモリにアクセスすることが可能である。
【００５１】
また、上記図３ではクロック周波数を下げる場合の動作を例示しているが、クロック周波数を上げる場合は、動作クロック周波数を切り替える前にメモリアクセスタイミングを変更する必要がある。クロック分周レジスタ３の設定更新タイミングＴ１から最初に発生する切替タイミング（Ｔ２）までの期間は最短で１クロックとなるため、クロック周波数を上げる場合に使用されるクロックアップカウント数レジスタ８は、その設定カウント数を０としておく。
【００５２】
これにより、クロック分周レジスタ３の設定が変更されると同時にメモリアクセスタイミングが変更される。言い換えれば、クロック分周レジスタ３の設定更新タイミングＴ１とアクセスタイミング設定レジスタ５１の選択切替タイミングＴ３とが等しくなり、動作クロック周波数の切替タイミングＴ２はタイミングＴ３の後となる。
【００５３】
したがって、クロック周波数を上げる場合においても、メモリアクセスを中断することなくクロック周波数の変更を自動で処理することが可能である。
【００５４】
尚、本発明の情報処理装置は、必ずしもクロック周波数を変更する際、メモリアクセスタイミングを変更する必要はない。例えば図４に示すように、クロック周波数を下げてもウエイト数を５クロックにしたまま冗長なアクセスを行い、そのままメモリアクセスタイミングの設定を変えずに必要に応じてクロック周波数を上げて元のクロックに戻すといった場合でもクロック分周回路においてグリッジが発生しないタイミングを待ってクロック分周比を切り替えることができ、メモリへのアクセスを中断することなくクロックを切り替えるという効果は得られる。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施形態を示すものであり、情報処理装置の概略構成を示すブロック図である。
【図２】複数のメモリインターフェイスを接続した情報処理装置を示すブロック図である。
【図３】上記情報処理装置における可変分周器内の各クロックおよび出力クロックのタイミングチャートを示す波形図である。
【図４】図３においてメモリアクセスタイミングを変更しない場合のタイミングチャートを示す波形図である。
【符号の説明】
【００５６】
１    ＣＰＵ
２    可変分周器（動作クロック生成手段）
３    クロック分周設定レジスタ（保持手段）
５    メモリ制御回路（インターフェイス）
６    カウンタ回路（計測手段、カウンタ手段、検出手段）
７    クロックダウンカウント数レジスタ（計測手段、カウンタ手段）
８    クロックアップカウント数レジスタ（計測手段、カウンタ手段）
９    メモリ（被制御デバイス）
５１    アクセスタイミング設定レジスタ（アクセスタイミング変更手段）
５２    セレクタ（アクセスタイミング変更手段）
５４    カウントイネーブルレジスタ（アクセスタイミング設定保持手段、メモリアクセス設定保持手段）
【図１】
2006120004.tif 000003
【図２】
2006120004.tif 000004
【図３】
2006120004.tif 000005
【図４】
2006120004.tif 000006