CN104067243A - 混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法 - Google Patents

混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法 Download PDF

Info

Publication number
CN104067243A
CN104067243A CN201380005469.8A CN201380005469A CN104067243A CN 104067243 A CN104067243 A CN 104067243A CN 201380005469 A CN201380005469 A CN 201380005469A CN 104067243 A CN104067243 A CN 104067243A
Authority
CN
China
Prior art keywords
cache memory
caches
write
parallel high
multiple 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
CN201380005469.8A
Other languages
English (en)
Other versions
CN104067243B (zh
Inventor
彼得·G·萨索内
克里斯托弗·爱德华·科布
达娜·M·万特雷斯
苏雷什·K·文库马汉提
卢西恩·科德雷斯库
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
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 CN104067243A publication Critical patent/CN104067243A/zh
Application granted granted Critical
Publication of CN104067243B publication Critical patent/CN104067243B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

详细描述中所揭示的实施例包含混合直写式/回写式高速缓冲存储策略管理器,和相关系统和方法。一种高速缓冲存储写入策略管理器经配置以确定多个并行高速缓冲存储器当中的至少两个高速缓冲存储器是否在作用中。如果所有一或多个其它高速缓冲存储器不在作用中,那么所述高速缓冲存储写入策略管理器经配置以指导所述并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用回写式高速缓冲存储策略。以此方式,所述高速缓冲存储写入策略管理器可节省功率和/或增加单独作用中处理器核心的性能。如果所述一或多个其它高速缓冲存储器中的任一者在作用中,那么所述高速缓冲存储写入策略管理器经配置以指导所述并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用直写式高速缓冲存储策略。以此方式,当多个处理器核心在作用中时,所述高速缓冲存储写入策略管理器促进所述并行高速缓冲存储器之间的数据一致性。

Description

混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法
优先权申请案
本申请案主张于2012年1月16日申请且题为“用于高速缓冲存储器的混合直写式/回写式策略和相关系统和方法(HYBRID WRITE-THROUGH/WRITE-BACK POLICYFOR CACHES,AND RELATED SYSTEMS AND METHODS)”的美国临时专利申请案第61/586,937号的优先权,所述申请案特此以全文引用的方式并入本文中。
技术领域
本发明的技术涉及多处理器,其中所述多处理器的每一处理器核心具有其自身的本地高速缓冲存储器且共享共同高速缓冲存储器和/或主存储器。
背景技术
处理器高速缓冲存储器可经配置以实施回写式高速缓冲存储策略或直写式高速缓冲存储策略。直写式高速缓冲存储策略将存储于高速缓冲存储器中的所有数据直接写入到一或多个下一层级高速缓冲存储器。例如,第一层级直写式高速缓冲存储器可将存储于第一层级高速缓冲存储器中的所有数据直接写入到下一层级高速缓冲存储器。直写式高速缓冲存储策略确保:每一个第一层级高速缓冲存储器不含有废数据,这是因为存储于高速缓冲存储器中的数据直接写入到下一层级高速缓冲存储器。然而,将每个数据存储区直接写入到下一层级高速缓冲存储器消耗额外功率(归因于将数据直接写入到下一层级高速缓冲存储器)。因而,对于较低功率装置来说,直写式高速缓冲存储策略可能并不理想。
另一方面,配置有回写式高速缓冲存储策略的高速缓冲存储器(即,回写式高速缓冲存储器)将废数据收集于高速缓冲存储器中,直到收回为止。回写式高速缓冲存储器可消耗较少功率,这是因为收集了到第一层级高速缓冲存储器的写入且在收回之前并未直接写入。然而,包含回写式高速缓冲存储器的多处理器系统可能更复杂。例如,可能需要窥探出回写式高速缓冲存储器中的废数据,以提供数据一致性。此外,在设计和测试阶段期间,就数据一致性问题进行调试可消耗时间。
发明内容
详细描述中所揭示的实施例包含混合直写式/回写式高速缓冲存储策略管理器,和相关系统和方法。就此来说,在一个实施例中,提供一种高速缓冲存储写入策略管理器。所述高速缓冲存储写入策略管理器经配置以确定多个并行高速缓冲存储器当中的至少两个高速缓冲存储器是否在作用中。并行高速缓冲存储器直接地或通过一或多个中间高速缓冲存储器或中间存储器共享一或多个共同族系(即,父)高速缓冲存储器或存储器,其中应维持一致性。作用中高速缓冲存储器为处于使用中的高速缓冲存储器。如果所述多个并行高速缓冲存储器当中的所有一或多个其它高速缓冲存储器不在作用中,那么所述高速缓冲存储写入策略管理器经配置以指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用回写式高速缓冲存储策略。以此方式,当多个并行处理器核心当中的仅单一处理器核心在作用中时,所述高速缓冲存储写入策略管理器可节省功率和/或增加性能。如果所述多个并行高速缓冲存储器当中的所述一或多个其它高速缓冲存储器中的任一者在作用中,那么所述高速缓冲存储写入策略管理器经配置以指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用直写式高速缓冲存储策略。以此方式,当所述多个并行处理器核心当中的多个处理器核心在作用中时,所述高速缓冲存储写入策略管理器促进所述并行高速缓冲存储器当中的数据一致性。
在另一实施例中,提供一种提供用于高速缓冲存储器的混合直写式/回写式高速缓冲存储策略的装置。所述装置包括用于确定多个并行高速缓冲存储器当中的至少两个高速缓冲存储器是否在作用中的装置。所述装置进一步包括用于在所述多个并行高速缓冲存储器当中的所有一或多个其它高速缓冲存储器不在作用中的情况下,指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用回写式高速缓冲存储策略的装置。所述装置进一步包括用于在所述多个并行高速缓冲存储器当中的所述一或多个其它高速缓冲存储器中的任一者在作用中的情况下,指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用直写式高速缓冲存储策略的装置。
在另一实施例中,提供一种提供用于高速缓冲存储器的混合直写式/回写式高速缓冲存储策略的方法。所述方法包括确定多个并行高速缓冲存储器当中的至少两个高速缓冲存储器是否在作用中。所述方法进一步包括在所述多个并行高速缓冲存储器当中的所有一或多个其它高速缓冲存储器不在作用中的情况下,指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用回写式高速缓冲存储策略。所述方法进一步包括在所述多个并行高速缓冲存储器当中的所述一或多个其它高速缓冲存储器中的任一者在作用中的情况下,指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用直写式高速缓冲存储策略。
在另一实施例中,提供一种高速缓冲存储器。所述高速缓冲存储器包括高速缓冲存储器,和经配置以设定所述高速缓冲存储器的高速缓冲存储写入策略的高速缓冲存储控制器。所述高速缓冲存储控制器经进一步配置以响应于接收到多个并行高速缓冲存储器当中的所有一或多个其它高速缓冲存储器不在作用中的指示而设定用于所述高速缓冲存储器的回写式高速缓冲存储策略。所述高速缓冲存储控制器经进一步配置以响应于接收到多个并行高速缓冲存储器当中的所述一或多个其它高速缓冲存储器中的任一者在作用中的指示而设定用于所述高速缓冲存储器的直写式高速缓冲存储策略。
在另一实施例中,提供一种多处理器系统。所述多处理器系统包括多个并行高速缓冲存储器,和由所述多个并行高速缓冲存储器共享的共享存储器。所述多处理器系统也包括高速缓冲存储写入策略管理器,所述高速缓冲存储写入策略管理器经配置以确定所述多个并行高速缓冲存储器当中的至少两个高速缓冲存储器是否在作用中。所述高速缓冲存储写入策略管理器经进一步配置以在所述多个并行高速缓冲存储器当中的所有一或多个其它高速缓冲存储器不在作用中的情况下,指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用回写式高速缓冲存储策略。所述高速缓冲存储写入策略管理器经进一步配置以在所述多个并行高速缓冲存储器当中的所述一或多个其它高速缓冲存储器中的任一者在作用中的情况下,指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用直写式高速缓冲存储策略。
在另一实施例中,提供一种非暂时性计算机可读媒体。所述计算机可读媒体上存储有计算机可执行指令,所述计算机可执行指令使处理器提供用于多个并行高速缓冲存储器的混合直写式/回写式高速缓冲存储策略。所述指令使所述处理器确定多个并行高速缓冲存储器当中的至少两个高速缓冲存储器是否在作用中。所述指令进一步使所述处理器在所述多个并行高速缓冲存储器当中的所有一或多个其它高速缓冲存储器不在作用中的情况下,指导所述多个并行高速缓冲存储器当中的一个作用中高速缓冲存储器应用回写式高速缓冲存储策略。所述指令进一步使得所述处理器在所述多个并行高速缓冲存储器当中的所述一或多个其它高速缓冲存储器中的任一者在作用中的情况下,指导所述多个并行高速缓冲存储器当中的所述作用中高速缓冲存储器应用直写式高速缓冲存储策略。
附图说明
图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中。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包含一或多个中央处理单元(CPU)50,每一中央处理单元50包含一或多个处理器52。CPU50可具有耦合到处理器52以用于快速存取临时存储的数据的高速缓冲存储器53。如本文中所论述,每一高速缓冲存储器53可含有高速缓冲存储控制器56和高速缓冲存储器54(如本文中所论述而加以控制)。CPU50耦合到系统总线58且可使基于处理器的系统48中所包含的主控装置与受控装置相互耦合。如众所周知,CPU50通过在系统总线58上交换地址、控制和数据信息而与这些其它装置通信。例如,CPU50可将总线异动请求传达到作为受控装置的实例的存储器控制器60。尽管图6中未说明,但可提供多个系统总线58,其中每一系统总线58构成不同构造。
其它主控装置和受控装置可耦合到系统总线58。如图6中所说明,这些装置可包含系统存储器62、一或多个输入装置64、一或多个输出装置66、一或多个网络接口装置68,和一或多个显示控制器70(作为实例)。输入装置64可包含任何类型的输入装置,包含(但不限于)输入键、开关、语音处理器等。输出装置66可包含任何类型的输出装置,包含(但不限于)音频、视频、其它视觉指示器等。网络接口装置68可为经配置以允许将数据交换到网络72和自网络72交换数据的任何装置。网络72可为任何类型的网络,包含(但不限于)有线或无线网络、专用或公用网络、局域网(LAN)、广域网(WLAN)和因特网。网络接口装置68可经配置以支持所要的任何类型的通信协议。如本文中所论述,CPU50也可包含一或多个高速缓冲存储写入策略管理器12。如图6中所说明,所述一或多个高速缓冲存储写入策略管理器12可集成到高速缓冲存储器53和/或集成到处理器52。也如图6中所说明,所述一或多个高速缓冲存储写入策略管理器12也可与高速缓冲存储器53和/或处理器52分离地提供于CPU50中。例如,一或多个分离地提供的高速缓冲存储写入策略管理器12可经提供而集成到CPU50的超管理器44和/或PMU46。
CPU50也可经配置以通过系统总线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可驻留于远端台中。在替代例中,处理器和存储媒体可作为离散组件驻留于远端台、基地台或服务器中。
也应注意,本文中的示范性实施例中的任一者中所描述的操作步骤经描述以用于提供实例和论述。所描述的操作可以不同于所说明顺序的众多顺序来执行。此外,单一操作步骤中所描述的操作实际上可于若干不同步骤中执行。另外,可组合示范性实施例中所论述的一或多个操作步骤。应理解,如所属领域的技术人员将容易显而易见的,流程图中所说明的操作步骤可经受众多不同修改。所属领域的技术人员也应理解,可使用多种不同技术中的任一者来表示信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可能贯穿以上描述而引用的数据、指令、命令、信息、信号、位、符号和码片。
提供本发明的先前描述以使任何所属领域的技术人员能够作出或使用本发明。对于所属领域的技术人员来说,对本发明的各种修改将容易显而易见,且可在不偏离本发明的精神或范围的情况下将本文中所定义的一般原理应用于其它变化。因此,本发明不希望限于本文中所描述的实例和设计,而应符合与本文中所揭示的原理和新颖特征一致的最宽范围。

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所述的计算机可读媒体,其经配置以使由所述处理器执行的超管理器实施所述用于为所述多个并行高速缓冲存储器提供所述混合直写式/回写式高速缓冲存储策略的方法。
CN201380005469.8A 2012-01-16 2013-01-16 混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法 Expired - Fee Related CN104067243B (zh)

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 (2)

Publication Number Publication Date
CN104067243A true CN104067243A (zh) 2014-09-24
CN104067243B CN104067243B (zh) 2017-09-12

Family

ID=48780824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380005469.8A Expired - Fee Related CN104067243B (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) KR101747894B1 (zh)
CN (1) CN104067243B (zh)
ES (1) ES2573284T3 (zh)
HU (1) HUE028928T2 (zh)
TW (1) TWI489277B (zh)
WO (1) WO2013109648A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052414A (zh) * 2017-12-28 2018-05-18 湖南国科微电子股份有限公司 一种提升ssd工作温度范围的方法及系统
CN115176237A (zh) * 2020-02-21 2022-10-11 斯法夫股份有限公司 具有混合回写和透写的数据高速缓存

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
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
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
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 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
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 에스케이하이닉스 주식회사 캐시 시스템을 갖는 메모리 시스템 및 메모리 시스템에서의 캐싱 동작 제어방법
KR20210034372A (ko) 2019-09-20 2021-03-30 주식회사 엘지화학 배터리 관리 장치 및 방법
KR20210066631A (ko) 2019-11-28 2021-06-07 삼성전자주식회사 메모리에 데이터를 기입하기 위한 장치 및 방법
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0342846A2 (en) * 1988-05-16 1989-11-23 Fujitsu Limited Data protection system in a data processing system
CN1612113A (zh) * 2003-10-14 2005-05-04 国际商业机器公司 节能高速缓存及其运行方法
CN101088076A (zh) * 2004-12-27 2007-12-12 英特尔公司 共享存储器计算机系统中自有高速缓存块的预测早写回
US20080082856A1 (en) * 2006-09-28 2008-04-03 Emc Corporation Recovering from a storage processor failure using write cache preservation

Family Cites Families (16)

* 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 情報処理装置
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 メモリ制御装置
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
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
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0342846A2 (en) * 1988-05-16 1989-11-23 Fujitsu Limited Data protection system in a data processing system
CN1612113A (zh) * 2003-10-14 2005-05-04 国际商业机器公司 节能高速缓存及其运行方法
CN101088076A (zh) * 2004-12-27 2007-12-12 英特尔公司 共享存储器计算机系统中自有高速缓存块的预测早写回
US20080082856A1 (en) * 2006-09-28 2008-04-03 Emc Corporation Recovering from a storage processor failure using write cache preservation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052414A (zh) * 2017-12-28 2018-05-18 湖南国科微电子股份有限公司 一种提升ssd工作温度范围的方法及系统
CN108052414B (zh) * 2017-12-28 2021-09-17 湖南国科微电子股份有限公司 一种提升ssd工作温度范围的方法及系统
CN115176237A (zh) * 2020-02-21 2022-10-11 斯法夫股份有限公司 具有混合回写和透写的数据高速缓存
CN115176237B (zh) * 2020-02-21 2024-05-28 斯法夫股份有限公司 具有混合回写和透写的数据高速缓存

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104067243A (zh) 混合直写式/回写式高速缓冲存储策略管理器和相关系统和方法
KR102082859B1 (ko) 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
JP6355853B2 (ja) マルチクラスタ異種プロセッサアーキテクチャにおいて動的キャッシュ拡張を提供するためのシステムおよび方法
TWI469045B (zh) 透過多域處理器之非核心域來控制核心域的運作頻率之技術
CN103067425B (zh) 虚拟机创建方法、虚拟机管理系统及相关设备
CN109074331B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
US20150286565A1 (en) System and method for allocating memory to dissimilar memory devices using quality of service
DE102013104329B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
US20170199814A1 (en) Non-volatile random access system memory with dram program caching
KR20060052086A (ko) 정보 처리 시스템 및 정보 처리 방법과 프로그램
US20110057936A1 (en) Managing Resources to Facilitate Altering the Number of Active Processors
US20140215252A1 (en) Low Power Control for Multiple Coherent Masters
WO2013168293A1 (ja) 情報処理装置、電池残量通知方法および電池残量通知プログラム
US20180365425A1 (en) Systems and methods for securely booting a system on chip via a virtual collated internal memory pool
CN103376879A (zh) 存储器控制设备和方法、信息处理设备和程序
CN112513821A (zh) 用于scm应用的多实例2lm架构
CN107077376A (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
CN109863478A (zh) 用于异构并行结构的细粒度功率优化
CN108885587B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
US11442522B2 (en) Method of controlling performance boosting of semiconductor device based on at least user input and feedback from previous boosting policies and semiconductor device performing the method
CN117581189A (zh) 降低远存储器中的存储器功率使用
JP2017187895A (ja) メモリー管理装置およびメモリー管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170912