发明名称 用于预测存取一记忆体的各种形式及用于管理与一快取记忆体相关的预测之系统、装置及方法
摘要
申请公布号 申请公布日期 2011.09.01
申请号 TW094128055 申请日期 2005.08.17
申请人 辉达公司 发明人 兹亚特S 霍库拉;雷托索拉 丹尼勒;布莱德W 席莫瑞;布莱恩 凯斯 兰奇托弗;史堤弗诺A 派斯卡多;戴米崔 夏堤斯奇
分类号 G06F12/10 主分类号 G06F12/10
代理机构 代理人 蔡玉玲 台北市大安区敦化南路2段218号5楼A区
主权项 一种用于预测存取一记忆体之预取器,其包含:一第一位址预测器,其经组态以:使一子集之位址与一位址相关联,并基于该子集之至少一位址来预测一组位址,其中该子集之至少一位址不可模式化为该位址;其中该第一位址预测器进一步包含一非连续预测器,以当该位址被侦测到时产生作为非连续预测之该组位址,该非连续预测器进一步包含:一储存库,其用于以一按该子集之位址之每一者相对于其它位址之优先级的方式来储存该子集之位址与该位址的关联,其中该位址系作为一触发位址来储存且该子集之位址系作为目标位址来储存;及一非连续预测引擎,其经组态以在一位址流中侦测该位址且经进一步组态以基于其优先级为一最高优先级来选择该至少一位址作为一非连续预测。如请求项1之预取器,其中该最高优先级至少指示一处理器已相对于该子集之位址的其它位址最近地请求该至少一位址。如请求项1之预取器,其中该第一位址预测器经组态以自位址产生索引及标签,且该储存库包括许多通路,每一通路具有用于储存触发目标关联之记忆体位置,其中一储存于一第一通路中之触发目标关联与一比储存于一第二通路中之另一触发目标关联高的优先级相关联。如请求项3之预取器,其中该等触发目标关联之每一者包括一具有一标签大小的标签及一具有一部分大小的目标位址之至少一部分,其中该标签表示一触发位址且该标签大小及该等部分大小经组态以最小化对一记忆体位置之该等大小需求。如请求项3之预取器,其中该第一位址预测器经组态以比较一第一位址标签与由一或多个该等索引所识别之每一标签,以侦测任何包括该第一位址标签的触发目标关联,其中该第一位址预测器使用一来自至少一触发目标关联之目标位址以形成一非连续预测,或作为一连续触发位址以基于一或多个其它触发目标关联来形成额外非连续预测,或两者,其中与该触发目标关联或该另一触发目标关联相比,该或该等一或多个其它触发目标关联之每一者与在一目标快取记忆体中之较低阶相关。如请求项3之预取器,其进一步包含一经组态以为该等触发目标关联中之一者修正一优先级的优先级调节器,该等触发目标关联中之一者包括一与一第二位址相匹配的目标位址,该目标位址系由一由一或多个该等索引与一第一位址标签所组成的触发位址来识别。如请求项1之预取器,其进一步包含一加速器,用以如果该触发位址处于一连续流中,且如果具有一新触发位址之该等非连续预测比具有该触发位址之该等非连续预测在时间上更快地得以产生,则将该连续位址流中之一第一位址表示为该至少一位址之该新触发位址。如请求项1之预取器,其进一步包含一抑制器,其经组态以抑制产生至少一预测位址。如请求项8之预取器,其中该抑制器经组态,用以如果位址与一资料请求相关或与一预取请求相关或与两者皆相关时,则减少该组之位址的一批次数量,进而抑制该至少一预测位址之产生。如请求项8之预取器,其中该抑制器进一步经组态,用以如果一自侦测该位址作为该触发位址至产生该组位址作为非连续预测的时间间隔小于一临限值,则抑制产生该组位址作为非连续预测,其中该临限值系由在对该触发位址之一第一处理器请求与对该至少一位址之一第二处理器请求之间的至少一时间量来界定,该时间量小于自记忆体预取该组位址中之该至少一者所必需的时间。如请求项8之预取器,其中该抑制器进一步经组态以追踪复数个交错连续流中每一者的一基底位址及一最后侦测位址,并判定另一位址是否在任何该等复数个交错连续流之自该基底位址至该最后侦测位址的一位址流内,且若如此,则抑制基于该另一位址产生该至少预测位址。如请求项11之预取器,其中复数个交错连续流之每一者为许多执行绪中之一者的一部分。如请求项8之预取器,其进一步包含一第二位址预测器,其包括一用于基于至少一其它位址来产生许多额外预测位址的连续预测器。如请求项13之预取器,其中该等额外预测位址包括:一第一数目之位址,其自该至少一其它位址以一递升次序排序,或一第二数目之位址,其自该至少一其它位址以一递降次序排序,或该第一及该第二数目之位址两者,其中该抑制器进一步经组态以:侦测该至少一其它位址为按次序递升之一第一位址流的一部分,并抑制该等额外预测位址之基于以该递降次序排序之该第二数目之位址的彼等位址,并侦测该至少一其它位址为按次序递降之一第二位址流的一部分,并抑制该等额外预测位址之基于以该递升次序排序之该第一数目之位址的彼等位址。如请求项13之预取器,其中该等额外预测位址包括:一后位址,其自该至少一其它位址以一递降一位址的次序来排序,或该至少一其它位址之一后区段位址,或两者,其中该抑制器进一步经组态,用以如果当该等额外预测位址包括该后位址或该后区段位址,则使该批次数量减少一。如请求项13之预取器,其进一步包含:一预测目录,其包含许多伫列,每一伫列皆经组态以维护相同类型预测之预测直至该等预测被发出或筛选出;及一目录筛选器,其用以产生一子集之筛选位址,该目录筛选器经组态以筛选在以下任一者中的一冗余位址该预测目录,或该组位址及该等额外预测位址,其中该预取器经组态以提供该子集之筛选位址中至少一者。如请求项16之预取器,其中该等伫列进一步包含至少一维护一与在该等伫列中之其它伫列中所维护之预测不同类型之预测的伫列。如请求项16之预取器,其进一步包含一经组态以根据以下一或多个伫列属性来控制该等伫列中之每一者的目录管理器:一伫列类型,一过期时间,一伫列大小,一插入指示器,其指示一用以将一传入预测插入至一满伫列中的方式,及一优先级,使用该优先级以选择一下一预测。如请求项18之预取器,其中该等伫列进一步包含:一连续伫列,该连续伫列具有一连续伫列优先级;一后伫列,该后伫列具有一可组态以指示一超出该连续伫列优先级之优先顺序的后伫列优先级;及一或多个非连续伫列,每一非连续伫列具有一相对于该等其它伫列之该等优先级的唯一优先级。如请求项18之预取器,其中该目录管理器藉由项目组来管理预测,每一项目组包括一触发位址及至少一项目,其中该等伫列中之每一者经组态以被搜寻以用于使该等预测一经发出就与该等伫列外部之其它预测相匹配。如请求项20之预取器,其进一步包含一仲裁器,其经组态以发出该至少一项目作为一用于存取一记忆体的发出项目,其中该发出项目系基于关于一发出伫列之优先级来选择,该优先级可由该仲裁器根据侦测到该发出伫列有助于一记忆体过利用来修正。如请求项21之预取器,其进一步包含:一快取记忆体,其含有预测资讯及参考;及一后目录筛选器,其经组态以比较该发出项目与该等参考,以用于将该发出项目作为一冗余预测而筛除。如请求项13之预取器,其进一步包含一用于管理预测存取一记忆体的快取记忆体,该快取记忆体包含:一短期快取记忆体,其经组态以储存具有一小于一临限值之使用期的预测;一长期快取记忆体,其经组态以储存具有一大于或等于该临限值之使用期的预测,该长期快取记忆体比该短期快取记忆体具有更多记忆体容量;及一介面,其经组态以并行侦测多个预测系储存于该短期快取记忆体中或该长期快取记忆体中或两者中,其中该介面当检查该短期快取及该长期快取记忆体时使用该等多个预测中每一者之至少两个表示。如请求项23之预取器,其进一步包含一资料传回快取管理器,其经组态以当一已储存之预测使用期超出该临限值时,将该已储存之预测作为一已复制之预测自该短期快取记忆体复制至该长期快取记忆体中,该短期快取记忆体为该长期快取记忆体之仅有资料源。如请求项24之预取器,其中该资料传回快取管理器进一步经组态以:将该已复制之预测储存于该长期快取记忆体之一输入项中,该输入项处于许多可利用之通路之一者中,或若该等通路中无一者可利用,则将该已复制之预测储存于该长期快取记忆体之该输入项中,该输入项含有一最旧之储存预测。如请求项24之预取器,其中该资料传回快取管理器进一步经组态以:将一预测储存于该短期快取记忆体之一输入项中,该输入项含有一无效预测,或将该预测储存于该短期快取记忆体之另一输入项中,该输入项含有一最旧预测。如请求项24之预取器,其中该资料传回快取管理器进一步经组态以使一写入位址与一下一储存预测相匹配以形成一匹配预测,如果该下一储存预测系储存于该短期快取记忆体中,则合并该写入位址之至少一部分资料与该匹配预测之一部分预测资讯,并如果该下一储存预测系储存于该长期快取记忆体中,则使该下一预测无效。如请求项23之预取器,其中该短期及该长期快取记忆体经组态以减少关于一处理器由于藉由储存非连续预测将其作为一范围之预测的一子集而开启一记忆体之页的等待时间,该子集包括在记忆体之两页或两页以上中之预测,其中该第一位址预测器回应于一触发位址而产生该范围之预测,该触发位址处于记忆体之一与任何含有该范围之预测的页不同的页中,其中该短期及该长期快取记忆体经组态以储存一与该等储存预测之每一输入项相关联的预测识别符并将该预测识别符传输至该第一位址预测器,该长期快取记忆体经组态以分别自每一经组态以储存预测之输入项来储存有效位元。
地址 美国