使用索引查找的存储至加载前传缓冲器制造技术

技术编号:2849740 阅读:177 留言:0更新日期:2012-04-11 18:40
一种微处理器(100)可包括配置成分配加载及存储操作的分配单元(104),以及配置成存储与由分配单元(104)所分配的加载及存储操作有关的信息的加载存储单元(126)。该加载存储单元(126)包括STLF(存储至加载前传)缓冲器,其中该STLF缓冲器包括多个条目(320)。该加载存储单元配置成产生根据加载操作的地址的至少一部分的索引,使用该索引选定多个条目(320)中的一个条目,并前传包括在该多个条目的一个条目中的数据以作为该加载操作的结果。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及微处理器领域,更具体地,涉及在微处理器内执行存储至加载前传(store-to-load forwarding,STLF)。
技术介绍
在高性能微处理器中,加载存储单元通常包括用于等待访问L1高速缓冲存储器的多个突出的加载及存储操作的存储器(storage)。一般可用于此类微处理器架构的性能增强是实现一种将源自较旧的存储操作(程序指令中较早出现的存储操作)的数据前传至较新的加载操作(程序指令中较晚出现的加载操作)的机制。通过规避访问L1数据高速缓冲存储器,此数据的存储至加载前传显著地改善了执行效率。通常获得STLF的方法是去搜索所有较旧的存储操作,此时加载操作处于执行管线(pipeline)的数据高速缓冲存储器访问阶段。将加载操作的地址与所有驻留在加载存储单元内存储操作的地址作比较。首先,确定所有与该加载操作有相同目标地址的存储操作,然后通过排除任何比该加载操作还新的存储操作以精简此组操作(grouping)。一旦确定了所有比该加载操作还旧的存储操作,比较这些存储操作的相对期龄(relative ages)以找出比该加载操作还旧的最新存储操作。然后,将与此最新存储操作有关的数据前传至加载操作,让它正常完成而不需访问L1数据高速缓冲存储器。用来找出与加载操作具有相同目标地址的最新存储操作的“地址比较与搜寻算法”是相对复杂并且在实现上需要许多层次的组合逻辑。通常该加载存储单元存储多个等待要以访问L1来完成的操作。此存储器的每一条线(line)包括多个加载或存储操作所用的条目(entry)。当加载操作的地址变得可用时,它必须与每个条目的地址作比较并且所有匹配的条目必须核实为存储操作。一旦确定了匹配加载操作的目标地址的所有存储操作条目,则可用“找出-第一算法(find-firstalgorithm)”来确定比加载操作还旧的最新匹配的存储操作。然后,可得来自适当条目的数据并将其前传至加载操作。就高性能微处理器而言,此STLF功能通常为完成加载操作的要径(critical path)的一部分,因而对有效加载等待时间(effective loadlatency)有显著影响。执行上述程序中的每一个所花费的时间都分担于此有效加载等待时间,且在某些实施例中,可能限制微处理器可操作的最大频率。
技术实现思路
在此公开了执行“索引存储至加载前传”的方法与系统的不同实施例。在一个实施例中,微处理器可以包括分配单元(其配置成分配加载及存储操作),和加载存储单元(其配置成存储与该分配单元所分配的加载及存储操作有关的信息)。该加载存储单元包括STLF缓冲器,其包括多个条目。该加载存储单元配置成产生取决于加载操作的地址的索引,可使用该索引选定该多个条目中的一个条目,并前传包括在该多个条目的一个条目中的数据作为该加载操作的结果。可将STLF缓冲器中该多个条目中选定的条目配置成存储与存储操作有关的地址、数据和数据大小(data size)。可由包括在该地址的地址位的全部或部分产生索引。该地址可为物理地址或虚拟地址。包括索引STLF缓冲器的微处理器可包括在计算器系统中。在一个实施例中,可将该加载存储单元配置成如果包括在该多个条目的一个条目中的信息与和加载操作有关的信息不匹配,则不前传包括在该多个条目的一个条目中作为该加载操作结果的数据。可将该加载存储单元配置成通过产生取决于存储操作的地址的至少一部分的附加索引,来选定该多个条目中的哪一个条目可分配给存储操作。在某些实施例中,可将该加载存储单元配置成产生该附加索引(其取决于存储操作的地址以及存储操作所操作的数据的一些字节)。同样地,可将该加载存储单元配置成产生加载操作所用的索引(其取决于该加载操作的地址以及加载操作所操作的数据的一些字节)。在一个实施例中,通过将该存储操作定为目标的地址的低位部分右移,其中右移量等于该存储操作所操作的数据字节数以2为底的对数,而产生该附加索引。该加载存储单元可包括STLF检验器,其配置成核对STLF缓冲器的操作。可将该STLF检验器配置成执行关联地址比较(associativeaddress comparison)以确定所有与加载操作具有相同目标地址的已发出存储操作,并且执行“找出一第一算法”以选定比加载操作还旧的、最新已发出存储操作。可将该STLF检验器配置成如果该STLF检验器检测到该STLF缓冲器的不正确操作,则重新进行该加载操作。也可将该STLF检验器配置成如果该STLF检验器检测到该STLF缓冲器的不正确操作,则重新进行一个或更多个取决于加载操作的附加操作。将该加载存储单元配置成确定该加载操作的结果为推测值(speculativevalue)以响应作为加载操作结果的包括在该STLF缓冲器的多个条目的一个条目中的数据前传。如果该STLF检验器核实STLF缓冲器对加载操作操作正确,则将该加载存储单元配置成表示该加载操作的结果不是推测值。附图说明参考以上本专利技术的详细描述,结合附图,将更能了解本专利技术。图1是显示根据一个实施例的包括STLF缓冲器的微处理器。图2是显示根据一个实施例的加载存储单元的方块图。图3是根据一个实施例,用于操作包括STLF缓冲器的微处理器的方法的流程图。图4是根据一个实施例,用于操作加上STLF检验器与存储至加载前传缓冲器的微处理器的方法的流程图。图5显示根据一个实施例加上一个具有STLF缓冲器的微处理器的示例性计算器系统。图6显示根据另一实施例的示例性计算器系统。具体实施例方式尽管本专利技术易有不同的修改与替代形式,其特定具体实施例以实施例图标于附图且在此予以详述。不过,应当了解,附图及其详细说明不是要将本专利技术限定为所公开的特定形式,相反地,本专利技术是要涵盖所有落入所附权利要求书所界定的本专利技术的精神与范畴内的修改、等效以及替代。应当注意,诸标题只是用在组织上的目的而不是有意用来限定或解释说明内容或权利要求书。此外,应注意本申请书中所用的“可以”一词有非约束性的意思(即,具有可能性,能够),而无强制性的意思(即,必须)。“包括”这一词及其衍生词的意思为“包括,但不限定于”。“连接”这一词意思为“直接或间接连接”,以及“耦接”这一词意思为“直接或间接耦接”。图1为方块图,显示包括在微处理器100的具体实施例的逻辑组件,该微处理器100结合存储至加载前传(STLF)缓冲器140。将微处理器100配置成执行存储在系统内存200中的指令。许多该些指令对于存储在系统内存200中的数据进行操作。应当注意,系统内存200实际上可以分散在计算器系统各处并且可以被一个或更多个微处理器100访问。在一些具体实施例中,可将该微处理器100设计成与x86架构兼容。应当注意,除了在此图标的组件以外,微处理器100还可以包括和/或连接至许多其它的组件。例如,在微处理器100与系统内存200之间,可包括附加几层级的高速缓冲存储器(内建和/或外接至微处理器100)。同样,在某些具体实施例中,微处理器100可包括配置成控制系统内存200的内存控制器。此外,逻辑组件之间的互连在各具体实施例之间会有所不同。微处理器100可包括指令高速缓冲存储器106与数据高速缓冲存储器128。微处理器100可包括连接至该系统内存200的预取单元108。预取单元108可从系统内本文档来自技高网
...

【技术保护点】
一种微处理器(100),包括:分配单元(104)配置成分配加载及存储操作;以及加载存储单元(126)配置成存储与该分配单元(104)所分配的加载及存储操作有关的信息,其中该加载存储单元(126)包括存储至加载前传STLF缓冲 器(305),其中该STLF缓冲器(305)包括多个条目(320);其中该加载存储单元(126)配置成产生索引,该索引是根据加载操作的地址的至少一部分,使用该索引选定多个条目(320)中的一个条目,以及前传包含于多个条目(320)中 的一个条目的数据以当成该加载操作的结果。

【技术特征摘要】
【国外来华专利技术】US 2003-7-8 10/615,1011.一种微处理器(100),包括分配单元(104)配置成分配加载及存储操作;以及加载存储单元(126)配置成存储与该分配单元(104)所分配的加载及存储操作有关的信息,其中该加载存储单元(126)包括存储至加载前传STLF缓冲器(305),其中该STLF缓冲器(305)包括多个条目(320);其中该加载存储单元(126)配置成产生索引,该索引是根据加载操作的地址的至少一部分,使用该索引选定多个条目(320)中的一个条目,以及前传包含于多个条目(320)中的一个条目的数据以当成该加载操作的结果。2.根据权利要求1所述的微处理器(100),其中该加载存储单元(126)配置成如果包含于多个条目(320)中的一个条目的信息与和该加载操作有关的信息不匹配,则不将包含于多个条目(320)中的一个条目的数据当成加载操作的结果前传。3.根据权利要求1所述的微处理器(100),其中该加载存储单元(126)配置成通过产生根据该存储操作的地址的至少一部分的附加索引,选定多个条目(320)中的一个条目分配给存储操作。4.根据权利要求1所述的微处理器(100),其中该加载存储单元(126)还包括配置成核对该STLF缓冲器(305)操作的STLF检验器(303)。5.根据权利要求4所述的微处理器(100),其中该STLF检验器(303)配置成执行关联地址比较以确定所有已发出存储操作标定于和该加载操作相同的地址,以及实行找出—第一算法以选定比该加载操作旧且最新的已发出存储操作。...

【专利技术属性】
技术研发人员:MA菲利波JK皮克特
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1