CN100517273C - 高速缓冲存储器及其控制方法 - Google Patents
高速缓冲存储器及其控制方法 Download PDFInfo
- Publication number
- CN100517273C CN100517273C CNB2004800385333A CN200480038533A CN100517273C CN 100517273 C CN100517273 C CN 100517273C CN B2004800385333 A CNB2004800385333 A CN B2004800385333A CN 200480038533 A CN200480038533 A CN 200480038533A CN 100517273 C CN100517273 C CN 100517273C
- Authority
- CN
- China
- Prior art keywords
- subclauses
- clauses
- speed buffering
- sign
- data
- 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.)
- Expired - Fee Related
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
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional 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
- 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/0877—Cache access modes
- G06F12/0886—Variable-length word access
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
技术领域
本发明涉及用于使处理器的主存储器访问高速化的高速缓冲存储器及其控制方法。
背景技术
在近年来的微处理器中,将例如由SRAM(Static Random AccessMemory:静态存储器)等构成的小容量、高速的高速缓冲存储器配置在微处理器的内部或其附近,并在高速缓冲存储器中存储数据的一部分,由此,使微处理器的存储器访问高速化。
在计算机系统中,在从中央处理装置向高速缓冲存储器的读访问或写访问未命中(mishit)时,从主存储装置新读取的数据的一部分作为条目(注册条目)存储在高速缓冲存储器的空块中。此时,在不存在空块的情况下,需要条目置换处理,选择多个块中的某一个,将存储在所选择的块中的条目返回主存储装置,使块内成为空状态,在该空块中存储新读取的数据。在上述条目置换处理中,一般采用选择存储有最早以前参照过的数据的块的方法、即LRU(Least Recently Used:最近最少使用)译码方式。通过该LRU译码方式,提高了高速缓冲存储器的使用效率,其结果是提高了微处理器的执行速度。
在微处理器所处理的程序中,存在虽然访问频率少、但一旦起动就必须高速处理的特殊的处理、和虽然访问频率高但执行速度并没有那么高的要求的处理。
因此,为了与此对应,在例如专利文献1等的现有技术中,在高速缓冲存储器中设置有冻结功能。冻结功能是指下述功能,即在高速缓冲存储器中预先复制虽然访问频率少、但一旦起动就必须高速处理的程序,并禁止对该领域进行重写。通过具有该功能,计算机系统可以在必要时从高速缓冲存储器读取程序来执行,由此缩短执行时间。此外,清除功能是在高速缓冲存储器内不预先保存虽然访问频率高但执行速度并没有那么高的要求的程序及数据、从而释放该区域的功能。通过具有该功能,可以使高速缓冲存储器中具有余量,从而可以在高速缓冲存储器中放入优先级高的其他程序及数据,由此提高高速缓冲存储器的使用效率,缩短综合执行速度。
专利文献1:日本专利文献特开2000-200221号公报
但是,即使使用冻结功能或使用清除功能,还存在由于高速缓冲错误的产生而在进行替换时进行了无用的替换或无用的反写的情况的问题。
例如,作为产生无用的替换的情况,有处理器写入了所有的配置要素的情况。此时,即使将新的数据从主存储器向高速缓冲存储器替换,由于所有的都被从处理器写入,所以替换被无用地结束。
此外,作为产生无用的反写的情况,有仅将高速缓冲条目作为工作数据使用的情况。此时,无论是否为最后可以被丢弃的数据,都会产生无用的反写。
发明内容
本发明的目的在于提供防止无用的替换和无用的反写的高速缓冲存储器。
为了解决上述技术问题,本发明的高速缓冲存储器具有:标志保持单元,与保持高速缓冲的单位数据的高速缓冲条目相对应地保持表示该高速缓冲条目是否有效的有效标志、和表示是否对该高速缓冲条目进行了写入的脏标志;指令保持单元,由处理器可根据命令访问的寄存器构成,保持从处理器根据命令发出的指令;以及改变单元,根据由指令保持单元保持的指令,与上述高速缓冲条目的状态相反地改变上述有效标志及脏标志中的至少一个,向上述指令保持单元发出指令是通过以上述指令保持单元为传送目的地的的数据传送命令来进行的,上述指令作为上述数据传送命令的数据传送到上述指令传送单元,上述改变单元独立于处理器的动作而动作,在高速缓冲存储器不被处理器访问的期间进行改变。
结构也可以是上述改变单元不从主存储器加载数据,而对高速缓冲条目设定作为标记的地址,并设置有效标志。
根据该结构,可以在高速缓冲存储器上确保用于写入排列等数据的高速缓冲条目,并且,可以防止将命运为被重写的数据从主存储器无用地加载到高速缓冲存储器。
此外,上述改变单元在保持有被重写且没有被反写的数据的状态下,对高速缓冲条目重置脏标志。
根据该结构,可以防止从保持临时工作数据等命运为被丢弃的数据的高速缓冲条目进行无用的反写。
这里,结构也可以是,上述高速缓冲存储器还具有:保持单元,保持由处理器指定的地址范围;以及确定单元,确定保持属于被保持的地址范围内的数据的高速缓冲条目;上述改变单元对被确定的高速缓冲条目,改变上述有效标志及脏标志中的至少一个。
根据该结构,在由处理器指定的地址范围内,可以防止对高速缓冲存储器的无用的数据加载或向主存储器的无用的反写。
这里,结构也可以是,上述确定单元具有:第一变换单元,在上述地址范围的开头地址指向行数据的中途时,将该开头地址变换为指向上述地址范围中所包含的开头行的起始行地址;第二变换单元,在上述地址范围的末尾地址指向行数据的中途时,将该末尾地址变换为指向上述地址范围中所包含的末尾行的末行地址;以及判断单元,判断是否存在保持与从上述起始行地址到末行地址的各行地址相对应的数据的高速缓冲条目。
根据该结构,处理器可以与高速缓冲存储器的行容量及行边界的地址无关地从任意的地址指定任意的地址(或任意的容量),来作为地址范围。即,由于在处理器中没有必要对高速缓冲存储器的行容量及行边界的地址进行管理,所以可以消除用于管理高速缓冲存储器的负荷。
这里,结构也可以是,上述改变单元还具有:命令检测单元,对执行了带有脏标志重置指示的高速缓冲存储器访问命令的情况进行检测;以及标志重写单元,对根据该命令对被访问了的高速缓冲条目重置脏标志。
这里,结构也可以是,上述改变单元还具有:指令检测单元,对执行了带有有效标志重置指示的高速缓冲存储器访问指令的情况进行检测;以及标志重写单元,对根据该命令被访问了的高速缓冲条目重置有效标志。
此外,关于本发明的高速缓冲存储器的控制方法,也具有和上述同样的单元、作用。
根据本发明的高速缓冲存储器,可以在高速缓冲存储器中确保用于写入排列等的数据的高速缓冲条目,并且,可以防止将命运为被重写的数据从主存储器无用地加载到高速缓冲存储器。
此外,可以防止从保持有临时工作数据等命运为被丢弃的数据的高速缓冲条目进行无用的反写。
进而,处理器可以与高速缓冲存储器的行容量及行边界的地址无关地从任意的地址指定任意的地址(或任意的容量),来作为地址范围。即,由于在处理器中没有必要对高速缓冲存储器的行容量即行边界的地址进行管理,所以可以消除用于管理高速缓冲存储器的负荷。
发明效果
根据本发明的高速缓冲存储器,可以根据处理器的指示,在高速缓冲存储器中确保用于写入排列等数据的高速缓冲条目,并且,可以防止将命运为被重写的数据从主存储器无用地加载到高速缓冲存储器。并且,可以防止从保持临时工作数据等命运为被丢弃的数据的高速缓冲条目进行无用的反写。
附图说明
图1是表示本发明的实施方式1中的包括处理器、高速缓冲存储器、主存储器的系统的概略结构的框图。
图2是表示高速缓冲存储器的结构例的框图。
图3是高速缓冲条目的详细的比特结构的示意图。
图4是表示控制部的结构的框图。
图5是表示标志改变部的结构例的框图。
图6(a)表示在起始地址寄存器中写入起始地址的命令的一个例子。(b)表示在容量(size)寄存器中写入容量的命令的一个例子。(c)表示在指令寄存器中写入指令的命令的一个例子。(d)是表示指令的一个例子。
图7是起始整直器和末尾整直器的说明图。
图8是表示在标志重写部407中的标志改变处理的一个例子的流程图。
图9是表示本发明的实施方式2中的高速缓冲存储器的结构的框图。
图10表示高速缓冲条目的比特结构。
图11是表示控制部的结构的框图。
图12表示标志更新部使用标志U的更新例。
图13(a)是在不存在弱(weak)标志的情况下高速缓冲条目被替换的情况的示意图。(b)是表示在替换处理中弱标志W的作用的说明图。
图14是表示在替换部中的U标志更新处理的流程图。
图15是表示在替换部中的替换处理的流程图。
图16是表示标志改变部的结构的框图。
图17表示指令格式的一个例子。
图18是表示在标志重写部中的W标志设定处理的一个例子的流程图。
其中
1处理器
2主存储器
3高速缓冲存储器
20地址寄存器
21主存储器接口
30译码器
31a~31d路
32a~32d比较器
33a~33d“与”电路
34“或”电路
35选择器
36选择器
37多路分配器
38控制器
39标记更新部
40替换部
41标记改变部
131a~131d路
138控制部
139标记更新部
140替换部
141标记改变部
401指令寄存器
402起始地址寄存器
403容量寄存器
404加法运算器
405a起始整直器
405b起始整直器
406a末尾整直器
406b末尾整直器
407标记重写部
407a标记重写部
具体实施方式
(实施方式1)
(整体结构)
图1是表示本发明的实施方式1中的包括处理器1、高速缓冲存储器3、主存储器2的系统的概略结构的框图。如该图所示,本发明的高速缓冲存储器3设置在具有处理器1及主存储器2的系统中。
高速缓冲存储器3具有:有效标志V,对每个高速缓冲条目表示高速缓冲条目是否有效;脏标志D,表示是否对该高速缓冲条目写入。高速缓冲存储器3在不对保持由处理器1指定的地址的数据的高速缓冲条目反写数据的情况下,将脏标志D从1变为0(不是脏),或者确保与由处理器1指定的地址相对应的高速缓冲条目,不从主存储器加载数据而将有效标志V变为1(有效)。
将脏标志D从1变为0是为了防止从保持最终被丢弃的临时工作数据的高速缓冲条目进行无用的反写的情况。此外,通过在确保高速缓冲条目,不从主存储器加载数据的情况下将有效标志V变为1(有效),可以预先确保用于进行配置等写入的高速缓冲条目。
(高速缓冲存储器的结构)
以下作为高速缓冲存储器3的具体例,说明在4路组联方式的高速缓冲存储器中适用本发明的情况的结构。
图2是表示高速缓冲存储器3的结构例的框图。如该图所示,高速缓冲存储器3具有:地址寄存器20、主存储器接口21、译码器30、4个路(线路(way))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字节,也是一个路的容量。组索引(SI)是指跨越路0~3的多个组之一。由于组索引是4比特,所以该组数是16组。由标记地址及组索引确定的高速缓冲条目是替换单位,在存储于高速缓冲存储器中的情况下称为行数据或行(line)。行数据的容量是由比组索引还低位的地址比特决定的容量即128字节。若1个字是4字节,则1行数据是32字。字索引(WI)是指构成行数据的多个字中的1个字。地址寄存器20中的最低位2比特(A1、A0)在字访问时被忽视。
主存储器接口21是用于从高速缓冲存储器3向主存储器2的数据的反写以及从主存储器2向高速缓冲存储器3的数据的加载等从高速缓冲存储器3访问主存储器2的接口。
译码器30对组索引的4比特进行译码,选择跨越4个路0~3的16组中的一个。
4个路0~3是具有相同结构的4个路,具有4×2k字节的容量。各路具有16个高速缓冲条目。
图3示出1个高速缓冲条目中的详细的比特结构。如该图所示,1个高速缓冲条目包括:有效标记V0~V3、21比特的标记、128字节的行数据、脏标志D0~D3。
标记是21比特的标记地址的复制。
行数据是由标记地址及组索引确定的块中的128字节数据的复制,由32字节的4个辅行构成。
有效标志V0~V3与4个辅行对应,表示辅行是否有效。
脏标志D0~D3与4个辅行对应,表示是否从处理器对该辅行进行了写入,即表示虽然在辅行中存在被高速缓冲的数据但是否有必要为了与主存储器中的数据不同而通过写入来反写到主存储器中。
比较器32a对地址寄存器20中的标记地址和在由组索引选择的组中包含的4个标记中的路0的标记是否一致进行比较。比较器32a~32c除了是与路31b~31d对应以外其他都与路32a相相同。
“与”电路33a对有效标志和比较器32a的比较结果是否一致进行比较。将该比较结果设为h0。当比较结果h0是1时,表示存在与地址寄存器20中的标记地址及组索引相对应的行数据、即在路0中命中的意思。当比较结果h0是0时,表示未命中。“与”电路33b~33d除了与路31b~31d对应以外其他都与路33a相同。该比较结果h1~h3表示在路1~3中是命中还是未命中。
“或”电路34取比较结果h0~h3的“或”。将该“或”的结果设为hit,hit表示是否命中高速缓冲存储器。
选择器35从所选择的组中的路0~3的行数据中选择命中的路的行数据。
选择器36从由选择器35选择的32字的行数据中选择字索引所示的1字。
多路分配器37在向高速缓冲条目写入数据时,向路0~3中的1个输出写入数据。该写入数据也可以是字单位。
控制部38进行高速缓冲存储器3的整体控制。特别是根据来自处理器的指令及地址指定,进行V标志的改变和D标志的改变。
(控制部的结构)
图4是表示控制部38的结构的框图。如该图所示,控制部38包括标志更新部39、替换部40、标志改变部41。
标志更新部39与现有技术相同,为了反映高速缓冲存储器的状态而进行V标志、D标志的更新。
替换部40与现有技术相同,进行高速缓冲条目的替换。
标志改变部41根据来自处理器1的指令及地址指定,进行V标志、D标志的改变。该指令中有V标志设定指令和D标志设定指令。
(标志改变部的结构)
图5是表示标志改变部41的结构例的框图。如该图所示,标志改变部41具有:指令寄存器401、起始地址寄存器402、容量寄存器403、加法运算器404、起始整直器405a、405b、末尾整直器406a、406b、标志重写部407。
指令寄存器401是可以从处理器1直接访问的寄存器,保持由处理器1写入的指令。图6(c)表示在指令寄存器401中写入指令的命令的一个例子。该命令是普通的传送命令(mov命令),指定指令作为源操作数,指定指令寄存器(CR)401作为目的操作数。图6(d)是表示指令格式的一个例子。该指令格式包括用于V标志设定指令的2比特的字段、用于D标志设定指令的2比特的字段、和用于指定辅行的4比特的字段。
例如,V标志设定指令如果是“10”,则指示设定为V=0(V重置指令),如果是“11”,指示设定为V=1(V设置指令),如果是“00”,则表示无效(无操作数)。D标志设定指令也一样。辅行指定字段是用于个别指定辅行的字段。在没有个别指定的情况下,指定行(所有辅行)。
起始地址寄存器402是可以从处理器1直接访问的寄存器,保持由处理器1写入的起始地址。该起始地址表示应设定C标志的地址范围的开始位置。图6(a)表示在起始地址寄存器402中写入起始地址的命令的一个例子。与图6(c)同样,该命令也是普通的传送命令(mov命令)。
容量寄存器403是可以从处理器1直接访问的寄存器,保持由处理器1写入的容量。该容量表示从起始地址开始的地址范围。图6(b)表示在容量寄存器403中写入容量的命令的一个例子。该命令也和图6(c)一样是普通的传送命令(mov命令)。此外,容量的单位既可以是字节数,也可以是行数(高速缓冲条目数),还可以是预先决定的单位。
加法运算器404将保持在起始地址寄存器402中的起始地址和保持在容量寄存器403中的容量相加。相加结果是指向地址范围的终止位置的末尾地址。加法运算器404可以在容量是字节数指定的情况下作为字节地址相加,并在容量是行数指定的情况下作为行地址相加。
起始整直器405a、405b将起始地址调整到行边界的位置。起始整直器405a向末尾地址的方向调整,405b向与末尾地址相反的方向调整。通过该调整,处理器1可以与行容量及行边界无关地指定任意地址,作为起始地址。
末尾整直器406a、406b将末尾地址调整到行边界的位置。末尾整直器406a向起始地址的方向调整,406b向与起始地址相反的方向调整。通过该调整,处理器1可以与行容量及行边界无关地指定任意大小,作为上述容量。
图7表示起始整直器405a、405b和末尾整直器406a、406b的说明图。在该图中,从处理器1指定的起始地址指向行N的中途的任意位置。起始整直器405a调整为指向下个行(N+1)的开头,并将调整后的地址作为整直起始地址a输出。起始整直器405b调整为指向包括起始地址的数据的行N的开头,并将调整后的地址作为整直起始地址b输出。将整直起始地址所指的行称为起始行。
此外,末尾地址指向行M的中途的任意位置。末尾整直器406a调整为指向最近前面的行(M-1)的开头,将调整后的地址作为整直末尾地址a输出。末尾整直器405b调整为指向包括末尾地址的数据的行M的开头,将调整后的地址作为整直末尾地址b输出。整直末尾地址所指的行称为末行。
如该图所示,起始整直器405a及末尾整直器406a以行单位进行内侧整直。起始整直器405b及末尾整直器406b以行单位进行外侧整直。进而,在行单位的外侧整直之后可以进一步进行辅行单位的外侧整直和内侧整直。
标志重写部407根据指令从起始行到末行来设定V标志或D标志的值。此时,根据指令选择起始行及末行进行内侧整直还是外侧整直。
(标志改变处理)
图8是表示在标志重写部407中的标志改变处理的一个例子的流程图。在该图中,表示D重置指令和V设置指令。
在该图中,在指令寄存器401中写入D重置指令的情况下(S80),标志重写部407从起始整直器405a、405b、末尾整直器406a、406b的输出中选择内侧整直的起始行和末行(S81)。这里选择内侧整直是由于行N和行M中的起始地址和末尾地址的外侧的数据并不一定被处理器1丢弃。
进而,标志重写部407一边按顺序输出从起始行到末行的各行地址,一边进行循环1的处理(S82~S86)。标志重写部407对各个行进行相同的处理,所以这里对1行的处理进行说明。
即,在高速缓冲存储器3没有从处理器1被访问的期间内,标志重写部407向地址寄存器20输出行地址(S83),在比较器32a~32d中比较地址寄存器20的标记地址和高速缓冲条目的标记,判断是否命中(S84)。进而,标志重写部407在命中的情况下,针对命中的高速缓冲条目,将D0~D3标志重置为0(S85),在未命中的情况下,由于没有登录在高速缓冲存储器中,所以什么也不作。
这样,关于从起始行到末行的各个行,被登录在高速缓冲存储器3中的情况下,D0~D3标志被设定为0。标志重写部407在循环1结束之后,清除指令寄存器401的指令(S98)。由此,可以防止从保持临时字数据等被丢弃命运的数据的高速缓冲条目无用地进行反写。
此外,在图8中,在指令寄存器401中写入V设置指令的情况下(S87),标志重写部407从起始整直器405a、405b、末尾整直器406a、406b的输出中选择外侧整直的起始行和末行(S88)。这里选择外侧整直是由于无法确保内侧整直中从起始地址到末尾地址的容量。
进而,标志重写部407一边按顺序输出从起始行到末行的各行地址,一边进行循环2的处理(S89~S97)。标志重写部407对各行进行相同的处理,所以这里对1行的处理进行说明。
即,在高速缓冲存储器3没有从处理器1被访问期间,标志重写部407向地址寄存器20输出行地址(S90),在比较器32a~32d中比较地址寄存器20的标记地址和高速缓冲条目的标记,判断是否命中(S91)。进而,标志重写部407在没有命中的情况下,从与该行地址对应的组内的4个路中选择一个LRU方式下替换对象的路(S92),并判断所选择的路的脏标志D0~D3的逻辑和是否是“1”(S93)。在判断为该逻辑和是“1”即是脏的情况下,标志重写部407仅反写脏的辅行(S94)。在判断出该逻辑和不是“1”即不脏的情况下,或者在反写脏的辅行之后,标志重写部407不从主存储器向高速缓冲条目加载数据,而将行地址作为标记设定在高速缓冲条目中(S95),将有效标志V0~V3设置为“1”(S96)。这样,确保了虽然没有保持有效数据但设定为V0~V1=1的1行的高速缓冲条目。
进而,标志重写部407在循环1结束之后清除指令寄存器401的指令(S98)。
由此,可以在高速缓冲存储器中确保用于写入排列等的数据的高速缓冲条目,并且防止无用的反写。
如上所说明的那样,根据本实施方式中的高速缓冲存储器,利用D重置指令,可以防止从保持命运为被丢弃的数据的高速缓冲条目进行无用的反写。此外,利用V设置指令,可以在高速缓冲存储器中确保用于写入排列等的数据的高速缓冲条目,并且防止无用的反写。
此外,在上述实施方式中,说明了D重置指令和V设置指令,但对于V设置指令,也可以通过在图8所示的S87~S98中删除步骤S95并在步骤S96中将V0~V3重置为“0”来实现。由此,可以防止无用的反写,从而释放高速缓冲条目。
此外,D重置指令可以同样地执行图8的S80~S86,但若考虑到如果利用存储命令从处理器1写入数据则D标志被设置的情况、以及由于D标志的设置而产生反写动作的情况,则不能说很有实用性。但是,可以用于高速缓冲存储器的测试动作及性能的评价及验证等中。
(变形例)
此外,本发明的高速缓冲存储器并不限于上述实施方式的结构,可以进行各种变形。以下说明变形例的几种。
(1)在上述实施方式中,对V0~V3标志、D0~D3标志同时设置或重置,但也可以以辅行单位进行设置或重置。
例如,在以辅行单位仅处理起始行和末行的情况下,标志重写部407只要选择被进行外侧整直(行)的起始地址和末尾地址,进而通过进行外侧整直(辅行)或内侧整直(辅行),来计算起始行的辅行地址和末行的辅行地址,以辅行单位仅处理起始行和末行就可以。此外,处理器1只要在指令中的辅行指定字段中指定其主旨。
例如,在处理器1将容量寄存器403的容量指定为0,在指令中的辅行指定字段中指定了特定的辅行时,标志重写部407只要仅将所指定的辅行作为对象进行处理就可以。
(2)标志改变部41的结构也可以具有:命令检测部,对带脏标志重置指示的高速缓冲存储器访问命令已被执行的情况进行检测;标志重写部,对根据该命令被访问了的高速缓冲条目重置脏标志。
进而,结构也可以是:命令检测部检测出执行了带有效标志重置指示的高速缓冲存储器访问命令,标志重写部对根据该命令被访问了的高速缓冲条目重置有效标志。
(3)在上述实施方式中,以4路组联的高速缓冲存储器为例进行了说明,但路数是多少都可以。此外,在上述实施方式中,说明了组数是16的例子,但组数是多少都可以。
(4)在上述实施方式中,以组联的高速缓冲存储器为例进行了说明,但也可以是全相联方式的高速缓冲存储器。
(5)在上述实施方式中,辅行的容量是行容量的1/4,但也可以是1/2、1/8、1/16等其他的容量。此时,各高速缓冲条目可以分别保持与辅行相同数量的有效标志及脏标志。
(实施方式2)
在实施方式1中说明了进行V标志改变和D标志改变的结构,在本实施方式中,对在具有表示是否继续使用(写入及读取)的W(weak)标志的高速缓冲存储器中改变W标志的结构进行说明。
(高速缓冲存储器的结构)
图9是表示本发明的实施方式2中的高速缓冲存储器的结构的框图。该图的高速缓冲存储器与图2的结构相比,不同点是:具有路131a~131d取代路31a~31d,以及具有控制部138取代控制部38。以下省略对相同点的说明,以不同点为中心进行说明。
路131a与路31a相比,不同点是在各高速缓冲条目中追加了W标志及U标志。131b~131d也同样。
图10表示高速缓冲条目的比特结构。一个高速缓冲条目保持有效标志V0~V3、21比特的标记、128字节的行数据、弱标志W、使用标志U及脏标志D0~D3。
其中,弱标志W对于来自处理器的访问,表示是否继续使用,关于高速缓冲条目中的替换控制,表示可以比其他高速缓冲条目最先清除的最弱的替换对象。这样,由于弱标志W具有两个意思,所以用清除处理和替换处理这两个处理参照。
使用标志U表示是否存在对该高速缓冲条目的访问,在由LRU方式中的未命中引起的替换时,替代4路的高速缓冲条目间的访问顺序数据来使用。更加正确地说,使用标志U的“1”表示存在访问,“0”表示没有。并且,若一个组内的4路的使用标志都成为“1”,则重置为“0”。换言之,使用标志U表示被访问的时期是旧还是新这两种相对的状态。即,表示使用标志U为“1”的高速缓冲条目比使用标志U为“0”的高速缓冲条目先被访问。
控制部138与控制部38相比,不同点在于,设定W标志,以及代替LRU方式中的访问顺序信息而使用使用标志U。
(控制部的结构)
图11是表示控制部138的结构的框图。该图的控制部138与控制部38比较,不同点在于,取代标志更新部39、替换部40、标志改变部41,而具有标志更新部139、替换部140、标志改变部141。
标志更新部139除了与标志更新部39相同地更新V标志、D标志之外,在高速缓冲存储器被访问时进行使用标志U的更新处理。
替换部140不是通过通常的LRU方式,而是通过将使用标志U作为访问顺序的虚拟LRU方式进行替换。并且,在替换处理时,将W=1的高速缓冲条目最先作为替换对象而选择。
标志改变部141根据来自处理器1的指令,设定弱标志W。处理器1向高速缓冲存储器3发出指示对已经不使用(写入及读取)的高速缓冲条目设定弱标志的指令。W=1的高速缓冲条目在高速缓冲错误时与使用标志U的值无关,最先作为替换对象。此外,如果W=1的高速缓冲条目是脏,则成为清除处理的对象。
(使用标志U的说明)
图12表示利用标志更新部39的使用标志U的更新例。该图的上段、中段、下段表示构成跨越路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的使用标志U从“0”更新为“1”。
进而,在该图中段的状态下,在存储器访问命中了组N内的路3的高速缓冲条目的情况下,如该图下段所示,更新为(U0~U3)=(0、0、0、1)。即,如实线所示,路3的使用标志U1从“0”更新为“1”。并且,如虚线所示,除了路3以外的使用标志U0~U2从“1”更新为“0”。由此,表示路3的高速缓冲条目比路0~2的各高速缓冲条目先被访问。
如果在高速缓冲错误时W=1的高速缓冲条目不存在,则替换部140根据使用标志决定替换对象的高速缓冲条目,来进行替换。例如,标志更新部39在图5上段中,将路1和路3的某一个决定为替换对象,在图5中段中,将路3决定为替换对象,在图5下段中,将路0~2的某一个决定为替换对象。
(弱标志W的说明)
图13(a)是假定不存在弱标志的情况下的比较例,是高速缓冲条目被替换的情况的示意图。在该图中,与图12一样,表示构成跨越路0~3的组N的4个高速缓冲条目。4个高速缓冲条目右端的“1”或“0”分别是使用标志的值。此外,仅将数据E设为访问频率低的数据,将数据A、B、C、D设为访问频率高的数据。
在该图(a)的第一段的状态中,若处理器1访问数据E,则产生高速缓冲错误。由于该高速缓冲错误,例如从U=0的高速缓冲条目之中访问频率高的数据C的高速缓冲条目被替换为访问频率低的数据E,从而成为第二段状态。
在第二段的状态中,若处理器1访问数据C,则产生高速缓冲错误。由于该高速缓冲错误,作为U=0的高速缓冲条目的访问频率高的数据D的高速缓冲条目被替换为访问频率高的数据C,从而成为第3段状态。
在第三段的状态中,若处理器1访问数据D,则产生高速缓冲错误。由于该高速缓冲错误,例如,访问频率高的数据C的高速缓冲条目被替换为访问频率高的数据D,从而成为第4段状态。
同样,在第四段中,使用频率低的数据E也没有被选择作为替换对象,留在高速缓冲存储器中。
在第五段的状态中,由于使用频率低的数据E是最旧的(U=0),所以作为替换对象被选择,并被清除。
这样,在虚拟的LRU方式中(通常的LRU方式也同样),在4路的情况下,由访问频率低的数据E有时最差会诱发四次高速缓冲错误。
图13(b)是表示在替换处理中的弱标志W的作用的说明图。
在该图(b)的第一段的状态中(与该图(a)的第一段相同),若处理器1访问数据E,则产生高速缓冲错误。由于该高速缓冲错误,例如从U=0的高速缓冲条目之中访问频率高的数据C的高速缓冲条目被替换为访问频率低的数据E。此时,处理器1在数据E的高速缓冲条目中设定弱标记W为1。从而,在下次的高速缓冲错误时,数据E的高速缓冲条目被最先清除,从而成为第二段状态。
在第二段的状态中,若处理器1访问数据C,则产生高速缓冲错误。由于该高速缓冲错误,作为W=1的高速缓冲条目的访问频率低的数据E的高速缓冲条目作为替换对象而被选择,被替换为访问频率高的数据C,从而成为第三段状态。
这样,通过设置弱标志W,可以减少因访问频率低的数据诱发高速缓冲错误。
(U标志更新处理)
图14是表示在替换部140中的U标志更新处理的流程图。在该图中,有效标志是“0”(无效)的高速缓冲条目的使用标志U被初始化为“0”。
在该图中,替换部140在高速缓冲命中时(步骤S61),将由组索引选择的组中的所命中的路的使用标志U设置为“1”(步骤S62),读取该组内的其他路的使用标志U(步骤S63),判断所读取的使用标志U是否全部是“1”(步骤S64),如果不全部是“1”则结束,如果全部是“1”则将其他路的所有使用标志U重置为“0”(步骤S65)。
这样,替换部140如图12、13(a)(b)所示的更新例那样更新使用标志。
(替换处理)
图15是表示在替换部140中的替换处理的流程图。在该图中,替换部140在主存储器访问错误时(步骤S91),读取由组索引选择的组中的、4路的使用标志U及弱标志W(步骤S92),判断是否存在W=1的路(步骤S93)。在判断为不存在W=1的路时,选择一个U=0的路(步骤S94)。此时,在存在多个使用标志U为“0”的路的情况下,替换部140随机选择一个。此外,在判断为存在W=1的路的情况下,与U标志的值无关地选择一个W=1的路(步骤S95)。此时,在存在多个弱标志W为“1”的路的情况下,替换部140随机选择一个。
进而,替换部140将该组中所选择的路的高速缓冲条目作为对象进行替换(步骤S96),在替换后将该高速缓冲条目的使用标志U初始化为“1”,将弱标志W初始化为“0”(步骤S97)。此外,此时有效标志V、脏标志D分别被初始化为“1”、“0”。
这样,在不存在W=1的路的情况下,从使用标志U是“0”的高速缓冲条目中选择一个替换对象。
此外,在存在W=1的路的情况下,不论使用标志U是“0”还是“1”,从W=1的路的高速缓冲条目中选择一个替换对象。由此,如图13(a)、(b)所示,可以减少由访问频率低的数据留在高速缓冲存储器中而诱发高速缓冲错误。
(标志改变部141的结构)
图16是表示标志改变部141的结构的框图。该图的结构与图5所示的标志改变部141相比较,不同点为替代标志重写部407而具有标志重写部407a。
标志重写部407a的不同点在于,除了标志重写部407的功能之外,进行W标志的改变和使用标志U的改变。因此,指令寄存器401中,可以由处理器1对指示W标志的设定的W指令和指示U标志的设定的U指令进行设定。图17表示这些指令格式的一个例子。该图的指令格式在图6(d)所示的指令格式上追加了W指令及U指令的字段。W指令及U指令的内容与D指令和V指令相同。
(W标志设定处理)
图18是表示在标志重写部407a中的W标志设定处理的一个例子的流程图。
在指令寄存器401中保持有W标志设定指令的情况下,标志重写部407a一边按顺序输出从起始行到末行的各行地址,一边进行循环1的处理(S82~S86)。标志重写部407a对各个行进行相同的处理,所以这里对1行的处理进行说明。
即,标志重写部407a在高速缓冲存储器3没有从处理器1被访问的期间,向地址寄存器20输出行地址(S83),在比较器32a~32d中比较地址寄存器20的标记地址和高速缓冲条目的标记,判断是否命中(S84)。进而,标志重写部407a在命中的情况下,对命中的高速缓冲条目,将W标志设置为1(S85),在未命中的情况下,由于没有登录在高速缓冲存储器中,所以什么也不作。
由此,关于从起始行到末行的各行,被登录在高速缓冲存储器3中的情况下,W标志被设定为“1”。
<U标志设定处理>
在指令寄存器401中保持有U标志设定指令的情况下,标志重写部407a根据该指令设定U标志。通过在图18中将W标志替换为U标志,来与W标志设定处理完全相同地执行该处理。
如上说明,根据本实施方式中的高速缓冲存储器,通过设定W标志,可以使W=1的高速缓冲条目在高速缓冲错误时作为最旧的高速缓冲条目而最先成为替换对象。此外,虽然使用标志U的值仅1比特,但由于访问顺序表示是旧是新,所以通过U标志设定处理,可以对从起始行到末行的各行设定访问顺序。例如,处理器1将想要留在高速缓冲存储器3中的地址的数据作为地址范围进行指定,从而发出设定U=1的U标志设定指令。
如上说明,根据本实施方式中的高速缓冲存储器,通过设定W标志,可以使W=1的高速缓冲条目在高速缓冲错误时作为最旧的高速缓冲条目而最先成为替换对象。此外,虽然使用标志U的值仅1比特,但由于访问顺序表示是旧是新,所以通过U标志设定处理,可以对从起始行到末行的各行设定访问顺序。例如,处理器1只要将想要留在高速缓冲存储器3中的地址的数据作为地址范围进行指定,从而发出设定U=1的U标志设定指令就可以。相反地,可以将可以从高速缓冲存储器3清除的数据作为地址范围进行指定,从而发出设定U=0的U标志设定指令。
(变形例)
(1)虽然W=1的高速缓冲条目最先成为替换对象,但在被替换之前的期间,若为脏,则控制部进行清除(反写)也可以。
(2)如图6(a)、(b)、(c)所示的各命令也可以通过编译器插入程序中。此时,编译器可以在不进行例如排列数据的写入及在对压缩动画数据进行译码时的块数据的写入等进一步的写入的程序位置上插入上述各命令。
工业实用性
本发明适用于用于使存储器访问高速化的高速缓冲存储器中,例如适用于单片高速缓冲存储器、片外高速缓冲存储器、数据高速缓冲存储器、命令高速缓冲存储器等中。
Claims (9)
1、一种高速缓冲存储器,其特征在于,具有:
标志保持单元,与保持高速缓冲的单位数据的高速缓冲条目相对应地保持表示该高速缓冲条目是否有效的有效标志、和表示是否对该高速缓冲条目进行了写入的脏标志;
指令保持单元,由处理器可根据命令访问的寄存器构成,保持从处理器根据命令发出的指令;以及
改变单元,根据由指令保持单元保持的指令,与上述高速缓冲条目的状态相反地改变上述有效标志及脏标志中的至少一个,
向上述指令保持单元发出指令是通过以上述指令保持单元为传送目的地的数据传送命令来进行的,上述指令作为上述数据传送命令的数据传送到上述指令保持单元,
上述改变单元独立于处理器的动作而动作,在高速缓冲存储器不被处理器访问的期间进行改变。
2、如权利要求1所述的高速缓冲存储器,其特征在于,上述改变单元不从主存储器加载数据,而对高速缓冲条目设定作为标记的地址,并设置有效标志。
3、如权利要求2所述的高速缓冲存储器,其特征在于,上述改变单元在高速缓冲条目中保持有被重写且没有被反写的数据的状态下,重置该高速缓冲条目的脏标志。
4、如权利要求2或3所述的高速缓冲存储器,其特征在于,上述高速缓冲存储器还具有:
保持单元,保持由处理器指定的地址范围;以及
确定单元,确定保持属于被保持的地址范围内的数据的高速缓冲条目;
上述改变单元对被确定的高速缓冲条目,改变上述有效标志及脏标志中的至少一个。
5、如权利要求4所述的高速缓冲存储器,其特征在于,上述确定单元具有:
第一变换单元,在上述地址范围的开头地址指向行数据的中间部分时,将该开头地址变换为指向上述地址范围中所包含的开头行的起始行地址;
第二变换单元,在上述地址范围的末尾地址指向行数据的中间部分时,将该末尾地址变换为指向上述地址范围中所包含的末尾行的末行地址;以及
判断单元,判断是否存在保持与从上述起始行地址到末行地址的各行地址相对应的数据的高速缓冲条目。
6、如权利要求1所述的高速缓冲存储器,其特征在于,上述改变单元还具有:
命令检测单元,对执行了带有脏标志重置指示的高速缓冲存储器访问命令的情况进行检测;以及
标志重写单元,对根据该命令被访问了的高速缓冲条目重置脏标志。
7、如权利要求1所述的高速缓冲存储器,其特征在于,上述改变单元还具有:
命令检测单元,对执行了带有有效标志重置指示的高速缓冲存储器访问命令的情况进行检测;以及
标志重写单元,对根据该命令被访问了的高速缓冲条目重置有效标志。
8、一种高速缓冲存储器的控制方法,其特征在于,该高速缓冲存储器与保持高速缓冲的单位数据的高速缓冲条目相对应地具有表示该高速缓冲条目是否有效的有效标志、和表示是否对该高速缓冲条目进行了写入的脏标志,该控制方法具有:
保持步骤,通过处理器执行以规定的寄存器为传送目的地的数据传送命令,将指令作为上述数据传送命令的数据来传送,并将从处理器发出的指令保持到上述规定的寄存器;
有效标志设置步骤,根据所保持的指令,不从主存储器加载数据,而对高速缓冲条目设定作为标记的地址并设置有效标志;以及
脏标志设置步骤,根据所保持的指令,在保持被重写且没有被反写的数据的状态下,对高速缓冲条目重置脏标志,
上述有效标志设置步骤和上述脏标志设置步骤独立于处理器的动作而进行,并且是在高速缓冲存储器不被处理器访问的期间进行。
9、如权利要求1所述的高速缓冲存储器,其特征在于,上述指令具备用于指定有效标志的操作的第1字段和用于指定脏标志的操作的第2字段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003424042 | 2003-12-22 | ||
JP424042/2003 | 2003-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1898654A CN1898654A (zh) | 2007-01-17 |
CN100517273C true CN100517273C (zh) | 2009-07-22 |
Family
ID=34746820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800385333A Expired - Fee Related CN100517273C (zh) | 2003-12-22 | 2004-12-21 | 高速缓冲存储器及其控制方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7454575B2 (zh) |
EP (1) | EP1698978A4 (zh) |
JP (1) | JP4008947B2 (zh) |
KR (1) | KR100837479B1 (zh) |
CN (1) | CN100517273C (zh) |
TW (1) | TW200534096A (zh) |
WO (1) | WO2005066796A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101151600B (zh) | 2005-04-08 | 2012-02-22 | 松下电器产业株式会社 | 高速缓冲存储器系统及其控制方法 |
JP2009157608A (ja) * | 2007-12-26 | 2009-07-16 | Nec Corp | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
JP5420182B2 (ja) * | 2008-03-14 | 2014-02-19 | 富士通セミコンダクター株式会社 | キャッシュメモリシステム、データ処理装置および記憶装置 |
JP2010033480A (ja) * | 2008-07-31 | 2010-02-12 | Sony Corp | キャッシュメモリおよびキャッシュメモリ制御装置 |
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 |
US9342461B2 (en) | 2012-11-28 | 2016-05-17 | Qualcomm Incorporated | Cache memory system and method using dynamically allocated dirty mask space |
CN103345429B (zh) * | 2013-06-19 | 2018-03-30 | 中国科学院计算技术研究所 | 基于片上ram的高并发访存加速方法、加速器及cpu |
US9734062B2 (en) * | 2013-12-13 | 2017-08-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and methods for caching a small size I/O to improve caching device endurance |
KR102354990B1 (ko) | 2014-09-17 | 2022-01-24 | 삼성전자주식회사 | 캐시 메모리 시스템 및 그 동작방법 |
GB2533768B (en) * | 2014-12-19 | 2021-07-21 | Advanced Risc Mach Ltd | Cleaning a write-back cache |
US9971686B2 (en) * | 2015-02-23 | 2018-05-15 | Intel Corporation | Vector cache line write back processors, methods, systems, and instructions |
KR102362239B1 (ko) | 2015-12-30 | 2022-02-14 | 삼성전자주식회사 | 디램 캐시를 포함하는 메모리 시스템 및 그것의 캐시 관리 방법 |
GB2547189A (en) * | 2016-02-03 | 2017-08-16 | Swarm64 As | Cache and method |
US10515030B2 (en) * | 2016-05-12 | 2019-12-24 | Lg Electronics Inc. | Method and device for improved advanced microcontroller bus architecture (AMBA) and advanced extensible interface (AXI) operations |
CN107992433A (zh) * | 2017-12-19 | 2018-05-04 | 北京云知声信息技术有限公司 | 二级缓存检测方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4928239A (en) * | 1986-06-27 | 1990-05-22 | Hewlett-Packard Company | Cache memory with variable fetch and replacement schemes |
JPH0354649A (ja) | 1989-07-24 | 1991-03-08 | Oki Electric Ind Co Ltd | バッファ記憶制御方式 |
JPH0784879A (ja) | 1993-09-09 | 1995-03-31 | Toshiba Corp | キャッシュメモリ装置 |
JPH0869417A (ja) | 1994-08-29 | 1996-03-12 | Sanyo Electric Co Ltd | 計算機システム |
US6205521B1 (en) | 1997-11-03 | 2001-03-20 | Compaq Computer Corporation | Inclusion map for accelerated cache flush |
JP2000029788A (ja) | 1998-07-15 | 2000-01-28 | Nec Corp | キャッシュメモリシステム及びそれに用いるキャッシュ制御方法並びにその制御プログラムを記録した記録媒体 |
JP2000200221A (ja) | 1998-10-30 | 2000-07-18 | Nec Corp | キャッシュメモリ装置及びその制御方法 |
JP2001222467A (ja) | 2000-02-07 | 2001-08-17 | Matsushita Electric Ind Co Ltd | キャッシュ装置 |
JP2003223360A (ja) * | 2002-01-29 | 2003-08-08 | Hitachi Ltd | キャッシュメモリシステムおよびマイクロプロセッサ |
US7065613B1 (en) * | 2002-06-06 | 2006-06-20 | Maxtor Corporation | Method for reducing access to main memory using a stack cache |
US7203798B2 (en) * | 2003-03-20 | 2007-04-10 | Matsushita Electric Industrial Co., Ltd. | Data memory cache unit and data memory cache system |
-
2004
- 2004-12-21 WO PCT/JP2004/019102 patent/WO2005066796A1/ja not_active Application Discontinuation
- 2004-12-21 EP EP04807459A patent/EP1698978A4/en not_active Withdrawn
- 2004-12-21 CN CNB2004800385333A patent/CN100517273C/zh not_active Expired - Fee Related
- 2004-12-21 US US10/583,773 patent/US7454575B2/en active Active
- 2004-12-21 TW TW093139785A patent/TW200534096A/zh unknown
- 2004-12-21 KR KR1020067009495A patent/KR100837479B1/ko not_active IP Right Cessation
- 2004-12-21 JP JP2005516832A patent/JP4008947B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1898654A (zh) | 2007-01-17 |
TW200534096A (en) | 2005-10-16 |
EP1698978A4 (en) | 2008-11-05 |
US20070143548A1 (en) | 2007-06-21 |
KR100837479B1 (ko) | 2008-06-12 |
WO2005066796A1 (ja) | 2005-07-21 |
JPWO2005066796A1 (ja) | 2007-12-20 |
US7454575B2 (en) | 2008-11-18 |
KR20060086968A (ko) | 2006-08-01 |
JP4008947B2 (ja) | 2007-11-14 |
EP1698978A1 (en) | 2006-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100517273C (zh) | 高速缓冲存储器及其控制方法 | |
US20210073122A1 (en) | Memory controller supporting nonvolatile physical memory | |
CN100517274C (zh) | 高速缓冲存储器及其控制方法 | |
CN101470670B (zh) | 具有扇区功能的高速缓冲存储器 | |
CN102160040A (zh) | 高速缓存存储器、存储器系统、数据复制方法及数据改写方法 | |
CN1734431A (zh) | 用于软件可控动态可锁高速缓冲存储器线替换系统的方法 | |
WO2011049051A1 (ja) | キャッシュメモリおよびその制御方法 | |
CN100545819C (zh) | 高速缓冲存储器及其控制方法 | |
CN111352866A (zh) | 用于管理存储器突发存取的方法和系统 | |
CN111201518A (zh) | 用于管理能力元数据的设备和方法 | |
CN100429632C (zh) | 高速缓冲存储器和高速缓冲存储器控制方法 | |
CN109074313B (zh) | 缓存和方法 | |
EP0997821A1 (en) | Cache memory having a freeze function | |
US8214601B2 (en) | Purging without write-back of cache lines containing spent data | |
CN100424658C (zh) | 高速缓冲存储器及其控制方法 | |
EP1502191B1 (en) | Methods and apparatus for controlling a cache memory | |
CN101419543B (zh) | 预测高速寄存器的存取位置的方法及系统 | |
JPH0728706A (ja) | キャッシュメモリ装置 | |
JP2004326187A (ja) | 情報処理装置およびその制御方法 | |
JPH04315235A (ja) | キャッシュメモリにおけるキャッシュデータリプレース方法及びキャッシュデータリプレース装置 | |
EP0376253A2 (en) | Information processing apparatus with cache memory | |
JPH0289145A (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: 20090722 Termination date: 20121221 |