CN1853171A - 高速缓冲存储器和高速缓冲存储器控制方法 - Google Patents

高速缓冲存储器和高速缓冲存储器控制方法 Download PDF

Info

Publication number
CN1853171A
CN1853171A CNA2004800270749A CN200480027074A CN1853171A CN 1853171 A CN1853171 A CN 1853171A CN A2004800270749 A CNA2004800270749 A CN A2004800270749A CN 200480027074 A CN200480027074 A CN 200480027074A CN 1853171 A CN1853171 A CN 1853171A
Authority
CN
China
Prior art keywords
speed buffering
visit
project
expression
cache memory
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
CNA2004800270749A
Other languages
English (en)
Other versions
CN100429632C (zh
Inventor
田中哲也
中西龙太
清原督三
森下广之
近村启史
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1853171A publication Critical patent/CN1853171A/zh
Application granted granted Critical
Publication of CN100429632C publication Critical patent/CN100429632C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/124Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being minimized, e.g. non MRU

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

本发明的高速缓冲存储器,具有:通路(0)~通路(3),对每个高速缓冲项目存储表示有无访问的使用标志U;以及控制部,在命中时,将与该高速缓冲项目相对应的使用标志U更新为有访问,此时组内的其他全部的使用标志表示有访问的情况下,将组内的其他全部的使用标志复位为无访问,从与表示无访问的使用标志U相对应的高速缓冲项目中选择置换对象的高速缓冲项目。

Description

高速缓冲存储器和高速缓冲存储器控制方法
技术领域
本发明涉及用于使处理器的存储器访问高速化的高速缓冲存储器及其控制方法。
背景技术
作为现有的用于置换高速缓冲存储器的项目(entry)的算法,已知有LRU(Least Recently Used,最近最少使用)方式和FIFO(First In First Out即,先入先出)方式。
LRU方式是将高速缓冲项目中的、访问顺序最早的项目决定为置换对象的方法。该LRU方式是,例如在日本专利特开2000-47942号公报等中公开的高速缓冲存储器中也采用的最一般的置换算法。
但是,用LRU方式的算法进行置换时,需要对各项目的表示访问顺序的数据的存储部、和更新它的复杂电路等,因此,存在硬件规模变大的问题。
例如,在全关联(full associative)式的高速缓冲存储器具有(2的k次方)个项目的情况下,作为表示访问顺序的数据,每个项目需要k位。
此外,在N路集联的情况下,若通路(way)数N=8,则作为表示防问顺序的信息,需要(通路数=8)×(最低3位)×(组数),存在存储访问顺序数据的存储部(寄存器或RAM)和更新访问顺序数据的电路规模很大的问题。
发明内容
本发明的目的在于提供一种高速缓冲存储器,用更少的硬件规模实现能够得到与LRU方式同等的命中率的置换控制。
为了达到上述目的,本发明的高速缓冲存储器,具有:存储单元,对保持成为高速缓冲的单位的数据的每个高速缓冲项目,存储表示有无访问的1位的访问信息;以及,选择单元,从与表示无访问的访问信息相对应的高速缓冲项目中,选择置换对象的高速缓冲项目。
上述选择装置也可以具有这样的结构,即从与表示无访问的访问信息相对应的高速缓冲项目中,随机或循环式地选择1个高速缓冲项目。
根据该结构,由于不对每个高速缓冲项目存储现有的LRU方式中的表示访问顺序的数据,而是存储单元对每个高速缓冲项目存储着能用1位表现的访问信息,因此,能够削减它的存储容量,能够削减硬件规模。此外,选择单元通过选择与表示无访问的访问信息相对应的高速缓冲项目的1个,来简单地决定置换对象,并且,与现有的LRU相比,也能够得到大致相同的命中率。
在此,上述高速缓冲存储器也可以是还具有更新单元的结构,该更新单元在命中了高速缓冲项目时,将与该高速缓冲项目相对应的访问信息更新为有访问,在此时与其他全部的高速缓冲项目相对应的访问信息表示有访问的情况下,将与其他全部的高速缓冲项目相对应的访问信息复位为无访问。
这样,由于能够将现有的更新访问顺序数据的复杂电路置换为更新访问信息的简单的标志更新电路,因此,能够进一步较大地降低硬件规模。
在此,上述更新单元还可以进一步构成为,在上述复位时,将与上述命中的高速缓冲项目相对应的访问信息复位为无访问。
在此,也可以是,上述存储单元还对每个高速缓冲项目存储表示是否是在高速缓冲项目中刚存储了数据后的新状态的新信息;上述更新单元还在命中了高速缓冲项目时,将与该高速缓冲项目相对应的新信息复位成表示不是新状态;上述选择单元从与表示无访问的访问信息相对应、且与表示不是新状态的新信息相对应的高速缓冲项目中,选择置换对象的高速缓冲项目。
在此,也可以是这样结构,在不存在与表示无访问的访问信息相对应、且与表示不是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
在此,也可以是这样结构。在仅存在与表示有访问的访问信息相对应、或者与表示是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
根据该结构,能够防止置换后一次也没访问过的新状态的高速缓冲项目被置换。
此外,本发明的高速缓冲存储器的控制方法是具有对每个高速缓冲存储器的高速缓冲项目存储表示有无访问的访问信息的存储部的高速缓冲存储器的控制方法,其包括:检测步骤,检测出高速缓冲命中和失败;第一更新步骤,将与检测到已命中的高速缓冲项目相对应的访问信息更新为有访问;判定步骤,判定与除了被检测到已命中的高速缓冲项目以外的其他全部的高速缓冲项目相对应的访问信息是否表示有访问;第二更新步骤,在判定步骤的判定结果是肯定的情况下,将与其他全部的高速缓冲项目相对应的访问信息更新为表示无访问;选择步骤,在检测到已失败时,从与表示无访问的访问信息相对应的高速缓冲项目中选择置换对象的高速缓冲项目。
如上所述,根据本发明的高速缓冲存储器,能够削减硬件规模,并且实现与现有的LRU方式相当的命中率。
附图说明
图1是表示本发明的第一实施方式中的包括处理器、高速缓冲存储器和存储器的概略结构的方框图。
图2是表示高速缓冲存储器结构的方框图。
图3是表示高速缓冲项目的位结构的说明图。
图4是表示控制部结构的方框图。
图5是表示标志的更新例的说明图。
图6是表示标志更新处理流程的图。
图7是表示示出标志管理部的输入输出逻辑的真值表的图。
图8是表示标志管理部的电路例的图。
图9是表示置换处理流程的图。
图10是表示变形例中的标志的更新例的说明图。
图11是表示变形例中的标志更新处理流程的图。
图12A是表示变形例中的选择处理的其他例的图。
图12B是表示变形例中的选择处理的其他例的图。
图13是表示本发明的第二实施方式中的高速缓冲存储器结构的方框图。
图14是表示高速缓冲项目的位结构的说明图。
图15是表示控制部结构的方框图。
图16是表示置换处理流程的图。
图17是表示标志更新处理流程的图。
具体实施方式
(第一实施方式)
<整体结构>
图1是表示本发明的第一实施方式中的包括处理器1、高速缓冲存储器3和存储器2的系统概略结构的方框图。如该图所示,本发明的高速缓冲存储器3设置在具有处理器1和存储器2的系统中,作为置换算法,使用简化了LRU方式的近似模拟的LRU方式。在本实施方式中,作为模拟的LRU方式,采用了对每个高速缓冲项目,仅用1位表现表示高速缓冲项目的访问顺序的数据,从该位是0的高速缓冲项目中选择1个置换(replace)对象项目的方式。
<高速缓冲存储器的结构>
以下,作为高速缓冲存储器3的具体例,说明在4路集联方式的高速缓冲存储器中适用了上述模拟LRU时的结构。
图2是表示高速缓冲存储器3的结构例的方框图。如该图所示,高速缓冲存储器3具有地址寄存器20、解码器30、4个通路31a~31d(以下简称通路0~3)、4个比较器32a~32d、4个“与”电路33a~33d、“或”电路34、选择器35、选择器36、分路器37和控制部38。
地址寄存器20是保持对存储器2的访问地址的寄存器。该访问地址是32位。如该图所示,按照从最高位的位开始的顺序,访问地址包括21位的标签地址、4位的组索引(图中的SI)、5位的字索引(图中的WI)。在此,标签地址指的是映射到通路上的存储器中的区域(其大小为组数×块)。该区域的大小可以是由比标签地址低位的地址位(A10~A0)决定的大小即2k字节,也是1个通路的大小。组索引(SI)指的是跨越通路0~3的多个组之一。由于组索引是4位,因此该组数是16组。用标签地址和组索引确定的块是置换单位,在存储于高速缓冲存储器中的情况下,被称作线数据或线。线数据的大小是由比组索引低位的地址位决定的大小即128字节。若设1字为4字节,则1线数据是32字。字索引(WI)指的是构成线数据的多个字中的1个字。在字访问时,忽视地址寄存器20中的最低的2位(A1、A0)。
解码器30解码组索引的4位,选择跨越4个通路0~3的16组中的1个。
4个通路0~3是具有相同结构的4个通路,具有4×2k字节的容量。通路0具有16个高速缓冲项目。
图3中表示1个高速缓冲项目中的详细位结构。如该图所示,1个高速缓冲项目保持有效标志V、21位的标签、128字节的线数据、使用标志U和无效标志D。有效标志V表示该高速缓冲项目是否有效。标签是21位的标签地址的复制。线数据是由标签地址和组索引确定的块中的128字节数据的复制。无效标志表示该高速缓冲项目中是否有写入,即,表示通过写入,在高速缓冲项目中高速缓冲的数据与存储器中的数据不同,因此是否需要写回到存储器中。使用标志U表示该高速缓冲项目中是否有访问,用于在因未命中而置换时,取代组内的4个高速缓冲项目中的访问顺序。更准确地说,使用标志U的1意味着有访问,0意味着没有访问。组内的4个使用标志若全部变为1,就被复位为0,因此,是表示组内的4个高速缓冲项目中有无使用的相对的值。换言之,使用标志U表示进行访问的时期是早还是后的2个相对状态。即,使用标志是1的高速缓冲项目意味着比使用标志为0的高速缓冲项目后进行了访问。
关于通路1~3,与通路0同样。根据组索引的4位并通过解码器30选择的跨越4通路的4个高速缓冲项目,被称作组。
比较器32a比较地址寄存器20中的标签地址和包含在由组索引选择的组中的4个标签中的通路0的标签是否一致。关于比较器32b~32c,除了与通路31b~31d相对应以外,其它相同。
“与”电路33a比较有效标志与比较器32a的比较结果是否一致。设该比较结果为h0。在比较结果h0是1的情况下,意味着存在与地址寄存器20中的标签地址和组索引相对应的线数据,即,命中了通路0。在比较结果h0是0的情况下,意味着未命中。关于“与”电路33b~33d,除了与通路31b~31d相对应以外,其它也相同。其比较结果h1~h3意味着在通路1~3中是命中了还是未命中。
“或”电路34取比较结果h0~h3的或。设该或的结果为hit。hit表示是否命中了高速缓冲存储器。
选择器35选择被选择的组中的通路0~3的线数据中的、命中的通路的线数据。
选择器36选择由选择器35选择的32字的线数据中的、在字索引中表示的1字。
分路器37在向高速缓冲项目中写入数据时,向通路0~3中的一个输出写入数据。该写入数据可以是字单位。
控制部38进行高速缓冲存储器3整体的控制。特别是进行使用标志U的更新和应该置换的高速缓冲项目的决定等。
<控制部的结构>
图4是表示控制部38结构的方框图。如该图所示,控制部38具有标志更新部39和置换部40。
标志更新部39进行有效标志V、使用标志U和无效标志D的更新。关于其中的有效标志V、无效标志D的更新,是周知的。标志更新部39在高速缓冲命中时进行使用标志的更新处理。
图5中表示标志更新部39进行的使用标志的更新例。该图的上段、中段、下段表示了构成跨越通路0~3的组N的4个高速缓冲项目。4个高速缓冲项目右端的1或0分别是使用标志的值。将这4个使用标志U记作U0~U3。
在该图上段中,由于(U0~U3)=(1、0、1、0),因此,意味着通路0、2的高速缓冲项目有访问,通路1、3的高速缓冲项目没有访问。
在该状态下,在存储器访问命中了组N内的通路1的高速缓冲项目的情况下,如该图中段所示,更新为(U0~U3)=(1、1、1、0)。即,如实线所示,通路1的使用标志U1被从0更新为1。
另外,在该图中段的状态下,在存储器访问命中了组N内的通路3的高速缓冲项目的情况下,如该图下段所示,更新为(U0~U3)=(0、0、0、1)。即,如实线所示,通路3的使用标志U1被从0更新为1。再者,如虚线所示,除了通路3以外的使用标志U0~U2被从1更新为0。这样,就意味着通路3的高速缓冲项目比通路0~2的各高速缓冲项目后被访问。
置换部40在高速缓冲失败时,基于使用标志,决定置换对象的高速缓冲项目并进行置换。例如,置换部40在图5上段中,决定通路1和通路3的某一个为置换对象,在图5中段中,决定通路3为置换对象,在图5下段中,决定通路0~通路2的某一个为置换对象。
<标志更新处理>
图6是表示标志更新部39中的标志更新处理的流程图。在该图中,假设将有效标志为0(无效)的高速缓冲项目的使用标志U被初始化为0。
在该图中,标志更新部39在高速缓冲命中时(步骤S61),将由组索引选择的组中的命中的通路的使用标志U置为1(步骤S62),读取该组内的其他通路的使用标志U(步骤S63),判定所读取的使用标志U是否全部是1(步骤S64),若不全部是1,就结束,若全部是1,就将其他通路的全部的使用标志U复位为0(步骤S65)。
这样,标志更新部39就能够如图5中表示的更新例那样地更新使用标志。
由于实际的标志更新部39由硬件构成,因此,以下说明硬件结构例。
图7是表示标志更新部39的输入输出逻辑的真值表的图。该图的输入栏中的h0~h3是图2中表示的通路0~通路3的命中信号。U0_in~U3_in表示从由组索引选择的组中读出的、通路0~通路3的使用标志的值(更新前的值)。该图的输出栏中的U0_out~U3_out表示写回到组索引中的使用标志的值(更新后的值)。此外,图中的记号“○”表示命中的通路的使用标志(输入和输出),记号“□”表示与其他通路的使用标志(输入)全部是1的情况相对应的输出值。图中的*a~*d意味着分别满足下面的式1~式4。在此,&表示逻辑积。
(U1_in)&(U2_in)&(U3_in)=0    (式1)
(U0_in)&(U2_in)&(U3_in)=0    (式2)
(U0_in)&(U1_in)&(U3_in)=0    (式3)
(U0_in)&(U1_in)&(U2_in)=0    (式4)
在该图中,No.1~No.4的行表示通路0命中了的情况(h0=1)。该情况下,命中的通路0的使用标志U0_in的值不论是0或是1,使用标志U0_out都为1。此外,在*a的情况下不更新其他通路的使用标志U1_out~U2_out,但在如标记“□”所示地输入时全部是1的情况下,全部被更新为0。关于No.5~8、No.9~12、No.13~16,除了命中的通路是1、2、3这点以外,其它也相同。
<电路例>
图8是表示具有图7的输入输出逻辑的标志更新部39的具体电路例的图。该图的标志更新部39具有“与”电路80~83、“与”电路84~87、“或”电路88、“或”电路89~92、选择器93~96。
“与”电路80~83输出从由组索引选择的组读取的、通路0~通路3的使用标志U0_in~U3_in中的有效标志V是1(有效)的高速缓冲项目的使用标志U0_in~U3_in的值。
“与”电路84~87和“或”电路88检测“与”电路80~83的输出不满足图7中表示的*a~*d的情况,即该图中的输入栏的标记“□”的情况。即,检测命中的通路以外的其他通路的使用标志U_in全部是1的情况。
“或”电路89~92分别取得命中信号h0~h3与使用标志U0_in~U3_in的或。
选择器93~96在检测到了上述标记“□”时,选择1侧(上侧)输入,在没检测到上述标记“□”时,选择0侧(下侧)输入,将选择结果作为U0_out~U1_out进行输出。具体地说,在检测出上述标记“□”的情况时,向选择器93~96的1侧(上侧)输入了h0~h3,故命中的通路的使用标志U_out变为1,其他通路的使用标志变为0。在没检测到上述标记“□”的情况时,分别向选择器93~96的0侧输入了h信号和使用标志U_in的或,故命中的通路的使用标志U_out变为1,其他通路的使用标志不变。
利用这样的电路,就能够将图7的真值表硬件化。由于不需要表示各个通路的访问顺序,仅对各通路更新1位的使用标志,因此,能够削减硬件规模。
<置换处理>
图9是表示置换部40中的置换处理的流程图。在该图中,置换部40在存储器访问失败时(步骤S91),读取由组索引选择的组中的、4个通路的使用标志U(步骤S92),选择1个使用标志U是0的通路(步骤S93)。这时,在存在多个使用标志U变为0的通路的情况下,置换部40随机地选择1个。另外,置换部40以该组中的被选择的通路的高速缓冲项目为对象进行置换(步骤S94),置换后,将该高速缓冲项目的使用标志U初始化为1(步骤S95)。再有,这时,有效标志V和无效标志D分别被初始化为1、0。
再有,图9中以4个有效标志V全部是1(有效)为前提,但在存在V=0(无效)的高速缓冲项目的情况下,就选择该高速缓冲项目。
这样,通过选择一个使用标志是0的高速缓冲项目来决定置换对象。由于该置换算法取代现有的LRU方式中的表示访问顺序的数据,而使用1位的使用标志,因此,可以称之为模拟的LRU方式。
如以上说明,根据本实施方式中的高速缓冲存储器,取代现有的LRU方式中的对每个高速缓冲项目设置一个表示访问顺序的数据,而对每个高速缓冲项目设置了一个1位的使用标志。这样,就能够将现有的更新访问顺序数据的复杂电路,置换为更新使用标志的简单的标志更新电路(标志更新部39)。此外,在置换部40中,通过选择1个使用标志是0的高速缓冲项目,就能够简单地决定置换对象。这样,根据本实施方式中的高速缓冲存储器,能够很大地降低硬件规模。并且,与现有的LRU相比,能够得到大致同等的命中率。
<变形例>
再有,本发明的高速缓冲存储器不限于上述的实施方式的结构,可以进行各种各样的变形。以下,说明几种变形例。
(1)如图5的下段所示,若组内的其他通路的使用标志U0~U3全部是1,标志更新部39就将其更新为0,将命中的通路自身的使用标志更新为1,但也可以替代该结构,使用将命中的通路自身的使用标志更新为0的结构。图10中表示该情况下的标志的更新例。图10与图5相比的不同点在于,下段的通路3不是1,而是变为0。
图11是表示该变形例中的标志更新处理的流程图。该图与图6相比的不同点在于,取代步骤S65,具有步骤S65a。相同点省略说明,仅说明不同点。在步骤S65a中,标志更新部39将组内的全部使用标志U0~U3复位为0。
这样,根据图11的标志更新处理,在组内的全部使用标志U0~U3将要变为1时,复位为0。利用图11,也能够得到与图5同样的命中率。
(2)在图9中表示的步骤S93中,在组内存在多个使用标志为0的高速缓冲项目的情况下,置换部40随机选择1个,但也可以取代该结构,而是规则地进行选择。例如,也可以在该情况下,置换部40选择通路的序号小的一方(大的一方),或者循环式地选择。
图12A中表示循环式选择的处理。在该图中,在组内存在多个使用标志为0的高速缓冲项目的情况下,置换部40判别上一次置换的通路的序号(步骤S121),选择使用标志为0的高速缓冲项目中的、比已判别的序号大的序号的通路的高速缓冲项目(步骤S122)。在此,例如,设置在高速缓冲存储器全体中保持置换后的通路序号的寄存器,通过参照该寄存器来判别上次置换的序号。该寄存器中,也可以不保持通路的序号,而是用位的位置表示已置换的通路。图12B中表示该情况的寄存器的一例。在该图中,表示了寄存器中的4位的字段进行转变的情况。该4位的位的位置与通路0~通路3相对应。4位中的“1”位表示上次置换的通路。在步骤S122中,置换部40从组内的使用标志为0的高速缓冲项目中,判别向“1”位的右面旋转的方向的最近的位,选择与该位的位置相对应的通路的高速缓冲项目。在该图的例子中,按照通路0、1、3、0、2的顺序选择高速缓冲项目。
再有,在图12B中,表示了全部组共用的寄存器,但也可以对每个组分别地设置寄存器。
(3)在上述实施方式中,以4路集联的高速缓冲存储器为例进行了说明,但通路数也可以是8路或者16路。此外,在上述实施方式中,说明了组数是16的例子,但组数也可以任意个。
(4)在上述实施方式中,以集联的高速缓冲存储器为例进行了说明,但也可以是全相联方式的高速缓冲存储器。
(5)使用标志U也可以不是1位,而是2位。例如,即使在2位的情况下,也不需要完全表示各个高速缓冲项目的访问顺序,可以至少相对地判别早或后的2种状态,也可以任意地定义能够用2位表现的第三个状态和第四个状态。
(6)在图9中表示的步骤S95中,将刚置换后的使用标志U初始化为1,但也可以初始化为0。但是,在将使用标志的初始值设定为0的情况下,有可能由于置换后发生的高速缓冲失败而再次进行置换。根据该点,认为将初始值设定为1最好。
(第二实施方式)
图13是表示本发明的第二实施方式中的高速缓冲存储器的结构的方框图。该图的高速缓冲存储器与图2的结构相比,其不同点在于,取代通路31a~31d,具有通路131a~131d,取代控制部38,具有控制部138。以下,相同点省略说明,以不同点为中心进行说明。
通路131a与通路31a相比的不同点在于,在各高速缓冲项目中附加了新标志。
图14中表示通路131a内的1个高速缓冲项目的位结构。如该图所示,不同点仅在于附加了新标志N。新标志N在刚置换之后(或者刚填充之后),作为初始值设定1,在有对该高速缓冲项目的访问时,复位为0。即,新标志N的1意味着从置换(或填充)了该高速缓冲项目后一次也没访问的新状态。
控制部138如图15所示,控制部138具有标志更新部139和置换部140,与控制部38相比,其不同点在于新标志N的设定和更新、以及置换时将新标志为1的高速缓冲项目排除在置换对象之外。
<置换处理>
图16是表示置换部140中的置换处理的流程图。该图与图9相比的不同点在于,取代步骤S92,具有步骤S92a,在步骤92a与93之间附加了步骤S161和S162,取代步骤S95而具有步骤S95a。
在步骤S92a中,置换部140在由组索引选择的组中的、4个通路的使用标志U0~U3以外,还读取4个新标志(设为N0~N3)。
另外,置换部140判定读取的4个新标志N0~N3是否全部是1(步骤S161),在全部是1的情况下,前进到步骤S93,在不全是1(有0)的情况下,排除使用标志U为0的通路中的、新标志N为1的通路(步骤S162)。
另外,在步骤S93中,置换部140从使用标志是0并且新标志是0的通路中选择1个置换对象。但是,在4个新标志全部是1的情况下,从使用标志U是0的通路中选择1个置换对象,在4个使用标志U全部是1的情况下,忽视新标志N,从使用标志U为1的通路中选择1个置换对象,在不存在使用标志U=0并且新标志N=0的通路的情况下,忽视新标志N,从使用标志U=0的通路中选择1个置换对象。
此外,在步骤S95a中,置换部140在其他标志的初始化的同时,将新标志N初始化为1。
<标志更新处理>
图17是表示标志更新部139中的标志更新处理的流程图。该图与图6相比的不同点在于,在步骤S62与S63之间追加了步骤S171。
在步骤S171中,标志更新部139将被选择的组内的命中的通路的高速缓冲项目的新标志从1复位为0。这样,一度被访问过的高速缓冲项目的新标志N就被复位为0。
如以上说明地,本实施方式中的置换部140在新标志为1的情况下,将该高速缓冲项目从置换对象除外。其理由如下。即,使用标志U初始值是1,但若其他通路的使用标志依次变为1,就将使用标志U复位为0。即,即使是使用标志U为0的高速缓冲项目,也有一次也没被访问的情况。在这样地使用标志变为0的情况下,置换后一次也没被访问的高速缓冲项目有可能因为高速缓冲失败的发生而再次被选择为置换对象。因此,通过设置新标志N,能够防止在置换后一次也没被访问的高速缓冲项目又被置换了。
<变形例>
(1)也可以将第一实施方式中的变形例(1)~(5)适用于本实施方式。
(2)在图16中表示的步骤S95a中,将置换之后的使用标志U初始化为1,但也可以初始化为0。由于与第一实施方式不同,在本实施方式中设置了新标志N,因此,即使在使用标志的初始值是1或是0的情况下,也能够防止因置换后发生的高速缓冲失败而一次也没访问过就再次被置换了。
(3)上述各实施方式中的高速缓冲存储器也可以与处理器共同适用于内装在芯片中的单片高速缓冲存储器、芯片外高速缓冲存储器、命令高速缓冲存储器和数据高速缓冲存储器的任一种。
工业上的可利用性
本发明适于用于高速化存储器访问的高速缓冲存储器及其控制方法,例如,适于单片高速缓冲存储器、芯片外高速缓冲存储器、命令高速缓冲存储器和数据高速缓冲存储器等。
权利要求书
(按照条约第19条的修改)
1、一种高速缓冲存储器,其特征在于,具有:
存储单元,对保持成为高速缓冲的单位的数据的每个高速缓冲项目,存储表示有无访问的1位的访问信息;以及,
选择单元,从与表示无访问的访问信息相对应的高速缓冲项目中,选择置换对象的高速缓冲项目。
2、如权利要求1所述的高速缓冲存储器,其特征在于,
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,随机地选择1个高速缓冲项目。
3、如权利要求1所述的高速缓冲存储器,其特征在于,
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,循环式地选择1个高速缓冲项目。
4、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器还具有更新单元,该更新单元在命中了高速缓冲项目时,将与该高速缓冲项目相对应的访问信息更新为有访问,在此时与其他全部的高速缓冲项目相对应的访问信息表示有访问的情况下,将与其他全部的高速缓冲项目相对应的访问信息复位为无访问。
5、如权利要求4所述的高速缓冲存储器,其特征在于,
上述更新单元还在上述复位时,将与上述命中的高速缓冲项目相对应的访问信息复位为无访问。
6、如权利要求5所述的高速缓冲存储器,其特征在于,
上述存储单元还对每个高速缓冲项目存储表示是否是从存储器向高速缓冲项目中刚存储了数据后的新状态的新信息;
上述更新单元还在命中了高速缓冲项目时,将与该高速缓冲项目相对应的新信息复位成表示不是新状态;
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,优先与表示不是新状态的新信息相对应的高速缓冲项目,来选择置换对象的高速缓冲项目。
7、如权利要求6所述的高速缓冲存储器,其特征在于,
在不存在与表示无访问的访问信息相对应、且与表示不是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
8、如权利要求6所述的高速缓冲存储器,其特征在于,
在仅存在与表示有访问的访问信息相对应、或者与表示是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
9、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器是集联方式,
其还具有更新单元,该更新单元在命中了高速缓冲项目时,将与该高速缓冲项目相对应的访问信息更新为有访问,此时与该高速缓冲项目同一组内的其他全部的高速缓冲项目相对应的访问信息表示有访问的情况下,将与上述同一组内的其他全部的高速缓冲项目相对应的访问信息复位为无访问。
10、如权利要求9所述的高速缓冲存储器,其特征在于,
上述更新单元还在上述复位时,将与上述命中高速缓存的高速缓冲项目相对应的访问信息复位为无访问。
11、(修正后)如权利要求10所述的高速缓冲存储器,其特征在于,
上述存储单元还对每个高速缓冲项目存储表示是否是在高速缓冲项目中刚存储了数据后的新状态的新信息;
上述更新单元还在命中了高速缓冲项目时,将与该高速缓冲项目相对应的新信息复位成表示不是新状态;
上述选择单元从与表示无访问的访问信息相对应、且与表示不是新状态的新信息相对应的上述同一组内的高速缓冲项目中,选择置换对象的高速缓冲项目。
12、如权利要求11所述的高速缓冲存储器,其特征在于,
在不存在与表示无访问的访问信息相对应、且与表示不是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
13、如权利要求11所述的高速缓冲存储器,其特征在于,
在仅存在与表示有访问的访问信息相对应、或者与表示是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
14、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器还具有:
检测出命中了高速缓冲项目的单元;
第一更新单元,将与检测到已命中的高速缓冲项目相对应的访问信息更新为有访问;
判定单元,判定与除了被检测到已命中的高速缓冲项目以外的其他全部的高速缓冲项目相对应的访问信息是否表示有访问;
第二更新单元,在判定单元的判定结果是肯定的情况下,将与其他全部的高速缓冲项目相对应的访问信息更新成表示无访问。
15、如权利要求14所述的高速缓冲存储器,其特征在于,
上述存储单元还对每个高速缓冲项目存储表示是否是从存储器向高速缓冲项目中刚存储了数据后的新状态的新信息;
上述第一更新单元还将与检测到已命中的高速缓冲项目相对应的新信息复位成表示不是新状态;
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,优先与表示不是新状态的新信息相对应的高速缓冲项目,来选择置换对象的高速缓冲项目。
16、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器是集联方式,其还具有:
检测出命中了高速缓冲项目的单元;
第一更新单元,将与检测到已命中的高速缓冲项目相对应的访问信息更新为有访问;
判定单元,判定与被检测到已命中的高速缓冲项目同一组内的其他全部的高速缓冲项目相对应的访问信息是否表示有访问;
第二更新单元,在判定单元的判定结果是肯定的情况下,将与其他全部的高速缓冲项目相对应的访问信息更新成表示无访问。
17、如权利要求16所述的高速缓冲存储器,其特征在于,
上述存储装置还对每个高速缓冲项目存储表示是否是在高速缓冲项目中刚存储了数据后的新状态的新信息;
上述第一更新单元还将与检测到已命中的高速缓冲项目相对应的新信息复位为表示不是新状态;
上述选择单元在上述同一组内从与表示无访问的访问信息相对应的高速缓冲项目中,优先与表示不是新状态的新信息相对应的高速缓冲项目,而选择置换对象的高速缓冲项目。
18、一种高速缓冲存储器的控制方法,该高速缓冲存储器具有对每个高速缓冲存储器的高速缓冲项目存储表示有无访问的访问信息的存储部,其特征在于,该控制方法包括:
检测步骤,检测出高速缓冲命中和失败;
第一更新步骤,将与检测到已命中的高速缓冲项目相对应的1位的访问信息更新为有访问;
判定步骤,判定与除了被检测到已命中的高速缓冲项目以外的其他全部的高速缓冲项目相对应的访问信息是否表示有访问;
第二更新步骤,在判定步骤的判定结果是肯定的情况下,将与其他全部的高速缓冲项目相对应的访问信息更新为表示无访问;
选择步骤,在检测到已失败时,从与表示无访问的访问信息相对应的高速缓冲项目中选择置换对象的高速缓冲项目。

Claims (18)

1、一种高速缓冲存储器,其特征在于,具有:
存储单元,对保持成为高速缓冲的单位的数据的每个高速缓冲项目,存储表示有无访问的1位的访问信息;以及,
选择单元,从与表示无访问的访问信息相对应的高速缓冲项目中,选择置换对象的高速缓冲项目。
2、如权利要求1所述的高速缓冲存储器,其特征在于,
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,随机地选择1个高速缓冲项目。
3、如权利要求1所述的高速缓冲存储器,其特征在于,
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,循环式地选择1个高速缓冲项目。
4、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器还具有更新单元,该更新单元在命中了高速缓冲项目时,将与该高速缓冲项目相对应的访问信息更新为有访问,在此时与其他全部的高速缓冲项目相对应的访问信息表示有访问的情况下,将与其他全部的高速缓冲项目相对应的访问信息复位为无访问。
5、如权利要求4所述的高速缓冲存储器,其特征在于,
上述更新单元还在上述复位时,将与上述命中的高速缓冲项目相对应的访问信息复位为无访问。
6、如权利要求5所述的高速缓冲存储器,其特征在于,
上述存储单元还对每个高速缓冲项目存储表示是否是从存储器向高速缓冲项目中刚存储了数据后的新状态的新信息;
上述更新单元还在命中了高速缓冲项目时,将与该高速缓冲项目相对应的新信息复位成表示不是新状态;
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,优先与表示不是新状态的新信息相对应的高速缓冲项目,来选择置换对象的高速缓冲项目。
7、如权利要求6所述的高速缓冲存储器,其特征在于,
在不存在与表示无访问的访问信息相对应、且与表示不是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
8、如权利要求6所述的高速缓冲存储器,其特征在于,
在仅存在与表示有访问的访问信息相对应、或者与表示是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
9、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器是集联方式,
其还具有更新单元,该更新单元在命中了高速缓冲项目时,将与该高速缓冲项目相对应的访问信息更新为有访问,此时与该高速缓冲项目同一组内的其他全部的高速缓冲项目相对应的访问信息表示有访问的情况下,将与上述同一组内的其他全部的高速缓冲项目相对应的访问信息复位为无访问。
10、如权利要求9所述的高速缓冲存储器,其特征在于,
上述更新单元还在上述复位时,将与上述命中高速缓存的高速缓冲项目相对应的访问信息复位为无访问。
11、如权利要求10所述的高速缓冲存储器,其特征在于,
上述存储单元还对每个高速缓冲项目存储表示是否是在高速缓冲项目中刚存储了数据后的新状态的新信息;
上述更新单元还在命中了高速缓冲项目时,将与该高速缓冲项目相对应的新信息复位成表示不是新状态;
上述选择单元从与表示无访问的访问信息相对应、且与表示新状态的新信息相对应的上述同一组内的高速缓冲项目中,选择置换对象的高速缓冲项目。
12、如权利要求11所述的高速缓冲存储器,其特征在于,
在不存在与表示无访问的访问信息相对应、且与表示不是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
13、如权利要求11所述的高速缓冲存储器,其特征在于,
在仅存在与表示有访问的访问信息相对应、或者与表示是新状态的新信息相对应的高速缓冲项目的情况下,上述选择单元无视新信息,而选择置换对象的高速缓冲项目。
14、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器还具有:
检测出命中了高速缓冲项目的单元;
第一更新单元,将与检测到已命中的高速缓冲项目相对应的访问信息更新为有访问;
判定单元,判定与除了被检测到已命中的高速缓冲项目以外的其他全部的高速缓冲项目相对应的访问信息是否表示有访问;
第二更新单元,在判定单元的判定结果是肯定的情况下,将与其他全部的高速缓冲项目相对应的访问信息更新成表示无访问。
15、如权利要求14所述的高速缓冲存储器,其特征在于,
上述存储单元还对每个高速缓冲项目存储表示是否是从存储器向高速缓冲项目中刚存储了数据后的新状态的新信息;
上述第一更新单元还将与检测到已命中的高速缓冲项目相对应的新信息复位成表示不是新状态;
上述选择单元从与表示无访问的访问信息相对应的高速缓冲项目中,优先与表示不是新状态的新信息相对应的高速缓冲项目,来选择置换对象的高速缓冲项目。
16、如权利要求1所述的高速缓冲存储器,其特征在于,
上述高速缓冲存储器是集联方式,其还具有:
检测出命中了高速缓冲项目的单元;
第一更新单元,将与检测到已命中的高速缓冲项目相对应的访问信息更新为有访问;
判定单元,判定与被检测到已命中的高速缓冲项目同一组内的其他全部的高速缓冲项目相对应的访问信息是否表示有访问;
第二更新单元,在判定单元的判定结果是肯定的情况下,将与其他全部的高速缓冲项目相对应的访问信息更新成表示无访问。
17、如权利要求16所述的高速缓冲存储器,其特征在于,
上述存储装置还对每个高速缓冲项目存储表示是否是在高速缓冲项目中刚存储了数据后的新状态的新信息;
上述第一更新单元还将与检测到已命中的高速缓冲项目相对应的新信息复位为表示不是新状态;
上述选择单元在上述同一组内从与表示无访问的访问信息相对应的高速缓冲项目中,优先与表示不是新状态的新信息相对应的高速缓冲项目,而选择置换对象的高速缓冲项目。
18、一种高速缓冲存储器的控制方法,该高速缓冲存储器具有对每个高速缓冲存储器的高速缓冲项目存储表示有无访问的访问信息的存储部,其特征在于,该控制方法包括:
检测步骤,检测出高速缓冲命中和失败;
第一更新步骤,将与检测到已命中的高速缓冲项目相对应的1位的访问信息更新为有访问;
判定步骤,判定与除了被检测到已命中的高速缓冲项目以外的其他全部的高速缓冲项目相对应的访问信息是否表示有访问;
第二更新步骤,在判定步骤的判定结果是肯定的情况下,将与其他全部的高速缓冲项目相对应的访问信息更新为表示无访问;
选择步骤,在检测到已失败时,从与表示无访问的访问信息相对应的高速缓冲项目中选择置换对象的高速缓冲项目。
CNB2004800270749A 2003-09-19 2004-08-23 高速缓冲存储器和高速缓冲存储器控制方法 Expired - Fee Related CN100429632C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003327032 2003-09-19
JP327032/2003 2003-09-19

Publications (2)

Publication Number Publication Date
CN1853171A true CN1853171A (zh) 2006-10-25
CN100429632C CN100429632C (zh) 2008-10-29

Family

ID=34372854

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800270749A Expired - Fee Related CN100429632C (zh) 2003-09-19 2004-08-23 高速缓冲存储器和高速缓冲存储器控制方法

Country Status (7)

Country Link
US (1) US20070028055A1 (zh)
EP (1) EP1667028A4 (zh)
JP (1) JP4009304B2 (zh)
KR (1) KR20060063804A (zh)
CN (1) CN100429632C (zh)
TW (1) TW200525356A (zh)
WO (1) WO2005029336A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992433A (zh) * 2017-12-19 2018-05-04 北京云知声信息技术有限公司 二级缓存检测方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006112111A1 (ja) 2005-04-08 2006-10-26 Matsushita Electric Industrial Co., Ltd. キャッシュメモリシステム及びその制御方法
KR100772196B1 (ko) * 2005-12-06 2007-11-01 한국전자통신연구원 Pci 메모리를 이용한 무복사 캐싱 방법 및 그 장치
US7516275B2 (en) * 2006-04-25 2009-04-07 International Business Machines Corporation Pseudo-LRU virtual counter for a locking cache
SK287315B6 (sk) 2006-06-02 2010-06-07 Biotika, A. S. Spôsob izolácie polymyxínu B z vyfermentovanej pôdy
SK287293B6 (sk) 2006-06-15 2010-05-07 Biotika, A. S. Spôsob fermentácie polymyxínu B pomocou produkčného mikroorganizmu Bacillus polymyxa
US20080292560A1 (en) * 2007-01-12 2008-11-27 Dov Tamarkin Silicone in glycol pharmaceutical and cosmetic compositions with accommodating agent
US7861041B2 (en) * 2007-09-04 2010-12-28 Advanced Micro Devices, Inc. Second chance replacement mechanism for a highly associative cache memory of a processor
US8214602B2 (en) * 2008-06-23 2012-07-03 Advanced Micro Devices, Inc. Efficient load queue snooping
TW201015319A (en) * 2008-09-17 2010-04-16 Panasonic Corp Cache memory, memory system, data copying method and data rewriting method
TW201017421A (en) * 2008-09-24 2010-05-01 Panasonic Corp Cache memory, memory system and control method therefor
JP6340874B2 (ja) * 2014-03-31 2018-06-13 ブラザー工業株式会社 非吐出ノズル検出装置
US10783083B2 (en) * 2018-02-12 2020-09-22 Stmicroelectronics (Beijing) Research & Development Co. Ltd Cache management device, system and method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4195343A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Round robin replacement for a cache store
JPS55157181A (en) * 1979-05-25 1980-12-06 Nec Corp Buffer memory control system
FR2645986B1 (fr) * 1989-04-13 1994-06-17 Bull Sa Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede
JPH04288647A (ja) * 1991-02-27 1992-10-13 Mitsubishi Electric Corp キャッシュメモリにおける置き換え制御装置
US5497477A (en) * 1991-07-08 1996-03-05 Trull; Jeffrey E. System and method for replacing a data entry in a cache memory
US5353425A (en) * 1992-04-29 1994-10-04 Sun Microsystems, Inc. Methods and apparatus for implementing a pseudo-LRU cache memory replacement scheme with a locking feature
JP3309425B2 (ja) * 1992-05-22 2002-07-29 松下電器産業株式会社 キャッシュ制御装置
JPH06348595A (ja) * 1993-06-07 1994-12-22 Hitachi Ltd キャッシュ装置
US5802568A (en) * 1996-06-06 1998-09-01 Sun Microsystems, Inc. Simplified least-recently-used entry replacement in associative cache memories and translation lookaside buffers
US5809528A (en) * 1996-12-24 1998-09-15 International Business Machines Corporation Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory
US6032228A (en) * 1997-11-26 2000-02-29 International Business Machines Corporation Flexible cache-coherency mechanism
US6393525B1 (en) * 1999-05-18 2002-05-21 Intel Corporation Least recently used replacement method with protection
US6282617B1 (en) * 1999-10-01 2001-08-28 Sun Microsystems, Inc. Multiple variable cache replacement policy
US20030105929A1 (en) * 2000-04-28 2003-06-05 Ebner Sharon M. Cache status data structure
JP3661614B2 (ja) * 2001-07-12 2005-06-15 日本電気株式会社 キャッシュメモリ制御方法及びマルチプロセッサシステム
JP2003131946A (ja) * 2001-10-19 2003-05-09 Nec Corp キャッシュメモリ制御装置及び方法
US20030084253A1 (en) * 2001-10-31 2003-05-01 Johnson David J.C. Identification of stale entries in a computer cache
US6996678B1 (en) * 2002-07-31 2006-02-07 Cisco Technology, Inc. Method and apparatus for randomized cache entry replacement

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992433A (zh) * 2017-12-19 2018-05-04 北京云知声信息技术有限公司 二级缓存检测方法及装置

Also Published As

Publication number Publication date
JP4009304B2 (ja) 2007-11-14
JPWO2005029336A1 (ja) 2006-11-30
CN100429632C (zh) 2008-10-29
EP1667028A1 (en) 2006-06-07
EP1667028A4 (en) 2008-10-29
WO2005029336A1 (ja) 2005-03-31
TW200525356A (en) 2005-08-01
US20070028055A1 (en) 2007-02-01
KR20060063804A (ko) 2006-06-12

Similar Documents

Publication Publication Date Title
CN1287292C (zh) 使用类型位跟踪二级高速缓存中储存的错误校正码及预解码位
CN1853171A (zh) 高速缓冲存储器和高速缓冲存储器控制方法
CN1242330C (zh) 执行并飞“异或”运算的方法和系统
CN1846200A (zh) 在处理器中用于减少功耗的微变换检测缓冲器及微标记符
CN1295622C (zh) 地址映射方法和映射信息管理方法及其闪速存储器
US8607026B2 (en) Translation lookaside buffer
CN1310134C (zh) 具有二级分支预测高速缓存的分支预测装置
US7552286B2 (en) Performance of a cache by detecting cache lines that have been reused
CN1879092A (zh) 高速缓冲存储器及其控制方法
CN1950802A (zh) 存储器分配
CN1804816A (zh) 用于程序员控制的超高速缓冲存储器线回收策略的方法
US20130151781A1 (en) Cache Implementing Multiple Replacement Policies
CN1415092A (zh) 当预测路线失败时从非预测路线提供局部标记以指导搜索的高速缓存
TWI382426B (zh) 預測快取記憶體之存取位置的方法及系統
CN1512353A (zh) 性能改善的数据存储和方法
US8904111B2 (en) Cache memory with CAM and SRAM sub-tags and generation control
CN1734431A (zh) 用于软件可控动态可锁高速缓冲存储器线替换系统的方法
CN101063957A (zh) 管理锁定的高速缓冲存储器中的组替换的系统和方法
CN1397887A (zh) 一种将储存数据重新导向的虚拟集合高速缓存
CN1142634A (zh) 清空高速缓冲存储器内容的装置
US7831774B2 (en) Pipelining D states for MRU steerage during MRU-LRU member allocation
CN1120196A (zh) 地址变换电路
CN1302396C (zh) 高速缓存中上下文标识符的使用
JP2010086496A (ja) キャッシュメモリを備えるベクトル計算機システム、及びその動作方法
WO2005066796A1 (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081029

Termination date: 20120823