在无地址转换的情况下操作的加载存储单元中处理有效地址同义词制造技术

技术编号:24105657 阅读:53 留言:0更新日期:2020-05-09 16:50
描述了用于由加载‑存储单元(LSU)从乱序(OoO)窗口发出多个指令的技术方案。该发出包括:响应于确定第一指令正在使用第一有效地址,该第一有效地址对应于第一实地址,来在有效真实表(ERT)中创建ERT条目,该ERT条目将第一有效地址映射到第一真实地址。此外,所述执行包括响应于确定由第二指令使用的有效地址同义词,所述有效地址同义词是也与所述第一真实地址相对应的第二有效地址:在同义词检测表(SDT)中创建SDT条目,其中SDT条目将第二有效地址映射到所述ERT条目,以及通过用第一有效地址替换第二指令中的第二有效地址来重新启动第二指令。

Handling valid address synonyms in load storage units operating without address translation

【技术实现步骤摘要】
【国外来华专利技术】在无地址转换的情况下操作的加载存储单元中处理有效地址同义词
本专利技术的实施例大致涉及乱序(OoO)处理器,更具体地说,涉及在没有地址转换的情况下操作的加载存储单元中利用同义词检测表(SDT)来处理有效地址同义词。
技术介绍
在OoO处理器中,指令定序单元(ISU)将指令分派到各个发出队列,重命名支持OoO执行的寄存器,将来自各个发出队列的指令发出到执行流水线,完成执行的指令,并处理异常条件。寄存器重命名通常在指令被置于其各自的发出队列中之前由ISU中的映射器逻辑执行。ISU包括一个或多个发出队列,其包含用于跟踪指令之间的依赖性的依赖性矩阵。依赖性矩阵通常包括用于发出队列中的每个指令的一行和一列。在中央处理单元(CPU)设计的领域中,尤其是对于OoO个处理器,当下一指令不能在随后的时钟周期中执行时,危害对CPU微体系结构中的指令流水线造成了技术挑战,因为可能导致不正确的计算结果。危险的典型类型包括数据危险、结构危险和控制流危险(分支危险)。当展现数据依赖性的指令修改流水线的不同阶段中的数据(例如,读后写(RAW)、写后读(WAR)和写后写(WAW))时,发生数据危险。当两个或两个以上指令同时需要处理器的硬件的一部分时,例如在从存储器检索指令的提取阶段中和在写入数据和/或从存储器读取数据的存储阶段中都访问存储器单元时,发生结构危险。此外,分支危险(也称为控制危险)随着处理器执行的计算机程序中的分支而发生。
技术实现思路
本专利技术的实施例包括用于在乱序处理器中实现基于有效地址的加载存储单元的方法、系统和计算机程序产品。用于执行一个或多个指令的处理单元的非限制性示例包括用于在存储器和寄存器之间传送数据的加载-存储单元(LSU)。LSU在乱序(OoO)窗口中执行多个指令。该执行包括,响应于确定第一指令正在使用第一有效地址,该第一有效地址对应于第一真实地址,在有效真实表(ERT)中创建ERT条目,该ERT条目将第一有效地址映射到第一真实地址。此外,所述执行包括响应于确定由第二指令使用的有效地址同义词,所述有效地址同义词是也与所述第一真实地址相对应的第二有效地址:在同义词检测表(SDT)中创建SDT条目,其中SDT条目将第二有效地址映射到所述ERT条目,以及通过用第一有效地址替换第二指令中的第二有效地址来重新启动第二指令。根据本专利技术的一个或多个实施例,一种用于由处理单元执行一个或多个乱序指令的示例性计算机实现方法包括:由加载存储单元(LSU)从乱序(OoO)窗口发出或执行多个指令。该发出包括:响应于确定第一指令正在使用第一有效地址,该第一有效地址对应于第一实地址,来在有效真实表(ERT)中创建ERT条目,该ERT条目将第一有效地址映射到第一实地址。此外,所述执行包括响应于确定由第二指令使用的有效地址同义词,所述有效地址同义词是也与所述第一真实地址相对应的第二有效地址:在同义词检测表(SDT)中创建SDT条目,其中SDT条目将第二有效地址映射到ERT条目,以及通过用第一有效地址替换第二指令中的第二有效地址来重新启动第二指令。根据一个或多个实施例,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,其中程序指令可由处理单元执行以使处理单元执行操作。所述操作包括由加载-存储单元(LSU)从乱序(OoO)窗口发出或执行多个指令。该发出包括:响应于确定第一指令正在使用第一有效地址,该第一有效地址对应于第一真实地址,来在有效真实表(ERT)中创建ERT条目,该ERT条目将第一有效地址映射到第一真实地址。此外,所述执行包括响应于确定由第二指令使用的有效地址同义词,所述有效地址同义词是也与所述第一真实地址相对应的第二有效地址:在同义词检测表(SDT)中创建SDT条目,其中SDT条目将第二有效地址映射到ERT条目,以及通过用第一有效地址替换第二指令中的第二有效地址来重新启动第二指令。通过本专利技术的技术实现了附加的特征和优点。本专利技术的其它实施例和方面在这里被详细描述,并且被认为是所要求保护的专利技术的一部分。为了更好地理解本专利技术的优点和特征,请参考说明书和附图。附图说明在说明书的结尾处的权利要求中特别指出并清楚地要求了本文描述的专有权的细节。从下面结合附图的详细描述中,本专利技术的实施例的前述和其它特征和优点将变得显而易见,其中:图1描述根据本专利技术的一个或多个实施例的系统的框图,所述系统包括在乱序(OoO)处理器中的基于有效地址的加载存储单元;图2是OoO处理器的处理器体系结构的示例框图,其中根据本专利技术的一个或多个实施例实现有效地址目录(EAD)和用于利用该EAD的相关机制;图3示出了根据本专利技术的一个或多个实施例的处理核的加载存储单元(LSU);图4是根据一个说明性实施例的有效地址目录(EAD)结构(L1高速缓存)的示例性块;图5是根据一个说明性实施例的有效真实表(ERT)结构的示例性框图;图6示出了根据本专利技术的一个或多个实施方式的用于访问存储器以由LSU执行指令的示例性方法的流程图;图7示出了根据本专利技术的一个或多个实施例的用于重加载ERT的方法的流程图;图8示出了根据本专利技术的一个或多个实施例的同义词检测表(SDT)的示例结构;图9示出了根据本专利技术的一个或多个实施例的用于执行ERT和SDTEA互换的方法的流程图;以及图10描绘了用于实现本专利技术的一个或多个实施例的一些或所有方面的计算机系统的框图。这里描述的图是说明性的。在不脱离本专利技术的精神的情况下,可以对其中描述的图或操作进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语"耦合"及其变型描述了在两个元件之间具有通信路径,并且并不暗示元件之间的在它们之间没有中间元件/连接的直接连接。所有这些变化都被认为是说明书的一部分。具体实施方式在此描述的本专利技术的一个或多个实施例通过动态移除OoO处理器中的有效真实地址表条目,来为乱序(OoO)处理器提供基于有效地址(EA)的加载存储单元(LSU)。本文描述的技术方案使用有效地址目录(EAD)连同有效真实表(ERT)和同义词检测表(SDT)以及其它组件,以便于减小芯片面积,并且进一步改进OoO处理器的定时。如上所述,由于现代处理器的OoO特性,针对相同的真实地址(RA)可以选择较新的加载指令以在较旧的存储指令之前执行。当较新的加载指令在较旧的存储指令之前针对相同RA执行时,较新的加载指令返回过时的数据,并且处理器流水线中的指令必须从流水线中冲刷(flush)并被重新取出以恢复程序一致性。通常,需要延迟较新的加载指令直到执行针对相同RA的较旧的存储指令为止,使得其它独立指令可执行且不会被不必要地从处理器流水线中冲刷。减少由于针对相同RA在较旧的存储指令之前执行较新的加载指令而导致的处理器流水线冲刷的步骤是识别针对相同RA的并且将OoO执行的加载/存储序列,从而需要处理器流水线冲刷。可替换地,或附加地,从加载-重排序队列中或者从指令提取单元(IFU本文档来自技高网...

【技术保护点】
1.一种用于执行一个或多个指令的处理单元,所述处理单元包括:/n加载-存储单元(LSU),其用于在存储器和寄存器之间传送数据,所述LSU被配置来在乱序(OoO)窗口中执行多个指令,所述执行包括:/n响应于确定第一指令正在使用第一有效地址,所述第一有效地址对应于第一真实地址,来在有效真实表(ERT)中创建ERT条目,所述ERT条目将所述第一有效地址映射到所述第一真实地址;以及/n响应于确定由第二指令使用的有效地址同义词,所述有效地址同义词是也与所述第一真实地址相对应的第二有效地址:/n在同义词检测表(SDT)中创建SDT条目,其中所述SDT条目将所述第二有效地址映射到所述ERT条目;以及/n通过用所述第一有效地址替换所述第二指令中的所述第二有效地址来重新启动所述第二指令。/n

【技术特征摘要】
【国外来华专利技术】20171006 US 15/726,596;20171006 US 15/726,627;20171.一种用于执行一个或多个指令的处理单元,所述处理单元包括:
加载-存储单元(LSU),其用于在存储器和寄存器之间传送数据,所述LSU被配置来在乱序(OoO)窗口中执行多个指令,所述执行包括:
响应于确定第一指令正在使用第一有效地址,所述第一有效地址对应于第一真实地址,来在有效真实表(ERT)中创建ERT条目,所述ERT条目将所述第一有效地址映射到所述第一真实地址;以及
响应于确定由第二指令使用的有效地址同义词,所述有效地址同义词是也与所述第一真实地址相对应的第二有效地址:
在同义词检测表(SDT)中创建SDT条目,其中所述SDT条目将所述第二有效地址映射到所述ERT条目;以及
通过用所述第一有效地址替换所述第二指令中的所述第二有效地址来重新启动所述第二指令。


2.如权利要求1所述的处理单元,其中,响应于所述第二有效地址也对应于所述第一实地址:
将与所述第一指令相关联的第一页尺寸和与所述第二指令相关联的第二页尺寸进行比较;以及
其中,将所述第二有效地址映射到所述ERT的所述SDT条目是响应于所述第一页尺寸大于所述第二页尺寸而创建的。


3.根据权利要求2所述的处理单元,其中响应于所述第一页尺寸小于所述第二页尺寸:
通过用所述第二有效地址与所述第一真实地址之间的映射替换所述第一有效地址与所述第一真实地址之间的映射来修改所述ERT条目。


4.根据权利要求3所述的处理单元,其中,进一步响应于所述第一页尺寸小于所述第二页尺寸:
创建将所述第一有效地址映射到所述ERT条目的SDT条目。


5.根据权利要求1所述的处理单元,其中所述SDT条目包括在其上启动所述第一指令的线程的线程标识符、所述第一指令的有效地址、所述第一指令的页尺寸、所述第一指令的重新启动有效地址、以及对应ERT条目的ERT条目标识符。


6.根据权利要求1所述的处理单元,其中所述第一指令是来自由加载指令和存储指令组成的指令组中的一个。


7.如权利要求1所述的处理单元,其中维持计数器以指示利用所述第一有效地址启动的指令的数量,并且响应于所述计数器越过预定阈值,使与所述第一有效地址相对应的ERT条目无效。


8.一种用于由处理单元执行一个或多个乱序指令的计算机实现的方法,所述方法包括:
由加载-存储单元(LSU)从乱序(OoO)窗口发出多个指令,所述发出包括:
响应于确定第一指令正在使用第一有效地址,所述第一有效地址对应于第一实地址,来在有效真实表(ERT)中创建ERT条目,所述ERT条目将所述第一有效地址映射到所述第一真实地址;以及
响应于确定由第二指令使用的有效地址同义词,所述有效地址同义词是也与所述第一真实地址相对应的第二有效地址:
在同义词检测表(SDT)中创建SDT,其中所述SDT条目将第二有效地址映射到所述ERT条目;以及
通过用所述第一有效地址替换所述第二指令中的所述第二有效地址来重新启动所述第二指令。


9.如权利要求8所述的计算机实现的方法,其中,响应于所述第二有效地址也对应于所述第一实地址:
将与所述第一指令相关联的第一页尺寸和与所述第...

【专利技术属性】
技术研发人员:B·辛哈罗伊B·劳埃德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1