JP6748298B2 - ハードウェア制御分割スヌープディレクトリを使用するコヒーレント相互接続電力低減 - Google Patents
ハードウェア制御分割スヌープディレクトリを使用するコヒーレント相互接続電力低減 Download PDFInfo
- Publication number
- JP6748298B2 JP6748298B2 JP2019512811A JP2019512811A JP6748298B2 JP 6748298 B2 JP6748298 B2 JP 6748298B2 JP 2019512811 A JP2019512811 A JP 2019512811A JP 2019512811 A JP2019512811 A JP 2019512811A JP 6748298 B2 JP6748298 B2 JP 6748298B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- power
- power state
- low power
- split snoop
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
Description
12 システムオンチップ(SoC)、SoC
14 プロセッサ、マルチコアプロセッサ
14a プロセッサ1、マルチコアプロセッサ
14b プロセッサN、マルチコアプロセッサ
14c マルチコアプロセッサ
16 メモリ、メモリデバイス
18 通信インターフェース
20 ストレージメモリインターフェース
22 通信構成要素
24 ストレージメモリ、記憶デバイス
26、1610、1708 アンテナ
200、201、202、203 プロセッサコア
210、212、214、216 プライベートキャッシュ
230 共有キャッシュ
300a プロセッサコア1、プロセッサコア
300b プロセッサコアM、プロセッサコア
300c プロセッサコア1、プロセッサコア
300d プロセッサコアP、プロセッサコア
300e プロセッサコア、プロセッサコア1
300f プロセッサコア、プロセッサコアR
302a、302b、302c、302d、302e、302f プライベートキャッシュ、プロセッサキャッシュ
304a、304b、304c 共有キャッシュ、プロセッサキャッシュ
306a、306b 入出力(I/O)エージェント、I/Oエージェント
308 コヒーレント相互接続
310a、310b 分割スヌープディレクトリ
312 メインメモリまたはランダムアクセスメモリ構成要素、ランダムアクセスメモリ構成要素
400a、400b 電力領域
402a、402b、402c プロセッサキャッシュ電力コントローラ
404a、404b 分割スヌープディレクトリ電力コントローラ
600 電力状態テーブル
1600 モバイルコンピューティングデバイス、コンピューティングデバイス
1602、1711 プロセッサ
1604 タッチスクリーンコントローラ
1606 内部メモリ
1608 無線信号トランシーバ、トランシーバ
1612 タッチスクリーンパネル
1614 スピーカー
1616 セルラーネットワークワイヤレスモデムチップ
1618 周辺デバイス接続インターフェース
1620 ハウジング
1622 電源
1624 物理ボタン
1626 電源ボタン
1700 ラップトップコンピュータ、コンピュータ
1712、1802 揮発性メモリ
1713、1804 ディスクドライブ
1715 コンパクトディスク(CD)ドライブ
1716 ワイヤレスデータリンクおよび/またはセルラー電話トランシーバ
1717 タッチパッドのタッチ面、タッチパッド
1718 キーボード
1719 ディスプレイ
1800 サーバ
1801 マルチコアプロセッサアセンブリ、プロセッサ
1803 ネットワークアクセスポート
1805 ネットワーク
Claims (30)
- コンピューティングデバイス上で複数の分割スヌープディレクトリを実装する方法であって、
少なくとも第1のマルチコアプロセッサを有する第1の電力領域のための、第1のタグ手法のスヌープディレクトリアーキテクチャによって構成される第1の分割スヌープディレクトリと、少なくとも第2のマルチコアプロセッサを有する第2の電力領域のための、第2のタグ手法のスヌープディレクトリアーキテクチャによって構成される第2の分割スヌープディレクトリとを有効化するステップであって、前記第1の電力領域が、複数のプロセッサキャッシュを含み、前記第2の電力領域が、少なくとも1つのプロセッサキャッシュを含み、前記第1のタグ手法が前記第2のタグ手法と異なる、ステップと、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するステップと、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるとの決定に応答して、前記第1の分割スヌープディレクトリを無効化するステップと
を含む方法。 - 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を検出するステップと、
前記少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための前記条件の検出に応答して、前記第1の分割スヌープディレクトリを低電力状態に変化させるための要求を送るステップと
をさらに含む、請求項1に記載の方法。 - 前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求を受信するステップをさらに含み、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するステップが、前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求の受信に応答して、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するステップを含む、請求項2に記載の方法。 - 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を受信するステップをさらに含み、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するステップが、前記少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための前記条件の検出に応答して、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するステップを含む、請求項1に記載の方法。 - 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を受信するステップが、前記第1の電力領域から、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの前記少なくとも1つのプロセッサキャッシュの電力状態を示す信号を受信するステップを含む、請求項4に記載の方法。
- 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュが高電力状態であるとの決定に応答して、前記第1の分割スヌープディレクトリを有効化されたままにするステップをさらに含む、請求項1に記載の方法。
- 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを高電力状態に変化させるための条件を検出するステップと、
前記少なくとも1つのプロセッサキャッシュを高電力状態に変化させるための前記条件の検出と、前記第1の電力領域の前記複数のプロセッサキャッシュが低電力状態であるとの決定とに応答して、前記第1の分割スヌープディレクトリを有効化するステップと
をさらに含む、請求項1に記載の方法。 - 低電力状態が、「OFF」状態および「RET」(保持)状態のうちの1つを含み、
高電力状態が、「ON」状態を含む、請求項7に記載の方法。 - N個の電力領域のためのN個の分割スヌープディレクトリと、M個の電力領域のためのM個の分割スヌープディレクトリとを有効化するステップであって、NおよびMが1よりも大きい整数であり、前記N個の電力領域が、N個の複数のプロセッサキャッシュを含み、前記M個の電力領域が、少なくとも1つのプロセッサキャッシュを含む、ステップと、
前記N個の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するステップと、
そのための前記N個の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態である、前記N個の分割スヌープディレクトリのいずれかを無効化するステップと
をさらに含む、請求項1に記載の方法。 - 複数の分割スヌープディレクトリを実装するように構成されたコンピューティングデバイスであって、
複数のプロセッサキャッシュを含む、第1の電力領域と、
少なくとも1つのプロセッサキャッシュを含む、第2の電力領域と、
少なくとも第1のマルチコアプロセッサを有する前記第1の電力領域のための、第1のタグ手法のスヌープディレクトリアーキテクチャによって構成される第1の分割スヌープディレクトリと、少なくとも第2のマルチコアプロセッサを有する前記第2の電力領域のための、第2のタグ手法のスヌープディレクトリアーキテクチャによって構成される第2の分割スヌープディレクトリとを有し、前記第1のタグ手法が前記第2のタグ手法と異なる、コヒーレント相互接続と、
前記第1の電力領域に通信可能に接続され、前記コヒーレント相互接続に通信可能に接続された、第1の処理デバイスと、
前記第2の電力領域に通信可能に接続され、前記コヒーレント相互接続に通信可能に接続された、第2の処理デバイスと
を備え、
前記第1の処理デバイスが、
前記第1の分割スヌープディレクトリを有効化すること、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定すること、および
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるとの決定に応答して、前記第1の分割スヌープディレクトリを無効化すること
を含む動作を実行するように構成される、コンピューティングデバイス。 - 前記コンピューティングデバイスが、前記第1の電力領域に通信可能に接続され、前記第1の処理デバイスに通信可能に接続された、第3の処理デバイスをさらに備え、前記第3の処理デバイスが、
前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を検出すること、および
前記少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための前記条件の検出に応答して、前記第1の分割スヌープディレクトリを低電力状態に変化させるための要求を、前記第1の処理デバイスに送ること
を含む動作を実行するように構成される、請求項10に記載のコンピューティングデバイス。 - 前記第1の処理デバイスが、前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求を受信することをさらに含む、動作を実行するように構成され、
前記第1の処理デバイスが、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定することが、前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求の受信に応答して、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定することを含むように、動作を実行するように構成される、請求項11に記載のコンピューティングデバイス。 - 前記第1の処理デバイスが、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を受信することをさらに含む、動作を実行するように構成され、
前記第1の処理デバイスが、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定することが、前記少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための前記条件の検出に応答して、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定することを含むように、動作を実行するように構成される、請求項10に記載のコンピューティングデバイス。 - 前記第1の処理デバイスが、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を受信することが、前記第1の電力領域から、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの前記少なくとも1つのプロセッサキャッシュの電力状態を示す信号を受信することを含むように、動作を実行するように構成される、請求項13に記載のコンピューティングデバイス。
- 前記第1の処理デバイスが、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュが高電力状態であるとの決定に応答して、前記第1の分割スヌープディレクトリを有効化されたままにすることをさらに含む、動作を実行するように構成される、請求項10に記載のコンピューティングデバイス。
- 前記コンピューティングデバイスが、前記第1の電力領域に通信可能に接続され、前記第1の処理デバイスに通信可能に接続された、第3の処理デバイスをさらに備え、前記第3の処理デバイスが、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを高電力状態に変化させるための条件を検出することを含む、動作を実行するように構成され、
前記第1の処理デバイスが、前記第3の処理デバイスによる、前記少なくとも1つのプロセッサキャッシュを高電力状態に変化させるための前記条件の検出と、前記第1の電力領域の前記複数のプロセッサキャッシュが低電力状態であるとの決定とに応答して、前記第1の分割スヌープディレクトリを有効化することをさらに含む、動作を実行するように構成される、請求項10に記載のコンピューティングデバイス。 - 低電力状態が、「OFF」状態および「RET」(保持)状態のうちの1つを含み、
高電力状態が、「ON」状態を含む、請求項16に記載のコンピューティングデバイス。 - 前記第1の処理デバイスおよび前記第3の処理デバイスが、同じ処理デバイスである、請求項16に記載のコンピューティングデバイス。
- 前記コンピューティングデバイスが、
複数のプロセッサキャッシュを含む、N個の電力領域と、
少なくとも1つのプロセッサキャッシュを含む、M個の電力領域と
をさらに備え、
前記第1の処理デバイスが、
前記N個の電力領域のためのN個の分割スヌープディレクトリと、前記M個の電力領域のためのM個の分割スヌープディレクトリとを有効化することであって、NおよびMが1よりも大きい整数である、有効化すること、
前記N個の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定すること、および
そのための前記N個の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態である、前記N個の分割スヌープディレクトリのいずれかを無効化すること
をさらに含む、動作を実行するように構成される、請求項10に記載のコンピューティングデバイス。 - 複数の分割スヌープディレクトリを実装するように構成されたコンピューティングデバイスであって、
少なくとも第1のマルチコアプロセッサを有する第1の電力領域のための、第1のタグ手法のスヌープディレクトリアーキテクチャによって構成される第1の分割スヌープディレクトリと、少なくとも第2のマルチコアプロセッサを有する第2の電力領域のための、第2のタグ手法のスヌープディレクトリアーキテクチャによって構成される第2の分割スヌープディレクトリとを有効化するための手段であって、前記第1の電力領域が、複数のプロセッサキャッシュを含み、前記第2の電力領域が、少なくとも1つのプロセッサキャッシュを含み、前記第1のタグ手法が前記第2のタグ手法と異なる、手段と、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するための手段と、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるとの決定に応答して、前記第1の分割スヌープディレクトリを無効化するための手段と
を備える、コンピューティングデバイス。 - 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を検出するための手段と、
前記少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための前記条件の検出に応答して、前記第1の分割スヌープディレクトリを低電力状態に変化させるための要求を送るための手段と
をさらに備える、請求項20に記載のコンピューティングデバイス。 - 前記コンピューティングデバイスが、前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求を受信するための手段をさらに備え、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するための手段が、前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求の受信に応答して、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するための手段を備える、請求項21に記載のコンピューティングデバイス。 - 前記コンピューティングデバイスが、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を受信するための手段をさらに備え、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するための手段が、前記少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための前記条件の検出に応答して、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するための手段を備える、請求項20に記載のコンピューティングデバイス。 - 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を受信するための手段が、前記第1の電力領域から、前記第1の電力領域の前記複数のプロセッサキャッシュのうちの前記少なくとも1つのプロセッサキャッシュの電力状態を示す信号を受信するための手段を備える、請求項23に記載のコンピューティングデバイス。
- 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュが高電力状態であるとの決定に応答して、前記第1の分割スヌープディレクトリを有効化されたままにするための手段をさらに備える、請求項20に記載のコンピューティングデバイス。
- 前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを高電力状態に変化させるための条件を検出するための手段と、
前記少なくとも1つのプロセッサキャッシュを高電力状態に変化させるための前記条件の検出と、前記第1の電力領域の前記複数のプロセッサキャッシュが低電力状態であるとの決定とに応答して、前記第1の分割スヌープディレクトリを有効化するための手段と
をさらに備える、請求項25に記載のコンピューティングデバイス。 - 低電力状態が、「OFF」状態および「RET」(保持)状態のうちの1つを含み、
高電力状態が、「ON」状態を含む、請求項26に記載のコンピューティングデバイス。 - N個の電力領域のためのN個の分割スヌープディレクトリと、M個の電力領域のためのM個の分割スヌープディレクトリとを有効化するための手段であって、NおよびMが1よりも大きい整数であり、前記N個の電力領域が、N個の複数のプロセッサキャッシュを含み、前記M個の電力領域が、少なくとも1つのプロセッサキャッシュを含む、手段と、
前記N個の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定するための手段と、
そのための前記N個の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態である、前記N個の分割スヌープディレクトリのいずれかを無効化するための手段と
をさらに備える、請求項20に記載のコンピューティングデバイス。 - コンピューティングデバイスのプロセッサに動作を実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作が、
少なくとも第1のマルチコアプロセッサを有する第1の電力領域のための、第1のタグ手法のスヌープディレクトリアーキテクチャによって構成される第1の分割スヌープディレクトリと、少なくとも第2のマルチコアプロセッサを有する第2の電力領域のための、第2のタグ手法のスヌープディレクトリアーキテクチャによって構成される第2の分割スヌープディレクトリとを有効化することであって、前記第1の電力領域が、複数のプロセッサキャッシュを含み、前記第2の電力領域が、少なくとも1つのプロセッサキャッシュを含み、前記第1のタグ手法が前記第2のタグ手法と異なる、有効化すること、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定すること、および
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるとの決定に応答して、前記第1の分割スヌープディレクトリを無効化すること
を含む、非一時的プロセッサ可読記憶媒体。 - 前記記憶されたプロセッサ実行可能命令が、前記プロセッサに、
前記第1の電力領域の前記複数のプロセッサキャッシュのうちの少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための条件を検出すること、
前記少なくとも1つのプロセッサキャッシュを低電力状態に変化させるための前記条件の検出に応答して、前記第1の分割スヌープディレクトリを低電力状態に変化させるための要求を送ること、および
前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求を受信すること
をさらに含む、動作を実行させるように構成され、
前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定することが、前記第1の分割スヌープディレクトリを低電力状態に変化させるための前記要求の受信に応答して、前記第1の電力領域の前記複数のプロセッサキャッシュのすべてが低電力状態であるか否かを決定することを含む、請求項29に記載の非一時的プロセッサ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/259,697 US10606339B2 (en) | 2016-09-08 | 2016-09-08 | Coherent interconnect power reduction using hardware controlled split snoop directories |
US15/259,697 | 2016-09-08 | ||
PCT/US2017/050450 WO2018049010A1 (en) | 2016-09-08 | 2017-09-07 | Coherent interconnect power reduction using hardware controlled split snoop directories |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019534501A JP2019534501A (ja) | 2019-11-28 |
JP2019534501A5 JP2019534501A5 (ja) | 2020-05-21 |
JP6748298B2 true JP6748298B2 (ja) | 2020-08-26 |
Family
ID=59901602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019512811A Active JP6748298B2 (ja) | 2016-09-08 | 2017-09-07 | ハードウェア制御分割スヌープディレクトリを使用するコヒーレント相互接続電力低減 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10606339B2 (ja) |
EP (1) | EP3510487B1 (ja) |
JP (1) | JP6748298B2 (ja) |
KR (1) | KR102132571B1 (ja) |
CN (1) | CN109690502A (ja) |
BR (1) | BR112019004001A8 (ja) |
WO (1) | WO2018049010A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6772007B2 (ja) * | 2016-09-12 | 2020-10-21 | キヤノン株式会社 | 情報処理装置及びその制御方法、コンピュータプログラム |
KR102659679B1 (ko) | 2019-04-22 | 2024-04-19 | 주식회사 엘지에너지솔루션 | 배터리의 미분 전압 커브를 결정하기 위한 장치 및 방법과, 상기 장치를 포함하는 배터리 팩 |
US11354239B2 (en) * | 2020-09-18 | 2022-06-07 | Microsoft Technology Licensing, Llc | Maintaining domain coherence states including domain state no-owned (DSN) in processor-based devices |
CN117931529A (zh) * | 2024-03-21 | 2024-04-26 | 上海励驰半导体有限公司 | 启动管理方法和设备、电子设备及存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2403561A (en) * | 2003-07-02 | 2005-01-05 | Advanced Risc Mach Ltd | Power control within a coherent multi-processor system |
US7089361B2 (en) | 2003-08-07 | 2006-08-08 | International Business Machines Corporation | Dynamic allocation of shared cache directory for optimizing performance |
US7752474B2 (en) | 2006-09-22 | 2010-07-06 | Apple Inc. | L1 cache flush when processor is entering low power mode |
WO2008152790A1 (ja) * | 2007-06-12 | 2008-12-18 | Panasonic Corporation | マルチプロセッサ制御装置、マルチプロセッサ制御方法及びマルチプロセッサ制御回路 |
US8527709B2 (en) * | 2007-07-20 | 2013-09-03 | Intel Corporation | Technique for preserving cached information during a low power mode |
US20110103391A1 (en) * | 2009-10-30 | 2011-05-05 | Smooth-Stone, Inc. C/O Barry Evans | System and method for high-performance, low-power data center interconnect fabric |
US8392665B2 (en) * | 2010-09-25 | 2013-03-05 | Intel Corporation | Allocation and write policy for a glueless area-efficient directory cache for hotly contested cache lines |
US8918591B2 (en) * | 2010-10-29 | 2014-12-23 | Freescale Semiconductor, Inc. | Data processing system having selective invalidation of snoop requests and method therefor |
US20130318308A1 (en) | 2012-05-24 | 2013-11-28 | Sonics, Inc. | Scalable cache coherence for a network on a chip |
US9170955B2 (en) * | 2012-11-27 | 2015-10-27 | Intel Corporation | Providing extended cache replacement state information |
US9317102B2 (en) | 2013-01-03 | 2016-04-19 | Apple Inc. | Power control for cache structures |
US9304923B2 (en) | 2013-03-12 | 2016-04-05 | Arm Limited | Data coherency management |
US9213643B2 (en) | 2013-03-13 | 2015-12-15 | Applied Micro Circuits Corporation | Broadcast messaging and acknowledgment messaging for power management in a multiprocessor system |
US9361236B2 (en) | 2013-06-18 | 2016-06-07 | Arm Limited | Handling write requests for a data array |
US9342134B2 (en) * | 2013-09-27 | 2016-05-17 | Intel Corporation | Power consumption reduction in a computing device |
US9665153B2 (en) | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
JP6218971B2 (ja) * | 2014-12-14 | 2017-10-25 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | アドレス・タグ・ビットに基づく動的キャッシュ置換ウェイ選択 |
US11237965B2 (en) | 2014-12-31 | 2022-02-01 | Arteris, Inc. | Configurable snoop filters for cache coherent systems |
US20160314024A1 (en) * | 2015-04-24 | 2016-10-27 | Mediatek Inc. | Clearance mode in a multicore processor system |
-
2016
- 2016-09-08 US US15/259,697 patent/US10606339B2/en active Active
-
2017
- 2017-09-07 CN CN201780054611.6A patent/CN109690502A/zh active Pending
- 2017-09-07 BR BR112019004001A patent/BR112019004001A8/pt unknown
- 2017-09-07 KR KR1020197006539A patent/KR102132571B1/ko active IP Right Grant
- 2017-09-07 WO PCT/US2017/050450 patent/WO2018049010A1/en unknown
- 2017-09-07 EP EP17768921.3A patent/EP3510487B1/en active Active
- 2017-09-07 JP JP2019512811A patent/JP6748298B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20180067542A1 (en) | 2018-03-08 |
WO2018049010A1 (en) | 2018-03-15 |
JP2019534501A (ja) | 2019-11-28 |
EP3510487A1 (en) | 2019-07-17 |
KR102132571B1 (ko) | 2020-07-09 |
EP3510487B1 (en) | 2023-02-22 |
BR112019004001A8 (pt) | 2023-02-14 |
CN109690502A (zh) | 2019-04-26 |
KR20190046840A (ko) | 2019-05-07 |
US10606339B2 (en) | 2020-03-31 |
BR112019004001A2 (pt) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10503656B2 (en) | Performance by retaining high locality data in higher level cache memory | |
JP6748298B2 (ja) | ハードウェア制御分割スヌープディレクトリを使用するコヒーレント相互接続電力低減 | |
US10339058B2 (en) | Automatic cache coherency for page table data | |
US10628321B2 (en) | Progressive flush of cache memory | |
US20190073305A1 (en) | Reuse Aware Cache Line Insertion And Victim Selection In Large Cache Memory | |
US20190087344A1 (en) | Reducing Clean Evictions In An Exclusive Cache Memory Hierarchy | |
KR102062507B1 (ko) | 동적 입력/출력 코히어런시 | |
US9612971B2 (en) | Supplemental write cache command for bandwidth compression | |
US9858196B2 (en) | Power aware padding | |
US20220113901A1 (en) | Read optional and write optional commands | |
US20180336136A1 (en) | Input/output-coherent Look-ahead Cache Access | |
EP3497563A1 (en) | Fine-grained power optimization for heterogeneous parallel constructs | |
JP2018511111A (ja) | ビクティムキャッシュモードを向上させるためのプロセススケジューリング | |
KR102008131B1 (ko) | 하이브리드 입력/출력 코히어런트 기록 | |
US11604505B2 (en) | Processor security mode based memory operation management | |
JP2018536917A (ja) | 実行のクリティカルパスから離れたタスクシグナリング | |
US11493986B2 (en) | Method and system for improving rock bottom sleep current of processor memories | |
US11907138B2 (en) | Multimedia compressed frame aware cache replacement policy | |
US20240061795A1 (en) | Mechanism To Reduce Exit Latency For Deeper Power Saving Modes L2 In PCIe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200408 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200408 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200408 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200709 |
|
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: 20200713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200806 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6748298 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |