JP2015503816A - ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法 - Google Patents

ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法 Download PDF

Info

Publication number
JP2015503816A
JP2015503816A JP2014552397A JP2014552397A JP2015503816A JP 2015503816 A JP2015503816 A JP 2015503816A JP 2014552397 A JP2014552397 A JP 2014552397A JP 2014552397 A JP2014552397 A JP 2014552397A JP 2015503816 A JP2015503816 A JP 2015503816A
Authority
JP
Japan
Prior art keywords
cache
caches
write
active
parallel
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.)
Granted
Application number
JP2014552397A
Other languages
English (en)
Other versions
JP5960842B2 (ja
JP2015503816A5 (ja
Inventor
ピーター・ジー・サッソーネ
クリストファー・エドワード・クーブ
ダナ・エム・ヴァントリーズ
スレッシュ・ケー・ヴェンクマハンティ
ルシアン・コドレスク
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2015503816A publication Critical patent/JP2015503816A/ja
Publication of JP2015503816A5 publication Critical patent/JP2015503816A5/ja
Application granted granted Critical
Publication of JP5960842B2 publication Critical patent/JP5960842B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

発明を実施するための形態で開示する実施形態は、ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法を含む。キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するように構成される。1つまたは複数の他のキャッシュすべてがアクティブでない場合、キャッシュ書込みポリシーマネージャは、並列キャッシュのうちのアクティブキャッシュに、ライトバックキャッシュポリシーを適用するよう命令するように構成される。このようにして、キャッシュ書込みポリシーマネージャは、電力を節約し、かつ/または単独でアクティブなプロセッサコアの性能を向上させることができる。1つまたは複数の他のキャッシュのうちいずれかがアクティブである場合、キャッシュ書込みポリシーマネージャは、並列キャッシュのうちのアクティブキャッシュに、ライトスルーキャッシュポリシーを適用するよう命令するように構成される。このように、キャッシュ書込みポリシーマネージャは、複数のプロセッサコアがアクティブであるとき、並列キャッシュの間でのデータ一貫性を促進する。

Description

本開示の技術は、マルチプロセッサの各プロセッサコアがそれ自体のローカルキャッシュを有し、共通キャッシュおよび/またはメインメモリを共有する、マルチプロセッサに関する。
優先権出願
本出願は、参照によってその全体が本明細書に組み込まれている、2012年1月16日に出願した「HYBRID WRITE-THROUGH/WRITE-BACK POLICY FOR CACHES, AND RELATED SYSTEMS AND METHODS」と題する米国仮特許出願第61/586,937号の優先権を主張する。
プロセッサキャッシュは、ライトバックキャッシュポリシーまたはライトスルーキャッシュポリシーを実装するように構成され得る。ライトスルーキャッシュポリシーは、キャッシュに記憶されたすべてのデータを、次レベルキャッシュにライトスルーする。たとえば、第1レベルライトスルーキャッシュは、第1レベルキャッシュに記憶されたすべてのデータを次レベルキャッシュにライトスルーすることができる。ライトスルーキャッシュポリシーは、キャッシュに記憶されたデータが次レベルキャッシュにライトスルーされるので、各第1レベルキャッシュがダーティデータを確実に含まないようにする。ただし、あらゆるデータストアを次レベルキャッシュにライトスルーすると、次レベルキャッシュにデータをライトスルーすることにより、追加電力を消費することになる。したがって、ライトスルーキャッシュポリシーは、比較的低電力のデバイスには理想的でない場合がある。
一方、ライトバックキャッシュポリシーで構成されたキャッシュ(すなわち、ライトバックキャッシュ)は、エビクションまで、キャッシュ中のダーティデータを収集する。ライトバックキャッシュは、エビクション前は第1レベルキャッシュへの書込みが収集され、ライトスルーされないので、より少ない電力しか消費しなくてすむ。ただし、ライトバックキャッシュを含むマルチプロセッサシステムは、より複雑であり得る。たとえば、ライトバックキャッシュ中のダーティデータは、データ一貫性を提供するために監視される必要がある場合がある。さらに、設計および検査フェーズにおいて、データデバッグの一貫性問題で時間を消費することになり得る場合がある。
発明を実施するための形態で開示する実施形態は、ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法を含む。この点について、一実施形態では、キャッシュ書込みポリシーマネージャが提供される。キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するように構成される。並列キャッシュは、1つまたは複数の共通リネージ(common lineage)(すなわち、親)キャッシュまたはメモリを、直接、または中間キャッシュもしくは中間メモリを通して間接的に共有するが、一貫性は維持されるべきである。アクティブキャッシュとは、使用中のキャッシュである。複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合、キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちのアクティブキャッシュに、ライトバックキャッシュポリシーを適用するよう命令するように構成される。このようにして、キャッシュ書込みポリシーマネージャは、複数の並列プロセッサコアのうちの単一のプロセッサコアのみがアクティブであるとき、電力を節約し、かつ/または性能を向上させることができる。複数の並列キャッシュのうちの1つまたは複数の他のキャッシュのいずれかがアクティブである場合、キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちのアクティブキャッシュに、ライトスルーキャッシュポリシーを適用するよう命令するように構成される。このように、キャッシュ書込みポリシーマネージャは、複数の並列プロセッサコアのうちの複数のプロセッサコアがアクティブであるとき、並列キャッシュの間でのデータ一貫性を促進する。
別の実施形態では、キャッシュ用のハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するための手段が提供される。この手段は、複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するための手段を備える。この手段は、複数の並列キャッシュのうちのアクティブキャッシュに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合、ライトバックキャッシュポリシーを適用するよう命令するための手段をさらに備える。この手段は、複数の並列キャッシュのうちのアクティブキャッシュに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュのいずれかがアクティブである場合、ライトスルーキャッシュポリシーを適用するよう命令するための手段をさらに備える。
別の実施形態では、キャッシュ用のハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するための方法が提供される。この方法は、複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するステップを含む。この方法は、複数の並列キャッシュのうちのアクティブキャッシュに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合、ライトバックキャッシュポリシーを適用するよう命令するステップをさらに含む。この方法は、複数の並列キャッシュのうちのアクティブキャッシュに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュのいずれかがアクティブである場合、ライトスルーキャッシュポリシーを適用するよう命令するステップをさらに含む。
別の実施形態では、キャッシュが提供される。このキャッシュは、キャッシュメモリと、キャッシュメモリのキャッシュ書込みポリシーを設定するように構成されたキャッシュコントローラとを備える。キャッシュコントローラは、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでないという指示の受信に応答して、キャッシュメモリ用のライトバックキャッシュポリシーを設定するようにさらに構成される。キャッシュコントローラは、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュのいずれかがアクティブであるという指示の受信に応答して、キャッシュメモリ用のライトスルーキャッシュポリシーを設定するようにさらに構成される。
別の実施形態では、マルチプロセッサシステムが提供される。マルチプロセッサシステムは、複数の並列キャッシュと、複数の並列キャッシュによって共有される共有メモリとを備える。マルチプロセッサシステムは、複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するように構成されたキャッシュ書込みポリシーマネージャも備える。キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちのアクティブキャッシュに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合、ライトバックキャッシュポリシーを適用するよう命令するようにさらに構成される。キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちのアクティブキャッシュに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュのいずれかがアクティブである場合、ライトスルーキャッシュポリシーを適用するよう命令するようにさらに構成される。
別の実施形態では、非一時的コンピュータ可読媒体が提供される。コンピュータ可読媒体は、プロセッサに、複数の並列キャッシュ用のハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供させるためのコンピュータ実行可能命令を記憶している。命令は、プロセッサに、複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断させる。命令はさらに、プロセッサに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合、ライトバックキャッシュポリシーを適用するよう、複数の並列キャッシュのうちのアクティブキャッシュに命令させる。命令はさらに、プロセッサに、複数の並列キャッシュのうちの1つまたは複数の他のキャッシュのいずれかがアクティブである場合、ライトスルーキャッシュポリシーを適用するよう、複数の並列キャッシュのうちのアクティブキャッシュに命令させる。
ハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するように構成された例示的なキャッシュ書込みポリシーマネージャを備える例示的なマルチプロセッサシステムのブロック図である。 図1のキャッシュ書込みポリシーマネージャによって、ハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するように実施することができる例示的なステートマシンを示す図である。 ハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するためのキャッシュ書込みポリシーマネージャを各プロセッサコアが備える、複数のプロセッサコアを有する別の例示的なマルチプロセッサシステムのブロック図である。 ハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するためのキャッシュ書込みポリシーマネージャを備えるハイパーバイザを採用する別の例示的なマルチプロセッサシステムのブロック図である。 ハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するためのキャッシュ書込みポリシーマネージャを備える電力管理ユニット(PMU)を採用する別の例示的なマルチプロセッサシステムのブロック図である。 本明細書に開示する実施形態によるキャッシュ書込みポリシーマネージャを含む例示的なプロセッサベースのシステムのブロック図である。
発明を実施するための形態で開示する実施形態は、ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法を含む。この点について、一実施形態では、キャッシュ書込みポリシーマネージャが提供される。キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するように構成される。並列キャッシュは、1つまたは複数の共通リネージ(すなわち、親)キャッシュまたはメモリを、直接、または中間キャッシュもしくは中間メモリを通して間接的に共有するが、一貫性は維持されるべきである。アクティブキャッシュとは、使用中のキャッシュである。複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合、キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちのアクティブキャッシュに、ライトバックキャッシュポリシーを適用するよう命令するように構成される。このようにして、キャッシュ書込みポリシーマネージャは、複数の並列プロセッサコアのうちの単一のプロセッサコアのみがアクティブであるとき、電力を節約し、かつ/または性能を向上させることができる。複数の並列キャッシュのうちの1つまたは複数の他のキャッシュのいずれかがアクティブである場合、キャッシュ書込みポリシーマネージャは、複数の並列キャッシュのうちのアクティブキャッシュに、ライトスルーキャッシュポリシーを適用するよう命令するように構成される。このように、キャッシュ書込みポリシーマネージャは、複数の並列プロセッサコアのうちの複数のプロセッサコアがアクティブであるとき、並列キャッシュの間でのデータ一貫性を促進する。
図1は、複数の並列プロセッサコア22(0)〜22(X)を備える例示的なマルチプロセッサシステム10のブロック図である。各処理コア22(0)〜22(X)は、キャッシュコントローラ16(0)〜16(X)とキャッシュメモリ18(0)〜18(X)とを備えるローカル並列キャッシュ14(0)〜14(X)にアクセスする。図1のキャッシュ14(0)〜14(X)は、共通リネージ共有メモリ20を共有するので、並列キャッシュである。図1に示すように、並列キャッシュ14(0)〜14(X)は、プロセッサコア22(0)〜22(X)用の第1レベルキャッシュであり得る。代替として、並列キャッシュ14(0)〜14(X)は、より上位レベルキャッシュ、たとえば、プロセッサコア22(0)〜22(X)の第2レベルまたは第3レベルキャッシュであってよい。並列キャッシュ14(0)〜14(X)は、共有メモリ20を共有する。共有メモリ20は、共有キャッシュ、たとえば、第2レベルキャッシュであり得る。共有メモリ20は、メインメモリであってもよい。図1にも示すように、マルチプロセッサシステム10は、半導体ダイ24に統合されてよい。
マルチプロセッサシステムは、その動作時間の一部を、単一のプロセッサコアをアクティブにするのに費やす場合がある。したがって、マルチプロセッサシステム10を、単一のプロセッサコア22(0)がアクティブな状態で動作するとき、より少ない電力を消費するように最適化することが有益な場合がある。時々、性能向上が必要とされるとき、マルチプロセッサシステム10の1つまたは複数の他のプロセッサコア22(X)を、マルチプロセッサシステム10用の処理容量を増大させるようにアクティブ化すればよい。プロセッサコア22(0)〜22(X)のうちの複数がアクティブであるとき、マルチプロセッサシステム10によって追加電力が消費される場合があるが、マルチプロセッサシステム10によって消費される増加電力は、爆発的な性能の増加が必要とされ得る期間中に起こるだけであり得る。
この点において、マルチプロセッサシステム10は、ハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するように構成されたキャッシュ書込みポリシーマネージャ12を備える。キャッシュ書込みポリシーマネージャ12は、複数の並列キャッシュ14(0)〜14(X)のキャッシュ書込みポリシーを管理するように構成される。キャッシュ書込みポリシーマネージャ12は、少なくとも2つの並列キャッシュ14(0)〜14(X)がアクティブであるかどうか判断するように構成される。キャッシュ書込みポリシーマネージャ12は、複数の並列キャッシュ14(0)〜14(X)のうちのアクティブキャッシュ14(0)に、複数の並列キャッシュ14(0)〜14(X)のうちの1つまたは複数の他のキャッシュ14(X)すべてがアクティブでない場合、ライトバックキャッシュポリシーを適用するよう命令するように構成される。このようにして、キャッシュ書込みポリシーマネージャ12は、複数の並列プロセッサコア22(0)〜22(X)のうちの単一のプロセッサコア22(0)のみがアクティブであるとき、電力を節約し、かつ/またはマルチプロセッサシステム10の性能を向上させることができる。たとえば、キャッシュ書込みポリシーマネージャ12は、複数の並列キャッシュ14(0)〜14(X)のうちのアクティブキャッシュ14(0)に、複数の並列キャッシュ14(0)〜14(X)のうちの他のキャッシュ14(X)すべてが非アクティブになったとき、ライトバックキャッシュポリシーを適用するよう命令するように構成され得る。
また、キャッシュ書込みポリシーマネージャ12は、複数の並列キャッシュ14(0)〜14(X)のうちのアクティブキャッシュ14(0)に、1つまたは複数の他のキャッシュ14(X)のいずれかがアクティブである場合、ライトスルーキャッシュポリシーを適用するよう命令するようにも構成される。このようにして、キャッシュ書込みポリシーマネージャ12は、複数の並列プロセッサコア22(0)〜22(X)のうちの複数のプロセッサコア22(0)〜22(X)がアクティブであるとき、並列キャッシュ14(0)〜14(X)の間でのデータ一貫性を促進する。
キャッシュ書込みポリシーマネージャ12は、並列キャッシュ14(0)〜14(X)のキャッシュコントローラ16(0)〜16(X)に、ハイブリッドなライトスルー/ライトバックキャッシュポリシーを実装するための命令を送るように構成される。キャッシュ書込みポリシーマネージャ12は、所望のキャッシュ書込みポリシーに、並列キャッシュ14(0)〜14(X)向けに設定されるよう命令するように構成される。キャッシュコントローラ16(0)は、キャッシュメモリ18(0)用の所望のキャッシュ書込みポリシーを設定するための命令を、キャッシュ書込みポリシーマネージャ12から受信するように構成される。キャッシュコントローラ16(0)は、複数の並列キャッシュ14(0)〜14(X)のうちの1つまたは複数の他のキャッシュ14(X)すべてがアクティブでないという指示の受信に応答して、キャッシュメモリ18(0)用のキャッシュ書込みポリシーとして、ライトバックキャッシュポリシーを設定するように構成される。キャッシュコントローラ16(0)は、複数の並列キャッシュ14(0)〜14(X)のうちの1つまたは複数の他のキャッシュ14(X)のいずれかがアクティブであるという指示の受信に応答して、キャッシュメモリ18(0)用のライトスルーキャッシュポリシーを設定するようにさらに構成される。
キャッシュ書込みポリシーマネージャ12は、ステートマシンとして実装することができる。この点において、図2は、図1のキャッシュ書込みポリシーマネージャ12によって実施することができる例示的なステートマシン26を提示する。この点において、図2は、キャッシュ書込みポリシーマネージャ12用の例示的なステートマシン26を示す。一実施形態では、ステートマシン26は、第1の状態28、第2の状態30、第3の状態32、および第4の状態34を有して提供され得る。
ここで第1の状態28を参照すると、複数の並列プロセッサコア22(0)〜22(X)のうちのただ1つのプロセッサコア22(0)がアクティブであるとき、プロセッサコア22(0)によってアクセスされるローカルキャッシュ14(0)が、複数の並列キャッシュ14(0)〜14(X)のうちの唯一のアクティブキャッシュであってもよい。複数の並列キャッシュ14(0)〜14(X)の中でただ1つの第1のキャッシュ14(0)がアクティブであるとき、キャッシュ14(0)と1つまたは複数の他のキャッシュ14(X)との間で継続的データ一貫性を維持する必要はない。したがって、キャッシュ14(0)にライトバックキャッシュポリシーを適用することにより、電力を節約し、単独でアクティブなプロセッサコア22(0)の性能を向上させることができる場合がある。したがって、図2に示すように、ただ1つのキャッシュ14(0)がアクティブになると、キャッシュ書込みポリシーマネージャ12は、第1の状態28になる。第1の状態28において、キャッシュ書込みポリシーマネージャ12は、アクティブキャッシュ14(0)にライトバックキャッシュポリシーを適用する。ライトバックキャッシュポリシーを適用するとき、キャッシュ14(0)は、ダーティデータを記憶する可能性がある。
ただし、他のキャッシュ14(X)のうち1つまたは複数がアクティブ化されると、キャッシュ14(0)は、1つまたは複数の他のキャッシュ14(X)と整合される必要がある。したがって、1つまたは複数の他のキャッシュ14(X)のいずれかがアクティブであることをキャッシュ書込みポリシーマネージャ12が検出すると、キャッシュ書込みポリシーマネージャ12は、第1の状態28から第2の状態30に遷移する。キャッシュ書込みポリシーマネージャ12は、1つまたは複数の他のキャッシュ14(X)のいずれかが電力供給されていると判断することによって、複数の並列キャッシュ14(0)〜14(X)のうちの1つまたは複数の他のキャッシュ14(X)のいずれかがアクティブであると判断するように構成され得る。キャッシュ書込みポリシーマネージャ12は、1つまたは複数の他のキャッシュ14(X)のうちいずれかにアクセスするように構成された1つまたは複数の他のプロセッサコア22(X)のうちいずれかが電力供給され、かつ/またはアクティブであると判断することによって、1つまたは複数の他のキャッシュ14(X)のいずれかがアクティブであると判断するようにも構成され得る。
第2の状態30において、キャッシュ書込みポリシーマネージャ12は、最初にアクティブだったキャッシュ14(0)を、1つまたは複数の他のキャッシュ14(X)と整合させる。データ一貫性を達成するために、キャッシュ書込みポリシーマネージャ12は、最初にアクティブだったキャッシュ14(0)に、すべてのダーティキャッシュラインをクリーニングするよう命令する。アクティブキャッシュ14(0)は、いずれかのダーティキャッシュラインによって記憶されたデータを、複数の並列キャッシュ14(0)〜14(X)の間で共有される共有メモリ20に書き込むことによって、すべてのダーティキャッシュラインをクリーニングすることができる。共有メモリ20へのダーティキャッシュラインすべてをクリーニングする前、間、または後で、キャッシュ書込みポリシーマネージャ12はまた、最初にアクティブだったキャッシュ14(0)に、ライトスルーキャッシュポリシーを適用するよう命令する。1つまたは複数の他のキャッシュ14(X)を管理するときも、キャッシュ書込みポリシーマネージャ12はやはり、1つまたは複数の他のキャッシュ14(X)に、ライトスルーキャッシュポリシーを適用するよう命令する。キャッシュ14(0)のダーティキャッシュラインのクリーニングは、新たにアクティブ化する他のプロセッサコア22(X)の前に、および/または新たにアクティブ化する1つまたは複数の他のキャッシュ14(X)が十分にアクティブになる前に完了され得る。最初にアクティブだったキャッシュ14(0)中のどのダーティキャッシュラインのクリーニングが完了された後でも、第1のプロセッサコア22(0)の最初にアクティブだったキャッシュ14(0)はその後、1つまたは複数の他のキャッシュ14(X)との一貫性を維持することになる。一貫性は、本実施形態において、共有メモリ20を通して維持される。共通リネージ共有メモリ20は、アクティブキャッシュ14(0)および/または他のキャッシュ14(X)の次レベル共有メモリであり得る。代替として、アクティブキャッシュ14(0)と共有メモリ20との間に配設された1つまたは複数の中間キャッシュおよび/または中間メモリが存在してよい。1つまたは複数の他のキャッシュ14(X)と共有メモリ20との間に配設された1つまたは複数の中間キャッシュおよび/または中間メモリが存在してもよい。最初にアクティブだったキャッシュ14(0)が、共有メモリ20と整合するようにアップデートされた後、1つもしくは複数の他のプロセッサコア22(X)および/または1つもしくは複数の他のキャッシュ14(X)は、十分にアクティブになることが可能となり得る。
1つもしくは複数の他のプロセッサコア22(X)および/または1つもしくは複数の他のキャッシュ14(X)をアクティブ化するのは時間がかかるので、第2の状態30の動作は、1つもしくは複数の他のプロセッサコア22(X)のアクティブ化および/または1つもしくは複数の他のキャッシュ14(X)のアクティブ化とほぼ並行して起こるよう命令されてよい。
図2への参照を続けると、1つまたは複数の他のキャッシュ14(X)のうち1つまたは複数がアクティブになると、キャッシュ書込みポリシーマネージャ12は、第3の状態32に遷移する。第3の状態32において、アクティブである少なくとも2つの並列キャッシュ14(たとえば、14(0)、14(X))があり、アクティブ並列キャッシュ14の各々は、ライトスルーキャッシュポリシーを適用している。これにより、アクティブプロセッサコア22(0)〜22(X)は、本実施形態において、共有メモリ20におけるアクティブキャッシュ14(0)〜14(X)の一貫性を維持することができる。追加の他のキャッシュ14(X)がアクティブになった(たとえば、2つ以上の他のキャッシュ14(X)がアクティブである)場合、キャッシュ書込みポリシーマネージャ12は第3の状態32に留まり、追加の他のキャッシュ14(X)も、ライトスルーキャッシュポリシーを適用するよう命令される。
ある時点において、1つまたは複数の他のプロセッサコア22(X)の追加処理容量が、マルチプロセッサシステム10によってこれ以上必要とされなくなる場合がある。1つまたは複数の他のプロセッサコア22(X)の追加処理容量がマルチプロセッサシステム10によってこれ以上必要とされない場合、マルチプロセッサシステム10は、電力を節約するために、1つまたは複数の他のプロセッサコア22(X)に、非アクティブ化するよう命令してよい。その結果、1つまたは複数の他のキャッシュ14(X)も、共有メモリ20に1つまたは複数の他のキャッシュ14(X)をフラッシュすることなく、電源切断され、かつ/または非アクティブ化され(すなわち、アクティブでなくされ)得る。1つまたは複数の他のキャッシュ14(X)すべてがアクティブでない(たとえば、ただ1つのキャッシュ14(0)がアクティブなままである)とキャッシュポリシーマネージャ12が判断すると、キャッシュ書込みポリシーマネージャ12は、第3の状態32から第4の状態34に遷移する。
第4の状態34において、1つまたは複数の他のキャッシュ14(X)はアクティブでなく、かつ/または電力供給されないので、単独でアクティブなキャッシュ14(0)を1つまたは複数の他のキャッシュ14(X)とこれ以上整合させておく必要はない。したがって、第4の状態34において、キャッシュ書込みポリシーマネージャ12は、残りのアクティブキャッシュ14(0)に、ライトバックキャッシュポリシーを適用するよう命令する。ダーティデータは、キャッシュ14(0)に再度記憶されてよい。その結果、マルチプロセッサシステム10によって消費される電力が減少する。また、実装、作業負荷、および/または他の設計因子によっては、残りのアクティブプロセッサコア22(0)は、ライトバックキャッシュポリシーの下で性能が向上する場合がある。
残りのアクティブキャッシュ14(0)に、ライトバックキャッシュポリシーを適用するよう命令した後、キャッシュ書込みポリシーマネージャ12は、第4の状態34から第1の状態28に遷移する。キャッシュ書込みポリシーマネージャ12は、複数の並列キャッシュ14(0)〜14(X)の中でアクティブ並列キャッシュ14(0)が唯一のアクティブキャッシュ14である限り、第1の状態28に留まることになる。キャッシュ書込みポリシーマネージャ12はその後、本明細書で論じるように継続する。
ステートマシン26の第1、第2、第3、および第4の状態を通っての周期終了における、残りの単独でアクティブなキャッシュ14(0)は、周期の開始時に最初にアクティブだったキャッシュ14(0)と、複数の並列キャッシュ14(0)〜14(X)のうちの同じキャッシュ14であっても異なるキャッシュ14であってもよいことが、本開示から当業者には諒解されよう。言い換えると、ステートマシン26を通る周期の開始時に最初にアクティブだったものと同じキャッシュ14または異なるキャッシュ14が、ステートマシン26を通る周期の終了時にアクティブなままであり得る。
キャッシュ書込みポリシーマネージャ12は、いくつかのステートマシン26を備え、操作し得ることも、当業者には本開示から諒解されよう。たとえば、複数のキャッシュ14を管理するキャッシュ書込みポリシーマネージャ12は、キャッシュ書込みポリシーマネージャ12によって管理される各キャッシュ14用の別個のステートマシン26を備え、操作することができる。
さらに、前述の考察では、ステートマシン26の4つの別個の状態、すなわち第1の状態28、第2の状態30、第3の状態32、および第4の状態34に言及している。概して、第1の状態28および第3の状態32は、継続時間が比較的長い状態であってよく、第2の状態30および第4の状態34は暫定的な(すなわち、継続時間が比較的短い)状態であってよい。ステートマシン26は、より少ない状態または追加状態を与えられてもよい。たとえば、いくつかの実施形態では、ステートマシン26は、継続時間が比較的長い第1の状態28および暫定的な第2の状態30が第1の状態36として与えられ、継続時間が比較的長い第3の状態32および暫定的な第4の状態34が第2の状態38として与えられる、2ステートマシンとして提供されてよい。
さらなる例として、図2に示す任意選択の第5の始動状態40について、ここで論じる。キャッシュ14が初めて起動すると、キャッシュ書込みポリシーマネージャ12は最初、他の並列キャッシュ14がアクティブであるかどうかわからない場合がある。どのキャッシュ14がアクティブである/アクティブでないかの判断が行われ得る前は、アクティブ化キャッシュ14が唯一のアクティブキャッシュ14であると仮定するのは安全でない場合がある。したがって、キャッシュ書込みポリシーマネージャ12は、キャッシュ14に、どのキャッシュ14がアクティブである/アクティブでないかの判断が行われ得るまで、デフォルトキャッシュ書込みポリシーとしてライトスルーキャッシュポリシーを適用するよう命令するように構成すればよい。その結果、さもなければ他のアクティブ並列キャッシュ14が存在するときにアクティブ化キャッシュ14がライトバックキャッシュポリシーを適用した場合に起こり得るデータ一貫性問題が回避される。
この点において、キャッシュ書込みポリシーマネージャ12は最初、始動状態40で始まり得る。始動状態40において、キャッシュ書込みポリシーマネージャ12は、キャッシュ14に、ライトスルーキャッシュポリシーを適用するよう命令する。キャッシュ書込みポリシーマネージャ12は次いで、第3の状態32に遷移する。次いで、どのキャッシュ14がアクティブである/アクティブでないかに関する判断が行われることになる。複数の並列キャッシュ14のうちの1つまたは複数の他のキャッシュ14(X)すべてがアクティブでない場合、アクティブ化キャッシュ14のキャッシュ書込みポリシーマネージャ12は、第4の状態34に遷移し(アクティブ化キャッシュ14に、ライトバックキャッシュポリシーを適用するよう命令する)、次いで、第1の状態28に遷移する。複数の並列キャッシュ14のうちの1つまたは複数の他のキャッシュ14(X)のいずれかがアクティブである場合、アクティブ化キャッシュ14のキャッシュ書込みポリシーマネージャ12は、第3の状態38に留まる。
図1のマルチプロセッサシステム10は、プロセッサコア22(0)〜22(X)からなる単一のクラスタを示す。ただし、マルチプロセッサシステム10は、階層マルチプロセッサシステム10(1)の一部として設けることもできる。この点において、図3は、複数のプロセッサコアクラスタを有する階層マルチプロセッサシステム10(1)を示す。プロセッサコア22A(0)〜22A(X)は、第1のプロセッサコアクラスタを提供する。プロセッサコア22B(0)〜22B(Y)は、第2のプロセッサコアクラスタを形成する。図3において、キャッシュ14A(0)〜14A(X)は、共通リネージ並列キャッシュ14C(0)を共有するので、並列キャッシュである。キャッシュ14B(0)〜14B(Y)は、共通リネージ並列キャッシュ14C(Z)を共有するので、並列キャッシュである。キャッシュ14C(0)〜14C(Z)は、共通リネージ共有メモリ20を共有するので、並列キャッシュである。キャッシュ14A(0)〜14A(X)および14B(0)〜14B(X)は、共通リネージ共有メモリ20を共有するので、並列キャッシュでもある。階層マルチプロセッサシステム10(1)は、半導体ダイ24(1)上に設けることができる。図3の要素は、図1の要素と同様の要素番号を有し、本明細書に記載する但し書きを除いて、図1の要素と同じように動作する。
図3に示すように、図1のキャッシュ書込みポリシーマネージャ12は、複数のキャッシュ書込みポリシーマネージャ12A(0)〜12A(X)、12B(0)〜12B(Y)として設けることができる。図3に示す実施形態において、各プロセッサコア22(たとえば、プロセッサコア22A(0)〜22A(X)および22B(0)〜22B(Y))は、キャッシュ書込みポリシーマネージャ12(たとえば、それぞれ、12A(0)〜12A(X)および12B(0)〜12B(Y))を含む。各プロセッサコア22に含まれるキャッシュ書込みポリシーマネージャ12は、複数の並列キャッシュ14A(0)〜14A(X)、14B(0)〜14B(Y)のうちの少なくとも2つのキャッシュ14がアクティブであるかどうか判断するように構成される。各プロセッサコア22に含まれるキャッシュ書込みポリシーマネージャ12は、そのプロセッサコア22によってアクセスされる並列キャッシュ14に、どのキャッシュ書込みポリシーを適用するべきかに関して命令するようにも構成される。
この点について、図3において、第1のプロセッサコア22A(0)のみがアクティブであるとき、キャッシュ書込みポリシーマネージャ12A(0)は、並列キャッシュ14A(0)に、ライトバックキャッシュポリシーを適用するよう命令してよい。キャッシュ書込みポリシーマネージャ12A(0)は、並列キャッシュ14A(0)に、第2のプロセッサコアクラスタ中の1つまたは複数の他のプロセッサコア22B(0)〜22B(Y)のうちどれもアクティブでない場合、ライトバックキャッシュポリシーを適用するよう命令してもよい。プロセッサコア22A(X)が電源投入されると、キャッシュ書込みポリシーマネージャ12A(X)は、並列キャッシュ14A(0)がすでにアクティブであると判断し、したがって、並列キャッシュ14A(X)に、ライトスルーキャッシュポリシーを適用するよう命令する。プロセッサコア22A(X)が起動すると、キャッシュ書込みポリシーマネージャ12A(0)は、プロセッサコア22A(X)がアクティブ化中であるとも判断し、したがって、すでにアクティブなキャッシュ14A(0)に、そのキャッシュラインからすべてのダーティデータをクリーニングするよう命令する。並列キャッシュ14A(X)は次いで、並列キャッシュ14A(0)のうちどのダーティキャッシュラインに記憶されたデータでも、第1のプロセッサコアクラスタのプロセッサコア22A(0)〜22A(X)の間で共有される並列キャッシュ14C(0)に書き込むことによって、そのダーティキャッシュラインすべてをクリーニングする。
並列キャッシュ14A(X)のダーティキャッシュラインのクリーニングが完了されると、並列キャッシュ14A(0)は、プロセッサコア22A(X)の並列キャッシュ14A(X)とのデータ一貫性を維持する準備が整う。この点において、両方の並列キャッシュ14A(0)、14A(X)は、それらのローカルキャッシュメモリ18A(0)、18A(X)に記憶されたどのデータも並列キャッシュ14C(0)に書き込むためのライトスルーキャッシュポリシーを適用することになる。
図2のステートマシン26は、並列キャッシュ14C(0)〜14C(Z)などの並列キャッシュに適用することもできる。この点において、第1のプロセッサクラスタ中に、アクティブなプロセッサコア22(たとえば、プロセッサコア22A(0)、22A(X))がある。ただし、1つまたは複数の他のプロセッサクラスタ中には、他にアクティブなプロセッサコア22B(0)〜22B(Y)がない。その結果、並列キャッシュ14C(0)はアクティブであり、他にはアクティブな並列キャッシュ14C(Z)がない。他にはアクティブな並列キャッシュ14C(Z)がないので、並列キャッシュ14C(0)は、ライトバックキャッシュポリシーを適用するよう命令される。並列キャッシュ14C(0)は、並列キャッシュ14C(0)と並列のすべての他の並列キャッシュ(たとえば、並列キャッシュ14C(Z))が非アクティブな(すなわち、アクティブでない)ままである限り、ライトバックキャッシュポリシーを適用し続けてよい。
第2のプロセッサコアクラスタ中でプロセッサコア22B(0)がアクティブ化されると、図2のステートマシン26は、より深いキャッシュレベルにある並列キャッシュ14C(0)〜14C(Z)のポリシーを設定するのに使われる。(他のプロセッサコアクラスタ中の)プロセッサコア22B(0)が電源投入され、かつ/または他のやり方でアクティブ化されると、並列キャッシュ14B(0)および並列キャッシュ14C(Z)も電源投入されることになり、アクティブになる。キャッシュ書込みポリシーマネージャ12B(0)は、並列キャッシュ14A(0)〜14A(X)がアクティブであると判断し、したがって、並列キャッシュ14B(0)に、ライトスルーキャッシュポリシーを適用するよう命令する。キャッシュ書込みポリシーマネージャ12B(0)は、並列キャッシュ14C(0)がアクティブであるとも判断し、したがって、並列キャッシュ14C(Z)に、ライトスルーキャッシュポリシーを適用するよう命令する。
キャッシュ書込みポリシーマネージャ12A(0)は、プロセッサコア22B(0)および/または並列キャッシュ14B(0)がアクティブであるとも判断し、したがって、並列キャッシュ14C(0)に、ライトスルーキャッシュポリシーを適用するよう命令する。こうすることにより、並列キャッシュ14C(0)は、新たにアクティブ化された並列キャッシュ14C(Z)と一貫性を維持することができる。この点において、並列キャッシュ14C(0)および並列キャッシュ14C(Z)は各々、それらのキャッシュメモリ18C(0)、18C(Z)に記憶されたデータを共有メモリ20にライトスルーすることになる。他のプロセッサコアクラスタのすべてのアクティブプロセッサコア22B(この例ではプロセッサコア22B(0))が非アクティブ化されると、キャッシュ書込みポリシーマネージャ12A(0)は、いずれかの他のプロセッサコアクラスタのどの他のプロセッサコア22B(0)〜22B(Y)および/または並列キャッシュ14B(0)〜14B(Y)もアクティブでないと判断することになる。この判断が起こると、キャッシュ書込みポリシーマネージャ12A(0)は、並列キャッシュ14C(0)に、ライトバックキャッシュポリシーを適用するよう命令してよい。ライトバックキャッシュポリシーを適用することにより、電力を節約し、かつ/または唯一の残りのアクティブプロセッサコアクラスタ中のプロセッサ12A(0)〜12A(X)(すなわち、プロセッサ12A(0)〜12A(X))の性能を向上させることができる。図2のステートマシン26は、階層キャッシュシステムのどのレベルでも適用され得ることが、本開示から当業者には諒解されよう。図3の各プロセッサコアクラスタは、2つ以上のプロセッサコア22を備え得ることも、当業者には本開示から諒解されよう。
階層マルチプロセッサシステム10(1)は、2つ以上のプロセッサコアクラスタを備え得ることも、当業者には本開示から諒解されよう。図3に示す階層マルチプロセッサシステム10(1)は、3つのレベルのキャッシュを示す。ただし、ステートマシン26は、より深いキャッシュ階層にも適用され得ることが当業者には諒解されよう。
図3に示すプロセッサコア22A(0)〜22A(X)、22B(0)〜22B(Y)は各々、独自のキャッシュ書込みポリシーマネージャ12A(0)〜12A(X)、12B(0)〜12B(Y)を含む。ただし、キャッシュ書込みポリシーマネージャ12は、プロセッサコア22A(0)〜22A(X)、22B(0)〜22B(Y)の外に設けることもできる。この点において、図4は、ハイパーバイザ44に統合されたキャッシュ書込みポリシーマネージャ12を備えるマルチプロセッサシステム10(2)を示す。ハイパーバイザ44は、プロセッサコア22A(0)〜22A(X)、22B(0)〜22B(Y)および/または並列キャッシュ14A(0)〜14A(X)、14B(0)〜14B(Y)のうちいずれかがアクティブであるかどうか判断することができる。ハイパーバイザは、並列キャッシュ14C(0)〜14C(Z)のうちいずれかがアクティブであるかどうかも判断することもできる。ハイパーバイザ44は、プロセッサコア22A(0)〜22A(X)、22B(0)〜22B(Y)のアクティブ化および非アクティブ化、ならびに/あるいはそれらのそれぞれのプロセッサコアクラスタのアクティブ化および非アクティブ化を制御することもできる。一実施形態では、ハイパーバイザ44は、半導体ダイ24(2)上で別個の回路要素として提供される。別の実施形態では、ハイパーバイザ44はソフトウェアにおいて提供される。ソフトウェアにおいて実装されると、ハイパーバイザ44は、プロセッサコア22A(0)〜22A(X)、22B(0)〜22B(Y)とは別個のプロセッサコア22上で実行することができる。ただし、ハイパーバイザ44は、プロセッサコア22A(0)〜22A(X)、22B(0)〜22B(Y)のうち1つまたは複数の上で実行することもできる。
図5のマルチプロセッサシステム10(3)で示されるように、キャッシュ書込みポリシーマネージャ12は、電力管理ユニット(PMU)46に統合されてもよい。PMU46は、半導体ダイ24(3)の別個の回路要素として実装することができる。PMU46は、プロセッサコア22A(0)〜22A(X)、22B(0)〜22B(Y)および/または並列キャッシュ14A(0)〜14A(X)、14B(0)〜14B(Y)の電源投入および/または電源切断を制御する。PMU46は、並列キャッシュ14A(0)〜14A(X)、14B(0)〜14B(Y)および/または並列キャッシュ14C(0)〜14C(Z)に影響を与えるための別個のステートマシン26を実装してもしなくてもよい。
本明細書で開示した実施形態によるキャッシュ書込みポリシーマネージャ12および/または並列キャッシュ14は、どのプロセッサベースのデバイス内に設けても、統合してもよい。例として、限定されないが、セットトップボックス、娯楽機器、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤが含まれる。
この点において、図6は、プロセッサベースのシステム48の例を示す。この例では、プロセッサベースのシステム48は、1つまたは複数のプロセッサ52を各々が含む1つまたは複数の中央処理装置(CPU)50を含む。CPU50は、一時記憶データへの高速アクセスのためにプロセッサ52に結合されたキャッシュ53を有し得る。本明細書で論じるように、各キャッシュ53は、本明細書で論じたように制御されるキャッシュコントローラ56およびキャッシュメモリ54を含み得る。CPU50はシステムバス58に結合され、システムバス58は、プロセッサベースのシステム48に含まれるマスターデバイスおよびスレーブデバイスを相互に結合することができる。よく知られているように、CPU50は、アドレス情報、制御情報、およびデータ情報を、システムバス58を通じて交換することによって、これらの他のデバイスと通信する。たとえば、CPU50は、スレーブデバイスの一例として、メモリコントローラ60にバストランザクション要求を通信することができる。図6には示さないが、複数のシステムバス58を設けてもよく、この場合、各システムバス58は異なるファブリックを構成する。
他のマスターおよびスレーブデバイスが、システムバス58に結合され得る。図6に示されるように、これらのデバイスは、例として、システムメモリ62、1つまたは複数の入力デバイス64、1つまたは複数の出力デバイス66、1つまたは複数のネットワークインターフェースデバイス68、および1つまたは複数のディスプレイコントローラ70を含み得る。入力デバイス64は、入力キー、スイッチ、音声プロセッサなどを含むが、それに限定されない、どのタイプの入力デバイスも含み得る。出力デバイス66は、オーディオ、ビデオ、他の視覚インジケータなどを含むが、それに限定されない、どのタイプの出力デバイスも含み得る。ネットワークインターフェースデバイス68は、ネットワーク72との間でデータの交換をさせるように構成されたどのデバイスでもよい。ネットワーク72は、限定はされないが、有線ネットワークまたはワイヤレスネットワーク、非公開ネットワークまたは公開ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、およびインターネットを含む、任意のタイプのネットワークであってよい。ネットワークインターフェースデバイス68は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。本明細書で論じるように、CPU50は、1つまたは複数のキャッシュ書込みポリシーマネージャ12も含み得る。図6に示すように、1つまたは複数のキャッシュ書込みポリシーマネージャ12は、キャッシュ53と一体および/またはプロセッサ52と一体であってよい。やはり図6に示すように、1つまたは複数のキャッシュ書込みポリシーマネージャ12は、キャッシュ53および/またはプロセッサ52とは別個に、CPU50に設けることもできる。たとえば、1つまたは複数の別個に設けられるキャッシュ書込みポリシーマネージャ12は、CPU50のハイパーバイザ44および/またはPMU46と一体に設けることができる。
CPU50はまた、システムバス58を通じてディスプレイコントローラ70にアクセスして、1つまたは複数のディスプレイ74に送られる情報を制御するようにも構成され得る。ディスプレイコントローラ70は、1つまたは複数のビデオプロセッサ76を介して表示されるべき情報を、ディスプレイ74に送り、ビデオプロセッサ76は、表示されるべき情報を、ディスプレイ74に適切なフォーマットとなるように処理する。ディスプレイ74は、限定はされないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む、任意のタイプのディスプレイを含み得る。システムメモリ62は、プロセッサベースのシステム48のメモリ78にアクセスするためのメモリコントローラ60を備え得る。メモリ78は、非一時的コンピュータ可読媒体を備え得る。コンピュータ可読媒体は、複数のキャッシュ53のうち1つまたは複数についてのハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するための、本明細書に記載する方法を、プロセッサ52に実装させるためのコンピュータ実行可能命令を記憶しておくことができる。この点において、メモリ78は、プログラムストア80および/またはデータストア82を備え得る。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子的なハードウェアとして、メモリもしくは別のコンピュータ可読媒体に記憶されプロセッサもしくは他の処理デバイスにより実行される命令として、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。本明細書に記載するキャッシュ書込みポリシーマネージャ、キャッシュコントローラ、および/またはキャッシュは、例として任意の回路、ハードウェア構成要素、集積回路(IC)、またはICチップにおいて採用され得る。本明細書で開示するメモリは、どのタイプおよびサイズのメモリでもよく、所望されるどのタイプの情報も記憶するように構成され得る。この互換性を明確に示すために、上記では、様々な例示的構成要素、ブロック、モジュール、回路、およびステップは全般的に、それらの機能性に関して説明されている。そのような機能性がどのように実装されるかは、具体的な用途、設計の選択、および/またはシステム全体に課される設計制約により決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理回路、個別ハードウェア構成要素、または本明細書で説明する機能を実施するように設計されたそれらの任意の組合せで実装または実施することができる。処理コア(本明細書では、コア、処理コア、および/またはプロセッサとも呼ばれる)は、マイクロプロセッサであり得るが、代替として、処理コアは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッシングコアは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装することもできる。
本明細書で開示される実施形態は、ハードウェアで具現化されてよく、ハードウェアに記憶される命令により具現化されてよく、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能ROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で知られている任意の他の形態のコンピュータ可読媒体に、存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に存在し得る。ASICは遠隔局に存在し得る。代替として、プロセッサおよび記憶媒体は、遠隔局、基地局、またはサーバの中に、個別の構成要素として存在し得る。
本明細書の例示的な実施形態のいずれかで説明された動作ステップは、例および議論を提供するために説明されたものであることにも、留意されたい。説明された動作は、例示された順序以外の多くの異なる順序で実施されてもよい。さらに、単一の動作ステップで説明される動作は、実際には、いくつかの異なるステップで実施され得る。加えて、例示的な実施形態において論じられた1つまたは複数の動作ステップは、組み合わされてもよい。流れ図において例示される動作ステップは、当業者に容易に明らかとなるような多くの異なる修正を受けてもよいことを、理解されたい。情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることも、当業者には理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
本開示の上記の説明は、当業者が本開示を作製または使用できるようにするために提供される。本開示への様々な変更が当業者には容易に明らかになり、本明細書において規定される一般原理は、本開示の趣旨または範囲を逸脱することなく、他の変形形態に適用することができる。したがって、本開示は、本明細書で説明した例および設計に限定されることを意図するものではなく、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
10 マルチプロセッサシステム
12 キャッシュ書込みポリシーマネージャ
14 ローカル並列キャッシュ、キャッシュ、並列キャッシュ、ローカルキャッシュ
16 キャッシュコントローラ
18 キャッシュメモリ
20 共通リネージ共有メモリ、共有メモリ
22 並列プロセッサコア、プロセッサコア
24 半導体ダイ

Claims (23)

  1. 複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断し、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合ライトバックキャッシュポリシーを適用するよう命令し、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブである場合ライトスルーキャッシュポリシーを適用するよう命令するように構成されたキャッシュ書込みポリシーマネージャ。
  2. 前記複数の並列キャッシュのうちの前記アクティブキャッシュに、前記複数の並列キャッシュのうちの前記他のキャッシュすべてが非アクティブになったとき前記ライトバックキャッシュポリシーを適用するよう命令するように構成された、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  3. 前記アクティブキャッシュに、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブ化された場合すべてのダーティキャッシュラインをクリーニングするよう命令するようにさらに構成された、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  4. 前記アクティブキャッシュに、どのダーティキャッシュラインによって記憶されたデータも共有メモリに書き込むよう命令することによって、前記アクティブキャッシュに、すべてのダーティキャッシュラインをクリーニングするよう命令するように構成された、請求項3に記載のキャッシュ書込みポリシーマネージャ。
  5. 前記1つまたは複数の他のキャッシュのいずれかにアクセスするように構成された1つまたは複数のプロセッサコアのうちのいずれかが電力供給されているかどうか判断することによって、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブであるかどうか判断するように構成された、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  6. 前記1つまたは複数の他のキャッシュのいずれかにアクセスするように構成された1つまたは複数のプロセッサコアすべてが電力供給されていないかどうか判断することによって、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのすべてがアクティブでないかどうか判断するように構成された、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  7. 前記アクティブキャッシュが、前記ライトスルーキャッシュポリシーをデフォルトポリシーとして適用するように構成される、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  8. 処理コア、ハイパーバイザ、および電力管理ユニット(PMU)のうち少なくとも1つに統合された、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  9. 半導体ダイに統合される、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  10. 前記キャッシュ書込みポリシーマネージャが統合されたセットトップボックス、娯楽機器、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなるグループから選択されたデバイスをさらに含む、請求項1に記載のキャッシュ書込みポリシーマネージャ。
  11. 複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するための手段と、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合ライトバックキャッシュポリシーを適用するよう命令するための手段と、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブである場合ライトスルーキャッシュポリシーを適用するよう命令するための手段とを備える、キャッシュ用のハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するための手段。
  12. キャッシュ用のハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するための方法であって、
    複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するステップと、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合ライトバックキャッシュポリシーを適用するよう命令するステップと、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブである場合ライトスルーキャッシュポリシーを適用するよう命令するステップとを含む方法。
  13. 前記アクティブキャッシュに、すべてのダーティキャッシュラインをクリーニングするよう命令するステップが、前記アクティブキャッシュに、どのダーティキャッシュラインによって記憶されたデータも共有メモリに書き込むよう命令するステップを含む、請求項12に記載の方法。
  14. 前記1つまたは複数の他のキャッシュのいずれかにアクセスするように構成された前記1つまたは複数のプロセッサコアのいずれかが電力供給されているかどうか判断することによって、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブであるかどうか判断するステップを含む、請求項12に記載の方法。
  15. 前記1つまたは複数の他のキャッシュのいずれかにアクセスするように構成された前記1つまたは複数のプロセッサコアのすべてが電力供給されていないかどうか判断することによって、前記複数の並列キャッシュのうちの前記1つまたは複数のプロセッサコアのすべてがアクティブでないかどうか判断するステップを含む、請求項12に記載の方法。
  16. 前記アクティブキャッシュに、前記ライトスルーキャッシュポリシーをデフォルトポリシーとして適用するよう命令するステップをさらに含む、請求項12に記載の方法。
  17. キャッシュメモリと、
    前記キャッシュメモリのキャッシュ書込みポリシーを設定するように構成されたキャッシュコントローラとを備えるキャッシュであって、
    前記キャッシュコントローラが、
    複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでないという指示の受信に応答して、前記キャッシュメモリ用のライトバックキャッシュポリシーを設定し、
    前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブであるという指示の受信に応答して、前記キャッシュメモリ用のライトスルーキャッシュポリシーを設定するようにさらに構成されたキャッシュ。
  18. 前記キャッシュコントローラが、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブ化されているという指示の受信に応答して、前記キャッシュメモリのすべてのダーティキャッシュラインをクリーニングするようにさらに構成される、請求項17に記載のキャッシュ。
  19. 前記キャッシュコントローラが、前記キャッシュメモリのどのダーティキャッシュラインによって記憶されたデータも共有メモリに書き込むことによって、前記キャッシュメモリのすべてのダーティキャッシュラインをクリーニングするように構成される、請求項18に記載のキャッシュ。
  20. 複数の並列キャッシュと、
    前記複数の並列キャッシュによって共有される共有メモリと、
    キャッシュ書込みポリシーマネージャとを備えるマルチプロセッサシステムであって、前記キャッシュ書込みポリシーマネージャが、
    前記複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断し、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合ライトバックキャッシュポリシーを適用するよう命令し、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブである場合ライトスルーキャッシュポリシーを適用するよう命令するように構成されたマルチプロセッサシステム。
  21. 前記共有メモリが、共有キャッシュおよびメインメモリのうち少なくとも1つである、請求項20に記載のマルチプロセッサシステム。
  22. 複数の並列キャッシュ用のハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するための方法をプロセッサに実装させるためのコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記方法が、
    複数の並列キャッシュのうちの少なくとも2つのキャッシュがアクティブであるかどうか判断するステップと、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの1つまたは複数の他のキャッシュすべてがアクティブでない場合ライトバックキャッシュポリシーを適用するよう命令するステップと、
    前記複数の並列キャッシュのうちのアクティブキャッシュに、前記複数の並列キャッシュのうちの前記1つまたは複数の他のキャッシュのいずれかがアクティブである場合ライトスルーキャッシュポリシーを適用するよう命令するステップとを含むコンピュータ可読記憶媒体。
  23. 前記プロセッサによって実行されるハイパーバイザに、前記複数の並列キャッシュ用の前記ハイブリッドなライトスルー/ライトバックキャッシュポリシーを提供するための前記方法を実装させるように構成された、請求項22に記載のコンピュータ可読記憶媒体。
JP2014552397A 2012-01-16 2013-01-16 ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法 Expired - Fee Related JP5960842B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261586937P 2012-01-16 2012-01-16
US61/586,937 2012-01-16
US13/470,643 2012-05-14
US13/470,643 US10025711B2 (en) 2012-01-16 2012-05-14 Hybrid write-through/write-back cache policy managers, and related systems and methods
PCT/US2013/021774 WO2013109648A1 (en) 2012-01-16 2013-01-16 Hybrid write-through/write-back cache policy managers, and related systems and methods

Publications (3)

Publication Number Publication Date
JP2015503816A true JP2015503816A (ja) 2015-02-02
JP2015503816A5 JP2015503816A5 (ja) 2016-06-30
JP5960842B2 JP5960842B2 (ja) 2016-08-02

Family

ID=48780824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014552397A Expired - Fee Related JP5960842B2 (ja) 2012-01-16 2013-01-16 ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法

Country Status (9)

Country Link
US (1) US10025711B2 (ja)
EP (1) EP2805243B1 (ja)
JP (1) JP5960842B2 (ja)
KR (2) KR101747894B1 (ja)
CN (1) CN104067243B (ja)
ES (1) ES2573284T3 (ja)
HU (1) HUE028928T2 (ja)
TW (1) TWI489277B (ja)
WO (1) WO2013109648A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019146509A1 (ja) * 2018-01-23 2019-08-01 日立オートモティブシステムズ株式会社 電子制御装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372803B2 (en) * 2012-12-20 2016-06-21 Advanced Micro Devices, Inc. Method and system for shutting down active core based caches
US9442849B2 (en) * 2012-12-29 2016-09-13 Intel Corporation Apparatus and method for reduced core entry into a power state having a powered down core cache
US10216640B2 (en) 2014-03-21 2019-02-26 Samsung Electronics Co., Ltd. Opportunistic cache injection of data into lower latency levels of the cache hierarchy
US9594628B2 (en) 2014-07-30 2017-03-14 Segate Technology Llc Operational vibration compensation through media cache management
US9740426B2 (en) * 2014-09-19 2017-08-22 Lenovo (Singapore) Pte. Ltd. Drive array policy control
US10108344B1 (en) 2015-05-06 2018-10-23 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm
US10019362B1 (en) * 2015-05-06 2018-07-10 American Megatrends, Inc. Systems, devices and methods using solid state devices as a caching medium with adaptive striping and mirroring regions
US10089227B1 (en) 2015-05-06 2018-10-02 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a write cache flushing algorithm
US10114566B1 (en) 2015-05-07 2018-10-30 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots
US10176103B1 (en) 2015-05-07 2019-01-08 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a cache replacement algorithm
US10055354B1 (en) 2015-05-07 2018-08-21 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with a hashing algorithm to maintain sibling proximity
CN105740170B (zh) * 2016-01-22 2020-12-04 浪潮(北京)电子信息产业有限公司 一种缓存脏页刷写方法及装置
US9990286B1 (en) * 2017-05-05 2018-06-05 Honeywell International, Inc. Memory tracking using copy-back cache for 1:1 device redundancy
KR102430983B1 (ko) * 2017-09-22 2022-08-09 삼성전자주식회사 스토리지 장치 및 그 동작 방법
KR20190067370A (ko) * 2017-12-07 2019-06-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN108052414B (zh) * 2017-12-28 2021-09-17 湖南国科微电子股份有限公司 一种提升ssd工作温度范围的方法及系统
TWI681293B (zh) * 2018-01-10 2020-01-01 瑞昱半導體股份有限公司 暫存記憶體處理方法、暫存記憶體程式與記憶裝置
KR102052312B1 (ko) * 2018-05-08 2019-12-05 주식회사 애포샤 캐싱 장치 및 방법
KR20200056548A (ko) 2018-11-14 2020-05-25 에스케이하이닉스 주식회사 캐시 시스템을 갖는 메모리 시스템 및 메모리 시스템에서의 캐싱 동작 제어방법
KR20210066631A (ko) 2019-11-28 2021-06-07 삼성전자주식회사 메모리에 데이터를 기입하기 위한 장치 및 방법
US11023375B1 (en) * 2020-02-21 2021-06-01 SiFive, Inc. Data cache with hybrid writeback and writethrough
US11567873B1 (en) 2021-09-27 2023-01-31 Sap Se Extended cache for efficient object store access by a database
KR102641481B1 (ko) * 2023-04-19 2024-02-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법
KR102570030B1 (ko) * 2023-04-19 2023-08-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01266643A (ja) * 1988-04-18 1989-10-24 Nippon Telegr & Teleph Corp <Ntt> キャッシュ制御方式
JPH04347749A (ja) * 1991-05-24 1992-12-02 Nec Corp 情報処理装置
JPH0883215A (ja) * 1994-09-12 1996-03-26 Hitachi Ltd メモリ制御装置
JP2007528079A (ja) * 2004-03-08 2007-10-04 サンディスク コーポレイション フラッシュコントローラのキャッシュ構造
US20080008256A1 (en) * 2004-08-02 2008-01-10 Matshushita Electric Industrial Co., Ltd. Ofdm Transmitting Apparatus, Ofdm Receiving Apparatus, and Their Methods
JP2008525901A (ja) * 2004-12-27 2008-07-17 インテル・コーポレーション 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2533612B2 (ja) 1988-05-16 1996-09-11 富士通株式会社 メモリのデ―タ保護方式
US5301298A (en) 1991-10-11 1994-04-05 Intel Corporation Processor for multiple cache coherent protocols
US5522057A (en) 1993-10-25 1996-05-28 Intel Corporation Hybrid write back/write through cache having a streamlined four state cache coherency protocol for uniprocessor computer systems
US6052789A (en) 1994-03-02 2000-04-18 Packard Bell Nec, Inc. Power management architecture for a reconfigurable write-back cache
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US6711691B1 (en) 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
US6725342B1 (en) * 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US7127560B2 (en) 2003-10-14 2006-10-24 International Business Machines Corporation Method of dynamically controlling cache size
US7849350B2 (en) * 2006-09-28 2010-12-07 Emc Corporation Responding to a storage processor failure with continued write caching
US7730248B2 (en) * 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes
US8145932B2 (en) * 2008-06-30 2012-03-27 Dell Products L.P. Systems, methods and media for reducing power consumption in multiple controller information handling systems
US8161247B2 (en) * 2009-06-26 2012-04-17 Microsoft Corporation Wait loss synchronization
US8751833B2 (en) 2010-04-30 2014-06-10 Arm Limited Data processing system
WO2013054374A1 (en) * 2011-10-12 2013-04-18 Hitachi, Ltd. Storage system, and data backup method and system restarting method of storage system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01266643A (ja) * 1988-04-18 1989-10-24 Nippon Telegr & Teleph Corp <Ntt> キャッシュ制御方式
JPH04347749A (ja) * 1991-05-24 1992-12-02 Nec Corp 情報処理装置
JPH0883215A (ja) * 1994-09-12 1996-03-26 Hitachi Ltd メモリ制御装置
JP2007528079A (ja) * 2004-03-08 2007-10-04 サンディスク コーポレイション フラッシュコントローラのキャッシュ構造
US20080008256A1 (en) * 2004-08-02 2008-01-10 Matshushita Electric Industrial Co., Ltd. Ofdm Transmitting Apparatus, Ofdm Receiving Apparatus, and Their Methods
JP2008525901A (ja) * 2004-12-27 2008-07-17 インテル・コーポレーション 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019146509A1 (ja) * 2018-01-23 2019-08-01 日立オートモティブシステムズ株式会社 電子制御装置

Also Published As

Publication number Publication date
JP5960842B2 (ja) 2016-08-02
HUE028928T2 (en) 2017-01-30
CN104067243B (zh) 2017-09-12
EP2805243B1 (en) 2016-03-23
US10025711B2 (en) 2018-07-17
CN104067243A (zh) 2014-09-24
KR20170016995A (ko) 2017-02-14
WO2013109648A1 (en) 2013-07-25
EP2805243A1 (en) 2014-11-26
KR101747894B1 (ko) 2017-06-15
TWI489277B (zh) 2015-06-21
US20130185511A1 (en) 2013-07-18
TW201342062A (zh) 2013-10-16
KR20140116495A (ko) 2014-10-02
ES2573284T3 (es) 2016-06-07

Similar Documents

Publication Publication Date Title
JP5960842B2 (ja) ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法
KR101324885B1 (ko) 복수의 회로들에서의 성능 파라미터들 조정
EP2476037B1 (en) Managing resources to facilitate altering the number of active processors
JP5348429B2 (ja) 持続性メモリのためのキャッシュコヒーレンスプロトコル
JP6622715B2 (ja) 共有ハードウェアリソースを使用したクラスタプロセッサコアにおけるハードウェアスレッドの動的負荷分散、ならびに関連する回路、方法、およびコンピュータ可読媒体
JP2013235576A (ja) マルチcpuシステムとそれを含むコンピューティングシステム
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
US20170010655A1 (en) Power Management of Cache Duplicate Tags
US20180074964A1 (en) Power aware hash function for cache memory mapping
US11138111B2 (en) Parallel coherence and memory cache processing pipelines
EP3420460A1 (en) Providing scalable dynamic random access memory (dram) cache management using dram cache indicator caches
US11467621B2 (en) Computer processing unit intra-frame clock and voltage scaling based on graphics application awareness
US10482016B2 (en) Providing private cache allocation for power-collapsed processor cores in processor-based systems
JP6396625B1 (ja) 複数のマスタデバイス間の条件付き介入を使用したキャッシュコヒーレンシの維持

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under section 34 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20140711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160511

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160511

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160525

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160623

R150 Certificate of patent or registration of utility model

Ref document number: 5960842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees