(57)【要約】【課題】メモリの消費電力を低減することができると共に、低消費電力状態から復帰させてメモリを動作させる場合にメモリ動作のレイテンシを短縮することができるデータプロセッサを提供する。【解決手段】入力されたバスアクセス要求を調停して受け付けるバスコントローラ（１０４）と、前記バスコントローラに受け付けられたメモリへのバスアクセス要求を受取って、メモリ（１０６）を制御するメモリコントローラ（１０５）とを有し、前記バスコントローラは前記メモリへの新たなバスアクセス要求を受け付けたことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリが低消費電力状態のとき当該バスアクセス要求に応答するよりも早く前記メモリの低消費電力状態を解除する。【選択図】図１
2011090613.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、前記中央処理装置に接続され、入力されたバスアクセス要求を調停して受け付けるバスコントローラと、前記バスコントローラに受け付けられたメモリへのバスアクセス要求を受取って、メモリを制御するメモリコントローラとを有するデータプロセッサであって、
前記バスコントローラは前記メモリへの新たなバスアクセス要求を受け付けたことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリが低消費電力状態のとき当該バスアクセス要求に応答するよりも早く前記メモリの低消費電力状態を解除する、データプロセッサ。
【請求項２】
前記バスコントローラは受け付けられた前記メモリへのバスアクセス要求がなくなったことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリアクセス動作を終了したときそれが通知されていないときに比べて早くメモリを低消費電力状態に制御する、請求項１記載のデータプロセッサ。
【請求項３】
前記中央処理装置の他に、前記アクセス要求を出力する回路モジュールを有する、請求項２記載のデータプロセッサ。
【請求項４】
前記中央処理装置を複数個有する、請求項３記載のデータプロセッサ。
【請求項５】
前記メモリコントローラは前記メモリとしてデータプロセッサの外部に接続され又はデータプロセッサの内部に配置されたシンクロナスＤＲＡＭの動作を制御するシンクロナスＤＲＡＭコントローラである、請求項１記載のデータプロセッサ。
【請求項６】
前記メモリコントローラは、クロック信号の変化に同期する入力動作を非活性にするパワーダウンモードを前記シンクロナスＤＲＡＭに指示して前記低消費電力状態とする、請求項５記載のデータプロセッサ。
【請求項７】
前記メモリコントローラは、前記パワーダウンモードの指示に併せてシンクロナスＤＲＡＭにセルフリフレッシュモード指示して前記低消費電力状態とする、請求項６記載のデータプロセッサ。
【請求項８】
前記バスコントローラは、スプリットトランザクションバスにおけるバスアクセス要求としてのリクエストパケットと、前記リクエストパケットに応答するレスポンスパケットとの転送経路を制御するルータである、請求項１記載のデータプロセッサ。
【請求項９】
前記バスコントローラはバスアクセス要求をアクセス対象毎にキューイングするキューイングバッファを有する、請求項８記載のデータプロセッサ。
【請求項１０】
バスコントローラは前記メモリへのバスアクセス要求をキューイングするキューイングバッファのエンプティフラグに応ずる信号によって、前記メモリへのバスアクセス要求がなくなったことを前記メモリコントローラに通知する、請求項９記載のデータプロセッサ。
【請求項１１】
前記バスコントローラはメモリコントローラにバスアクセス要求を与える回数を計数するためのカウンタレジスタを有し、前記カウンタレジスタの値はデータプロセッサの外部からモニタ可能にされる、請求項１記載のデータプロセッサ。
【請求項１２】
前記カウンタレジスタは前記中央処理装置によってアクセス可能にされる、請求項１１記載のデータプロセッサ。
【請求項１３】
バスアクセスを要求するバスアクセス要求モジュールと、前記バスアクセス要求モジュールからのバスアクセス要求を調停して受け付け、受け付けたバスアクセス要求を対象モジュールに与えるバスコントローラと、前記バスコントローラに接続される対象モジュールと、を有するデータプロセッサであって、
前記対象モジュールとしてメモリの動作を制御するメモリコントローラを有し、
前記バスコントローラは前記メモリへの新たなバスアクセス要求を受け付けたことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリが低消費電力状態のとき当該バスアクセス要求に応答するよりも早く前記メモリの低消費電力状態を解除する、データプロセッサ。
【請求項１４】
前記バスコントローラは受け付けられた前記メモリへのバスアクセス要求がなくなったことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリアクセス動作を終了したときそれが通知されていないときに比べて早くメモリを低消費電力状態に制御する、請求項１３記載のデータプロセッサ。
【請求項１５】
前記バスアクセス要求モジュールとして中央処理装置及び前記中央処理装置によって転送条件が設定されるダイレクトメモリアクセスコントローラを有する、請求項１４記載のデータプロセッサ。
【請求項１６】
前記メモリコントローラは前記データプロセッサの外部に接続されたシンクロナスメモリ又は前記データプロセッサの内部に配置されたシンクロナスメモリを前記メモリとしてその動作を制御するシンクロナスメモリコントローラである、請求項１５記載のデータプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに対する制御機能を持つデータプロセッサに関し、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）のモード制御に適用して有効な技術に関する。
【背景技術】
【０００２】
ＳＤＲＡＭの低消費電力手段として、クロック信号を非活性化してデバイスの消費電力を低く抑えるパワーダウンモードや、クロックを非活性化してデバイスの消費電力を低く抑えると共に内部のリフレッシュカウンタを用いて自動的にリフレッシュ動作を実行するセルフリフレッシュモードが利用されている。これは、データを保持する必要はあるが、長時間デバイスにアクセスしない場合の省電力化に有効となる。
【０００３】
しかし、パワーダウン状態又はセルフリフレッシュ状態においてデバイスへのアクセスが発生したときは、クロック信号を活性化させ、安定化するまでのペナルティ（レイテンシ）が発生してしまう。デバイスへのアクセスがない場合には、すぐにパワーダウンモードやセルフリフレッシュモードに入ることで、低消費電力化を図れるが、短い期間で頻繁にパワーダウン遷移若しくはセルフリフレッシュ遷移を行うと、レイテンシが頻繁に発生することにより、アクセス応答性という点で性能劣化を生ずることがあるため、適切なタイミングでパワーダウンモードやセルフリフレッシュモードに遷移させる制御を行うことが必要となる。
【０００４】
プロセッサからのメモリアクセス方式として、メモリの使用頻度に応じて、アクセス時間は長いが消費電力の少ないスタンバイモードと、消費電力は多いがアクセス時間の短いアクティブモードにメモリの設定を切替えて低消費電力化を図る技術が特許文献１に開示されている。また、中央処理装置の省電力モードを有するシステムにおいて、タイムアウト割込みの間隔を計測し、その結果に応じてモードを決定する方法が特許文献２に提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１−２６０６９０号公報
【特許文献２】特開２００１−３１８７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
メモリの非アクセス期間にメモリを省電力モードにすることで、消費電力を抑える工夫が必要であるが、いつ次のメモリアクセスが発生するかを予測ことは困難である。
【０００７】
特許文献１では、メモリが、バス経由で、複数のＣＰＵ（Central Processing Unit）、ＤＭＡＣ（Direct Memory Access Controller）や周辺モジュールと接続された場合については想定されず、メモリの使用頻度をプロッセサで監視し、監視結果に基づいてアクセス制御部が、バスでのメモリへのアクセスタイミングを調整するものであり、アクセス再開時のレイテンシ削減については考慮されていない。
【０００８】
また、特許文献２では、中央処理装置が実行する各ジョブからのタイムアウト割込みに基づいて、省電力モードを切替える方式であり、ＳＤＲＡＭの省電力モードを切替える技術ではなく、しかも、アクセス再開時のレイテンシ削減について考慮されていない。
【０００９】
本発明の目的は、メモリの消費電力を低減することができると共に、低消費電力状態から復帰させてメモリを動作させる場合にメモリ動作のレイテンシを短縮することができるデータプロセッサを提供することにある。
【００１０】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１２】
すなわち、入力されたバスアクセス要求を調停して受け付けるバスコントローラと、前記バスコントローラに受け付けられたメモリへのバスアクセス要求を受取って、メモリを制御するメモリコントローラとを有し、前記バスコントローラは前記メモリへの新たなバスアクセス要求を受け付けたことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリが低消費電力状態のとき当該バスアクセス要求に応答するよりも早く前記メモリの低消費電力状態を解除する。
【００１３】
上記によれば、新たなバスアクセス要求のあったことが予めバスコントローラから通知されることにより、メモリコントローラはバスアクセス要求を受取ってから低消費電力状態を解除する場合に比べてメモリ動作を開始するまでの時間を短縮することができる。
【発明の効果】
【００１４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１５】
すなわち、メモリの消費電力を低減することができると共に、低消費電力状態から復帰させてメモリを動作させる場合にメモリ動作のレイテンシを短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は一実施の形態に係るデータプロセッサのブロック図である。
【図２】図２はバスコントローラの一例を示すブロック図である。
【図３】図３はモード切替制御部によるＳＤＲＡＭに対する状態遷移シーケンスを例示するフローチャートである。
【図４】図４はバスコントローラ、メモリコントローラ及びＳＤＲＡＭの動作タイミングを例示するタイミングチャートである。
【図５】図５は図４に対して信号２３０，２３１による通知機能を備えていない場合の比較例に係る動作タイミングを例示するタイミングチャートである。
【図６】図６はカウンタレジスタによるモニタ機能を動画再生アルゴリズムのデバッグに用いた例を示す動作フローチャートである。
【発明を実施するための形態】
【００１７】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１８】
〔１〕本発明の代表的な実施の形態に係るデータプロセッサ（１）は、中央処理装置（１００）と、前記中央処理装置に接続され、入力されたバスアクセス要求を調停して受け付けるバスコントローラ（１０４）と、前記バスコントローラに受け付けられたメモリへのバスアクセス要求を受取って、メモリ（１０６）を制御するメモリコントローラ（１０５）とを有する。前記バスコントローラは前記メモリへの新たなバスアクセス要求を受け付けたことを前記メモリコントローラに通知し（２３１）、それが通知されたメモリコントローラはメモリが低消費電力状態のとき当該バスアクセス要求に応答するよりも早く前記メモリの低消費電力状態を解除する。
【００１９】
上記によれば、新たなバスアクセス要求のあったことが予めバスコントローラから通知されることにより、メモリコントローラはバスアクセス要求を受取ってから低消費電力状態を解除する場合に比べてメモリ動作を開始するまでの時間を短縮することができる。
【００２０】
〔２〕項１のデータプロセッサにおいて、前記バスコントローラは受け付けられた前記メモリへのバスアクセス要求がなくなったことを前記メモリコントローラに通知し（２３０）、それが通知されたメモリコントローラはメモリアクセス動作を終了したときそれが通知されていないときに比べて早くメモリを低消費電力状態に制御する。
【００２１】
上記によれば、メモリコントローラはメモリへのバスアクセス要求がなくなったことを予めバスコントローラから受取るので、メモリコントローラはメモリアクセス動作を完了したとき、新たなアクセス要求が後続しないことを所定時間待って確認したりすることを要せず、低消費電力状態への移行を早くすることができる。
【００２２】
〔３〕項２のデータプロセッサにおいて、例えば前記中央処理装置の他に、前記アクセス要求を出力する回路モジュール（１０１）を有する。バスアクセス要求主体が複数の場合にもバスコントローラ及びメモリコントローラによる制御が行われる。
【００２３】
〔４〕項３のデータプロセッサにおいて、例えば前記中央処理装置を複数個有する。
【００２４】
〔５〕項１のデータプロセッサにおいて、前記メモリコントローラは例えば前記メモリとしてデータプロセッサの外部に接続され又はデータプロセッサの内部に配置されたシンクロナスＤＲＡＭの動作を制御するシンクロナスＤＲＡＭコントローラ（１０５）である。
【００２５】
〔６〕項５のデータプロセッサにおいて、前記メモリコントローラは、例えばクロック信号の変化に同期する入力動作を非活性にするパワーダウンモードを前記シンクロナスＤＲＡＭに指示して前記低消費電力状態とする。
【００２６】
〔７〕項６のデータプロセッサにおいて、前記メモリコントローラは、例えば前記パワーダウンモードの指示に併せてシンクロナスＤＲＡＭにセルフリフレッシュモード指示して前記低消費電力状態とする。
【００２７】
〔８〕項１のデータプロセッサにおいて、前記バスコントローラは、例えばスプリットトランザクションバスにおけるバスアクセス要求としてのリクエストパケットと、前記リクエストパケットに応答するレスポンスパケットとの転送経路を制御するルータである。
【００２８】
〔９〕項８のデータプロセッサにおいて、前記バスコントローラは例えばバスアクセス要求をアクセス対象毎にキューイングするキューイングバッファ（２２０）を有する。
【００２９】
〔１０〕項９のデータプロセッサにおいて、例えばバスコントローラは前記メモリへのバスアクセス要求をキューイングするキューイングバッファのエンプティフラグ（ＥＦ）に応ずる信号（２３０）によって、前記メモリへのバスアクセス要求がなくなったことを前記メモリコントローラに通知する。前記メモリへのバスアクセス要求がなくなったことを通知する信号を容易に生成することができる。
【００３０】
〔１１〕項１のデータプロセッサにおいて、前記バスコントローラは例えばメモリコントローラにバスアクセス要求を与える回数を計数するためのカウンタレジスタ（ＣＵＮＴ）を有し、前記カウンタレジスタの値はデータプロセッサの外部からモニタ可能にされる。カウンタレジスタの値に基づいて、メモリに対するアクセス頻度の計測、メモリアクセスに伴う消費電力の算定に資することができる。
【００３１】
〔１２〕項１１のデータプロセッサにおいて、前記カウンタレジスタは例えば前記中央処理装置によってアクセス可能にされる。
【００３２】
〔１３〕本発明の別の実施の形態に係るデータプロセッサは、バスアクセスを要求するバスアクセス要求モジュールと、前記バスアクセス要求モジュールからのバスアクセス要求を調停して受け付け、受け付けたバスアクセス要求を対象モジュールに与えるバスコントローラと、前記バスコントローラに接続される対象モジュールと、を有する。前記対象モジュールとしてメモリの動作を制御するメモリコントローラを有する。前記バスコントローラは前記メモリへの新たなバスアクセス要求を受け付けたことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリが低消費電力状態のとき当該バスアクセス要求に応答するよりも早く前記メモリの低消費電力状態を解除する。
【００３３】
〔１４〕項１３のデータプロセッサにおいて、前記バスコントローラは受け付けられた前記メモリへのバスアクセス要求がなくなったことを前記メモリコントローラに通知し、それが通知されたメモリコントローラはメモリアクセス動作を終了したときそれが通知されていないときに比べて早くメモリを低消費電力状態に制御する。
【００３４】
〔１５〕項１４のデータプロセッサにおいて、前記バスアクセス要求モジュールとして例えば中央処理装置及び前記中央処理装置によって転送条件が設定されるダイレクトメモリアクセスコントローラを有する。
【００３５】
〔１６〕項１５のデータプロセッサにおいて、前記メモリコントローラは例えば前記データプロセッサの外部に接続されたシンクロナスメモリ又は前記データプロセッサの内部に配置されたシンクロナスメモリを前記メモリとしてその動作を制御するシンクロナスメモリコントローラである。
【００３６】
２．実施の形態の詳細
実施の形態について更に詳述する。先ず、低消費電力状態設定のためのバスコントローラによる先行通知及び低消費電力状態解除のためのバスコントローラによる先行通知について説明し、次に、バスコントローラによるアクセスモニタ機能について説明する。
【００３７】
《先行通知機能》
図１には一実施の形態に係るデータプロセッサが例示される。データプロセッサ１は、特に制限されないが、相補型ＭＯＳ集積回路製造技術などによって単結晶シリコンのような１個の半導体基板に形成される。
【００３８】
データプロセッサ１は、例えば、複数個の中央処理装置（ＣＰＵ）１００、ＣＰＵ１００によって予め設定された転送制御条件に基づいてデータ転送を制御するダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１０１、周辺モジュール１０２、ＳＤＲＡＭ用のメモリコントローラ１０５、バス１０３Ａ，１０３、及びバスコントローラ１０４等を備える。シンクロナスＤＲＡＭ（ＳＤＲＡＭ）１０６はメモリの一例である。シンクロナスＤＲＡＭ１０６は、特に制限されないが、データプロセッサとは異なる半導体基板に形成され、データプロセッサの半導体基板と電気的に接続されて同一のパッケージに封入されるか、もしくは個別のパッケージに封入されてパッケージの外部にて電気的に接続される。また、特に制限されないが、シンクロナスＤＲＡＭ１０６は、データプロセッサ１０６から同期動作するためのクロック信号を供給されてよい。また、ＣＰＵ１００は、バス１０３Ａ，１０３を介してシンクロナスＤＲＡＭ１０６にリード若しくはライトアクセスを行うことが可能である。
【００３９】
上記各モジュールは、周辺回路モジュール１０２の一つであるクロックパルスジェネレータ（ＣＰＧ）から出力されるクロック信号に同期動作される。
【００４０】
ＣＰＵ１００は、特に制限されないが、汎用レジスタや算術論理演算器で代表される演算部と、プログラムカウンタなどの制御用レジスタ群、そして命令のフェッチや解読並びに命令実行手順を制御、演算制御を行う命令制御部などを有する。また、内部キャッシュメモリを有し、キャッシュヒットした際は、キャッシュメモリよりは低速なＳＤＲＡＭへのアクセス頻度を減らせることから、高速化、低消費電力化を図ることができる。ＣＰＵ１００と、ＣＰＵに頼らずメモリとメモリ、または、メモリとデバイス間で直接データ転送をすることができるＤＭＡＣ１０１、さらには周辺モジュール１０２に含まれるコントローラなどがバスアクセスを要求するバスアクセス要求モジュールとされる。
【００４１】
周辺モジュール１０２は、例えば、割込みコントローラやシリアルインタフェース、カウンタ、キーインタフェース、及び液晶ドライバ等の回路モジュールを有する。
【００４２】
特に制限されないが、バス１０３Ａ，１０３Ｂ及びバスコントローラ１０４にはスプリットトランザクションバスプロトコルが採用され、バスアクセスを要求するイニシエータはリクエストパケットによってバスアクセスを要求し、バスアクセスが要求されるターゲットはその要求に応答してレスポンスパケットを出力する。バスコントローラ１０４はリクエストパケット及びレスポンスパケット等に対する調停やルーティングを制御するルータとして機能する。例えば、バスコントローラはバス１０３Ａ，１０３Ｂ上のリクエストパケット及びレスポンスパケット等を監視し、アクセス対象に指定されるターゲット毎に、バスアクセスの優先制御などによる調停を行ってリクエストパケットを受け付け、受け付けたリクエストパケットをキューイングし、順次処理順にターゲットに与える。アクセス動作が書き込みの場合に書込みデータはリクエストパケットに付随する。ターゲットはリクエストパケットによる指示に従って動作され、動作の結果はレスポンスパケットに反映され、バスコントローラはレスポンスパケットを対応するリクエストパケットの要求元に返す。アクセス動作が読出しの場合に読み出しデータはレスポンスパケットに付随する。
【００４３】
リクエストパケットがＳＤＲＡＭ１０６をアクセス対象とするときリクエストパケットはメモリコントローラ１０５に与えられる。メモリコントローラ１０５は与えられたリクエストパケットに従ってＳＤＲＡＭ１０６の動作を制御する。ＳＤＲＡＭに対するアクセス動作が終わったときメモリコントローラ１０５はレスポンスパケットをバスコントローラ１０４に出力する。
【００４４】
ＳＤＲＡＭ用のメモリコントローラ１０５はＳＤＲＡＭを直接接続できるメモリインタフェースを備え、接続されたＳＤＲＡＭ１０６に対して、クロックイネーブル信号、チップセレクト信号、リード／ライト信号、アドレス信号等の制御信号を出力する機能を有し、ＳＤＲＡＭ１０６の動作モード及びメモリ動作を制御することができる。ＳＤＲＡＭ１０６は、回路がシンプルで集積度が高いため、大きなメモリ領域を必要とするシステムで利用されている。ＳＤＲＡＭ１０６は、電荷情報をダイナミックに保持して情報の記憶を行うため、一定時間毎に、再書込み（リフレッシュ）が必要となる。長時間デバイスにアクセスしない期間が存在する場合は、動作モードを低消費電力状態とすることができる。例えば、クロック信号を非活性としてデバイスの消費電力を低く抑え、かつ内部のリフレッシュカウンタを用いて自動的にリフレッシュ動作を実行するセルフリフレッシュモードを利用することができる。リフレッシュモードは、例えばクロックイネーブル信号がディスエーブルにされると共にリフレッシュコマンドが与えられることによって実現され、セルフリフレッシュのための回路以外の回路におけるクロックが停止される。また、ＳＤＲＡＭはセルフリフレッシュモードだけでなくパワーダウンモードも備える。パワーダウンモードは例えばクロックイネーブル信号がディスエーブルにされることによって実現され、内部回路の全てのクロックが停止される。セルフリフレッシュモードやパワーダウンモードの状態からアクセスを開始するにはクロックを活性化して安定化するまでのペナルティ（レイテンシ）の経過を待つことが必要になる。例えばメモリコントローラがリクエストパケットを受取ってＳＤＲＡＭ１０６にアクティブコマンドを発行することにより低消費電力状態からアクティブモードへの切り替えが行われる場合には、アクティブコマンドの発行を基点にレイテンシの経過を待たなければならない。データプロセッサ１においては、バスコントローラ１０４がＳＤＲＡＭ１０６に対する低消費電力状態とアクティブ状態との間のモード切り替え制御の一翼を担う。
【００４５】
図２にはバスコントローラの一例が示される。バスコントローラ１０４は代表的に示されたバスアクセス調停部２００及びモード切替制御部２１１を備える。バスアクセス調停部２００はターゲット毎にバスアクセスリクエストを優先アルゴリズムに基づいて調停する調停回路（Ｔ０ＡＲＢ〜ＴｎＡＲＢ）２０１〜２０２を備える。調停回路２０１はＳＤＲＡＭ１０６をアクセス対象とするバスアクセスに対して調停を行う。調停回路２０１は、イニシエータとターゲットを監視して、ＳＤＲＡＭ１０６へのアクセスに関して、イニシエータの優先度などから調停制御（アービトレーション）を行い、使用権を割当てる。使用権が割当てられたイニシエータからのリクエストは、キュー制御部２２１により、処理される順番にＦＩＦＯ(First In First Out)のリスト構造でキューイングバッファ２２０に、入力（エンキュー）、出力（デキュー）される。ターゲットからのレスポンスはキュー制御部２２１により、処理される順番にＦＩＦＯのリスト構造で図示を省略する別のキューイングバッファに入力又は出力される。キューイングバッファ２２０への入出力は、メモリコントローラ１０５の動作クロック信号に同期される。キュー制御部２２１はエンキューポインタＥＰ、デキューポインタＤＰを用いてキューイングバッファ２２０をＦＩＦＯ制御する。エンプティフラグＥＦはリクエストパケットのキューイングバッファ２２０が空であるときセット状態にされ、空でなければリセット状態にされる。レスポンスパケットのキューイングバッファに対する図示を省略するキュー制御部もそれと同様に構成される。
【００４６】
キューイングバッファ２２０は、ＳＤＲＡＭ１０６への実際のアクセス順番にしたがってリクエストパケットを一時的に保持するので、その蓄積状況はＳＤＲＡＭ１０６へのアクセス状況と相関を持つ。実際には、ハードウェア応答性能などにより、リクエストやデータ転送、応答に待ち期間が発生するが、実際のＳＤＲＡＭ１０６へのメモリアクセスよりも前の段階でアクセス動作の傾向を予測するのに役立つ。モード切替制御部２１１は、このキュー構造を監視し、ＳＤＲＡＭへのアクセス状況に基づいて、ＳＤＲＡＭ１０６の低消費電力状態への遷移、そして、低消費電力状態からの復帰の指示を行う。具体的には、前記モード切替制御部２１１は受け付けられた前記ＳＤＲＡＭ１０６へのバスアクセス要求がなくなったことを前記メモリコントローラ１０５に通知し、それが通知されたメモリコントローラ１０５はメモリアクセス動作を終了したとき、それが通知されていないときに比べて早くＳＤＲＡＭ１０６を通常の動作状態（通常モード）から低消費電力状態に遷移するよう制御する。要するに、エンプティフラグＥＦがセット状態にされたときモード切替制御部２１１は信号２３０をイネーブルとし、これを受けるメモリコントローラ１０５は、低消費電力モード変更フラグＴＦをセットし、現在実行中のメモリアクセス動作の完了を待って、即ち、先に入力したアクセス要求のトランザクションの完了を待って、ＳＤＲＡＭ１０６に低消費電力状態への移行を指示する。低消費電力状態としてパワーダウンモードに移行するのかセルフリフレッシュモードに移行するかは、特に制限されないが、メモリコントローラ１０５のアクセスモードレジスタＡＣＣＭＤの移行モード選択ビットにどちらに移行するかを予め指定しておいた内容に従う。この制御を採用することにより、メモリコントローラ１０５の図示を省略するアクセスモードレジスタのパワーダウンモードイネーブルビット又はセルフリフレッシュモードイネーブルビットに対する設定を待ってパワーダウンモード又はセルフリフレッシュモードに移行するよりも早く移行することができる。メモリコントローラ１０５はＳＤＲＡＭ１０６へのバスアクセス要求がなくなったことを予めバスコントローラ１０４から受取るので、メモリコントローラ１０５はメモリアクセス動作を完了したとき、新たなアクセス要求が後続しないことを所定時間待って確認したりすることを要せず、低消費電力状態へ早く移行することができるようになる。
【００４７】
また、バスコントローラ１０４はＳＤＲＡＭ１０６への新たなバスアクセス要求を受け付けたことを信号２３１によりメモリコントローラ１０５に通知し、それが通知されたメモリコントローラ１０５はＳＤＲＡＭ１０６が低消費電力状態のとき当該バスアクセス要求に応答するよりも早くＳＤＲＡＭ１０６の低消費電力状態を解除する。例えば、モード切替制御部２１１はエンプティフラグＥＦがセット状態からリセット状態に変化されることに応答して信号２３１をイネーブルとし、これを受けるメモリコントローラ１０５は、ＳＤＲＡＭの低消費電力状態（パワーダウンモード又はセルフリフレッシュモード）を解除する制御、例えばアイドル状態に移行する制御を先に行う。例えば、クロックイネーブル信号を活性化して内部クロック信号を活性化し、ローアドレスアクティブコマンドなどのアクティブコマンドを受け可能なアイドル状態にされる。したがって、メモリコントローラ１０５はバスアクセス要求を受取ってから低消費電力状態を解除する場合に比べてメモリ動作を開始するまでの時間を短縮することができる。
【００４８】
図３にはモード切替制御部２１１によるＳＤＲＡＭに対する状態遷移シーケンスが例示される。Ｓ４００において、ＳＤＲＡＭ１０６は、例えばメモリコントローラ１０５の制御により低消費電力状態（オートリフレッシュを行って状態を保持しているセルフリフレッシュ状態又は内部クロックが停止されたパワーダウン状態）又はメモリ動作可能な状態（通常状態）にされている。Ｓ４０１において、メモリコントローラ１０５が備えるメモリ状態レジスタＭＳＴＳと、キュー制御部２２１のエンプティフラグＥＦの状態を監視し（Ｓ４０１）、メモリ状態レジスタＭＳＴＳの保持内容に基づいてＳＤＲＡＭ１０６の状態がメモリ動作可能な通常モード（低消費電力状態ではないモード）又は低消費電力モード（低消費電力状態のモード）であるか否かを判別する（Ｓ４０２）。
【００４９】
Ｓ４０２の判別結果が通常モードであって、Ｓ４０３の判別がエンプティフラグＥＦのセット状態であることを検出したとき、メモリコントローラ１０５内の低消費電力モード変更フラグＴＦをセットし（Ｓ４０４）、ＳＤＲＡＭ１０６に対するアクセス動作が終わり次第、低消費電力モードに切換えられる（Ｓ４０６）。最後に低消費電力モード変更フラグＴＦをリセットしてＳ４００に戻る。Ｓ４０３の判別でエンプティフラグＥＦがリセット状態であることを検出したときには、そのままステップＳ４００に戻る。
【００５０】
Ｓ４０２の判別結果が低消費電力モードのときには、Ｓ４０７の判別でエンプティフラグＥＦのリセット状態を検出すると、低消費電力モードから通常モードへの復帰をＳＤＲＡＭ１０６に指示する（Ｓ４０８）。Ｓ４０７の判別でエンプティフラグＥＦがセット状態であることを検出したときには、そのままステップＳ４００に戻る。
【００５１】
図４にはバスコントローラ、メモリコントローラ及びＳＤＲＡＭの動作タイミングが例示される。例えば時刻ｔ０以前にＳＤＲＡＭにはセルフリフレッシュモードが指定されていて、時刻ｔ０にキューイングバッファ２２０にＳＤＲＡＭに対するバスアクセスのためのリクエストパケットがプッシュされ（Ｐ１）、プッシュッされたリクエストパケットはポップされて時刻ｔ１にメモリコントローラ１０５に供給される（Ｐ２）。時刻ｔ０に、エンプティ状態のキューイングバッファにリクエストパケットがプッシュされたとき、信号２３１によってそれがメモリコントローラ１０５に通知され（Ｐ３）、それを受けてメモリコントローラ１０５はセルフリフレッシュモードのＳＤＲＡＭ１０６を解除するためにクロックイネーブル信号ＣＫＥをアクティブにする制御を行う。図４ではメモリコントローラ１０５がＰ２でリクエストパケットを受取ってからクロックイネーブル信号ＣＫＥが時刻ｔ２にアクティブにされる（Ｐ４）までに要する遅延時間は比較的短い時間（レイテンシＬＴ１）とされている。これによってＳＤＲＡＭ１０６は、Ｐ２のリクエストパケットに応ずるメモリ動作を即座に開始することができる（Ｐ５）。一方、時刻ｔ１にはＳＤＲＡＭ１０６に対するリクエストパケットが後続していない。この状態は信号２３０によってメモリコントローラ１０５に通知され、メモリコントローラ１０５は低消費電力モード変更フラグＴＦをセットする（Ｐ１ａ）。この低消費電力モード変更フラグＴＦのセット状態に応答してメモリコントローラ１０５は、ＳＤＲＡＭ１０６によるＰ５のアクセスを終了すると、即座にクロックイネーブル信号ＣＫＥをディスエーブルとし（Ｐ６）、時刻ｔ３にＳＤＲＡＭの状態をアクティブ状態からセルフリフレッシュ状態に遷移させることができる。メモリ動作の終了からクロックイネーブル信号ＣＫＥをディスエーブルにするまでの時間（レイテンシＬＴ２）は比較的短い。
【００５２】
図５には図４に対して信号２３０，２３１による通知機能を備えていない場合の比較例に係る動作タイミングが例示される。例えば時刻ｔ０以前にＳＤＲＡＭにはセルフリフレッシュモードが指定されていて、時刻ｔ０にキューイングバッファ２２０にＳＤＲＡＭに対するバスアクセスのためのリクエストパケットがプッシュされ（Ｐ１）、プッシュッされたリクエストパケットはポップされて時刻ｔ１にメモリコントローラ１０５に供給される（Ｐ２）。時刻ｔ０に、エンプティ状態のキューイングバッファにリクエストパケットがプッシュされても、信号２３１による通知機能がないので、メモリコントローラ１０５はリクエストパケットを受取ってからセルフリフレッシュモードのＳＤＲＡＭ１０６を解除するために、クロックイネーブル信号ＣＫＥをアクティブにする制御を行う（Ｐ３）。図５ではメモリコントローラ１０５がＰ２でリクエストパケットを受取ってからクロックイネーブル信号ＣＫＥが時刻ｔ３にアクティブにされる（Ｐ４）までに要する遅延時間は図４の場合より長い時間（レイテンシＬＴ３）とされている。ＳＤＲＡＭ１０６は、Ｐ２のリクエストパケットを受取って初めてＳＤＲＡＭをアクセスするための動作を開始して時刻ｔ３からメモリ動作を行う（Ｐ５）。一方、時刻ｔ１にはＳＤＲＡＭ１０６に対するリクエストパケットが後続していないが、信号２３０によるその状態の通知機能がないから、メモリコントローラ１０５はそのメモリ動作を終了（時刻ｔ４）した後、後続のリクエストパケットが供給されないことを一定時間待って初めてクロックイネーブル信号ＣＫＥを時刻ｔ５にディスエーブルとし（Ｐ６）、ＳＤＲＡＭの状態をアクティブ状態からセルフリフレッシュ状態に遷移させることができる。メモリ動作の終了からクロックイネーブル信号ＣＫＥをディスエーブルにするまでに比較的長い時間（レイテンシＬＴ４）を要する。
【００５３】
図４と図５を比較すれば明らかなように、低消費電力状態からメモリ動作可能状態に遷移する時間はＬＴ１＜ＬＴ３であるから、本実施の形態のデータプロセッサはＳＤＲＡＭに対するアクセス要求に対する優れた応答性を実現でき、また、低消費電力状態からメモリ動作可能状態に遷移する時間はＬＴ２＜ＬＴ４であるから、本実施の形態のデータプロセッサはＳＤＲＡＭの低消費電力状態への遷移に優れた応答性を実現することができる。以って、本実施の形態のデータプロセッサはデータ処理効率の向上と低消費電力化の双方に資することができる。
【００５４】
《アクセスモニタ機能》
図１においてバスコントローラ１０４はメモリコントローラ１０５にバスアクセス要求を与える回数を計数するためのカウンタレジスタＣＵＮＴを有する。例えば調停回路２０１のキュー制御部２１１がカウンタレジスタＣＵＮＴを有する。カウンタレジスタＣＵＮＴは、特に制限されないが、デキューポインタＤＰのインクリメント動作毎に＋１インクリメントされ、クリアされた状態を基点にその保持値はＳＤＲＡＭアクセスのために発行されたリクエストパケットの累積数、即ちＳＤＲＡＭ１０６に対するアクセス回数に等しくされる。カウンタレジスタＣＵＮＴに対する０クリア制御、リード制御などは例えば一つのＣＰＵ１００が所定の制御プログラムに従って行っても良いし、或いはデバッグ用の外部インタフェースポートを介して外部のデバッグ支援装置が直接行えるようにしてもよい。ＣＰＵ制御の場合であっても、カウンタレジスタＣＵＮＴの保持値はデータプロセッサの外部でモニタ可能にされる。カウンタレジスタＣＵＮＴの値は、ＳＤＲＡＭに対するアクセス頻度の計測、メモリアクセスに伴う消費電力の算定に資することができる。例えば、このモニタ機能により、ＳＤＲＡＭに対するアクセス頻度をモニタできるので、データプロセッサを用いて実行するアプリケーションプログラムのデバッグにおいて、設計通りのＳＤＲＡＭアクセスが行われているかをデバッグ支援装置で簡単に確認することが可能になる。また、ＳＤＲＡＭのアクセス頻度と、ＳＤＲＡＭにおける単位消費電力量とからＳＤＲＡＭ１０６を動作させたときの消費電力をデバッグ支援装置で算出することも可能になる。データプロセッサの全体的な消費電力をテスタなどで測定した場合に、そのうちＳＤＲＡＭ１０６で消費している分がどれくらいになるかを確認することもできる。デバッグの段階で予想以上にＳＤＲＡＭ１０６での消費電力が大きい場合には、ＳＤＲＡＭ１０６に対するアクセスを減らすアルゴリズムを検討するなどの設計手法にも役立つ。
【００５５】
また、動画再生アルゴリズムでは、図６に例示されるように、理論上、ある処理開始を契機に測定したＴ１期間、Ｔ２期間の間にＬＮ１，ＬＮ２のようなメモリアクセス回数になるはずであったものが、上記モニタ機能により、メモリアクセス頻度を確認したところ、Ｔ１期間ではＰＮ１（≒ＬＮ１）、Ｔ２期間ではＰＮ２（＞ＬＮ２）の回数になった場合には、Ｔ２期間のアルゴリズムでバグが存在している可能性を突き止めることが可能になる。このように上記モニタ機能は、設計時の動画再生アルゴリズムの修正箇所の特定にも役立つ。
【００５６】
特にバスコントローラを用いたモニタ機能はＳＤＲＡＭアクセスのためのリクエストパケット数を計数する機能であり、メモリコントローラによるコマンド発行回数を直接計数するものではないから、ＳＤＲＡＭに対するアクセス回数という点では誤差を生ずる虞がある。一方、リクエストパケット数の計数は、ＣＰＵなどのプログラム制御回路がそのプログラムに従って発行するバスアクセス回数を端的に示すことになり、プログラムデバッグという観点、即ちプログラムの評価に用いるという点、で優れている。
【００５７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５８】
例えば、データプロセッサはシングルチップの半導体デバイスであることに限定されず、マルチチップで構成されてよいことは言うまでもない。低消費電力状態はパワーダウンモードとセルフリフレッシュモードに限定されず適宜変更可能である。パワーダウンモードにおいてクロック信号を停止する回路部分を階層的に相違させる複数段階のパワーダウンモードを備えてもよい。
【００５９】
メモリはシンクロナスＤＲＡＭに限定されず、シンクロナスＳＲＡＭ、フラッシュメモリに代表されるような電気的に書き換え可能な不揮発性メモリであってもよい。
【００６０】
バスコントローラはスプリットトランザクションバスプロトコルにおけるルータに限定されない。バスマスタとバススレーブによるアクセスリクエストとアクセスアクノリッジによるバスアクセス権占有制御を行うプロトコルを持つものであてもよい。
【００６１】
アクセス要求を出力するバスマスタとなりうる回路モジュールはＣＰＵとＤＭＡＣに限定されず、アクセラレータ、画像処理モジュールなどのその他の回路モジュールであってもよい。
【００６２】
データプロセッサは先行通知機能を備え、アクセスモニタ機能を省略してもよい。
【００６３】
本発明に係るデータプロセッサは携帯端末、家電製品、自動車、通信装置、プリンタ等のコンピュータ装置の周辺装置などに広く適用することができる。携帯電話や携帯音楽プレーヤーはユーザによる長時間利用が想定される。近年、携帯電話などの電池駆動による携帯端末であっても大容量のメモリが搭載されるようになっており、メモリを利用する際の低消費電力制御は特に有用である。
【符号の説明】
【００６４】
１  データプロセッサ
２  中央処理装置（ＣＰＵ）
１０１  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
１０２  周辺モジュール
１０６  シンクロナスＤＲＡＭ（ＳＤＲＡＭ）
１０５  ＳＤＲＡＭ用のメモリコントローラ
１０３Ａ，１０３Ｂ  バス  
１０４  バスコントローラ
２００  バスアクセス調停部
２１１  モード切替制御部
２０１〜２０２  調停回路（Ｔ０ＡＲＢ〜ＴｎＡＲＢ）
２２１  キュー制御部
２２２  キューイングバッファ
ＥＰ  エンキューポインタ
ＤＰ  デキューポインタ
ＥＦ  エンプティフラグ
ＡＣＣＭＤ  アクセスモードレジスタ
ＭＳＴＳ  メモリ状態レジスタ
ＴＦ  低消費電力モード変更フラグ
ＣＵＮＴ  カウンタレジスタ
【図１】
2011090613.tif 000003
【図２】
2011090613.tif 000004
【図３】
2011090613.tif 000005
【図４】
2011090613.tif 000006
【図５】
2011090613.tif 000007
【図６】
2011090613.tif 000008