CN1145887C - 数据处理的装置和方法 - Google Patents

数据处理的装置和方法 Download PDF

Info

Publication number
CN1145887C
CN1145887C CNB008087458A CN00808745A CN1145887C CN 1145887 C CN1145887 C CN 1145887C CN B008087458 A CNB008087458 A CN B008087458A CN 00808745 A CN00808745 A CN 00808745A CN 1145887 C CN1145887 C CN 1145887C
Authority
CN
China
Prior art keywords
mode bit
storer
bit
classification relationship
mode
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 - Lifetime
Application number
CNB008087458A
Other languages
English (en)
Other versions
CN1355901A (zh
Inventor
Sc
S·C·瓦特
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN1355901A publication Critical patent/CN1355901A/zh
Application granted granted Critical
Publication of CN1145887C publication Critical patent/CN1145887C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Abstract

提供了一种数据处理装置,它包含:一个存储器,可操作用于存储多个数据字,每个数据字与至少一个状态位有关,该状态位给出了关于所述数据字一个状态的信息;一个可操作用于在一个分级关系内存储所述状态位的状态位存储器,从而使关于在所述分级关系内第一级的多个第一级状态位的组合状态由在所述分级关系内第二级的一个第二级状态位来指示,在所述分级关系中所述第二级高于所述第一级;以及可操作用于确定在所述存储器内一个数据字的一个状态的状态查询逻辑,该确定是通过从在所述分级关系内的顶级开始、在所述状态位存储器内检查状态位进行的,并且通过所述分级关系一直向下进行,直到达到表示所述数据字的所述状态独立于所述分级关系中较低的任何状态位的一个状态位为止。这样,通过修改在该等级关系中相对较少的较高级状态位,对状态位进行全局或者大规模的改变,因此利用所需降低等级的专用硬件就可以获得高速改变。

Description

数据处理的装置和方法
这个发明涉及数据处理系统。本发明尤其涉及使用高速缓冲存储器的数据处理系统,在该高速缓冲存储器内至少包括一个状态位与每个数据字有关。
众所周知,提供的高速缓冲存储器、诸如在附图的图1中说明的那样,包括存储器2,该存储器2包含一个高速缓冲RAM存储器4中的数据行的地址TAG。该高速缓存RAM存储器4由多个高速缓存线6组成,每个高速缓存线6存储四个数据字。多个有效位和页面重写标志位8与每个高速缓存线6有关。状态位8的通常类型是一个有效位10和一个页面重写标志位12。有效位10表明该高速缓存线是否存储有效数据,例如在启动时每个高速缓存线6都必须被标记为存储无效数据。页面重写标志位12表示在一个回写式高速缓存结构的环境中,至少一个和该高速缓存线6一起的数据字自它从主存储器中读取以来已经改变了,因此当该高速缓存线6从该高速缓存中刷新或者在该高速缓存内被代替时,需要将该数据字写回到主存储器中。将可以看到:利用这些状态位8,能够在电路区域和精密控制程度之间实现折衷,每个高速缓存线6都具有一个有效位10与之相关,以及一个页面重写标志位12与之相关(这是在大多数高速缓存实现中使用的方案)。因此,在一个高速缓存线6内的四个数据字共享这些状态位8。
在某些操作情况中,期望对一个高速缓存系统的所有高速缓存线6的状态位8进行全局改变。举例来说,当系统启动时,在一个MMU改变或一个上下文转换之后,经常必须通过标记每条高速缓存线6的所有有效位10为无效来刷新整个高速缓存的内容。一种做这件事的方法是顺序地访问每一个有效位10并且把它写成无效。在一个可能包含数以千计高速缓存线6的高速缓存系统中,这个操作能够花费数以千计的处理周期,而且显著地影响系统性能。顺序并逐一地改变每一状态位8的替换方法是通过能够并行改变这些状态位的专用硬件进行一个全局改变。虽然这能够提供快速的操作,但是它具有为这个专用硬件耗费电路区域、以及一般需要为一个更通用系统设计的每个实现进行定制设计的缺点。
US-A-5475849中公开了一种用于一个多处理系统的存储器控制设备,其中该系统具有多个处理器,每个处理器共享一个主存储器,同时具有它们自己的缓冲存储器或高速缓存。该系统使用前端地址阵列(FAA)用于匹配在独立的缓冲存储器和主存储器之间的控制。为了限制需要的FAA的数目而不会过度地增加用于FAA检索的等待时间,该系统包含:块有效存储器(BVM),它具有入口用于该主存储器中的每个存储单元;以及块组有效表格(BGVT),它具有入口用于与每个缓冲存储器有关的每个存储单元组。一个存储器请求中,首先访问该BGVT,而且如果包含该请求单元的块的部分或全部存在于与这个BGVT有关的缓冲存储器中的话,就产生一个有效信号。在这之后,访问相应的BVM,而且如果这产生了一个有效信号,则存储单元就存在于该缓存中,然后再访问FAA。如果产生了一个无效信号,则该请求被忽略,而且不发送给FAA。
US-A-5539894公开了一种具有带有块有效位和子块有效位的高速缓存标记的高速缓存。
本发明涉及提供以高速、尽可能象一个处理周期那样快的速度来改变状态位的机构,而不用必须提供用于并行存取所有这些状态位的定制硬件。
从一个方面考虑,本发明提供了用于数据处理的装置,所述装置包含:
一个可操作用于储存多个数据字的存储器,每个数据字与至少一个状态位有关,其中该状态位给出了关于所述数据字的一个状态的信息;
一个可操作用于在一种分级关系内存储所述状态位的状态位存储器,从而使关于在所述分级关系内第一级的多个第一级状态位的组合状态由在所述分级关系内第二级的一个第二级状态位来指示,在所述分级关系中所述第二级高于所述第一级;以及
可操作用于确定在所述存储器内的一个数据字的一个状态的状态查询逻辑,该确定是通过从在所述分级关系内的顶级开始、在所述状态位存储器内检查状态位进行的,并且通过所述分级关系一直向下进行,直到达到表示所述数据字的所述状态独立于所述分级关系中较低的任何状态位的一个状态位为止;而且其特征在于:
所述装置可操作用于:通过修改那些仅仅在所述分级关系的最高级内的状态位,来指示存储在所述存储器内的所有数据字的状态中的一个全局改变。
本发明提供了以一种分级关系排列(最少具有两级)的状态位,从而使在该存储器内多个数据字状态的全局或大规模改变,可以通过改变在顶端或趋于该分级关系顶端的相对少数状态位来实现,而不用必须逐一改变与每个用于状态改变的数据字相关的每个状态位。这样,用于进行状态位全局或大规模改变的时间能够显著地减少,而且不需要提供用于并行进行所有状态位大规模改变的定制硬件。可以意识到许多数据字可以共享状态位。在某些实施例中,该分级体系可以是有效位,而这些位涉及的数据字包括TAG值、数据字、页面重写标志位及其他状态位。
该状态位能够表示与它们相关的数据字的各种不同属性。然而,本发明尤其适合于这样的实施例,其中状态位是表示存储在该存储器内的数据字有效性的有效位。
有效位经常进行全局或大规模的改变,因此本发明在允许这些有效位更快速的改变以及降低硬件成本方面尤其有用。
可以理解,在该分级关系内的最低级能够为每个数据字提供一个独立状态位。因此,如果该存储器是一个高速缓冲存储器、且一条高速缓存线存储四个数据字,则有可能有四个单独的有效位和那条高速缓存线相关,以表明每个独立数据字的有效性。然而,在本发明的最佳实施例中,一个最低级的状态位涉及多个数据字。这提供了在能够实现的精密控制粒度和提供该状态位所要求的硬件资源之间一个令人满意的折衷。
更特别地,将一个最低级状态位与在该高速缓冲存储器一个高速缓存行内的所有数据字相关联是非常方便的。在某些实施例中,一个高速缓存行可以被认为包含它相关的TAG值和页面重写标志位。
由于通常高速缓存在一个高速缓存行接着一个高速缓存行的基础上访问和读取主存储器,以致于由于实际上与大多数存储器存取有关的暂时和空间局部性,在一个高速缓存行级别以下的状态信息是极少需要的,所以已经发现这个方案是高效的。
本发明本身适用于这样的实施例,其中的状态位存储器包含一个RAM存储器,用于存储由多个状态位形成的状态位字。在这些状态位和状态查询逻辑之间的分级关系是这样,以至在分级关系内接近较低级的状态位能够被存储在RAM存储器内而不会显著地影响性能,而且与定制锁存器或寄存器相比,由此获得了RAM存储器存储密度的优点。
状态位在RAM存储器内的存储允许它们作为从RAM存储器中访问的状态位字被方便地操作。
在操作状态位字的过程中,一个典型的操作将是容易由在许多系统内现有的数据处理结构支持的一个读-修改-写操作。还可能需要单独的读和写操作,而且在某些RAM存储器中,仅仅可以支持读和写操作。
与在该状态位存储器内的最低级使用高密度RAM存储器相反,在最佳实施例中,至少在该分级关系内的最高级使用寄存器位电路(D-类型)来存储状态位。锁存电路能够响应预定义的输入或状态,诸如启动、MMU改变、上下文转换等等,非常快速地被访问及改变。并因此利用相对少或没有定制的硬件,提供了快速的全局或大规模的状态改变。
和存储在一个RAM内、在逐字的基础上被访问和操作的状态位相比,存储在一个锁存器内的状态位一般能够被访问和操作。
在某些实施例中,在该分级关系内的最高级可包含单个状态位。在这种情况下,一个高速缓冲存储器数据字的整个状态能够通过单独改变在最高级的这个状态位而改变。
为了从本发明的状态位存储器和状态查询逻辑中获得实质优点,非常期望这样的布置,即对整个存储器的全局改变能够通过仅仅修改该分级关系的最高级而进行,而且提供足够的硬件支持使得可以在单个处理周期内执行这样的一个全局改变。这在一个高速缓冲存储器的环境中是尤其有利的。
可以理解:虽然状态位全局改变可以利用在这样的一种分级关系内较少位的改变而进行,但是从最低级开始的独立状态位设置可以认为是要花费很长时间,是因为该改变将不得不在整个分级关系中向上反映。然而,本发明认为在一个高速缓冲存储器的环境下,一个高速缓存填充操作一般是相对慢的,因此与高速缓存填充有关的许多状态位改变事实上可以具有足够的时间,以允许在该分级关系内所有必要的状态位改变而不影响总的操作速度。可以并行改变状态位以进一步提高效率。
从另一个方面看,本发明提供了一种处理数据的方法,所述方法包含如下步骤:
在一个存储器内储存多个数据字,每个数据字与至少一个状态位有关,其中该状态位给出了关于所述数据字的一个状态信息;
在一个分级关系内存储所述状态位,从而使关于在所述分级关系内第一级的多个第一级状态位的组合状态由在所述分级关系内第二级的一个第二级状态位来指示,在所述分级关系中所述第二级高于所述第一级;
确定在所述存储器内的一个数据字的一个状态,该确定是通过从在所述分级关系内的顶级开始检查状态位进行的,并且通过所述分级关系一直向下进行,直到达到表示所述数据字的所述状态独立于所述分级关系中较低的任何状态位的一个状态位为止;  而且其特征在于:
通过修改那些仅仅在所述分级关系最高级内的状态位,来指示存储在所述存储器内的所有数据字的状态的一个全局改变。
下面将结合附图对本发明的实施例进行描述,它仅仅作为举例,其中:
图1说明了使每条高速缓存线具有独立状态位的一个已知的高速缓存系统;
图2说明了一个高速缓存状态位存储器以及在一个分级关系中与此相关的状态位;
图3示意性地说明了用于处理高速缓存线TAG值和状态位的一个高速缓存系统的一部分;
图4说明了用于一个示例高速缓存结构、在一个数据字的地址位和一个状态位分级关系内用于那个数据字的状态位之间的关系;以及
图5说明了一个高速缓冲存储器系统的一部分的另一个实施例。
图2显示了一个由多条高速缓存线16组成的一个高速缓存数据字存储器14,其中每条高速缓存线16存储四个数据字。单个有效位18与每个高速缓存线16有关。八条连续的高速缓存线16的有效位被存储在单个状态位字20内,该状态位字20存储在一个状态位RAM存储器内。该状态位字20包含在分级关系内的最低级用于存储状态位。
每个状态位字20都与在该分级关系内较高级存储的一个状态位22有关,该状态位22表示在状态字20内所有状态位18的组合状态。这样,八个状态字20的状态能够由在该分级关系中下一个最高级内的一个状态字的八个位22指示。该下一个较高级本身能够在状态位RAM存储器内提供,或者是在接近该分级关系顶端的某些级,它利用锁存器(寄存器位)开始变得更有效地提供状态位储存,其中该锁存器(寄存器位)能够利用专用逻辑以相对高的速度进行改变。可以提供高于说明的二级的更多级别。
图3说明了用于存储高速缓存行TAG值和相关状态位的一个高速缓冲存储器系统的一部分。如果该高速缓存有256个高速缓存行,则提供一个256行的TAG存储器24为每个高速缓存行存储相关的TAG值。假定每个高速缓存行仅仅具有单个状态位(例如一个有效位),则用于这些256个高速缓存行的状态位能够被存储在包含在一个状态位RAM存储器26内的八个32位字内。这32位字表示在分级关系内存储状态位的最低级别。在该分级关系内的下一个最高级(在这个例子中是最高级)由一个8位寄存器28提供,其中该寄存器28的每一位都表示在状态位RAM存储器26内的一个32位状态位字的组合状态。
一个高速缓存控制器30和该TAG存储器24、状态位RAM存储器26以及状态位寄存器28相连。当对在该高速缓冲存储器内的一个数据字进行访问时,该高速缓存控制器30起状态查询逻辑的作用,同时它也提供其他的功能。当请求对一个数据字访问时,该高速缓存控制器30检查存储在状态位寄存器28和状态位RAM存储器26内的状态位。如果在该状态位寄存器28内的最高级、对应于在最低级的特定数据字的位表示该数据字是有效的,则该高速缓存控制器30继续检查在状态位RAM存储器26内、用于那个数据字的独立位(高速缓存行)。如果在状态位寄存器28内的位表示无效,则状态位RAM存储器26不需要被检查(虽然该检查可能事实上是并行执行的),是因为在较高级指示的无效覆盖了在较低级的任何表示。
高速缓存控制器30能够对在状态位寄存器28内的状态位进行高速访问,以致于在这个状态位寄存器28内的所有位能够在单个周期内、例如按要求在一次快速高速缓存刷新中,被设置用来指示无效。在状态位RAM存储器26内的状态位字能够按要求由一个读-修改-写操作进行访问,以便在该分级关系内的这个最低级对状态位进行精细改变。做为选择,可以执行单独的读和写操作。
图4说明了在一个128kB高速缓存内一个数据字的地址如何可以与状态位和其他控制数据相关的一个例子,其中的128kB高速缓存的每一行具有四个数据字而且是直接映射的。
地址32的上部形成了TAG值,它可以与存储在TAG存储器24内的TAG值相比较以确定特定的数据是否被高速缓存了。因为该高速缓存是直接映射的,所以如果那个数据存在于该高速缓存内的话,则该地址的一个中间部分34提供了到该高速缓存里的一个索引,以指示将存储该TAG值的TAG存储器的位置。在该地址的下端,字位W和字节位B指示在一个高速缓存行内哪个字位置被编址,以及如果允许按字节编址的话、在一个数据字内的哪个字节位置被编址。
用于这个高速缓冲存储器的状态位信息被保存在一个三级分级结构内。为每个高速缓存行存储了状态位,所以存在一个与每个索引值有关的状态位。这些索引值状态位能够被保存在一个由被编译的RAM存储器形成的256×16阵列内。在该三级阵列内的每一行都具有一个在该分级关系第二级内的相应状态位,该状态位本身被存储在一个16×16的阵列内。这个16×16的阵列也可以被存储在被编译的RAM存储器内。在该分级关系内的最高级(第一级)由16个寄存器位提供,每个寄存器位对应于第二级的每个阵列行。
图5举例说明了一个进一步的高速缓冲存储器结构。在这个例子中、提供了一个1024行的TAG存储器36用来存储TAG值。在该TAG存储器36内的每一行对应于一个高速缓存行,而且具有一个与之有关的状态位。因此,用于1024个高速缓存行的状态位能够被存储在一个32×32位字的RAM 38内,该RAM 38又形成了状态位存储器40的一部分。这个状态位RAM存储器38是在该分级关系内的最低级。在该分级关系内的最高级由32个寄存器位42提供,每个寄存器位对应于在状态位RAM存储器38内的每个32位字。
作为进一步的例子,在各种用于操作存储在一个包括一个状态位分级关系的高速缓冲存储器系统内的数据字的操作中涉及的步骤如下:
检查状态:
*从该分级结构的所有级中读取适当的位
*沿着该分级结构向下检查每个下一较低级是否是有效的
*如果任一级指示较低级别是无效的话,则返回缺省(重置)值
*否则,返回从最低级有效储存器读取的值
该状态位具有两个状态。在有效位的情况下,存在一个无效的重置状态,以及一个有效状态。为了将某些东西标记为有效的,必须标记在该分级结构中的所有级。该重置状态能够被认为是一个强状态,它能够由一个高级位来指示,而另一个状态为一个弱状态,对它来说在该分级结构中的所有位都必须一致。
在每个位置存储多个状态位的一个系统中,该分级结构的较高级只须包含单个位以指示在该分级结构中的较低级的有效性。
写状态:
*沿着该分级结构向下设置适当的位以指示向下的下一级是有效的
*当一个先前是无效的新行(该分级结构中的任一级)被标记为有效时,除了正被写入的值以外,整个行都必须用该重置值进行初始化
*在一行先前是有效的情况下,则要求一个读-修改-写操作以便仅仅更新适当的位
*在该分级结构的最低级应写入适当的数据,而且如果必要的话其它的状态位被写成它们的重置值。
重置状态:
*状态位的最高级应该被重置,以标记整个分级结构是无效的
在一个高速缓存系统中,该读-修改-写操作可以延续许多周期。由此产生的一些有趣的选择是:
*你仅仅需要维持有效位的一个分级结构,而不考虑有多少状态位被你保持在最低级(例如,四个有效位+页面重写标志位+其他状态位),即在该分级结构内的不同级能够储存不同的状态位。
*如果你这样做的,则如果访问到一个无效位置的话,读取该阵列的逻辑需要返回一个“重置”状态。
*并不是仅仅维持有效位的分级结构,通过该分级结构跟踪其他状态可能是有利的。例如,既维持一个有效分级结构又维持一个无效分级结构——这将允许人们更快速地搜寻无效高速缓存的位置。

Claims (17)

1.用于数据处理的装置,所述装置包含:
一个可操作用于储存多个数据字的存储器(14),每个数据字与至少一个状态位(18)有关,该状态位(18)给出了关于所述数据字的一个状态的信息;
一个可操作用于在一个分级关系内存储所述状态位的状态位存储器(26,28,40),从而使关于在所述分级关系内第一级的多个第一级状态位的组合状态由在所述分级关系内第二级的一个第二级状态位(22)来指示,在所述分级关系中所述第二级高于所述第一级;以及
可操作用于确定在所述存储器内的一个数据字一个状态的状态查询逻辑(30),该确定是通过从在所述分级关系内的顶级开始、在所述状态位存储器内检查状态位进行的,并且通过所述分级关系一直向下进行,直到达到表示所述数据字的所述状态独立于所述分级关系中较低的任何状态位的一个状态位为止;其特征在于,
所述装置可操作用于:通过修改那些仅仅在所述分级关系的最高级内的状态位,来指示存储在所述存储器内的所有数据字的状态中的一个全局改变。
2.如权利要求1所述的装置,其特征在于:所述状态位是表示存储在所述存储器(14)内的数据字有效性的有效位。
3.在权利要求1和2中任何一个所述的装置,其特征在于:在所述分级关系内的最低级,一个最低级状态位和存储在所述存储器(14)内的多个数据字有关。
4.如权利要求1所述的装置,其特征在于:所述存储器是一个高速缓冲存储器(14)。
5.如权利要求4所述的装置,其特征在于:所述高速缓冲存储器(14)包含多个高速缓存行,每个高速缓存行存储多个数据字,而且一个最低级状态位和在所述高速缓冲存储器一个高速缓存行内的所有数据字有关。
6.如权利要求1所述的装置,其特征在于:所说状态位存储器(26,28,40)包括一个RAM存储器(26,38),用于存储由多个状态位形成的状态位字(20)。
7.如权利要求6所述的装置,其特征在于:在所述状态位字(20)内的状态位(18)可以作为所述状态位字的一部分进行访问和操作。
8.如权利要求7所述的装置,其特征在于:一个状态位(18)由一个状态字(20)读-修改-写操作在所述RAM存储器(26,38)上进行操作。
9.如权利要求1所述的装置,其特征在于:所述状态位存储器在所述分级关系内至少包含一个最高级,其中所述分级关系包含至少一个可操作用于储存一个状态位的寄存器位电路(28,42)。
10.如权利要求9所述的装置,其特征在于:存储在一个寄存器位内的一个状态位可以被单独访问和操作。
11.如权利要求1所述的装置,其特征在于:在所述分级关系内的最高级包含单个状态位。
12.如权利要求4所述的装置,其特征在于:所述状态位存储器是可操作的,从而使通过对在所述分级关系最高级内的最高级状态位的一个改变,在单个处理周期内提供对所述高速缓冲存储器内的所有数据字的状态的一个全局改变。
13.如权利要求4所述的装置,其特征在于:响应于下列中的一个,对所述高速缓冲存储器内的所有数据字的状态进行一个全局改变:
(i)一个高速缓冲存储器刷新操作;
(ii)在控制对所述数据字访问的一个存储器管理单元的配置方面的一个改变;以及
(iii)在所述装置上控制软件操作的一个操作系统的一个上下文切换。
14.如权利要求4所述的装置,其特征在于:利用一个持续多个处理周期的高速缓存填充操作将数据字存储到所述高速缓冲存储器里,而且所述状态位存储器可操作用于修改与在所述多个处理周期期间被存储到所述高速缓冲存储器里的所述数据字相关的状态位。
15.如权利要求1所述的装置,其特征在于:所述分级关系是三级或更多级深度。
16.如权利要求1所述的装置,其特征在于:在所述分级关系内的不同级储存不同的状态位。
17.一种处理数据的方法,所述方法包含以下步骤:
在一个存储器内储存多个数据字,每个数据字与至少一个状态位有关,该状态位给出了关于所述数据字的一个状态的信息;
在一个分级关系内存储所述状态位,从而使关于在所述分级关系内第一级的多个第一级状态位的组合状态由在所述分级关系内第二级的一个第二级状态位来指示,在所述分级关系中所述第二级高于所述第一级;以及
确定在所述存储器内的一个数据字的一个状态,该确定是通过从在所述分级关系内的顶级开始检查状态位进行的,并且通过所述分级关系一直向下进行,直到达到表示所述数据字的所述状态独立于所述分级关系中较低的任何状态位的一个状态位为止;其特征在于:
通过修改那些仅仅在所述分级关系的最高级内的状态位,来指示存储在所述存储器内的所有数据字的状态的一个全局改变。
CNB008087458A 1999-06-08 2000-02-04 数据处理的装置和方法 Expired - Lifetime CN1145887C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9913348A GB2350910A (en) 1999-06-08 1999-06-08 Status bits for cache memory
GB9913348.0 1999-06-08

Publications (2)

Publication Number Publication Date
CN1355901A CN1355901A (zh) 2002-06-26
CN1145887C true CN1145887C (zh) 2004-04-14

Family

ID=10854970

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008087458A Expired - Lifetime CN1145887C (zh) 1999-06-08 2000-02-04 数据处理的装置和方法

Country Status (12)

Country Link
US (1) US6272033B1 (zh)
EP (1) EP1190325B1 (zh)
JP (1) JP2003501744A (zh)
KR (1) KR100606873B1 (zh)
CN (1) CN1145887C (zh)
DE (1) DE60003426T2 (zh)
GB (1) GB2350910A (zh)
IL (2) IL145651A0 (zh)
MY (1) MY120377A (zh)
RU (1) RU2237278C2 (zh)
TW (1) TW507124B (zh)
WO (1) WO2000075785A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2369691B (en) * 2000-11-29 2003-06-04 Sun Microsystems Inc Control logic for memory modification tracking
GB2369694B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Efficient memory modification tracking
GB2369690B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Enhanced protection for memory modification tracking
US6965970B2 (en) * 2001-09-27 2005-11-15 Intel Corporation List based method and apparatus for selective and rapid cache flushes
JP4434534B2 (ja) * 2001-09-27 2010-03-17 株式会社東芝 プロセッサ・システム
US7412433B2 (en) * 2002-11-19 2008-08-12 International Business Machines Corporation Hierarchical storage management using dynamic tables of contents and sets of tables of contents
US20040199723A1 (en) * 2003-04-03 2004-10-07 Shelor Charles F. Low-power cache and method for operating same
US7674671B2 (en) * 2004-12-13 2010-03-09 Optomec Design Company Aerodynamic jetting of aerosolized fluids for fabrication of passive structures
CN101021858A (zh) * 2007-01-29 2007-08-22 华为技术有限公司 一种数据存储方法及装置及数据查找、添加、删除方法
US7685181B2 (en) * 2007-02-26 2010-03-23 International Business Machines Corporation Method and system for utilizing a hierarchical bitmap structure to provide a fast and reliable mechanism to represent large deleted data sets in relational databases
JP2008234074A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd キャッシュ装置
US8347029B2 (en) * 2007-12-28 2013-01-01 Intel Corporation Systems and methods for fast state modification of at least a portion of non-volatile memory
US20090300293A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Dynamically Partitionable Cache
CN102571569B (zh) * 2011-12-28 2015-04-01 方正国际软件有限公司 一种报文预知方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4426682A (en) * 1981-05-22 1984-01-17 Harris Corporation Fast cache flush mechanism
DE3919802C2 (de) * 1988-06-17 1997-01-30 Hitachi Ltd Speichersteuersystem für ein Multiprozessorsystem
US5539894A (en) * 1993-04-20 1996-07-23 Sun Microsystems, Inc. Method and apparatus for optimizing a sector cache tag, block and sub-block structure base on main memory size
US5568416A (en) * 1994-03-24 1996-10-22 Kawasaki Steel Corporation Associative memory
EP0760134A1 (de) 1994-05-11 1997-03-05 Gmd - Forschungszentrum Informationstechnik Gmbh Speichervorrichtung zum speichern von daten
US6046923A (en) * 1999-01-13 2000-04-04 Lucent Technologies Inc. Content-addressable memory architecture with column muxing

Also Published As

Publication number Publication date
DE60003426T2 (de) 2004-05-19
WO2000075785A1 (en) 2000-12-14
IL145651A (en) 2006-10-05
KR20020010922A (ko) 2002-02-06
CN1355901A (zh) 2002-06-26
MY120377A (en) 2005-10-31
US6272033B1 (en) 2001-08-07
IL145651A0 (en) 2002-06-30
KR100606873B1 (ko) 2006-07-31
EP1190325B1 (en) 2003-06-18
GB9913348D0 (en) 1999-08-11
RU2237278C2 (ru) 2004-09-27
TW507124B (en) 2002-10-21
DE60003426D1 (de) 2003-07-24
JP2003501744A (ja) 2003-01-14
GB2350910A (en) 2000-12-13
EP1190325A1 (en) 2002-03-27

Similar Documents

Publication Publication Date Title
CN100476760C (zh) 用于分级高速缓存行替换的方法、系统及装置
CN1145887C (zh) 数据处理的装置和方法
CN1129076C (zh) 多处理器系统高速缓冲存储器的测试方法
CN1317645C (zh) 具有基于线程标识符的缓存清除的多线程缓存方法和装置
US9152569B2 (en) Non-uniform cache architecture (NUCA)
CN103246613B (zh) 缓存装置及用于缓存装置的缓存数据获取方法
US8412907B1 (en) System, method and computer program product for application-level cache-mapping awareness and reallocation
CN1659525A (zh) 简化了缓存替换策略的实现的多线程缓存方法和装置
CN1940892A (zh) 逐出高速缓存的行的电路布置、数据处理系统和方法
CN1389790A (zh) 闪速存储器管理方法
CN1302393C (zh) 高速缓冲存储器系统和控制高速缓冲存储器系统的方法
US7925857B2 (en) Method for increasing cache directory associativity classes via efficient tag bit reclaimation
CN1908859A (zh) 降低高速缓存的功耗
US7721047B2 (en) System, method and computer program product for application-level cache-mapping awareness and reallocation requests
CN115168247B (zh) 用于并行处理器中动态共享存储空间的方法及相应处理器
CN1324483C (zh) 在缓存路中进行数据替换的系统和方法
CN100514311C (zh) 用于实现组合式数据/相关性高速缓存的方法和装置
US7007135B2 (en) Multi-level cache system with simplified miss/replacement control
US9697898B2 (en) Content addressable memory with an ordered sequence
US20070266199A1 (en) Virtual Address Cache and Method for Sharing Data Stored in a Virtual Address Cache
Sahuquillo et al. Splitting the data cache: A survey
CN1758230A (zh) 计算系统中支持热节点置换的方法与装置
Yeo et al. Hierarchical request-size-aware flash translation layer based on page-level mapping
CN100375065C (zh) 产生预测地址值的电路和方法
Tanaka et al. Highly Functional Memory Architecture for Large-Scale Data Applications

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
CX01 Expiry of patent term

Granted publication date: 20040414

CX01 Expiry of patent term