[发明专利]使用微标签的高速缓存存取有效
申请号: | 200910134623.7 | 申请日: | 2009-03-12 |
公开(公告)号: | CN101533371A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | L·-M·V·穆顿;N·J·P·霍特;G·E·格兰多;S·E·S·布罗希尔 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 王 岳;蒋 骏 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 标签 高速缓存 存取 | ||
技术领域
本发明涉及使用微标签(micro tag)来存取高速缓存(cache)。
背景技术
在数据处理装置内使用高速缓存来存储日益增加的大量数据。大量数据的存储可能使得存取在高速缓存内的数据成为相当复杂的过程,其需要相当大的尺寸的地址。因此对这样的地址的处理可能需要相当大量的功率和时间。为了降低花费在存取高速缓存内的存储单元(storage location)中的功率和时间,已经用许多方式来组织高速缓存。
一种配置高速缓存的普遍方式是所谓的“组相联”(set associative)高速缓存。16K字节(byte)的组相联高速缓存如图1中所示。示出的该高速缓存是这样的具有4路(way)11、12、13、14的4路组相联高速缓存10,每一路包含大量的高速缓冲存储器线(cache line)20。与特定地址35相关联的数据值(在下面的例子中称为字(word))可能被存储在4路(即每组具有4个高速缓冲存储器线,如通常由标号22所示出的)的任何一路的特定高速缓冲存储器线中。每一路存储4K字节(16K字节高速缓存/4路)。如果每个高速缓冲存储器线存储8个32位的字,那么在每个路中存在32字节/高速缓冲存储器线(8字×4字节/字)以及128个高速缓冲存储器线((4K字节/路)/(32字节/高速缓冲存储器线))。因此,在这个示出的例子中,组的总数将等于128,即图中的“M”将是127。
为了处理在这类高速缓存中存储的数据,使用包括组(SET)或索引部分37和TAG(标签)部分36的地址35,其中组或索引部分37指示该地址涉及的是哪个组或线,TAG部分36指示其在四路中的哪一路中。这样的地址标识了高速缓冲存储器线和高速缓存路。由组来标识线,以及将存储在4TAG RAM25中的TAG与4个高速缓存10的相应的组中的TAG相比较和匹配来指示该路。实际上可能在高速缓存路内的高速缓冲存储器线中存储多于一个的数据字, 而且这样地址可能包含更多的信息。
当存取在以这种方式组织的高速缓存中存储的数据时,将需要把由编程模型产生的任何虚拟地址转换成物理地址。由于程序将要早产生虚拟地址,而直到其转换成物理地址之前数据都不能被存取,因而这可能减慢了过程。
众所周知的将虚拟地址转换成物理地址的方式是通过使用翻译后援缓冲器(translation lookaside buffer)或TLB。图2示出了存取数据的公知方式,在这期间将虚拟地址转换成物理地址,该物理地址随后用于存取数据。物理地址35包括标签部分36和索引部分37。该索引部分用于指示该地址涉及高速缓存路中的哪个组。因而,使用地址35的索引部分选择多个高速缓存标签目录(directory)40中的相应的线。然后地址35的标签部分36在比较器60中与在与高速缓存的四路相对应的四个高速缓存标签目录中的每一个中存储的四个标签进行比较。当比较给出匹配时,这会指示出存储数据项的高速缓存路并且之后可以用多路复用器70从高速缓存50中存取该数据项。
这是一种可以存取由虚拟地址标识的数据的方式。在这个过程中的初始步骤是利用表格后援缓冲器(table lookaside buffer)将虚拟地址转换成物理地址。这不是一个快速的步骤,并且从而将其作为该过程的第一步相当大地减慢了关键路径(critical path)。一个可替换方式示于图3中。该系统被称为实质上带索引的/物理上带标签的高速缓存系统(virtually indexed/physically tagged cachesystem)。在这个例子中使用虚拟索引(virtual index)来选择将标签存储到哪个组(或线)中以执行数据存取。因而,一获得虚拟地址,这一步骤就可以与利用TLB 30将虚拟地址转换成物理地址并行执行。一旦由TLB 30已产生了物理标签,则将其与由索引从高速缓存标签目录中选出的四个标签进行比较。当发现匹配之后其被用于从高速缓存50中存取数据。
这比图2中示出的数据存取要快。但是,标签可能是相对较长的数据段(piece),例如具有32K的4路组相联高速缓存结构(包括64字节的高速缓冲存储器线大小)的存储系统,(对于具有32位地址的处理器)将具有19位的标签。因而比较阶段可能是缓慢的。
此外,该过程要求对多个RAM进行存取,即在该过程期间存取多个高速缓存标签目录和高速缓存数据阵列(RAM),因此功耗很高。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910134623.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:纸币处理装置和现金自动交易装置
- 下一篇:监视装置和程序