Semi-associative cache with MRU/LRU replacement
    1.
    发明授权
    Semi-associative cache with MRU/LRU replacement 失效
    具有MRU / LRU替换的半关联高速缓存

    公开(公告)号:US5715427A

    公开(公告)日:1998-02-03

    申请号:US592143

    申请日:1996-01-26

    IPC分类号: G06F12/08 G06F12/12

    摘要: A cache memory uses content-addressable tag-compare arrays (CAM) to determine if a match occurs. In a semi-associative instruction cache, with the CAM and eight cache lines grouped together to form camlets, a binary index is used to address one camlet in the cache array, and the effective address tag match is used to select a potential line within the camlet in accessing data stored in the cache array. Since an E-tag match causes that cache line's wordline to activate, proper cache operation requires that no two (or more) E-tags within a camlet have the same match criteria (ECAM entry); the invalidation of entries is done to prevent this from happening. Due to the mapping of the effective address into the E-tag CAM and the camlet binary index, addresses that are 1-Meg apart point to the same camlet and have the same ECAM tag. The method thus employs a semi-associative cache having cache lines configured in camlets of, for example, eight lines per camlet. An LRU indication is stored in each camlet showing which line was least-recently-used. Upon occurrence of a cache replacement operation, it is determined whether or not a replacement line has a tag matching a line that is already in the camlet, and, if so, this line is invalidated and it is indicated to be the least-recently-used line. The next replacement goes to this line, whereas otherwise it would have appeared to be the most-recently-used since its wordline went high for the invalidate operation.

    摘要翻译: 高速缓冲存储器使用内容寻址标签比较阵列(CAM)来确定是否发生匹配。 在半关联指令高速缓存中,将CAM和8个缓存行分组在一起形成camlet,使用二进制索引来对高速缓存阵列中的一个camlet进行寻址,并且使用有效地址标签匹配来选择 camlet访问存储在缓存数组中的数据。 由于电子标签匹配导致该高速缓存行的字线被激活,正确的高速缓存操作要求在小区内没有两个(或更多)电子标签具有相同的匹配标准(ECAM条目); 完成条目的无效以防止这种情况发生。 由于将有效地址映射到E-tag CAM和camlet二进制索引中,1-Meg的地址指向同一个小区并具有相同的ECAM标签。 因此,该方法采用半联结高速缓存,其具有配置在例如每个小区8个线路的小区中的高速缓存线。 每个小白鼠存储LRU指示,显示哪条线最近被使用。 在发生高速缓存替换操作时,确定替换线是否具有与已经在该小区中的线路匹配的标签,并且如果是,则该线路被无效,并且被指示为最近最近 - 使用线。 接下来的替代方案是这样的,而否则它似乎是最近使用的,因为它的字线变得非常高,无效操作。