TWI489277B - 混合直寫式/回寫式快取策略管理器及相關系統及方法 - Google Patents

混合直寫式/回寫式快取策略管理器及相關系統及方法 Download PDF

Info

Publication number
TWI489277B
TWI489277B TW102101719A TW102101719A TWI489277B TW I489277 B TWI489277 B TW I489277B TW 102101719 A TW102101719 A TW 102101719A TW 102101719 A TW102101719 A TW 102101719A TW I489277 B TWI489277 B TW I489277B
Authority
TW
Taiwan
Prior art keywords
cache
caches
write
parallel
active
Prior art date
Application number
TW102101719A
Other languages
English (en)
Other versions
TW201342062A (zh
Inventor
Peter G Sassone
Christopher Edward Koob
Dana M Vantrease
Suresh K Venkumahanti
Lucian Codrescu
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201342062A publication Critical patent/TW201342062A/zh
Application granted granted Critical
Publication of TWI489277B publication Critical patent/TWI489277B/zh

Links

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
    • 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
    • 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
    • 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)

Description

混合直寫式/回寫式快取策略管理器及相關系統及方法 優先權申請案
本申請案主張於2012年1月16日申請且題為「HYBRID WRITE-THROUGH/WRITE-BACK POLICY FOR CACHES,AND RELATED SYSTEMS AND METHODS」之美國臨時專利申請案第61/586,937號的優先權,該申請案特此以全文引用之方式併入本文中。
本發明之技術係關於多處理器,其中該多處理器之每一處理器核心具有其自身的本端快取且共用一共同快取及/或主記憶體。
處理器快取可經組態以實施回寫式快取策略或直寫式快取策略。直寫式快取策略將儲存於快取中之所有資料直接寫入至一或多個下一層級快取。舉例而言,第一層級直寫式快取可將儲存於第一層級快取中之所有資料直接寫入至下一層級快取。直寫式快取策略確保:每一個第一層級快取不含有已變更的資料,此係因為儲存於快取中之資料係直接寫入至下一層級快取。然而,將每個資料儲存區直接寫入至下一層級快取消耗額外功率(歸因於將資料直接寫入至下一層級快取)。因而,對於較低功率器件而言,直寫式快取策略可能並不理想。
另一方面,組態有回寫式快取策略之快取(亦即,回寫式快取)將 已變更的資料收集於快取中,直至收回為止。回寫式快取可消耗較少功率,此係因為收集了至第一層級快取之寫入且在收回之前並未直接寫入。然而,包括回寫式快取之多處理器系統可能更複雜。舉例而言,可能需要偵伺出回寫式快取中之已變更的資料,以提供資料一致性。此外,在設計及測試階段期間,就資料一致性問題進行偵錯可消耗時間。
詳細描述中所揭示之實施例包括混合直寫式/回寫式快取策略管理器,及相關系統及方法。就此而言,在一實施例中,提供一種快取寫入策略管理器。該快取寫入策略管理器經組態以判定複數個並行快取當中之至少兩個快取是否在作用中。並行快取直接地或經由一或多個中間快取或中間記憶體共用一或多個共同族系(亦即,父)快取或記憶體,其中應維持一致性。一作用中快取為處於使用中之一快取。若該複數個並行快取當中之所有一或多個其他快取不在作用中,則該快取寫入策略管理器經組態以指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略。以此方式,當複數個並行處理器核心當中之僅一單一處理器核心在作用中時,該快取寫入策略管理器可節省功率及/或增加效能。若該複數個並行快取當中之該一或多個其他快取中之任一者在作用中,則該快取寫入策略管理器經組態以指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。以此方式,當該複數個並行處理器核心當中之多個處理器核心在作用中時,該快取寫入策略管理器促進該等並行快取當中之資料一致性。
在另一實施例中,提供一種提供用於一快取之一混合直寫式/回寫式快取策略之構件。該構件包含用於判定複數個並行快取當中之至少兩個快取是否在作用中之一構件。該構件進一步包含用於在該複數個並行快取當中之所有一或多個其他快取不在作用中之情況下,指示 該複數個並行快取當中之一作用中快取應用一回寫式快取策略的一構件。該構件進一步包含用於在該複數個並行快取當中之該一或多個其他快取中之任一者在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略的一構件。
在另一實施例中,提供一種提供用於一快取之一混合直寫式/回寫式快取策略之方法。該方法包含判定複數個並行快取當中之至少兩個快取是否在作用中。該方法進一步包含在該複數個並行快取當中之所有一或多個其他快取不在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略。該方法進一步包含在該複數個並行快取當中之該一或多個其他快取中之任一者在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。
在另一實施例中,提供一種快取。該快取包含一快取記憶體,及經組態以設定該快取記憶體之一快取寫入策略之一快取控制器。該快取控制器經進一步組態以回應於接收到複數個並行快取當中之所有一或多個其他快取不在作用中之一指示而設定用於該快取記憶體之一回寫式快取策略。該快取控制器經進一步組態以回應於接收到複數個並行快取當中之該一或多個其他快取中之任一者在作用中之一指示而設定用於該快取記憶體之一直寫式快取策略。
在另一實施例中,提供一種多處理器系統。該多處理器系統包含複數個並行快取,及由該複數個並行快取共用之一共用記憶體。該多處理器系統亦包含一快取寫入策略管理器,該快取寫入策略管理器經組態以判定該複數個並行快取當中之至少兩個快取是否在作用中。該快取寫入策略管理器經進一步組態以在該複數個並行快取當中之所有一或多個其他快取不在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略。該快取寫入策略管理器經 進一步組態以在該複數個並行快取當中之該一或多個其他快取中之任一者在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。
在另一實施例中,提供一種非暫時性電腦可讀媒體。該電腦可讀媒體上儲存有電腦可執行指令,該等電腦可執行指令使得一處理器提供用於複數個並行快取之一混合直寫式/回寫式快取策略。該等指令使得該處理器判定複數個並行快取當中之至少兩個快取是否在作用中。該等指令進一步使得該處理器在該複數個並行快取當中之所有一或多個其他快取不在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略。該等指令進一步使得該處理器在該複數個並行快取當中之該一或多個其他快取中之任一者在作用中之情況下,指示該複數個並行快取當中之該作用中快取應用一直寫式快取策略。
10‧‧‧多處理器系統
10(1)‧‧‧階層式多處理器系統
10(2)‧‧‧多處理器系統
10(3)‧‧‧多處理器系統
12‧‧‧快取寫入策略管理器
12A(0)‧‧‧快取寫入策略管理器
12A(X)‧‧‧快取寫入策略管理器
12B(0)‧‧‧快取寫入策略管理器
12B(Y)‧‧‧快取寫入策略管理器
14(0)‧‧‧並行快取
14(X)‧‧‧並行快取
14A(0)‧‧‧並行快取
14A(X)‧‧‧並行快取
14B(0)‧‧‧並行快取
14B(Y)‧‧‧並行快取
14C(0)‧‧‧共同族系並行快取
14C(Z)‧‧‧共同族系並行快取
16(0)‧‧‧快取控制器
16(X)‧‧‧快取控制器
16A(0)‧‧‧快取控制器
16A(X)‧‧‧快取控制器
16B(0)‧‧‧快取控制器
16B(Y)‧‧‧快取控制器
16C(0)‧‧‧快取控制器
16C(Z)‧‧‧快取控制器
18(0)‧‧‧快取記憶體
18(X)‧‧‧快取記憶體
18A(0)‧‧‧快取記憶體
18A(X)‧‧‧快取記憶體
18B(0)‧‧‧快取記憶體
18B(Y)‧‧‧快取記憶體
18C(0)‧‧‧快取記憶體
18C(Z)‧‧‧快取記憶體
20‧‧‧共同族系共用記憶體
22‧‧‧處理器核心
22(0)‧‧‧並行處理器核心
22(X)‧‧‧並行處理器核心
22A(0)‧‧‧處理器核心
22A(X)‧‧‧處理器核心
22B(0)‧‧‧處理器核心
22B(Y)‧‧‧處理器核心
24‧‧‧半導體晶粒
24(1)‧‧‧半導體晶粒
24(2)‧‧‧半導體晶粒
24(3)‧‧‧半導體晶粒
26‧‧‧例示性狀態機
28‧‧‧第一狀態
30‧‧‧第二狀態
32‧‧‧第三狀態
34‧‧‧第四狀態
36‧‧‧第一狀態
38‧‧‧第二狀態
40‧‧‧可選第五起動狀態
44‧‧‧超管理器
46‧‧‧電源管理單元(PMU)
48‧‧‧基於處理器之系統
50‧‧‧中央處理單元(CPU)
52‧‧‧處理器
53‧‧‧快取
54‧‧‧快取記憶體
56‧‧‧快取控制器
58‧‧‧系統匯流排
60‧‧‧記憶體控制器
62‧‧‧系統記憶體
64‧‧‧輸入器件
66‧‧‧輸出器件
68‧‧‧網路介面器件
70‧‧‧顯示控制器
72‧‧‧網路
74‧‧‧顯示器
76‧‧‧視訊處理器
78‧‧‧記憶體
80‧‧‧程式儲存區
82‧‧‧資料儲存區
圖1為包含例示性快取寫入策略管理器之例示性多處理器系統的方塊圖,該例示性快取寫入策略管理器經組態以提供混合直寫式/回寫式快取策略;圖2為可由圖1中之快取寫入策略管理器執行以提供混合直寫式/回寫式快取策略之例示性狀態機;圖3為具有複數個處理器核心之另一例示性多處理器系統的方塊圖,每一處理器核心包含一快取寫入策略管理器以提供混合直寫式/回寫式快取策略;圖4為另一例示性多處理器系統的方塊圖,該多處理器系統使用包含快取寫入策略管理器之超管理器來提供混合直寫式/回寫式快取策略;圖5為另一例示性多處理器系統的方塊圖,該多處理器系統使用 包含快取寫入策略管理器之電源管理單元(PMU)來提供混合直寫式/回寫式快取策略;及圖6為根據本文中所揭示之實施例的包括快取寫入策略管理器的例示性基於處理器之系統的方塊圖。
詳細描述中所揭示之實施例包括混合直寫式/回寫式快取策略管理器,及相關系統及方法。就此而言,在一實施例中,提供一種快取寫入策略管理器。該快取寫入策略管理器經組態以判定複數個並行快取當中之至少兩個快取是否在作用中。並行快取直接地或經由一或多個中間快取或中間記憶體共用一或多個共同族系(亦即,父)快取或記憶體,其中應維持一致性。一作用中快取為處於使用中之一快取。若該複數個並行快取當中之所有一或多個其他快取不在作用中,則該快取寫入策略管理器經組態以指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略。以此方式,當複數個並行處理器核心當中之僅一單一處理器核心在作用中時,該快取寫入策略管理器可節省功率及/或增加效能。若該複數個並行快取當中之該一或多個其他快取中之任一者在作用中,則該快取寫入策略管理器經組態以指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。以此方式,當該複數個並行處理器核心當中之多個處理器核心在作用中時,該快取寫入策略管理器促進該等並行快取之間的資料一致性。
圖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)之第一層級快取。或者,並行快取14(0)至 14(X)可為較高層級快取,例如,處理器核心22(0)至22(X)之第二層級或第三層級快取。並行快取14(0)至14(X)共用一共用記憶體20。共用記憶體20可為共用快取,例如,第二層級快取。共用記憶體20亦可為主記憶體。亦如圖1中所說明,多處理器系統10可整合至半導體晶粒24中。
多處理器系統可花費其操作時間中之一些時間使一單一處理器核心在作用中。因此,使多處理器系統10最佳化以當在單一處理器核心22(0)在作用中的情況下來操作時消耗較少功率可為有益的。有時,當需要增加之效能時,可啟動多處理器系統10之一或多個其他處理器核心22(X)以為多處理器系統10提供增加之處理能力。多處理器系統10在處理器核心22(0)至22(X)中之一者以上在作用中時可消耗額外功率;然而,由多處理器系統10消耗的增加之功率僅可發生於可能需要突然增加之效能時之時間週期期間。
就此而言,多處理器系統10包含經組態以提供混合直寫式/回寫式快取策略之快取寫入策略管理器12。快取寫入策略管理器12經組態以管理複數個並行快取14(0)至14(X)之快取寫入策略。快取寫入策略管理器12經組態以判定至少兩個並行快取14(0)至14(X)是否在作用中。快取寫入策略管理器12經組態以在該複數個並行快取14(0)至14(X)當中之所有一或多個其他快取14(X)不在作用中的情況下指示該複數個並行快取14(0)至14(X)當中之一作用中快取14(0)應用一回寫式快取策略。以此方式,當複數個並行處理器核心22(0)至22(X)當中之僅一單一處理器核心22(0)在作用中時,快取寫入策略管理器12可節省功率及/或增加多處理器系統10之效能。舉例而言,快取寫入策略管理器12可經組態以當該複數個並行快取14(0)至14(X)當中之所有其他快取14(X)變得不在作用中時指示該複數個並行快取14(0)至14(X)當中之作用中快取14(0)應用一回寫式快取策略。
又,快取寫入策略管理器12亦經組態以在該一或多個其他快取14(X)中之任一者在作用中的情況下指示該複數個並行快取14(0)至14(X)當中之一作用中快取14(0)應用一直寫式快取策略。以此方式,當該複數個並行處理器核心22(0)至22(X)當中之多個處理器核心22(0)至22(X)在作用中時,快取寫入策略管理器12促進該等並行快取14(0)至14(X)之間的資料一致性。
快取寫入策略管理器12經組態以向並行快取14(0)至14(X)之快取控制器16(0)至16(X)發送指令以實施混合直寫式/回寫式快取策略。快取寫入策略管理器12經組態以指示設定針對並行快取14(0)至14(X)之所要快取寫入策略。快取控制器16(0)經組態以接收來自快取寫入策略管理器12之指令以設定針對快取記憶體18(0)之所要快取寫入策略。快取控制器16(0)經組態以回應於接收到複數個並行快取14(0)至14(X)當中之所有一或多個其他快取14(X)不在作用中之一指示而將回寫式快取策略設定為快取記憶體18(0)之快取寫入策略。快取控制器16(0)經進一步組態以回應於接收到複數個並行快取14(0)至14(X)當中之一或多個其他快取14(X)中之任一者在作用中之一指示而設定用於快取記憶體18(0)之直寫式快取策略。
快取寫入策略管理器12可實施為狀態機。就此而言,圖2提供可藉由圖1之快取寫入策略管理器12執行之例示性狀態機26。就此而言,圖2說明用於快取寫入策略管理器12之例示性狀態機26。在一實施例中,可提供具有第一狀態28、第二狀態30、第三狀態32及第四狀態34之狀態機26。
現參看第一狀態28,當複數個並行處理器核心22(0)至22(X)當中之僅一處理器核心22(0)在作用中時,由處理器核心22(0)存取之本端快取14(0)可為複數個並行快取14(0)至14(X)當中之僅有的作用中快取。當複數個並行快取14(0)至14(X)當中之僅一第一快取14(0)在作用 中時,不需要維持快取14(0)與一或多個其他快取14(X)之間的連續資料一致性。因此,將回寫式快取策略應用於快取14(0)可節省功率且增加單獨作用中處理器核心22(0)之效能。因此,如圖2中所說明,當僅一快取14(0)在作用中時,快取寫入策略管理器12將處於第一狀態28中。在第一狀態28中,快取寫入策略管理器12將回寫式快取策略應用於作用中快取14(0)。當應用回寫式快取策略時,快取14(0)可儲存已變更的資料。
然而,一旦其他快取14(X)中之一或多者經啟動,便需要使快取14(0)與該一或多個其他快取14(X)一致。因此,當快取寫入策略管理器12偵測到該一或多個其他快取14(X)中之任一者在作用中時,快取寫入策略管理器12自第一狀態28轉變至第二狀態30。快取寫入策略管理器12可經組態以藉由判定該複數個並行快取14(0)至14(X)當中之該一或多個其他快取14(X)中之任一者經供電而判定該一或多個其他快取14(X)中之任一者在作用中。快取寫入策略管理器12亦可經組態以藉由判定經組態以存取該一或多個其他快取14(X)中之任一者的一或多個其他處理器核心22(X)中之任一者經供電及/或在作用中而判定該一或多個其他快取14(X)中之任一者在作用中。
在第二狀態30中,快取寫入策略管理器12使得最初在作用中的快取14(0)與該一或多個其他快取14(X)一致。為了達成資料一致性,快取寫入策略管理器12指示最初在作用中的快取14(0)清除所有已變更的快取行。作用中快取14(0)可藉由將由任何已變更的快取行儲存之資料寫入至在該複數個並行快取14(0)至14(X)之間共用的共用記憶體20而清除所有已變更的快取行。在將所有已變更的快取行清除至共用記憶體20之前、期間或之後,快取寫入策略管理器12亦指示最初在作用中的快取14(0)應用直寫式快取策略。當亦管理該一或多個其他快取14(X)時,快取寫入策略管理器12亦將指示該一或多個其他快取 14(X)應用直寫式快取策略。可在新近啟動其他處理器核心22(X)之前及/或在新近啟動之一或多個其他快取14(X)變得完全在作用中之前完成快取14(0)之已變更的快取行的清除。在完成最初在作用中的快取14(0)中之任何已變更的快取行之清除之後,第一處理器核心22(0)之最初在作用中的快取14(0)此後將維持與一或多個其他快取14(X)之一致性。在此實施例中,經由共用記憶體20來維持一致性。共同族系共用記憶體20可為作用中快取14(0)及/或其他快取14(X)之下一層級共用記憶體。或者,可能存在安置於作用中快取14(0)與共用記憶體20之間的一或多個中間快取及/或中間記憶體。亦可能存在安置於該一或多個其他快取14(X)與共用記憶體20之間的一或多個中間快取及/或中間記憶體。在最初在作用中的快取14(0)經更新而與共用記憶體20一致之後,可允許該一或多個其他處理器核心22(X)及/或該一或多個其他快取14(X)變得完全在作用中。
因為啟動一或多個其他處理器核心22(X)及/或一或多個其他快取14(X)花費時間,所以可指示第二狀態30之操作與啟動該一或多個其他處理器核心22(X)及/或啟動該一或多個其他快取14(X)實質上並行地發生。
繼續參看圖2,當該一或多個其他快取14(X)中之一或多者變得在作用中時,快取寫入策略管理器12轉變至第三狀態32。在第三狀態32中,存在至少兩個並行快取14(例如,14(0)、14(X))在作用中且作用中並行快取14中之每一者正應用一直寫式快取策略。在此實施例中,此情形允許作用中處理器核心22(0)至22(X)在共用記憶體20中維持作用中快取14(0)至14(X)之一致性。若一或多個額外的其他快取14(X)變得在作用中(例如,兩個或兩個以上其他快取14(X)在作用中),則快取寫入策略管理器12保持處於第三狀態32中,且亦指示該一或多個額外的其他快取14(X)應用直寫式快取策略。
在某一時刻,多處理器系統10可能不再需要該一或多個其他處理器核心22(X)之額外處理能力。當多處理器系統10不再需要該一或多個其他處理器核心22(X)之額外處理能力時,多處理器系統10可指示該一或多個其他處理器核心22(X)撤銷啟動以便節省功率。結果,亦可將該一或多個其他快取14(X)斷電及/或撤銷啟動(亦即,使得其不在作用中),而不將該一或多個其他快取14(X)清空至共用記憶體20。當快取策略管理器12判定所有該一或多個其他快取14(X)不在作用中時(例如,僅一快取14(0)保持在作用中),快取寫入策略管理器12自第三狀態32轉變至第四狀態34。
在第四狀態34中,不再存在保持單獨在作用中的快取14(0)與該一或多個其他快取14(X)一致之需要,此係因為該一或多個其他快取14(X)不在作用中及/或未經供電。因此,在第四狀態34中,快取寫入策略管理器12指示其餘作用中快取14(0)應用回寫式快取策略。可再次將已變更的資料儲存於快取14(0)中。結果,多處理器系統10消耗較少功率。又,取決於實施、工作負載及/或其他設計因素,其餘作用中處理器核心22(0)在回寫式快取策略下可具有增加之效能。
在指示其餘作用中快取14(0)應用回寫式快取策略之後,快取寫入策略管理器12自第四狀態34轉變至第一狀態28。快取寫入策略管理器12將保持處於第一狀態28中,只要作用中並行快取14(0)為該複數個並行快取14(0)至14(X)當中之僅有的作用中快取14即可。快取寫入策略管理器12此後如本文中所論述而繼續。
一般熟習此項技術者將自本發明瞭解:在歷經狀態機26之第一狀態、第二狀態、第三狀態及第四狀態之循環結束時,其餘單獨在作用中的快取14(0)可為該複數個並行快取14(0)至14(X)當中與在循環開始時最初在作用中的快取14(0)相同的快取14或不同的快取14。換言之,與最初在歷經狀態機26之循環之開始時在作用中的快取相同的快 取14或不同的快取14可在歷經狀態機26之循環之結束時保持在作用中。
一般熟習此項技術者亦將自本發明瞭解,快取寫入策略管理器12可包含若干個狀態機26且操作若干個狀態機26。舉例而言,管理多個快取14之快取寫入策略管理器12可包含用於由快取寫入策略管理器12管理之每一快取14的一單獨狀態機26且操作該單獨狀態機26。
此外,先前論述涉及狀態機26之四個單獨狀態:第一狀態28、第二狀態30、第三狀態32及第四狀態34。大體而言,第一狀態28及第三狀態32可為較長持續時間狀態,且第二狀態30及第四狀態34可為過渡(亦即,較少持續時間)狀態。狀態機26亦可具備較少或額外狀態。舉例而言,在一些實施例中,狀態機26可提供為兩狀態機,其中較長持續時間第一狀態28及過渡第二狀態30係提供為第一狀態36,且其中較長持續時間第三狀態32及過渡第四狀態34係提供為第二狀態38。
作為另一實例,現在論述圖2中所說明之可選第五起動狀態40。當快取14第一次通電時,快取寫入策略管理器12可能最初並不知曉其他並行快取14是否在作用中。在可作出關於哪些快取14在作用中/不在作用中之判定之前,假定啟動快取14為僅有的作用中快取14可能為不安全的。因此,快取寫入策略管理器12可經組態以指示快取14應用直寫式快取策略作為預設快取寫入策略,直至可作出關於哪些快取14在作用中/不在作用中之判定為止。結果,避免了在啟動快取14於存在其他作用中並行快取14時應用回寫式快取策略的情況下原本可能發生的資料一致性問題。
就此而言,快取寫入策略管理器12可最初在起動狀態40中開始。在起動狀態40中,快取寫入策略管理器12指示快取14應用直寫式快取策略。快取寫入策略管理器12接著轉變至第三狀態32。接著將關於哪些快取14在作用中/不在作用中作出判定。若該複數個並行快取 14當中之所有一或多個其他快取14(X)不在作用中,則啟動快取14之快取寫入策略管理器12將轉變至第四狀態34(指示啟動快取14應用回寫式快取策略)且接著轉變至第一狀態28。若該複數個並行快取14當中之一或多個其他快取14(X)中之任一者在作用中,則啟動快取14之快取寫入策略管理器12將保持處於第三狀態38。
圖1之多處理器系統10說明單一叢集之處理器核心22(0)至22(X)。然而,多處理器系統10亦可提供為階層式多處理器系統10(1)之一部分。就此而言,圖3說明具有複數個處理器核心叢集之階層式多處理器系統10(1)。處理器核心22A(0)至22A(X)提供第一處理器核心叢集。處理器核心22B(0)至22B(Y)形成第二處理器核心叢集。在圖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)當中之至少兩個快取14是否在作用中。每一處理器核心22中所含有之快取寫入策略管理器12亦經組態以向由其處 理器核心22存取之並行快取14指示關於應用哪種快取寫入策略之指示。
就此而言,在圖3中,當僅第一處理器核心22A(0)在作用中時,快取寫入策略管理器12A(0)可指示並行快取14A(0)應用回寫式快取策略。若第二處理器核心叢集中之一或多個其他處理器核心22B(0)至22B(Y)中無一者在作用中,則快取寫入策略管理器12A(0)亦可指示並行快取14A(0)應用回寫式快取策略。當處理器核心22A(X)電力開啟時,快取寫入策略管理器12A(X)判定並行快取14A(0)已經在作用中且因此指示並行快取14A(X)應用直寫式快取策略。當處理器核心22A(X)通電時,快取寫入策略管理器12A(0)亦判定處理器核心22A(X)正啟動且因此指示已在作用中的快取14A(0)清除其所有已變更資料之快取行。並行快取14A(X)接著將藉由以下操作清除所有其已變更的快取行:將儲存於並行快取14A(0)之任何已變更的快取行中之資料寫入至在第一處理器核心叢集之處理器核心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)之並行快取。此時,在第一處理器叢集中存在在作用中的處理器核心22(例如,處理器核心22A(0)、22A(X))。然而,在一或多個其他處理器叢集中不存在其他在作用中的處理器核心22B(0)至22B(Y)。結果,並行快取14C(0)在作用中,且不存在其他在作用中的並行快取14C(Z)。因為不存在其他在作用中的並行快取14C(Z),所以指示並行 快取14C(0)應用回寫式快取策略。並行快取14C(0)可繼續應用回寫式快取策略,只要與並行快取14C(0)並行之所有其他並行快取(例如,並行快取14C(Z))保持在非作用中(亦即,不在作用中)即可。
當在第二處理器核心叢集中啟動處理器核心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中之每一處理器核心叢集可包含兩個或兩個以上處理器核心22。
一般熟習此項技術者亦將自本發明瞭解,階層式多處理器系統10(1)可包含兩個或兩個以上處理器核心叢集。圖3中所說明之階層式多處理器系統10(1)說明快取之三個層級。然而,一般熟習此項技術者將瞭解,亦可將狀態機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)中之一或多者上執行。
如藉由圖5中之多處理器系統10(3)所說明,快取寫入策略管理器12亦可整合至電源管理單元(PMU)46中。PMU 46可實施為半導體晶粒24(3)之單獨電路。PMU 46控制處理器核心22A(0)至22A(X)、22B(0)至22B(Y)及/或並行快取14A(0)至14A(X)、14B(0)至14B(Y)之電力開啟及/或電力斷開。PMU 46可實施或可不實施用於影響並行快取14A(0)至14A(X)、14B(0)至14B(Y)及/或並行快取14C(0)至14C(Z)之單獨狀態機26。
根據本文中所揭示之實施例,快取寫入策略管理器12及/或並行快取14可提供於或整合至任何基於處理器之器件中。實例(不限制)包括機上盒、娛樂單元、導航器件、通信器件、固定位置資料單元、行動位置資料單元、行動電話、蜂巢式電話、電腦、攜帶型電腦、桌上型電腦、個入數位助理(PDA)、監視器、電腦監視器、電視、調諧器、無線電、衛星無線電、音樂播放器、數位音樂播放器、攜帶型音樂播放器、數位視訊播放器、視訊播放器、數位影音光碟(DVD)播放器,及攜帶型數位視訊播放器。
就此而言,圖6說明基於處理器之系統48之實例。在此實例中,基於處理器之系統48包括一或多個中央處理單元(CPU)50,每一中央處理單元50包括一或多個處理器52。CPU 50可具有耦接至處理器52以用於快速存取臨時儲存之資料的快取53。如本文中所論述,每一快取53可含有一快取控制器56及快取記憶體54(如本文中所論述而加以控制)。CPU 50耦接至系統匯流排58且可使基於處理器之系統48中所包括的主控器件與受控器件相互耦接。如所熟知的,CPU 50藉由經由系統匯流排58交換位址、控制及資料資訊而與此等其他器件通信。舉例而言,CPU 50可將匯流排異動請求傳達至作為受控器件之實例的記憶體控制器60。儘管圖6中未說明,但可提供多個系統匯流排58,其中每一系統匯流排58構成一不同組構。
其他主控器件及受控器件可耦接至系統匯流排58。如圖6中所說明,此等器件可包括系統記憶體62、一或多個輸入器件64、一或多個輸出器件66、一或多個網路介面器件68,及一或多個顯示控制器70(作為實例)。輸入器件64可包括任何類型之輸入器件,包括(但不限於)輸入鍵、開關、語音處理器等。輸出器件66可包括任何類型之輸出器件,包括(但不限於)音訊、視訊、其他視覺指示器等。網路介面器件68可為經組態以允許將資料交換至網路72及自網路72交換資料之 任何器件。網路72可為任何類型之網路,包括(但不限於)有線或無線網路、專用或公用網路、區域網路(LAN)、廣域網路(WLAN),及網際網路。網路介面器件68可經組態以支援所要的任何類型之通信協定。如本文中所論述,CPU 50亦可包括一或多個快取寫入策略管理器12。如圖6中所說明,該一或多個快取寫入策略管理器12可整合至快取53及/或整合至處理器52。亦如圖6中所說明,該一或多個快取寫入策略管理器12亦可與快取53及/或處理器52分離地提供於CPU 50中。舉例而言,一或多個分離地提供之快取寫入策略管理器12可經提供而整合至CPU 50之超管理器44及/或PMU 46。
CPU 50亦可經組態以經由系統匯流排58存取顯示控制器70以控制發送至一或多個顯示器74之資訊。顯示控制器70經由一或多個視訊處理器76將待顯示之資訊發送至顯示器74,該一或多個視訊處理器76將待顯示之資訊處理成適合於顯示器74之格式。顯示器74可包括任何類型之顯示器,包括(但不限於)陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器等。系統記憶體62可包含用於存取基於處理器之系統48之記憶體78的記憶體控制器60。記憶體78可包含非暫時性電腦可讀媒體。電腦可讀媒體上可儲存有電腦可執行指令以使得處理器52實施本文中所描述的用於提供用於複數個快取53中之一或多者之混合直寫式/回寫式快取策略的方法。就此而言,記憶體78可包含程式儲存區80及/或資料儲存區82。
熟習此項技術者將進一步瞭解,結合本文中所揭示之實施例所描述的各種說明性邏輯區塊、模組、電路及演算法可實施為電子硬體、儲存於記憶體中或另一電腦可讀媒體中且由處理器或其他處理器件執行之指令,或電子硬體與指令之組合。作為實例,本文中所描述之快取寫入策略管理器、快取控制器及/或快取可用於任何電路、硬體組件、積體電路(IC)或IC晶片中。本文中所揭示之記憶體可為任何 類型及大小之記憶體,且可經組態以儲存任何類型之所要資訊。為了清楚地說明此互換性,上文已大體在功能性方面描述了各種說明性組件、區塊、模組、電路及步驟。如何實施此功能性取決於特定應用、設計選擇及/或外加於整個系統之設計約束。熟習此項技術者可對於每一特定應用以變化之方式實施所描述之功能性,但此等實施決策不應解譯為會引起偏離本發明之範疇。
結合本文中所揭示之實施例所描述之各種說明性邏輯區塊、模組及電路可用以下各項來實施或執行:處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯器件、離散閘或電晶體邏輯、離散硬體組件,或其經設計以執行本文中所描述之功能的任何組合。處理核心(本文中亦稱為核心、處理核心及/或處理器)可為微處理器,但在替代例中,處理核心可為任何習知處理器、控制器、微控制器或狀態機。亦可將處理核心實施為計算器件之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他該組態。
本文中所揭示之實施例可體現於硬體中及儲存於硬體中之指令中,且可駐留於(例如)隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、電可程式化ROM(EPROM)、電可抹除可程式化ROM(EEPROM)、暫存器、硬碟、抽取式磁碟、CD-ROM或此項技術中已知的任何其他形式之電腦可讀媒體中。一例示性儲存媒體耦接至處理器以使得該處理器可自該儲存媒體讀取資訊,且可將資訊寫入至該儲存媒體。在替代例中,儲存媒體可整合至處理器。處理器及儲存媒體可駐留於ASIC中。ASIC可駐留於遠端台中。在替代例中,處理器及儲存媒體可作為離散組件駐留於遠端台、基地台或伺服器中。
亦應注意,本文中之例示性實施例中之任一者中所描述的操作步驟經描述以用於提供實例及論述。所描述之操作可以不同於所說明 順序之眾多順序來執行。此外,單一操作步驟中所描述之操作實際上可於若干不同步驟中執行。另外,可組合例示性實施例中所論述之一或多個操作步驟。應理解,如熟習此項技術者將容易顯而易見的,流程圖中所說明之操作步驟可經受眾多不同修改。熟習此項技術者亦應理解,可使用多種不同技術中之任一者來表示資訊及信號。舉例而言,可藉由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示可能貫穿以上描述而引用之資料、指令、命令、資訊、信號、位元、符號及碼片。
提供本發明之先前描述以使任何熟習此項技術者能夠作出或使用本發明。對於熟習此項技術者而言,對本發明之各種修改將容易顯而易見,且可在不偏離本發明之精神或範疇之情況下將本文中所定義之一般原理應用於其他變化。因此,本發明不意欲限於本文中所描述之實例及設計,而應符合與本文中所揭示之原理及新穎特徵一致的最寬範疇。
26‧‧‧例示性狀態機
28‧‧‧第一狀態
30‧‧‧第二狀態
32‧‧‧第三狀態
34‧‧‧第四狀態
36‧‧‧第一狀態
38‧‧‧第二狀態
40‧‧‧可選第五起動狀態

Claims (23)

  1. 一種快取寫入策略管理器,其經組態以:判定複數個並行快取當中之至少兩個快取是否在作用中;若該複數個並行快取當中之所有一或多個其他快取不在作用中,則指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略;及若該複數個並行快取當中之該一或多個其他快取中之任一者在作用中,則指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。
  2. 如請求項1之快取寫入策略管理器,其經組態以在該複數個並行快取當中之所有該等其他快取變得不在作用中時,指示該複數個並行快取當中之該作用中快取應用該回寫式快取策略。
  3. 如請求項1之快取寫入策略管理器,其經進一步組態以在該複數個並行快取當中之該一或多個其他快取中之任一者經啟動之情況下,指示該作用中快取清除所有已變更的快取行。
  4. 如請求項3之快取寫入策略管理器,其經組態以藉由指示該作用中快取將由任何已變更的快取行儲存之資料寫入至一共用記憶體而指示該作用中快取清除所有已變更的快取行。
  5. 如請求項1之快取寫入策略管理器,其經組態以藉由判定經組態以存取該一或多個其他快取中之任一者的一或多個處理器核心中之任一者是否經供電而判定該複數個並行快取當中之該一或多個其他快取中之任一者是否在作用中。
  6. 如請求項1之快取寫入策略管理器,其經組態以藉由判定經組態以存取該一或多個其他快取中之任一者的所有一或多個處理器核心是否未經供電而判定該複數個並行快取當中之所有該一或 多個其他快取是否不在作用中。
  7. 如請求項1之快取寫入策略管理器,其中該作用中快取經組態以應用該直寫式快取策略作為一預設策略。
  8. 如請求項1之快取寫入策略管理器,其整合至以下各者中之至少一者中:一處理核心、一超管理器,及一電源管理單元(PMU)。
  9. 如請求項1之快取寫入策略管理器,其整合至一半導體晶粒中。
  10. 如請求項1之快取寫入策略管理器,其進一步包含選自由以下各者組成之群之一器件:一機上盒、一娛樂單元、一導航器件、一通信器件、一固定位置資料單元、一行動位置資料單元、一行動電話、一蜂巢式電話、一電腦、一攜帶型電腦、一桌上型電腦、一個人數位助理(PDA)、一監視器、一電腦監視器、一電視、一調諧器、一無線電、一衛星無線電、一音樂播放器、一數位音樂播放器、一攜帶型音樂播放器、一數位視訊播放器、一視訊播放器、一數位影音光碟(DVD)播放器,及一攜帶型數位視訊播放器,該快取寫入策略管理器整合至該器件中。
  11. 一種提供用於一快取之一混合直寫式/回寫式快取策略之構件,其包含:用於判定複數個並行快取當中之至少兩個快取是否在作用中之一構件;用於在該複數個並行快取當中之所有一或多個其他快取不在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略的一構件;及用於在該複數個並行快取當中之該一或多個其他快取中之任一者在作用中之情況下,指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略的一構件。
  12. 一種提供用於一快取之一混合直寫式/回寫式快取策略之方法, 其包含:判定複數個並行快取當中之至少兩個快取是否在作用中;若該複數個並行快取當中之所有一或多個其他快取不在作用中,則指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略;及若該複數個並行快取當中之該一或多個其他快取中之任一者在作用中,則指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。
  13. 如請求項12之方法,其中指示該作用中快取清除所有已變更的快取行包含指示該作用中快取將由任何已變更的快取行儲存之資料寫入至一共用記憶體。
  14. 如請求項12之方法,其包含藉由判定經組態以存取該一或多個其他快取中之任一者的一或多個處理器核心中之任一者是否經供電而判定該複數個並行快取當中之該一或多個其他快取中之任一者是否在作用中。
  15. 如請求項12之方法,其包含藉由判定經組態以存取該一或多個其他快取中之任一者的所有該一或多個處理器核心是否未經供電而判定該複數個並行快取當中之所有該一或多個其他快取是否不在作用中。
  16. 如請求項12之方法,其進一步包含指示該作用中快取應用該直寫式快取策略作為一預設策略。
  17. 一種快取,其包含:一快取記憶體;及一快取控制器,其經組態以設定該快取記憶體之一快取寫入策略,其中該快取控制器經進一步組態以: 回應於接收到複數個並行快取當中之所有一或多個其他快取不在作用中之一指示而設定用於該快取記憶體之一回寫式快取策略;及回應於接收到該複數個並行快取當中之該一或多個其他快取中之任一者在作用中之一指示而設定用於該快取記憶體之一直寫式快取策略。
  18. 如請求項17之快取,其中該快取控制器經進一步組態以回應於接收到該複數個並行快取當中之該一或多個其他快取中之任一者經啟動之一指示而清除該快取記憶體之所有已變更的快取行。
  19. 如請求項18之快取,其中該快取控制器經組態以藉由將由該快取記憶體之任何已變更的快取行儲存之資料寫入至一共用記憶體而清除該快取記憶體之所有已變更的快取行。
  20. 一種多處理器系統,其包含:複數個並行快取;由該複數個並行快取共用之一共用記憶體;及一快取寫入策略管理器,其經組態以:判定該複數個並行快取當中之至少兩個快取是否在作用中;若該複數個並行快取當中之所有一或多個其他快取不在作用中,則指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略;及若該複數個並行快取當中之該一或多個其他快取中之任一者在作用中,則指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。
  21. 如請求項20之多處理器系統,其中該共用記憶體為一共用快取 及一主記憶體中之至少一者。
  22. 一種非暫時性電腦可讀媒體,其上儲存有電腦可執行指令,該等電腦可執行指令使得一處理器實施提供用於複數個並行快取之一混合直寫式/回寫式快取策略之一方法,該方法包含:判定複數個並行快取當中之至少兩個快取是否在作用中;若該複數個並行快取當中之所有一或多個其他快取不在作用中,則指示該複數個並行快取當中之一作用中快取應用一回寫式快取策略;及若該複數個並行快取當中之該一或多個其他快取中之任一者在作用中,則指示該複數個並行快取當中之一作用中快取應用一直寫式快取策略。
  23. 如請求項22之電腦可讀媒體,其經組態以使得由該處理器執行之一超管理器實施提供用於該複數個並行快取之該混合直寫式/回寫式快取策略之該方法。
TW102101719A 2012-01-16 2013-01-16 混合直寫式/回寫式快取策略管理器及相關系統及方法 TWI489277B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
TW201342062A TW201342062A (zh) 2013-10-16
TWI489277B true TWI489277B (zh) 2015-06-21

Family

ID=48780824

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102101719A TWI489277B (zh) 2012-01-16 2013-01-16 混合直寫式/回寫式快取策略管理器及相關系統及方法

Country Status (9)

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

Families Citing this family (25)

* 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
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
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
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
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
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 瑞昱半導體股份有限公司 暫存記憶體處理方法、暫存記憶體程式與記憶裝置
JP6995644B2 (ja) * 2018-01-23 2022-01-14 日立Astemo株式会社 電子制御装置
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
KR102570030B1 (ko) * 2023-04-19 2023-08-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법
KR102641481B1 (ko) * 2023-04-19 2024-02-28 메티스엑스 주식회사 멀티프로세서 시스템 및 이의 데이터 관리 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20040162950A1 (en) * 2000-09-26 2004-08-19 Coulson Richard L. Non-volatile mass storage cache coherency apparatus
US20080082856A1 (en) * 2006-09-28 2008-04-03 Emc Corporation Recovering from a storage processor failure using write cache preservation
US20090327780A1 (en) * 2008-06-30 2009-12-31 Dell Products L.P. Systems, Methods and Media for Reducing Power Consumption in Multiple Controller Information Handling Systems
US20100122008A1 (en) * 2007-12-13 2010-05-13 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems, and processes

Family Cites Families (15)

* 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> キャッシュ制御方式
JP2533612B2 (ja) 1988-05-16 1996-09-11 富士通株式会社 メモリのデ―タ保護方式
JPH04347749A (ja) * 1991-05-24 1992-12-02 Nec Corp 情報処理装置
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
JPH0883215A (ja) * 1994-09-12 1996-03-26 Hitachi Ltd メモリ制御装置
US6711691B1 (en) 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
US7127560B2 (en) 2003-10-14 2006-10-24 International Business Machines Corporation Method of dynamically controlling cache size
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US20080008256A1 (en) * 2004-08-02 2008-01-10 Matshushita Electric Industrial Co., Ltd. Ofdm Transmitting Apparatus, Ofdm Receiving Apparatus, and Their Methods
US7624236B2 (en) 2004-12-27 2009-11-24 Intel Corporation Predictive early write-back of owned cache blocks in a shared memory computer system
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20040162950A1 (en) * 2000-09-26 2004-08-19 Coulson Richard L. Non-volatile mass storage cache coherency apparatus
US20080082856A1 (en) * 2006-09-28 2008-04-03 Emc Corporation Recovering from a storage processor failure using write cache preservation
US20100122008A1 (en) * 2007-12-13 2010-05-13 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems, and processes
US20090327780A1 (en) * 2008-06-30 2009-12-31 Dell Products L.P. Systems, Methods and Media for Reducing Power Consumption in Multiple Controller Information Handling Systems

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI489277B (zh) 混合直寫式/回寫式快取策略管理器及相關系統及方法
US8656196B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US8689017B2 (en) Server power manager and method for dynamically managing server power consumption
KR102082859B1 (ko) 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
US8305380B2 (en) Managing resources to facilitate altering the number of active processors
JP5697284B2 (ja) コンピュータプラットフォームのシステム電力状態を遷移させる方法、装置およびシステム
KR101324885B1 (ko) 복수의 회로들에서의 성능 파라미터들 조정
JP6622715B2 (ja) 共有ハードウェアリソースを使用したクラスタプロセッサコアにおけるハードウェアスレッドの動的負荷分散、ならびに関連する回路、方法、およびコンピュータ可読媒体
US20130262792A1 (en) Memory device support of dynamically changing frequency in memory systems
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
WO2014108743A1 (en) A method and apparatus for using a cpu cache memory for non-cpu related tasks
EP3420460B1 (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
JP6396625B1 (ja) 複数のマスタデバイス間の条件付き介入を使用したキャッシュコヒーレンシの維持