CN100440174C - 使用锁定高速缓冲存储器用于直接存入的***和方法 - Google Patents
使用锁定高速缓冲存储器用于直接存入的***和方法 Download PDFInfo
- Publication number
- CN100440174C CN100440174C CNB2005100826347A CN200510082634A CN100440174C CN 100440174 C CN100440174 C CN 100440174C CN B2005100826347 A CNB2005100826347 A CN B2005100826347A CN 200510082634 A CN200510082634 A CN 200510082634A CN 100440174 C CN100440174 C CN 100440174C
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- locking
- subsystem
- processor
- 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
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
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)
- Memory System (AREA)
Abstract
本发明提供了一种方法,用于将从I/O设备、网络或存储盘转移来的数据存储到高速缓冲存储器或其它快速存储器的一部分中,而不将其也写入主存储器。此外,将数据“锁定”在高速缓冲存储器或其它快速存储器中,直至其被装载用于使用。数据保留在锁定高速缓冲存储器中,直至在软件的控制下,对其进行明确的盖写。在本发明的一个实施方式中,处理器可以将数据写入高速缓冲存储器或其它快速存储器,而不将其也写入主存储器。高速缓冲存储器或其它快速存储器的这部分可以用作附加***存储器。
Description
相关申请的交叉引用
本申请涉及一个共同未决的美国专利申请,其名称为“处理器使用锁定高速缓冲存储器作为***存储器一部分的方法(Method forProcessor to Use Locking Cache as Part of System Memory)”(代理人卷号:AUS920040324US1),其以Michael Norman Day,Charles Ray Johns和Thuong Quang Truong的名义,在此同时提交。
技术领域
本发明总体上涉及存储器管理,更具体地,涉及高速缓冲存储器的使用。
背景技术
用于写入存储器和从存储器读取的存储器访问延迟(用于等待的时间),通常是软件程序的一个问题。在目前的计算机中,处理器周期要比用于存储器访问的时间短得多。而且,这个问题变得越来越严重。处理器速度正以指数递增,但存储器访问只是渐进式的增长。
一个部分解决存储器访问延迟问题的补救方法是存储器层次化。主存储器的容量很大,但速度最慢。在主存储器之上是多层相继变小变快的存储器或高速缓冲存储器。
当前对高速缓冲存储器的使用呈现出多种问题。当高速缓冲存储器不包含所需要的数据时,从高速缓冲存储器的读取就可能失败。该数据则就必须从速度较慢的主存储器访问。试图将数据排他地写入高速缓冲存储器可能是不允许的。来自I/O设备、网络、或存储盘的数据转移可能需要将数据排他地写入主存储器,或者同时也写入局部存储器或高速缓冲存储器。无论在哪种情况下,在写入较慢的主存储器时都存在延迟。而且,访问该数据也可能有延迟。在第一种情况下,处理器必须从主存储器访问该数据,以进行处理,这会产生访问延迟。在第二种情况下,写入高速缓冲存储器的数据在对其访问之前可能会被其它数据替换。当发生这种情况时,将被替换的数据写入主存储器。然后,为使用这一数据,处理器必须从主存储器访问它。
因此,需要一种方法,将来自处理器、I/O设备、网络或存储盘的数据存储到高速缓冲存储器或其它快速存储器中,而不将其也存储到主存储器中。此外,该方法必须保证该数据保留在高速缓冲存储器或其它快速存储器中直至其被使用。
发明内容
根据本发明的第一方面,提出了一种计算机***,用于将数据直接转移至锁定高速缓冲存储器,并将数据保留在那里,直至数据被访问用于使用,所述***包括:
处理器;
与处理器相连的高速缓冲存储器,其中高速缓冲存储器分成锁定高速缓冲存储器和非锁定高速缓冲存储器;
与处理器和高速缓冲存储器相连的高速缓冲存储器控制器;
与高速缓冲存储器相连的***总线;
与***总线相连的I/O子***;
一个或两个地址范围寄存器,存储用于访问锁定高速缓冲存储器的特定地址范围,从而锁定高速缓冲存储器看起来像是额外的***存储器;
其中I/O子***配置成发出一个将数据转移至锁定高速缓冲存储器,而不将数据也转移至***存储器的存储指令;
其中高速缓冲存储器控制器配置成确定存储指令是否在用于锁定高速缓冲存储器的特定地址范围内,并且如果存储指令在特定地址范围内,则将数据从I/O子***存储到锁定高速缓冲存储器;以及
其中处理器配置成响应装载来自I/O子***的存储在锁定高速缓冲存储器中的数据用于使用,发出一个信号,以指示来自I/O子***的存储在锁定高速缓冲存储器中的数据可以被盖写。
根据本发明的第二方面,提出了一种方法,用于将数据直接转移至锁定高速缓冲存储器,并将数据保留在那里,直至数据被访问用于使用,该方法包括:
将一个高速缓冲存储器分成锁定高速缓冲存储器和非锁定高速缓冲存储器;
由高速缓冲存储器控制器从I/O子***接收存储指令;
由高速缓冲存储器控制器确定存储指令是否在用于访问锁定高速缓冲存储器的特定地址范围内,其中一个或两个地址范围寄存器存储特定地址范围,从而锁定高速缓冲存储器看起来像是额外的***存储器;
如果存储指令在特定地址范围内,将数据从I/O子***转移至锁定高速缓冲存储器;以及
响应装载来自I/O子***的存储在锁定高速缓冲存储器中的数据用于使用,发出一个信号,以指示来自I/O子***的存储在锁定高速缓冲存储器中的数据可以被盖写。
附图说明
为了对本发明及其优点有更加完整的理解,现在结合附图介绍下面的详细描述,其中:
图1示出了用于将从I/O子***转移来的数据存储到锁定高速缓冲存储器的***的方块图;
图2示出了一个流程图,其举例说明了I/O子***将数据存储到锁定高速缓冲存储器中;
图3示出了一个流程图,其举例说明了处理器存储数据时的地址范围检查;
图4是示出了从I/O子***的角度的存储器布置的示意图;
图5举例说明了一个替换管理表;以及
图6举例说明了锁定高速缓冲存储器的分区。
具体实施方式
在下述讨论中,给出了许多特定的细节,以提供对本发明的全面理解。但是,对本领域熟练的技术人员来说,显然可以不需要这些特定的细节而实施本发明。在其它实例中,为了不会在不必要的细节上难于理解本发明,已经以示意图或方块图的形式对众所周知的元件进行了说明。
还应注意到,除非另外指明,这里所述的所有功能可以在硬件、软件或这两者的一些结合体中完成。然而,在一个优选的实施方式中,这些功能是由处理器,例如计算机或电子数据处理器,依照代码,例如计算机程序代码,软件,和/或编码成用来实现这些功能的集成电路完成的,除非另外指明。
图1示出了用于将从I/O子***转移来的数据存储到锁定高速缓冲存储器的***的方块图。处理器102与高速缓冲存储器110、高速缓冲存储器控制器106和第一地址范围寄存器组104相连。替换管理表(RMT)108与该地址范围寄存器组104以及该高速缓冲存储器控制器106相连。该高速缓冲存储器控制器106和该高速缓冲存储器110与***总线112相连。第二地址范围寄存器组116与***总线112和RMT 108相连。该***总线112还与输入/输出(I/O)子***114相连。在本发明的一个实施方式中,锁定高速缓冲存储器包括多集合联合(set-associative)高速缓冲存储器110的一个集合或多个集合,但不是所有集合。其余集合用于常规高速缓冲存储器。将高速缓冲存储器110划分为多个不相交的集合,用于常规高速缓冲存储器和锁定高速缓冲存储器,能使写入锁定高速缓冲存储器的数据免于被写入到以常规方式使用的高速缓冲存储器的数据所盖写。
对于处理器102和I/O子***104这两者,可以将锁定高速缓冲存储器中的空间看作是附加***存储器,其地址范围要高于实际主***存储器的地址范围。在本发明的一个实施方式中,两寄存器组,用于处理器102的第一地址范围寄存器组104和用于I/O设备的第二地址范围寄存器组116,确定对锁定高速缓冲存储器的访问。这两组包括两个地址范围寄存器和一个掩码寄存器。将装载或存储指令/总线命令的访问地址与地址范围寄存器的内容进行比较。然后,提供一个class_id,其作为在替换管理表(RMT)108中的索引。RMT 108指示高速缓冲存储器110的哪些集合可用于装载或存储指令/总线命令。访问地址在特定范围内的事务可以访问锁定高速缓冲存储器。将其它事务写入高速缓冲存储器110的其它集合或路中。
对锁定高速缓冲存储器的访问是在软件的控制下进行的。当处理器102或I/O子***114完成将数据写入高速缓冲存储器110的锁定部分时,其可以发出一个信号,表示该数据是可用的。一旦得到通知,使用该数据的处理器102或I/O子***114从高速缓冲存储器110的锁定部分获得该数据,并发出一个信号,表示已经读取该数据。然后,存储该数据的空间可用于另外的写入。为了确保数据的有效性,由一个设备正在将数据写入的锁定高速缓冲存储器的一个区域不能同时被另一个设备读取或写入。
作为图1***的结果,处理器102和I/O子***114两者都可以将新生成的数据写入锁定高速缓冲存储器中,而不是写入到速度慢很多的主存储器中。而且,处理器102和I/O子***114这两者可以从锁定高速缓冲存储器装载数据,避免从主存储器装载该数据所产生的延迟。开始,将数据写入锁定高速缓冲存储器,并锁定在高速缓冲存储器110中,直至其被访问。
在高速缓冲存储器的锁定部分中,数据被标志为有效的和修改的。当IO控制器或其它设备访问这一数据时,装载该数据的IO控制器或其它设备发出装载但并不修改的请求。高速缓冲存储器监听这一请求。在给出数据状态下,高速缓冲存储器控制器106将介入,以满足这一请求。当锁定高速缓冲存储器地址范围内的数据由处理器装载时,作为高速缓冲存储器命中,高速缓冲存储器控制器106将数据返回给处理器。
当正在从***总线112存储数据时,高速缓冲存储器控制器106将通过使用地址范围信息检测该事务。如果地址在用于访问锁定高速缓冲存储器的地址范围内,高速缓冲存储器控制器106将用新数据更新高速缓冲存储器110的锁定集合,但不改变高速缓冲存储器状态。这一地址范围内的数据是从处理器102存储的,因为“有效的和修改的”高速缓冲存储器状态,不需要总线事务。
图2示出了一个流程图,其举例说明了I/O子***114将数据存储到锁定高速缓冲存储器中。在步骤202中,I/O子***114向***总线112发送存储请求。在步骤204中,高速缓冲存储器控制器106使用地址范围寄存器组116中的一对地址范围寄存器,检查该请求的地址范围。在本发明的一个实施方式中,高速缓冲存储器控制器还可以使用掩码寄存器。在步骤205中,确定该请求的地址是否在范围内。如果该地址在用于锁定高速缓冲存储器的范围内,则在步骤206中,将数据写入锁定高速缓冲存储器。如果该地址不在范围内,则在步骤208中,将数据写入高速缓冲存储器的非锁定部分或***存储器。在本发明的一个实施方式中,在步骤208中,将数据写入***存储器。在本发明的另一个实施方式中,在步骤208中,将数据写入***存储器和高速缓冲存储器110,但不是用于锁定高速缓冲存储器的高速缓冲存储器部分。而在本发明的又一个实施方式中,在步骤208中,将数据写入高速缓冲存储器110,但不是用于锁定高速缓冲存储器的部分。
图3示出了一个流程图,其举例说明了当处理器存储数据时的地址范围检查。在步骤302中,处理器102发出存储请求。在步骤304中,地址范围寄存器组104中的一对地址范围寄存器检查该请求的地址范围。在本发明的一个实施方式中,地址范围寄存器组104还可以包含掩码寄存器。在步骤305中,确定该请求的地址是否在范围内。如果地址在用于锁定高速缓冲存储器的范围内,则在步骤306中,将数据写入锁定高速缓冲存储器。如果地址不在范围内,则在步骤308中,将数据写入高速缓冲存储器的非锁定部分或***存储器。在本发明的三个不同实施方式中,在步骤308中,分别将数据写入***存储器中;写入***存储器和高速缓冲存储器110,但不是用于锁定高速缓冲存储器的高速缓冲存储器部分;以及写入高速缓冲存储器110,但不是用于锁定高速缓冲存储器的部分。
图4是示出了从I/O子***的角度的存储器布置的示意图。锁定高速缓冲存储器看来好像是地址范围位于主***存储器之上的附加***存储器。在图4中,主存储器以地址OX60000(十六进制)结束,而锁定高速缓冲存储器包含地址OX60001(十六进制)至OX60FFF(十六进制)。图4中所示的锁定高速缓冲存储器包含4kb容量。锁定高速缓冲存储器容量与实现有关。尽管在图4中主存储器和锁定高速缓冲存储器地址空间是连续的,但在其它实施方式中,该地址空间并不必须是连续的。
图5示出了一个替换管理表(RMT)500,有四个条目行,502、504、506和508,每一行分别由二进制数00、01、10和11索引。RMT 500每行中的条目指示高速缓冲存储器中的哪些集合可用于事务。列对应于高速缓冲存储器110的路或集合。列中的1比特表明相应的路可用于事务,而0比特表明相应的路是不可用的。向涉及锁定高速缓冲存储器404的事务提供一个class_id,这个class_id给出了某一行的索引,在这一行中,包括锁定高速缓冲存储器的集合为1,而其它集合为0。向不涉及锁定高速缓冲存储器的事务提供一个class_id,这个class_id给出了某一行的索引,在这一行中,包括锁定高速缓冲存储器的集合为0,而高速缓冲存储器中至少一个不涉及锁定高速缓冲存储器的集合为1。对应于图5中RMT的高速缓冲存储器具有八个集合或路。第一集合用作锁定高速缓冲存储器,其余各集合用于常规高速缓冲存储器。对于RMT,存在有四行。对应于第二行504的索引01用于访问锁定高速缓冲存储器的事务。行504第一列中的“1”指示,用于锁定高速缓冲存储器的第一集合可用于该事务。行504其余各列中的“0”指示,高速缓冲存储器中的其它各集合对于该事务是不可用的。其它各行502、506和508指示,用于锁定高速缓冲存储器的集合是不可用的,不过,包括正常高速缓冲存储器的各集合是可用的。
在其它各实施方式中,可有多个集合用于锁定高速缓冲存储器。在那些实施方式中,软件选择存储特定数据的集合。软件可开始向锁定高速缓冲存储器的第一集合写入。当那一集合已满时,软件可开始向锁定高速缓冲存储器的第二集合写入。
图6举例说明了将锁定高速缓冲存储器划分为四个分区或段。处理器102可以将数据存储到前两个段中,而I/O子***114可以将数据存储到其余两个段中。因此,当处理器正在等待I/O子***114对已经写入到第一段602的数据进行访问时,可以将数据写入第二段604。相似地,当I/O子***114正在等待处理器102对已经写入到第四段608的数据进行访问时,可以将数据写入第三段606。从而,处理器102和I/O子***114两者可以避免在存储其它数据之前等待数据被访问的延迟。
通过参照其优选实施方式,对本发明进行了描述,应该注意,本质上,所公开的各实施方式是示意性的,而不是对本发明有所限制,而且可对前面公开的内容进行广泛的变形、修改、变化和替换,在某些实例中,可以使用本发明的一些特征,而没有使用相应的其他特征。对本领域熟练的技术人员来说,可在前面优选实施方式描述的评审的基础上,进行许多的变形和修改。因此,应当以一种与本发明范围相符的方式,对所附权利要求书作广泛的诠释。
Claims (13)
1.一种计算机***,用于将数据直接转移至锁定高速缓冲存储器,并将数据保留在那里,直至数据被访问用于使用,所述***包括:
处理器;
与处理器相连的高速缓冲存储器,其中高速缓冲存储器分成锁定高速缓冲存储器和非锁定高速缓冲存储器;
与处理器和高速缓冲存储器相连的高速缓冲存储器控制器;
与高速缓冲存储器相连的***总线;
与***总线相连的I/O子***;
一个或两个地址范围寄存器,存储用于访问锁定高速缓冲存储器的特定地址范围,从而锁定高速缓冲存储器看起来像是额外的***存储器;
其中I/O子***配置成发出一个将数据转移至锁定高速缓冲存储器,而不将数据也转移至***存储器的存储指令;
其中高速缓冲存储器控制器配置成确定存储指令是否在用于锁定高速缓冲存储器的特定地址范围内,并且如果存储指令在特定地址范围内,则将数据从I/O子***存储到锁定高速缓冲存储器;以及
其中处理器配置成响应装载来自I/O子***的存储在锁定高速缓冲存储器中的数据用于使用,发出一个信号,以指示来自I/O子***的存储在锁定高速缓冲存储器中的数据可以被盖写。
2.根据权利要求1所述的计算机***,
其中处理器配置成发出一个将数据写入锁定高速缓冲存储器,而不将数据也写入***存储器的请求,
其中高速缓冲存储器控制器配置成确定请求是否在用于锁定高速缓冲存储器的特定地址范围内,并且如果请求在特定地址范围内,则将数据从处理器存储到锁定高速缓冲存储器;以及
其中I/O子***配置成响应装载来自处理器的存储在锁定高速缓冲存储器中的数据用于使用,发出一个信号,以指示来自处理器的存储在锁定高速缓冲存储器中的数据可以被盖写。
3.根据权利要求1所述的计算机***,其中高速缓冲存储器包括多个集合或路,以及其中锁定高速缓冲存储器包括高速缓冲存储器中的一个或多个集合或路,但不是所有集合或路。
4.根据权利要求3所述的计算机***,还包括替换管理表RMT,其中RMT中的条目指示,高速缓冲存储器中哪一个集合或哪几个集合可用于事务。
5.一种方法,用于将数据直接转移至锁定高速缓冲存储器,并将数据保留在那里,直至数据被访问用于使用,该方法包括:
将一个高速缓冲存储器分成锁定高速缓冲存储器和非锁定高速缓冲存储器;
由高速缓冲存储器控制器从I/O子***接收存储指令;
由高速缓冲存储器控制器确定存储指令是否在用于访问锁定高速缓冲存储器的特定地址范围内,其中一个或两个地址范围寄存器存储特定地址范围,从而锁定高速缓冲存储器看起来像是额外的***存储器;
如果存储指令在特定地址范围内,将数据从I/O子***转移至锁定高速缓冲存储器;以及
响应装载来自I/O子***的存储在锁定高速缓冲存储器中的数据用于使用,发出一个信号,以指示来自I/O子***的存储在锁定高速缓冲存储器中的数据可以被盖写。
6.根据权利要求5所述的方法,还包括在数据被从I/O子***转移至锁定高速缓冲存储器时发出一个信号的步骤。
7.根据权利要求5所述的方法,还包括步骤:
由高速缓冲存储器控制器从处理器接收存储请求;
由高速缓冲存储器控制器确定存储请求是否在用于访问锁定高速缓冲存储器的特定地址范围内,如果存储请求在特定地址范围内,将数据从处理器转移至锁定高速缓冲存储器;以及
响应装载来自处理器的存储在锁定高速缓冲存储器中的数据用于使用,发出一个信号,以指示来自处理器的存储在锁定高速缓冲存储器中的数据可以被盖写。
8.根据权利要求7所述的方法,还包括步骤:
分区锁定高速缓冲存储器;
将锁定高速缓冲存储器的一个或多个分区,但不是所有分区,分配给I/O子***;以及
将未分配给I/O子***的一个或多个分区分配给计算机***的处理器;
其中将从I/O子***转移至锁定高速缓冲存储器的数据仅仅写入分配给I/O子***的锁定高速缓冲存储器的分区,将从处理器写入锁定高速缓冲存储器的数据仅仅写入分配给处理器的锁定高速缓冲存储器的分区。
9.根据权利要求8所述的方法,其中将多个分区分配给I/O子***,以及在完成将数据从I/O子***转移至第一分区之后,将数据从I/O子***转移至第二分区。
10.根据权利要求5所述的方法,其中高速缓冲存储器包括多个集合或路,以及其中锁定高速缓冲存储器包括高速缓冲存储器中的一个或多个集合或路,但不是所有集合或路。
11.根据权利要求10所述的方法,其中使用RMT指示高速缓冲存储器中哪一个集合或哪几个集合可用于事务。
12.根据权利要求5所述的方法,其中在锁定高速缓冲存储器中的数据标记为“有效的和修改的”。
13.根据权利要求12所述的方法,其中装载数据用于使用包括:
发出装载,但不打算修改请求;
监听请求;以及
传输来自高速缓冲存储器的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/976,263 | 2004-10-28 | ||
US10/976,263 US7290107B2 (en) | 2004-10-28 | 2004-10-28 | Direct deposit using locking cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1766853A CN1766853A (zh) | 2006-05-03 |
CN100440174C true CN100440174C (zh) | 2008-12-03 |
Family
ID=36263476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100826347A Expired - Fee Related CN100440174C (zh) | 2004-10-28 | 2005-07-06 | 使用锁定高速缓冲存储器用于直接存入的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7290107B2 (zh) |
JP (1) | JP5039913B2 (zh) |
CN (1) | CN100440174C (zh) |
HK (1) | HK1090451A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7290106B2 (en) * | 2004-10-28 | 2007-10-30 | International Business Machines Corporation | Method for processor to use locking cache as part of system memory |
US7290107B2 (en) * | 2004-10-28 | 2007-10-30 | International Business Machines Corporation | Direct deposit using locking cache |
US7533238B2 (en) * | 2005-08-19 | 2009-05-12 | International Business Machines Corporation | Method for limiting the size of a local storage of a processor |
US7596661B2 (en) * | 2005-09-01 | 2009-09-29 | Mediatek Inc. | Processing modules with multilevel cache architecture |
JP2008226141A (ja) * | 2007-03-15 | 2008-09-25 | Toshiba Corp | プログラムおよび情報処理装置 |
US8117412B2 (en) * | 2008-03-12 | 2012-02-14 | GM Global Technology Operations LLC | Securing safety-critical variables |
CN102567220A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | Cache存取的控制方法及装置 |
CN103019954A (zh) * | 2011-09-22 | 2013-04-03 | 瑞昱半导体股份有限公司 | 高速缓存装置与高速缓存数据存取方法 |
CN104281443B (zh) * | 2013-07-12 | 2020-06-26 | 锐迪科(重庆)微电子科技有限公司 | 利用tcm实现代码、数据替换的方法 |
CN103473184B (zh) * | 2013-08-01 | 2016-08-10 | 记忆科技(深圳)有限公司 | 文件***的缓存方法及*** |
US20170083461A1 (en) * | 2015-09-22 | 2017-03-23 | Qualcomm Incorporated | Integrated circuit with low latency and high density routing between a memory controller digital core and i/os |
US20200218659A1 (en) * | 2019-01-09 | 2020-07-09 | Alibaba Group Holding Limited | Systems and methods for secure locking of a cache region |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732242A (en) * | 1995-03-24 | 1998-03-24 | Silicon Graphics, Inc. | Consistently specifying way destinations through prefetching hints |
US5737565A (en) * | 1995-08-24 | 1998-04-07 | International Business Machines Corporation | System and method for diallocating stream from a stream buffer |
US20010001873A1 (en) * | 1998-07-31 | 2001-05-24 | Hewlett-Packard Company | Method and apparatus for replacing cache lines in a cache memory |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3495266B2 (ja) | 1998-11-13 | 2004-02-09 | Necエレクトロニクス株式会社 | キャッシュロック装置及びキャッシュロック方法 |
US6282637B1 (en) * | 1998-12-02 | 2001-08-28 | Sun Microsystems, Inc. | Partially executing a pending atomic instruction to unlock resources when cancellation of the instruction occurs |
US6859862B1 (en) * | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
EP1182567B1 (en) * | 2000-08-21 | 2012-03-07 | Texas Instruments France | Software controlled cache configuration |
GB2368150B (en) * | 2000-10-17 | 2005-03-30 | Advanced Risc Mach Ltd | Management of caches in a data processing apparatus |
JP4822598B2 (ja) * | 2001-03-21 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | キャッシュメモリ装置およびそれを含むデータ処理装置 |
US20030014596A1 (en) * | 2001-07-10 | 2003-01-16 | Naohiko Irie | Streaming data cache for multimedia processor |
US7155572B2 (en) * | 2003-01-27 | 2006-12-26 | Advanced Micro Devices, Inc. | Method and apparatus for injecting write data into a cache |
US7120651B2 (en) * | 2003-08-01 | 2006-10-10 | Oracle International Corporation | Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping |
WO2005102647A2 (en) * | 2004-04-16 | 2005-11-03 | Advanced Plastics Technologies, Ltd | Compression moulding multi-layered container-like articles |
US7290107B2 (en) | 2004-10-28 | 2007-10-30 | International Business Machines Corporation | Direct deposit using locking cache |
US7290106B2 (en) * | 2004-10-28 | 2007-10-30 | International Business Machines Corporation | Method for processor to use locking cache as part of system memory |
-
2004
- 2004-10-28 US US10/976,263 patent/US7290107B2/en not_active Expired - Fee Related
-
2005
- 2005-07-06 CN CNB2005100826347A patent/CN100440174C/zh not_active Expired - Fee Related
- 2005-10-27 JP JP2005313388A patent/JP5039913B2/ja not_active Expired - Fee Related
-
2006
- 2006-11-01 HK HK06112000A patent/HK1090451A1/xx not_active IP Right Cessation
-
2007
- 2007-10-19 US US11/875,407 patent/US7590802B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732242A (en) * | 1995-03-24 | 1998-03-24 | Silicon Graphics, Inc. | Consistently specifying way destinations through prefetching hints |
US5737565A (en) * | 1995-08-24 | 1998-04-07 | International Business Machines Corporation | System and method for diallocating stream from a stream buffer |
US20010001873A1 (en) * | 1998-07-31 | 2001-05-24 | Hewlett-Packard Company | Method and apparatus for replacing cache lines in a cache memory |
Also Published As
Publication number | Publication date |
---|---|
US20060095669A1 (en) | 2006-05-04 |
US7590802B2 (en) | 2009-09-15 |
HK1090451A1 (en) | 2006-12-22 |
US20080040549A1 (en) | 2008-02-14 |
JP5039913B2 (ja) | 2012-10-03 |
JP2006134324A (ja) | 2006-05-25 |
CN1766853A (zh) | 2006-05-03 |
US7290107B2 (en) | 2007-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100440174C (zh) | 使用锁定高速缓冲存储器用于直接存入的***和方法 | |
US7827354B2 (en) | Victim cache using direct intervention | |
US7305523B2 (en) | Cache memory direct intervention | |
CN101410797B (zh) | 无序处理器中的事务存储器执行的方法、设备和*** | |
US5940856A (en) | Cache intervention from only one of many cache lines sharing an unmodified value | |
US5946709A (en) | Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing | |
US5963974A (en) | Cache intervention from a cache line exclusively holding an unmodified value | |
US20170242794A1 (en) | Associative and atomic write-back caching system and method for storage subsystem | |
KR100273039B1 (ko) | 멀티프로세서 데이터 처리 시스템의 캐쉬 일관성을 유지하기위한 캐쉬 일관성 프로토콜 제공 방법 및시스템 | |
US5940864A (en) | Shared memory-access priorization method for multiprocessors using caches and snoop responses | |
US20050188159A1 (en) | Computer system supporting both dirty-shared and non dirty-shared data processing entities | |
US6751705B1 (en) | Cache line converter | |
US6915396B2 (en) | Fast priority determination circuit with rotating priority | |
US20020169935A1 (en) | System of and method for memory arbitration using multiple queues | |
US5943685A (en) | Method of shared intervention via a single data provider among shared caches for SMP bus | |
US6950909B2 (en) | System and method for reducing contention in a multi-sectored cache | |
CN106227674B (zh) | 缓存一致性控制器及方法 | |
US10949292B1 (en) | Memory interface having data signal path and tag signal path | |
US20060080506A1 (en) | Data replication in multiprocessor NUCA systems to reduce horizontal cache thrashing | |
US6950906B2 (en) | System for and method of operating a cache | |
US7596665B2 (en) | Mechanism for a processor to use locking cache as part of system memory | |
EP0533427B1 (en) | Computer memory control system | |
CN1215416C (zh) | 多处理器计算机***中的读取操作 | |
US6658536B1 (en) | Cache-coherency protocol with recently read state for extending cache horizontally | |
JPH0210446A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1090451 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1090451 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081203 Termination date: 20200706 |
|
CF01 | Termination of patent right due to non-payment of annual fee |