(57)【要約】【課題】  非同期メモリを用いたデバイスや、該デバイスを含む情報処理装置において、使用するクロック周波数に応じて制御レジスタを選択的に使用することで、プログラムやデータの処理速度の低下等を防止する。【解決手段】  情報処理装置１において、クロック源６がクロックを発生させて、クロック周波数規定手段７を介してメモリインターフェース部４に送出する。周波数の異なるクロック信号を選択的に用いてメモリバス２を介して非同期メモリ３にアクセスするためのメモリ制御手段５が、クロック信号の周波数に対応した複数の制御レジスタ９、９、…を備えており、使用するクロック信号が変更される場合に、当該クロック信号に対応したレジスタ設定値を有する制御レジスタ９が選択されるように構成した。【選択図】        図１
2005149461.tif 000002
【特許請求の範囲】
【請求項１】
非同期メモリと、周波数の異なるクロック信号を選択的に用いてメモリバスを介して該非同期メモリにアクセスするためのメモリ制御手段を備えた、非同期メモリを用いたデバイスにおいて、
上記メモリ制御手段が、上記クロック信号の周波数に応じた複数の制御レジスタを備えており、
上記クロック信号が変更される場合に、当該クロック信号に対応したレジスタ設定値を有する制御レジスタが選択される
ことを特徴とする非同期メモリを用いたデバイス。
【請求項２】
請求項１に記載した非同期メモリを用いたデバイスにおいて、
上記非同期メモリのデータ読出に要する時間が一定又はほぼ一定となるように、上記クロック信号の周波数に応じて、上記非同期メモリのデータ読出のタイミングを規定する設定値が上記制御レジスタの各々に設定されている
ことを特徴とする非同期メモリを用いたデバイス。
【請求項３】
請求項１に記載した非同期メモリを用いたデバイスにおいて、
上記クロック信号を発生するクロック源と、
上記クロック信号の周波数について指示する周波数指示手段と、
上記周波数指示手段からの指示に応じた周波数のクロック信号を規定するクロック周波数規定手段を備えており、
上記周波数指示手段からの指示に応じて上記制御レジスタが選択される
ことを特徴とする非同期メモリを用いたデバイス。
【請求項４】
請求項３に記載した非同期メモリを用いたデバイスにおいて、
上記周波数指示手段からの指示に応じて上記制御レジスタを切り替えることで選択された該制御レジスタの設定値に従って上記非同期メモリへのアクセスが行われる
ことを特徴とする非同期メモリを用いたデバイス。
【請求項５】
請求項１に記載した非同期メモリを用いたデバイスにおいて、
上記メモリ制御手段を含む回路部に対して、該回路部の外部メモリバスに上記非同期メモリが接続される
ことを特徴とする非同期メモリを用いたデバイス。
【請求項６】
プログラム命令に従って演算処理を行う中央処理装置と、非同期メモリと、周波数の異なるクロック信号を選択的に用いてメモリバスを介して該非同期メモリにアクセスするためのメモリ制御手段を備えた情報処理装置において、
上記メモリ制御手段が、上記クロック信号の周波数に応じた複数の制御レジスタを備えており、
上記クロック信号が変更される場合に、当該クロック信号に対応したレジスタ設定値を有する制御レジスタが選択される
ことを特徴とする情報処理装置。
【請求項７】
請求項６に記載した情報処理装置において、
上記非同期メモリのデータ読出に要する時間が一定又はほぼ一定となるように、上記クロック信号の周波数に応じて、上記非同期メモリのデータ読出のタイミングを規定する設定値が上記制御レジスタの各々に設定されている
ことを特徴とする情報処理装置。
【請求項８】
請求項６に記載した情報処理装置において、
上記クロック信号を発生するクロック源と、
上記クロック信号の周波数について指示する周波数指示手段と、
上記周波数指示手段からの指示に応じた周波数のクロック信号を規定するクロック周波数規定手段を備えており、
上記周波数指示手段からの指示に応じて上記制御レジスタが選択される
ことを特徴とする情報処理装置。
【請求項９】
請求項８に記載した情報処理装置において、
上記周波数指示手段からの指示に応じて上記制御レジスタを切り替えることで選択された該制御レジスタの設定値に従って上記非同期メモリへのアクセスが行われる
ことを特徴とする情報処理装置。
【請求項１０】
請求項６に記載した情報処理装置において、
上記中央処理装置及び上記メモリ制御手段を含む回路部に対して、該回路部の外部メモリバスに上記非同期メモリが接続されている
ことを特徴とする情報処理装置。
【請求項１１】
請求項６に記載した情報処理装置において、
上記中央処理装置の動作周波数が予め規定された値以上又は該値以下の範囲で上記非同期メモリのデータ読出に使用される制御レジスタを備えている
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周波数が異なる複数のクロック信号を用いて非同期メモリ（あるいは非同期式メモリ）にアクセスできるようにした構成において、メモリインターフェースのクロック周波数が低周波数に変更された場合でも、非同期メモリに記憶したプログラムの実行速度等が低下しないようにするための技術に関する。
【背景技術】
【０００２】
コンピュータ等の情報処理装置では、稼動状態や負荷状況が一定とは限らないため、例えば、処理すべきタスクが存在する場合にシステムが動作し、タスク処理後に、別のタスクが存在しない場合に待機状態となるようにシステムステートを遷移させる構成形態が知られている。
【０００３】
また、システムの稼動状態を観測してシステムクロック等を制御することで消費電力を削減する方法として、システムが待機状態になったことを検出してクロック周波数を低減させる方法（例えば、特許文献１参照）が知られている。
【０００４】
尚、クロックの周波数制御については、ＣＰＵ（中央処理装置）の動作周波数に係る制御の他、例えば、非同期メモリが接続されたメモリバスのインターフェースで使用するクロック信号の周波数制御等が行われる。
【０００５】
【特許文献１】特開平１１−２１９２３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の装置にあっては、例えば、クロック周波数変更に伴うメモリのアクセス制御においてプログラム等の処理速度が一定しないことに問題がある。
【０００７】
非同期メモリに対するメモリ制御器には、メモリバスインターフェースのタイミングを決めるための制御レジスタが設けられているが、該制御レジスタが１種類しかない場合において、周波数が異なるクロックの使用に対処することができない。つまり、同じ制御レジスタを、高速クロック時及び低速クロック時の両方に使用することになるため、低速クロックを使用した場合にレジスタ設定値が高速クロックの使用時と同じ設定のままとされ、非同期メモリからのデータの読出時間が長くなる（例えば、非同期メモリに記憶されているプログラムをＣＰＵが解釈して実行するときの処理速度が低下してしまう。）。
【０００８】
そこで、本発明は、非同期メモリを用いたデバイス及び情報処理装置において、使用するクロック周波数に応じて制御レジスタを選択的に使用することで、プログラムやデータの処理速度の低下等を防止することを課題とする。
【課題を解決するための手段】
【０００９】
本発明は、上記した課題を解決するために、周波数の異なるクロック信号を選択的に用いてメモリバスを介して非同期メモリにアクセスするためのメモリ制御手段を備えるとともに、該メモリ制御手段がクロック信号の周波数に応じた複数の制御レジスタを備えており、該クロック信号が変更される場合に、当該クロック信号に対応したレジスタ設定値を有する制御レジスタが選択されるように構成したものである。
【００１０】
従って、本発明では、使用するクロック信号に応じて制御レジスタの設定値を選択することにより、非同期メモリへのアクセスについてクロック周波数の変更に対処することができる。
【発明の効果】
【００１１】
本発明によれば、クロック周波数の変更に伴う上記弊害を防止することができ、非同期メモリのデータ読出時間が一定となるように、クロック信号の周波数に応じた各制御レジスタの設定値を規定することで、低周波数クロックを用いる場合にプログラムやデータの処理速度等が著しく低下しないように防止できる。しかもそのために複雑な構成や制御等は不要であり、また、制御レジスタの個数増加に伴うコスト上昇への影響も少ない。
【００１２】
そして、クロック信号を発生するクロック源と、該クロック信号の周波数について指示する周波数指示手段と、周波数指示手段からの指示に応じた周波数のクロック信号を規定するクロック周波数規定手段を設け、周波数指示手段からの指示に応じて制御レジスタが選択されるように構成することで、クロック周波数に応じた制御レジスタの選択を容易に行うことができる。例えば、周波数指示手段からクロック周波数規定手段への指示信号を利用して、使用すべき制御レジスタを特定することが可能であり、回路構成の大幅な変更等を伴わない。
【００１３】
周波数指示手段からの指示に応じて制御レジスタを切り替えることで選択された該制御レジスタの設定値に従って非同期メモリへのアクセスを行う構成形態では、クロック周波数の変更と同時に該クロック周波数に対応した制御レジスタを切り替えることができる。
【００１４】
また、メモリ制御手段を含む回路部の外部メモリバスに非同期メモリが接続されている構成形態への適用においては、クロック周波数に応じて選択された制御レジスタの設定値に従って外部メモリバス上に生成される信号のタイミング等を規定することにより、非同期メモリへのアクセス制御を予め設定された時間内で行うことができる。例えば、外部メモリバスが低速バスである場合において、従来の構成では低速クロックの使用時にプログラム等の読出が遅くなり、プログラム実行速度等の低下を余儀なくされるが、本発明を適用することでこのような問題を解決できる。
【００１５】
さらには、中央処理装置の動作周波数が予め規定された値以上又は該値以下とされる範囲で非同期メモリのデータ読出に使用される制御レジスタを設けることにより、中央処理装置の動作周波数毎に制御レジスタに係るパラメータ設定を頻繁に行う必要がなくなる。特に、中央処理装置の動作周波数が予め規定された値以上とされる周波数範囲において同一のパラメータ設定を行う構成形態が非同期メモリに係る高速アクセスの適正化に有効である。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明に係るデバイス及び情報処理装置の基本構成を示した概略図である。
【００１７】
情報処理装置１は、メモリバス２に接続された非同期メモリ３及びそのメモリバスインターフェース部４と、周波数の異なるクロック信号を用いてメモリバス２を介して非同期メモリ３にアクセスするためのメモリ制御手段５を備えている。
【００１８】
尚、情報処理装置１としては、例えば、パーソナルコンピュータや携帯情報端末（Personal Digital Assistant）、移動体通信端末装置の他、映像機器、音響機器、撮像装置等に幅広く適用することが可能である。
【００１９】
非同期メモリ３には、フラッシュメモリやＳＲＡＭ等の半導体記憶素子が用いられ、メモリバス２を介してメモリバスインターフェース部４に繋がれている。
【００２０】
クロック源６により発生されるクロック信号はクロック周波数規定手段７に送られる。クロック周波数規定手段７は、周波数指示手段８からの指示に応じた周波数のクロック信号を規定するものであり、該クロック信号をメモリバスインターフェース部４に供給する。
【００２１】
周波数指示手段８については、例えば、処理すべき仕事量に応じてクロック周波数を動的に変更することにより、仕事量が少ないときに周波数を下げて電力消費を抑制する形態が挙げられる。この場合、システムの稼動状態を常に観測し、その観測結果に応じた動作周波数を算出する手段としてＣＰＵのプログラム処理による形態と、専用のハードウェアを設けて処理する形態が挙げられ、ＣＰＵの負担軽減には後者が好ましい（ＣＰＵはクロック周波数の変更制御に煩わされることなく処理すべき仕事に専念することができる。）。
【００２２】
例えば、ＣＰＵ単体又はＣＰＵ及び周辺回路や装置を含めた制御対象が、複数のクロック周波数のうち随時に設定される周波数のクロックに基いて動作し、待機状態と稼動状態を繰り返しながら所望のタスクを処理する場合に、タイマ及びカウンタと制御回路を用いた構成形態が知られている。ＣＰＵ等が稼働しているときに、例えば、論理値「１」がセットされ、待機状態のときに論理値「０」がセットされるフラグを用いて、各状態をカウンタに通知し、所定の計測時間における稼動状態の割合をタイマで計測する。そして、計測時間毎に観測されるＣＰＵ等の稼動状態の時間的割合に基いてクロック周波数を制御回路が決定する。
【００２３】
このような稼動状態の計測手段を有する場合には、計測結果に基いて現在の稼動状態にとって最適と推定され又は予測される動作周波数（クロック周波数）が算定される。そして、この動作周波数に応じた制御指示がクロック周波数規定手段７に対して送出される。
【００２４】
この他には、プログラム命令に従って演算を行うＣＰＵからの制御指令、あるいは、これから実行するプログラムの処理に必要な最低限の周波数として要求される動作周波数の設定等に応じて、制御指示をクロック周波数規定手段７に対して送出する形態が挙げられるが、本発明の適用において周波数指示手段８やクロック周波数制御の構成形態の如何は問わないので、これ以上の説明は割愛する。
【００２５】
クロック周波数規定手段７においては、クロック周波数を段階的に切り替える形態と、該周波数を連続的に変更する形態が挙げられる。例えば、前者の場合には、クロック源６から供給される、周波数の異なる複数のクロック信号を受けて、周波数指示手段８からの指示に応じてクロック信号を選択してメモリバスインターフェース部４に供給する。また、後者の場合には、周波数制御回路（ＶＣＯ等）を用いて周波数指示手段８からの指示に応じて周波数を制御したクロック信号をメモリバスインターフェース部４に供給する。いずれの形態でも周波数の異なるクロック信号を用いたメモリ制御が行われる。
【００２６】
メモリ制御手段５は、クロック周波数に応じた複数の制御レジスタ９、９、…を備えており、メモリバスインターフェース部４で用いるクロック信号（周波数）が変更される場合に、当該クロック信号に応じて制御レジスタが選択される。即ち、周波数指示手段８からの指示に応じて、クロック周波数に対応したレジスタ設定値を有する制御レジスタが選ばれて、当該制御レジスタの設定値が非同期メモリ３へのアクセスに使用される。
【００２７】
制御レジスタ９の各々には、クロック周波数に応じて、非同期メモリ３のデータ読出のタイミング等を規定する設定値が予め設定されており、これにより、クロック周波数の如何には無関係に、非同期メモリ３のデータ読出に要する時間が一定又はほぼ一定となる。
【００２８】
尚、ＣＰＵからアクセスされる記憶手段については、内部メモリを用いる形態と、外部メモリを用いる形態等が挙げられるが、本発明の適用においてメモリの実装形態の如何は問わないので、メモリバス２が内部バスでも外部バスでも構わない。
【００２９】
例えば、下記に示す実施形態が挙げられる。
【００３０】
・ＣＰＵやメモリ制御手段５等を含む回路部に対して、外部メモリバスに非同期メモリ３を接続した形態
・ＣＰＵやメモリ制御手段５、非同期メモリ３等を同一のＬＳＩ（大規模集積回路）内に含んだ形態。
【００３１】
情報処理装置１の構成要素として、上記の他には、画像情報の表示部や、マン・マシンインターフェースとしての操作部、装置の電源管理部等が挙げられるが、本発明の適用において直接の関係を有さないものについては図示及び説明を省略する。
【００３２】
次に、本発明に係る具体的構成について、図２乃至図５を用いて説明する。
【００３３】
図２は、本発明を適用したデバイス１０として、システムＬＳＩの構成例の要部を示すブロック図である。本例では、外部メモリバスを同期メモリと非同期メモリ間で共有するシステムＬＳＩにおいて、外部メモリバスインターフェースのクロックが切り替わると同時に、該クロックに対応した制御レジスタが切り替わるようにした構成を示している。
【００３４】
デバイス１０は、ＬＳＩ全体の制御を司るＣＰＵ１０１を有し、その内部バス２０１にＰＬＬ（位相同期ループ）回路３０２、周波数切替指示器３０３が接続されている。
【００３５】
ＰＬＬ回路３０２はクロック基準となる発振器３０１とともに上記クロック源６を構成しており、該ＰＬＬ回路には発振器３０１からの信号が供給され、該信号の周波数を逓倍して複数の周波数をもったクロック信号を生成する。本例では、高周波数クロック信号（以下、「Ｈ−ＣＬＫ」と記し、その周波数を「ｆH」と記す。）及び低周波数クロック（以下、「Ｌ−ＣＬＫ」と記し、その周波数を「ｆL」と記す。）を作り出して、これらを周波数切替器３０４に送出する。尚、本例に限らず、複数のＰＬＬ回路や３以上の異なる周波数のクロック又は複数のクロックの時間的な組み合わせを用いる等、各種の実施形態が可能である。
【００３６】
上記周波数指示手段８を構成する周波数切替指示器３０３は内部バス２０１に接続されており、ＣＰＵ１０１からの制御指令又はシステムのパフォーマンスや稼動状況に係る測定結果等に応じて周波数切替信号（以下、これを「Ｓｆ」と記す。）を発生させて周波数切替器３０４及び後述する非同期メモリ制御器４０１に送出するものである。例えば、ＣＰＵ１０１により処理すべきタスクが少ないことが計測等により判明した場合や、装置のバッテリー残量が少なくなったことが検出された場合等において、周波数切替指示器３０３による信号Ｓｆが周波数切替器３０４に送られてクロック信号がＨ−ＣＬＫからＬ−ＣＬＫへと切り替わる。
【００３７】
上記クロック周波数規定手段７を構成する周波数切替器３０４は、周波数切替信号Ｓｆに応じてクロック信号Ｈ−ＣＬＫ又はＬ−ＣＬＫを切り替える。そして、該クロック信号を、上記メモリバスインターフェース部４に相当する外部メモリインターフェース６０１へのクロック（以下、「ＣＬＫ」と記し、その周波数を「ｆmem」と記す。）として送出する。つまり、信号Ｓｆは周波数ｆH又はｆLのクロックのいずれかを選択するための信号であり、Ｈ−ＣＬＫ、Ｌ−ＣＬＫの一方をＣＬＫ（ｆmem）として外部メモリインターフェース６０１に供給するために用いられる。
【００３８】
非同期メモリ制御器４０１及び同期メモリ制御器５０１はいずれも内部バス２０１に接続されており、非同期メモリ制御器４０１が上記メモリ制御手段５を構成している。尚、非同期メモリ８０１や同期メモリ９０１は外部メモリバス７０１に接続されている。
【００３９】
非同期メモリ制御器４０１は、非同期メモリ８０１のデータ読み書きを行うための設定をする複数の制御レジスタを有している。つまり、非同期メモリ制御器４０１の制御レジスタの設定値に従って、外部メモリバス７０１を介して非同期メモリ８０１との間でデータ読み書きを行うための信号を外部メモリインターフェース６０１が発生させる。その際、非同期メモリ制御器４０１には、周波数切替信号Ｓｒが供給されてレジスタ切替が行われる（その詳細については後述する。）。
【００４０】
同期メモリ制御器５０１は、同期メモリ９０１のデータ読み書きを行うための設定をする制御レジスタを有しており、そのレジスタ設定値に従って、外部メモリバス７０１を介して同期メモリ９０１との間でデータ読み書きを行うための信号を外部メモリインターフェース６０１が発生させる。
【００４１】
このように、デバイス１０ではシステムＬＳＩの外部メモリバス７０１に非同期メモリ８０１が接続されており、端子数及び信号線数の削減等を目的として、外部メモリバス上で非同期メモリ８０１と同期メモリ９０１とのデータ読み書きのための信号を共有している。
【００４２】
図３は、本発明に係る非同期メモリ制御器の構成例を示すブロック図である。
【００４３】
非同期メモリ制御器４０１内には、複数の制御レジスタ（４０２、４０３）と制御レジスタ切替器４０４が設けられている。本例では２つの制御レジスタが設けられており、その一方の制御レジスタ４０２がＨ−ＣＬＫ（ｆH）の使用時に用いられ、他方の制御レジスタ４０３がＬ−ＣＬＫ（ｆL）の使用時に用いられる。つまり、制御レジスタ切替器４０４は上記周波数切替信号Ｓｆを受けて制御レジスタ４０２、４０３の一方を選択してそのレジスタ設定値を外部メモリインターフェース６０１に送出するように構成されている。そして、周波数切替器３０４にて選択されたＣＬＫ（ｆmem）がＨ−ＣＬＫ（ｆH）のときには、周波数切替信号Ｓｆの指示を受けた制御レジスタ切替器４０４が制御レジスタ４０２を選択する。また、周波数切替器３０４にて選択されたＣＬＫ（ｆmem）がＬ−ＣＬＫ（ｆL）のときには、周波数切替信号Ｓｆの指示を受けた制御レジスタ切替器４０４が制御レジスタ４０３を選択する。このように、周波数切替信号Ｓｆの指示内容と、ＣＬＫの周波数（ｆmem）とは１対１の対応関係を有する（制御レジスタ切替器４０４の状態と周波数切替器３０４の状態とが互いに対応する関係をもって切り替えられる。）。
【００４４】
尚、図４に示すように、非同期メモリ制御器４０１内に１つの制御用レジスタ４０５を設けるとともに、周波数切替信号Ｓｒの指示に応じてレジスタ値を書き換えるように構成した形態も考えられる。しかし、この場合、例えば、ＣＰＵ１０１がプログラムを実行している最中に、レジスタの内容を書き換える処理が行われると、不連続性の発生に伴う時間的な隙間（あるいは空白期間）によってＣＰＵの処理等に支障を来したり、処理負担が増す等の虞が生じるので好ましくない。そこで、上記周波数指示手段８を構成する周波数切替指示器３０３からの指示に応じて複数の制御レジスタを瞬時に切り替え、選択された制御レジスタの設定値に従って非同期メモリ８０１へのアクセスを行う形態が望ましい。
【００４５】
図５は、非同期メモリ８０１からデータを読み出すときの外部メモリバス７０１上の信号波形を例示した図であり、上から順に、ＣＬＫ（ｆmem）、アドレス（バス）信号７０２、チップイネーブル信号７０３、アウトプットイネーブル信号７０４、データ（バス）信号７０５をそれぞれ示している。
【００４６】
尚、図中に示す「リードサイクル」は、その起点を示す「start of cycle」から終点「end of cycle」までの期間を示しており、その他の記号の意味は下記に示す通りである。
【００４７】
・「READLEN」＝データリードのサイクル数に相当する期間
・「LATCHPOINT」＝データラッチポイント、つまり、「start of cycle」から「data latch point」までの期間
・「ENDLEN」＝チップイネーブル信号７０３を「READLEN」の経過後にHighレベルにする期間
・「OESTART」＝「start of cycle」を起点として、アウトプットイネーブル信号７０４をLowレベルにする時点までの期間
・「tACC」＝非同期メモリ８０１のアクセス時間（ASYNC-Flash access time等）。
【００４８】
非同期メモリ８０１に対するリード命令が発行されて、読出アドレスが指定された場合に、チップイネーブル信号７０３がHighレベルからLowレベルとなり、チップ選択が行われた後、アウトプットイネーブル信号７０４がHighレベルからLowレベルとなり、非同期メモリ８０１の出力バッファが使用可能となる。そして、非同期メモリ８０１からのデータ読出が可能な状態となるまでに要する最低時間（tACC）が経過した後、「data latch point」に示す時点でデータ読み込みが行われ、その後、チップイネーブル信号７０３やアウトプットイネーブル信号７０４がLowレベルからHighレベルとなり、「end of cycle」に示す時点でリードサイクルが終了する。
【００４９】
上記READLEN、LATCHPOINT、ENDLEN、OESTART等の設定値については、ＣＬＫ（ｆmem）を基準として、制御レジスタ４０２、４０３にそれぞれ設定されている（具体的には、ＣＬＫ（ｆmem）のパルス数、つまり、何個分のパルスかを決めるレジスタ値の設定により、各期間の長さがクロック周期の整数倍として規定される。）。
【００５０】
但し、データ読出に係るLATCHPOINTについては、その期間長が、非同期メモリ８０１のアクセス時間（tACC）よりも長くなるように設定する必要がある（ｆmemの最高クロック周波数を基準として当該期間長を決めることが望ましい。）。
【００５１】
こうして、ＣＰＵ１０１はアドレス（バス）信号７０２、チップイネーブル信号７０３、アウトプットイネーブル信号７０４、データ（バス）信号７０５を、外部メモリバス７０１上に発生させて、非同期メモリ８０１からデータを読み出すことができる。
【００５２】
図４において制御レジスタ４０５が１つしかなく、周波数切替信号Ｓｒの指示に応じたレジスタ値の書き換えを行わない構成では、ＣＬＫ（ｆmem）としてＨ−ＣＬＫ又はＬ−ＣＬＫへの切り替えが行われても同一のレジスタ設定値のままである。つまり、ＣＬＫ（ｆmem）がＨ−ＣＬＫ（ｆH）のときに「LATCHPOINT＞tACC」の条件を満たす設定値が制御レジスタ４０５に設定されることになるが、ＣＬＫ（ｆmem）がＨ−ＣＬＫ（ｆH）であるか、Ｌ−ＣＬＫ（ｆL）であるかには無関係に同一の制御レジスタ４０５が使用される。よって、ＣＬＫ（ｆmem）がＬ−ＣＬＫ（ｆL）であるときには、ｆmemの周期が長くなり、LATCHPOINT、即ち、非同期メモリ８０１からデータを読み出す時間が長くなる。その結果、ＣＰＵ１０１が実行するプログラムを非同期メモリ８０１に記憶している場合に、プログラムの実行速度が落ちてしまう。あるいは、実行速度が低下しないように周波数の低いクロックを基準としてレジスタ値の設定を行った場合に、高周波数クロックへの変更によって「LATCHPOINT＞tACC」が満たされなくなり、データを正常に読み出せなくなる虞がある。
【００５３】
これに対して、本発明に係るデバイス１０では、ＣＬＫ（ｆmem）がＨ−ＣＬＫ（ｆH）のときに使用する制御レジスタ４０２と、ＣＬＫ（ｆmem）がＬ−ＣＬＫ（ｆL）のときに使用する制御レジスタ４０３を別々に有しており（図３参照）、クロックの切り替わり時には、制御レジスタ４０２、４０３を切り替えることでクロック周波数の高低に応じてレジスタ設定値を変更することができる。
【００５４】
例えば、Ｌ−ＣＬＫとＨ−ＣＬＫとの周波数関係が、「ｆL：ｆH＝１：２」である場合、制御レジスタ４０３の設定値を、制御レジスタ４０２の設定値の半分に規定すれば、非同期メモリ８０１からデータを読み出す時間は変わらない。即ち、低周波数クロックの場合に周波数が半分になってもレジスタ設定値を半分にすれば、LATCHPOINTの長さを一定化できる。このことは一般に、複数のクロックを用いる場合にそれらの周波数比に応じた比率をもって各レジスタの設定値を予め決めてやれば、非同期メモリ８０１からのデータ読出時間を、クロック周波数の切替とは無関係に規定することができることを意味する。
【００５５】
上記に説明した構成によれば、例えば、ＣＰＵ１０１が実行するプログラムが非同期メモリ８０１に記憶されている場合において、メモリインターフェースのクロックが高速クロックＨ−ＣＬＫから低速クロックＬ−ＣＬＫに切り替わったときの、クロック周波数低下に伴う弊害（非同期メモリに記憶したプログラムについて、ＣＰＵによるプログラム実行速度が低下すること等。）を防止することができる。
【実施例１】
【００５６】
図６は、携帯型情報機器等に用いる演算処理デバイス（プロセッサ）への適用における構成例の要部を示したものである。
【００５７】
ＰＬＬ回路３０５の出力するクロック信号と、可変周波数クロック源３０６からの複数のクロック信号がメモリ制御ブロック６０２に供給され、該ブロックでは、周波数切替信号（Ｓｆ）に応じてクロック信号が選択され、非同期メモリ８０１に対する制御が行われる。
【００５８】
例えば、フラッシュメモリ（Flash ROM）を例にした場合に、ＳＣＬＫ、ＡＤＲ、ＣＥ、ＯＥの信号を出力して、ＤＱに示すように該メモリのデータ読み取りが行われる。尚、「ＳＣＬＫ」は、図５のＣＬＫに相当し、「ＡＤＲ」はアドレス信号７０２、「ＣＥ」はチップイネーブル信号７０３、「ＯＥ」はアウトプットイネーブル信号７０４、「ＤＱ」はデータバス信号７０５にそれぞれ相当する。
【００５９】
つまり、メモリのアクセス制御においては、前記したREADLEN、LATCHPOINT、ENDLEN、OESTART、tACCの各値をパラメータとして設定する。
【００６０】
例えば、リードサイクル（READLEN＋ENDLEN)が１００ナノ秒（ｎｓｅｃ）の場合に、フラッシュメモリに対する最速のアクセスを行うときのパラメータ値(単位：ｎｓｅｃ)は下記のようになる。
READLEN（最小値）:   ７０
LATCHPOINT:         ５５〜６５
ENDLEN（最大値）:    ３０
OESTART（最小値）:     ０
tACC（最小値）:      ２０。
【００６１】
携帯型機器においては、バッテリーを長持ちさせる等の目的でＣＰＵのクロック周波数制御が行われ、例えば、ＣＰＵが大量のデータ処理を扱う時には動作周波数を上げるが、少量のデータを扱う際等において動作周波数を下げることで、不必要な電力が消費されないように節電対策が講じられる。
【００６２】
下表１は、可変周波数クロック源を用いて８段階のクロック周波数制御を行う場合のパラメータ設定例を示している。
【００６３】
【表１】
2005149461.tif 000003
【００６４】
尚、表中の「ＦHCLK」はＣＰＵの動作周波数を示し、「１ＣＬＯＣＫ  ＴＩＭＥ」は１クロックの時間を示している。
【００６５】
本例では、パラメータ「READLEN」の設定用に８個の制御レジスタが必要とされ、リードサイクルを１００ｎｓｅｃとして、ENDLENが３０ｎｓｅｃ必要であるとした場合に、READLENの許容範囲は７０ｎｓｅｃ以上とされる。
【００６６】
動作周波数が最大値１２２．８８ＭＨｚから低下するにつれてREADLENの設定値が次第に小さくなっていく。尚、各設定値については、周波数１２２．８８ＭＨｚ、９６ＭＨｚ、６４ＭＨｚ、４８ＭＨｚ、３２ＭＨｚの場合、「１クロックの時間」×設定値が最小値７０（ｎｓｅｃ)を超えるように規定されており、READLENの最小設定値が下表２に示すように「２」とされる（周波数２４ＭＨｚ、１６ＭＨｚ、８ＭＨｚでは設定値が全て２である。）。
【００６７】
【表２】
2005149461.tif 000004
【００６８】
尚、表中のREADLENはクロック単位で示している。
【００６９】
クロック周波数制御を行う際に、各種周波数の選択の際にメモリアクセスの為の各種パラメータを設定する制御レジスタの数が多くなると面倒な構成になってしまい、このことは、周波数段階を増やす場合や、ある段階での幅をさらに細分化して制御しようとした際に複雑化を助長する。また、周波数が高くなるにつれてメモリを最高速でアクセスし得る状態から離れることに起因するパフォーマンスの低下等が問題となる。
【００７０】
以下では、制御のし易さ及びメモリアクセスの最適化に配慮した実施例２乃至４について説明する。
【実施例２】
【００７１】
図７は、メモリ制御ブロックの構成例６０２Ａについて要部を示したものである。
【００７２】
本例ではクロック周波数を選択するための切替部６０３が設けられており、切替ポイント設定用レジスタ６０４からの指示を受けて、ＰＬＬ回路３０５からのクロック信号又は可変周波数クロック源３０６からのクロック信号が選択されてメモリパルス制御回路６０５に入力される。
【００７３】
例えば、メモリパルス制御回路６０５のクロック信号入力端子（CLOCK）には、切替ポイント設定用レジスタ６０４により下記に示す制御状態に従ってクロック供給が行われる。
【００７４】
・予め規定された値（例えば、３２ＭＨｚ）以上のクロック周波数範囲において、ＰＬＬ回路３０５からの所定周波数（例えば、約１２２ＭＨｚ）のクロック信号を供給する状態（以下、「第一の制御状態」という。）
・予め規定された値（例えば、２４ＭＨｚ）以下のクロック周波数範囲において、可変周波数クロック源３０６による周波数(例えば、約１２２〜８ＭＨｚ）のクロック信号を供給する状態（以下、「第二の制御状態」という。）。
【００７５】
尚、メモリパルス制御回路６０５のフラッシュメモリに対する信号ＳＣＬＫ、ＡＤＲ、ＣＥ、ＯＥ、ＤＱの意味は実施例１で説明した通りである。
【００７６】
下表３は、本構成を用いる場合におけるREADLENの設定例を示している。
【００７７】
【表３】
2005149461.tif 000005
【００７８】
つまり、第一の制御状態、例えば、ＦHCLKの周波数が１２２．８８ＭＨｚ〜３２．０ＭＨｚの範囲において、同じパラメータ値を設定することが可能となる。尚、このときのREADLENの最小設定値を下表４に示す。
【００７９】
【表４】
2005149461.tif 000006
【００８０】
上表３を上記表１と比較した場合に、周波数３２ＭＨｚ時のREADLENの時間値を、９３．７５ｎｓｅｃから７３．２４ｎｓｅｃに短縮することが可能である。また、ＦHCLKの周波数範囲１２２．８８ＭＨｚ〜３２ＭＨｚでは、いずれも９クロック分の設定となり、制御が簡単である。  
【００８１】
尚、第二の制御状態、例えば、２４ＭＨｚ以下の範囲ではクロック周波数に応じてパラメータの設定を行う必要があるが、本例では全て「２」（READLENの最小設定クロック数）に設定される。
【実施例３】
【００８２】
図８は、メモリ制御ブロックの構成例６０２Ｂについて要部を示したものであり、図６との相違点は下記に示す通りである。
【００８３】
・メモリパルス制御回路６０５内に、２種類の制御レジスタが設けられていること
・制御レジスタ６０７Ｈが第一の制御状態で使用され、その設定値に基いて非同期メモリ８０１がアクセスされること
・制御レジスタ６０７Ｌが第二の制御状態で使用され、その設定値に基いて非同期メモリ８０１がアクセスされること
・制御レジスタ６０７Ｈ、６０７Ｌの一方を選択するための切替部６０８がメモリパルス制御回路６０５内に設けられており、切替ポイント設定用レジスタ６０４からの指示を受けて切替部６０３と同期して切替状態が制御されること。
【００８４】
下表５はREADLENの設定例を示しており、その最小設定値を下表６に示す。
【００８５】
【表５】
2005149461.tif 000007
【００８６】
【表６】
2005149461.tif 000008
【００８７】
第一の制御状態、例えば、ＣＰＵのクロック周波数１２２．８８ＭＨｚ〜３２ＭＨｚの範囲において、同一の制御レジスタ６０７Ｈを使用することができ、これにより高速でのメモリアクセス時における周波数設定用レジスタには１回のパラメータ設定を行えば済むことになる。
【００８８】
尚、第二の制御状態、例えば、２４ＭＨｚ以下の範囲では、切替ポイント設定用レジスタ６０４の出力信号が切替部６０８に送られて制御レジスタ６０７Ｌが選択されるが、クロック周波数に応じた個々のパラメータ設定を行う必要がある（例えば、複数のパラメータ値に従ってレジジスタ設定を行うか又はパラメータ値毎に制御レジスタを用意する。）。
【実施例４】
【００８９】
本実施例において、動作周波数（ＣＰＵのクロック周波数）が予め規定された値以上の範囲において非同期メモリのデータ読出に使用される制御レジスタ（第一の制御レジスタ）については上記実施例３の場合と同じであるが、動作周波数が予め規定された値未満の範囲において非同期メモリのデータ読出用に第二の制御レジスタが使用される。
【００９０】
上記第二の制御状態、例えば、ＣＰＵのクロック周波数２４ＭＨｚ〜８ＭＨｚの範囲において、可変周波数クロック源３０６の出力するクロック周波数が固定されており、同一の制御レジスタ６０７Ｌを使用する。つまり、図８において低速でのメモリアクセス時に使用される制御レジスタが１個であり、これにより低速アクセス時における周波数設定用レジスタに１回のパラメータ設定を行えば済むことになる。
【００９１】
下表７はREADLENの設定例を示しており、その最小設定値を下表８に示す。
【００９２】
【表７】
2005149461.tif 000009
【００９３】
【表８】
2005149461.tif 000010
【００９４】
このように低周波数区間でのクロック設定が１回で済む反面、例えば、８ＭＨｚのクロック周波数で一律に設定されるので、他の実施例との比較では、パフォーマンスがやや劣る（設定のし易さの観点では優れている。）。
【００９５】
以上に説明した実施例１乃至４によれば、下記に示す利点が得られる。
【００９６】
・ＣＰＵのクロック周波数を上げて処理速度を速くしても、フラッシュメモリ等のアクセス制御用パラメータが最適でない場合には、ＣＰＵのパフォーマンスを十分発揮できない等の問題が生じるが、上記した構成により高速メモリアクセス時のパフォーマンスについて最適な設定を実現し得ること
・ＣＰＵ周波数制御に関して各周波数の設定毎にメモリ制御関連のパラメータ値を設定し直す必要が生じるが、上記の構成形態を採用することによって設定頻度が減少すること（大半の場合にレジスタ設定の必要が無くなる。）
・ＣＰＵの処理速度が将来的に上がった場合に、高速メモリアクセス時における周波数制御数（周波数段階の数）がさらに増やす必要性が生じたとしても、クロック周波数が高い範囲（高速領域）における非同期メモリ制御用パラメータの設定を１回で行うだけで済むこと（設定頻度が多すぎると処理負担が増し、パフォーマンスの低下に繋がる）。
【図面の簡単な説明】
【００９７】
【図１】本発明に係る基本構成例を示す図である。
【図２】本発明を適用した構成の一例を示すブロック図である。
【図３】本発明に係る非同期メモリ制御器の構成例を示すブロック図である。
【図４】１つの制御レジスタを用いた場合の構成例を示すブロック図である。
【図５】非同期メモリからのデータ読出時における外部メモリバス上の各信号波形を示す図である。
【図６】図７及び図８とともに、本発明に係る実施例について説明するものであり、本図は構成例の説明図である。
【図７】図６のメモリ制御ブロックの構成例を示す図である。
【図８】図６のメモリ制御ブロックの構成について別例を示す図である。
【符号の説明】
【００９８】
１…情報処理装置、２…メモリバス、３…非同期メモリ、５…メモリ制御手段、６…クロック源、７…クロック周波数規定手段、８…周波数指示手段、９…制御レジスタ、１０…デバイス、１０１…中央処理装置、４０２、４０３…制御レジスタ、６０７Ｈ、６０７Ｌ…制御レジスタ、７０１…外部メモリバス、８０１…非同期メモリ
【図１】
2005149461.tif 000011
【図２】
2005149461.tif 000012
【図３】
2005149461.tif 000013
【図４】
2005149461.tif 000014
【図５】
2005149461.tif 000015
【図６】
2005149461.tif 000016
【図７】
2005149461.tif 000017
【図８】
2005149461.tif 000018