JP2016506576A - 集積回路のアイドルフェーズ予測 - Google Patents
集積回路のアイドルフェーズ予測 Download PDFInfo
- Publication number
- JP2016506576A JP2016506576A JP2015549527A JP2015549527A JP2016506576A JP 2016506576 A JP2016506576 A JP 2016506576A JP 2015549527 A JP2015549527 A JP 2015549527A JP 2015549527 A JP2015549527 A JP 2015549527A JP 2016506576 A JP2016506576 A JP 2016506576A
- Authority
- JP
- Japan
- Prior art keywords
- duration
- idle
- state
- idle state
- bins
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
集積回路におけるアイドルフェーズ予測のための方法および装置が開示される。一実施形態では、集積回路(IC)は、アクティブ状態とアイドル状態との間隔の間でサイクル動作するように構成された機能ユニットを含む。ICは、アイドル状態の複数の間隔に対するアイドル状態の持続時間の履歴を記録するように構成された予測ユニットをさらに含む。アイドル状態の持続時間の履歴に基づき、予測ユニットは、アイドル状態の次の間隔の持続時間の予測を生成するように構成されている。予測は、他の使用の中でも特に、機能ユニットを低消費電力(例えば、スリープ)状態に置くかどうかを判断するために、電力管理ユニットによって使用されてもよい。【選択図】図5
Description
本開示は、集積回路に関し、より詳細には、集積回路の電力消費の管理に関する。
例えば、コンピュータシステムプロセッサや様々なタイプのシステムオンチップ(SoC)ICなどの集積回路(IC)内で電力消費を管理することは、ますます重要になっている。このことは、ICがアクティブに作業を実行している間だけでなく、ICがアイドルの間にも当てはまる。特に、IC内の小型形状サイズのトランジスタがリーク電流を生じ、これにより、いかなる作業も実行していない機能ユニットにおいてでさえ電力消費を生じ得る。
ICの機能ユニットがアイドル状態になると、電力管理ハードウェアまたはソフトウェアは、電力消費を低減するために様々な処置を取り得る。クロック周波数を低減したり、クロックをゲートすることによって、動的な電力消費を低減し得る。供給電圧を低減することによって、電力消費をさらに低減し得る。いくつかの場合には、機能ユニットは、アイドルの場合にパワーゲートされ得る(すなわち、そこから電力を除去させ得る)。これは、ディープスリープ状態と呼ばれ得る。
低消費電力状態またはスリープ状態に移行することは、様々な動作を実行することによって達成され得る。例えば、マルチプロセッサコアおよび当該コア上に実装された電力管理ユニットを有するSoCを考慮する。プロセッサコアをスリープ状態に移行する際に実行される動作は、電力を失う任意のキャッシュをフラッシュすることと、位相ロックループ(PLL)からの電力をオフにすることと、システム状態を保存することと、などを含み得る。低消費電力状態またはスリープ状態に移行すると、プロセッサコアは、コアのウェイクアップを開始させる外部割込みまたは他の動作が行われるまで、これらの状態に留まり得る。
集積回路におけるアイドルフェーズ予測の方法および装置が開示される。一実施形態では、方法は、アクティブ状態の間隔とアイドル状態の間隔との間で集積回路(IC)の機能ユニットをサイクル動作させることを含む。本方法は、アイドル状態の複数の間隔に対するアイドル状態の持続時間の履歴を記録することと、アイドル状態の持続時間の履歴に基づきアイドル状態の次の間隔の持続時間を予測することと、をさらに含む。
一実施形態では、ICは、アクティブ状態の間隔とアイドル状態の間隔との間でサイクル動作するように構成された機能ユニットを含む。ICは、アイドル状態の複数の間隔に対するアイドル状態の持続時間の履歴を記録するように構成された予測ユニットをさらに含む。予測ユニットは、アイドル状態の持続時間の履歴に基づきアイドル状態の次の間隔の持続時間を予測するようにさらに構成されている。
本開示の他の態様は、以下の詳細な記述を読み、ここで簡潔に説明する添付の図面を参照することによって、明らかになるであろう。
本明細書で開示される発明は、様々な修正および代替形式を受け入れる余地があるが、その特定の実施形態が、一例として図面に示され、本明細書で詳細に説明される。しかし、図面およびこれに対する説明は、開示された特定の形態に制限することを意図しておらず、それとは逆に、添付の請求項によって定義されるように、本開示の趣旨および範囲に含まれる全ての修正、均等物および代替手段を包含することが理解されるべきである。
(概要)
本開示は、ICの機能ユニットに対する次のアイドル状態の持続時間を、前のアイドル状態の持続時間の履歴に基づいて予測するための様々な方法を対象とする。予測情報は、機能ユニットがある低消費電力状態(例えば、スリープ状態)に移行するのを許可するかどうかを、かかる低消費電力状態をいつ抜けるかと共に判断すること(これに限定されない)を含む、様々な目的で使用され得る。
本開示は、ICの機能ユニットに対する次のアイドル状態の持続時間を、前のアイドル状態の持続時間の履歴に基づいて予測するための様々な方法を対象とする。予測情報は、機能ユニットがある低消費電力状態(例えば、スリープ状態)に移行するのを許可するかどうかを、かかる低消費電力状態をいつ抜けるかと共に判断すること(これに限定されない)を含む、様々な目的で使用され得る。
例示的な実施形態では、ICは、いくつかのプロセッサコアを有するシステムオンチップ(SoC)であってよい。SoCは、プロセッサコアの活動を監視して、どのコアがアイドル状態に移行しているのかを判断するように構成された予測ユニットを含んでもよい。アイドル状態は、一般に、ICの機能ユニットが作業を実行していない状態と定義され得る。プロセッサコアの場合、アイドル状態は、例えば、プロセッサコアがどの命令も実行していない状態などのように、様々な方法で定義され得る。予測ユニットは、プロセッサコアがアイドル状態である時間を測定するタイマーを含んでもよく、タイマーは、プロセッサコアがアクティブ状態で動作を再開する(例えば、命令を処理している)と、リセットされる。アイドル状態の所定の間隔が終了すると、予測ユニットは、当該間隔の持続時間を記録してもよい。予測ユニットは、アイドル状態の最新のN個の間隔(Nは1よりも大きい整数)の持続時間の履歴をビン内に細分してもよい。予測ユニットは、ビンによって示される情報を用いて、次のアイドル状態に対する持続時間の予測を生成してもよい。
アイドル状態の持続時間の履歴に基づいて予測を生成するために、様々なアプローチが用いられてもよい。アプローチの例としては、平均のアイドル状態の持続時間を計算して、これに基づき予測すること、最も急速に増加しているカウントを有するビンに基づいて予測すること、アイドル状態の時間の履歴分布が二峰性である場合に、2つのビンのうち大きい方に基づいて予測すること、などを含む。上述したように、かかる予測は、アイドル時間中に低消費電力状態に移行するか否かを判断するのに用いられてもよい。例えば、電力管理ユニットは、スリープ(すなわち、パワーゲートされた)状態に移行することが、予測したアイドル時間において得られる省エネルギーに基づいて、過度の性能損失という結果にならないかどうかを、アイドル状態の時間の予測を用いて判断してもよい。
(電力管理ユニットを有するシステムオンチップ(SoC)およびその動作)
図1は、メモリに接続された集積回路(IC)の一実施形態のブロック図である。IC2およびメモリ6は、ディスプレイ3およびディスプレイメモリ300と共に、この例におけるコンピュータシステム10の少なくとも一部を構成している。図示した実施形態では、IC2は、いくつかの処理ノード11を有するシステムオンチップ(SoC)である。処理ノード11は、この特定の例ではプロセッサコアであり、これにより、コア#1、コア#2などと指定されている。本明細書で説明する方法は、例えば、(単一コアまたはマルチコアプロセッサであってもよい)マルチプロセッサを、別個の固有のICダイ上に実装するマルチプロセッサコンピュータシステムなどの他の構成にも適用され得ることに留意されたい。さらに、単一の処理ノード11のみを有する実施形態も可能であり、検討される。
図1は、メモリに接続された集積回路(IC)の一実施形態のブロック図である。IC2およびメモリ6は、ディスプレイ3およびディスプレイメモリ300と共に、この例におけるコンピュータシステム10の少なくとも一部を構成している。図示した実施形態では、IC2は、いくつかの処理ノード11を有するシステムオンチップ(SoC)である。処理ノード11は、この特定の例ではプロセッサコアであり、これにより、コア#1、コア#2などと指定されている。本明細書で説明する方法は、例えば、(単一コアまたはマルチコアプロセッサであってもよい)マルチプロセッサを、別個の固有のICダイ上に実装するマルチプロセッサコンピュータシステムなどの他の構成にも適用され得ることに留意されたい。さらに、単一の処理ノード11のみを有する実施形態も可能であり、検討される。
各処理ノード11は、図示した実施形態ではノースブリッジ12に接続されている。ノースブリッジ12は、処理ノード11の各々に対する多種多様なインタフェース機能(メモリおよび様々な周辺機器へのインタフェースを含む)を提供してもよい。また、ノースブリッジ12は、各処理ノード11の電力消費を管理するように構成された電力管理ユニット20を含む。電力管理ユニット20は、いくつかの実施形態では、ノースブリッジ12の外部に実装されてもよいことに留意されたい。電力管理ユニット20によって実行される電力管理機能は、処理ノード11の活動レベルに基づいて様々な低消費電力状態に移行するかどうかの判断である。例えば、処理ノード11がアイドルである場合には、電力管理ユニット20は、当該処理ノード11に供給される電圧を低減してもよいし、当該処理ノード11に供給されるクロック信号の周波数を低減してもよい。さらに、所定の処理ノード11が十分な期間においてアイドルである場合には、電力管理ユニット20は、当該処理ノード11に供給されるクロック信号および電力の両方をゲートする(すなわち、オフにする)ことによって、当該処理ノード11をスリープ状態にしてもよい。電力管理ユニット20は、キャッシュのフラッシュ、状態の保存などの動作を処理ノード11が実行可能にするために、処理ノード11に供給される電力およびクロック信号をゲートする前に、処理ノード11に対して様々な信号を提供してもよい。
図示した実施形態では、ノースブリッジ12は、電力管理ユニット20に接続された予測ユニット21を含む。予測ユニット21は、各プロセッサコア11の前のアイドル状態の履歴に関連する情報を記憶および分析するように構成されており、前のアクティブ状態の履歴に関連する情報を記憶してもよい。特に、予測ユニット21は、各プロセッサコア11に対して以前に生じたいくつかのアイドル状態の各々の持続時間に関する情報を記憶してもよい。予測ユニット21は、各プロセッサコア11に対して以前に生じたいくつかのアクティブ状態の各々の持続時間に関する情報を記憶してもよい。各プロセッサコアに対する持続時間の情報は、以下でさらに説明するように、ビン内に配置されてもよい。予測ユニット21は、アイドル状態に対する持続時間の情報を用いて、各プロセッサコア11ごとに次のアイドル状態の持続時間を予測してもよい。
電力管理ユニット20は、予測ユニット21によって行われた予測を用いて、プロセッサコア11がアイドルであるという判断に応じて、プロセッサコア11を低消費電力状態に移行するか否かを判断してもよい。本明細書で定義する低消費電力状態は、プロセッサコアに供給される電圧が最大電圧から低減した状態、クロック信号の周波数が低減した状態、クロック信号がプロセッサコアから抑制された(クロックゲートされた)状態、電力がプロセッサコアから除去された(パワーゲートされた)状態、または、上述した状態の組み合わせであってよい。クロックおよび電力の両方がプロセッサコアから除去された低消費電力状態は、スリープ状態と呼ばれ得る。
低消費電力状態に移行する際には、エネルギーコストおよび性能コストの観点からオーバーヘッドがあることから、電力管理ユニット20は、予測を用いて低消費電力状態に移行することが、損益分岐点で、または損益分岐点を超えて、節電を提供し得るかどうかを判断してもよい。例えば、スリープ状態に移行することは、1つ以上のキャッシュのフラッシュ、プロセッサ状態の保存、PLLの電源オフなどが必要となる場合がある。スリープ状態から抜けると、PLLは、完全に動作する前に、ウォームアップ期間を必要とする場合がある。スリープ状態から抜けるときには、以前の状態を復元することが必要となる場合がある。スリープ状態から抜けた後に続く再開動作時には、キャッシュミスが頻繁に生じる場合がある。その結果、スリープ状態に移行すること(および、より一般的には、低消費電力状態に移行すること)は、様々なコストを被る。次のアイドル状態の持続時間が短いと予測ユニット21が予測した場合には、低消費電力状態に移行することによって被るコストが、得られる節電の利益を上回る可能性があることから、電力管理ユニット20は、低消費電力状態に移行するの見合わせてもよい。逆に言えば、次のアイドル状態の持続時間が長いと予測ユニット21が予測した場合には、低消費電力/スリープ状態に移行することによって得られる節電は、その状態に移行することによって被るコストを上回ることができる。したがって、後者の場合には、電力管理ユニット20は、コアがアイドルであって、予測されたアイドル持続時間がコストを正当化するのに十分に長いという判断に応じて、アイドルのプロセッサコア11を低消費電力/スリープ状態に移行してもよい。
上述したように、予測ユニット21は、アクティブ状態時間を予測してもよい。電力管理ユニット20および/または影響を受けるプロセッサコア11は、予測されたアクティブ状態の時間を用いて、性能および電力消費を最適化してもよい。例えば、所定のプロセッサコア11が短期間だけアクティブであると予測ユニット21が予測した場合には、アクティブ状態の当該インスタンスに対してフルキャッシュが必要とされる可能性が低くなることから、電力管理ユニット20は、当該コア内のキャッシュの一部のみを有効にしてもよい。アクティブ状態の持続時間がより長いと予測された場合には、キャッシュの大部分が有効にされてもよい。
予測ユニット21は、前のアイドル(いくつかの場合には、アクティブ)状態の持続時間に対する履歴データの保持に加えて、予測精度の履歴を保持してもよい。これは、将来の予測に関する信頼度測定基準を生成するために用いられてもよく、それに応じて、将来の予測を調整するためのフィードバックを提供してもよい。
様々な実施形態では、処理ノード11の数は、わずか1つであってもよいし、ICダイ上での実装に適しただけの数であってもよい。マルチコアの実施形態では、処理ノード11は、互いに同一(すなわち、ホモジニアスマルチコア)であってもよいし、1つ以上の処理ノード11が他と異なるもの(すなわち、ヘテロジニアスマルチコア)であってもよい。各処理ノード11は、1つ以上の実行ユニット、キャッシュメモリ、スケジューラ、分岐予測回路などを含んでもよい。さらに、各処理ノード11は、メモリ6へのアクセスに対する要求をアサートするように構成されてもよく、メモリ6は、コンピュータシステム10に対するメインメモリとして機能し得る。かかる要求は、読み取り要求および/または書き込み要求を含んでもよく、最初に、ノースブリッジ12によって各処理ノード11から受信されてもよい。メモリ6へのアクセスに対する要求は、図示した実施形態では、メモリコントローラ18を介してルーティングされてもよい。
図示した実施形態では、I/Oインタフェース13は、ノースブリッジ12に接続されている。I/Oインタフェース13は、コンピュータシステム10におけるサウスブリッジ装置として機能してもよい。いくつかの異なるタイプの周辺機器用バスが、I/Oインタフェース13に接続されてもよい。この特定の例では、バスタイプは、peripheral component interconnect(PCI)バス、PCI−Extended(PCI−X)、PCIE(PCIExpress)バス、ギガビットイーサネット(登録商標)(GBE)バスおよびユニバーサルシリアルバス(USB)を含む。しかし、これらのバスタイプは一例であり、他の多くのバスタイプがI/Oインタフェース13に接続されてもよい。周辺機器は、周辺機器用バスの一部または全てに接続されてもよい。かかる周辺機器は、キーボード、マウス、プリンタ、スキャナ、ジョイスティックまたは他のタイプのゲームコントローラ、媒体記録装置、外部記憶装置、ネットワークインタフェースカードなど、を含む(が、それらに制限されない)。対応する周辺機器用バスを介してI/Oユニット13に接続される周辺機器の少なくとも一部は、直接メモリアクセス(DMA)を用いてメモリアクセス要求をアサートしてもよい。(読み取りおよび書き込み要求を含み得る)これらの要求は、I/Oインタフェース13を介してノースブリッジ12に伝達されてもよく、そして、メモリコントローラ18にルーティングされてもよい。
図示した実施形態では、IC2は、コンピュータシステム10のディスプレイ3に接続されているディスプレイ/ビデオエンジン14を含む。ディスプレイ3は、フラットパネルLCD(液晶ディスプレイ)、プラズマディスプレイ、CRT(ブラウン管)、または、任意の他の適切なディスプレイタイプであってよい。ディスプレイ/ビデオエンジン14は、様々なビデオ処理機能を実行し、処理された情報を、視覚情報として出力するためにディスプレイ3に提供し得る。例えば3D処理、ビデオゲーム用の処理、および、さらに複雑なタイプのグラフィック処理などのいくつかのビデオ処理機能は、グラフィックスエンジン15によって実行されてもよく、処理された情報は、ノースブリッジ12を介してディスプレイ/ビデオエンジン14に中継される。
この特定の例では、コンピュータシステム10は、非統一メモリアーキテクチャ(NUMA)を実装しており、この実装では、ビデオメモリおよびRAMは、互いに分離されている。図示した実施形態では、コンピュータシステム10は、ディスプレイ/ビデオエンジン14に接続されたディスプレイメモリ300を含む。したがって、ビデオデータをメモリ6から受信する代わりに、ビデオデータは、ディスプレイ/ビデオエンジン14によってディスプレイメモリ300からアクセスされてもよい。これは、結果として、各コア11、および、1つの周辺機器用バスを介してI/Oインタフェース13に接続された任意の周辺機器に対して、より大きなメモリアクセス帯域幅を許容することができる。
図示した実施形態では、IC2は、システムクロック信号を受信するために接続された位相ロックループ(PLL)ユニット4を含む。PLLユニット4は、対応するクロック信号を生成して各処理ノード11に配信するように構成された、いくつかのPLLを含んでもよい。この実施形態では、各処理ノード11によって受信されるクロック信号は、互いに独立している。さらに、この実施形態のPLLユニット4は、各処理ノード11に互いに独立して提供されるクロック信号の各々の周波数を個々に制御および変更するように構成されている。以下でさらに詳細に説明するように、処理ノード11のうち任意の所定の処理ノード11によって受信されたクロック信号の周波数は、当該処理ノード11に課された性能要求に応じて、増加または減少されてもよい。PLLユニット4から出力されるクロック信号の様々な周波数は、各処理ノード11に対する異なる動作点に対応し得る。この結果、処理ノード11のうち特定の処理ノード11に対する動作点の変更は、処理ノード11で受信されたクロック信号の周波数を変更することによって、実行され得る。
1つ以上の処理ノード11の各々の動作点の変更が、1つ以上の処理ノード11の各々のクロック周波数の変更を含む場合には、電力管理ユニット20は、PLLユニット4に提供されるデジタル信号SetF[M:0]の状態を変更してもよい。これらの信号における変更に応じて、PLLユニット4は、影響を受ける処理ノード(複数でもよい)のクロック周波数を変更してもよい。また、電力管理ユニット20は、PLLユニット4に対して、処理ノード11のうち対応する処理ノードにクロック信号を提供させないようにしてもよい。
図示した実施形態では、IC2は、電圧レギュレータ5も含む。他の実施形態では、電圧レギュレータ5は、IC2とは別に実装されてもよい。電圧レギュレータ5は、各処理ノード11に供給電圧を提供し得る。いくつかの実施形態では、電圧レギュレータ5は、特定の動作点に応じて異なる(例えば、より大きな性能に対しては増加され、より大きな節電に対しては減少される)供給電圧を提供してもよい。いくつかの実施形態では、各処理ノード11は、電源層を共有してもよい。したがって、かかる実施形態における各処理ノード11は、処理ノード11の他のノードと同じ電圧で動作する。別の実施形態では、電源層が共有されず、これにより、各処理ノード11によって受信される供給電圧は、処理ノード11の他のノードによって受信される供給電圧とは独立して、設定および調整されてもよい。したがって、非共有の電源層を有する実施形態では、供給電圧の調整を含む動作点の調整は、各処理ノード11に、他とは独立して選択的に適用されてもよい。動作点の変更が、1つ以上の処理ノード11に対する動作電圧の変更を含む場合には、電力管理ユニット20は、電圧レギュレータ5に提供されるデジタル信号SetV[M:0]の状態を変更してもよい。信号SetV[M:0]における変更に応じて、電圧レギュレータ5は、処理ノード11の影響を受けるものに提供される供給電圧を調整してもよい。1つの処理ノード11から電力が除去される(すなわち、ゲートされる)インスタンスでは、電力管理ユニット20は、SetV[M:0]信号の対応する1つの状態を設定して、電圧レギュレータ5に対して、影響を受ける処理ノード11に電力を供給させないようにしてもよい。
上述した様々なユニットが別個のIC上で実装される実施形態が可能であり、考えられることに留意すべきである。例えば、コア11が第1のIC上で実装され、ノースブリッジ12およびメモリコントローラ18が別のIC上に存在し、残りの機能ユニットがさらに別のIC上に存在する、という一実施形態が考えられる。一般に、前述した機能ユニットは、必要なだけ、多いまたは少ない、異なるIC上で、および単一のIC上で、実装されてもよい。上述した説明は、SoCの特定の実施形態に焦点を合わせているが、本明細書で説明する様々な方法は、電力管理機能を実装する任意のICと共に使用され得ることにさらに留意されたい。
図2は、上記のIC2の実施形態におけるプロセッサコアの動作を示す図である。図2に示すように、プロセッサコア11の動作は、アクティブ状態の間隔とアイドル状態の間隔との間でサイクル動作し得る。アクティブ状態での動作中、プロセッサコアは、命令を処理し、他の有用な作業を行っている。アイドル状態の場合には、プロセッサコア11は、命令を処理しておらず、如何なる有用な作業も実行していない。アイドル状態の時間が十分な場合には、プロセッサコア11を、低消費電力状態またはスリープ状態に置くことが有益となり得る。スリープ状態では、プロセッサコアは、パワーゲートされてもよく、すなわち、電力がプロセッサコアから除去されてもよい。通常、プロセッサコア11は、スリープ状態では、クロックゲートされる。
スリープ状態への移行又はスリープ状態からの抜け出しを伴う一連の事象が図2に示されている。プロセッサコア11をスリープ状態にするための任意の動作が実行される前に、プロセッサコア11は、先ず、アイドルであることが判断される。図示した例では、プロセッサコア11がアイドルであるという判断は、時間T_検出の間、有用な作業または他の活動がプロセッサコア11によって実行されていないのを検出することによって行われてもよい。この閾値を超えると、電力管理ユニット20は、プロセッサコア11がスリープ状態に移行されると判断してもよい。
プロセッサコア11から電力を除去する前に、当該コア11に実装された何れのキャッシュもフラッシュされる。キャッシュのフラッシュは、その内部に存在する任意の修正されたデータの、メインメモリおよび/または下位レベルキャッシュへのライトバックを含む。したがって、キャッシュのフラッシュは、メモリ内容の一貫性(coherency)を維持するために実行される。いくつかの場合には、プロセッサコア11の状態の保存(「状態保存」)も実行されてよい。プロセッサコア11の状態の保存は、様々なレジスタの状態、様々な保持フロップ(retentionflop)に記憶されたデータなどの保存を含んでもよい。この情報は、プロセッサコア11の外部の別のメモリに保存されてよい。キャッシュフラッシュおよび状態保存動作が完了すると、プロセッサコア11から電力が除去されて、プロセッサコア11をスリープ状態にしてもよい。スリープ状態から抜けると、電力をプロセッサコア11に戻した後に、保存された状態が復元されてもよい。保存された状態が復元されると、プロセッサコア11は、アクティブ状態における動作を再開してもよい。
(予測ユニットおよび電力管理ユニット)
ここで図3を参照すると、予測ユニット21の一実施形態と、電力管理ユニット20の一実施形態とを示すブロック図が示されている。図示した実施形態では、予測ユニット21は、様々なプロセッサコア11から活動の指標を受信するために接続された活動モニター212を含む。より一般化された実施形態では、活動モニター212は、IC上に実装された様々な異なるタイプの機能ユニットから活動指標を受信するために接続されてもよい。この特定の実施形態に戻ると、活動モニター212によって監視される活動のタイプは、実行された命令、リタイアした命令、メモリ要求など(これらに制限されない)を含んでもよい。また、1つ以上のタイプの活動が活動モニター212によって監視されてもよい。
ここで図3を参照すると、予測ユニット21の一実施形態と、電力管理ユニット20の一実施形態とを示すブロック図が示されている。図示した実施形態では、予測ユニット21は、様々なプロセッサコア11から活動の指標を受信するために接続された活動モニター212を含む。より一般化された実施形態では、活動モニター212は、IC上に実装された様々な異なるタイプの機能ユニットから活動指標を受信するために接続されてもよい。この特定の実施形態に戻ると、活動モニター212によって監視される活動のタイプは、実行された命令、リタイアした命令、メモリ要求など(これらに制限されない)を含んでもよい。また、1つ以上のタイプの活動が活動モニター212によって監視されてもよい。
図示した実施形態における予測ユニット21は、複数のタイマー213を含む(ここでは、各タイマーを包含する単一のブロックとして図示している)。活動が監視される各機能ブロックに対して、1つのタイマー213が含まれてもよい。各タイマー213は、対応するプロセッサコアから活動モニター212によって活動が検出されると、リセットされてもよい。リセットされた後に、所定のタイマー213は、最後の活動以後の時間を追跡(tracking)してもよい。各タイマー213は、対応するプロセッサコア11において活動が最後に検出されてからの時間を報告してもよい。最後の活動以後の時間が所定のプロセッサコア11に対するある閾値に達した後に、活動モニター212は、所定のコアがアイドルであると示してもよい。活動モニター212は、プロセッサコア11がアイドルである時間を、コアが活動を再開するまで、対応するタイマー213から受信した時間値に基づいて、さらに継続して記録してもよい。
プロセッサコア11が、アイドル状態にあると判断された後に活動を再開すると、活動モニター212は、当該コアにおけるアイドル状態の持続時間を事象記憶214に記憶してもよい。図示した実施形態では、事象記憶214は、アイドル状態時間が監視されている各プロセッサコア11に対するアイドル状態の最新のN個のインスタンスの各々に対する持続時間を格納し得る。一実施形態では、事象記憶214は、複数の先入れ先出し(FIFO)メモリを、各プロセッサコア11ごとに1つ含んでもよい。事象記憶214の各FIFOは、対応するプロセッサコア11に対するアイドル状態の最新のN個のインスタンスの持続時間を記憶してもよい。アイドル状態の持続時間の新しいインスタンスが所定のコアに対応するFIFOに記録される場合に、最も古いアイドル状態インスタンスに対する持続時間が上書きされてもよい。
ビニング記憶215は、事象記憶214に接続されており、各プロセッサコア11に対して、アイドル状態の持続時間の分布を生成するために、アイドル状態の持続時間のカウントを対応するビンに格納してもよい。ビニング記憶215は、記憶された持続時間を事象記憶214から読み取るための論理を含んでもよく、各ビンに対するカウント値を生成してもよい。古い持続時間データが、アイドル状態の追加のインスタンスの出現を伴う新しい持続時間で上書きされる場合には、ビニング記憶215の論理は、ビン内のカウント値を更新してもよい。ビニング方法は、図4に関して以下でさらに説明される。
予測装置218は、ビニング記憶215に接続されている。予測装置218は、所定のプロセッサコア11に対するアイドル状態の持続時間の分布に基づいて、次のアイドル状態の持続時間に関する予測を生成してもよい。予測を生成するために様々な方法が用いられてもよく、これらの方法は、以下にさらに詳細に説明される。
予測装置218は、アイドル状態の持続時間に対する予測に加えて、アイドル状態の持続時間の予測に基づいて低消費電力状態が終了し得る所定の時間についての指示を生成してもよい。例えば、一実施形態では、プロセッサコア11がアイドル状態の段階において、スリープ状態にされる(すなわち、電力およびクロックの両方が当該コア11から除去される)場合には、電力管理ユニット20は、当該コアを、予測されたアイドル状態の持続時間に基づいて、所定の時間にスリープ状態から抜き出させてもよい。このスリープ状態から抜けることは、スリープ状態からの抜け出しを生じさせる任意の他の外部事象(例えば、周辺機器からの割込み)なしで発生してもよい。さらに、スリープ状態から抜けることは、アイドル状態の予測された持続時間が完全に経過する前に発生してもよい。アイドル状態の持続時間の予測が合理的に正確な場合には、スリープ状態から先行して抜けることは、様々な性能優位性をもたらし得る。例えば、前に記憶された状態の復元は、スリープ状態から抜ける時間と、アクティブ状態の再開との間に実行されてもよく、このようにして、プロセッサコア11が、スリープ状態から反応的に抜けて命令を行う場合と比較して、命令の実行を迅速に開始するのを可能にする。
予測装置218によって行われた予測は、電力管理ユニット20の判断ユニット205に転送されてもよい。図示した実施形態では、判断ユニット205は、アイドル状態の時間の予測を他の情報と共に用いて、アイドルのプロセッサコア11を低消費電力状態に移行するかどうかを判断してもよい。また、判断ユニット205は、アイドルのプロセッサコアを、何れのタイプの低消費電力状態に置くかを判断してもよい。例えば、予測されたアイドル持続時間が比較的短い場合には、判断ユニット205は、プロセッサコア11に供給されるクロック信号の周波数を低減すること、プロセッサコア11に供給される電圧を低減すること、または、それらの両方によって、電力消費を低減してもよい。別の例では、予測されたアイドル持続時間が損益分岐点を超えるほど十分に長い場合には、判断ユニット205は、アイドルのプロセッサコア11を、電力およびアクティブなクロック信号の何れもコアに供給されないスリープ状態にさせてもよい。プロセッサコア11が何れの電力状態に置かれるかという判断に応じて、判断ユニット205は、電力状態情報(電力状態)を当該コアに提供してもよい。更新された電力状態情報を判断ユニット205から受信しているプロセッサコア11は、更新された電力状態に移行することに関連した様々な動作(例えば、更新された電力状態情報が、プロセッサコア11がスリープ状態に移行することを示している場合には、状態保存)を実行してもよい。
図示した実施形態における電力管理ユニット20は、周波数制御ユニット201および電圧制御ユニット202を含む。周波数制御ユニット201は、各プロセッサコア11に提供されたクロック信号の周波数を調整するための制御信号を生成するように構成されている。所定のプロセッサコア11に提供されるクロック信号の周波数は、他のコアに提供されるクロック信号とは独立して調整されてもよい。周波数制御信号は、PLLユニット4に提供されてもよい。周波数制御信号は、クロック信号の周波数の変更に加えて、PLLユニット4に対して、選択されたプロセッサコア11にクロック信号を提供させない(クロックゲートする)ようにしてもよい。図示した実施形態における電圧制御ユニット202は、各プロセッサコア11によって受信された供給電圧を独立して調整するための制御信号であって、電圧レギュレータ5に提供される制御信号を生成するように構成されている。電圧制御信号は、所定のプロセッサコア11に提供される供給電圧を低減するために、当該コア11に提供される供給電圧を増加するために、または、当該コア11が供給電圧を受信しないようにすることによって当該コア11の電源をオフにするために、用いられてもよい。周波数制御ユニット201および電圧制御ユニット202の両方は、判断ユニット205によって提供される情報に基づいて、各々の制御信号を生成してもよい。
(持続時間データのビニング)
図4は、予測ユニットの様々な実施形態で使用されるビニングアプローチを示すためのいくつかのヒストグラムである。上述したハードウェアの様々な実施形態は、以下で説明するビニングアプローチの何れかを利用し得る。さらに、いくつかの実施形態は、ユーザー入力および動作条件などの様々な要因に基づいて、ビニングアプローチを切り替えてもよい。上述した様々な実施形態に対する代替の一部または全部がソフトウェアで実装されてもよく、したがって、本開示の範囲に含まれ得ることにさらに留意されたい。
図4は、予測ユニットの様々な実施形態で使用されるビニングアプローチを示すためのいくつかのヒストグラムである。上述したハードウェアの様々な実施形態は、以下で説明するビニングアプローチの何れかを利用し得る。さらに、いくつかの実施形態は、ユーザー入力および動作条件などの様々な要因に基づいて、ビニングアプローチを切り替えてもよい。上述した様々な実施形態に対する代替の一部または全部がソフトウェアで実装されてもよく、したがって、本開示の範囲に含まれ得ることにさらに留意されたい。
各図示例の横軸は、指定された持続時間をカバーするビンに分割されている。ビンの間隔は、様々な実施形態では線形(linear)または対数であってよい。いくつかの実施形態では、ビンの間隔は、前の履歴または低消費電力状態に移行するための損益分岐点などの要因に基づき、動的に調整可能であってよい。各図示例における縦軸は、アイドル持続時間のインシデント(incident)のカウントを表す。したがって、各ビン内のデータは、その特定のビンによって表される範囲に含まれるアイドル持続時間のインシデント数のカウントを表す。
図4の例(A)では、アイドル状態の持続時間の履歴の分布は、ビン2によって表される範囲が最も多数のインシデントを有し、次にビン3が多くの数を有する。上述したような予測ユニットは、例(A)に示されるデータを用いることにより、次のアイドル状態の持続時間がビン2によって表される範囲に含まれるであろう、と予測してもよい。または、予測ユニットは、例(A)に示されるデータに基づき、平均のアイドル状態の持続時間を計算し、その平均を基礎として用いて、次のアイドル状態の持続時間を予測してもよい。いくつかの場合には、平均化を実行する際に、ある閾値を下回るカウントを有するビンが無視されてもよい。例えば、例(A)では、ビン0およびビン4内のカウント値が閾値を下回る場合には、ビン0およびビン4は無視されてもよく、平均値は、ビン1、2および3内に存在するデータに基づき計算されてもよい。
例(B)では、アイドル状態の時間の分布が二峰性の場合を示している。すなわち、ビン1およびビン3の各々は、ビン0、2および4よりも著しく大きなカウントを示している。二峰性分布の場合には、予測ユニットは、次のアイドル状態の持続時間を、より大きな持続時間を表すビン(この場合にはビン3)に対応する範囲に含まれると予測してもよい。本明細書に示す例を用いると、次のアイドル状態に移行してからの持続時間が、ビン1によって表される範囲を超えて延長する場合には、最終的な持続時間は、履歴分布に基づき、ビン3によって表される範囲に含まれる可能性が高い。一般に、二峰性分布が生じる場合には、予測ユニットの一実施形態は、次のアイドル状態の持続時間の予測を、持続時間のより大きな範囲を表すビンに基づき得る。予測ユニットの他の実施形態は、二峰性分布における2つのビンの何れを、次のアイドル状態の持続時間の予測に対する基礎とすべきかを判断する際に、追加の要因を組み込み得る。
例(C)では、ビン2がアイドル状態の持続時間の最も高いカウントを有し、他方、ビン3が、(「増加率に基づき予測される増加」とマークを付けられた点線で表されるように)アイドル状態の持続時間が最も急速に増加しているカウントを有している。一実施形態では、予測ユニットは、事象記憶およびビニング記憶の両方を用いて、各ビンに対する増加率を判断してもよい。かかる実施形態では、予測は、最速の増加率を有するビンに基づく予測であってもよく、最速の増加率を有するビンは、いくつかの場合には、最も多いカウント値を有するビンとは異なってもよい。(C)に示す例では、予測ユニットは、次のアイドル状態の持続時間が、全体として多数のインシデントを示すビン2ではなく、最速の増加率を有するビン3によって指定された範囲内であると予測してもよい。次のアイドル状態の持続時間をこのように予測することは、より最近の履歴を重視し、これにより、動作条件の変更に対してより迅速に適応し得る。最も急速に増加しているカウント値を有するビンを判断することが有効にされている実施形態では、予測ユニットは、各ビン内のカウントに対して増加(および減少)率を追跡する能力を実装してもよい。
例(D)では、2つのビンだけが存在する。これら2つのビンは、閾値によって分けられており、閾値は、いくつかの実施形態では静的であり、他の実施形態では動的であってよい。2つのビンを分ける閾値は、例えばスリープ状態などの低消費電力状態に移行する純便益があるかどうかを判断するために用いられるエネルギー損益分岐点に基づいてもよい。このビニングアプローチを用いると、予測ユニットは、次のアイドル状態の持続時間が、2つのビンを分ける持続時間閾値よりも大きいかどうかに関する二値予測(binaryprediction)を行い得る。さらに、予測は、どちらのビンが大きなカウント値を有しているかに基づいてもよい。この特定の例では、ビン1の方が大きなカウント値を有していることから、次のアイドル状態は、閾値を上回る持続時間を有すると予測され得る。
例(D)で説明したアプローチに対する代替は、例(C)で説明したアプローチを組み込み得る。すなわち、予測ユニットは、2つのビンのうちどちらが最も急速に増加しているかに基づいて、次のアイドル状態の持続時間が閾値を上回るかどうかに関して予測を行ってもよい。さらに、別の代替アプローチでは、生カウント(raw count)および増加/減少率の両方とも考慮されてもよいが、それらの要因のうち1つが重視される。
一般的に言えば、ビニングの結果に基づき予測を行うための様々なアプローチの何れも、予測ユニットによって実装されてよい。さらに、これらのアプローチは、上述したアプローチ(C)および(D)の組み合せなどのように、様々な方法で組み合されてもよい。上述した様々なアプローチ、それらの様々な組み合せ、または、本明細書では説明されていないビニングを利用する他のアプローチの1つを用いて、予測ユニットは、次のアイドル状態に対する持続時間、おおよその持続時間、または、持続時間の範囲の予測を生成してもよい。電力管理ユニットは、かかる予測を用いて、電力管理動作が行われるべきかどうか、および、行われる電力管理動作のタイプを判断してもよい。
いくつかの実施形態では、予測ユニットは、データの分布が正確な予測の役に立たない場合には、予測を行うのを中断してもよい。例えば、アイドル状態の持続時間の分布がビンにわたって比較的均等である場合には、上述した方法の1つを用いて正確な予測がもたらされ得る可能性が低い。かかる場合には、予測ユニットは、予測を行うのを中断してもよい。
データの将来の分布が正確な予測を行うのにより適合する場合には、予測ユニットは、予測を行うのを再開してもよい。さらに、予測ユニットは、データの分布における変化に基づいて、予測が行われる方法を変更してもよい。例えば、データの分布が最初は例(A)に示すものに類似しており、時間とともに(B)に示すような二峰性分布に移行する場合には、予測ユニットは、その予測方法を、二峰性分布について上述したものに変更してもよい。また、上述したものの様々な実施形態における予測ユニットは、前の予測の精度を追跡するように構成されてもよく、それに基づき予測方法を調整してもよい。
(予測方法)
図5〜図9は、次のアイドル状態に対する持続時間の予測を生成するための様々な方法を示すフロー図である。以下で説明する各方法は、上記説明したような様々な装置の実施形態によって実行され得る。いくつかの場合には、以下で説明する方法の一部または全部は、ソフトウェアによっても実行され得る。
図5〜図9は、次のアイドル状態に対する持続時間の予測を生成するための様々な方法を示すフロー図である。以下で説明する各方法は、上記説明したような様々な装置の実施形態によって実行され得る。いくつかの場合には、以下で説明する方法の一部または全部は、ソフトウェアによっても実行され得る。
図5は、平均に基づいてアイドル状態の持続時間を予測する方法の一実施形態を示すフロー図である。図示した実施形態では、方法500は、アイドル状態の最新のN個の間隔に対する持続時間の情報の格納で開始する(ブロック505)。格納される情報は、最新のN個の間隔の各々の持続時間を示す情報を含んでもよい。この情報から、例えば上述したようなヒストグラムが、最新のN個の間隔に対するアイドル状態の持続時間の履歴分布を示すために生成され得る。ヒストグラムは、代表する範囲に含まれる持続時間を有するアイドル状態のインスタンスのカウントをそれぞれ格納しているいくつかのビンを含み得る。
最新のN個のアイドル状態の間隔の各々の持続時間に基づき、平均の持続時間が計算され得る(ブロック510)。平均を計算する方法は、異なっていてもよく、ヒストグラムによって示される履歴分布に少なくとも一部が基づいてもよい。例えば、平均のアイドル状態の持続時間を計算する一つ方法は、極値の持続時間データを除去して、分布の中央に焦点を合わせることを含んでもよい。
平均の持続時間を計算した後、予測ユニットは、次のアイドル状態の持続時間を予測し得る(ブロック515)。いくつかの場合、予測は、計算された平均に直接対応し得る。他の場合には、予測は、平均に直接対応しない場合がある。例えば、計算された平均が同じビンの上方の範囲であっても、予測は、所与のビンの範囲の中心に含まれ得る。
予測は、電力管理ユニットまたはソフトウェア電力管理ルーチンに転送され得る。例えば、ハードウェアベースの電力管理ユニットは、予測を用いて、次のアイドル状態の予測された持続時間が、低消費電力状態に移行することによるエネルギーコストおよび性能コストを正当化するのに十分大きいかどうかを判断し得る。次のアイドル状態に移行した後、電力管理ユニットは、予測を用いて行われた判断に基づき、電力管理動作を実行することもあれば、実行しないこともある。
予測を行った後のある時期に、その予測が行われた対応する機能ユニットが、アイドル状態に移行することになる(ブロック520)。アイドル状態の持続時間を追跡するためにタイマーが用いられてもよく、機能ユニットがアイドル状態を終了してアクティブ状態を再開すると、最終的な持続時間の値が記録され得る。最新のアイドル状態に対する持続時間データを記録する際に、最も古い(すなわち、最も古いアイドル状態に対する)データが置き換えられてもよい。方法500は、次いで、ブロック505に戻り、アイドル状態の最新のN個のインスタンスに対する持続時間の情報を格納する。
図6は、最も急速に増加しているビンの判断に基づき、アイドル状態の持続時間を予測するための方法の一実施形態を示すフロー図である。方法600は、アイドル状態の最新のN個の間隔に対する持続時間の情報を格納し(ブロック610)、アイドル状態の持続時間データのカウントを、特定の範囲の持続時間をそれぞれカバーするビン内に配置する(ブロック610)ことで開始する。最新のN個の間隔に対するデータのアイドル状態の持続時間のカウントがビン内に配置されてヒストグラムを形成した後、予測ユニットは、各ビン内のカウントの生のカウントデータおよび履歴データの両方に基づき、何れのビンが最も急速に増加しているカウントを有しているかを判断し得る(ブロック615)。予測ユニットは、次いで、何れのビンが最も急速に増加しているカウントを有しているかに基づき、次のアイドル状態の間隔の持続時間を予測し得る(ブロック620)。予測を行った後のある時点で、その予測が行われた対象の機能ユニットが、アイドル状態に移行することになる(ブロック625)。機能ユニットがアイドルであるという判断の後、タイマーは、アイドル状態の間隔の持続時間を追跡し得る。機能ユニットがアクティブ状態に再度移行すると、アイドル状態の間隔の最終的な持続時間が記録され得る。次いで、終了したばかりのアイドル状態の持続時間が格納されてもよく、最も古い持続時間データが置き換えられる(ブロック630)。方法は、次いで、ブロック605に戻る。
図7は、アイドル状態の持続時間の二峰性分布に基づき、アイドル状態の持続時間を予測する方法の一実施形態を示すフロー図である。方法700は、アイドル状態の最新のN個の間隔に対する持続時間の情報の格納で開始する(ブロック705)。最新のN個の間隔に対する持続時間の情報が格納された後、データが、上記説明したようにビン内に配置され得る(ブロック710)。予測ユニットは、次いで、データを検査してその分布を判断し得る。データの分布が二峰性であると判断された場合(ブロック715、はい)、予測ユニットは、アイドル状態の持続時間の大きい方に対応するビンに基づいて、次のアイドル状態の持続時間を予測し得る(ブロック720)。分布が二峰性でない場合(ブロック715、いいえ)、別の予測方法が用いられてもよい(ブロック725)。予測を行った後に、その対象である機能ユニットが、アイドル状態に移行してもよく、その持続時間が記録され得る(ブロック730)。アイドル状態が終了すると、記録された持続時間が格納されてもよく、最も古い格納された持続時間データが置き換えられる(ブロック735)。方法は、次いで、ブロック705に戻る。
図8は、閾値によって分けられた一対のビンに基づき、アイドル状態の持続時間を予測する方法の一実施形態を示すフロー図である。方法800は、最新のN個の間隔の各々に対する持続時間データの格納で開始する(ブロック805)。持続時間データが格納された後、データが、閾値に基づき、2つの別個のビン内に配置され得る(ブロック810)。第1のビンは、閾値未満の持続時間を有するアイドル状態のインシデントのカウントを含んでもよく、他方、第2のビンは、閾値を上回る持続時間を有するアイドル状態のインシデントのカウントを含んでもよい。一実施形態では、閾値は、低消費電力状態(例えば、スリープ状態)に移行するエネルギーコストおよび性能コストが正当化され得るものを上回る損益分岐点であってよい。閾値は、いくつかの実施形態では、動的に設定されてもよく、他方、他の実施形態では、静的な値であってもよい。データがビン内に配置された後、「閾値を上回る」ビンのカウントが、「閾値に満たない」ビンよりも大きいかどうかに関して判断が行われる。「閾値を上回る」ビンのカウントが大きい場合(ブロック815、はい)、予測は、次のアイドル状態の持続時間が損益分岐点よりも大きいであろうということになり、これにより、電力管理ユニットは、対応する機能ユニットを、アイドル状態の次の間隔中に低消費電力状態に移行させてもよい(ブロック820)。「閾値を上回る」ビンのカウントが「閾値に満たない」ビンに満たない場合(ブロック815、いいえ)には、アイドル状態の次の間隔中に低消費電力状態に移行しない。低消費電力状態に移行するか否かに関わらず、次のアイドル状態の持続時間が追跡され、その終了時に記録され(ブロック830)、方法がブロック805に戻る前に、このデータが、最も古い格納された持続時間データを置き換えてもよい(ブロック835)。
方法800の変形が可能であり検討される。代替の実施形態では、2つのビンのカウント間の差に基づく追加の閾値が、予測において組み込まれてもよい。上述したように、両方のビンに対するカウントの合計はNである。差の閾値が考慮される一実施形態では、予測装置は、ビンの一方のカウント値が、他のビンのカウント値をM(ここで、M<N)だけ上回っているかを判断し得る。実施形態は、「閾値を上回る」ビンのカウントが「閾値に満たない」ビンのカウントをMだけ上回る場合に、次のアイドル状態の間隔中に低消費電力状態に移行すると判断してもよく、これにより、節電よりも性能を重視する。あるいは、別の実施形態では、「閾値に満たない」ビンのカウントが、「閾値を上回る」ビンをM未満だけ上回るか、または、「閾値を上回る」ビンよりも実際に低い場合に、次のアイドル状態の間隔中に低消費電力状態に移行すると判断することにより、性能よりも節電を重視し得る。方法800に関する別の変形は、2つのビンの何れの数が増加しているかの判断を組み込み得る。
図9は、ICの機能ユニットに対するアクティブ時間を予測するためにビニングアプローチを使用する方法の一実施形態を示すフロー図である。図示した実施形態では、方法900は、アイドル状態の最新のN個の間隔の各々に対する持続時間の情報の格納で開始する(ブロック905)。また、方法900は、アクティブ状態の最新のN個の間隔の各々に対する持続時間の情報の格納を含む(ブロック910)。次いで、第1のヒストグラムが、アイドル状態の持続時間データに対して生成されてもよく、そして、第2のヒストグラムが、アクティブ状態の持続時間データに対して生成されてもよい。これは、上述したように、データを、個々の範囲をそれぞれカバーするビン内に配置する(ブロック915)ことにより達成され得る。次に、予測ユニットは、上述した様々な方法の1つ以上を用いて、次のアイドル状態の持続時間を予測してもよく、また、次のアクティブ状態の持続時間を予測してもよい(ブロック920)。次のアクティブ状態の持続時間の予測は、上述したものに類似した1つ以上の方法、または、本明細書では説明していない異なる方法を用いて行われてもよい。
方法900は、次のアイドル状態の間隔の持続時間を記録すること(ブロック925)、最も古いアイドル状態の持続時間データを置き換えること(ブロック930)、次のアクティブ状態の持続時間を記録すること(ブロック935)、最も古いアクティブ状態の持続時間の情報を置き換えること(ブロック940)をさらに含み、ブロック905へ戻る。アイドル状態の持続時間の情報を記録して格納するための上述した機構の変形は、アクティブ状態の持続時間の情報を記録して格納するためにも使用され得る。
アクティブ状態の情報を予測することは、節電ニーズと性能ニーズとのバランスをとりながら、さらなる節電を得るために有用となり得る。例えば、次のアクティブ状態の予測された持続時間は、次のアクティブ状態の間隔中に有効にされるキャッシュメモリの量を判断するために用いられ得る。次のアクティブ状態の間隔が短い持続時間であると予測される場合には、少量のキャッシュが有効にされてもよく、他方、予測されたアクティブ状態の持続時間がさらに長い場合には、さらに大量のキャッシュが有効にされてもよい。
(コンピュータアクセス可能記憶媒体)
次に図10を参照すると、システム10を代表するデータベース305を含むコンピュータアクセス可能記憶媒体300のブロック図が示されている。一般的に言えば、コンピュータアクセス可能記憶媒体300は、命令および/またはデータをコンピュータに提供するために、使用中にコンピュータによってアクセス可能な任意の持続性(non−transitory)記憶媒体を含み得る。例えば、コンピュータアクセス可能記憶媒体300は、磁気または光媒体などの記憶媒体(例えば、ディスク(固定または取り外し可能)、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW、Blu−Ray(登録商標))を含んでもよい。記憶媒体は、RAM(例えば、シンクロナスダイナミックRAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3など)SDRAM、低電力DDR(LPDDR2など)SDRAM、ラムバスDRAM(RDRAM)、スタティックRAM(SRAM)など)、ROM、フラッシュメモリ、ユニバーサルシリアルバス(USB)インタフェースなどの周辺インタフェースを介してアクセス可能な不揮発性メモリ(例えば、フラッシュメモリ)などの、揮発性または不揮発性メモリ媒体をさらに含んでもよい。記憶媒体は、微小電気機械システム(MEMS)、ならびに、ネットワークおよび/または無線リンクなどの通信媒体を介してアクセス可能な記憶媒体を含んでもよい。
次に図10を参照すると、システム10を代表するデータベース305を含むコンピュータアクセス可能記憶媒体300のブロック図が示されている。一般的に言えば、コンピュータアクセス可能記憶媒体300は、命令および/またはデータをコンピュータに提供するために、使用中にコンピュータによってアクセス可能な任意の持続性(non−transitory)記憶媒体を含み得る。例えば、コンピュータアクセス可能記憶媒体300は、磁気または光媒体などの記憶媒体(例えば、ディスク(固定または取り外し可能)、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW、Blu−Ray(登録商標))を含んでもよい。記憶媒体は、RAM(例えば、シンクロナスダイナミックRAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3など)SDRAM、低電力DDR(LPDDR2など)SDRAM、ラムバスDRAM(RDRAM)、スタティックRAM(SRAM)など)、ROM、フラッシュメモリ、ユニバーサルシリアルバス(USB)インタフェースなどの周辺インタフェースを介してアクセス可能な不揮発性メモリ(例えば、フラッシュメモリ)などの、揮発性または不揮発性メモリ媒体をさらに含んでもよい。記憶媒体は、微小電気機械システム(MEMS)、ならびに、ネットワークおよび/または無線リンクなどの通信媒体を介してアクセス可能な記憶媒体を含んでもよい。
概して、コンピュータアクセス可能記憶媒体300上で保持されるシステム10のデータベース305は、プログラムによって読み取られて、システム10を含むハードウェアを製造するために、直接的または間接的に使用可能なデータベースまたは他のデータ構造であってよい。例えば、データベース305は、VerilogまたはVHDLなどの高水準設計言語(HDL)におけるハードウェア機能の動作レベル記述またはレジスタ転送レベル(RTL)記述であってよい。記述は、合成ライブラリからのゲートのリストを含むネットリストを生成するために記述を合成し得る合成ツールによって読み取られてよい。ネットリストは、システム10を含むハードウェアの機能を表すゲートのセットを含む。次いで、ネットリストは、マスクに適用される幾何学形状を記述するデータセットを生成するために配置され、ルーティングされてもよい。次に、マスクは、システム10に対応する半導体回路または複数の回路を製造するために、様々な半導体製造ステップで使用されもよい。また、コンピュータアクセス可能記憶媒体300上のデータベース305は、必要に応じて、ネットリスト(合成ライブラリの有無にかかわらず)またはデータセットであってよい。
コンピュータアクセス可能記憶媒体300は、システム10の表現を含むが、他の実施形態では、必要に応じて、IC2、任意のセットのエージェント(例えば、処理ノード11、I/Oインタフェース13、電力管理ユニット20など)またはエージェントの一部(例えば、活動モニター212、予測装置218など)を含む、システム10の任意の部分の表現を含んでもよい。
上述した開示が完全に理解されると、多数の変形および修正が当業者に明らかになるであろう。かかる変形および修正の全てが以下の請求項にて包含されると解釈されることを意図している。
Claims (30)
- 集積回路(IC)の機能ユニットを、アクティブ状態の間隔と、アイドル状態の間隔との間でサイクル動作させることと、
前記アイドル状態の複数の間隔に対するアイドル状態の持続時間の履歴を記録することと、
前記アイドル状態の持続時間の履歴に基づき、前記アイドル状態の次の間隔の持続時間を予測することと、
を含む方法。 - 前記アイドル状態の持続時間の履歴を複数のビン内に細分することをさらに含み、各ビンは、特定の範囲内のアイドル状態の持続時間のインスタンスのカウントを記録するように指定されている、請求項1に記載の方法。
- 前記アイドル状態の最新のN個の間隔に対する前記アイドル状態の持続時間を示す情報を格納する前記複数のビンをさらに含む、請求項2に記載の方法。
- 前記予測することは、前記アイドル状態の前記最新のN個の間隔に対する平均の持続時間を計算することを含む、請求項3に記載の方法。
- 前記予測することは、前記複数のビンのうち何れのビンが、前記アイドル状態の前記最新のN個の間隔について最も急速に増加しているカウントを有しているかを判断することを含む、請求項3に記載の方法。
- 閾値を下回るアイドル状態の持続時間のインスタンスを、前記複数のビンのうち第1のビンに記録することと、
前記閾値を上回るアイドル状態の持続時間のインスタンスを、前記複数のビンのうち第2のビンに記録することと、
前記アイドル状態の前記次の間隔の持続時間が前記閾値よりも大きいかまたは小さいかを、前記第1および第2のビンの何れが、指定された範囲内のアイドル状態の持続時間のインスタンスの大きい方のカウントを有しているか、に基づいて予測することと、
をさらに含む、請求項3に記載の方法。 - 前記アクティブ状態の次の間隔の持続時間を、前記アイドル状態の持続時間の履歴に基づいて予測することをさらに含む、請求項1に記載の方法。
- 前記次のアイドル状態の前記持続時間の予測に基づいて、低消費電力状態に移行するかどうかを判断することをさらに含む、請求項1に記載の方法。
- 前記低消費電力状態は、前記機能ユニットから電力が除去されたスリープ状態である、請求項8に記載の方法。
- 前記スリープ状態に移行した後の所定の時間において前記スリープ状態を抜けることをさらに含み、
前記予測された時間は、前記アイドル状態の前記予測された持続時間に基づいている、請求項9に記載の方法。 - アクティブ状態の間隔と、アイドル状態の間隔との間でサイクル動作するように構成された機能ユニットと、
前記アイドル状態の複数の間隔に対するアイドル状態の持続時間の履歴を記録するように構成された予測ユニットであって、前記アイドル状態の前記次の間隔の持続時間を、前記アイドル状態の持続時間の履歴に基づき予測するように構成された予測ユニットと、
を備える、集積回路。 - 前記予測ユニットは、前記アイドル状態の持続時間の履歴を複数のビンに格納するように構成された記憶ユニットを含み、各ビンは、特定の範囲内のアイドル状態の持続時間のカウントを記録するように指定されている、請求項11に記載の集積回路。
- 前記記憶ユニットは、前記複数のビン内に、前記アイドル状態の最新のN個の間隔に対するアイドル状態の持続時間を示す情報を格納するように構成されている、請求項12に記載の集積回路。
- 前記予測ユニットは、前記次のアイドル状態の持続時間を、前記アイドル状態の前記最新のN個の間隔の平均の持続時間に基づいて予測するように構成されている、請求項13に記載の集積回路。
- 前記予測ユニットは、前記複数のビンの何れが、前記アイドル状態の前記最新のN個の間隔について最も急速に増加しているカウントを有しているかに基づき、前記次のアイドル状態の持続時間を予測するように構成されている、請求項13に記載の集積回路。
- 前記予測ユニットは、
閾値を下回るアイドル状態の持続時間のインスタンスを、前記複数のビンのうち第1のビンに記録することと、
前記閾値を上回るアイドル状態の持続時間のインスタンスを、前記複数のビンのうち第2のビンに記録することと、
前記次のアイドル状態の持続時間が前記閾値よりも大きいかまたは小さいかを、前記第1および第2のビンの何れが、指定された範囲内のアイドル状態の持続時間のインスタンスの大きい方のカウントを有しているか、に基づいて予測することと、
を行うように構成されている、請求項13に記載の集積回路。 - 前記予測ユニットは、次のアクティブ状態の持続時間を、前記アイドル状態の持続時間の履歴に基づいて予測するようにさらに構成されている、請求項11に記載の集積回路。
- 前記機能ユニットを低消費電力状態に移行するかどうかを、前記次のアイドル状態の持続時間の予測に基づいて判断するように構成された電力管理ユニットをさらに含む、請求項11に記載の集積回路。
- 前記低消費電力状態は、前記電力管理ユニットが電力を前記機能ユニットから除去したスリープ状態である、請求項18に記載の集積回路。
- 前記電力管理ユニットは、前記機能ユニットを、前記スリープ状態に移行した後の所定の時間において前記スリープ状態から抜け出すように構成されており、前記所定の時間は、前記次のアイドル状態の持続時間の予測に基づいている、請求項19に記載の集積回路。
- システムオンチップ(SoC)上に実装された複数のプロセッサコアであって、前記複数のプロセッサコアの各々は、アクティブ状態とアイドル状態との間隔の間でサイクル動作するように構成されている、複数のプロセッサコアと、
SoC上に実装された予測ユニットであって、前記複数のプロセッサコアの各々に対して、アイドル状態の持続時間の対応する履歴を記録するように構成された予測ユニットであって、アイドル状態の持続時間の各々の履歴に基づき、前記複数のプロセッサコアの各々に対する前記アイドル状態の前記次の間隔の持続時間を予測するように構成された予測ユニットと、
を備える、システム。 - 前記予測ユニットは、前記複数のプロセッサコアの各々に対して、前記アイドル状態の持続時間の対応する履歴を複数のビン内に格納するように構成された記憶ユニットを含み、
各ビンは、特定の範囲内のアイドル状態の持続時間のカウントを記録するように指定されている、請求項21に記載のシステム。 - 前記記憶ユニットは、各プロセッサコアに対する前記複数のビン内に、前記プロセッサコアに対する前記アイドル状態の最新のN個の間隔に対するアイドル状態の持続時間を示す情報を格納するように構成されている、請求項22に記載のシステム。
- 前記予測ユニットは、所定のプロセッサコアに対して、次のアイドル状態の持続時間を、前記所定のプロセッサコアに対する前記アイドル状態の前記最新のN個の間隔の平均の持続時間に基づき予測するように構成されている、請求項23に記載のシステム。
- 前記予測ユニットは、所定のプロセッサコアに対して、前記次のアイドル状態の持続時間を、前記所定のプロセッサコアに対する前記複数のビンの何れが、前記アイドル状態の最新のN個の間隔について最も急速に増加しているカウントを有しているかに基づいて、予測するように構成されている、請求項23に記載のシステム。
- 前記予測ユニットは、
第1のプロセッサコアに対して、閾値を下回るアイドル状態の持続時間のインスタンスを、対応する複数のビンのうち第1のビンに記録することと、
前記第1のプロセッサコアに対して、前記閾値を上回るアイドル状態の持続時間のインスタンスを、前記対応する複数のビンのうち第2のビンに記録することと、
前記第1のプロセッサコアの次のアイドル状態の持続時間が前記閾値よりも大きいかまたは小さいかを、前記対応する第1および第2のビンの何れが、指定された範囲内のアイドル状態の持続時間のインスタンスの大きい方のカウントを有しているか、に基づいて予測することと、
を行うように構成されている、請求項23に記載のシステム。 - 前記予測ユニットは、所定のプロセッサコアに対する次のアクティブ状態の持続時間を、前記所定のプロセッサコアに対する前記アイドル状態の持続時間の履歴に基づいて予測するようにさらに構成されている、請求項21に記載のシステム。
- コンピュータシステム上で実行可能なプログラムによって操作されるデータ構造を含むコンピュータ可読記憶媒体であって、前記プログラムは、前記データ構造によって記述される回路を含む集積回路を製造するためのプロセスの一部を実行するために、前記データ構造に関して動作し、前記データ構造で記述された前記回路は、
アクティブ状態の間隔と、アイドル状態の間隔との間でサイクル動作するように構成された機能ユニットと、
前記アイドル状態の複数の間隔に対するアイドル状態の持続時間の履歴を記録するように構成された予測ユニットであって、前記アイドル状態の次の間隔の持続時間を、前記アイドル状態の持続時間の履歴に基づき予測するように構成された予測ユニットと、
を含む、コンピュータ可読記憶媒体。 - 前記データ構造で記述された前記予測ユニットは、前記アイドル状態の持続時間の履歴を複数のビンに格納するように構成された記憶ユニットを含み、各ビンは、特定の範囲内のアイドル状態の持続時間のカウントを記録するように指定されている、請求項28に記載のコンピュータ可読記憶媒体。
- 前記データ構造で記述された前記回路は、前記機能ユニットを低消費電力状態に移行するかどうかかを、前記次のアイドル状態の持続時間の予測に基づいて判断するように構成された電力管理ユニットを含む、請求項28に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/723,868 | 2012-12-21 | ||
US13/723,868 US20140181553A1 (en) | 2012-12-21 | 2012-12-21 | Idle Phase Prediction For Integrated Circuits |
PCT/US2013/075311 WO2014099741A1 (en) | 2012-12-21 | 2013-12-16 | Idle phase prediction for integrated circuits |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016506576A true JP2016506576A (ja) | 2016-03-03 |
Family
ID=50976148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015549527A Pending JP2016506576A (ja) | 2012-12-21 | 2013-12-16 | 集積回路のアイドルフェーズ予測 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140181553A1 (ja) |
EP (1) | EP2936274A1 (ja) |
JP (1) | JP2016506576A (ja) |
KR (1) | KR20150097713A (ja) |
CN (1) | CN104871114A (ja) |
WO (1) | WO2014099741A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018018446A (ja) * | 2016-07-29 | 2018-02-01 | 富士通株式会社 | 並列処理装置、並列処理装置の電源制御プログラム、及び並列処理装置の電源制御方法 |
JP2019003588A (ja) * | 2017-06-12 | 2019-01-10 | 正仁 櫨田 | Cpuチップ上のコア・ブロックの1個が動作していなかったり、コア・ブロック内のトランジスターが熱崩壊をして異常な消費電流値を示してコア・ブロックが熱破壊した場合等に、cpuのコア・ブロックの今現在の全部の状態をレジスター群に保存してcpuのコア・ブロック自体へのシステム・クロックの供給や電力供給を停止してcpu自体の発熱や消費電力を抑え、cpuの動作を元の状態に復元してプログラムを再実行する時には、外部割込みに依り、cpuのコア・ブロックにシステム・クロックを再供給してレジスター群から情報を読み込んでcpuの状態を戻して、システム・クロックに従ってプログラム・カウンターの値から、メモリー上のプログラムを再起動する方法。 |
JP2021047707A (ja) * | 2019-09-19 | 2021-03-25 | 株式会社東芝 | 制御方法及び半導体集積回路 |
JP2022511629A (ja) * | 2018-10-16 | 2022-02-01 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ダイナミックランダムアクセスメモリランクのパワーダウンモードの投機的な終了 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6175980B2 (ja) * | 2013-08-23 | 2017-08-09 | 富士通株式会社 | Cpuの制御方法、制御プログラム、情報処理装置 |
IN2013KO01167A (ja) * | 2013-10-09 | 2015-04-10 | Lsi Corp | |
US9851777B2 (en) | 2014-01-02 | 2017-12-26 | Advanced Micro Devices, Inc. | Power gating based on cache dirtiness |
US9720487B2 (en) * | 2014-01-10 | 2017-08-01 | Advanced Micro Devices, Inc. | Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration |
US9395788B2 (en) * | 2014-03-28 | 2016-07-19 | Intel Corporation | Power state transition analysis |
US9507410B2 (en) | 2014-06-20 | 2016-11-29 | Advanced Micro Devices, Inc. | Decoupled selective implementation of entry and exit prediction for power gating processor components |
US10620687B2 (en) | 2014-12-22 | 2020-04-14 | Intel Corporation | Hybrid power management approach |
US9829902B2 (en) | 2014-12-23 | 2017-11-28 | Intel Corporation | Systems and methods for dynamic temporal power steering |
US11068401B2 (en) | 2015-09-25 | 2021-07-20 | Intel Corporation | Method and apparatus to improve shared memory efficiency |
CN106610883B (zh) * | 2015-10-27 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 一种检测方法及装置 |
CN106095541B (zh) | 2016-05-31 | 2019-11-05 | 深圳市万普拉斯科技有限公司 | 睡眠管理方法及相关装置 |
US10324519B2 (en) | 2016-06-23 | 2019-06-18 | Intel Corporation | Controlling forced idle state operation in a processor |
US10275008B2 (en) * | 2016-09-22 | 2019-04-30 | Intel Corporation | Methods and apparatus to reduce computing device power consumption |
US11072551B2 (en) | 2016-12-12 | 2021-07-27 | A. O. Smith Corporation | Water filtration system with recirculation to reduce total dissolved solids creep effect |
US20180188797A1 (en) * | 2016-12-29 | 2018-07-05 | Intel Corporation | Link power management scheme based on link's prior history |
US10424107B2 (en) | 2017-04-01 | 2019-09-24 | Intel Corporation | Hierarchical depth buffer back annotaton |
US11010953B2 (en) | 2017-04-21 | 2021-05-18 | Intel Corporation | Dedicated fixed point blending for energy efficiency |
KR102480017B1 (ko) | 2017-08-11 | 2022-12-21 | 삼성전자 주식회사 | 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법 |
US10178619B1 (en) * | 2017-09-29 | 2019-01-08 | Intel Corporation | Advanced graphics power state management |
US10739836B2 (en) * | 2018-03-27 | 2020-08-11 | Intel Corporation | System, apparatus and method for handshaking protocol for low power state transitions |
US11275430B2 (en) * | 2018-08-28 | 2022-03-15 | Advanced Micro Devices, Inc. | Power management advisor to support power management control |
US11455024B2 (en) * | 2019-04-10 | 2022-09-27 | Red Hat, Inc. | Idle state estimation by scheduler |
CN112862141B (zh) * | 2019-11-27 | 2024-04-16 | 深圳市万普拉斯科技有限公司 | 基于休眠数据的电量优化方法、装置和计算机设备 |
CN111240459B (zh) * | 2020-01-08 | 2021-05-28 | 珠海全志科技股份有限公司 | 片上系统功耗管理方法、计算机装置及计算机可读存储介质 |
KR20210101632A (ko) | 2020-02-10 | 2021-08-19 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
CN111443888B (zh) * | 2020-03-27 | 2024-03-22 | Tcl华星光电技术有限公司 | 显示控制方法、装置、电子设备及存储介质 |
US20200310517A1 (en) * | 2020-05-28 | 2020-10-01 | Intel Corporation | Adaptive lower power state entry and exit |
US11740679B2 (en) | 2020-09-08 | 2023-08-29 | Micron Technology, Inc. | Adaptive sleep transition techniques |
US11640251B2 (en) * | 2021-01-20 | 2023-05-02 | Western Digital Technologies, Inc. | Early transition to low power mode for data storage devices |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426684B2 (en) * | 2005-04-29 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Lost-cycle measurement using cycle counter |
US7386739B2 (en) * | 2005-05-03 | 2008-06-10 | International Business Machines Corporation | Scheduling processor voltages and frequencies based on performance prediction and power constraints |
WO2008012483A1 (en) * | 2006-07-28 | 2008-01-31 | Arm Limited | Power management in a data processing device having masters and slaves |
US7966506B2 (en) * | 2007-12-12 | 2011-06-21 | Intel Corporation | Saving power in a computer system |
US8219834B2 (en) * | 2009-08-12 | 2012-07-10 | International Business Machines Corporation | Predictive power gating with optional guard mechanism |
US8887171B2 (en) * | 2009-12-28 | 2014-11-11 | Intel Corporation | Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection |
US8839006B2 (en) * | 2010-05-28 | 2014-09-16 | Nvidia Corporation | Power consumption reduction systems and methods |
US20130097415A1 (en) * | 2011-10-12 | 2013-04-18 | Qualcomm Incorporated | Central Processing Unit Monitoring and Management Based On A busy-Idle Histogram |
US9442557B2 (en) * | 2012-11-28 | 2016-09-13 | Advanced Micro Devices, Inc. | Using a linear prediction to configure an idle state of an entity in a computing device |
US9183144B2 (en) * | 2012-12-14 | 2015-11-10 | Intel Corporation | Power gating a portion of a cache memory |
-
2012
- 2012-12-21 US US13/723,868 patent/US20140181553A1/en not_active Abandoned
-
2013
- 2013-12-16 KR KR1020157019328A patent/KR20150097713A/ko not_active Application Discontinuation
- 2013-12-16 WO PCT/US2013/075311 patent/WO2014099741A1/en active Application Filing
- 2013-12-16 JP JP2015549527A patent/JP2016506576A/ja active Pending
- 2013-12-16 CN CN201380067714.8A patent/CN104871114A/zh active Pending
- 2013-12-16 EP EP13865291.2A patent/EP2936274A1/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018018446A (ja) * | 2016-07-29 | 2018-02-01 | 富士通株式会社 | 並列処理装置、並列処理装置の電源制御プログラム、及び並列処理装置の電源制御方法 |
JP2019003588A (ja) * | 2017-06-12 | 2019-01-10 | 正仁 櫨田 | Cpuチップ上のコア・ブロックの1個が動作していなかったり、コア・ブロック内のトランジスターが熱崩壊をして異常な消費電流値を示してコア・ブロックが熱破壊した場合等に、cpuのコア・ブロックの今現在の全部の状態をレジスター群に保存してcpuのコア・ブロック自体へのシステム・クロックの供給や電力供給を停止してcpu自体の発熱や消費電力を抑え、cpuの動作を元の状態に復元してプログラムを再実行する時には、外部割込みに依り、cpuのコア・ブロックにシステム・クロックを再供給してレジスター群から情報を読み込んでcpuの状態を戻して、システム・クロックに従ってプログラム・カウンターの値から、メモリー上のプログラムを再起動する方法。 |
JP2022511629A (ja) * | 2018-10-16 | 2022-02-01 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ダイナミックランダムアクセスメモリランクのパワーダウンモードの投機的な終了 |
JP7408650B2 (ja) | 2018-10-16 | 2024-01-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ダイナミックランダムアクセスメモリランクのパワーダウンモードの投機的な終了 |
JP2021047707A (ja) * | 2019-09-19 | 2021-03-25 | 株式会社東芝 | 制御方法及び半導体集積回路 |
JP7199329B2 (ja) | 2019-09-19 | 2023-01-05 | 株式会社東芝 | 制御方法及び半導体集積回路 |
US11588475B2 (en) | 2019-09-19 | 2023-02-21 | Kabushiki Kaisha Toshiba | Control method and semiconductor integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
US20140181553A1 (en) | 2014-06-26 |
KR20150097713A (ko) | 2015-08-26 |
WO2014099741A1 (en) | 2014-06-26 |
CN104871114A (zh) | 2015-08-26 |
EP2936274A1 (en) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016506576A (ja) | 集積回路のアイドルフェーズ予測 | |
US9110671B2 (en) | Idle phase exit prediction | |
US8438416B2 (en) | Function based dynamic power control | |
EP3872604B1 (en) | Hardware automatic performance state transitions in system on processor sleep and wake events | |
US9904623B2 (en) | Early cache prefetching in preparation for exit from idle mode | |
US9074947B2 (en) | Estimating temperature of a processor core in a low power state without thermal sensor information | |
US9720487B2 (en) | Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration | |
US20160378168A1 (en) | Dynamic power management optimization | |
KR20140001902A (ko) | 처리 노드의 열 제어를 위한 방법 및 장치 | |
KR102547292B1 (ko) | 동적 신뢰성 품질 모니터링 | |
JP2019527867A (ja) | モバイルデバイス上でのエネルギー効率のためのウェイクロックアウェアシステム全体のジョブスケジューリング | |
US9377833B2 (en) | Electronic device and power management method |