【技术实现步骤摘要】
本专利技术总体上涉及确定并减少处理器中的存储冲突,并且更具体地涉及使用别名队列确定存储冲突,该别名队列存储用于更准确地预测存储冲突的加载和存储指令指针以便减少存储器违规和加载指令重放(replay)。
技术介绍
乱序(OOO)处理器允许指令被调度以按与由软件或程序代码指定的不同顺序进行推测性执行(speculativeexecution)。例如,加载指令(loadinstruction)可能在之前的存储指令(storeinstruction)之前被调度用于执行,尽管该加载指令需要由该存储指令存储的数据。加载指令的这种推测性执行导致需要加载指令被重放(replay)的存储器违规(memoryviolation)。指令的重放在处理效率方面代价很高,因此期望检测到随后的迭代(iteration)中的冲突的加载/存储指令对并且防止额外的加载指令重放发生。
技术实现思路
一种根据一个实施例的用于处理器的寄存器别名表包括别名队列、加载和存储比较器以及相关性逻辑。别名队列的每个条目存储引起存储器违规的冲突的加载指令和存储指令对的指令指针以及有效值。存储比较器将随后的存储指令的指令指针与存储在别名队列中的那些存储指令指针进行比较,并且当检测到匹配时,存储比较器将在相应的别名队列条目中的有效值设置为真。加载比较器确定随后的加载指令的该指令指针是否匹配存储在该别名队列中的指令指针。若是,相关性逻辑将随后的存储指令的存储索引(若由有效值指示为有效的话)提供作为随后的加载指令的相关性信息。寄存器别名表可以包括本地存储器,该本地存储器存储之前彼此冲突导致存储器违规的加载和存储指令对的 ...
【技术保护点】
一种用于处理器的寄存器别名表,包括:别名队列,该别名队列包括至少一个条目,其中,每个条目存储加载指令指针、存储指令指针和有效值,并且,其中,所述加载和存储指令指针与之前彼此冲突导致存储器违规的一对加载和存储指令相对应;存储比较器,该存储比较器将随后的存储指令的存储指令指针与存储在所述别名队列中的每个存储指令指针进行比较,并且当检测到匹配时,该存储比较器将在相应的别名队列条目中的相应的有效值设置为真;加载比较器,该加载比较器将随后的加载指令的加载指令指针与存储在所述别名队列中的每个加载指令指针进行比较,并且当检测到匹配时,该加载比较器将匹配的别名队列条目中的AQ命中设置为真;以及相关性逻辑,如果所述匹配的别名队列条目的所述有效值和所述AQ命中都为真则该相关性逻辑将所述随后的存储指令的存储索引提供为所述随后的加载指令的相关性信息。
【技术特征摘要】
1.一种用于处理器的寄存器别名表,包括:别名队列,该别名队列包括至少一个条目,其中,每个条目存储加载指令指针、存储指令指针和有效值,并且,其中,所述加载和存储指令指针与之前彼此冲突导致存储器违规的一对加载和存储指令相对应;存储比较器,该存储比较器将随后的存储指令的存储指令指针与存储在所述别名队列中的每个存储指令指针进行比较,并且当检测到匹配时,该存储比较器将在相应的别名队列条目中的相应的有效值设置为真;加载比较器,该加载比较器将随后的加载指令的加载指令指针与存储在所述别名队列中的每个加载指令指针进行比较,并且当检测到匹配时,该加载比较器将匹配的别名队列条目中的AQ命中设置为真;以及相关性逻辑,如果所述匹配的别名队列条目的所述有效值和所述AQ命中都为真则该相关性逻辑将所述随后的存储指令的存储索引提供为所述随后的加载指令的相关性信息。2.如权利要求1所述的寄存器别名表,其中,所述相关性逻辑包括:比较逻辑,当所述匹配的别名队列条目的所述有效值和所述AQ命中都为真时,该比较逻辑提供相关性指示;以及传送逻辑,当提供所述相关性指示时,该传送逻辑将所述随后的存储指令的所述存储索引传送至所述随后的加载指令的相关性字段中。3.如权利要求1所述的寄存器别名表,进一步包括:本地存储器,该本地存储器存储之前彼此冲突导致所述存储器违规的所述加载和存储指令对的加载索引和存储索引;以及RAT逻辑,该RAT逻辑将回退的存储指令的随后的存储索引与存储在所述本地存储器中的所述存储索引进行比较,如果匹配则该RAT逻辑撷取并存储所述存储指令指针。4.如权利要求3所述的寄存器别名表,其中,所述RAT逻辑将重放的加载指令的随后的加载索引与存储在所述本地存储器中的所述加载索引进行比较,并且在匹配的情况下,撷取所述加载指令指针、在所述别名队列中分配条目并且将所述存储指令指针和所述加载指令指针存储到所述别名队列的所述经分配的条目中。5.如权利要求1所述的寄存器别名表,其中,所述别名队列的每个条目进一步包括存储索引字段,其中,当所述存储比较器检测到所述随后的存储指令的所述存储指令指针与存储在所述别名队列中的任何存储指令指针匹配时,所述存储比较器进一步将所述随后的存储指令的所述存储索引存储到所述存储索引字段中。6.如权利要求1所述的寄存器别名表,进一步包括RAT逻辑,该RAT逻辑将所述加载和存储指令指针以减少的位数存储在所述别名队列中,这些位包括与所述加载和存储指令指针的高位的散列值组合的低页偏移位。7.一种处理器,包括:重排序缓冲器,该重排序缓冲器包括ROB队列,该ROB队列包括多个条目,其中,每个条目存储被发射用于执行的相应的指令的指令指针;以及寄存器别名表,该寄存器别名表包括:别名队列,该别名队列包括至少一个条目,其中,每个条目存储加载指令指针、存储指令指针和有效值;RAT逻辑,该RAT逻辑接收由之前的加载指令与之前的存储指令之间的存储冲突引起的存储器违规指示,其中,所述RAT逻辑从所述ROB队列中撷取所述之前的存储指令的存储指令指针和所述之前的加载指令的加载指令指针并且将所述存储指令指针和所述加载指令指针存储到所述别名队列的条目中;存储比较器,该存储比较器将随后的存储指令的存储指令指针与存储在所述别名队列中的每个存储指令指针进行比较,并且当检测到与相应的别名队列条目中的存储指令指针匹配时,该存储比较器将在所述相应的别名队列条目中的相应的有效值设置为真;加载比较器,该加载比较器将随后的加载指令的加载指令指针与存储在所述别名队列中的每个加载指令指针进行比较,并且当检测到与所述相应的别名队列条目中的加载指令指针匹配时,该加载比较器将AQ命中设置为真;以及相关性逻辑,当所述匹配的别名队列条目的所述有效值和所述AQ命中都为真时,该相关性逻辑将所述随后的存储指令的存储索引提供为所述随后的加载指令的相关性信息。8.如权利要求7所述的处理器,其中:所述重排序缓冲器进一步包括ROB逻辑,该ROB逻辑按程序顺序回退在所述ROB队列中的指令并且该ROB逻辑向所述RAT逻辑标识被回退或被重放的指令;以及其中,所述RAT逻辑一旦所述之前的存储指令被回退就从所述ROB队列中撷取所述之前的存储指令的所述存储指令指针,并且一旦所述之前的加载指令被重放就从所述ROB队列中撷取所述之前的加载指令的所述加载指令指针。9.如权利要求7所述的处理器,其中:所述重排...
【专利技术属性】
技术研发人员:费晓龙,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。