CN101589374A - 用于在处理器中设置高速缓存策略的方法和设备 - Google Patents
用于在处理器中设置高速缓存策略的方法和设备 Download PDFInfo
- Publication number
- CN101589374A CN101589374A CNA2008800027469A CN200880002746A CN101589374A CN 101589374 A CN101589374 A CN 101589374A CN A2008800027469 A CNA2008800027469 A CN A2008800027469A CN 200880002746 A CN200880002746 A CN 200880002746A CN 101589374 A CN101589374 A CN 101589374A
- Authority
- CN
- China
- Prior art keywords
- cache
- processor
- policy information
- memory
- cache policy
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
根据本文中所教示的方法和设备,使用与在存储器操作期间所存取的目标存储器装置相关联的高速缓存策略信息来确定处理器高速缓存策略。根据处理器的一个实施例,所述处理器包含至少一个高速缓冲存储器和存储器管理单元。所述至少一个高速缓冲存储器经配置以在所述处理器本地存储信息。所述存储器管理单元经配置以设置所述至少一个高速缓冲存储器的一个或一个以上高速缓存策略。所述存储器管理单元基于与经配置以存储由所述处理器使用的信息的一个或一个以上目标存储器装置相关联的高速缓存策略信息来设置所述一个或一个以上高速缓存策略。
Description
技术领域
本发明大体上涉及处理器中的高速缓冲存储器操作,且特定来说,涉及确定高速缓存策略。
背景技术
通过在处理器中在本地包括将一级或一级以上高速缓冲存储器以用于存储频繁存取或最近使用的信息而改进处理器性能。处理器高速缓冲存储器为小型快速存储器,其存储主存储器(例如DRAM或硬盘驱动器)中所存储的选定信息的副本。当指令存取一存储器位置时,所述处理器首先检查所述存储器位置是否被复制于本地高速缓冲存储器中。特定来说,将与存储器存取相关联的地址与高速缓冲存储器中的所有标记进行比较。如果所要存储器位于所述高速缓冲存储器中,则发生高速缓冲存储器命中。否则,发生高速缓冲存储器未命中。
当发生高速缓冲存储器命中时,处理器立即读取或写入例如所识别的高速缓冲存储器线中的数据或指令等信息。在发生高速缓冲存储器未命的情况下,从较高级高速缓冲存储器或主存储器检索所要信息。而且,常规上将新条目分配于高速缓冲存储器中以存储新检索的信息。新条目包含识别导致高速缓冲存储器未命中的地址的标记和从主存储器检索的信息的副本。
为容纳新高速缓冲存储器条目,从高速缓冲存储器驱逐现有条目。用于选择从高速缓冲存储器驱逐的条目的试探法是基于替代策略,例如,最近最少使用或先进先出。其它高速缓存策略(也被称为高速缓冲存储器属性)还用于确定如何存取、使用并维持高速缓冲存储器。其它高速缓存策略包括写入策略、分配策略、高速缓冲存储器级策略和定制策略。
写入策略确定写入到高速缓冲存储器块的信息何时也写入到主存储器。举例来说,当使用写穿策略时,同时更新高速缓冲存储器和主存储器。当采用写回策略时,仅在对应的高速缓冲存储器块被替代时才更新主存储器。一次写入策略使用写穿策略以用于第一次写入到特定高速缓冲存储器块且使用写回策略以用于随后写入到同一块。
高速缓冲存储器分配策略确定何时写入高速缓冲存储器块。举例来说,如果与特定高速缓冲存储器块相关联的分配策略为“仅在读取时分配”,则在写入期间不干扰所述块。相反,当分配策略为“在读取和写入时分配”时,在写入与读取期间均更新高速缓冲存储器块。对于具有例如一级指令与数据高速缓冲存储器和至少一个较高级高速缓冲存储器的多级高速缓冲存储器的处理器来说,高速缓冲存储器级策略确定哪一级高速缓冲存储器用于存储信息。举例来说,指令可存储于第一级指令高速缓冲存储器中,而其它信息可仅存储于二级高速缓冲存储器中。
常规上将高速缓存策略存储于页表中。在具有在处理器本地存储的频繁存取或最近使用的条目的主存储器中维持页表,例如,维持于翻译旁视缓冲器(TLB)中。每一页表条目将虚拟地址映射到对应物理地址。特定来说,页表存储虚拟页号和对应物理页号的清单。虚拟页号识别分配到在处理器上执行的程序的虚拟存储器的各自块,而物理页号识别含有由程序使用的实际信息的物理存储器的对应块。
当处理器存取特定存储器位置时,使用被提供为存取的部分的虚拟地址的虚拟页号部分来搜寻页表条目。从匹配的页表条目检索物理页号。物理页号和页偏移形成用于存取所要存储器位置的物理地址。
如果本地处理器高速缓冲存储器内不含有所要存储器位置,则存取主存储器。存储于匹配的页表条目中的高速缓存策略信息确定是否将从主存储器读取或写入到主存储器的作为存储器存取的部分的信息在本地存储于高速缓冲存储器中,且如果如此,则确定如何在高速缓冲存储器中维持信息。因此,常规上,在每一页(或每一块)的基础上设置高速缓存策略并将高速缓存策略应用于高速缓冲存储器。此外,常规上由操作系统编程高速缓存策略。因而,高速缓存策略通常应用于处理器上运行的所有程序且在可由特定类型的主存储器装置使用时导致效率低下。举例来说,“仅在读取时分配”高速缓冲存储器分配策略可优化例如图形应用程序等一些程序的高速缓冲存储器利用率,但对于其它程序并非如此。
发明内容
根据本文中所教示的方法和设备,使用与在特定存储器操作期间所存取的目标存储器装置相关联的高速缓存策略信息来确定处理器高速缓存策略。因此,高速缓冲存储器操作可经裁剪以适于特定存储器装置设置而非整体高速缓存策略设置。通过基于与存储器操作期间所存取的目标存储器装置相关联的高速缓存策略信息来确定当前存储器操作的高速缓存策略而改进处理器性能。
根据处理器的一个实施例,所述处理器包含至少一个高速缓冲存储器和存储器管理单元。所述至少一个高速缓冲存储器经配置以在所述处理器本地存储信息。所述存储器管理单元经配置以设置所述至少一个高速缓冲存储器的一个或一个以上高速缓存策略。所述存储器管理单元基于与经配置以存储由所述处理器使用的信息的一个或一个以上目标存储器装置相关联的高速缓存策略信息来设置所述一个或一个以上高速缓存策略。
根据系统的一个实施例,所述系统包含:处理器,其具有经配置以在处理器本地存储信息的至少一个高速缓冲存储器;一个或一个以上目标存储器装置,其耦合到所述处理器;以及存储器管理单元,其被包括于所述处理器中。所述一个或一个以上目标存储器装置经配置以存储由所述处理器使用的信息。所述存储器管理单元经配置以基于与所述一个或一个以上目标存储器装置相关联的高速缓存策略信息来设置所述至少一个高速缓冲存储器的一个或一个以上高速缓存策略。
当然,本发明不限于上述特征和优点。在阅读以下详细描述后且在参看附图后,所属领域的技术人员将认识到额外特征和优点。
附图说明
图1为说明包括具有用于确定高速缓存策略的电路的处理器的系统的实施例的框图。
图2为说明用于提供与存储器装置相关联的高速缓存策略信息的地址解码器电路的实施例的框图。
图3为说明包括具有用于确定高速缓存策略的电路的处理器的系统的另一实施例的框图。
图4为说明用于在处理器中确定高速缓存策略的电路的实施例的框图。
图5为说明用于在处理器中确定高速缓存策略的程序逻辑的实施例的逻辑流程图。
图6为说明图4的电路如何响应于示范性写入操作来确定高速缓存策略的图。
图7为说明图4的电路如何响应于示范性读取操作来确定高速缓存策略的图。
具体实施方式
图1说明系统10的实施例,所述系统10包括总线12,所述总线12将处理器14耦合到一个或一个以上外围装置16和主存储器,例如硬盘驱动器(HDD)18和例如同步DRAM(SDRAM)20和同步图形RAM(SGRAM)22等DRAM。处理器14包括处理器核心24、数据高速缓冲存储器26和指令高速缓冲存储器28、二级高速缓冲存储器(L2)30和总线接口单元32。处理器核心24提供对指令流和指令执行的集中控制。数据高速缓冲存储器26和指令高速缓冲存储器28分别存储数据和指令。L2高速缓冲存储器30提供数据高速缓冲存储器26和指令高速缓冲存储器28与处理器14外部的主存储器(例如,HDD 18、SDRAM 20和SGRAM 22)之间的高速存储器缓冲器。总线接口单元32提供用于在处理器14与处理器14外部的装置(例如,外围装置16和主存储器18、20、22)之间传送数据、指令、地址和控制信号的机构。
主存储器18、20、22被表示为在处理器14上运行的程序的虚拟存储器。即,物理存储器的页被分配为虚拟存储器以供在程序执行期间由程序使用。在(例如)如图1中所示的主存储器18、20、22中维持页表34以使得能够在虚拟地址空间与物理地址空间之间进行映射。包括于处理器14中的存储器管理单元(MMU)36存取页表34且处置由处理器14发布的存储器存取,包括虚拟存储器管理、存储器保护、高速缓冲存储器控制和总线仲裁。作为虚拟存储器管理的一部分,MMU 36将在处理器14本地频繁或最近参考的页表条目(PTE)维持于(例如)翻译旁视缓冲器(TLB)38中。
当处理器14存取由虚拟地址识别的所要存储器位置时,MMU 36存取TLB 38以确定TLB 38是否含有匹配的条目。如果含有,则使用存储于匹配的TLB条目中的地址翻译信息将虚拟地址翻译成物理地址。否则,在页表34中搜索匹配的条目。总之,MMU36基于所得物理地址在以物理方式标记的高速缓冲存储器26、28、30中的一者中起始高速缓冲存储器查找操作。如果高速缓冲存储器26、28、30中的一者含有所要存储器位置,则存取对应的高速缓冲存储器线且例如通过从高速缓冲存储器线读取或写入到高速缓冲存储器线而完成存储器存取。否则,MMU 36起始对主存储器18、20、22的存储器存取以用于存取所要存储器位置。
通过提供识别所要存储器位置的物理地址来存取主存储器18、20、22。含有所要存储器位置的存储器装置在本文中被称为目标存储器装置。根据本文中所揭示的各种实施例,目标存储器装置可包含系统中所包括的任一可寻址存储器模块、装置或库。举例来说,目标存储器装置可依据正由处理器14执行的特定程序而为SDRAM 20、SGRAM 22或其它存储器装置(未图示)中的一者。
响应于外部存储器存取,将与对应目标存储器装置相关联的高速缓存策略信息提供到包括于MMU 36中或与MMU 36相关联的高速缓存策略设置电路40。高速缓存策略设置电路40基于与对应目标存储器装置相关联的高速缓存策略信息来确定当前存储器操作的高速缓存策略设置。因此,当处理器14存取特定外部存储器位置时,高速缓存策略经裁剪以适于含有所要存储器位置的对应目标存储器装置。
举例来说,如果存储器操作针对于SGRAM装置22中的一者,则当目标装置充当多媒体应用程序的视频帧缓冲器时,与目标SGRAM装置相关联的高速缓冲存储器分配策略可为“仅在读取时分配”。处理器14可在多媒体应用程序执行期间频繁地写入到目标SGRAM装置,但极少从所述装置读取。因此,目标SGRAM装置的高速缓冲存储器分配策略可指示“仅在读取时分配”以用于改进处理器性能。目标存储器装置的高速缓存策略信息也可指示特定替代策略、写入策略、分配策略、高速缓冲存储器级策略和/或一个或一个以上定制策略。
在一个实施例中,由存储器控制器42提供与目标存储器装置相关联的高速缓存策略信息,所述存储器控制器42提供总线12与各种DRAM装置20、22之间的接口,如图1中所示。根据此实施例,存储器控制器42包括地址解码器电路44,所述地址解码器电路44用于对由处理器14作为存储器存取的部分(例如,读取或写入)而提供的的物理存储器地址进行解码。由地址解码器电路44产生的高速缓存策略信息随着作为特定存储器存取的部分而提供的物理存储器地址而变。物理地址识别含有存储器位置的作为当前存储器操作的目标的存储器装置。
图2说明地址解码器电路44的一个实施例。根据此实施例,解码器电路44包括地址解码器46、多路复用器48和表50,所述表50具有与由存储器控制器42支持的相应存储器装置20、22相关联的各种条目52。每一表条目52含有与对应的存储器装置相关联的高速缓存策略信息。
当处理器14存取外部存储器时,作为存取的部分而包括的物理地址识别由存储器控制器42支持的存储器装置20、22中的一者。地址解码器46对物理地址进行解码,从而致使多路复用器48选择含有与由物理地址识别的目标存储器装置相关联的高速缓存策略信息的条目52。存储器控制器42经由总线12和总线接口单元32将选定的高速缓存策略信息提供到MMU 36(例如,如图1中的从地址解码器电路44到MMU 36的虚线所示)。高速缓存策略设置电路40使用接收到的高速缓存策略信息来设置当前存储器操作的高速缓存策略。因此,可根据目标存储器装置在每一高速缓冲存储器线的基础上设置高速缓存策略。
在另一实施例中,由如图3中所示的处理器14中所包括的地址解码器电路54来提供高速缓存策略信息。根据此实施例,地址解码器电路54基于虚拟地址或物理地址来提供高速缓存策略信息,例如,如先前所描述且根据图2。在又一实施例中,由存储器控制器42支持的存储器装置20、22中的一者或一者以上将其高速缓存策略信息存储于(例如)装置ID寄存器或其它寄存器(未图示)中。当由存储器控制器42存取目标存储器装置时,存取策略信息被提供到控制器42并被转发到处理器14,如先前所描述。或者,在没有征求的情况下,(例如)在系统启动期间或在处理器14复位后自动地将高速缓存策略信息提供到处理器14。此外,处理器14可在接收后存储经裁剪的高速缓存策略信息,因此避免在随后存取对应的目标存储器装置时需要请求同一信息。而是,处理器14在内部检索并使用经裁剪的高速缓存策略信息。无论如何,高速缓存策略设置电路40均使用目标存储器装置高速缓存策略信息来设置存储器操作期间的高速缓存策略。
图4说明MMU 36中所包括的或与MMU 36相关联的高速缓存策略设置电路40的实施例。根据此实施例,高速缓存策略设置电路40包括用于设置针对于当前存储器操作的高速缓存策略的选择电路56。更详细来说,从TLB 38或页表34检索与被提供为存储器存取的部分的虚拟地址匹配的页表条目(PTE)58(例如,如图1中从页表34到MMU 36的虚线所示)。基于存储于匹配的PTE 58(在此处物理地址识别所要存储器位置)中的地址翻译信息60而将虚拟地址翻译成对应的物理地址。
如果所要存储器位置不位于处理器高速缓冲存储器26、28、30中的一者中,则MMU36起始外部存储器存取。响应于请求,存储器控制器42基于所翻译的物理地址来识别含有所要存储器位置的目标存储器装置。处理器14经由存储器控制器42而获得对目标存储器装置的存取。目标存储器装置执行所要存储器操作(例如,读取或写入)。另外,与目标存储器装置相关联的高速缓存策略信息被作为存储器操作的部分而提供到高速缓存策略设置电路40并存储于缓冲器62中,例如,如图5的步骤100所说明。
选择电路56处理从匹配的PTE 58检索的高速缓存策略信息64和存储于缓冲器62中的目标存储器装置的高速缓存策略信息,例如,如由图5的步骤102所说明。使用目标装置的信息盖写从匹配的PTE 58检索到的高速缓存策略信息64且将其用作当前高速缓存策略设置。然而,如果未为目标存储器装置提供高速缓存策略信息,则替代地使用从匹配的PTE 58检索到的高速缓存策略信息64。
在图6中说明高速缓存策略设置电路40如何确定高速缓存策略的纯说明性实例。处理器核心24发布对虚拟地址X的存储器写入请求。MMU 36从TLB 38或页表34检索匹配的PTE且使用其将虚拟地址X转换成对应的物理地址X′。MMU 36接着使用物理地址X′来探测以物理方式标记的高速缓冲存储器26、28、30中的一者或一者以上。在此实例中,高速缓冲存储器26、28、30均不含有如由高速缓冲存储器未命中所指示的所要存储器位置。因此,MMU 36基于物理地址X′向存储器控制器42发布外部存储器写入请求。存储器控制器42选择含有由物理地址X′识别的存储器位置的目标存储器装置。目标存储器装置执行所要写入操作且向控制器42通知完成写入。
此外,物理地址X′被解码且如先前描述(例如)由地址解码器电路44或54来检索对应于目标存储器装置的高速缓存策略信息。或者,目标存储器装置将其高速缓存策略信息提供到存储器控制器42。无论如何,均向MMU 36通知已完成写入操作。此外,高速缓存策略设置电路40被提供有目标存储器装置的高速缓存策略信息。在此实例中,高速缓存策略信息指示“仅在读取时分配”。因此,写入操作在处理器14中完成且MMU36不在处理器高速缓冲存储器26、28、30中的一者中分配高速缓冲存储器线。
图7通过展示由处理器核心24发布的对同一虚拟地址X的后续读取请求而继续示范性说明。谨记,目标存储器装置的高速缓存策略信息指示针对由物理地址X′识别的存储器位置的“仅在读取时分配”。因此,先前未针对物理地址X′来分配高速缓冲存储器线。因此,在当前读取操作期间发生高速缓冲存储器未命中。
此外,当目标存储器装置完成读取操作时,因为目标装置的高速缓存策略信息指示应分配高速缓冲存储器线,所以读取操作未在处理器14中完成。因此,高速缓存策略设置电路40设置当前高速缓冲存储器分配策略,使得MMU 36指令处理器高速缓冲存储器26、28、30中的一者针对物理地址X′来分配高速缓冲存储器线。另外,与目标存储器装置相关联的高速缓冲存储器级策略可指示哪一级高速缓冲存储器(例如,一级高速缓冲存储器26、28或L2高速缓冲存储器30中的一者)应分配高速缓冲存储器线。也可基于目标装置的高速缓存策略信息来设置其它高速缓存策略。无论如何,还将对应数据提供到处理器核心24以供处理。
在牢记变化和应用的以上范围的情况下,应理解,本发明不受前述描述限制,也不受附图限制。而是,本发明仅受所附权利要求书和其合法等效物的限制。
Claims (20)
1.一种确定高速缓存策略的方法,其包含:
接收与经配置以存储由处理器使用的信息的一个或一个以上目标存储器装置相关联的高速缓存策略信息;以及
基于所述高速缓存策略信息来设置一个或一个以上高速缓存策略。
2.根据权利要求1所述的方法,其中接收所述高速缓存策略信息包含:接收未征求的高速缓存策略信息。
3.根据权利要求1所述的方法,其中接收所述高速缓存策略信息包含:
引导对所述目标存储器装置中的一者的存储器存取;以及
响应于所述存储器存取而接收高速缓存策略信息。
4.根据权利要求3所述的方法,其中响应于所述存储器存取而接收高速缓存策略信息包含:接收由所述存储器存取所针对的所述目标存储器装置提供的高速缓存策略信息。
5.根据权利要求3所述的方法,其中响应于所述存储器存取而接收高速缓存策略信息包含:接收由地址解码器基于与所述存储器存取相关联的地址而提供的高速缓存策略信息。
6.根据权利要求3所述的方法,其中设置所述一个或一个以上高速缓存策略包含:
存取与所述存储器存取相关联的页表条目;以及
使用响应于所述存储器存取而接收的所述高速缓存策略信息来超驰由所述页表条目指示的一个或一个以上高速缓存策略。
7.一种处理器,其包含:
至少一个高速缓冲存储器,其经配置以在所述处理器本地存储信息;以及
存储器管理单元,其经配置以基于与经配置以存储由所述处理器使用的信息的一个或一个以上目标存储器装置相关联的高速缓存策略信息来设置所述至少一个高速缓冲存储器的一个或一个以上高速缓存策略。
8.根据权利要求7所述的处理器,其中所述存储器管理单元经配置以处理未征求的高速缓存策略信息。
9.根据权利要求7所述的处理器,其中所述存储器管理单元经配置以引导对所述目标存储器装置中的一者的存储器存取且处理响应于所述存储器存取而接收的高速缓存策略信息。
10.根据权利要求9所述的处理器,其中所述存储器管理单元经配置以处理由所述存储器存取所针对的所述目标存储器装置提供的高速缓存策略信息。
11.根据权利要求9所述的处理器,其中所述存储器管理单元经配置以处理由地址解码器基于与所述存储器存取相关联的地址而提供的高速缓存策略信息。
12.根据权利要求11所述的处理器,其中所述地址解码器被包括于所述处理器中。
13.根据权利要求9所述的处理器,其中所述存储器管理单元经配置以存取与所述存储器存取相关联的页表条目,且使用响应于所述存储器存取而接收的所述高速缓存策略信息来超驰由所述页表条目指示的一个或一个以上高速缓存策略。
14.一种系统,其包含:
处理器,其具有经配置以在所述处理器本地存储信息的至少一个高速缓冲存储器;
一个或一个以上目标存储器装置,其耦合到所述处理器且经配置以存储由所述处理器使用的信息;以及
存储器管理单元,其被包括于所述处理器中且经配置以基于与所述一个或一个以上目标存储器装置相关联的高速缓存策略信息来设置所述至少一个高速缓冲存储器的一个或一个以上高速缓存策略。
15.根据权利要求14所述的系统,其中所述存储器管理单元经配置以处理未征求的高速缓存策略信息。
16.根据权利要求14所述的系统,其中所述存储器管理单元经配置以引导对所述目标存储器装置中的一者的存储器存取且处理响应于所述存储器存取而接收的高速缓存策略信息。
17.根据权利要求16所述的系统,其中所述存储器管理单元经配置以处理由所述存储器存取所针对的所述目标存储器装置提供的高速缓存策略信息。
18.根据权利要求16所述的系统,其进一步包含地址解码器,所述地址解码器经配置以基于与所述存储器存取相关联的地址来提供所述高速缓存策略信息。
19.根据权利要求18所述的系统,其中所述地址解码器被包括于所述处理器中。
20.根据权利要求16所述的系统,其中所述存储器管理单元经配置以存取响应于所述存储器存取而存取的页表条目且使用响应于所述存储器存取而接收的所述高速缓存策略信息来超驰由所述页表条目指示的一个或一个以上高速缓存策略。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/626,434 US7949834B2 (en) | 2007-01-24 | 2007-01-24 | Method and apparatus for setting cache policies in a processor |
US11/626,434 | 2007-01-24 | ||
PCT/US2008/051953 WO2008092032A1 (en) | 2007-01-24 | 2008-01-24 | Method and apparatus for setting cache policies in a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101589374A true CN101589374A (zh) | 2009-11-25 |
CN101589374B CN101589374B (zh) | 2012-07-04 |
Family
ID=39456426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800027469A Active CN101589374B (zh) | 2007-01-24 | 2008-01-24 | 用于在处理器中设置高速缓存策略的方法和设备 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7949834B2 (zh) |
EP (1) | EP2115599B1 (zh) |
JP (1) | JP5313168B2 (zh) |
KR (1) | KR101079970B1 (zh) |
CN (1) | CN101589374B (zh) |
BR (1) | BRPI0806756A2 (zh) |
CA (1) | CA2674868C (zh) |
MX (1) | MX2009007948A (zh) |
RU (1) | RU2427892C2 (zh) |
TW (1) | TWI446166B (zh) |
WO (1) | WO2008092032A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107810491A (zh) * | 2015-05-27 | 2018-03-16 | 谷歌公司 | 存储器系统架构 |
CN108647153A (zh) * | 2013-03-15 | 2018-10-12 | 美光科技公司 | 用于存储器的自适应控制的设备及方法 |
CN108694136A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于超越基于非局部性的指令处理的系统、设备和方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008149657A1 (ja) * | 2007-06-05 | 2008-12-11 | Nec Corporation | 入出力制御システム、入出力制御方法、及び、入出力制御プログラム |
US8393008B2 (en) * | 2008-05-21 | 2013-03-05 | Microsoft Corporation | Hardware-based output protection of multiple video streams |
US8151077B1 (en) * | 2008-06-30 | 2012-04-03 | Emc Corporation | Application aware cache management |
US8504776B2 (en) * | 2008-08-29 | 2013-08-06 | Infineon Technologies Ag | Device and method for controlling caches |
US8504839B2 (en) * | 2008-10-27 | 2013-08-06 | Advanced Micro Devices, Inc. | Method, apparatus, and device for protecting against programming attacks and/or data corruption |
US8161246B2 (en) * | 2009-03-30 | 2012-04-17 | Via Technologies, Inc. | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry |
CN101866321B (zh) * | 2010-06-13 | 2012-03-21 | 北京北大众志微系统科技有限责任公司 | 一种高速缓存管理策略的调整方法及系统 |
US9652560B1 (en) * | 2011-07-18 | 2017-05-16 | Apple Inc. | Non-blocking memory management unit |
US20130042238A1 (en) * | 2011-08-12 | 2013-02-14 | International Business Machines Corporation | Optimized Virtual Function Translation Entry Memory Caching |
US8954704B2 (en) | 2011-08-12 | 2015-02-10 | International Business Machines Corporation | Dynamic network adapter memory resizing and bounding for virtual function translation entry storage |
US10146437B2 (en) | 2014-03-17 | 2018-12-04 | Primaryio, Inc. | Tier aware caching solution to increase application performance |
US10133488B2 (en) * | 2014-03-17 | 2018-11-20 | Primaryio, Inc. | Apparatus and method for cache provisioning, configuration for optimal application performance |
US9715455B1 (en) * | 2014-05-05 | 2017-07-25 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Hint selection of a cache policy |
US10019404B2 (en) * | 2016-04-20 | 2018-07-10 | Allone Solution Co., Ltd. | Accessing method for accessing hybrid hard-disk drive |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0340046A (ja) * | 1989-07-06 | 1991-02-20 | Hitachi Ltd | キャッシュメモリ制御方式および情報処理装置 |
US5325504A (en) * | 1991-08-30 | 1994-06-28 | Compaq Computer Corporation | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system |
ZA954460B (en) * | 1994-09-30 | 1996-02-05 | Intel Corp | Method and apparatus for processing memory-type information within a microprocessor |
AU5854796A (en) * | 1995-05-10 | 1996-11-29 | 3Do Company, The | Method and apparatus for managing snoop requests using snoop advisory cells |
US5946713A (en) * | 1997-08-18 | 1999-08-31 | Intel Corporation | Memory attribute palette |
JPH1173368A (ja) * | 1997-08-28 | 1999-03-16 | Seiko Epson Corp | メモリモジュール、情報処理装置の制御方法および記録媒体 |
US6434669B1 (en) * | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to dynamically update information-type dependent cache policies |
US7328328B2 (en) * | 2002-02-19 | 2008-02-05 | Ip-First, Llc | Non-temporal memory reference control mechanism |
AU2003231070A1 (en) * | 2002-04-18 | 2003-11-03 | Advanced Micro Devices Inc. | A computer system including a secure execution mode - capable cpu and a security services processor connected via a secure communication path |
US6891543B2 (en) * | 2002-05-08 | 2005-05-10 | Intel Corporation | Method and system for optimally sharing memory between a host processor and graphics processor |
US7353334B2 (en) * | 2002-08-19 | 2008-04-01 | Aristos Logic Corporation | Method of increasing performance and manageability of network storage systems using optimized cache setting and handling policies |
US7039756B2 (en) * | 2003-04-28 | 2006-05-02 | Lsi Logic Corporation | Method for use of ternary CAM to implement software programmable cache policies |
JP4765249B2 (ja) * | 2003-11-18 | 2011-09-07 | セイコーエプソン株式会社 | 情報処理装置およびキャッシュメモリ制御方法 |
US7555610B2 (en) * | 2003-11-18 | 2009-06-30 | Panasonic Corporation | Cache memory and control method thereof |
JP2005267497A (ja) * | 2004-03-22 | 2005-09-29 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置、その制御方法及び磁気ディスク記憶装置 |
JP2006185284A (ja) * | 2004-12-28 | 2006-07-13 | Renesas Technology Corp | データ処理装置 |
GB2422926B (en) * | 2005-02-04 | 2008-10-01 | Advanced Risc Mach Ltd | Data processing apparatus and method for controlling access to memory |
US7472225B2 (en) * | 2005-06-20 | 2008-12-30 | Arm Limited | Caching data |
US7616218B1 (en) * | 2005-12-05 | 2009-11-10 | Nvidia Corporation | Apparatus, system, and method for clipping graphics primitives |
-
2007
- 2007-01-24 US US11/626,434 patent/US7949834B2/en active Active
-
2008
- 2008-01-24 KR KR1020097017373A patent/KR101079970B1/ko active IP Right Grant
- 2008-01-24 BR BRPI0806756-2A patent/BRPI0806756A2/pt not_active Application Discontinuation
- 2008-01-24 RU RU2009131695/08A patent/RU2427892C2/ru not_active IP Right Cessation
- 2008-01-24 CA CA2674868A patent/CA2674868C/en not_active Expired - Fee Related
- 2008-01-24 WO PCT/US2008/051953 patent/WO2008092032A1/en active Application Filing
- 2008-01-24 CN CN2008800027469A patent/CN101589374B/zh active Active
- 2008-01-24 JP JP2009547424A patent/JP5313168B2/ja active Active
- 2008-01-24 EP EP08713984.6A patent/EP2115599B1/en not_active Not-in-force
- 2008-01-24 TW TW097102764A patent/TWI446166B/zh active
- 2008-01-24 MX MX2009007948A patent/MX2009007948A/es active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647153A (zh) * | 2013-03-15 | 2018-10-12 | 美光科技公司 | 用于存储器的自适应控制的设备及方法 |
CN108647153B (zh) * | 2013-03-15 | 2023-03-28 | 美光科技公司 | 用于存储器的自适应控制的设备及方法 |
US11625321B2 (en) | 2013-03-15 | 2023-04-11 | Micron Technology, Inc. | Apparatuses and methods for memory address translation during block migration using depth mapping table based on mapping state |
CN107810491A (zh) * | 2015-05-27 | 2018-03-16 | 谷歌公司 | 存储器系统架构 |
CN107810491B (zh) * | 2015-05-27 | 2022-02-01 | 谷歌有限责任公司 | 用于管理并控制存储器高速缓存的方法和系统 |
CN108694136A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于超越基于非局部性的指令处理的系统、设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2115599B1 (en) | 2017-07-19 |
US7949834B2 (en) | 2011-05-24 |
KR101079970B1 (ko) | 2011-11-04 |
TWI446166B (zh) | 2014-07-21 |
JP2010517179A (ja) | 2010-05-20 |
US20080177952A1 (en) | 2008-07-24 |
CN101589374B (zh) | 2012-07-04 |
JP5313168B2 (ja) | 2013-10-09 |
KR20090108716A (ko) | 2009-10-16 |
RU2427892C2 (ru) | 2011-08-27 |
TW200842572A (en) | 2008-11-01 |
CA2674868C (en) | 2015-02-03 |
MX2009007948A (es) | 2009-08-07 |
WO2008092032A1 (en) | 2008-07-31 |
BRPI0806756A2 (pt) | 2011-09-13 |
EP2115599A1 (en) | 2009-11-11 |
CA2674868A1 (en) | 2008-07-31 |
RU2009131695A (ru) | 2011-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101589374B (zh) | 用于在处理器中设置高速缓存策略的方法和设备 | |
US5813031A (en) | Caching tag for a large scale cache computer memory system | |
US5586283A (en) | Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer | |
CN101493796B (zh) | 存储器内、页面内目录高速缓存一致性配置 | |
JPH03266153A (ja) | 速度向上のために部分アドレスを使用する2レベル変換ルックアサイドバッファ | |
KR960011712A (ko) | 데이타처리장치 | |
US9317448B2 (en) | Methods and apparatus related to data processors and caches incorporated in data processors | |
JP2012212440A (ja) | キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ | |
JPH08272693A (ja) | 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置 | |
JPH08101797A (ja) | 変換索引バッファ | |
JP2009512943A (ja) | 多階層の変換索引緩衝機構(TLBs)フィールドの更新 | |
CN110235101A (zh) | 可变转换后备缓冲器(tlb)编索引 | |
US11126573B1 (en) | Systems and methods for managing variable size load units | |
US8028118B2 (en) | Using an index value located on a page table to index page attributes | |
TW200304594A (en) | System and method of data replacement in cache ways | |
US9329994B2 (en) | Memory system | |
KR102355374B1 (ko) | 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법 | |
CN107341112A (zh) | 一种基于页面访问间隔的闪存数据缓冲区置换方法 | |
US6490665B1 (en) | Memory-access management method and system for synchronous random-access memory or the like | |
US20220398198A1 (en) | Tags and data for caches | |
US7181590B2 (en) | Method for page sharing in a processor with multiple threads and pre-validated caches | |
CN111124954A (zh) | 一种两级转换旁路缓冲的管理装置及方法 | |
CN112148639A (zh) | 一种高效小容量高速缓冲存储器替换方法及系统 | |
US20070050552A1 (en) | Cache memory systems and methods thereof | |
US9760488B2 (en) | Cache controlling method for memory system and cache system thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |