当前位置: 首页 > 专利查询>克雷公司专利>正文

用于前端聚集/分散存储器合并的方法和装置制造方法及图纸

技术编号:38611154 阅读:9 留言:0更新日期:2023-08-26 23:39
用于处理聚集和分散指令的系统可以实现前端子系统、后端子系统或两者。前端子系统包括预测单元,其被配置为确定指令所需的合并的存储器访问操作的预测量。解码单元基于预测量将指令转换为多个访问操作,并且向发布队列传输多个访问操作和预测量的指示。后端子系统包括加载存储单元,其接收对应于指令的多个访问操作,确定可以被合并的多个访问操作的子集,并且从该子集形成合并的存储器访问操作。队列为给定的加载

【技术实现步骤摘要】
【国外来华专利技术】用于前端聚集/分散存储器合并的方法和装置
[0001]相关申请
[0002]本申请是2020年7月30日提交的美国申请No.16/944,141的继续申请。上述申请的全部教导在本文引入作为参考。
[0003]政府支持
[0004]本专利技术是在美国能源部的政府合同第AC52

07NA27344号和分包合同B 620872下在政府支持下完成的。政府具有本专利技术的某些权利。

技术介绍

[0005]聚集和分散指令是访问多个存储器位置的向量加载/存储指令的类型。聚集指令执行加载,分散指令执行存储。聚集/分散存储器操作(也称为索引存储器访问)通常出现在现代科学和数据分析应用中,其通常涉及稀疏和自适应数据提取,例如自适应网格、稀疏矩阵、张量和图。对于任何给定的应用上下文,聚集/分散操作可以涉及高度随机或规则的间接偏移。这些应用可以呈现具有或不具有局部性的模式,并且这些操作的序列可以高度串行化或高度并行化。
[0006]历史上,聚集/分散指令已经在向量超级计算机的上下文中得到支持,但是直到最近通用指令集架构还没有得到支持。最近,对这些指令的支持已经出现在通用指令集中,诸如x86和ARM。

技术实现思路

[0007]示例实施例包括用于处理聚集和分散指令的系统。该系统可以实现前端子系统和/或后端子系统。前端子系统可以包括预测单元,该预测单元被配置为确定指令所需的合并的存储器访问操作的预测量,该指令是分散指令或聚集指令。解码单元可以被配置为1)基于预测量将指令转换为多个访问操作,以及2)向发布队列传输多个访问操作和预测量的指示。
[0008]系统还可以包括加载—存储单元,其被配置为1)确定指令所需的合并存储器访问的实际量,以及2)向预测单元提供实际量的指示。预测单元可以基于预测量和实际量来更新表。预测单元可以更新表的条目,该条目对应于指令并且包括指示预测量的字段和指示预测量的估计准确度的置信度得分。预测单元可以基于实际量来更新预测量和置信度得分中的至少一个。
[0009]加载

存储单元还可以确定可以被合并的多个访问操作的子集,并且从该子集形成合并存储器访问操作。加载

存储单元可以分析多个访问操作的部分,以确定可以被合并的多个访问操作的子集。加载

存储单元还可以1)将合并的存储器访问操作分配给至少一个寄存器条目,以及2)经由加载

存储单元管线来执行合并的存储器访问操作。加载—存储单元还可以基于预测量和实际量的比较来确定预测单元的误预测。
[0010]多个访问操作的可以具有等于预测量的量。预测单元可以进一步被配置为通过基于指令的程序计数器定位表的条目来确定预测量,预测量对应于条目的字段。预测单元可
以进一步被配置为基于误预测的指示来更新字段,并且如果预测量超过由指令所需的合并存储器访问的实际量,则制止更新表。响应于误预测,解码单元可以被配置为,利用指令所需的合并存储器访问的实际量的指示来重新传输多个访问操作。
[0011]在进一步的实施例中,后端子系统可以包括加载

存储单元和队列,例如加载重排序队列(LRQ)和/或存储重排序队列(SRQ)。加载

存储单元可以被配置为:1)接收对应于指令的多个访问操作,该指令是分散指令和聚集指令中的一个指令,2)确定可以合并的多个访问操作的子集,以及3)从该子集形成合并的存储器访问操作。队列可以被配置为存储针对给定加载

存储条目的多个存储器地址,其中加载

存储单元可以被配置为将对应于合并的存储器访问操作的条目加载到队列条目加载到队列,条目指示子集中的每个的地址。
[0012]加载存储单元可以进一步被配置为,基于多个访问操作来确定指令所需的高速缓存访问的最小量,并且可以保留对应于高速缓存访问的最小量的多个操作周期。加载

存储单元还可以经由存储器访问通道在多个操作周期上执行合并存储器访问操作。
[0013]该子系统还可以包括解码单元,该解码单元被配置为1)将指令转换为多个访问操作,以及2)向加载

存储单元传输多个访问操作。解码单元还可以向加载—存储单元传输指令所需的合并的存储器访问操作的预测量的指示,并且加载

存储单元可以确定指令所需的合并存储器访问的实际量,并且向预测单元提供实际量的指示。预测单元还可以基于预测量和实际量来更新表。加载存储单元可以基于指令所需的合并存储器访问操作的预测量与实际量的比较来确定误预测。
[0014]加载

存储单元还可以分析多个访问操作的部分,以确定可以合并多个访问操作的子集。加载

存储单元还可以被配置为将合并存储器访问操作分配给至少一个存储器访问通道,并且经由存储器访问通道执行来合并的存储器访问操作。
附图说明
[0015]如附图所示,通过以下对示例性实施例的更具体的描述,上述内容将变得清楚,在附图中,相同的附图标记在不同的视图中表示相同的部分。附图不必按比例绘制,而是将重点放在示出实施例上。
[0016]图1是其中可以实现示例实施例的存储器访问系统的框图。
[0017]图2是一个实施例中的历史表的框图。
[0018]图3是示出在一个实施例中生成历史表并且进行预测的过程的流程图。
[0019]图4是示出一个实施例中的预测和访问操作的图。
[0020]图5是示出当进行不正确预测时的预测和访问操作的图。
[0021]图6是示出另一实施例中的预测和访问操作的图。
[0022]图7是示出在一个实施例中执行聚集和分散指令的过程的流程图。
具体实施方式
[0023]示例实施例的描述如下。
[0024]聚集/分散指令是访问多个存储器位置的向量加载/存储指令。聚集执行加载的指令,分散执行存储的指令。历史上,聚集/分散指令已经在向量超级计算机的上下文中得到支持,但是直到最近通用指令集架构还没有得到支持。最近,对这些指令的支持已经出现在
通用指令集中,诸如x86和ARM。
[0025]支持访问多个不相交(非邻接)存储器位置的指令代表了对现代通用核心微架构的新挑战。这种微架构通常包括一个或多个加载/存储单元,其中每个单元能够在每个周期从单个地址读取或写入到单个地址。修改此类管线以支持对多个存储器位置的访问可能过于昂贵。
[0026]通用核心微架构中的聚集/分散指令的一个实现涉及将单个聚集/分散指令解码成一系列微操作(μop),每个微操作负责执行单个存储器位置的加载或存储。这样的实现在硬件成本方面是简单的,但是与传统的(非聚集/分散)加载/存储指令相比可以提供很少的性能益处。对于具有聚集或分散指令的显著使用的工作负载,此类型的实施方案可能导致处理增加数目的μop的显著瓶颈。
[0027]本文描述的示例实施例提供了用于优化CPU核心中的聚集/分散指令的性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于处理聚集和分散指令的系统,包括:预测单元,被配置为确定由指令所需的合并的存储器访问操作的预测量,所述指令是分散指令和聚集指令中的一个;以及解码单元,被配置为1)基于所述预测量将所述指令转换为多个访问操作,以及2)向发布队列传输所述多个访问操作和所述预测量的指示。2.根据权利要求1所述的系统,还包括加载存储单元,被配置为1)确定由所述指令所需的合并存储器访问的实际量,以及2)向所述预测单元提供所述实际量的指示。3.根据权利要求2所述的系统,其中所述预测单元还被配置为基于所述预测量和所述实际量来更新表。4.根据权利要求3所述的系统,其中所述预测单元还被配置为更新所述表的条目,所述条目对应于所述指令并且包括指示所述预测量的字段和指示所述预测量的估计准确度的置信度得分。5.根据权利要求4所述的系统,其中所述预测单元还被配置为基于所述实际量来更新所述预测量和所述置信度得分中的至少一个。6.根据权利要求2所述的系统,其中所述加载存储单元还被配置为1)确定能够被合并的所述多个访问操作的子集,以及2)从所述子集形成合并的存储器访问操作。7.根据权利要求6所述的系统,其中所述加载存储单元分析所述多个访问操作的部分,以确定能够被合并的所述多个访问操作的所述子集。8.根据权利要求6所述的系统,其中所述加载存储单元还被配置为1)将所述合并的存储器访问操作分配给至少一个寄存器条目,以及2)经由加载—存储单元管线来执行所述合并的存储器访问操作。9.根据权利要求2所述的系统,其中所述加载存储单元还被配置为基于所述预测量和所述实际量的比较来确定所述预测单元的误预测。10.根据权利要求1所述的系统,其中所述多个访问操作具有等于所述预测量的量。11.根据权利要求1所述的系统,其中所述预测单元还被配置为,通过基于所述指令的程序计数器来定位表的条目来确定所述预测量,所述预测量对应于所述条目的字段。12.根据权利要求11所述的系统,其中所述预测单元还被配置为基于误预测的指示来更新所述字段。13.根据权利要求11所述的系统,其中所述预测单元还被配置为如果所述预测量超过由所述指令所需的合并存储器访问的实际量,则制止更新所述表。14.根据权利要求...

【专利技术属性】
技术研发人员:H
申请(专利权)人:克雷公司
类型:发明
国别省市:

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

1