JP5427775B2 - 低パワーキャッシュアクセスモードを備えたデータ処理デバイス - Google Patents

低パワーキャッシュアクセスモードを備えたデータ処理デバイス Download PDF

Info

Publication number
JP5427775B2
JP5427775B2 JP2010506332A JP2010506332A JP5427775B2 JP 5427775 B2 JP5427775 B2 JP 5427775B2 JP 2010506332 A JP2010506332 A JP 2010506332A JP 2010506332 A JP2010506332 A JP 2010506332A JP 5427775 B2 JP5427775 B2 JP 5427775B2
Authority
JP
Japan
Prior art keywords
processor
mode
cache
voltage
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010506332A
Other languages
English (en)
Other versions
JP2010526374A (ja
Inventor
ブラノバー アレックス
ピー. ヘルムズ フランク
スタインマン モーリス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2010526374A publication Critical patent/JP2010526374A/ja
Application granted granted Critical
Publication of JP5427775B2 publication Critical patent/JP5427775B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)

Description

本開示はプロセッサに関し、より詳細には、複数のモードでキャッシュトランザクションを処理するプロセッサに関する。
プロセッサのなかには、アクティブモード、低パワーまたはスリープモードなどの複数のモードで動作できるものがある。アクティブモードでは、電圧調整器が、プロセッサが命令を実行し、通常動作を実行できる電圧をプロセッサに供給する。低パワーモードでは、電圧調整器は、プロセッサがその内部状態を保持するが、命令またはその他の通常動作は実行することができない保持電圧を供給する。保持電圧はアクティブモードで供給される電圧よりも低く、このため、プロセッサが電力を節約することが可能となる。プロセッサは、低パワーモードに移行して、電力を節約するが、アクティブモードへの復帰時に、低パワーモードに入る前の状態から動作を続けることができるように、その内部状態を保持することができる。
プロセッサのなかには、コヒーレントなメモリ空間をサポートしたり、デバイスの他のモジュールに、プロセッサのキャッシュに対するアクセスを許可しているものがある。プロセッサの低パワーモード中に、コヒーレンシを保つためにキャッシュトランザクションを実行したり、ほかのモジュールから受け取ったアクセス要求に応じるために、従来のプロセッサは、低パワーモードからアクティブモードに切り替わっていた。
しかし、電圧調整器の物理的特性により、プロセッサが、低パワーモードからアクティブモードに、迅速には移行することができない。このため、従来のプロセッサでは、通常、受け取ったキャッシュトランザクション要求が増えると、低パワーモードに移行する回数が減り、このため、低パワーモードに入る回数が減る。この結果、電力がプロセッサによって望ましくない形で消費されてしまうことがある。このため、新しい処理デバイスおよび方法が求められている。
3つの異なるモードで動作することができるプロセッサが開示される。アクティブモードでは、プロセッサが命令を実行できるのに十分な第1の電圧(ここでは「アクティブ電圧」と呼ぶ)がプロセッサに供給される。低パワーモードでは、プロセッサに保持電圧が供給され、この保持電圧は、プロセッサが命令を実行するには不十分であるが、低パワーモードに移行する前に記憶していた状態情報をプロセッサが保持するには十分である。プロセッサの消費電力は、保持モードではアクティブモードよりも低い。また、プロセッサは、以下「キャッシュ−トランザクション処理モード」と呼ぶ、第3のモードで動作することができる。このモードでは、プロセッサが、コヒーレンシメッセージなどのキャッシュメッセージを処理するには十分であるが、他の通常動作を実行するには不十分であるか、あるいはアクティブモードでのプロセッサの性能に対して極めて低い速度でしか通常動作を実行できない電圧(ここでは「キャッシュ−トランザクション処理電圧」と呼ぶ)が、プロセッサに供給される。キャッシュ−トランザクション処理モードでプロセッサに供給される電圧は、アクティブモードの電圧よりも低いが、保持モードの電圧よりは高い。
プロセッサが低パワーモード時にキャッシュトランザクションを実行すべき場合、プロセッサはキャッシュ−トランザクション処理モードに移行して、キャッシュトランザクションを処理する。キャッシュトランザクションの処理が完了すると、プロセッサは低パワーモードに戻る。低パワーモードで供給される保持電圧と、キャッシュ−トランザクション処理モードでプロセッサに供給されるキャッシュ−トランザクション処理電圧との差が(保持電圧とアクティブ電圧との電圧差に比べて)比較的小さいため、プロセッサは、低パワーモードとキャッシュ−トランザクション処理モード間を、(低パワーモードからアクティブモードへの移行と比べて)迅速に移行することができる。これにより、プロセッサが長時間、低パワーモードに留まることができ、電力消費を低減することができる。
複数の動作モードを有するプロセッサを搭載したデバイスの特定の実施形態のブロック図。 図1のプロセッサに供給される動作電圧の特定の実施形態のチャート。 図1のデバイスの周波数制御モジュールのブロック図。 プロセッサの動作モードを設定する方法の特定の実施形態のフローチャート。 プロセッサの動作モードを設定する代替の実施形態のフローチャート。
本発明は、添付の図面を参照することによって、より明確に理解することができ、その数多くの特徴および利点が当業者にとって明白となろう。
図1を参照すると、システム100のブロック図が開示される。システム100は、プロセッサ102、バス103、プロセッサ105、周辺デバイス106、周辺デバイス107および電圧調整器130を備える。プロセッサ102、プロセッサ105および周辺デバイス106,107は、それぞれバス103に接続されている。プロセッサ102は、電圧調整器130の入力に、V_CTRLで示す信号を供給する出力を有する。また、プロセッサ102は、電圧調整器130の出力から、VDDで示す調整可能な電圧を受け取るための入力を有する。
プロセッサ102とプロセッサ105は、それぞれ、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)などである。周辺デバイス106,107は、それぞれ、メモリコントローラ、入出力コントローラ、周辺機器コントローラなどである。また、システム100の図示した部分のそれぞれが、共通の半導体基板に一体化されても、異なる基板に設けられてもよい。例えば、プロセッサ102とプロセッサ105が、共通の半導体基板に一体化され、周辺デバイス106,107はこの半導体基板の外部に設けられてもよい。図示した実施形態では、電圧調整器130はプロセッサ102の外に設けられている。別の実施形態では、電圧調整器130がプロセッサ102内に実装されてもよい。
プロセッサ102は、動作時に、アクティブモード、低パワーモードおよびキャッシュ−トランザクション処理モードで動作することができる。アクティブモードでは、プロセッサ102は、命令を実行したり、他の通常動作を実行することができる。低パワーモードでは、プロセッサ102は保持状態に置かれ、プロセッサ102の状態が保持される。低パワーモードでは、プロセッサ102は、命令を実行することも、他の通常動作を実行することもできない。キャッシュ−トランザクション処理モードでは、プロセッサ102は、バス103を介して、プロセッサ105および周辺デバイス107,106によって供給されるキャッシュメッセージを処理することができる。キャッシュメッセージは、コヒーレンシトランザクションまたはアクセストランザクションなどのキャッシュトランザクションを処理するよう、プロセッサ102に対して求める要求を表す。プロセッサ102は、キャッシュメッセージを分析して、要求されたキャッシュトランザクションを適切な時点で実行することによって、キャッシュメッセージを処理する。
電圧調整器130は、プロセッサ102の3つのモードのそれぞれに対して、レベルの異なる動作電圧VDDを供給する。アクティブモードでは、プロセッサ102が命令を実行することができるように、動作電圧VDDがアクティブ電圧レベルに設定される。キャッシュ−トランザクション処理モードでは、動作電圧VDDが、アクティブ電圧レベルよりも低いキャッシュ−トランザクション処理電圧レベルに設定される。この電圧レベルでは、プロセッサ102がキャッシュメッセージを処理できるが、他の通常動作を実行することはできないか、あるいは、アクティブモードでの通常動作の性能に対して低い速度でしか他の通常動作を実行できない。低パワーモードでは、動作電圧VDDが保持電圧に設定され、これにより、プロセッサ102は状態情報を保持することはできるが、命令を実行することはできない。保持電圧は、キャッシュ−トランザクション処理電圧よりも低い。特定の実施形態では、保持電圧は約0.7ボルトであり、キャッシュ−トランザクション処理電圧は約0.75〜約0.8ボルトであり、アクティブ電圧は約1.1ボルトである。
電圧VDDのレベルは、信号V_CTRLによって制御される。このため、プロセッサ102は、新しいモードに入ると、信号V_CTRLを使用して、電圧VDDを、この新しいモードのために適切なレベルに設定するように電圧調整器130を設定する。
プロセッサ102は、さまざまな要因によりモードを変更することができる。例えば、プロセッサ102は、所定の時間期間(period of time)、システム100に対してユーザ入力が受信されないと、アクティブモードから低パワーモードに切り替わることができる。低パワーモードであっても、プロセッサ102は、プロセッサ105または周辺デバイス106,107からキャッシュメッセージを受け取ることができる。プロセッサ102をキャッシュ−トランザクション処理モードに移行させうるキャッシュメッセージの例としては、キャッシュプローブまたはキャッシュ読み出しメッセージ(例えば、キャッシュ位置に変更されているデータが含まれるかどうかを確認するためのメッセージ)、キャッシュ無効メッセージ(例えば、周辺デバイス106,107の一方によって、あるいはプロセッサ105によって、特定のキャッシュラインに関連するデータが変更されたため、当該キャッシュラインを無効にすべきことを示すメッセージ)、ならびにキャッシュ書き込みメッセージ(例えば、周辺デバイス106,107およびプロセッサ105がキャッシュに直接書き込むことを可能にするメッセージ)がある。プロセッサ102は、キャッシュメッセージを受け取ると、キャッシュ−トランザクション処理モードに入り、キャッシュメッセージを処理し、処理の完了時に低パワーモードに戻りうる。プロセッサ102がキャッシュメッセージを処理するためにアクティブモードに入る必要がないため、プロセッサ102は、低パワーモードに迅速に戻ることができ、電力を節約できる。
プロセッサ102は、プロセッサコア110、キャッシュ120、モード制御モジュール140、コヒーレンシエージェント150、および周波数制御モジュール160を備える。プロセッサコア110は、キャッシュ120との間の双方向接続を有する。また、プロセッサコア110は、信号FRQ_CTRLを受け取るための入力と、信号C_CTRL1を受け取るための入力も有する。キャッシュ120は、信号C_CTRL2を受け取るための入力を有する。コヒーレンシエージェントは、制御信号C_CTRL1、C_CTRL2およびC_CTRL3を供給するための出力を有する。モード制御モジュール140は、信号C_CTRL3を受け取るための入力、信号V_CTRLを供給するための出力、信号MODE_INDICATORを供給するための出力、および信号M_RCVを供給するための出力を有する。周波数制御モジュール160は、信号M_RCVを受け取るための入力と、信号FRQ_CTRLを供給するための出力とを有する。
プロセッサコア110は、アクティブモードでは命令を実行し、アクティブモードとキャッシュ−トランザクション処理モードで、キャッシュメッセージの処理などの他の動作を実行するように構成されている。また、プロセッサコア110は、キャッシュ120に、アクセス要求とコヒーレンシ情報を提供するようにも構成されている。
キャッシュ120は、プロセッサコア110によって要求が提供されるか、信号C_CTRL2を介して情報が提供されると、データを供給および記憶するように構成されている。また、キャッシュ120は、キャッシュ120が記憶しているデータのコヒーレンシ情報を保ち、プロセッサコア110からの要求または信号C_CTRL2を介して提供される情報に基づいて、このコヒーレンシ情報を変更することができる。
コヒーレンシエージェント150は、バス103を介してプロセッサ105および周辺デバイス106,107から、キャッシュトランザクション要求を表す(represent
cache transaction requests)キャッシュメッセージを受け取るように構成されている。キャッシュメッセージは、プロセッサ105および周辺デバイス106,107からのコヒーレンシトランザクションまたはキャッシュアクセス要求を表しうる。コヒーレンシエージェント150は、信号C_CTRL1、C_CTRL2およびC_CTRL3を介して、受信キャッシュメッセージに関する情報を提供する。
モード制御モジュール140は、受信キャッシュメッセージ140に関する情報を受け取るように構成され、プロセッサ102の動作モードを制御するように構成されている。モード制御モジュール140は、動作モードを制御するために、V_CTRL信号を介して動作電圧VDDを設定するための情報と、MODE_INDICATOR信号を介して、各動作モードでのプロセッサコア110のクロック周波数を設定するための情報と、M_RCV信号を介してキャッシュメッセージを受け取ったことを示すための情報とを提供する。
周波数制御モジュール160は、M_RCV信号を介してキャッシュメッセージを受け取ったことを示す情報と、MODE_INDICATOR信号を介して、プロセッサ102の動作モードを示す情報とを受け取るように構成されている。周波数制御モジュール106は、FRQ_CTRL信号を介して、プロセッサ102の動作モードに応じてプロセッサコア110のクロック周波数を設定するための情報を提供するように構成されている。また、周波数制御モジュール160は、規定の時間期間に受け取ったキャッシュメッセージの数を決定し、この決定に基づき、キャッシュ−トランザクション処理モードでのプロセッサコア110のクロック周波数を変更するための情報を、FRQ_CTRL信号を介して提供するようにも更に構成されている。
動作時に、プロセッサコア110は、アクティブモードでは、命令を実行してプロセッサ102のタスクを実行する。コヒーレンシエージェント150は、プロセッサ105のキャッシュ(図示なし)、または周辺デバイス106,107の一方によって制御されるメモリなどのシステム100の他のメモリと、キャッシュ120がコヒーレントな状態に保たれるようにする。コヒーレンシエージェント150は、バス103を介して、コヒーレンシメッセージなどのキャッシュメッセージを受け取る。コヒーレンシエージェント150は、受け取ったキャッシュメッセージに基づき、信号C_CTRL1を介してプロセッサコア110に、信号C_CTRL2を介してキャッシュ120に、コヒーレンシ情報をそれぞれ提供する。
例えば、コヒーレンシエージェント150は、あるメモリアドレスに関連するデータがプロセッサ105によって変更されていることを示すキャッシュメッセージを受け取ると、この変更をプロセッサコア110およびキャッシュ120に通知する。これに対して、プロセッサコア110およびキャッシュ120は、キャッシュ120に、そのメモリアドレスに関連するデータが記憶されているかどうかを判定し、記憶されていれば、キャッシュラインを無効にするなどの適切なアクションをとる。
モード制御モジュール140は、システム100の動作状況および他の要因に応じて、プロセッサ102の動作モードを制御する。例えば、システム100に対するユーザ入力が、規定の期間なかった場合、バスの動作が規定の期間なかった場合、あるいは、プロセッサ102またはプロセッサ105で実行されているオペレーティングシステムまたは他のソフトウェアが、プロセッサ102に対して低パワーモードへの移行を指示した場合、モード制御モジュール140は、動作モードを、アクティブモードから低パワーモードに変更しうる。また、モード制御モジュール140は、ユーザ入力または割り込みを受け取った場合に、動作モードを、低パワーモードからアクティブモードに変更しうる。モード制御モジュール140は、動作モードを変更するために、電圧調整器に信号V_CTRLを供給して、プロセッサ102の動作電圧VDDを変更する。また、モード制御モジュール140は、プロセッサコア110の各モードでのクロック周波数を設定するために、信号MODE_INDICATORを介して、周波数制御モジュール160に対して動作モードを通知する。
コヒーレンシエージェント150は、コヒーレンシメッセージを受け取ると、信号C_CTRL3を介してモード制御モジュール140に通知する。これに対して、モード制御モジュール140は、プロセッサ102が低パワーモードのときは、動作モードをキャッシュ−トランザクション処理モードに変更する。モード制御モジュール140は、プロセッサ102がキャッシュメッセージを処理できる適切なレベルに動作電圧VDDを設定するために、信号V_CTRLを供給する。また、モード制御モジュール140は、キャッシュメッセージを受け取ったことを、周波数制御モジュール160に通知する。プロセッサコア110がキャッシュメッセージの処理を完了すると、モード制御モジュール140は、プロセッサ102を低パワーモードに戻し、その際、動作電圧VDDのレベルも変更するため、電力を節約することができる。
代替の実施形態では、モード制御モジュール140は、受け取ったキャッシュメッセージの数がしきい値に達してはじめて、プロセッサ102の動作モードを変更しうる。この場合、未処理のキャッシュメッセージが全て処理されると、モード制御モジュール140はプロセッサを低パワーモードに戻す。
周波数制御モジュール160は、MODE_INDICATOR信号に基づいて、プロセッサコア110のクロック周波数を設定する。特定の実施形態では、クロック周波数は、低パワーモードでは約0に設定され、キャッシュ−トランザクション処理モードではアクティブモードよりも低い周波数に設定される。また、キャッシュ−トランザクション処理モードでは、周波数制御モジュールは、特定の時間期間に受け取ったキャッシュメッセージの数をカウントする。受け取ったキャッシュメッセージの数がしきい値を超える場合、周波数制御モジュール160は、FRQ_CTRL信号を介して、キャッシュ−トランザクション処理モードでのプロセッサコア110のクロック周波数を変更するための情報を提供する。これにより、プロセッサコア110がより多くの電力を消費するようになるが、キャッシュメッセージをより迅速に処理できるようになる。このため、キャッシュメッセージのしきい値の数を適切に設定することにより、プロセッサ102の全体的な電力消費を低減することができる。
図2を参照すると、システム100の動作中の、図1の電圧調整器130に対する電圧出力202の例を示すチャートが示される。図のチャートのy軸は電圧VDDのレベルを示し、x軸は時間を示す。図に示すように、期間204では、プロセッサ102はアクティブモードであり、動作電圧VDDはアクティブ電圧レベルである。時間205で、プロセッサ102を低パワーモードに移行させるように指示するモード変更指示が受信される。このモード変更指示は、ユーザ入力の発生時、ユーザ入力が所定の時間期間ない場合、あるいはほかの要因により受信されうる。例えば、ソフトウェアによって、モード変更指示が発行されることがある。別の実施形態では、ソフトウェアはモード変更指示の発行を開始することができるが、所定の時間期間、バス活動のないことが検出されるまで、指示が発行されない。別の実施形態では、モード変更指示は、所定の時間期間、バス活動がなければ、ソフトウェアによる開始がなくても発行されうる。
モード変更指示に対し、電圧VDDが保持電圧レベルに変更され、プロセッサ102が低パワーモードに移行し、期間206の間、低パワーモードのままとなる。時間207において、プロセッサ102がキャッシュメッセージを受け取る。これに対して、プロセッサ102は、キャッシュ−トランザクション処理モードに移行し、電圧レベルVDDがキャッシュ−トランザクション処理電圧レベルに設定される。プロセッサ102は、期間208の間、キャッシュ−トランザクション処理モードのままとなる。キャッシュメッセージの処理が完了すると、時間209において、プロセッサ102は低パワーモードに戻り、電圧調整器130によって供給される電圧VDDが、保持電圧に設定される。
期間208の長さは、プロセッサコア110のクロック周波数に応じて変わる。特定の期間に受け取ったキャッシュメッセージの数がしきい値を超えている場合には、期間208を縮めるためにクロック周波数が調整されうる。これにより、期間208にプロセッサ102によって消費される電力量が増えるが、プロセッサ102がより迅速にキャッシュメッセージを処理できるようになり、期間210において、より迅速に低パワー状態に戻れるようになる。このため、プロセッサ102の全体的な電力消費を低減させるように、キャッシュメッセージのしきい値の数が設定されうる。
時間211において、別のキャッシュメッセージが受信される。これに対して、電圧VDDがキャッシュ−トランザクション処理電圧レベルに設定され、プロセッサ102が、期間212の間キャッシュ−トランザクション処理モードに移行する。時間213においてキャッシュメッセージの処理が完了すると、プロセッサ102は低パワーモードに戻り、電圧VDDが、期間214の間、保持電圧レベルに設定される。このように、プロセッサ102は、キャッシュメッセージを受信するたびに、キャッシュ−トランザクション処理モードに移行して、低パワーモードに戻ることができる。
時間215において、プロセッサ102をアクティブモードに変更するように指示するモード変更指示が受信される。モード変更指示は、ユーザ入力の発生時、または他の要因により受信されうる。例えば、周辺デバイスが割り込みを開始し、これによってモード変更指示が発行されうる。別の実施形態では、所定の時間期間が経過すると、モード変更指示が受信されうる。モード変更指示に対し、プロセッサ102はアクティブモードに移行し、期間216の間、動作電圧VDDが最高レベルに再度設定される。
図3を参照すると、図1の周波数制御モジュール160に対応する周波数制御モジュール360の特定の実施形態のブロック図が示される。周波数制御モジュール360は、クロックモジュール305、タイムカウンタ306、コヒーレンシメッセージカウンタ310、および周波数選択モジュール315を備える。クロックモジュール305は、クロック信号CLKを供給するための出力を有する。タイムカウンタ306は、クロック信号CLKを受け取るための入力と、出力とを有する。コヒーレンシメッセージカウンタ310は、RESETで示す、タイムカウンタ306の出力に接続された入力を有する。また、コヒーレンシメッセージカウンタ310は、信号M_RCVを受け取るための入力と、出力も有する。周波数選択モジュール315は、コヒーレンシメッセージカウンタ310の出力に接続された入力と、MODE_INDICATOR信号を受け取るための入力と、信号FRQ_CTRLを供給するための出力とを有する。
動作時に、周波数選択モジュールは、MODE_INDICATOR信号が示す動作モードに基づいて、プロセッサコア110のクロック周波数を設定するための情報を、FRQ_CTRL信号を介して提供する。更に、コヒーレンシメッセージが受信されると、信号M_RCVを介して、コヒーレンシメッセージカウンタ310にも通知される。これに対して、コヒーレンシメッセージカウンタ310が記憶している値が調整される。また、タイマカウンタ306は、クロック信号CLKを基に、特定の時間期間後にコヒーレンシメッセージカウンタ310をリセットするための信号を、RESET入力に供給する。特定の実施形態では、カウンタ306は、初期値から開始し、クロック信号CLKの遷移を基に、ゼロに達するまでカウントダウンされるデクリメントカウンタである。カウンタ306がゼロに達すると、コヒーレンシメッセージカウンタをリセットするための信号が供給される。このため、コヒーレンシメッセージカウンタ310が記憶している値は、この時間期間に受信したコヒーレンシメッセージの数を示す。この時間期間は、固定値でも、プログラム可能な値でもよい。プログラム可能な値は、システム100のBIOSの値に基づいて設定されても、プロセッサ102で実行される命令に基づいて設定されても、あるいはほかの方法でユーザによってプログラムされてもよい。
コヒーレンシメッセージカウンタ310が記憶している値が、リセットされる前にしきい値を超えており、設定された時間期間に受け取ったコヒーレンシメッセージの数がしきい値を超えたことを示す場合には、コヒーレンシメッセージカウンタ310は、周波数選択モジュール210に対して通知を行う。これに対して、周波数選択モジュール210は、プロセッサ102がキャッシュ−トランザクション処理モードの場合に、プロセッサコア110のクロック周波数を変更するための情報を、信号FRQ_CTRLを介して提供する。このため、特定の時間期間に受け取ったコヒーレンシメッセージの数がしきい値を超える場合、周波数制御モジュール260は、プロセッサ102がキャッシュ−トランザクション処理モードの場合は、プロセッサコア110のクロック速度を調整して、コヒーレンシメッセージがより迅速に処理されるようにする。これにより、プロセッサ102が、キャッシュ−トランザクション処理モードから低パワーモードに迅速に戻ることができ、電力を節約することができる。
図4を参照すると、プロセッサに電圧を供給するための方法の特定の実施形態のフローチャートが示される。ブロック402において、第1の期間、第1の動作電圧がプロセッサに供給され、プロセッサがアクティブモードとなる。ブロック404において、この第1の期間に、プロセッサで命令が実行される。ブロック406において、モード変更指示が受信される。モード変更指示に応答して、ブロック408において、第2の時間期間、プロセッサに保持電圧が供給される。
ブロック410において、この第2の期間に、コヒーレンシメッセージが受信される。これに対して、ブロック412において、第3の期間、第2の動作電圧がプロセッサに供給される。ブロック414において、コヒーレンシメッセージがプロセッサで処理される。ブロック416において、コヒーレンシメッセージの処理が完了すると、第4の期間、プロセッサに保持電圧が供給される。このため、プロセッサはアクティブモードに移行せずに、コヒーレンシメッセージを処理することが可能となり、これにより、プロセッサが、より迅速に低パワーモードに戻ることができ、電力を節約できる。
図5を参照すると、プロセッサに電圧を供給するための方法の代替の実施形態のフローチャートが示される。ブロック502において、第1の期間、プロセッサは低パワーモードであり、このため、この期間はプロセッサに保持電圧が供給される。ブロック504において、プロセッサが低パワーモードであるこの第1の期間に、コヒーレンシメッセージが受信される。これに対して、ブロック506において、プロセッサはキャッシュ−トランザクション処理モードに移行し、第2の時間期間、第1の動作電圧が供給される。ブロック508において、この第2の期間に(すなわちプロセッサがキャッシュ−トランザクション処理モードの間に)、キャッシュメッセージが処理される。
ブロック510において、キャッシュメッセージの処理が完了すると、プロセッサは低パワーモードに戻り、第3の時間期間、保持電圧が供給される。ブロック512において、プロセッサが低パワーモードであるこの第3の時間期間に、モード変更指示が受信される。これに対して、ブロック514において、プロセッサがアクティブモードに移行し、第2の動作電圧がプロセッサに供給される。
本開示の他の実施形態、使用および利点は、ここに開示した開示の詳細と実施を鑑みれば、当業者にとって明らかであろう。一部の回路素子およびモジュールは、他の回路素子に接続されて図示および説明されているが、図示した素子が、抵抗、コンデンサ、トランジスタなどの追加の回路素子を介して結合されてもよい点に更に留意されたい。本明細書および図面は例に過ぎず、したがって、本開示の範囲は、添付の特許請求の範囲とその均等物によってのみ制限されることが意図されるべきである。

Claims (9)

  1. 第1の期間、プロセッサに第1の動作電圧を供給するステップ(402)と、
    前記第1の期間に、前記プロセッサで命令を実行するステップ(404)と、
    前記第1の期間にモード変化指標を受け取る(406)と、第2の期間、前記プロセッサに、前記第1の動作電圧よりも低い保持電圧を供給するステップ(408)であって、前記第2の期間、前記プロセッサは保持状態にあるステップと、
    前記第2の期間に第1のキャッシュメッセージを受け取る(410)と、第3の期間、前記プロセッサに、前記第1の動作電圧よりも低く、前記保持電圧よりも高い第2の動作電圧を供給するステップ(412)と、
    前記第3の期間に、前記第1のキャッシュメッセージを処理するステップ(414)とを含む方法。
  2. 前記キャッシュメッセージはキャッシュコヒーレンシメッセージである請求項1に記載の方法。
  3. 前記キャッシュメッセージの処理が完了すると、第4の期間、前記プロセッサに前記保持電圧を供給するステップ(416)を更に含む、請求項1に記載の方法。
  4. 前記第4の期間に、第2のキャッシュメッセージを受け取るステップ(206)と、
    前記第2のキャッシュメッセージを受け取ると、第5の期間、前記第2の動作電圧を供給するステップ(208)とを更に含む、請求項3に記載の方法。
  5. 前記第1の期間、前記プロセッサに第1の周波数を有するクロック信号を供給する(160)ステップと、
    前記第3の期間、前記プロセッサに第2の周波数を有するクロック信号を供給する(160)ステップとを更に含む、請求項1に記載の方法。
  6. 受け取ったキャッシュメッセージの数を基に前記第2の周波数を決定するステップを更に含む、請求項5に記載の方法。
  7. 前記第2の周波数を決定するステップは、第1の時間期間に受け取ったキャッシュメッセージの数を基に前記第2の周波数を決定するステップを含む、請求項6に記載の方法。
  8. プロセッサコアおよびキャッシュを有するプロセッサ(102)と、
    前記プロセッサの動作モードを制御するように構成されたモード制御モジュール(140)と、
    前記モード制御モジュールが前記プロセッサのアクティブモードを指示すると、前記プロセッサの動作電圧を第1の電圧に設定し、
    前記モード制御モジュールが、前記プロセッサがキャッシュメッセージを処理することが可能な前記プロセッサの低処理モードを指示すると、前記プロセッサの前記動作電圧を前記第1の電圧よりも低い第2の電圧に設定し、
    前記モード制御モジュールが、前記プロセッサを保持モードにすることを指示すると、前記動作電圧を前記第2の電圧よりも低い第3の電圧に設定するように構成された電圧調整器(130)と、
    を備え
    前記モード制御モジュールは、前記プロセッサが前記保持モードのときに前記プロセッサがキャッシュメッセージを受け取ると、前記動作モードを前記低処理モードに設定するように構成されている、
    デバイス。
  9. 前記モード制御モジュールは、前記プロセッサが前記キャッシュメッセージの処理を完了すると、前記動作モードを前記保持モードに設定するように構成されている、請求項に記載のデバイス。
JP2010506332A 2007-05-02 2008-05-02 低パワーキャッシュアクセスモードを備えたデータ処理デバイス Active JP5427775B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/743,388 2007-05-02
US11/743,388 US7941683B2 (en) 2007-05-02 2007-05-02 Data processing device with low-power cache access mode
PCT/US2008/005692 WO2008137079A2 (en) 2007-05-02 2008-05-02 Data processing device with low-power cache access mode

Publications (2)

Publication Number Publication Date
JP2010526374A JP2010526374A (ja) 2010-07-29
JP5427775B2 true JP5427775B2 (ja) 2014-02-26

Family

ID=39940497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010506332A Active JP5427775B2 (ja) 2007-05-02 2008-05-02 低パワーキャッシュアクセスモードを備えたデータ処理デバイス

Country Status (8)

Country Link
US (1) US7941683B2 (ja)
JP (1) JP5427775B2 (ja)
KR (1) KR101473907B1 (ja)
CN (1) CN101730872A (ja)
DE (1) DE112008001223B4 (ja)
GB (1) GB2460602B (ja)
TW (1) TW200910078A (ja)
WO (1) WO2008137079A2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479028B2 (en) * 2007-09-17 2013-07-02 Intel Corporation Techniques for communications based power management
US8028181B2 (en) * 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
US8103830B2 (en) 2008-09-30 2012-01-24 Intel Corporation Disabling cache portions during low voltage operations
US9678878B2 (en) 2008-09-30 2017-06-13 Intel Corporation Disabling cache portions during low voltage operations
US8352819B2 (en) * 2009-04-15 2013-01-08 Arm Limited State retention using a variable retention voltage
US20110112798A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
US20120096290A1 (en) * 2010-10-14 2012-04-19 Keynetik, Inc. Distributed Architecture for Situation Aware Sensory Application
US8732499B2 (en) 2011-05-27 2014-05-20 Arm Limited State retention circuit adapted to allow its state integrity to be verified
US8639960B2 (en) 2011-05-27 2014-01-28 Arm Limited Verifying state integrity in state retention circuits
JP2013008270A (ja) * 2011-06-27 2013-01-10 Renesas Electronics Corp 並列演算装置及びマイクロコンピュータ
US20130124891A1 (en) * 2011-07-15 2013-05-16 Aliphcom Efficient control of power consumption in portable sensing devices
US20130117511A1 (en) * 2011-11-08 2013-05-09 Arm Limited Data processing apparatus and method
US9063734B2 (en) * 2012-09-07 2015-06-23 Atmel Corporation Microcontroller input/output connector state retention in low-power modes
US9317100B2 (en) * 2013-01-10 2016-04-19 Advanced Micro Devices, Inc. Accelerated cache rinse when preparing a power state transition
KR101475931B1 (ko) * 2013-05-24 2014-12-23 고려대학교 산학협력단 캐시 및 그 운영 방법
JP6130750B2 (ja) * 2013-07-16 2017-05-17 株式会社東芝 メモリ制御回路およびプロセッサ
US9965220B2 (en) * 2016-02-05 2018-05-08 Qualcomm Incorporated Forced idling of memory subsystems
US20180024610A1 (en) * 2016-07-22 2018-01-25 Futurewei Technologies, Inc. Apparatus and method for setting a clock speed/voltage of cache memory based on memory request information

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014751A (en) * 1997-05-05 2000-01-11 Intel Corporation Method and apparatus for maintaining cache coherency in an integrated circuit operating in a low power state
EP0901063A3 (en) * 1997-09-05 2000-05-24 Texas Instruments Incorporated Power management methods
US6118306A (en) * 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
US6795896B1 (en) * 2000-09-29 2004-09-21 Intel Corporation Methods and apparatuses for reducing leakage power consumption in a processor
US6988211B2 (en) * 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
US6920574B2 (en) * 2002-04-29 2005-07-19 Apple Computer, Inc. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
JP3857661B2 (ja) * 2003-03-13 2006-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、及び記録媒体
CA2527326C (en) * 2003-05-27 2015-07-28 International Business Machines Corporation Method and apparatus for specifying factors that impede power savings of a processor
US7299370B2 (en) 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
GB2403561A (en) * 2003-07-02 2005-01-05 Advanced Risc Mach Ltd Power control within a coherent multi-processor system
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7337335B2 (en) * 2004-12-21 2008-02-26 Packet Digital Method and apparatus for on-demand power management
JP2006318380A (ja) * 2005-05-16 2006-11-24 Handotai Rikougaku Kenkyu Center:Kk 回路システム

Also Published As

Publication number Publication date
TW200910078A (en) 2009-03-01
KR101473907B1 (ko) 2014-12-17
WO2008137079A2 (en) 2008-11-13
KR20100017583A (ko) 2010-02-16
DE112008001223T5 (de) 2010-03-11
CN101730872A (zh) 2010-06-09
DE112008001223B4 (de) 2013-02-07
WO2008137079A3 (en) 2009-07-02
GB2460602B (en) 2011-09-21
US7941683B2 (en) 2011-05-10
GB0918043D0 (en) 2009-12-02
US20080276236A1 (en) 2008-11-06
JP2010526374A (ja) 2010-07-29
GB2460602A (en) 2009-12-09

Similar Documents

Publication Publication Date Title
JP5427775B2 (ja) 低パワーキャッシュアクセスモードを備えたデータ処理デバイス
US7870407B2 (en) Dynamic processor power management device and method thereof
TWI533117B (zh) 用於電力管理之裝置、積體電路及方法
JP3628588B2 (ja) コンピュータ・システムのメモリ・カードによって使用される電力を制御する方法
US5590341A (en) Method and apparatus for reducing power consumption in a computer system using ready delay
TWI341969B (en) Method for causing a memory to enter self refresh, memory apparatus that can enter a self refresh, and coumputing system
US6711691B1 (en) Power management for computer systems
US9952655B1 (en) Graphics hardware mode controls
US8438416B2 (en) Function based dynamic power control
EP1369767B1 (en) Method and apparatus for adaptive power management of memory
US5625807A (en) System and method for enabling and disabling a clock run function to control a peripheral bus clock signal
JP5093620B2 (ja) プラットフォームベースのアイドルタイム処理
US7853817B2 (en) Power management independent of CPU hardware support
US8806232B2 (en) Systems and method for hardware dynamic cache power management via bridge and power manager
TWI570548B (zh) 包括執行指令集架構之不同部分之多個相異處理器核心之處理器
US6694442B2 (en) Method for saving power in a computer by idling system controller and reducing frequency of host clock signal used by system controller
JP3597282B2 (ja) データ処理装置及びその方法
US9959075B2 (en) System and method for flush power aware low power mode control in a portable computing device
WO2008008236A2 (en) Cpu mode-based cache allocation for image data
JP2000039937A (ja) コンピュータシステムおよびそのパワーセーブ制御方法
JPH11353230A (ja) コンピュータ装置
JP2013196112A (ja) メモリシステムとその省電力制御方法
JPH10302460A (ja) マイクロコントローラ

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100421

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20100902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131015

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131022

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5427775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250