组合加载指令或存储指令制造技术

技术编号:28048531 阅读:19 留言:0更新日期:2021-04-09 23:39
本文中公开的各个方面涉及在处理计算机处理器中的指令时,组合用以从存储器加载数据或将数据存储在存储器中的指令。更具体地,参考共同基址寄存器并且未充分利用可用总线宽度的多个存储器访问指令的至少一个模式可以在处理器流水线中被标识。响应于确定多个存储器访问指令将相邻存储器或能够适合在单个缓存行上的非邻接存储器作为目标,多个存储器访问指令可以在处理器流水线内被替换为一个等效存储器访问指令,该等效存储器访问指令比被替换的存储器访问指令中的任何存储器访问指令利用更大的可用总线宽度。

【技术实现步骤摘要】
【国外来华专利技术】组合加载指令或存储指令优先权要求本专利申请要求于2018年6月29日提交的标题为“COMBININGLOADORSTOREINSTRUCTIONS”的美国非临时专利申请No.16/024,725的优先权,该美国非临时专利申请被转让给本文的受让人并且据此以其整体通过引用明确地并入本文。
本文中描述的各个方面和实施例总体上涉及计算机处理器,并且更特别地涉及在处理计算机处理器中的指令时,对从存储器中加载数据或将数据存储在存储器中的指令进行组合。
技术介绍
在计算机处理中,流水线是串联连接的一组数据处理元件,其中来自该系列中的一个元件的输出是该系列中的下一元件的输入。指令通常按次序被取回并且放置到流水线中。以这种方式,多个指令可以在任何特定时间作为指令流存在于流水线中,并且多个指令可以全部同时被处理。一般地,处理器可以支持各种加载和存储指令类型。然而,这些指令中的一些指令可能未充分利用处理器与相关联的缓存或存储器之间的接口的带宽。例如,特定处理器架构可能具有以单个32位字为目标的加载(例如,取回)指令和存储指令,而其他处理器架构本文档来自技高网...

【技术保护点】
1.一种用于组合加载指令或存储指令的方法,包括:/n在处理器流水线中,标识参考共同基址寄存器并且未充分利用可用总线宽度的多个存储器访问指令的至少一个模式;/n确定所述多个存储器访问指令将相邻存储器或能够适合在单个缓存行上的非邻接存储器作为目标;以及/n在所述处理器流水线内,将所述多个存储器访问指令替换为一个等效存储器访问指令,所述一个等效存储器访问指令比被替换的所述存储器访问指令中的任何存储器访问指令利用更大的所述可用总线宽度。/n

【技术特征摘要】
【国外来华专利技术】20180629 US 16/024,7251.一种用于组合加载指令或存储指令的方法,包括:
在处理器流水线中,标识参考共同基址寄存器并且未充分利用可用总线宽度的多个存储器访问指令的至少一个模式;
确定所述多个存储器访问指令将相邻存储器或能够适合在单个缓存行上的非邻接存储器作为目标;以及
在所述处理器流水线内,将所述多个存储器访问指令替换为一个等效存储器访问指令,所述一个等效存储器访问指令比被替换的所述存储器访问指令中的任何存储器访问指令利用更大的所述可用总线宽度。


2.根据权利要求1所述的方法,其中响应于确定所述多个存储器访问指令连续地出现在所述处理器流水线中并且以邻接的偏移将所述相邻存储器作为目标,所述多个存储器访问指令被替换为所述一个等效存储器访问指令。


3.根据权利要求2所述的方法,其中所述多个存储器访问指令以邻接的正偏移将所述相邻存储器作为目标。


4.根据权利要求2所述的方法,其中所述多个存储器访问指令以邻接的负偏移将所述相邻存储器作为目标。


5.根据权利要求1所述的方法,其中所述多个存储器访问指令利用所述可用总线宽度的不同部分。


6.根据权利要求1所述的方法,还包括:响应于所述多个存储器访问指令包括第一存储器访问指令和第二存储器访问,而确定所述多个存储器访问指令将所述相邻存储器作为目标,所述第一存储器访问指令更改所述共同基址寄存器中存储的值,所述第二存储器访问在与所述共同基址寄存器中存储的已更改的所述值相邻的位置处访问存储器。


7.根据权利要求1所述的方法,还包括:确定所述多个存储器访问指令非连续地出现在所述处理器流水线中,其中响应于确定没有中间存储指令出现在非连续的所述存储器访问指令之间,所述多个存储器访问指令被替换为所述一个等效存储器访问指令。


8.根据权利要求1所述的方法,还包括:确定所述多个存储器访问指令非连续地出现在所述处理器流水线中,其中响应于确定出现在非连续的所述存储器访问指令之间的一个或多个中间存储指令使用在所述多个存储器访问指令中参考的所述共同基址寄存器,并且确定非连续的所述存储器访问指令与所述一个或多个中间存储指令之间没有重叠字节,所述多个存储器访问指令被替换为所述一个等效存储器访问指令。


9.根据权利要求1所述的方法,其中所述多个存储器访问指令包括相同存储器访问指令的多个动态实例。


10.根据权利要求1所述的方法,其中所述多个存储器访问指令包括多个加载指令或多个存储指令。


11.一种装置,包括:
处理器,被配置为:在与所述处理器相关联的流水线中,标识参考共同基址寄存器并且未充分利用可用总线宽度的多个存储器访问指令的至少一个模式;确定所述多个存储器访问指令将相邻存储器或能够适合在单个缓存行上的非邻接存储器作为目标;以及在与所述处理器相关联的所述流水线内,将所述多个存储器访问指令替换为一个等效存储器访问指令,所述一个等效存储器访问指令比被替换的所述存储器访问指令中的任何存储器访问指令利用更大的所述可用总线宽度。


12.根据权利要求11所述的装置,其中响应于所述多个存储器访问指令连续地出现在所述流水线中并且以邻接的偏移将所述相邻存储器作为目标,所述多个存储器访问指令被替换为所述一个等效存储器访问指令。


13.根据权利要求12所述的装置,其中所述多个存储器访问指令以邻接的正偏移将所述相邻存储器作为目标。


14.根据权利要求12所述的装置,其中所述多个存储器访问指令以邻接的负偏移将所述相邻存储器作为目标。


15.根据权利要求11所述的装置,其中所述多个存储器访问指令利用所述可用总线宽度的不同部分。


16.根据权利要求11所述的装置,其中所述处理器还被配置为:响应于所述多个存储器访问指令包括第一存储器访问指令和第二存储器访问,而确定所述多个存储器访问指令将所述相邻存储器作为目标,所述第一存储器访问指令更改所述共同基址寄存器中存储的值,所述第二存储器访问在与所述共同基址寄存器中存储的已更改的所述值相邻的位置处访问存储器。


17.根据权利要求11所述的装置,其中所述处理器还被配置为:确定所述多个存储器访问指令非连续地出现在所述处理器流水线中,并且所述处理器还被配置为:如果没有中间存储指令出现在非连续的所述存储器访问指令之间,则将所述多个存储器访问指令替换为所述一个等效存储器访问指令。


18.根据权利要求11所述的装置,其中所述处理器还被配置为:确定所述多个存储器访问指令非连续地出现在所述处理器流水线中,并且所述处理器还被配置为:如果出现在非连续的所述存储器访问指令之间的一个或多个中间存储指令使用在所述多个存储器访问指令中参考的所述共同基址寄存器,并且非连续的所述存储器访问指令与所述一个或多个中间存储指令之间没有重叠字节,则将所述多个存储器访问指令替换为所述一个等效存储器访问指令。


19.根据权利要求11所述的装置,其中所述多个存储器访问指令包括相同存储器访问指令的多个动态实例。


20.根据权利要求11所述的装置,其中所述多个存储器访问指令包括多个加载指令或多个存储指令。


21.一种装置,包括:
用于在处理器流水线中,标识参考...

【专利技术属性】
技术研发人员:H·塔克尔T·P·施派尔R·W·史密斯K·雅格特J·N·迪芬德尔费尔M·莫罗P·戈沙尔Y·C·特克蒙B·斯坦普尔李相勋M·加格
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1