CN1518700A - 高速和准确的高速缓存通路选择 - Google Patents

高速和准确的高速缓存通路选择 Download PDF

Info

Publication number
CN1518700A
CN1518700A CNA028124030A CN02812403A CN1518700A CN 1518700 A CN1518700 A CN 1518700A CN A028124030 A CNA028124030 A CN A028124030A CN 02812403 A CN02812403 A CN 02812403A CN 1518700 A CN1518700 A CN 1518700A
Authority
CN
China
Prior art keywords
address
way
consistent
data line
data item
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.)
Granted
Application number
CNA028124030A
Other languages
English (en)
Other versions
CN100407167C (zh
Inventor
J・W・范德维尔德特
J·W·范德维尔德特
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.)
Nytell Software LLC
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1518700A publication Critical patent/CN1518700A/zh
Application granted granted Critical
Publication of CN100407167C publication Critical patent/CN100407167C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • G06F2212/6082Way prediction in set-associative cache

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

基于请求数据项行地址的完整性,提供用于n路关联高速缓冲存储器的通路确定方案,从而消除误识别包含请求数据项通路的可能性。将有限多个行地址以及它们的指定通路存储在通路确定表中。如果请求的数据地址与这些行地址中的一个一致,则提供指定通路;如果不是,则提供“空”响应,表示该数据地址不知道该通路。如果提供指定通路,存取与该指定通路一致的通路,同时确保存取通路包含请求数据项。如果提供“空”响应,存取n条通路以便确定请求数据线是否在该高速缓冲存储器中,如在常规的n路关联高速缓冲存储器。不提供“预测”通路,从而消除适应误预测或误推测可能性的需要。基于内容的存取用来确定请求数据地址是否具有指定通路,从而提供快速确定是否可使用选择通路存取或需要n路存取。

Description

高速和准确的高速缓存通路选择
发明背景
1.发明领域
本发明涉及计算机系统领域,更具体而言涉及使用确定性通路选择的n路关联高速缓存。
2、相关技术描述
高速缓存系统通常用来降低与访问相对慢的存储设备有关的有效延迟。当处理器请求访问慢速存储器中的特定数据项时,高速缓存系统将请求的数据项载入高速存储器中。此后,由高速存储器提供对该相同数据项的继续访问,从而避免与慢速存储器有关的延迟。通常,当请求数据项时,将包含请求数据项的数据项“线”从慢速存储器载入高速存储器中,以便此后能由高速存储器提供载入线中的任何数据项。
通过将来数据访问与先前数据访问有关的可能性,提供高速缓存访问系统的有效性。通常,请求的数据项与先前请求的数据项包含在高速缓存相同线中的可能性基本上大于0,因此,由高速缓冲存储器满足该要求的可能性也相应地基本上大于0。
高速存储器比低速存储器成本更高,因此可用高速缓冲存储器的数量通常很有限。高速缓冲管理方案用来确定当新数据线需要载入高速存储器中时,从高速存储器移出哪个数据项。通常使用的用于将数据项保留在高速存储器中的优先化方案是“最近最少使用(LRU)”标准,其中用新线代替最近最少使用(即“较早”)存储器存取线,从而保留最近使用/访问过的数据项。也可使用其他标准,如“最常使用”,通常与LRU优先化方案结合。
关联高速缓存通常用来根据请求项地址的子集存储数据项线。图1描述用于关联高速缓存系统100的常规寻址方案。将通常来自处理器180,并将在下面进一步讨论的地址110逻辑划分成标记字段111、索引字段112、以及字字段113。索引字段112为高速缓冲存储器120中高速缓存线的相关集提供索引。该集的每一高速缓存线与存储器120的“通路”或“部分”一致,且高速缓存存储器120称为“n路(way)关联高速缓存”。字字段113的大小j与数据线的大小2j一致。即,如果每条数据线是16个字,那么字字段的大小将是四位;如果每条数据线有64个字,那么字字段113将是6位宽。使用字字段113和数据线大小间的这种2次幂关系,标记和索引字段唯一地标识存储器中的每条数据线。
当寻址的数据项从低速存储器(未示出)载入高速缓冲存储器120中时,包含数据项的数据线将放置在选择的通路中,定义选择通路中的位置索引字段用于放置数据线。使用各种通用的可用算法,如上述LRU优先化方案中的一个来实现通路的选择。当寻址数据项被存储在高速缓冲存储器120中的特定线区域Dline-a、Dline-b等等中时,如图1中所述的字段Tag-a 121a、Tag-b 121b等等存储标记字段111。存储标记字段121结合在该通路中与数据线的索引字段112一致的数据线的位置唯一地标识在高速缓冲存储器120中存储数据线。
在寻址数据项载入高速缓冲存储器120前,高速缓冲存储器120将被检验以确定数据项是否已经位于高速缓冲存储器120中,以可能避免从低速存储器载入数据项。由于前次访问该数据项,或由于前次访问相同数据线Dline-a、Dline-b等等中作为当前寻址数据项的数据项,寻址数据项可能位于高速缓冲存储器中。索引字段112定义高速缓冲存储器120中与该地址有关的n路的集合。与相关集中每条存储线125a、125b等一致的每个存储标记121a、121b等经比较器130a、130b等与寻址数据项的标记字段比较。当进行该比较时,与索引字段113一致的每条存储数据线125a、125b等将被载入高速缓冲器140,以便如果当前将数据项载入高速缓冲存储器120中是有效的。
如果当前将寻址数据项载入高速缓冲存储器120的通路120a、120b等中的一个,相应比较器130a、130b等将判定缓存命中信号,从而识别包含数据线的特定通路Hit-a、Hit-b等。如果确定命中,使用字字段113从相应缓冲器140检索相应的字以便从包含在缓冲器140中的数据线选择适当字141a、141b等。将检索字发送到提供地址110的处理器180。在高速缓冲存储器系统100的常规实施例中,当命中高速缓冲存储器发生时,实现标记字段111与存储标记字段121a、121b等的比较以及后来的适当字141a、141b等的选择所需时间基本上小于与低速存储器一致的延迟时间。用这种方式,当数据项位于高速缓冲存储器120中时,基本上降低了有效存取数据项的时间。
如果没有发生命中高速缓冲存储器,一般情况下,通过将数据项载入最近最少使用(LRU)通路或如上所述的其他优先化方案,实现上述将寻址数据线从存储器载入高速缓冲存储器120的选择通路,Way-a 120a、Way-b 120b等将是有效的。
通过使用高速缓冲存储器系统100,同样加速了有效地将字从存储器180存入存储器所需的时间。使用上述比较过程,确定高速缓冲存储器120中存在寻址数据项。如果数据项当前处于高速缓冲存储器120中,来自存储器180的数据项的新值代替缓冲器140的选择字,以及将缓冲器140载入包含寻址数据项的数据线125a、125b等。“修改”字段129用来表示高速缓冲存储器线的内容已经改变。在用新数据线重写数据线前,检查修改的字段129,以及如果已经修改数据线,使用存储标记字段121a、121b等,将修改的数据线存储回该存储器中以便识别存储器中的位置来存储该线。
尽管n-路关联高速缓冲存储器提供用于增加有效存储器存取速度的有效装置,同时通路比较方案,其中将寻址数据项的标记与所有存储标记比较,以高于一路关联高速缓存n倍的速率消耗能源。n-路关联高速缓冲存储器基本上比集成电路或印刷电路板的其他区域热是很正常的。
为降低常规n-路关联高速缓冲存储器的能源消耗,可使用预测技术来选择与指定地址一致的可能通路。在通路预测方案的常规实施例中,首先检查用于寻址数据项的可能通路,以及仅当那条通路不包含寻址数据项时,检查剩余通路。在IEICETrans.Electron,vol.E83-C,No.2,2000年4月,页186-194出版的Koji Inoue et al的“A HIGH-PERFORMANCE AND LOW-POWER CACHEARCHITECTURE WITH SPECULATIVE WAY-SELECTION”,在此合并引入作为参考,提出了一种通路预测方案,以及通路预测方案与非预测方案的能源消耗的比较。如果预测成功率很高,能源节省能是相当多的,因为每次通路预测正确时,将实现n因子的能源方面的降低。
图1中所述是用来预测与寻址数据项有关的特定通路120a、120b等的通路预测表150。数据地址110的子集115用来索引通路预测表150,如由图1中的虚线所示。各种方案可用来定义地址110的该子集115,以及用来定义提供通路预测表150内容的算法。简明实施例将索引字段113用作索引表150的子集115,以及表150的内容与用于每个索引113的最近最少使用(LRU)通路,Way-a 120a、Way-b 120b等一致。另外,索引字段112的子集115,或从标记111和索引112字段提取的子集115也可用来向索引提供通路预测表,以及通路的数量n,确定所需通路预测表的大小。在8路关联高速缓冲存储器中,用3位来唯一地识别在通路预测表中的每条通路,以及由用来索引表150的地址子集115的唯一组合的数量来确定表150中三位记录的数量。如果十位(i=10)用作子集115来索引表150,例如,1024(2i),在表150中必须支持三位记录。注意表150(2i)的长度基本上小于可寻址线的数量(2M-w,其中M是地址中位的数量(通常为,16,32或64),以及w是位的数量,通常为2至5,与每线字的数量一致,通常4,8,16或32)。即,表150的索引是标记111和索引112字段的适当子集115。
当请求地址110时,使用来自线路预测表150的预测通路来有选择地仅存取预测通路。所有地址具有相应的预测通路,但是,因为表150的索引是可寻址线的数量的子集,不同地址110可指向表150的相同记录。在任何指定时间,这些不同地址的只有一个实际上与存储在通路中的数据一致,通路由表150的内容表示,因此称为“预测”通路。
为了方便,在下文中,下标p用来表示预测通路。将与选择的通路120p中的索引字段112一致的存储标记121p提供给选择通路120p的比较器130p,以及将相应的数据线125p提供给选择通路120p的缓冲器140p。Hit-p信号判断预测通路120p是否包含数据线,以及将寻址字从缓冲器140p提供给请求的处理器180。如果预测通路120p不包含寻址数据项,使用上述用于检查用于寻址数据项的n路关联高速缓冲存储器的技术,检查其他未预测的通路的每一个是否存在寻址数据项。
如果所有通路均不包含寻址数据项,从存储器将包含寻址数据项的数据项载入高速缓冲存储器120中,通常载入索引位置的最近最少使用通路。假定将通路预测表150用来存储最近使用的通路,将用来存储该数据线的数据标识存储在通路预测表150中。用这种方式,对与当前寻址数据项相同的数据线路的数据项的后来的请求将产生正确的预测通路,从而节约功耗。
也可使用有关该节约能源方案的变通方案。例如,将所有标记121a、121b等载入相应的比较器130a、130b等,而且也将预测通路120p的数据线125p载入缓冲器140p。用这种方式,通过将未预测通路的数据线125a、125b等均载入缓冲器140a、140b等,同时也避免当预测通路不包含寻址数据项时重新检查所有标记字段121a、121b等所需要的时间来实现某些能源节约。如果其他标记比较器130的一个判定命中信号,将相应通路的数据线125载入相应的缓冲器140,且将适当字提供给处理器180。如果其他标记比较器130的任何一个均未判定为命中信号,将寻址数据线从存储器载入高速缓冲存储器120,如上所述。
注意在如图1所述的常规的通路预测方案中,不正确通路预测使“取消”存取预测错的通路中数据线、以及该预测错的其他后果的可靠状态成为必要。通常,通路预测用在流水线结构中,其中在需要来自存储器的数据前,启动存储器存取。预测通路是否包含寻址数据项的确定以及任何通路是否包含寻址数据项的后来的确定是耗时的,因此,不能立即确定高速缓存缺失。在确定命中高速缓存或高速缓存缺失时,流水线处理通常在预期命中高速缓存中产生动作,以便利用由命中高速缓存提供的速度增益。当发生高速缓存缺失时,必须取消命中高速缓存预期动作的一些或所有效果。实现错误预测的可靠取消所需的电路和时间限制可相当复杂。然而,可由通路预测方案实现的能源节省以及可由命中高速缓存的高发生率实现速度增益通常补偿另外的设计以及与添加该复杂电路的相应生产成本。
发明简述
本发明的目的是提供确定的通路识别的方法和系统。该发明的另一目的是提供不需要处理通路误预测的方法和系统。本发明的另一目的是提供比常规通路预测方案更简单的通路确定方案,常规的通路预测方案需要误预测取消处理。本发明的另一目的是提供通路识别方案,该通路识别方案提供立即确定寻址数据项是否已知在高速缓冲存储器通路中。
通过提供用于n路关联高速缓存的通路确定方案来实现这些和其他目的,n路关联高速缓存基于所请求的数据项的行地址的完整性,从而消除错误识别包含请求的数据项的通路的可能性。将有限多个行地址以及它们指定的通路存储在通路确定表中。如果请求的数据地址与这些行地址中的一个一致,提供指定通路;如果不是,提供“空”响应,表示该数据地址不知道该通路。如果提供指定通路,存取与该指定通路一致的通路,同时确保存取的字线包含请求数据项。如果提供“空”响应,存取n条通路以便确定请求的数据线是否在该高速缓存中,如常规的n路关联高速缓存。不提供“预测”通路,从而不需要调节错误预测或错误推测的可能性。基于内容的存取用来确定请求的数据地址是否具有指定通路,从而提供快速确定选择的通路存取是否可用,或是否需要n路存取。
附图简述
通过例子,以及参考附图,进一步详细地解释本发明,其中:
图1描述具有通路预测的现有技术的n路关联高速缓存的示例性框图。
图2为根据本发明,描述具有通路预测的n路关联高速缓存的示例性框图。
在整个附图中,相同的参考数字表示相似或相应的特征或功能。具有下标字母的项表示共同特征或功能的特定例子。在说明书中参考这些项而没有特定下标字母表示具有相同数字参考的任何一个或所有示例性项。
发明详述
图2根据本发明,描述具有确定的n路关联高速缓存系统200的示例性框图。提供通路确定表250,将有限多个行地址映像到指定通路252。每个行地址251唯一和清楚地标识数据线,Dline125以及指定的通路252唯一和清楚地标识包含数据线125的通路,Way-a120a、Way-b120b等。即,如果在低速存储器中的可寻址字的地址空间为2M,以及每行字的数量为2W,将有2M/2W(2M-w)的唯一可寻址线。因此,在该例子中,行地址251是M-w位宽,且与数据地址110的标记111和索引112字段一致。
根据本发明,因为每条行地址251唯一地识别数据线,以及每条指定通路252唯一地识别每个通路,这就毫不含糊地说明了与指定通路252一致的通路120a、120b等是否包含地址线。在图1的常规通路预测方案中,另一方面,因为多个行地址(标记111和索引112的组合)为预测通路表150提供相同索引,关于预测通路120p是否实际上包含当前地址线总是不确定的。
当接收到数据地址110时,检查通路确定表250以便确定与数据地址110一致的数据线是否存储在指定通路252中。如果与数据地址110的标记111和索引112字段一致的寻址数据线215包含在通路确定表250中,提供与该寻址数据线215一致的指定通路252,如包含该数据线215的已知通路。为了方便,用字母k来表示来自通路确定表250提供的已知通路。如果寻址数据线215未包含在通路确定表250中,提供“空”或“无效”响应。
在优选实施例中,通路确定表250由对本领域通用的按内容寻址的存储器(CAM)结构组成以提供寻址数据线215是否是包含在表250中的行地址251的一个的立即表示。
如果提供已知通路k,寻址来自通路120k的数据线125k,及判定Hit-k信号。如果提供“null”响应,寻址多条通路120a、120b等以确定数据线是否位于高速缓存120通路的任何一个,如在常规的n路关联高速缓存系统中。
与图1的常规预测高速缓存系统相比,由于将指定通路252唯一指定给每个行地址251,不必提供适应潜在的从通路确定表250误确定已知通路的能力。同样与图1的常规预测高速缓存系统相比,然而,仅有限多个数据地址将具有行地址215,这些行地址在通路确定表250中具有相应的记录251。在常规的预测高速缓存系统中,所有数据地址将索引115提供到通路预测表150中。即,本发明的通路确定系统200提供用于有限多个数据地址的准确的通路确定,而常规的通路预测系统100提供用于任何以及所有数据地址的潜在的不精确的通路预测。
可应用多种技术来确定哪个行地址251包含在通路确定表250中。例如,可将与特定数据项一致的行地址存储在表250中。在本发明的优选实施例中,为减少设计复杂性,MRU(最近使用)算法可用来加载具有N个最近存取过的行地址215的表250,其中N是表250的长度。如果发现寻址数据线215不在通路确定表250中,高速缓存系统200将发现数据线在高速缓冲存储器120通路的一个中,或将从低速存储器将数据线载入高速缓冲存储器120的一条通路中,如常规的n路高速缓冲存储器。数据线的地址215以及找到或加载的现在包含数据线通路的标识存储在表250中,分别作为行地址251和指定的通路252。此后,对该数据线的随后的存取将产生正提供的已知通路k,直到表250的该记录由最近使用的数据线的行地址和通路代替为止。与MRU算法一致,表250中的每个新记录代替表250中的最近最少使用的记录。
将“有效”字段253也包含在高速缓存表250中以提供记录的“无效”。当高速缓存系统将数据线添加到高速缓冲存储器中时,它代替先前存储数据线。如果该先前存储数据线与表250中的记录一致,通过适当标记有效字段253使该记录无效。表250中的无效记录很少发生,因为高速缓冲存储器120中数据线的数量通常大于表250中记录的数量,以及高速缓存系统200的通用替换方针是替换最近最少使用的数据线,而表250用来存储最近使用过的数据线的行地址。在本发明的优选实施例中,修改上述MRU算法以便将任何无效记录用作用于添加新记录的最佳位置,从而减少表250中无效记录的数量。
包含在表250中的行地址的数量N确定为数据存取提供已知通路的可能性。每条数据线的数据项的数量n也影响提供已知通路的可能性,因为在普通的时间间隔内很可能存取相邻的数据项。通常根据整个高速缓存设计参数确定每条数据线数据项的数量n,以及通常与每条数据线8,16,或32一致。因为表250中的每个记录要求用于包含行地址251的M-w位加上四至六位来包含指定的通路252和有效字段253,在最佳按内容寻址表250中每个记录的相对成本是不可忽略的。在优选实施例中,使用常规的基准试验,已经发现在表250中最少使用四个记录以提供超过50%的平均命中率。即,使用用来存储四个最近存取过的数据线的表250,提供用于至少一半数据存取的已知通路,每个数据线具有至少八个字。在每条数据线32个字的情况下,在表250中具有四个记录的平均命中率超过70%,以及当八个记录时,超过80%。
对图2示例性实施例的变通方案对本领域的普通技术人员来说根据该公开内容将是显而易见的。例如,通过提供经空间相关的高速缓存线的一组标识可存取通路确定表,可使用高速缓冲存储器存取空间位置。下述表描述该概念,其中示例性组由四条线组成。每组地址记录跟在一组通路-有效对之后,其中通路记录识别包含在组中相应线的特定通路,以及那个通路记录当前是否有效。在示例性表中,第一组地址的第一线(Line00)位于通路A中,并且当前是有效的,而第一组地址的第二组表示为正位于通路C中,但该记录标记为无效。根据本发明,对第一组的第一线中数据项的访问将返回“已知通路”值A,以及对第一组的第二线中数据项的访问将返回“无效”值。在优选实施例中,组地址是对该组来说共同的行地址的最高有效位。即,如果行地址为N位宽,以及组包括四条线,组地址是该地址的最高有效N-2位。当寻址数据项时,数据项地址的N-2最高有效位提供组地址,以及下二位确定在表中哪对“通路-有效”记录与寻址线一致。用相同方式,8条线组将与N-3个最高有效位的组地址一致,以及下三位将确定哪个“通路-有效”对与特定寻址通路一致。
组地址  Line00  Line01  Line10  Line1
 通路  V  通路  V  通路  V  通路  V
地址1  A  Y  C  N  G  Y  B  Y
地址2  C  Y  C  Y  A  N  D  Y
.....
上述仅描述了本发明的原理。将意识到本领域的技术人员将能设计出尽管在此未清楚地描述或示出,但包含本发明的原理,从而在其精神和范围的各种装置。例如,如果不考虑设计复杂性,本发明可使用增加而不是代替常规的通路预测方案。在这样的实施例中,例如,如果未找到已知通路,在评价高速缓冲存储器中通路完整性前,可评价预测通路。同样,图中的功能的具体划分提供描述目的。例如,可将高速缓存系统整个或部分包含在处理器,或包括低速存储器的存储器管理系统中等等。另外,描述的一些或全部功能可具体化为硬件、软件或固件块。根据该公开的内容,这些以及其他系统结构以及优化特征对本领域的普通技术人员来说是显而易见的,并包括在下述权利要求书的范围内。

Claims (20)

1.一种高速缓存系统(200),包括:
由多个部分(Way-a...Way-n)组成的,高速缓冲存储器(120),
-多个部分(Way-a...Way-n)的每个部分由多个存储数据线(Dline)组成,以及
用于包含与存储数据线的地址一致的有限多个地址记录(251)和用于每个存储数据线地址的指定部分(252)的通路确定表(250);其中
每个存储数据线地址的指定部分(252)唯一和清楚地识别包含存储数据线的高速缓冲存储器(120)的部分,以及
高速缓存系统(200)用来
根据寻址数据项的行地址(215)以及相应的一个存储数据线地址间的对应关系,确定寻址数据项是否位于多个部分(Way-a...Way-n)的选择部分相应的数据线中,
选择部分是存储数据线地址的相应一个的指定部分(252)。
2.如权利要求1所述的高速缓存系统(200),其中
高速缓存系统(200)进一步用来
将与寻址数据项的行地址(215)一致的当前数据线从存储器存储到多个部分(Way-a...Way-n)的特定部分,以及
将与行地址(215)一致的地址以及特定部分的标识分别存储为一个地址记录(251)以及指定部分(252)。
3.如权利要求2所述的高速缓存系统(200),其中
一个地址记录(251)与最近最少使用地址记录一致。
4.如权利要求2所述的高速缓存系统(200),其中
通路确定表(250)还包括有效字段(253),其状态是由指定部分(252)是否继续包含与存储数据线地址一致的当前数据线确定的。
5.如权利要求1所述的高速缓存系统(200),其中
多个有限地址记录(251)与最近存取的行地址一致。
6.如权利要求1所述的高速缓存系统(200),其中
将通路确定表(250)具体化为按内容寻址存储器。
7.如权利要求1所述的高速缓存系统(200),其中
高速缓冲存储器(120)与n路关联高速缓冲存储器一致,具有形成多个部分(Way-a...Way-n)的多条通路,
每个通路进一步包括
与多个存储数据线(Dline)一致的,多个存储标记(121)
经寻址数据项的行地址(215)的索引字段(112),该字段可唯一寻址多个存储数据线(Dline)以及多个存储标记(121)的每一个,
其中
n路关联高速缓冲存储器用来
-如果寻址数据项的行地址(215)与存储数据线地址的任何一个不一致,通过将行地址(215)的标记字段与该通路中行地址(215)的索引字段(112)一致的多个存储字段(121)的存储标记比较,确定寻址数据项是否位于多条通路的每一通路中。
8.如权利要求7所述的高速缓存系统(200),其中
n路关联高速缓冲存储器进一步用来
-如果寻址数据项不在多条通路的相应的数据线中,将寻址数据项从存储器载入多条通路的特定通路中,以及
将与寻址数据项的行地址(215)一致的地址以及特定部分的标识分别存储为一个地址记录(251)以及指定部分(252)。
9.如权利要求7所述的高速缓存系统(200),进一步包括:
通路预测表,用来提供与寻址数据项一致的预测通路,以及
其中n路关联高速缓冲存储器进一步用来
-如果寻址数据项的行地址(215)不与存储数据线地址的任何一个一致,通过将行地址(215)的标记字段与多个存储标记(121)的存储标记比较,存储标记与该通路中行地址(215)的索引字段(112)一致,确定寻址数据项是否位于多条通路的预测通路中。
10.如权利要求1所述的高速缓存系统(200),其中
地址记录(251)包括与多个存储数据线地址一致的组地址。
11.一种用于确定包含引用数据项的高速缓冲存储器部分的方法,该高速缓冲存储器包含多个部分(Way-a...Way-b),该方法包括:
确定与引用数据项一致的线地址(215),
确定与线地址(215)是否与存储数据项的多个地址的存储数据线的地址(251)一致,以及
如果线地址(215)与存储数据线的地址(251)一致:
提供与存储数据线的地址(251)一致的高速缓冲存储器部分的标识符(252)。
12.如权利要求11所述的方法,其中
提供高速缓冲存储器部分的标识符,包括:
确定标识符(252)的当前有效性(253),以及
仅当标识符(252)当前有效时,提供标识符(252)。
13.如权利要求11所述的方法,进一步包括:
如果行地址(215)不与存储数据线的多个地址的任何一个一致:
-确定与引用数据项一致的标记地址(111),
-确定与引用数据项一致的索引地址(112),
将标记地址(111)和与多个部分(Way-a...Way-n)的每一个中的索引地址(112)有关标记字段(121)比较以便确定引用数据项是否包含在高速缓冲存储器的任何部分中。
14.一种处理系统,包括:
处理器(180),其用来存取存储器中的数据项,以及
高速缓冲系统(200),其操作耦合到处理器(180)以及存储器,用来包含存储器中数据项的子集,
高速缓存系统(200)包括:
高速缓存系统(120)包括多个部分(Way-a...Way-n),
多个部分(Way-a...Way-n)的每个部分包括与数据项的子集一致的多个存储数据线(DLine),以及
通路确定表(250),用来包含与存储数据线地址一致的多个有限地址记录(251)和用于每个存储数据线地址的指定部分(252);
其中
-每个存储数据线地址的指定部分(252)唯一和清楚地识别包含存储数据线的高速缓冲存储器(120)部分,以及
高速缓存系统(200)用来
-根据寻址数据项的行地址(215)和相应的一个存储数据线的地址间的对应关系,确定寻址数据项是否在多个部分(Way-a...Way-n)选择部分的相应数据线(DLine)中,
-选择部分是相应的一个存储数据线地址的指定部分(252)。
15.如权利要求14所述的处理系统,其中
高速缓存系统(200)进一步用来
-将与寻址数据项的行地址(215)一致的当前数据线(DLine)从存储器存储到多个部分(Way-a...Way-n)的特定部分中,以及
-将与行地址(215)一致的地址以及特定部分的标识分别存储为一个地址记录(251)和指定部分(252)。
16.如权利要求15所述的处理系统,其中
一个地址记录(251)与最近最少使用的地址记录一致。
17.如权利要求14所述的处理系统,其中
通路确定表(250)也包括有效字段(253),其状态由指定部分(252)是否继续包含与存储数据线地址一致的当前数据线(DLine)来确定。
18.如权利要求14所述的处理系统,其中
有限多个存储数据线的地址与最近存取的行地址一致。
19.如权利要求14所述的处理系统,其中
将通路确定表(250)具体化为按内容寻址存储器。
20.如权利要求14所述的处理系统,其中
地址记录(251)包括与多个存储数据线的地址一致的组地址。
CN028124030A 2001-06-22 2002-06-18 高速和准确的高速缓存通路选择 Expired - Fee Related CN100407167C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/887,463 2001-06-22
US09/887,463 US6678792B2 (en) 2001-06-22 2001-06-22 Fast and accurate cache way selection

Publications (2)

Publication Number Publication Date
CN1518700A true CN1518700A (zh) 2004-08-04
CN100407167C CN100407167C (zh) 2008-07-30

Family

ID=25391186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN028124030A Expired - Fee Related CN100407167C (zh) 2001-06-22 2002-06-18 高速和准确的高速缓存通路选择

Country Status (7)

Country Link
US (1) US6678792B2 (zh)
EP (1) EP1402373A2 (zh)
JP (1) JP2004530995A (zh)
KR (1) KR20030025297A (zh)
CN (1) CN100407167C (zh)
TW (1) TW561338B (zh)
WO (1) WO2003001384A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193875A (zh) * 2011-04-26 2011-09-21 北京工业大学 多核下基于Cache划分的自适应路预测算法
CN102216898A (zh) * 2008-05-30 2011-10-12 飞思卡尔半导体公司 用于存储分配高速缓存缺失的错误恢复的存储缓冲器的利用
CN101809547B (zh) * 2007-09-10 2013-11-13 高通股份有限公司 使用n路高速缓冲存储器的系统和方法
CN104199658A (zh) * 2014-08-28 2014-12-10 北京航空航天大学 一种提高软件通路可靠性的实现方法
CN105808475A (zh) * 2016-03-15 2016-07-27 杭州中天微系统有限公司 基于预测的低功耗隔离地址翻转请求发射装置
CN106874161A (zh) * 2017-01-24 2017-06-20 新华三技术有限公司 一种高速缓存异常的处理方法及装置

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976126B2 (en) * 2003-03-11 2005-12-13 Arm Limited Accessing data values in a cache
US7461211B2 (en) * 2004-08-17 2008-12-02 Nvidia Corporation System, apparatus and method for generating nonsequential predictions to access a memory
US20060090034A1 (en) * 2004-10-22 2006-04-27 Fujitsu Limited System and method for providing a way memoization in a processing environment
JP2006200558A (ja) * 2005-01-18 2006-08-03 Kayaba Ind Co Ltd 油圧緩衝器のリバウンド部材
JP4189402B2 (ja) * 2005-02-21 2008-12-03 パナソニック株式会社 キャッシュ回路
US7609773B2 (en) 2005-04-18 2009-10-27 Qualcomm Incorporated Method of determining the location of the FFT window and the delay spread for the platinum broadcast channel estimator
US7430642B2 (en) * 2005-06-10 2008-09-30 Freescale Semiconductor, Inc. System and method for unified cache access using sequential instruction information
US7461208B1 (en) * 2005-06-16 2008-12-02 Sun Microsystems, Inc. Circuitry and method for accessing an associative cache with parallel determination of data and data availability
US7904658B2 (en) * 2005-11-30 2011-03-08 International Business Machines Corporation Structure for power-efficient cache memory
US7594079B2 (en) * 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
JP5217432B2 (ja) 2007-12-28 2013-06-19 富士通株式会社 セクタ機能付きキャッシュメモリ
US7472226B1 (en) * 2008-03-20 2008-12-30 International Business Machines Corporation Methods involving memory caches
US7526610B1 (en) * 2008-03-20 2009-04-28 International Business Machines Corporation Sectored cache memory
US8533399B2 (en) * 2010-01-15 2013-09-10 International Business Machines Corporation Cache directory look-up re-use as conflict check mechanism for speculative memory requests
US8838906B2 (en) * 2010-01-08 2014-09-16 International Business Machines Corporation Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution
US9507647B2 (en) 2010-01-08 2016-11-29 Globalfoundries Inc. Cache as point of coherence in multiprocessor system
US9396117B2 (en) 2012-01-09 2016-07-19 Nvidia Corporation Instruction cache power reduction
US9547358B2 (en) 2012-04-27 2017-01-17 Nvidia Corporation Branch prediction power reduction
US9552032B2 (en) 2012-04-27 2017-01-24 Nvidia Corporation Branch prediction power reduction
US9367468B2 (en) * 2013-01-15 2016-06-14 Qualcomm Incorporated Data cache way prediction
US9465616B2 (en) * 2013-10-06 2016-10-11 Synopsys, Inc. Instruction cache with way prediction
GB2537357A (en) * 2015-04-09 2016-10-19 Imagination Tech Ltd Cache operation in a multi-threaded processor
US11281586B2 (en) 2017-05-09 2022-03-22 Andes Technology Corporation Processor and way prediction method thereof
GB2565338B (en) 2017-08-10 2020-06-03 Mips Tech Llc Fault detecting and fault tolerant multi-threaded processors
US10761988B2 (en) * 2018-07-25 2020-09-01 Arm Limited Methods and apparatus of cache access to a data array with locality-dependent latency characteristics
US11645178B2 (en) 2018-07-27 2023-05-09 MIPS Tech, LLC Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3713312B2 (ja) * 1994-09-09 2005-11-09 株式会社ルネサステクノロジ データ処理装置
US5778427A (en) 1995-07-07 1998-07-07 Sun Microsystems, Inc. Method and apparatus for selecting a way of a multi-way associative cache by storing waylets in a translation structure
US5845323A (en) * 1995-08-31 1998-12-01 Advanced Micro Devices, Inc. Way prediction structure for predicting the way of a cache in which an access hits, thereby speeding cache access time

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101809547B (zh) * 2007-09-10 2013-11-13 高通股份有限公司 使用n路高速缓冲存储器的系统和方法
CN102216898A (zh) * 2008-05-30 2011-10-12 飞思卡尔半导体公司 用于存储分配高速缓存缺失的错误恢复的存储缓冲器的利用
CN102216898B (zh) * 2008-05-30 2013-12-04 飞思卡尔半导体公司 用于存储分配高速缓存缺失的错误恢复的存储缓冲器的利用
CN102193875A (zh) * 2011-04-26 2011-09-21 北京工业大学 多核下基于Cache划分的自适应路预测算法
CN102193875B (zh) * 2011-04-26 2013-08-14 北京工业大学 多核下基于Cache划分的自适应路预测算法
CN104199658A (zh) * 2014-08-28 2014-12-10 北京航空航天大学 一种提高软件通路可靠性的实现方法
CN104199658B (zh) * 2014-08-28 2017-07-28 北京航空航天大学 一种提高软件通路可靠性的实现方法
CN105808475A (zh) * 2016-03-15 2016-07-27 杭州中天微系统有限公司 基于预测的低功耗隔离地址翻转请求发射装置
CN105808475B (zh) * 2016-03-15 2018-09-07 杭州中天微系统有限公司 基于预测的低功耗隔离地址翻转请求发射装置
CN106874161A (zh) * 2017-01-24 2017-06-20 新华三技术有限公司 一种高速缓存异常的处理方法及装置
CN106874161B (zh) * 2017-01-24 2021-06-22 新华三技术有限公司 一种高速缓存异常的处理方法及装置

Also Published As

Publication number Publication date
TW561338B (en) 2003-11-11
CN100407167C (zh) 2008-07-30
US20030014597A1 (en) 2003-01-16
WO2003001384A3 (en) 2003-02-13
WO2003001384A2 (en) 2003-01-03
JP2004530995A (ja) 2004-10-07
EP1402373A2 (en) 2004-03-31
US6678792B2 (en) 2004-01-13
KR20030025297A (ko) 2003-03-28

Similar Documents

Publication Publication Date Title
CN100407167C (zh) 高速和准确的高速缓存通路选择
EP1370946B1 (en) Cache way prediction based on instruction base register
US4980823A (en) Sequential prefetching with deconfirmation
US5043885A (en) Data cache using dynamic frequency based replacement and boundary criteria
CN1317645C (zh) 具有基于线程标识符的缓存清除的多线程缓存方法和装置
CN1230750C (zh) 临时指令与非临时指令共享的高速缓存结构
US6701414B2 (en) System and method for prefetching data into a cache based on miss distance
US5778434A (en) System and method for processing multiple requests and out of order returns
US7711901B2 (en) Method, system, and apparatus for an hierarchical cache line replacement
US7334088B2 (en) Page descriptors for prefetching and memory management
CN1659525A (zh) 简化了缓存替换策略的实现的多线程缓存方法和装置
US6578111B1 (en) Cache memory system and method for managing streaming-data
TWI382426B (zh) 預測快取記憶體之存取位置的方法及系統
US8583874B2 (en) Method and apparatus for caching prefetched data
US20030120892A1 (en) System and method for employing a global bit for page sharing in a linear-addressed cache
CN1195817A (zh) 在非包含的高速缓存存储器分级体系内使用的实现高速缓存一致性机制的方法和系统
US6668307B1 (en) System and method for a software controlled cache
CN117331853B (zh) 缓存处理方法、装置、电子设备及介质
US6990551B2 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
US7797492B2 (en) Method and apparatus for dedicating cache entries to certain streams for performance optimization
WO2002027498A2 (en) System and method for identifying and managing streaming-data
US20040015669A1 (en) Method, system, and apparatus for an efficient cache to support multiple configurations
US6904501B1 (en) Cache memory for identifying locked and least recently used storage locations
CN115391239A (zh) 一种基于局域算法的高速缓存动态数据预取方法、系统、设备及存储介质
CN117687936A (zh) 提高缓存命中率的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070824

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070824

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklike Philips Electronics N. V.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NITAI SOFTWARE CO., LTD.

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20120321

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120321

Address after: Delaware

Patentee after: Nytell Software LLC

Address before: Holland Ian Deho Finn

Patentee before: Koninkl Philips Electronics NV

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080730

Termination date: 20130618