(57)【要約】【課題】電力消費を抑えることができる情報処理装置を提供することを目的とする。【解決手段】メインメモリからデータをロードするロードストアユニット２２７と、ロードストアユニット２２７を含み、ロードストアユニット２２７がロードしたデータを参照して所定の処理を実行する情報処理コア１０３と、情報処理コア１０３が動作可能な周波数のクロック信号を発生させ、情報処理コア１０３に供給するＰＬＬと、ＰＬＬから情報処理コア１０３へのクロック信号の供給および停止を制御するクロック制御論理回路２３３とを備え、クロック制御論理回路２３３は、ロードストアユニット２２７がデータのロード動作を開始してからデータを取得するまでの間の一部または全部の期間に渡って、ＰＬＬから、ロードストアユニット２２７以外の情報処理コア１０３の構成回路へのクロック信号の供給を停止させる。【選択図】図４
2008269365.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリからデータをロードするデータロード手段と、
前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、
前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、
前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段とを備え、
前記クロック制御手段は、前記データロード手段がデータのロード動作を開始してからデータを取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させる
ことを特徴とする情報処理装置。
【請求項２】
前記メインメモリは、データのロードに所定時間以上を要し、
前記情報処理装置は、さらに、
前記所定時間以下でデータのロードが可能なサブメモリと、
前記データロード手段がロードするデータが格納されているアドレスが、前記メインメモリおよび前記サブメモリのいずれのアドレス空間に属するかを判断するロード元アドレス空間識別論理手段を備え、
前記クロック制御手段は、前記アドレスが前記メインメモリのアドレス空間に属すると判断された場合に、前記データロード手段がデータのロード動作を開始してからデータを取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、さらに、
前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段と、
前記メインメモリよりも高速アクセス可能であり、かつ前記メインメモリから読み出されたデータのコピーを一時的に保持するデータキャッシュとを備え、
前記データロード手段は、前記メインメモリからデータをロードする際に、ロードするデータが前記データキャッシュに保持されている場合には、当該データを前記データキャッシュよりロードし、
前記データロード手段が前記メインメモリからデータのロードを試みる際に、前記データキャッシュからの当該データの読み出しアクセスにおいてミスヒットをした場合、前記メインメモリ制御手段は、前記メインメモリからのデータのロードを開始させると共に、前記クロック制御手段は、前記情報処理手段へのクロック信号の供給を停止させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記クロック制御手段は、前記データロード手段が前記データキャッシュからのデータのロードを試みてミスヒットする場合に、前記データキャッシュへ前記メインメモリから読み出されたデータが格納されると、前記情報処理手段へのクロック信号の供給を再開させる
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記クロック制御手段は、前記データキャッシュから前記メインメモリへデータを書き戻しする際に、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させる
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記情報処理装置は、さらに、
前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段を備え、
前記メインメモリ制御手段は、さらに、前記データロード手段が前記メインメモリからデータをロードする際に、前記メインメモリ制御手段が前記メインメモリへのデータの読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、
前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記情報処理装置は、さらに、
前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段を備え、
前記メインメモリ制御手段は、さらに、前記データロード手段が前記メインメモリからデータをロードする際に、前記メインメモリ制御手段が前記メインメモリへのデータの読み出し要求を行なった後に、前記メインメモリから出力される応答信号の出力タイミングに基づいて、前記メインメモリからのデータ読み出し完了時刻を予測し、予測した前記データ読み出し完了時刻の所定時間前にクロック停止解除信号を出力し、
前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記情報処理装置は、さらに、
前記メインメモリから読み出されたデータを一時的に保持するロードバッファ手段を備え、
前記クロック制御手段は、前記データロード手段が前記メインメモリからデータをロードしようと試みる際に、ロード動作の開始から前記ロードバッファ手段へ前記メインメモリから読み出されたデータが格納されるまでの期間の一部または全部に渡って、クロック信号の供給を停止させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記情報処理装置は、さらに、
前記メインメモリから前記ロードバッファ手段へのデータ転送を制御するＤＭＡ（Direct Memory Access）制御手段を備え、
前記ロードバッファ手段は、前記メインメモリから前記情報処理手段へのデータ転送のために先入れ先出し方式でデータを保持する中間一時バッファとして機能し、
前記クロック制御手段は、前記ロードバッファ手段にデータが格納されていない状態にある期間の一部または全部に渡って、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させる
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、さらに、
前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段と、
割り込み信号に応答して、前記クロック制御手段の動作を制御する割り込み制御手段とを備え、
前記メインメモリ制御手段は、さらに、前記データロード手段が前記メインメモリからデータをロードする際に、前記メインメモリ制御手段が前記メインメモリへのデータの読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、
前記割り込み制御手段は、前記クロック停止解除信号を割り込み信号として受け付け、前記クロック制御手段に通知し、
前記クロック制御手段は、当該通知に応答して、前記情報処理手段への前記クロック信号の供給を再開させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記情報処理装置は、さらに、
前記メインメモリへストアする予定のデータを一時的に保持するストアバッファ手段と、
前記ストアバッファ手段が保持するデータを前記メインメモリにストアするストア手段とを備え、
前記クロック制御手段は、前記ストア手段が前記ストアバッファ手段が保持するデータを前記メインメモリへストアしようと試みる際に、ストア動作の開始から前記データが前記メインメモリへ書き込まれるまでの期間の一部または全部に渡って、クロック信号の供給を停止させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
前記情報処理手段は、パイプライン型の処理方式に基づく処理構造を有し、
前記クロック制御手段は、前記クロック供給を停止させた処理が属するパイプラインステージについて、クロック供給が停止されたサイクルの次のサイクルにおいて、前記パイプラインステージの次の段のステージを構成する前記情報処理手段の回路へのクロック供給を停止させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１３】
メインメモリから命令をフェッチする命令フェッチ手段と、
前記命令フェッチ手段がフェッチした命令を実行する情報処理手段と、
前記命令フェッチ手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記命令フェッチ手段および前記情報処理手段に供給するクロック発生手段と、
前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段とを備え、
前記クロック制御手段は、前記命令フェッチ手段が命令のフェッチ動作を開始してから命令を取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させる
ことを特徴とする情報処理装置。
【請求項１４】
前記メインメモリは、命令のフェッチに所定時間以上を要し、
前記情報処理装置は、さらに、
前記所定時間以下でデータのロードが可能なサブメモリと、
前記命令フェッチ手段がフェッチする命令が格納されているアドレスが、前記メインメモリおよび前記サブメモリのいずれのアドレス空間に属するかを判断するフェッチアドレス空間識別論理手段を備え、
前記クロック制御手段は、前記アドレスが前記メインメモリのアドレス空間に属すると判断した場合に、前記命令フェッチ手段が命令のフェッチ動作を開始してから命令を取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記情報処理装置は、さらに、
前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段と、
前記メインメモリよりも高速アクセス可能であり、かつ前記メインメモリから読み出された命令のコピーを一時的に保持する命令キャッシュとを備え、
前記命令フェッチ手段が前記メインメモリから命令のフェッチを試みる際に、前記命令キャッシュからの当該命令の読み出しアクセスにおいてミスヒットをした場合、前記メインメモリ制御手段は、前記メインメモリからの命令のフェッチを開始させると共に、前記クロック制御手段は、前記情報処理手段へのクロック供給を停止させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１６】
前記クロック制御手段は、前記命令フェッチ手段が前記命令キャッシュからの命令フェッチを試みてミスヒットする場合に、前記命令キャッシュへ前記メインメモリから読み出された命令が格納されると、前記情報処理手段へのクロック信号の供給を再開させる
ことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記情報処理装置は、さらに、
前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段を備え、
前記メインメモリは、さらに、前記命令フェッチ手段が前記メインメモリから命令をフェッチする際に、前記メインメモリ制御手段が前記メインメモリへの命令の読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、
前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１８】
前記情報処理装置は、さらに、
前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段を備え、
前記メインメモリ制御手段は、さらに、前記命令フェッチ手段が前記メインメモリから命令をフェッチする際に、前記メインメモリ制御手段が前記メインメモリへの命令の読み出し要求を行なった後に、前記メインメモリから出力される応答信号の出力タイミングに基づいて、前記メインメモリからの命令読み出し完了時刻を予測し、予測した前記命令読み出し完了時刻の所定時間前にクロック停止解除信号を出力し、
前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１９】
前記情報処理装置は、さらに、
前記メインメモリから読み出された命令を一時的に保持する命令バッファ手段を備え、
前記クロック制御手段は、前記命令フェッチが前記メインメモリから命令をフェッチしようと試みる際に、フェッチ動作の開始から前記命令バッファ手段へ前記メインメモリから読み出された命令が格納されるまでの期間の一部または全部に渡って、クロック信号の供給を停止させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項２０】
前記情報処理装置は、さらに、
前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段と、
割り込み信号に応答して、前記クロック制御手段の動作を制御する割り込み制御手段とを備え、
前記メインメモリ制御手段は、さらに、前記命令フェッチ手段が前記メインメモリから命令をフェッチする際に、前記メインメモリ制御手段が前記メインメモリへの命令の読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、
前記割り込み制御手段は、前記クロック停止解除信号を割り込み信号として受け付け、前記クロック制御手段に通知し、
前記クロック制御手段は、当該通知に応答して、前記情報処理手段への前記クロック信号の供給を再開させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項２１】
メインメモリからデータをロードするデータロード手段と、
前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、
前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、
前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段と、
前記メインメモリよりも高速アクセス可能であり、かつ前記メインメモリから読み出されたデータのコピーを一時的に保持するデータキャッシュとを備え、
前記クロック制御手段は、前記データキャッシュから前記メインメモリへデータを書き戻しする際に、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させる
ことを特徴とする情報処理装置。
【請求項２２】
メインメモリからデータをロードするデータロード手段と、
前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、
前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、
前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段と、
前記メインメモリから読み出されたデータを一時的に保持するロードバッファ手段と、
前記メインメモリから前記ロードバッファ手段へのデータ転送を制御するＤＭＡ制御手段とを備え、
前記ロードバッファ手段は、前記メインメモリから前記情報処理手段へのデータ転送のために先入れ先出し方式でデータを保持する中間一時バッファとして機能し、
前記クロック制御手段は、前記ロードバッファ手段にデータが格納されていない状態にある期間の一部または全部に渡って、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させる
ことを特徴とする情報処理装置。
【請求項２３】
メインメモリからデータをロードするデータロード手段と、
前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、
前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、
前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段と、
前記メインメモリへストアする予定のデータを一時的に保持するストアバッファ手段と、
前記ストアバッファ手段が保持するデータを前記主記憶装置にストアするストア手段とを備え、
前記クロック制御手段は、前記ストア手段が前記ストアバッファ手段が保持するデータを前記メインメモリへストアしようと試みる際に、ストア動作の開始から前記データが前記メインメモリへ書き込まれるまでの期間の一部または全部に渡って、クロック信号の供給を停止させる
ことを特徴とする情報処理装置。
【請求項２４】
メインメモリからデータをロードするデータロード手段と、
前記データロード手段がロードしたデータを参照して、所定の処理を実行する、パイプライン型の処理方式に基づく処理構造を有する情報処理手段と、
前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、
前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段とを備え、
前記クロック制御手段は、前記クロック供給を停止させた処理が属するパイプラインステージについて、クロック供給が停止されたサイクルの次のサイクルにおいて、前記パイプラインステージの次の段のステージを構成する前記情報処理手段の回路へのクロック供給を停止させる
ことを特徴とする情報処理装置。
【請求項２５】
前記情報処理装置は、前記クロック制御手段の代わりに、前記情報処理装置への電源供給を遮断する電源供給遮断手段を備え、
前記電源供給遮断手段は、前記クロック制御手段が前記情報処理手段へのクロック信号の供給を停止させる期間、前記情報処理装置への電源供給を遮断する
ことを特徴とする請求項１〜２４のいずれか１項に記載の情報処理装置。
【請求項２６】
請求項１〜２５のいずれか１項に記載の情報処理装置を備える
ことを特徴とする情報機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサ等の一般的な情報処理装置に関し、特に、電力消費量が小さい情報処理装置に関する。
【背景技術】
【０００２】
従来のＣＰＵ（Central Processing Unit）において、ロード遅延は性能低下の大きな要因の一つである。特に近年、プロセッサの動作周波数の向上に比べ、メモリのアクセス速度が伸び悩んでいるため、この性能向上に対する課題はますます深刻化している。従来、ロード遅延の回避策として、以下のような方策が広く実用化されている。
【０００３】
（１）キャッシュなどアクセス速度緩衝用のメモリまたはバッファを、プロセッサとアクセス速度の遅いメモリとの間に設ける。
（２）ＤＲＡＭ（Dynamic Random Access Memory）からのロードのように大きな遅延が発生する場合、現在実行中のスレッドを他のスレッドに切り替える。これによりロード遅延を隠蔽することができる。しかしながら、スレッド切り替え時に処理のオーバーヘッドが生じ、切り替え機構を実装するために回路規模が増大するという課題もある。
（３）内蔵ＳＲＡＭ（Static Random Access Memory）からのロードのように小さな遅延が発生する場合、ロード命令に対する非依存命令をロードスロットに詰める遅延ロードのため命令順を入れ替える。しかしながら、ロードスロットを埋められない場合には処理性能が低下するという課題もある。
（４）上記（３）と関連するが、プログラムの処理手順変更によりメモリの先読みを行なう。ロード処理によりロードされるデータとそのロードの後続処理との間にデータ依存性がない場合に、データの先読みは可能である。
【０００４】
上記の内、手段（２）は実質的なアクセス速度改善に繋がらないが、システム全体としてのスループットを向上させることができる。各手段は条件によって適用できない場合もあり、常に有効性が保証されるとは限らない。
【０００５】
メモリは、容量、アクセス速度、コスト、使用目的などにより一般的に階層化されている。プロセッサに搭載されるＳＲＡＭ、外部接続のＤＲＡＭ、フラッシュメモリ、または半導体以外のＨＤＤ（Hard Disk Drive）、光ディスクドライブ、その他Ｉ／Ｏ（Input/Output）装置なども広くメモリと捉えることができる。アクセス先のメモリの特性や階層に応じて、それに適するアクセス速度改善技術は取捨選択される。
【０００６】
または、ロード遅延を解消し実効性能を高める方策の代わりに、消費電力を低減させるような方向性は選択肢の一つである。例として、下記特許文献１〜４が挙げられる。
【特許文献１】特開２００２−１８９５９１号公報
【特許文献２】特開平８−２２１３１１号公報
【特許文献３】特開平１１−９６１０５号公報
【特許文献４】特表平０５−５０６３２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術によると、キャッシュヒットなどの条件が整った場合には、処理性能向上を図れるが、キャッシュミスなどが頻繁に起こるような状況など、状況によっては従来技術の効果を十分に発揮できない場合がある。このように、従来技術の目的は平均的に性能向上を図ることであり、性能向上を達成できる確率×性能向上の条件が整った場合の効果の度合いを最大化することに主眼が置かれていた。つまり、従来技術では、性能面での向上のみを目的としているため、性能向上と消費電力低減とを両立させることはできなかった。
【０００８】
本発明は、従来技術で救済できるロード遅延に伴う性能補償機能を維持しつつ、従来技術で救済できない条件において、電力消費を抑えることができる情報処理装置を提供することを目的とする。この目的は、従来技術によりもたらされる効果と方向性が異なる。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のある局面に係る情報処理装置は、メインメモリからデータをロードするデータロード手段と、前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段とを備え、前記クロック制御手段は、前記データロード手段がデータのロード動作を開始してからデータを取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させることを特徴とする。
【００１０】
データロード手段がデータのロード動作を開始してからデータを取得するまでの間は、情報処理手段は処理を実行することができない。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００１１】
好ましくは、前記メインメモリは、データのロードに所定時間以上を要し、前記情報処理装置は、さらに、前記所定時間以下でデータのロードが可能なサブメモリと、前記データロード手段がロードするデータが格納されているアドレスが、前記メインメモリおよび前記サブメモリのいずれのアドレス空間に属するかを判断するロード元アドレス空間識別論理手段を備え、前記クロック制御手段は、前記アドレスが前記メインメモリのアドレス空間に属すると判断された場合に、前記データロード手段がデータのロード動作を開始してからデータを取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させることを特徴とする。
【００１２】
たとえば、メインメモリをＲＡＭとし、サブメモリをＳＲＡＭとした場合に、ＲＡＭからデータをロードする際には、ロード遅延が発生する。このため、ＲＡＭのデータロードが完了するまでの間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００１３】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段と、前記メインメモリよりも高速アクセス可能であり、かつ前記メインメモリから読み出されたデータのコピーを一時的に保持するデータキャッシュとを備え、前記データロード手段は、前記メインメモリからデータをロードする際に、ロードするデータが前記データキャッシュに保持されている場合には、当該データを前記データキャッシュよりロードし、前記データロード手段が前記メインメモリからデータのロードを試みる際に、前記データキャッシュからの当該データの読み出しアクセスにおいてミスヒットをした場合、前記メインメモリ制御手段は、前記メインメモリからのデータのロードを開始させると共に、前記クロック制御手段は、前記情報処理手段へのクロック信号の供給を停止させることを特徴とする。
【００１４】
キャッシュミスが発生した場合には、メインメモリからデータキャッシュへデータをロードしなければならず、その間ロード遅延が発生する。このため、データキャッシュへデータが保持されるまでの間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００１５】
さらに好ましくは、前記クロック制御手段は、前記データロード手段が前記データキャッシュからのデータのロードを試みてミスヒットする場合に、前記データキャッシュへ前記メインメモリから読み出されたデータが格納されると、前記情報処理手段へのクロック信号の供給を再開させることを特徴とする。
【００１６】
このようにデータキャッシュへデータがロードされると情報処理手段による処理が可能になる。よって、この時点で情報処理へのクロック信号の供給を再開させることができる。
【００１７】
さらに好ましくは、前記クロック制御手段は、前記データキャッシュから前記メインメモリへデータを書き戻しする際に、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させることを特徴とする。
【００１８】
たとえば、データキャッシュとメインメモリとのデータの一貫性を保つために、データキャッシュからメインメモリへデータを書き戻ししなければならない場合がある。このような場合には、メインメモリへデータが保存されるまでの間、ロード遅延が発生する。よって、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００１９】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段を備え、前記メインメモリ制御手段は、さらに、前記データロード手段が前記メインメモリからデータをロードする際に、前記メインメモリ制御手段が前記メインメモリへのデータの読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させることを特徴とする。
【００２０】
このように、メインメモリ固有のアクセス時間に着目することにより、クロック信号の供給の再開のタイミングを決定することができる。
【００２１】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段を備え、前記メインメモリ制御手段は、さらに、前記データロード手段が前記メインメモリからデータをロードする際に、前記メインメモリ制御手段が前記メインメモリへのデータの読み出し要求を行なった後に、前記メインメモリから出力される応答信号の出力タイミングに基づいて、前記メインメモリからのデータ読み出し完了時刻を予測し、予測した前記データ読み出し完了時刻の所定時間前にクロック停止解除信号を出力し、前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させることを特徴とする。
【００２２】
このように、メインメモリから出力される応答信号の出力タイミングに着目することにより、クロック信号の供給の再開のタイミングを決定することができる。
【００２３】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリから読み出されたデータを一時的に保持するロードバッファ手段を備え、前記クロック制御手段は、前記データロード手段が前記メインメモリからデータをロードしようと試みる際に、ロード動作の開始から前記ロードバッファ手段へ前記メインメモリから読み出されたデータが格納されるまでの期間の一部または全部に渡って、クロック信号の供給を停止させることを特徴とする。
【００２４】
メインメモリからロードバッファへのデータの読み出し時にはロード遅延が発生する。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００２５】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリから前記ロードバッファ手段へのデータ転送を制御するＤＭＡ（Direct Memory Access）制御手段を備え、前記ロードバッファ手段は、前記メインメモリから前記情報処理手段へのデータ転送のために先入れ先出し方式でデータを保持する中間一時バッファとして機能し、前記クロック制御手段は、前記ロードバッファ手段にデータが格納されていない状態にある期間の一部または全部に渡って、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させることを特徴とする。
【００２６】
ＤＭＡ転送で使用されるロードバッファにデータが格納されていない場合には、情報処理手段の処理対象のデータが存在しない。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００２７】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記データロード手段からのデータロードの要求に対して、前記メインメモリからのデータの読み出しを制御するメインメモリ制御手段と、割り込み信号に応答して、前記クロック制御手段の動作を制御する割り込み制御手段とを備え、前記メインメモリ制御手段は、さらに、前記データロード手段が前記メインメモリからデータをロードする際に、前記メインメモリ制御手段が前記メインメモリへのデータの読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、前記割り込み制御手段は、前記クロック停止解除信号を割り込み信号として受け付け、前記クロック制御手段に通知し、前記クロック制御手段は、当該通知に応答して、前記情報処理手段への前記クロック信号の供給を再開させることを特徴とする。
【００２８】
このように、割り込み処理によりクロック信号の供給を再開させるようにしてもよい。
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリへストアする予定のデータを一時的に保持するストアバッファ手段と、前記ストアバッファ手段が保持するデータを前記主記憶装置にストアするストア手段とを備え、前記クロック制御手段は、前記ストア手段が前記ストアバッファ手段が保持するデータを前記メインメモリへストアしようと試みる際に、ストア動作の開始から前記データが前記メインメモリへ書き込まれるまでの期間の一部または全部に渡って、クロック信号の供給を停止させることを特徴とする。
【００２９】
ストアバッファが保持するデータをメインメモリに書き戻しする際にはロード遅延が発生する。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００３０】
さらに好ましくは、前記情報処理手段は、パイプライン型の処理方式に基づく処理構造を有し、前記クロック制御手段は、前記クロック供給を停止させた処理が属するパイプラインステージについて、クロック供給が停止されたサイクルの次のサイクルにおいて、前記パイプラインステージの次の段のステージを構成する前記情報処理手段の回路へのクロック供給を停止させることを特徴とする。
【００３１】
このような構成にすることにより、たとえば、何も処理が実行されないステージに属する構成要素へのクロック信号が停止される。このため、クロック信号の供給が停止された回路の電力消費が低減され、電力消費を抑えることができる。
【００３２】
本発明の他の局面に係る情報処理装置は、メインメモリから命令をフェッチする命令フェッチ手段と、前記命令フェッチ手段がフェッチした命令を実行する情報処理手段と、前記命令フェッチ手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記命令フェッチ手段および前記情報処理手段に供給するクロック発生手段と、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段とを備え、前記クロック制御手段は、前記命令フェッチ手段が命令のフェッチ動作を開始してから命令を取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させることを特徴とする。
【００３３】
命令フェッチ手段が命令のフェッチ動作を開始してから命令を取得するまでの間は、情報処理手段は処理を実行することができない。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００３４】
好ましくは、前記メインメモリは、命令のフェッチに所定時間以上を要し、前記情報処理装置は、さらに、前記所定時間以下でデータのロードが可能なサブメモリと、前記命令フェッチ手段がフェッチする命令が格納されているアドレスが、前記メインメモリおよび前記サブメモリのいずれのアドレス空間に属するかを判断するフェッチアドレス空間識別論理手段を備え、前記クロック制御手段は、前記アドレスが前記メインメモリのアドレス空間に属すると判断した場合に、前記命令フェッチ手段が命令のフェッチ動作を開始してから命令を取得するまでの間の一部または全部の期間に渡って、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給を停止させることを特徴とする。
【００３５】
たとえば、メインメモリをＲＡＭとし、サブメモリをＳＲＡＭとした場合に、ＲＡＭからデータをロードする際には、ロード遅延が発生する。このため、ＲＡＭのデータロードが完了するまでの間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００３６】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段と、前記メインメモリよりも高速アクセス可能であり、かつ前記メインメモリから読み出された命令のコピーを一時的に保持する命令キャッシュとを備え、前記命令フェッチ手段が前記メインメモリから命令のフェッチを試みる際に、前記命令キャッシュからの当該命令の読み出しアクセスにおいてミスヒットをした場合、前記メインメモリ制御手段は、前記メインメモリからの命令のフェッチを開始させると共に、前記クロック制御手段は、前記情報処理手段へのクロック供給を停止させることを特徴とする。
【００３７】
キャッシュミスが発生した場合には、メインメモリから命令キャッシュへデータをロードしなければならず、その間ロード遅延が発生する。このため、命令キャッシュへ命令が保持されるまでの間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００３８】
さらに好ましくは、前記クロック制御手段は、前記命令フェッチ手段が前記命令キャッシュからの命令フェッチを試みてミスヒットする場合に、前記命令キャッシュへ前記メインメモリから読み出された命令が格納されると、前記情報処理手段へのクロック信号の供給を再開させることを特徴とする。
【００３９】
このように命令キャッシュへデータがロードされると情報処理手段による処理が可能になる。よって、この時点で情報処理へのクロック信号の供給を再開させることができる。
【００４０】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段を備え、前記メインメモリは、さらに、前記命令フェッチ手段が前記メインメモリから命令をフェッチする際に、前記メインメモリ制御手段が前記メインメモリへの命令の読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させることを特徴とする。
【００４１】
このように、メインメモリ固有のアクセス時間に着目することにより、クロック信号の供給の再開のタイミングを決定することができる。
【００４２】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段を備え、前記メインメモリ制御手段は、さらに、前記命令フェッチ手段が前記メインメモリから命令をフェッチする際に、前記メインメモリ制御手段が前記メインメモリへの命令の読み出し要求を行なった後に、前記メインメモリから出力される応答信号の出力タイミングに基づいて、前記メインメモリからの命令読み出し完了時刻を予測し、予測した前記命令読み出し完了時刻の所定時間前にクロック停止解除信号を出力し、前記クロック制御手段は、前記メインメモリ制御手段より出力される前記クロック停止解除信号に応答して、前記情報処理手段への前記クロック信号の供給を再開させることを特徴とする。
【００４３】
このように、メインメモリから出力される応答信号の出力タイミングに着目することにより、クロック信号の供給の再開のタイミングを決定することができる。
【００４４】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリから読み出された命令を一時的に保持する命令バッファ手段を備え、前記クロック制御手段は、前記命令フェッチが前記メインメモリから命令をフェッチしようと試みる際に、フェッチ動作の開始から前記命令バッファ手段へ前記メインメモリから読み出された命令が格納されるまでの期間の一部または全部に渡って、クロック信号の供給を停止させることを特徴とする。
【００４５】
メインメモリから命令バッファへデータへの命令の読み出し時にはロード遅延が発生する。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００４６】
さらに好ましくは、前記情報処理装置は、さらに、前記メインメモリに対する前記命令フェッチ手段からの命令フェッチの要求に対して、前記メインメモリから命令の読み出しを制御するメインメモリ制御手段と、割り込み信号に応答して、前記クロック制御手段の動作を制御する割り込み制御手段とを備え、前記メインメモリ制御手段は、さらに、前記命令フェッチ手段が前記メインメモリから命令をフェッチする際に、前記メインメモリ制御手段が前記メインメモリへの命令の読み出し要求を行なった後に、前記メインメモリに固有のアクセス時間が経過する時刻を予測し、予測した時刻の所定時間前にクロック停止解除信号を出力し、前記割り込み制御手段は、前記クロック停止解除信号を割り込み信号として受け付け、前記クロック制御手段に通知し、前記クロック制御手段は、当該通知に応答して、前記情報処理手段への前記クロック信号の供給を再開させることを特徴とする。
【００４７】
このように、割り込み処理によりクロック信号の供給を再開させるようにしてもよい。
本発明のさらに他の局面に係る情報処理装置は、メインメモリからデータをロードするデータロード手段と、前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段と、前記メインメモリよりも高速アクセス可能であり、かつ前記メインメモリから読み出されたデータのコピーを一時的に保持するデータキャッシュとを備え、前記クロック制御手段は、前記データキャッシュから前記メインメモリへデータを書き戻しする際に、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させることを特徴とする。
【００４８】
たとえば、データキャッシュとメインメモリとのデータの一貫性を保つために、データキャッシュからメインメモリへデータを書き戻ししなければならない場合がある。このような場合には、メインメモリへデータが保存されるまでの間、ロード遅延が発生する。よって、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００４９】
本発明のさらに他の局面に係る情報処理装置は、メインメモリからデータをロードするデータロード手段と、前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段と、前記メインメモリから読み出されたデータを一時的に保持するロードバッファ手段と、前記メインメモリから前記ロードバッファ手段へのデータ転送を制御するＤＭＡ制御手段とを備え、前記ロードバッファ手段は、前記メインメモリから前記情報処理手段へのデータ転送のために先入れ先出し方式でデータを保持する中間一時バッファとして機能し、前記クロック制御手段は、前記ロードバッファ手段にデータが格納されていない状態にある期間の一部または全部に渡って、前記情報処理手段の一部または全部の構成回路に対するクロック信号の供給を停止させることを特徴とする。
【００５０】
ＤＭＡ転送で使用されるロードバッファにデータが格納されていない場合には、情報処理手段の処理対象のデータが存在しない。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００５１】
本発明のさらに他の局面に係る情報処理装置は、メインメモリからデータをロードするデータロード手段と、前記データロード手段がロードしたデータを参照して所定の処理を実行する情報処理手段と、前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段と、前記メインメモリへストアする予定のデータを一時的に保持するストアバッファ手段と、前記ストアバッファ手段が保持するデータを前記主記憶装置にストアするストア手段とを備え、前記クロック制御手段は、前記ストア手段が前記ストアバッファ手段が保持するデータを前記メインメモリへストアしようと試みる際に、ストア動作の開始から前記データが前記メインメモリへ書き込まれるまでの期間の一部または全部に渡って、クロック信号の供給を停止させることを特徴とする。
【００５２】
ストアバッファが保持するデータをメインメモリに書き戻しする際にはロード遅延が発生する。このため、その間、情報処理手段へのクロック信号の供給を停止させることにより、情報処理手段で消費される電力を低減させることができる。
【００５３】
本発明のさらに他の局面に係る情報処理装置は、メインメモリからデータをロードするデータロード手段と、前記データロード手段がロードしたデータを参照して、所定の処理を実行する、パイプライン型の処理方式に基づく処理構造を有する情報処理手段と、前記データロード手段および前記情報処理手段が動作可能な周波数のクロック信号を発生させ、前記データロード手段および前記情報処理手段に供給するクロック発生手段と、前記クロック発生手段から前記情報処理手段への前記クロック信号の供給および停止を制御するクロック制御手段とを備え、前記クロック制御手段は、前記クロック供給を停止させた処理が属するパイプラインステージについて、クロック供給が停止されたサイクルの次のサイクルにおいて、前記パイプラインステージの次の段のステージを構成する前記情報処理手段の回路へのクロック供給を停止させることを特徴とする。
【００５４】
このような構成にすることにより、たとえば、何も処理が実行されないステージに属する構成要素へのクロック信号が停止される。このため、クロック信号の供給が停止された回路の電力消費が低減され、電力消費を抑えることができる。
【００５５】
本発明のさらに他の局面に係る情報処理装置は、前記情報処理装置は、前記クロック制御手段の代わりに、前記情報処理装置への電源供給を遮断する電源供給遮断手段を備え、前記電源供給遮断手段は、前記クロック制御手段が前記情報処理手段へのクロック信号の供給を停止させる期間、前記情報処理装置への電源供給を遮断することを特徴とする。
【００５６】
クロック信号の供給の代わりに、電源供給を遮断することによっても電力消費を抑えることができる。
【００５７】
本発明のさらに他の局面に係る情報機器は、上述のいずれかの情報処理装置を備えることを特徴とする情報機器。
【００５８】
情報機器の具体例としては、携帯電話、携帯型ゲーム機、ビデオカメラ、静止画カメラ、ＰＤＡ（Personal Digital Assistant）、携帯型ＰＣ（Personal Computer）、電子辞書、などが挙げられる。また、低消費電力化の要望が強い情報機器として、カーナビゲーションなど車載型製品が挙げられる。
【００５９】
なお、本発明は、このような特徴的な手段を備える情報処理装置として実現することができるだけでなく、情報処理装置に含まれる特徴的な手段をステップとする情報処理方法として実現したり、情報処理方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）等の記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは言うまでもない。
【発明の効果】
【００６０】
本発明によれば、従来技術の性能とコストを維持したまま、動作時の消費電力を低減することが可能になる。
【００６１】
特に、メモリアクセス時の消費電力を低減できるため、ＤＳＰ（Digital Signal Processor）などの外部低速メモリへのアクセス動作の多い情報処理装置において、大きな効果を発揮できる。
【発明を実施するための最良の形態】
【００６２】
以下、本発明の実施の形態に係る低消費電力型情報処理装置について説明する。各実施の形態の説明に先立って、各実施の形態に共通する事項について説明する。
【００６３】
本発明の実施の形態に係る低消費電力型情報処理装置は、広く普及する５段のパイプライン処理を採用し、その処理ステップの概念は図１に示される。各パイプラインステージは、主に表１で解説される処理を担う。
【００６４】
【表１】
2008269365.tif 000003
【００６５】
各パイプラインステージと、そのステージにおいて動作する構成要素との関係を表２に示す。
【００６６】
【表２】
2008269365.tif 000004
【００６７】
本発明の実施の形態に係る低消費電力型情報処理装置が実装する命令の分類を、表３に掲げる。本発明の実施の形態に係る情報処理装置は、いわゆるロード／ストアアーキテクチャを採用する。
【００６８】
【表３】
2008269365.tif 000005
【００６９】
以下の実施の形態で説明する回路／ブロック構成図において、図２に示すバス信号線の表記法を採用する。二重線は命令用データバスを表す。細い破線は、命令用アドレスバスを表す。太い実線はデータ用データバスを表す。太い破線は、データ用アドレスバスを表す。その他の細い実線は、制御信号などを表す。
【００７０】
（実施の形態１）
図３は、本発明の実施の形態１に係る低消費電力型情報処理装置を含むシステムの構成を示す図である。本システムは、システムＬＳＩ（Large Scale Integration）または情報機器システムとして実現される。
【００７１】
本システムは、ＤＲＡＭ１０２と低消費電力型情報処理装置１０１とを含む。
ＤＲＡＭ１０２は、低消費電力型情報処理装置１０１で実行される命令や低消費電力型情報処理装置１０１で使用される各種データ等を記憶するＤＲＡＭであり、その記憶容量は他のＳＲＡＭなどと比べ比較的大きいが、逆にアクセス時間やサイクル時間は比較的長い。
【００７２】
低消費電力型情報処理装置１０１は、情報処理用の半導体ＬＳＩ、またはＳｏＣ（System on a Chip）により構成される。低消費電力型情報処理装置１０１は、ＤＲＡＭ１０２に記憶されている命令およびデータをロードし、命令を実行する処理装置であり、情報処理コア１０３と、命令ＲＯＭ１０４と、データＳＲＡＭ１０６と、バス制御部１０８と、周辺回路１０９とメモリ制御部１１０と、ＰＬＬ（Phase Locked Loop）１１１とを含む。
【００７３】
情報処理コア１０３は、低消費電力型情報処理装置１０１中の汎用的処理ユニットであり、システム全般に渡る情報処理、データ処理やシステム制御の中核を担う。
【００７４】
命令ＲＯＭ１０４は、情報処理コア１０３が実行するプログラムとしての命令系列を格納する読み出し専用メモリである。
【００７５】
データＳＲＡＭ１０６は、情報処理コア１０３が処理を実行する際に作業用データを一時記憶するためのいわゆるｓｔａｔｉｃ  ＲＡＭである。
【００７６】
バス制御部１０８は、情報処理コア１０３がアクセスする内部バス及びそれに接続される周辺回路を制御する処理部である。
【００７７】
周辺回路１０９は、幾つかの役割を担う専用回路群から構成され、例えば割り込み制御回路、タイマ、カウンタ、シリアル入出力回路、ホストインタフェース回路、Ａ／Ｄ（Analog to Digital）変換回路、Ｄ／Ａ（Digital to Analog）変換回路、ＤＭＡＣ（Direct Memory Access Controller）、デバッガーなどが挙げられる。
【００７８】
メモリ制御部１１０は、ＤＲＡＭ１０２などの外部メモリとの間のデータ読み書きを制御する処理部である。
【００７９】
ＰＬＬ１１１は、外部接続の水晶発振子（水晶発信器）と接続されてクロック信号を発生し、低消費電力型情報処理装置１０１の各回路ブロックにクロック信号を供給する回路である。
【００８０】
低消費電力型情報処理装置１０１は、一般的にマイクロプロセッサ、マイクロコントローラやＤＳＰ（Digital Signal Processor）などと呼ばれ、広く製品化される半導体集積回路として例示される。本実施の形態の低消費電力型情報処理装置１０１は、いわゆるハーバードアーキテクチャを採用する。
【００８１】
図４は、情報処理コア１０３の構成を示す図である。
情報処理コア１０３は、命令フェッチユニット２２１と、命令デコードユニット２２２と、オペランドアドレス計算ユニット２２３と、命令アドレス計算ユニット２２４と、命令実行ユニット２２５と、レジスタファイル２２６と、ロードストアユニット２２７と、レジスタファイル書き込みパス選択器２２８と、プログラムカウンタ２３１と、ロード元アドレス空間識別論理回路２３２と、クロック制御論理回路２３３とを含む。
【００８２】
命令フェッチユニット２２１は、命令ＲＯＭ１０４やＤＲＡＭ１０２などの外部命令メモリまたは既に以前それらからフェッチされた命令が蓄積された命令キャッシュや内部の命令バッファから命令をフェッチする処理部である。
【００８３】
命令デコードユニット２２２は、命令フェッチユニット２２１がフェッチした命令を解読し、解読結果に応じて次ステージ以降の回路の振る舞いを制御する処理部である。
【００８４】
オペランドアドレス計算ユニット２２３は、ロード命令のソースアドレス、ストア命令のディスティネーションアドレスを計算する処理部である。
【００８５】
命令アドレス計算ユニット２２４は、分岐命令の分岐先アドレスを計算する処理部である。
【００８６】
命令実行ユニット２２５は、算術論理演算器、乗算器、バレルシフタなどを含み、演算命令が指定する算術論理演算を実行する処理部である。
【００８７】
レジスタファイル２２６は、複数の汎用レジスタを含み命令から高速にアクセスすることができ、各レジスタはデータまたはアドレスの情報を格納する記憶部である。
【００８８】
ロードストアユニット２２７は、ロードバッファ２２９とストアバッファ２３０とを備え、メモリとレジスタ間のロード操作とストア操作を制御する処理部である。
【００８９】
ロードバッファ２２９は、ロード命令によりロードされた命令を格納し、ロード完了に伴いスリープ状態に入った情報処理コアの回路を起床させる記憶部である。
【００９０】
ストアバッファ２３０は、複数段のＦＩＦＯ方式のキューで構成され、メモリにストアされるデータをストア要求からストア完了まで保持する記憶部である。
【００９１】
レジスタファイル書き込みパス選択器２２８は、命令の種類に応じてレジスタファイル２２６の１つの書き込みポートへの書き込みパスを選択する処理部である。
【００９２】
プログラムカウンタ２３１は、ＩＦステージとＤＥＣステージにおいてそれぞれ次にフェッチおよびデコードされるプログラム（命令）のアドレスを格納するレジスタである。
【００９３】
ロード元アドレス空間識別論理回路２３２は、ロード命令を実行する際にデータをロードするアドレス空間を判定し、該空間からのロード時間が規定値以上のサイクル数を要するか否かを判断する処理部である。
【００９４】
クロック制御論理回路２３３は、ロード命令を実行する際に、ロード元アドレス空間識別論理回路２３２が規定値以上のサイクル数を要すると判断した場合、所定の回路へのクロック信号供給を停止する処理部である。
【００９５】
簡略化のため、データＳＲＡＭ１０６および命令ＲＯＭ１０４のアクセス時間は、情報処理コア１０３のクロックで１サイクル分であると想定する。一方、ＤＲＡＭ１０２のアクセス時間とサイクル時間とは、情報処理コア１０３のクロックで数十サイクル分であることが多い。
【００９６】
本実施の形態における低消費電力型情報処理装置１０１、特に情報処理コア１０３のパイプライン論理構成とその動作を図１に示す。基本５段のステージで構成されるパイプライン動作は、命令の種類に応じて適応的に変化する。本実施の形態における低消費電力型情報処理装置１０１、特に情報処理コア１０３の動作と機能について、以下に命令の種類毎に説明する。
【００９７】
第１に、「演算命令」について低消費電力型情報処理装置１０１、特に情報処理コア１０３の概略的な処理動作を表４に掲げる。
【００９８】
【表４】
2008269365.tif 000006
【００９９】
第２に、「データ転送命令」について低消費電力型情報処理装置１０１、特に情報処理コア１０３の概略的な処理動作を表５に掲げる。
【０１００】
【表５】
2008269365.tif 000007
【０１０１】
第３に、「ロード命令」について低消費電力型情報処理装置１０１、特に情報処理コア１０３の概略的な処理動作を表６に掲げる。
【０１０２】
【表６】
2008269365.tif 000008
【０１０３】
第４に、「ストア命令」について低消費電力型情報処理装置１０１、特に情報処理コア１０３の概略的な処理動作を表７に掲げる。
【０１０４】
【表７】
2008269365.tif 000009
【０１０５】
クロック制御論理回路２３３が、特定の回路ブロックへのクロック信号供給をクロックゲーティングにより停止する仕組みを、図５に示す。
【０１０６】
図５では、Ｄ−ＦＦ（Flip Flop）３０１をクロック信号の供給対象回路として説明を行なう。クロック制御論理回路２３３は、情報処理コア１０３に含まれるクロック信号の供給対象回路毎に、クロック信号を供給するか否かを決定するクロック制御信号を出力する。また、ＰＬＬ１１１は、上記供給対象回路毎に、クロック信号を出力する。情報処理コア１０３は、さらに、上記供給対象回路毎に設けられたバッファ３０３およびＡＮＤゲート３０５を含む。バッファ３０３は、ＰＬＬ１１１に接続され、ＰＬＬ１１１より出力されたクロック信号を一時的に保持する。ＡＮＤゲート３０５は、クロック制御論理回路２３３およびバッファ３０３に接続され、クロック制御論理回路２３３より出力されるクロック制御信号とバッファ３０３に保持されているクロック信号との論理和を出力する。Ｄ−ＦＦ３０１は、ＡＮＤゲート３０５より出力される論理和であるゲーテッドクロック（gated clock）信号に従って動作する。
【０１０７】
クロック制御論理回路２３３より出力されるクロック制御信号がＬｏｗレベルに固定されている間、ＡＮＤゲート３０５の出力は常にＬｏｗである。このため、Ｄ−ＦＦ３０１へのクロック信号の供給は停止される。よって、Ｄ−ＦＦ３０１の出力値Ｑは入力値Ｄの変化に関わらず変化しない。
【０１０８】
以上の説明では、クロック信号の供給対象回路をＤ−ＦＦ３０１としたが、当該供給対象回路を情報処理コア１０３の各構成要素とし、各構成要素にゲーテッドクロック信号を入力するような回路構成とすることにより、クロック制御論理回路２３３により特定の回路ブロックへのクロック信号供給をクロックゲーティングにより停止させることができる。
【０１０９】
以上説明したように、本実施の形態では、情報処理コア１０３で実行される命令が「ロード命令」の場合には、ロード命令実行時のＭＥＭステージにおいて、情報処理コア１０３中のロードバッファ２２９以外の回路へのクロック信号の供給を停止するようにしている。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード遅延が発生する場合に、電力消費を抑えることができる。
【０１１０】
（実施の形態２）
次に、本発明の実施の形態２について説明する。実施の形態２に係る低消費電力型情報処理装置は、命令フェッチに時間を要する場合に所定の回路へのクロック信号供給を停止するものである。
【０１１１】
図３は、本実施の形態の低消費電力型情報処理装置を含むシステムの構成を示す図である。低消費電力型情報処理装置１０１の構成は、実施の形態１と同様である。このため、その詳細な説明はここでは繰り返さない。
【０１１２】
図６は、実施の形態２に係る情報処理コア１０３の構成を示す図である。
情報処理コア１０３は、図４に示した実施の形態１に係る情報処理コア１０３において、ロード元アドレス空間識別論理回路２３２の代わりにフェッチアドレス空間識別論理回路２５２を用いたものである。
【０１１３】
フェッチアドレス空間識別論理回路２５２は、命令フェッチを実行する際に命令をフェッチするアドレス空間を判定し、該空間からのフェッチ時間が規定値以上のサイクル数を要するか否かを判断する。
【０１１４】
クロック制御論理回路２３３は、命令フェッチを実行する際に、フェッチアドレス空間識別論理回路２５２が規定値以上のサイクル数を要すると判断した場合、所定の回路へのクロック信号供給を停止する。
【０１１５】
命令フェッチに規定値以上のサイクル数を要する場合とは、命令ＲＯＭ１０４にフェッチ対象の命令が記憶されておらず、ＤＲＡＭ１０２よりフェッチしなければならない場合である。それ以外の場合、すなわち命令フェッチが規定値未満のサイクル数で済む場合とは、命令ＲＯＭ１０４にフェッチ対象の命令が記憶されており、命令ＲＯＭ１０４より命令フェッチが可能な場合である。フェッチアドレス空間識別論理回路２５２は、フェッチ対象の命令が記憶されているアドレス（フェッチアドレス）がＤＲＡＭ１０２上のアドレス空間に属する場合には、命令フェッチに規定値以上のサイクル数を要すると判断する。それ以外の場合、すなわち、フェッチアドレスが命令ＲＯＭ１０４上のアドレス空間に属する場合には、フェッチアドレス空間識別論理回路２５２は、命令フェッチが規定値未満のサイクル数で終了すると判断する。
【０１１６】
本実施の形態における低消費電力型情報処理装置１０１、特に情報処理コア１０３のパイプライン論理構成とその動作を図１に示す。基本５段のステージで構成されるパイプライン動作は、命令の種類に応じて適応的に変化する。
【０１１７】
本実施の形態における低消費電力型情報処理装置１０１、特に情報処理コア１０３の命令フェッチに関わる動作と機能は命令フェッチに関するものであるが、命令フェッチの動作は命令の種類に依存しない。このため、以下ではデータ演算命令を例にして説明する。
【０１１８】
演算命令について、低消費電力型情報処理装置１０１、特に情報処理コア１０３の「命令フェッチ」に関連する概略的な処理動作を表８に掲げる。
【０１１９】
【表８】
2008269365.tif 000010
【０１２０】
以上説明したように、本実施の形態によると、命令フェッチを行なう時点で、予めロード遅延が発生することがわかる場合には、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止している。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード遅延が発生する場合に、電力消費を抑えることができる。
【０１２１】
（実施の形態３）
次に、本発明の実施の形態３について説明する。実施の形態３に係る低消費電力型情報処理装置は、キャッシュを利用した装置であり、ロード命令実行時にキャッシュミスが発生した場合に所定の回路へのクロック信号供給を停止するものである。
【０１２２】
図７は、本実施の形態の低消費電力型情報処理装置を含むシステムの構成を示す図である。
【０１２３】
本実施の形態に係る低消費電力型情報処理装置１０１は、図３に示した実施の形態１に係る低消費電力型情報処理装置１０１の構成において、命令ＲＯＭ１０４の代わりに命令キャッシュ１０５を用い、データＳＲＡＭ１０６の代わりにデータキャッシュ１０７を用いたものである。
【０１２４】
命令キャッシュ１０５は、命令ＲＯＭ１０４の代わりに情報処理コア１０３の命令系列の断片を一時的に格納し、ＤＲＡＭ１０２に比べて、平均的に高速アクセスが可能であるが小容量のメモリである。
【０１２５】
データキャッシュ１０７は、データＳＲＡＭ１０６の代わりに情報処理コア１０３の作業用データを一時的に格納し、ＤＲＡＭ１０２に比べて、平均的に高速アクセスが可能であるが小容量のメモリである。
【０１２６】
図８は、情報処理コア１０３の構成を示す図である。本図に示す情報処理コア１０３は、図４に示した実施の形態１に係る情報処理コア１０３の構成において、ロード元アドレス空間識別論理回路２３２を除き、データキャッシュ１０７を制御するキャッシュコントローラ２６１を用いたものである。
【０１２７】
また、同図に示すように、データキャッシュ１０７は、データ部２３５とタグ部２３６とを含む。データ部２３５は、ＤＲＡＭ１０２のコピーとしての一時データを保持する。タグ部２３６は、データ部２３５に保持されたデータにアドレス情報を付与する。データキャッシュ１０７は連想記憶である。このため、情報処理コア１０３は、データキャッシュ１０７からデータを読み出す際、まずロード元アドレスでタグ部２３６を検索してアドレス情報が合致すれば（キャッシュヒット）、次いでデータ部２３５からデータを取り出す。アドレス情報が合致しなければ（キャッシュミス）、データキャッシュ１０７に要求するデータがないので、情報処理コア１０３は、次いでＤＲＡＭ１０２へアクセスすることになる。
【０１２８】
タグ部２３６は、情報処理コア１０３がデータキャッシュ１０７にアクセスした際に、キャッシュヒットしたかキャッシュミスしたかを示すキャッシュヒット／ミス判定論理信号をロードストアユニット２２７とクロック制御論理回路２３３とに供給する。
【０１２９】
なお、図３に示したデータＳＲＡＭ１０６を削除せず、データＳＲＡＭ１０６とデータキャッシュ１０７とを情報処理コア１０３に対し並列に接続し、情報処理コア１０３がデータＳＲＡＭ１０６とデータキャッシュ１０７との一方からサイクル毎に選択的にデータをロードすることを可能とする回路構成も考えられる。
【０１３０】
ロード命令について、低消費電力型情報処理装置１０１、特に情報処理コア１０３の概略的な処理動作を表９に掲げる。
【０１３１】
【表９】
2008269365.tif 000011
【０１３２】
以上説明したように、本実施の形態によると、ロード命令実行時のＭＥＭステージにおいてキャッシュミスが発生した場合には、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号供給を停止するようにしている。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード遅延が発生する場合に、電力消費を抑えることができる。
【０１３３】
（実施の形態４）
以下、本発明の実施の形態４について説明する。実施の形態４に係る低消費電力型情報処理装置は、命令フェッチ時にキャッシュミスが生じた場合に、所定の回路へのクロック信号供給を停止するものである。
【０１３４】
図７は、本実施の形態の低消費電力型情報処理装置を含むシステムの構成を示す図である。低消費電力型情報処理装置１０１の構成は、実施の形態３と同様である。このため、その詳細な説明はここでは繰り返さない。
【０１３５】
図９は、実施の形態４に係る情報処理コア１０３の構成を示す図である。本図に示す情報処理コア１０３は、図６に示した情報処理コア１０３の構成において、フェッチアドレス空間識別論理回路２５２を除いたものである。
【０１３６】
また、同図に示すように命令キャッシュ１０５は、データ部２３７とタグ部２３８とを含む。データ部２３７は、ＤＲＡＭ１０２のコピーとしての一時データを保持する。タグ部２３８は、データ部２３７に保持されたデータにアドレス情報を付与する。命令キャッシュ１０５は連想記憶である。このため、情報処理コア１０３は、命令キャッシュ１０５からデータを読み出す際、まずフェッチアドレスでタグ部２３８を検索してアドレス情報が合致すれば（キャッシュヒット）、次いでデータ部２３７からデータを取り出す。アドレス情報が合致しなければ（キャッシュミス）、命令キャッシュ１０５に要求するデータがないので、情報処理コア１０３は、次いでＤＲＡＭ１０２へアクセスすることになる。
【０１３７】
タグ部２３８は、情報処理コア１０３が命令キャッシュ１０５にアクセスした際に、キャッシュヒットしたかキャッシュミスしたかを示すキャッシュヒット／ミス判定論理信号をロードストアユニット２２７とクロック制御論理回路２３３とに供給する。
【０１３８】
なお、図３に示した命令ＲＯＭ１０４を削除せず、命令ＲＯＭ１０４と命令キャッシュ１０５を情報処理コア１０３に対し並列に接続し、情報処理コア１０３が命令ＲＯＭ１０４と命令キャッシュ１０５の一方からサイクル毎に選択的にフェッチすることを可能とする回路構成も考えられる。
【０１３９】
本実施の形態における低消費電力型情報処理装置１０１、特に情報処理コア１０３の命令フェッチに関わる動作と機能は命令フェッチに関するものであるが、命令フェッチの動作は命令の種類に依存しない。このため、以下では演算命令を例にして説明する。
【０１４０】
演算命令について、低消費電力型情報処理装置１０１、特に情報処理コア１０３の「命令フェッチ」に関連する概略的な処理動作を表１０に掲げる。
【０１４１】
【表１０】
2008269365.tif 000012
【０１４２】
以上説明したように、本実施の形態によると、命令フェッチ時において、キャッシュミスが発生した場合には、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止するようにしている。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード遅延が発生する場合に、電力消費を抑えることができる。
【０１４３】
（実施の形態５）
次に、本発明の実施の形態５について説明する。実施の形態５に係る消費電力型情報処理装置では、ロード命令実行時にメモリ制御部１１０がデータ読み出し完了時刻を予測し、データ読み出しが完了するまでの間、所定の回路へのクロック信号供給を停止するものである。
【０１４４】
図１０は、本実施の形態の低消費電力型情報処理装置を含むシステムの構成である。
本実施の形態に係る低消費電力型情報処理装置１０１は、図３に示した実施の形態１に係る低消費電力型情報処理装置１０１の構成において、メモリ制御部１１０の内部にデータ読み出し完了時刻予測部１１０ａを設けたものである。
【０１４５】
データ読み出し完了時刻予測部１１０ａは、ＤＲＡＭ１０２からのデータ読み出し完了時刻を予測し、予測時刻の所定時間前にクロック停止解除信号１１２を出力する処理部である。データ読み出し完了時刻の予測方法については後述する。
【０１４６】
図１１は、情報処理コア１０３の構成を示す図である。本図に示す情報処理コア１０３は、図４に示した実施の形態１に係る情報処理コア１０３の構成において、クロック制御論理回路２３３の構成が異なる。すなわち、クロック制御論理回路２３３は、データ読み出し完了時刻予測部１１０ａより出力されるクロック停止解除信号１１２を受け、クロック停止解除信号１１２に応答して、クロック信号の供給停止を解除する。
【０１４７】
以下、ロード命令によるＤＲＡＭ１０２からのデータロード動作に関して、説明する。
【０１４８】
（１）ロードストアユニット２２７がバス制御部１０８を通じてメモリ制御部１１０へＤＲＡＭ１０２からの読み出しアクセスを要求する。
（２）ロード元アドレス空間識別論理回路２３２がＤＲＡＭ１０２へのアクセスを識別するので、クロック制御論理回路２３３は、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。
（３）メモリ制御部１１０がＤＲＡＭ１０２のロード元アドレスからソースオペランドを読み出す。
（４）メモリ制御部１１０はＤＲＡＭ１０２からロードしたソースオペランドを、バス制御部１０８を通じて情報処理コア１０３へ送出する。
（５）メモリ制御部１１０のデータ読み出し完了時刻予測部１１０ａは、読み出し完了時刻を予測し、予測時刻の所定時間前に情報処理コア１０３へクロック停止解除信号１１２を送出する。
（６）クロック制御論理回路２３３は、クロック停止解除信号１１２に応答してクロック信号供給の停止を解除する。
【０１４９】
メモリ制御部１１０がクロック停止解除信号１１２をアサートするタイミングを決める方法として、以下の２通りが想定される。
【０１５０】
（１）データ読み出し完了時刻予測部１１０ａは、以下のようにしてＤＲＡＭ１０２からのデータ読み出し完了時刻を予測する。ＤＲＡＭ１０２が非同期ＤＲＡＭである場合、データ読み出し完了時刻予測部１１０ａは、ＤＲＡＭ１０２へのＯＥ（Output Enable）信号をアサートするタイミングに基づいてデータ読み出し完了時刻を予測することができる。ＤＲＡＭ１０２が同期ＤＲＡＭ（ＳＤＲＡＭ）である場合、データ読み出し完了時刻予測部１１０ａは、「ＲＡＳ−ＣＡＳレイテンシ（ＲＡＳ  ｔｏ  ＣＡＳ遅延時間）＋ＣＡＳレイテンシ（ＣＡＳアクセス時間）」経過したら最初のデータが読み出されると予測する。但し、ランダムアクセスの場合にこの予測は有効であり、バーストアクセスの第２番目以降のデータの読み出しタイミングは上記予測に従わない。もっともバースト転送のサイクル時間は一般的に短いので、バーストアクセスにおける本発明の効果は小さくなる。
（２）読み出し要求に対するＤＲＡＭ１０２からの応答信号（ＡＣＫ）を見て、データ読み出しタイミングを知る。
【０１５１】
以上説明したように、本実施の形態によると、情報処理コア１０３で実行される命令が「ロード命令」の場合に、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。また、データ読み出し完了時刻予測部１１０ａが予測したデータ読み出し完了時刻にクロック信号の供給が再開される。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード命令実行時にロード遅延が発生する場合に、電力消費を抑えることができる。
【０１５２】
（実施の形態６）
次に、本発明の実施の形態６について説明する。実施の形態６に係る消費電力型情報処理装置では、命令フェッチ時にメモリ制御部１１０が読み出し完了時刻を予測し、データ読み出しが完了するまでの間、所定の回路へのクロック信号供給を停止するものである。
【０１５３】
本実施の形態に係る低消費電力型情報処理装置は、図１０に示した実施の形態５に係る低消費電力型情報処理装置１０１と同様の構成を有する。このため、その詳細な説明はここでは繰り返さない。
【０１５４】
図１２は、情報処理コア１０３の構成を示す図である。本図に示す情報処理コア１０３は、図６に示した実施の形態２に係る情報処理コア１０３の構成において、クロック制御論理回路２３３の構成が異なる。すなわち、クロック制御論理回路２３３は、データ読み出し完了時刻予測部１１０ａより、読み出し完了時刻よりも所定時間前に出力されるクロック停止解除信号１１２を受け、クロック停止解除信号１１２に応答して、クロック信号の供給停止を解除する。
【０１５５】
以下、ＤＲＡＭ１０２からの命令フェッチ動作について説明する。命令フェッチ動作は、命令の種類に依存しない。このため、以下では演算命令を例にして説明する。
【０１５６】
（１）命令フェッチユニット２２１がバス制御部１０８を通じてメモリ制御部１１０へＤＲＡＭ１０２からの読み出しアクセスを要求する。
（２）フェッチアドレス空間識別論理回路２５２がＤＲＡＭ１０２へのアクセスを識別するので、クロック制御論理回路２３３は、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。
（３）メモリ制御部１１０がＤＲＡＭ１０２のフェッチアドレスから次命令を読み出す。
（４）メモリ制御部１１０はＤＲＡＭ１０２からフェッチした次命令を、バス制御部１０８を通じて情報処理コア１０３へ送出する。
（５）メモリ制御部１１０のデータ読み出し完了時刻予測部１１０ａは、情報処理コア１０３へクロック停止解除信号１１２を送出する。
（６）クロック制御論理回路２３３は、クロック停止解除信号１１２に応答してクロック信号供給の停止を解除する。
【０１５７】
メモリ制御部１１０のデータ読み出し完了時刻予測部１１０ａがクロック停止解除信号１１２をアサートするタイミングを決める方法は、実施の形態５で説明した通りである。
【０１５８】
以上説明したように、本実施の形態によると、命令フェッチ時において、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。また、データ読み出し完了時刻予測部１１０ａが予測したデータ読み出し完了時刻にクロック信号の供給が再開される。これにより、クロック信号の供給が停止された回路の電力消費が低減され、命令フェッチ時にロード遅延が発生する場合に、電力消費を抑えることができる。
【０１５９】
（実施の形態７）
次に、本発明の実施の形態７について説明する。実施の形態７に係る低消費電力型情報処理装置では、実施の形態５とクロック信号供給の停止解除タイミングの決定方法が異なる。すなわち、実施の形態７では、ロード命令実行時に、情報処理コア１０３のロードバッファ２２９にロードデータが書き込まれることを契機として、クロック信号供給の停止が解除される。
【０１６０】
実施の形態７に係る低消費電力型情報処理装置の構成は、図３に示した、実施の形態１に係る低消費電力型情報処理装置１０１の構成と同様である。このため、その詳細な説明は、ここでは繰り返さない。
【０１６１】
図１３は、実施の形態７に係る情報処理コア１０３の構成を示す図である。
情報処理コア１０３は、図４に示した実施の形態１に係る情報処理コア１０３において、ロードバッファ２２９とクロック制御論理回路２３３との構成が異なるものである。すなわち、ロードバッファ２２９は、ロードデータが到着した際に、到着信号を出力する。クロック制御論理回路２３３は、ロードバッファ２２９から出力される到着信号に応答して、クロック信号の供給停止を解除する。
【０１６２】
以下、ロード命令によるＤＲＡＭ１０２からのデータロード動作に関して、説明する。
【０１６３】
（１）ロードストアユニット２２７がバス制御部１０８を通じてメモリ制御部１１０へＤＲＡＭ１０２からの読み出しアクセスを要求する。
（２）ロード元アドレス空間識別論理回路２３２がＤＲＡＭ１０２へのアクセスを識別するので、クロック制御論理回路２３３は、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。
（３）メモリ制御部１１０がＤＲＡＭ１０２のロード元アドレスからソースオペランドを読み出す。
（４）メモリ制御部１１０はＤＲＡＭ１０２からロードしたソースオペランドを、バス制御部１０８を通じて情報処理コア１０３へ送出する。
（５）ロードデータがロードバッファ２２９に書き込まれる。
（６）ロードバッファ２２９はロードデータが到着したことを検知し、クロック制御論理回路２３３に通知する。
（７）クロック制御論理回路２３３はクロック信号の供給停止を解除し、クロック信号供給を復活する。
【０１６４】
以上説明したように、本実施の形態によると、情報処理コア１０３で実行される命令が「ロード命令」の場合に、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。また、ロードデータがロードバッファ２２９に書込まれたことを検知した後に、クロック信号の供給が再開される。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード命令実行時にロード遅延が発生する場合に、電力消費を抑えることができる。
【０１６５】
また、実施の形態５では、データ読み出し完了時刻予測部１１０ａがロードデータの読み出し完了時刻の予測を行なっていたが、実施の形態７では、このような特別な回路を設けなくてもクロック信号の供給停止を解除することができる。
【０１６６】
（実施の形態８）
次に、本発明の実施の形態８について説明する。実施の形態８に係る低消費電力型情報処理装置では、実施の形態６とクロック信号供給の停止解除タイミングの決定方法が異なる。すなわち、実施の形態６においては、データ読み出し完了時刻予測部１１０ａがクロック信号供給の停止を解除するタイミングを決定した。これに対して、本実施の形態においては、命令フェッチユニット２２１内に設けられている命令バッファ２３９に次命令が書き込まれることを契機として、クロック信号の供給停止が解除される。
【０１６７】
本実施の形態に係る低消費電力型情報処理装置の構成は、図３に示した、実施の形態１に係る低消費電力型情報処理装置１０１の構成と同様である。
【０１６８】
図１４は、本実施の形態に係る情報処理コアの構成を示す図である。本実施の形態に係る情報処理コアの構成は、図６に示した、実施の形態２に係る情報処理コア１０３の構成において、命令フェッチユニット２２１およびフェッチアドレス空間識別論理回路２５２の構成が異なる。すなわち、命令フェッチユニット２２１は、現在デコード中の命令に後続する複数の命令を格納する一時記憶手段である命令バッファ２３９を内蔵しているが、命令バッファ２３９は、命令到着時に到着信号を出力する。フェッチアドレス空間識別論理回路２５２は、命令バッファ２３９より出力される到着信号に応答して、クロック信号の供給停止を解除する。
【０１６９】
図１５は、命令フェッチユニット２２１の構成を示す図である。
命令フェッチユニット２２１は、命令バッファ２３９と、命令レジスタ２３９ａと、増分器２３９ｂと、プログラムカウンタ２３９ｃとを含む。
【０１７０】
命令バッファ２３９は、ＦＩＦＯ方式でデータを一時記憶するメモリである。命令バッファ２３９は、命令が書込まれると到着信号を出力する。
【０１７１】
命令レジスタ２３９ａは、命令バッファ２３９の出力に接続され、次に命令デコードユニット２２２でデコードされる命令を一時的に記憶するレジスタである。
【０１７２】
プログラムカウンタ２３９ｃは、ＩＦステージにおける命令のフェッチアドレスを記憶するカウンタである。
【０１７３】
増分器２３９ｂは、命令がフェッチされるたびに、フェッチアドレスを所定数だけ増分させる演算器である。
【０１７４】
以下、ＤＲＡＭ１０２からの命令フェッチ動作について説明する。命令フェッチ動作は、命令の種類に依存しない。このため、以下では演算命令を例にして説明する。
【０１７５】
（１）命令フェッチユニット２２１がバス制御部１０８を通じてメモリ制御部１１０へＤＲＡＭ１０２からの読み出しアクセスを要求する。
（２）フェッチアドレス空間識別論理回路２５２がＤＲＡＭ１０２へのアクセスを識別するので、クロック制御論理回路２３３は、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。
（３）メモリ制御部１１０がＤＲＡＭ１０２のフェッチアドレスから次命令を読み出す。
（４）メモリ制御部１１０はＤＲＡＭ１０２からフェッチした次命令を、バス制御部１０８を通じて情報処理コア１０３へ送出する。
（５）次命令が命令バッファ２３９に書き込まれる。
（６）命令バッファ２３９は次命令が到着したことを検知し、クロック制御論理回路２３３に通知する。
（７）クロック制御論理回路２３３はクロック信号の供給停止を解除し、クロック信号供給を復活する。
【０１７６】
以上説明したように、本実施の形態によると、命令フェッチ時において、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。また、命令が命令バッファ２３９に命令が書込まれたことを検知した後に、クロック信号の供給が再開される。これにより、クロック信号の供給が停止された回路の電力消費が低減され、命令フェッチ時にロード遅延が発生する場合に、電力消費を抑えることができる。
【０１７７】
また、実施の形態６では、データ読み出し完了時刻予測部１１０ａがロードデータの読み出し完了時刻の予測を行なっていたが、本実施の形態では、このような特別な回路を設けなくてもクロック信号の供給停止を解除することができる。
【０１７８】
（実施の形態９）
次に、本発明の実施の形態９について説明する。本実施の形態に係る低消費電力型情報処理装置では、実施の形態５とクロック信号供給の停止解除タイミングの決定方法が異なる。すなわち、本実施の形態に係る低消費電力型情報処理装置の情報処理コアは、割り込みに基づいて、クロック信号の供給停止の解除を行なう。
【０１７９】
本実施の形態に係る低消費電力型情報処理装置の構成は、図１０に示した実施の形態５に係る低消費電力型情報処理装置１０１の構成と同様である。
【０１８０】
図１６は、本実施の形態に係る情報処理コアの構成を示す図である。
情報処理コア１０３は、図４に示した実施の形態１に係る情報処理コア１０３の構成において、割り込み制御部２４０が新たに付け加えられ、クロック制御論理回路２３３の構成が変わったものである。
【０１８１】
割り込み制御部２４０は、メモリ制御部１１０のデータ読み出し完了時刻予測部１１０ａより出力されるクロック停止解除信号１１２を割り込みとして受け、クロック制御論理回路２３３に停止解除信号を伝達する。
【０１８２】
クロック制御論理回路２３３は、割り込み制御部２４０より伝達される停止解除信号に応答して、クロック信号の供給停止を解除する。
【０１８３】
本実施の形態では、実施の形態５で説明したロード命令の実行時において、「クロック停止モード」と「通常動作モード」と呼ばれる二つの動作状態を定義する。
【０１８４】
「クロック停止モード」とは、ロードバッファ２２９にデータがロードされるのを待つロードデータ待ち状態、またはそれを含む、クロック信号の供給が停止されている低消費電力の動作状態である。「通常動作モード」とは、情報処理コア１０３中の各回路にクロックが供給され、クロックに同期する本来の機能動作が可能な状態である。
【０１８５】
本実施の形態では、情報処理コア１０３に割り込み制御部２４０を設けているため、クロック停止モードから通常動作モードへの状態遷移は、割り込みによるクロック停止状態からの起床として実現される。実施の形態５で説明したデータ読み出し完了時刻予測部１１０ａより出力されるクロック停止解除信号１１２は、起床割り込みとして割り込み制御部２４０に入力される。ロード命令実行時に、クロック信号の供給停止を解除する場合、以下の手順を経る。なお、クロック信号の供給停止までの処理（通常動作モードからクロック停止モードへの遷移処理）は、実施の形態５と同様である。
【０１８６】
（１）メモリ制御部１１０がロードされるデータを受信すると、メモリ制御部１１０はクロック停止解除信号１１２をアサートする。
（２）クロック停止解除信号１１２が、起床割り込みとして割り込み制御部２４０に入力される。その割り込み要因は常に有効化（許可）されるように、割り込み要因はＮＭＩ（Non-Maskable Interrupt）として実装される。割り込み制御部２４０は、その割り込み要因を受け付ける。情報処理コア１０３の動作状態は、クロック停止モードから通常動作モードへ遷移する。
（３）割り込み制御部２４０は、クロック制御論理回路２３３にクロック信号の供給停止解除を伝える。クロック制御論理回路２３３はクロック信号の供給を復活させることにより、情報処理コア１０３を起床させる。
（４）情報処理コア１０３は該ロード命令のＭＥＭステージに復帰し、その次のステージであるＷＢステージから動作を再開する。
【０１８７】
本実施の形態で説明した動作モード間の関係を図１７の状態遷移図に示す。
クロック停止モード１とクロック停止モード２とでは、クロック信号の供給が停止される回路の範囲が異なる。つまり、クロック停止モード１においては、情報処理コア１０３内の全回路へのクロック信号の供給が停止される。一方、クロック停止モード２においては、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号の供給が停止される。すなわち、本実施の形態で説明した状態遷移は、通所動作モードとクロック停止モード２との間での状態遷移である。
【０１８８】
以上説明したように、本実施の形態によると、情報処理コア１０３で実行される命令が「ロード命令」の場合に、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。また、データ読み出し完了時刻予測部１１０ａが予測したデータ読み出し完了時刻にクロック信号の供給が再開される。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード命令実行時にロード遅延が発生する場合に、電力消費を抑えることができる。
【０１８９】
（実施の形態１０）
次に、本発明の実施の形態１０について説明する。本実施の形態に係る低消費電力型情報処理装置では、実施の形態６とクロック信号供給の停止解除タイミングの決定方法が異なる。すなわち、本実施の形態に係る低消費電力型情報処理装置の情報処理コアは、割り込みに基づいて、クロック信号の供給停止の解除を行なう。
【０１９０】
本実施の形態に係る低消費電力型情報処理装置の構成は、図１０に示した実施の形態５に係る低消費電力型情報処理装置１０１と同様の構成を有する。
【０１９１】
図１８は、本実施の形態に係る情報処理コアの構成を示す図である。
情報処理コア１０３は、図６に示した実施の形態２に係る情報処理コア１０３の構成において、割り込み制御部２４０が新たに付け加えられ、クロック制御論理回路２３３の構成が変わったものである。
【０１９２】
割り込み制御部２４０は、メモリ制御部１１０のデータ読み出し完了時刻予測部１１０ａより出力されるクロック停止解除信号１１２を割り込みとして受け、クロック制御論理回路２３３に停止解除信号を伝達する。
【０１９３】
クロック制御論理回路２３３は、割り込み制御部２４０より伝達される停止解除信号に応答して、クロック信号の供給停止を解除する。
【０１９４】
本実施の形態では、実施の形態６で説明した命令フェッチの実行時において、「クロック停止モード」と「通常動作モード」と呼ばれる二つの動作状態を定義する。
【０１９５】
「クロック停止モード」とは、ＤＲＡＭ１０２からフェッチする命令の待ち状態であるか、またはそれを含む、クロック信号の供給が停止されている低消費電力の動作状態である。「通常動作モード」とは、「クロック停止モード」以外の動作状態である。
【０１９６】
本実施の形態では、情報処理コア１０３に割り込み制御部２４０を設けているため、クロック停止モードから通常動作モードへの状態遷移は、割り込みによるクロック停止状態からの起床として実現される。実施の形態６で説明したデータ読み出し完了時刻予測部１１０ａより出力されるクロック停止解除信号１１２は、起床割り込みとして割り込み制御部２４０に入力される。命令フェッチ時に、クロック信号の供給停止を解除する場合、以下の手順を経る。なお、クロック信号の供給停止までの処理（通常動作モードからクロック停止モードへの遷移処理）は、実施の形態６と同様である。
【０１９７】
（１）メモリ制御部１１０がＤＲＡＭ１０２からフェッチした命令を受信すると、メモリ制御部１１０はクロック停止解除信号１１２をアサートする。
（２）クロック停止解除信号１１２が、起床割り込みとして割り込み制御部２４０に入力される。その割り込み要因は常に有効化（許可）されるように、割り込み要因ＮＭＩとして実装される。割り込み制御部２４０は、その割り込み要因を受け付ける。情報処理コア１０３の動作状態は、クロック停止モードから通常動作モードへ遷移する。
（３）割り込み制御部２４０は、クロック制御論理回路２３３にクロック信号の供給停止解除を伝える。クロック制御論理回路２３３はクロック信号の供給を復活させることにより、情報処理コア１０３を起床させる。
（４）情報処理コア１０３は該フェッチ中の命令のＩＦステージに復帰し、その次のステージであるＤＥＣステージから動作を再開する。
【０１９８】
以上説明したように、本実施の形態によると、命令フェッチ時において、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。また、データ読み出し完了時刻予測部１１０ａが予測したデータ読み出し完了時刻にクロック信号の供給が再開される。これにより、クロック信号の供給が停止された回路の電力消費が低減され、命令フェッチ時にロード遅延が発生する場合に、電力消費を抑えることができる。
【０１９９】
（実施の形態１１）
以下、本発明の実施の形態１１について説明する。本実施の形態に係る低消費電力型情報処理装置では、実施の形態５とクロック信号供給の停止解除タイミングの決定方法が異なる。すなわち、本実施の形態では、データキャッシュ１０７にロードデータが書き込まれることを契機として、クロック信号の供給停止が解除される。
【０２００】
本実施の形態に係る低消費電力型情報処理装置の構成は、図７に示した実施の形態３と同様の構成を有する。
【０２０１】
図１９は、本実施の形態に係る情報処理コアの構成を示す図である。本図に示す情報処理コア１０３は、図８に示した実施の形態３に係る情報処理コア１０３の構成において、クロック制御論理回路２３３の構成が異なる。また、データキャッシュ１０７のタグ部２３６の構成も異なる。すなわち、タグ部２３６は、データ部２３５にロードデータが書込まれた際に、書込み信号を出力する。クロック制御論理回路２３３は、タグ部２３６が出力した書込み信号に応答して、クロック信号の供給停止を解除する。
【０２０２】
ロード命令実行時に、クロック信号の供給停止を解除する場合、以下の手順を経る。なお、クロック信号の供給停止までの処理は、実施の形態３と同様である。また、データキャッシュ１０７にロードデータが書込まれるのを待つ間、データキャッシュ１０７へ供給されるクロック信号は停止されないものとする。
【０２０３】
（１）ロードデータがデータキャッシュ１０７に書き込まれる。
（２）データキャッシュ１０７のタグ部２３６は、ロードデータが到着したことを検知し、書込み信号をクロック制御論理回路２３３に通知する。
（３）クロック制御論理回路２３３は、データキャッシュ１０７のタグ部２３６より通知される書込み信号に応答し、クロック信号の供給停止を解除し、クロック信号供給を復活させる。
【０２０４】
上述の（２）において、書込み信号を出力するタイミングは、データキャッシュ１０７のデータ部２３５のライン上に、ロードストアユニット２２７がアクセス要求を行なったアドレスのデータが記憶されたタイミングである。
【０２０５】
以上説明したように、本実施の形態によると、ロード命令実行時のＭＥＭステージにおいてキャッシュミスが発生した場合には、ロードストアユニット２２７中のロードバッファ２２９以外の情報処理コア１０３中の回路へのクロック信号供給を停止するようにしている。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード遅延が発生する場合に、電力消費を抑えることができる。
【０２０６】
また、実施の形態５では、データ読み出し完了時刻予測部１１０ａがロードデータの読み出し完了時刻の予測を行なっていたが、本実施の形態では、このような特別な回路を設けなくてもクロック信号の供給停止を解除することができる。
【０２０７】
（実施の形態１２）
以下、本発明の実施の形態１２について説明する。本実施の形態に係る低消費電力型情報処理装置では、実施の形態６とクロック信号供給の停止解除タイミングの決定方法が異なる。すなわち、本実施の形態では、命令キャッシュ１０５に次命令が書き込まれることを契機として、クロック信号の供給停止が解除される。
【０２０８】
本実施の形態に係る低消費電力型情報処理装置の構成は、図７に示した実施の形態３に係る低消費電力型情報処理装置１０１と同様の構成を有する。
【０２０９】
図２０は、本実施の形態に係る情報処理コアの構成を示す図である。本図に示す情報処理コア１０３は、図９に示した実施の形態４に係る情報処理コア１０３の構成において、クロック制御論理回路２３３の構成が異なる。また、命令キャッシュ１０５内のタグ部２３８の構成も異なる。すなわち、タグ部２３８は、データ部２３７に次命令が書込まれた際に、書込み信号を出力する。クロック制御論理回路２３３は、タグ部２３８が出力した書込み信号に応答して、クロック信号の供給停止を解除する。
【０２１０】
命令フェッチ時に、クロック信号の供給停止を解除する場合、以下の手順を経る。なお、クロック信号の供給停止までの処理は、実施の形態４と同様である。また、命令キャッシュ１０５に次命令が書込まれるのを待つ間、命令キャッシュ１０５へ供給されるクロック信号は停止されないものとする。
【０２１１】
（１）次命令が命令キャッシュ１０５に書き込まれる。
（２）命令キャッシュ１０５のタグ部２３８は次命令が到着したことを検知し、書込み信号をクロック制御論理回路２３３に通知する。
（３）クロック制御論理回路２３３は、命令キャッシュ１０５のタグ部２３８より通知される書込み信号に応答し、クロック信号の供給停止を解除し、クロック信号供給を復活する。
【０２１２】
上述の（２）において、書込み信号を出力するタイミングは、命令キャッシュ１０５のデータ部２３７のライン上に、命令フェッチユニット２２１がアクセス要求を行なったアドレスのデータが記憶されたタイミングである。
【０２１３】
以上説明したように、本実施の形態によると、命令フェッチ時において、キャッシュミスが発生した場合には、命令フェッチユニット２２１以外の情報処理コア１０３中の回路へのクロック信号供給を停止するようにしている。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード遅延が発生する場合に、電力消費を抑えることができる。
【０２１４】
また、実施の形態６では、データ読み出し完了時刻予測部１１０ａがロードデータの読み出し完了時刻の予測を行なっていたが、本実施の形態では、このような特別な回路を設けなくてもクロック信号の供給停止を解除することができる。
【０２１５】
（実施の形態１３）
次に、本発明の実施の形態１３について説明する。本実施の形態では、情報処理コアが読み出すデータがなくなると、所定の回路へのクロック信号の供給を停止するものである。
【０２１６】
図２１は、本実施の形態に係る低消費電力型情報処理装置１０１の構成を示す図である。
【０２１７】
この低消費電力型情報処理装置１０１は、図３に示した実施の形態１に係る低消費電力型情報処理装置１０１と異なり、ＤＭＡ転送により、ＤＲＡＭ１０２からデータＳＲＡＭ１０６へデータをバースト転送する装置であり、情報処理コア１０３と、データＳＲＡＭ１０６と、バス制御部１０８と、メモリ制御部１１０と、ＰＬＬ１１１と、ＤＭＡ（Direct Memory Access）制御部２４１とを含む。上述の実施の形態と同様の構成要素については同一の符号を付している。その名称および機能も同一であるため、説明は繰り返さない。なお、バス制御部１０８の内部には、ＦＩＦＯ方式によりデータを入出力するデータキュー２４２が含まれる。
【０２１８】
ＤＭＡ制御部２４１は、データキュー２４２およびデータＳＲＡＭ１０６を制御することにより、ＤＲＡＭ１０２からデータＳＲＡＭ１０６へのバースト転送を制御する。
【０２１９】
データキュー２４２は、データキューが空か否かを示すデータキュー状態信号を出力する。
【０２２０】
例えば、低消費電力型情報処理装置１０１では、ＤＲＡＭ１０２上に配置されたＭＰＥＧ（Moving Picture Experts Group）標準やＪＰＥＧ（Joint Photographic Experts Group）標準で圧縮されたビットストリーム画像データを情報処理コア１０３が伸長し、再びＤＲＡＭ１０２上のフレームバッファに復元された画像データを書き戻すような処理が想定される。
【０２２１】
図２２は、本実施の形態に係る情報処理コアの構成を示す図である。本図に示す情報処理コア１０３は、図４に示した実施の形態１に係る情報処理コア１０３からロード元アドレス空間識別論理回路２３２を除き、クロック制御論理回路２３３の構成が異なるものである。
【０２２２】
クロック制御論理回路２３３は、低消費電力型情報処理装置１０１のデータキュー２４２より出力されるデータキュー状態信号を受け、データキュー状態信号がデータキュー２４２が空であることを示している場合には、所定の回路へのクロック信号の供給を停止させ、データキューが空でない場合には、クロック信号の供給停止を解除させる。
【０２２３】
次に、ＤＭＡ転送の手順について説明する。
【０２２４】
（１）ＤＭＡ制御部２４１は、メモリ制御部１１０を通じて、ＤＲＡＭ１０２の転送元アドレスの連続領域からデータ列を読み出す。
（２）ＤＭＡ制御部２４１からの指令に基づいて、バス制御部１０８はＤＲＡＭ１０２から読み出されたデータ列をＦＩＦＯ方式のデータキュー２４２に書き込む。
（３）情報処理コア１０３は、データキュー２４２に書き込まれたデータ列を書き込まれた順に読み出す。ここで、特に、
（３−１）データキュー２４２がフルになると、ＤＭＡ制御部２４１はデータキュー２４２へのデータ転送を停止し、情報処理コア１０３による読み出しを待つ。
（３−２）データキュー２４２が空になると、データキュー２４２が空である状態を示すデータキュー状態信号がクロック制御論理回路２３３に伝えられる。情報処理コア１０３はそれ以上データ列を読み出せないので、クロック制御論理回路２３３は情報処理コア１０３のＭＥＭステージ以降に属する構成要素（ＭＥＭステージおよびＷＢステージで処理を実行する構成要素）へのクロック信号供給を停止することにより、それらの動作を停止する。次いでデータキュー２４２が空でなくなると、データキュー２４２が空でないことを示すデータキュー状態信号がクロック制御論理回路２３３に伝えられる。クロック制御論理回路２３３はクロック信号供給を再開し、情報処理コア１０３はデータキュー２４２からの読み出し動作を再開する。
【０２２５】
なお、情報処理コア１０３による読み出し速度がＤＭＡ制御部２４１による書き込み速度より小さい場合には、データキュー２４２がフルになりやすく、逆の場合には、データキュー２４２は空になりやすい。
【０２２６】
以上説明したように、本実施の形態によると、ＤＭＡ転送において、情報処理コア１０３が処理すべきデータがない場合には、ＭＥＭステージ以降に属する構成要素へのクロック信号の供給を停止させる。これにより、クロック信号の供給が停止された回路の電力消費が低減され、ロード遅延が発生する場合に、電力消費を抑えることができる。
【０２２７】
（実施の形態１４）
次に、本発明の実施の形態１４について説明する。本実施の形態では、データキャッシュからメモリにデータを書き戻す際のロード遅延時に、所定の回路へのクロック供給を停止させるものである。
【０２２８】
図２３は、本実施の形態に係る低消費電力型情報処理装置１０１の構成を示す図である。
【０２２９】
低消費電力型情報処理装置１０１は、複数の情報処理コアを含み、情報処理コア毎にデータキャッシュが設けられている低消費電力型情報処理装置であり、第１情報処理コア１０３ａと、第２情報処理コア１０３ｂと、第３情報処理コア１０３ｃと、第１データキャッシュ１０７ａと、第２データキャッシュ１０７ｂと、第３データキャッシュ１０７ｃと、バス制御部１０８と、周辺回路１０９と、メモリ制御部１１０と、ＰＬＬ１１１とを含む。
【０２３０】
第１情報処理コア１０３ａ、第２情報処理コア１０３ｂおよび第３情報処理コア１０３ｃは、図８に示した実施の形態３に係る情報処理コア１０３と同様の構成を有する。なお、各情報処理コアのクロック制御論理回路２３３には、後述するタイミングでクロック停止解除信号がメモリ制御部１１０より入力される。クロック制御論理回路２３３は、クロック停止解除信号に応答して、クロック信号の供給停止を解除する。
【０２３１】
第１データキャッシュ１０７ａ、第２データキャッシュ１０７ｂおよび第３データキャッシュ１０７ｃは、図８に示した実施の形態３に係る情報処理コア１０３と同様の構成を有する。第１データキャッシュ１０７ａ、第２データキャッシュ１０７ｂおよび第３データキャッシュ１０７ｃは、それぞれ、第１情報処理コア１０３ａ、第２情報処理コア１０３ｂおよび第３情報処理コア１０３ｃとＤＲＡＭ１０２との間に設けられている。
【０２３２】
バス制御部１０８は、第１情報処理コア１０３ａ〜第３情報処理コア１０３ｃおよび第１データキャッシュ１０７ａ〜第３データキャッシュ１０７ｃに接続されている。
【０２３３】
メモリ制御部１１０は、後述するタイミングでクロック停止解除信号を送出するものとする。
【０２３４】
その他の構成要素は、上述の実施の形態と同様である。
以下のような場合には、第１データキャッシュ１０７ａ〜第３データキャッシュ１０７ｃに書き込まれたデータをＤＲＡＭ１０２に書き戻さなければならない。
【０２３５】
（ａ）情報処理コアから、ライトスルー方式のデータキャッシュへのデータ書き込みが発生する場合
（ｂ）スヌープによりデータキャッシュの一貫性を保つ場合
（ｃ）ライン不足によるリフィルにより、データキャッシュのラインデータの入れ替えが生じる場合
（ｄ）ライトバック方式のデータキャッシュであっても、ラインデータがパージされる場合
【０２３６】
上記のような状況においてＤＲＡＭ１０２へ第１データキャッシュ１０７ａに記憶されているデータをストアする場合、ロード命令の実行と同様に長いストア完了待ち時間が発生する。
【０２３７】
例えば、ストア命令の実行によりリフィルが発生する場合について以下に説明する。上述の（ａ）〜（ｄ）の場合も同様である。なお、ＤＲＡＭ１０２へ第２データキャッシュ１０７ｂに記憶されているデータをストアする場合、ＤＲＡＭ１０２へ第３データキャッシュ１０７ｃに記憶されているデータをストアする場合も同様である。
【０２３８】
（１）ＤＥＣステージにおいて、ソースオペランドとしてストアデータがレジスタファイル２２６から読み出される。
（２）ＥＸステージにおいて、ストアデータがストアバッファ２３０に書き込まれる。
（３）ＭＥＭステージにおいて、ストアデータが第１データキャッシュ１０７ａに書き込まれるはずであるが、データキャッシュ１０７のラインに空きがなく、かつキャッシュミスが発生するものとする。この場合、ＬＲＵ（Least Recently Used）アルゴリズムなどに基づいてデータキャッシュ１０７はデータキャッシュ１０７中の古いエントリをＤＲＡＭ１０２に排出し、代わりに新規エントリとしてストアデータを書き込む。
（４）ロードストアユニット２２７は、バス制御部１０８を通じて、メモリ制御部１１０に対し、ＤＲＡＭ１０２へ排出されたエントリへの書き込みアクセスを要求する。
（５）同時に、タグ部２３６は、キャッシュヒット／ミス判定論理信号をアサートし、クロック制御論理回路２３３は、ロードストアユニット２２７以外の第１情報処理コア１０３ａ中の回路へのクロック信号供給を停止する。
（６）メモリ制御部１１０が，ＤＲＡＭ１０２のストア先アドレスへソースオペランドを書き込む。
（７）ＤＲＡＭ１０２への書き込み完了に伴い、メモリ制御部１１０は、第１情報処理コア１０３ａへクロック停止解除信号を送出する。
（８）クロック制御論理回路２３３は、クロック停止解除信号に応答して、クロック信号供給の停止を解除する。
（９）情報処理コア１０３はＭＥＭステージを完了し、ＷＢステージから動作を再開する。
【０２３９】
以上説明したように、本実施の形態によると、データキャッシュからＤＲＡＭへのデータの書き戻し時に、ロードストアユニット２２７以外の情報処理コアの回路へのクロック信号の供給を停止することができる。このため、クロック信号の供給が停止された回路の電力消費が低減され、ストア（ライトバック）完了待ちが発生する場合に、電力消費を抑えることができる。
【０２４０】
なお、本実施の形態では、情報処理コアを複数備える低消費電力型情報処理装置を例にして説明を行なったが、上記（ａ）、（ｃ）および（ｄ）については、実施の形態３に示したような情報処理コアが１つの低消費電力型情報処理装置に対しても本実施の形態の方法を適用可能である。
【０２４１】
（実施の形態１５）
次に、本発明の実施の形態１５について説明する。実施の形態１４では、データキャッシュからメモリへデータを書き戻す際のロード遅延について説明を行なったが、情報処理コアがストアバッファを有する低消費電力型情報処理装置の場合には、ストアバッファがオーバーフローする場合がある。この場合には、ストアバッファ中の最も古いデータをメモリへ書き出さねばならずロード遅延が生じる。本実施の形態では、ストアバッファからメモリにデータを書き戻す際のロード遅延時に所定の回路へのクロック信号の供給を停止させるものである。
【０２４２】
本実施の形態に係る低消費電力型情報処理装置および情報処理コアの構成は、図７および図８に示した実施の形態３に係る低消費電力型情報処理装置１０１および情報処理コア１０３の構成とそれぞれ同様である。
【０２４３】
以下、情報処理コア１０３のストアバッファ２３０がオーバーフローする際の、ＤＲＡＭ１０２へのデータのストア動作について説明する。
【０２４４】
（１）ＤＥＣステージにおいて、ソースオペランドとしてストアデータがレジスタファイル２２６から読み出される。
（２）ＥＸステージにおいて、ストアデータがストアバッファ２３０に書き込まれようとして、ストアバッファ２３０がオーバーフローする。
（３）ストアバッファ２３０中の最も古いデータが排出され、前記ストアデータが新エントリに書き込まれる。
（４）ロードストアユニット２２７は、バス制御部１０８を通じて、メモリ制御部１１０へＤＲＡＭ１０２への排出されたエントリの書き込みアクセスを要求する。
（５）同時に、キャッシュヒット／ミス判定論理信号がアサートされ、クロック制御論理回路２３３は、ロードストアユニット２２７以外の情報処理コア１０３中の回路へのクロック信号供給を停止する。
（６）メモリ制御部１１０がＤＲＡＭ１０２のストア先アドレスへソースオペランドを書き込む。
（７）ＤＲＡＭ１０２への書き込み完了に伴い、メモリ制御部１１０は、情報処理コア１０３へクロック停止解除信号１１２を送出する。
（８）情報処理コア１０３はＭＥＭステージを完了し、ＷＢステージから動作を再開する。
【０２４５】
以上説明したように、本実施の形態によると、ストアバッファ２３０からＤＲＡＭ１０２へデータをストアする際のロード遅延時に、ロードストアユニット２２７以外の情報処理コア１０３中の回路へのクロック信号供給を停止することができる。このため、クロック信号の供給が停止された回路の電力消費が低減され、ストア（ライトバック）完了待ちが発生する場合に、電力消費を抑えることができる。
【０２４６】
（実施の形態１６）
次に、本発明の実施の形態１６について説明する。本実施の形態では、パイプラインステージにおいて、機能が停止するステージで動作する回路に対するクロック信号の供給を停止するものである。
【０２４７】
本実施の形態は、上述のすべての実施の形態に適用可能である。
本実施の形態においては、パイプラインステージのクロック信号の供給停止は以降のステージに伝播させる。例えば、ＭＥＭステージがクロックを停止されたサイクルの次のサイクルにおいて、ＷＢステージはその機能を停止するので、ＷＢステージに属する構成要素のクロックも停止することができる。
【０２４８】
命令ごとに、クロック信号の供給が停止しているか否かを示すクロック停止状態フラグを設け、クロック停止状態フラグを連続するステージ間で伝播させることにより、無駄なステージに対しクロック信号を供給しないように、パイプライン制御を実現することが可能になる。たとえば、以下のような場合に、当該パイプライン制御を実現することができる。
【０２４９】
（事例１）ｎｏｐ命令がパイプラインに流れて来る場合、ＩＦ→ＤＥＣステージと流れた後に、ＤＥＣステージでｎｏｐ命令と判別されると、以降の、ＥＸステージ、ＭＥＭステージおよびＷＢステージへクロック停止状態が伝播し、当該ステージに属する構成要素へのクロック信号の供給が停止される。
（事例２）命令の種類によって、動作しないステージが出現する場合がある。処理が行われないステージにおいて、そのステージに属する構成要素へのクロック信号の供給を停止する。例えば、演算命令ではＭＥＭステージでは何も処理が行なわれないため、ＭＥＭステージに属する構成要素へのクロック信号の供給が停止される。同様に、ストア命令ではＷＢステージにおいて、分岐命令ではＭＥＭステージとＷＢステージとにおいて、それぞれ当該ステージに属するクロック信号の供給が停止される。
【０２５０】
以上説明したように、本実施の形態によると、何も処理が実行されないステージに属する構成要素へのクロック信号が停止される。このため、クロック信号の供給が停止された回路の電力消費が低減され、電力消費を抑えることができる。
【０２５１】
（実施の形態１７）
次に、本発明の実施の形態１７について説明する。
【０２５２】
これまで、クロック供給停止に関し実施の形態１〜１６に多様な実施の形態を述べたが、同じ考え方を使って情報処理コア１０３の一部の回路への電源供給を遮断することが可能である。電源供給を遮断する場合、クロック信号の供給停止と異なり、揮発性の記憶素子（順序回路）が停止前の通常動作状態における状態を記憶保持すること、すなわち停止前の状態へ復帰することができなくなる。したがって、クロック信号の供給停止に比べ電源遮断を適用できる範囲は通常狭く、フラッシュメモリなどの不揮発性の記憶デバイスとその周辺回路（組み合わせ回路）に限られる。
【０２５３】
（実施の形態１８）
次に、本発明の実施の形態に１８について説明する。
【０２５４】
上記各種の実施の形態で説明された機能を実装する低消費電力型情報処理装置は、半導体製品として実現される場合、ＳｏＣやシステムＬＳＩと呼ばれる。これらＳｏＣは様々な携帯型情報機器に搭載され、これら機器の電池による長時間動作を実現する。携帯型情報機器として、携帯電話、携帯型ゲーム機、ビデオカメラ、静止画カメラ、ＰＤＡ（Personal Digital Assistant）、携帯型ＰＣ（Personal Computer）、電子辞書、などが挙げられる。低消費電力化の要望が強い情報機器として、カーナビゲーションなど車載型製品が挙げられる。
【０２５５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２５６】
本発明に係る低消費電力型情報処理装置は、ディジタル情報機器や携帯通信装置などに組み込まれ、電池で駆動される制御用マイクロプロセッサやマイクロコントローラとして有用である。また組み込み向けＤＭＡ制御用ＬＳＩやＤＳＰなどの用途にも応用できる。
【図面の簡単な説明】
【０２５７】
【図１】パイプライン処理における各処理ステップについて説明するための図である。
【図２】バス信号線の表記法を示す図である。
【図３】本発明の実施の形態１に係る低消費電力型情報処理装置を含むシステムの構成を示す図である。
【図４】本発明の１に係る情報処理コアの構成を示す図である。
【図５】クロックゲーティングを説明するための図である。
【図６】本発明の２に係る情報処理コアの構成を示す図である。
【図７】本発明の３に係る低消費電力型情報処理装置を含むシステムの構成を示す図である。
【図８】本発明の３に係る情報処理コアの構成を示す図である。
【図９】本発明の４に係る情報処理コアの構成を示す図である。
【図１０】本発明の５に係る低消費電力型情報処理装置を含むシステムの構成である。
【図１１】本発明の５に係る情報処理コアの構成を示す図である。
【図１２】本発明の６に係る情報処理コアの構成を示す図である。
【図１３】本発明の７に係る情報処理コアの構成を示す図である。
【図１４】本発明の８に係る情報処理コアの構成を示す図である。
【図１５】命令フェッチユニットの構成を示す図である。
【図１６】本発明の９に係る情報処理コアの構成を示す図である。
【図１７】通常動作モードとクロック停止モードと間の状態遷移図である。
【図１８】本発明の１０に係る情報処理コアの構成を示す図である。
【図１９】本発明の１１に係る情報処理コアの構成を示す図である。
【図２０】本発明の１２に係る情報処理コアの構成を示す図である。
【図２１】本発明の１３に係る低消費電力型情報処理装置の構成を示す図である。
【図２２】本発明の１３に係る情報処理コアの構成を示す図である。
【図２３】本発明の実施の形態１４に係る低消費電力型情報処理装置の構成を示す図である。
【符号の説明】
【０２５８】
１０１  低消費電力型情報処理装置
１０２  ＤＲＡＭ
１０３  情報処理コア
１０３ａ  第１情報処理コア
１０３ｂ  第２情報処理コア
１０３ｃ  第３情報処理コア
１０４  命令ＲＯＭ
１０５  命令キャッシュ
１０６  データＳＲＡＭ
１０７  データキャッシュ
１０７ａ  第１データキャッシュ
１０７ｂ  第２データキャッシュ
１０７ｃ  第３データキャッシュ
１０８  バス制御部
１０９  周辺回路
１１０  メモリ制御部
１１０ａ  完了時刻予測部
１１１  ＰＬＬ
１１２  クロック停止解除信号
２２１  命令フェッチユニット
２２２  命令デコードユニット
２２３  オペランドアドレス計算ユニット
２２４  命令アドレス計算ユニット
２２５  命令実行ユニット
２２６  レジスタファイル
２２７  ロードストアユニット
２２８  パス選択器
２２９  ロードバッファ
２３０  ストアバッファ
２３１  プログラムカウンタ
２３２  ロード元アドレス空間識別論理回路
２３３  クロック制御論理回路
２３５、２３７  データ部
２３６、２３８  タグ部
２３９  命令バッファ
２３９ａ  命令レジスタ
２３９ｃ  プログラムカウンタ
２３９ｂ  増分器
２４０  割り込み制御部
２４１  ＤＭＡ制御部
２４２  データキュー
２５２  フェッチアドレス空間識別論理回路
２６１  キャッシュコントローラ
３０１  Ｄ−ＦＦ
３０３  バッファ
３０５  ＡＮＤゲート
【図１】
2008269365.tif 000013
【図２】
2008269365.tif 000014
【図３】
2008269365.tif 000015
【図４】
2008269365.tif 000016
【図５】
2008269365.tif 000017
【図６】
2008269365.tif 000018
【図７】
2008269365.tif 000019
【図８】
2008269365.tif 000020
【図９】
2008269365.tif 000021
【図１０】
2008269365.tif 000022
【図１１】
2008269365.tif 000023
【図１２】
2008269365.tif 000024
【図１３】
2008269365.tif 000025
【図１４】
2008269365.tif 000026
【図１５】
2008269365.tif 000027
【図１６】
2008269365.tif 000028
【図１７】
2008269365.tif 000029
【図１８】
2008269365.tif 000030
【図１９】
2008269365.tif 000031
【図２０】
2008269365.tif 000032
【図２１】
2008269365.tif 000033
【図２２】
2008269365.tif 000034
【図２３】
2008269365.tif 000035