CN102027456A - 用于通过停用有效阵列实现功率节省的方法 - Google Patents
用于通过停用有效阵列实现功率节省的方法 Download PDFInfo
- Publication number
- CN102027456A CN102027456A CN2009801171033A CN200980117103A CN102027456A CN 102027456 A CN102027456 A CN 102027456A CN 2009801171033 A CN2009801171033 A CN 2009801171033A CN 200980117103 A CN200980117103 A CN 200980117103A CN 102027456 A CN102027456 A CN 102027456A
- Authority
- CN
- China
- Prior art keywords
- array
- effective
- entries
- address
- values
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明描述一种供在存取高速缓冲存储器时使用的方法。在所有有效阵列条目被证实之前,在存取数据阵列条目时读取有效阵列条目。如果所述有效阵列条目为第一阵列值,那么将对所述高速缓冲存储器的存取视为无效且重新加载所述数据阵列条目。如果所述有效阵列条目为第二阵列值,那么将标签阵列条目与地址进行比较以确定所述数据阵列条目是有效还是无效。有效控制寄存器在所有有效阵列条目被证实之前含有第一控制值,且在所有有效阵列条目被证实之后含有第二控制值。在建立所述第二控制值之后,停用对所述有效阵列的读取且将所述标签阵列条目与所述地址进行比较以确定数据阵列条目是有效还是无效。
Description
相关申请案交叉参考
本申请案为优先权依赖于2008年3月13日提出申请的序列号为61/036,181的美国临时专利申请案的PCT专利申请案,所述专利申请案的内容以引用的方式并入本文中。
技术领域
本发明涉及一种用于识别高速缓冲存储器中的选定条目是否有效的方法。更具体来说,本发明涉及使用有效阵列来确定高速缓冲存储器中的条目是否有效的方法。在发现高速缓冲存储器中的所有条目均有效之后,停用有效阵列。
背景技术
一种实施高速缓冲存储器的方式依赖于单独有效阵列的使用。有效阵列指示高速缓冲存储器内的特定条目是否有效。通常,如现有技术中已知,对于对高速缓冲存储器进行的每一存取,对有效阵列进行读取以在接受高速缓冲存储器中的条目之前确定高速缓冲存储器条目是否有效。这意味着在每当存取高速缓冲存储器时,需要对有效阵列的单独读取。
然而,应明了,一旦高速缓冲存储器中的所有条目已被证实(即,高速缓冲存储器中的所有条目已被确定为有效),有效阵列就不再起作用。一旦高速缓冲存储器中的条目中的每一者被证实,对有效阵列的进一步读取就不再产生除所有条目均有效的已确定事实以外的任何结果。因此,对有效阵列的进一步读取不必要地消耗功率。对有效阵列的任何进一步读取仅为重复先前的处理步骤。
如所属领域的技术人员可了解,在高速缓冲存储器中的所有条目已被证实之后读取有效阵列不必要地增加处理器所消耗的功率。这被认为是浪费的。
如所属领域的技术人员应了解,减少处理器时间及功率消耗的能力是所要的。较少的处理器时间及较低的功率消耗促成较高效的处理器。
发明内容
因此,本发明的一个方面是改进处理器的效率。
本发明的另一方面是通过减少在高速缓冲存储器中的所有条目已被证实之后存取有效阵列的次数来减少由处理器消耗的功率。
因此,本发明的一个特定方面是用以在高速缓冲存储器中的所有条目已被证实之后停用对有效阵列的读取的指令的实施方案。
通过在高速缓冲存储器中的条目已被证实之后停用对有效阵列的读取,本发明减少由存取所述高速缓冲存储器的处理器消耗的功率。
因此,本发明的一方面是提供一种在程序控制下的用于停用对有效阵列的读取的方法及架构。
本发明的另一方面是提供一种程序首先可借以确保所有条目均有效且接着停用有效阵列的方法及机构。
依据本文中所提供的论述,本发明的其它方面将变得显而易见。
附图说明
将结合并入本文中的图式描述本发明的各个方面,图式中:
图1是图解说明本发明的方法的一个实施例的第一部分的流程图;
图2是图1中所图解说明的流程图的继续,其提供本发明的方法的一个实施例的第二部分;且
图3是图2中所图解说明的流程图的继续,其提供本发明的方法的一个实施例的第三部分。
具体实施方式
现在将结合一个或一个以上实施例描述本发明。所描述的实施例不打算限制本发明。相反,所述实施例打算说明本发明的广泛范围。如所属领域的技术人员应了解,存在实施例的可采用的众多变化形式及等效形式。那些变化形式及等效形式打算归属于本发明的范围内。
处理器中的高速缓冲存储器结构通常具有三(3)个组件:(1)标签阵列,(2)数据阵列,及(3)有效阵列。出于此论述的目的,术语“处理器”打算广泛地指代能够执行指令(不论是经由软件还是经由硬件)的任何装置。因此,处理器包括作为常见实例的计算机。如所属领域的技术人员应了解,处理器还可以是例如个人数据助理、蜂窝式电话等的手持式装置。
典型的高速缓冲存储器可具有2m个条目。每一条目可具有2b个字节的大小。尽管这些参数是指典型的高速缓冲存储器,但可采用具有与更大或更少数目的条目的高速缓冲存储器而并不背离本发明的范围。此外,本发明不打算仅限于其中每一条目具有2b个字节的大小的高速缓冲存储器。所述条目可具有更大或更小的字节大小而并不背离本发明的范围。
在高速缓冲存储器存取期间,可基于地址的位m+b-1到位b来存取标签阵列及数据阵列。将从标签阵列读取的内容与地址的上部位进行比较。对于32位地址,此比较包括位31到位m+b。如果所述比较展现出内容相同,那么认为所述比较是成功的。照一般说法,此称为高速缓冲存储器中的“命中”。因此,可使用从数据阵列读取的值。否则,如果所述比较未展现出匹配,那么不认为所述比较是成功的。在此情况下,称已存在“未命中”。因此,处理器必须采取进一步的行动,其通常包含重新加载高速缓冲存储器条目。
如所属领域的技术人员应明了,且出于本文论述的目的,“命中”是指在高速缓冲存储器内找到具有匹配标签的条目。“未命中”是指在高速缓冲存储器内不有效或其标签不匹配的条目。在条目不有效的情况下,需要进一步的处理,包含高速缓冲存储器条目的重新加载,如上文所提及。
如果高速缓冲存储器中的条目不有效或不具有匹配标签,那么重新加载所述高速缓冲存储器。重新加载条目涉及:(1)从由地址规定的存储器位置读取2b个字节,
(2)将所述数据(即,所述2b个字节)写入到由地址的位m+b-1到b规定的位置处的数据阵列中,及(3)将地址的上部位写入到标签阵列中。
如所属领域的技术人员应了解,假定任一特定条目的标签值,有可能确定所述条目对应于的存储器地址。换句话说,有可能确定来自特定存储器位置的正存储于数据阵列中的值。另外,如应明了,对于多个条目,有可能确定来自数个存储器位置的正存储于数据阵列中的值。
当启动处理器时或对其进行复位之后,标签及数据阵列通常保持随机值。特定来说,任一条目的数据值可不匹配由所述条目的标签值确定的存储器地址的内容。此不匹配呈现出通过使用有效阵列来解决的问题。
有效阵列包含高速缓冲存储器中的每一条目的位。在复位之后或在处理器启动之后,即刻将有效阵列中的所有位清除为0。如果存取高速缓冲存储器条目,且有效阵列中的位为0,那么将所述高速缓冲存储器条目的存取视为“未命中”。如上文所提及,接着重新加载所述高速缓冲存储器条目。在重新加载所述高速缓冲存储器条目之后,将有效位设定为1。
一旦将有效位设定为1,就不能将所述位设定为0或复位为0直到执行下一复位指令或启动指令为止。因此,如果有必要,那么有效阵列仅直到已重新加载每一高速缓冲存储器条目一次才提供有用功能。在已重新加载高速缓冲存储器条目中的每一者一次之后,将把有效阵列中的所有条目设定为1。一旦有效阵列达到此状态或条件,对有效阵列的任何进一步读取就不会起到进一步的作用。换句话说,一旦将有效阵列中的所有位设定为1,就再也没有任何理由来读取所述有效阵列。任何后续读取将返回相同结果。
如上文所提及,在现有技术中,通常甚至在已将有效阵列中的所有位设定为1之后也存取所述有效阵列。如应明了,对有效阵列的这些读取不必要地消耗功率。
本发明通过提供有效控制位以及其它特征来避免对有效阵列中的位的不必要读取。每一高速缓冲存储器的有效控制位可存储于控制寄存器中。正执行的程序在执行期间向控制寄存器写入。在启动之后或在执行复位指令之后,即刻将有效控制位设定为0。
当有效控制位为0时,程序认识到高速缓冲存储器中的所有条目并未均被证实。因此,所述程序根据三个控制参数进行操作。首先,针对每一高速缓冲存储器存取读取有效阵列。其次,如果有效阵列中的位被设定为0,那么将存取视为未命中。再次,如果有效阵列中的位被设定为1,那么基于标签比较将存取视为命中或未命中。换句话说,在将有效控制位设定为1之前,所述程序至少相对于有效阵列根据传统准则进行操作。
然而,当将有效控制位设定为1时,所述程序根据不同行为组进行操作。首先,停用有效高速缓冲存储器阵列读取。其次,基于标签比较将存取视为命中或未命中。
以下在代码段#1中显示使用控制位的高速缓冲存储器存取的伪代码中的命中或未命中逻辑的一个可能实施方案。出于代码段#1的目的,假定地址为32个位长且高速缓冲存储器包含各自为16个字节的256个条目。
代码段#1
entry=address[11:4];
if(valid_control=1)
valid_bit=1;
else
valid_bit=valid_array[entry];
if(address[31:12]==tag_array[entry])
tag_hit=1;
else
tag_hit=0;
hit=tag_hit & valid_bit;
为利用有效控制位,处理器必须确保有效阵列中的所有位均为1。所述处理器可通过执行接触或检查高速缓冲存储器中的所有条目的程序来进行此操作。对于指令高速缓冲存储器,此涉及运行执行来自高速缓冲存储器中的每一条目的指令的代码序列。对于数据高速缓冲存储器,此涉及运行读取来自高速缓冲存储器中的每一条目的存储器位置的代码序列。在所述程序已运行完这些代码序列之后,其可针对对应高速缓冲存储器设定有效控制位。
在上文所描述的架构及方法的替代方案中,涵盖有效控制位及有效阵列条目可操作使得反转0与1的使用。在此替代方法中,有效控制位最初可为1。在此实例中,一旦所有条目被证实,就可将有效控制位设定为0。对于有效阵列,可将所有条目初始化为0。在此情况下,一旦条目被证实,就可将所述条目改变为0。还涵盖归属于本发明的范围内的其它变化形式。
组相关联高速缓冲存储器
组相关联高速缓冲存储器呈现出相对于本发明的方法的额外挑战。
可非常类似于上文所描述的直接映射高速缓冲存储器地处理组相关联高速缓冲存储器。在N路组相关联高速缓冲存储器中,存在具有针对每一条目的标签阵列及有效位的N个数据阵列组。通常,并行地存取所有这些阵列,且将N个标签值中的每一者与地址的上部位进行比较。使用N个有效位来确定对应条目是否有效。通常,预期在此情形中有效标签比较中的至多一者会成功。如果这样,那么将其视为命中且使用对应于匹配标签的数据阵列值。否则,高速缓冲存储器存取为未命中且将地址重新加载到高速缓冲存储器中。选择所述条目的一个标签阵列或数据阵列组且将所重新加载的地址或数据写入到所述组。
为了使我们的解决方案可应用于组相关联高速缓冲存储器,需要建立保证已重新加载高速缓冲存储器中的所有条目的序列。替换策略的知识(即,当重新加载时,所述重新加载将进入到哪一组中)对于产生此序列来说是关键的。例如,如果重新加载策略是完全随机的,那么不存在保证所有条目中的所有组将被存取且借此被设定为有效条件或状态的序列。
对于称为LRU(最近最少使用)的常见替换策略,用于将所有位设定为有效条件的序列是简单明了的。对于N路组相关联高速缓冲存储器,所述程序存取对应于每一条目的N个地址。
冲洗
一些处理器支持使高速缓冲存储器条目无效的高速缓冲存储器冲洗指令。如果借助清除所述高速缓冲存储器条目的有效位来实施此指令,那么程序另外确保将有效控制位设定为0。其接着可运行额外代码序列以确保将无效位复位为1,且接着将有效控制位设定回到0。
硬件控制的
尽管此论述的焦点一直在使用基于软件的有效控制位的概念上,但可使用硬件来实现相同结果。如所属领域的技术人员鉴于前文论述应了解,可设计其中有效控制阵列将其所有位“与”运算在一起的硬件。如果“与”运算的结果为1,那么所述阵列中的所有位均为1,且不再需要存取所述阵列。如所属领域的技术人员可了解,可使用“或”操作数来替代“与”操作数而并不背离本发明的范围。
现在参考图式中的图1到3。图1到3图解说明本发明的一个实施例。
参考图1,方法10在12处开始。方法10既定由处理器执行以用于存取高速缓冲存储器。如上文所提及,高速缓冲存储器包含标签阵列、数据阵列及有效阵列。在14处,方法10在处理器复位或启动之后即刻将所述有效阵列中的所有有效阵列条目设定为第一阵列值。方法10继续进行到16,其中每当存取来自所述数据阵列的数据阵列条目时所述方法就从所述有效阵列读取一有效阵列条目。在16之后,方法10在两个单独路径之间进行选择。在18处,如果有效阵列条目为第一阵列值,那么将对所述高速缓冲存储器的存取视为未命中,此指示所述条目无效。如果这样,那么在20处,从存储器重新加载所述高速缓冲存储器且将所述有效阵列条目设定为第二阵列值。顺着另一路径,在22处,如果所述有效阵列条目为第二阵列值,那么将所述标签阵列中的标签阵列条目与地址中的选定位进行比较以确定所述数据阵列条目是命中还是未命中。命中指示有效条目而未命中指示无效条目。在图1中,提供也标示为“A”的过渡块24以指示方法10在图2中继续。
在图1中,包括16、18、20及22的点线边界26既定传达在所述有效阵列中的所有条目已被证实之前的间隔期间执行这四个操作。
参考图2,方法10继续进行到28,其中为所述高速缓冲存储器建立有效控制寄存器。在30处,在所有有效阵列条目被证实之前将所述有效控制寄存器设定为第一控制值。在32处,在所有有效阵列条目被证实之后将所述有效控制寄存器设定为第二控制值。也标示为“B”的第二过渡块34指示方法10在图3中继续。
参考图3,方法10在36处继续,其中在设定所述第二控制值之后,停用对所述有效阵列的读取。在38处,在停用对所述有效阵列的读取之后,将所述标签阵列条目与所述地址中的选定位进行比较以确定所述数据阵列条目是命中还是未命中。在40处,在未命中的情况下,从存储器重新加载所述高速缓冲存储器。所述方法在42处结束。点线边界44既定指示在所有有效阵列条目已被证实之后的间隔期间执行操作36、38及40。
如上文所提及,在方法10的一个所涵盖变化形式中,所述数据阵列可包括2m个条目,所述数据阵列条目中的每一者可包括2b个字节,且可存在地址的总数目2a。当然,所述数据阵列及所述条目也可具有更大或更小大小而并不背离本发明的范围。
在方法10的变化形式中,将所述标签阵列与所述地址中的上部位进行比较。或者,在使用具有2b个字节的2m个条目的情况下,涵盖将所述标签阵列条目与所述地址的位a-1到m+b进行比较。如果所述地址为32位地址,那么将所述标签阵列与所述地址中的位31到m+b进行比较。
关于数据条目的重新加载,涵盖重新加载涉及数个操作。首先,从由所述地址规定的存储器位置读取2b个字节。其次,将所述2b个字节写入到由所述地址的位m+b-1到b规定的数据阵列条目。再次,将来自所述地址的上部位a到m+b写入到对应标签阵列条目。还涵盖归属于本发明的范围内的其它所涵盖重新加载操作。
关于有效控制寄存器,涵盖所述寄存器为一位寄存器。类似地,涵盖所有有效阵列条目为单位条目。
出于本发明的目的,所述高速缓冲存储器可以是数据高速缓冲存储器,或者其可以是指令高速缓冲存储器。所述高速缓冲存储器也可以是具有N个数据阵列组的组相关联高速缓冲存储器。如果这样,那么可并行地存取所述N个数据阵列组中的每一者。
关于方法10,如果在已将有效阵列条目设定为第二阵列值之后所述数据阵列条目随后变为无效,那么方法10涵盖将所述有效阵列条目复位为第一阵列值。如依据前文应了解,如果有效控制寄存器含有第二控制值,那么将所述有效控制寄存器复位为含有第一控制值。
在针对方法10所涵盖的变化形式中,通过组合所有有效阵列条目来建立第二控制值。
如依据上文论述可了解,方法10涵盖经由硬件来组合所有有效阵列条目。在采用硬件的情况下,可经由“与”操作数或“或”操作数来组合所有有效阵列条目。在采用“与”操作数的情况下,第一阵列值为0,第二阵列值为1,第一控制值为0且第二控制值为1。在使用“或”操作数的情况下,第一阵列值为1,第二阵列值为0,第一控制值为1且第二控制值为0。
在所述方法的另一所涵盖变化形式中,响应于由处理器执行的指令而建立第二控制值。
方法10也可包含证实强制操作。证实强制操作强制有效阵列的证实。证实强制指令包含读取预定地址序列、将所有有效阵列条目设定为第二阵列值及将有效控制寄存器设定为第二控制值。在证实强制操作的变化形式中,可以预定地址序列执行指令,借此将所有有效阵列条目设定为第二阵列值。接着,可将有效控制寄存器设定为第二控制值。
所属领域的技术人员基于上文所描述的实施例应明了本发明的其它实施例及变化形式,不论是经由方法还是经由硬件。那些变化形式及等效形式打算归属于本发明的范围内。
Claims (19)
1.一种由处理器执行的用于存取高速缓冲存储器的方法,其中所述高速缓冲存储器包括标签阵列、数据阵列及有效阵列,所述方法包括:
在处理器复位或启动之后,即刻将所述有效阵列中的所有有效阵列条目设定为第一阵列值;
在所有有效阵列条目被证实之前,
每当存取来自所述数据阵列的数据阵列条目时,就从所述有效阵列读取有效阵列条目,
如果所述有效阵列条目为所述第一阵列值,那么将对所述高速缓冲存储器的存取视为未命中
如果所述有效阵列条目为第二阵列值,那么将所述标签阵列中的标签阵列条目与地址中的选定位进行比较以确定所述数据阵列条目是命中还是未命中,及
在未命中的情况下,从存储器重新加载所述高速缓冲存储器,并将所述有效阵列条目设定为所述第二阵列值;
为所述高速缓冲存储器建立有效控制寄存器;
在所有有效阵列条目被证实之前,将所述有效控制寄存器设定为第一控制值;
在所有有效阵列条目被证实之后,将所述有效控制寄存器设定为第二控制值;及
在设定所述第二控制值之后,
停用对所述有效阵列的读取
将所述标签阵列条目与所述地址中的所述选定位进行比较以确定所述数据阵列条目是命中还是未命中,及
在未命中的情况下,从存储器重新加载所述高速缓冲存储器。
2.根据权利要求1所述的方法,其中所述数据阵列包括2m个条目,所述数据阵列条目中的每一者包括2b个字节,且地址的总数目为2a,其中m为整数,a为整数且b为整数。
3.根据权利要求1所述的方法,其中所述有效控制寄存器包括一个位。
4.根据权利要求1所述的方法,其中所有所述有效阵列条目包括一个位。
5.根据权利要求2所述的方法,其中将所述标签阵列条目与所述地址的位a-1到m+b进行比较。
6.根据权利要求5所述的方法,其中:
所述地址为32位地址,且
将所述标签阵列与所述地址中的位31到m+b进行比较。
7.根据权利要求1所述的方法,其中将所述标签阵列与所述地址中的上部位进行比较。
8.根据权利要求1所述的方法,其中所述重新加载包括:
从由所述地址规定的存储器位置读取2b个字节;
将所述2b个字节写入到由所述地址的位m+b-1到b规定的数据阵列条目;及
将来自所述地址的上部位a到m+b写入到对应标签阵列条目,
其中a、b及m全部为整数。
9.根据权利要求1所述的方法,其中所述高速缓冲存储器为数据高速缓冲存储器。
10.根据权利要求1所述的方法,其中所述高速缓冲存储器为指令高速缓冲存储器且所述数据阵列包括指令。
11.根据权利要求1所述的方法,其中所述高速缓冲存储器为具有N个数据阵列组的组相关联高速缓冲存储器,其中N为整数,且其中并行地存取所述N个数据阵列组中的每一者。
12.根据权利要求1所述的方法,其进一步包括:
如果在已将所述有效阵列条目设定为所述第二阵列值之后,所述数据阵列条目随后变为无效,那么
将所述有效阵列条目复位为所述第一阵列值;且
如果所述有效控制寄存器含有所述第二控制值,那么将所述有效控制寄存器复位为含有所述第一控制值。
13.根据权利要求1所述的方法,其中通过组合所有所述有效阵列条目来建立所述第二控制值。
14.根据权利要求1所述的方法,其中经由硬件来组合所述所有所述有效阵列条目。
15.根据权利要求14所述的方法,其中所述第一阵列值为0,所述第二阵列值为1,所述第一控制值为0,所述第二控制值为1,且经由“与”操作数来组合所有所述有效阵列条目。
16.根据权利要求14所述的方法,其中所述第一阵列值为1,所述第二阵列值为0,所述第一控制值为1,所述第二控制值为0,且经由“或”操作数来组合所有所述有效阵列条目。
17.根据权利要求1所述的方法,其中响应于由所述处理器执行的指令而建立所述第二控制值。
18.根据权利要求17所述的方法,其进一步包括:
执行证实强制指令,其包括
读取预定地址序列,
将所有所述有效阵列条目设定为所述第二阵列值,及
将所述有效控制寄存器设定为所述第二控制值。
19.根据权利要求17所述的方法,其进一步包括:
执行证实强制指令,其包括
以预定地址序列执行指令,借此将所有有效阵列条目设定为所述第二阵列值,及将所述有效控制寄存器设定为所述第二控制值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3618108P | 2008-03-13 | 2008-03-13 | |
US61/036,181 | 2008-03-13 | ||
PCT/US2009/036958 WO2009114691A2 (en) | 2008-03-13 | 2009-03-12 | Method for achieving power savings by disabling a valid array |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102027456A true CN102027456A (zh) | 2011-04-20 |
Family
ID=41064263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801171033A Pending CN102027456A (zh) | 2008-03-13 | 2009-03-12 | 用于通过停用有效阵列实现功率节省的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8762641B2 (zh) |
EP (1) | EP2266038A4 (zh) |
KR (1) | KR20100133964A (zh) |
CN (1) | CN102027456A (zh) |
WO (1) | WO2009114691A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109983446A (zh) * | 2016-11-29 | 2019-07-05 | 高通股份有限公司 | 多模式缓存无效 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
WO2010017263A1 (en) | 2008-08-06 | 2010-02-11 | Sandbridge Technologies, Inc. | Haltable and restartable dma engine |
DE102010054446A1 (de) | 2010-12-14 | 2012-06-14 | Giesecke & Devrient Gmbh | Portabler Datenträger mit Fehlbedienungszähler |
US10372609B2 (en) * | 2017-09-14 | 2019-08-06 | Intel Corporation | Fast cache warm-up |
CN109165172B (zh) * | 2018-08-23 | 2021-10-29 | 郑州云海信息技术有限公司 | 缓存数据处理方法及相关设备 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717895A (en) * | 1994-12-01 | 1998-02-10 | Cray Research, Inc. | Associative scalar data cache with write-through capabilities for a vector processor |
US6044441A (en) * | 1995-09-29 | 2000-03-28 | Intel Corporation | Method and apparatus for encoding valid and invalid states in a cache with an invalid pattern |
EP1111511B1 (en) * | 1999-12-06 | 2017-09-27 | Texas Instruments France | Cache with multiple fill modes |
EP1182565B1 (en) | 2000-08-21 | 2012-09-05 | Texas Instruments France | Cache and DMA with a global valid bit |
EP1182564A3 (en) | 2000-08-21 | 2004-07-28 | Texas Instruments France | Local memory with indicator bits to support concurrent DMA and CPU access |
JP2002366433A (ja) * | 2001-06-11 | 2002-12-20 | Nec Microsystems Ltd | キャッシュメモリ制御装置およびプロセッサ |
US6968445B2 (en) | 2001-12-20 | 2005-11-22 | Sandbridge Technologies, Inc. | Multithreaded processor with efficient processing for convergence device applications |
US6912623B2 (en) | 2002-06-04 | 2005-06-28 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
US6990557B2 (en) | 2002-06-04 | 2006-01-24 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with cache eviction based on thread identifier |
JP3997404B2 (ja) * | 2002-07-12 | 2007-10-24 | Necエレクトロニクス株式会社 | キャッシュメモリ及びその制御方法 |
US6842848B2 (en) | 2002-10-11 | 2005-01-11 | Sandbridge Technologies, Inc. | Method and apparatus for token triggered multithreading |
US6925643B2 (en) | 2002-10-11 | 2005-08-02 | Sandbridge Technologies, Inc. | Method and apparatus for thread-based memory access in a multithreaded processor |
US6904511B2 (en) | 2002-10-11 | 2005-06-07 | Sandbridge Technologies, Inc. | Method and apparatus for register file port reduction in a multithreaded processor |
US6971103B2 (en) | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
CN1820246A (zh) | 2003-05-09 | 2006-08-16 | 杉桥技术公司 | 执行饱和或不执行饱和地累加多操作数的处理器还原单元 |
US7428567B2 (en) | 2003-07-23 | 2008-09-23 | Sandbridge Technologies, Inc. | Arithmetic unit for addition or subtraction with preliminary saturation detection |
US7251737B2 (en) | 2003-10-31 | 2007-07-31 | Sandbridge Technologies, Inc. | Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator |
US7797363B2 (en) | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
US7475222B2 (en) | 2004-04-07 | 2009-01-06 | Sandbridge Technologies, Inc. | Multi-threaded processor having compound instruction and operation formats |
US8074051B2 (en) | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
TW200625097A (en) | 2004-11-17 | 2006-07-16 | Sandbridge Technologies Inc | Data file storing multiple date types with controlled data access |
US8046538B1 (en) * | 2005-08-04 | 2011-10-25 | Oracle America, Inc. | Method and mechanism for cache compaction and bandwidth reduction |
EP2069947A4 (en) | 2006-09-26 | 2013-10-09 | Qualcomm Inc | APPLICATION OF MATRIX INVERSION SOFTWARE IN A WIRELESS COMMUNICATION SYSTEM |
US9110726B2 (en) | 2006-11-10 | 2015-08-18 | Qualcomm Incorporated | Method and system for parallelization of pipelined computations |
WO2009029289A1 (en) | 2007-08-31 | 2009-03-05 | Sandbridge Technologies, Inc. | Method, apparatus, and architecture for automated interaction between subscribers and entities |
EP2602710A1 (en) | 2007-11-05 | 2013-06-12 | Aspen Acquisition Corporation | Method of encoding register instruction fields |
EP2250539A1 (en) | 2008-01-30 | 2010-11-17 | Sandbridge Technologies, Inc. | Method for enabling multi-processor synchronization |
KR20100126690A (ko) | 2008-02-18 | 2010-12-02 | 샌드브리지 테크놀로지스, 인코포레이티드 | 널-종료 문자열 동작을 가속화하는 방법 |
-
2009
- 2009-03-12 EP EP09720931A patent/EP2266038A4/en not_active Withdrawn
- 2009-03-12 CN CN2009801171033A patent/CN102027456A/zh active Pending
- 2009-03-12 US US12/403,021 patent/US8762641B2/en active Active
- 2009-03-12 KR KR1020107019041A patent/KR20100133964A/ko not_active Withdrawn
- 2009-03-12 WO PCT/US2009/036958 patent/WO2009114691A2/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109983446A (zh) * | 2016-11-29 | 2019-07-05 | 高通股份有限公司 | 多模式缓存无效 |
Also Published As
Publication number | Publication date |
---|---|
US8762641B2 (en) | 2014-06-24 |
WO2009114691A3 (en) | 2009-12-30 |
EP2266038A4 (en) | 2011-09-21 |
EP2266038A2 (en) | 2010-12-29 |
KR20100133964A (ko) | 2010-12-22 |
WO2009114691A2 (en) | 2009-09-17 |
US20090235032A1 (en) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6219760B1 (en) | Cache including a prefetch way for storing cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line | |
CN102027456A (zh) | 用于通过停用有效阵列实现功率节省的方法 | |
US20050086435A1 (en) | Cache memory controlling apparatus, information processing apparatus and method for control of cache memory | |
TWI431472B (zh) | 微處理器之可組態快取 | |
JP5039889B2 (ja) | 改良されたdmac変換メカニズムのためのシステム及び方法 | |
US7966457B2 (en) | Configurable cache for a microprocessor | |
EP1974255B1 (en) | Translation lookaside buffer manipulation | |
CN101558391B (zh) | 用于微处理器的可配置高速缓冲存储器 | |
US20120331213A1 (en) | Technique and apparatus for identifying cache segments for caching data to be written to main memory | |
TWI442227B (zh) | 微處理器之可組態快取 | |
CN104834483B (zh) | 一种提升嵌入式mcu性能的实现方法 | |
JP5159258B2 (ja) | 演算処理装置 | |
JP2002196981A (ja) | データ処理装置 | |
CN111338987A (zh) | 快速无效组相联tlb的方法 | |
JPH06266623A (ja) | キャッシュメモリ及びキャッシュメモリ制御方法 | |
KR100505633B1 (ko) | 캐시 메모리의 데이터 독출 장치 및 방법 | |
EP1805624B1 (en) | Apparatus and method for providing information to a cache module using fetch bursts | |
JP2009252004A (ja) | キャッシュシステム | |
JP2003216481A (ja) | レディ信号制御を有するcpuメモリシステムに対する回路装置および該回路装置を有するデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20110420 |