处理器的预取训练方法、处理装置、处理器和计算设备制造方法及图纸

技术编号:33131145 阅读:16 留言:0更新日期:2022-04-17 00:48
本公开的一些实施例提供了一种处理器的预取训练方法、处理装置、处理器和计算设备。该处理器的预取训练方法,包括:对第一微指令进行拆分以得到N个子请求,其中,N为大于1的正整数;将N个子请求经微指令处理流水线的处理;以及将N个子请求的属性合并后得到的合并属性写入用于预取器的地址输入队列,以使得预取器基于合并属性进行预取训练。于合并属性进行预取训练。于合并属性进行预取训练。

【技术实现步骤摘要】
处理器的预取训练方法、处理装置、处理器和计算设备


[0001]本公开的一些实施例处理器的
,具体地,涉及一种处理器的预取训练方法、处理装置、处理器和计算设备。

技术介绍

[0002]在中央处理器(Central Processing Unit,CPU)架构中,程序指令与数据一般存储在诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)的内存中。通常,CPU的核心(Core)的运行频率高于内存的运行频率,因此,CPU从内存直接获取数据需要等待诸如上百个CPU时钟周期,这将会造成CPU由于无法继续处理相关指令或数据而产生空转,造成性能损失。因此,现代高性能CPU通常设置有多级缓存(Cache)架构,以存储最近被访问的数据。同时,针对多级缓存架构,还可以利用预取器来识别CPU访问数据的规律,提前地将可能被访问的数据预取到多级缓存架构的其中一级缓存中,以使得CPU能更快速地从缓存中读取数据。

技术实现思路

[0003]本公开的一些实施例提供了一种处理器的预取训练方法、处理装置、处理器和计算设备,用于提高预取效率以及预取准确性。
[0004]根据本公开的一方面,提供了一种处理器的预取训练方法,包括:对第一微指令进行拆分以得到N个子请求,其中,N为大于1的正整数;将N个子请求经微指令处理流水线的处理;以及将N个子请求的属性合并后得到的合并属性写入用于预取器的地址输入队列,以使得预取器基于合并属性进行预取训练。
[0005]根据本公开的一些实施例,微指令处理流水线连续地处理N个子请求。
[0006]根据本公开的一些实施例,存储地址根据对齐数据宽度被划分为多个对齐数据范围,对第一微指令进行拆分以得到N个子请求包括:基于第一微指令的地址、第一微指令所对应的访问数据宽度以及对齐数据宽度,将第一微指令拆分成N个子请求。
[0007]根据本公开的一些实施例,基于第一微指令的地址、第一微指令所对应的访问数据宽度以及对齐数据宽度,将第一微指令拆分成N个子请求包括:基于第一微指令的地址确定第一微指令所对应的当前对齐数据范围;基于第一微指令所对应的访问数据宽度,确定第一微指令所访问的数据是否超出当前对齐数据范围;以及在确定超出的情况下,将第一微指令拆分成N个子请求。
[0008]根据本公开的一些实施例,合并属性包括用于指示是否命中缓存的合并缓存命中特征,其中,将N个子请求的属性合并后得到的合并属性写入用于预取器的地址输入队列包括:将N个子请求中的每个子请求在微指令处理流水线中经处理获得的缓存命中特征进行合并以得到合并缓存命中特征,并将合并缓存命中特征写入地址输入队列。
[0009]根据本公开的一些实施例,缓存命中特征包括命中缓存和不命中缓存,其中,在N个子请求中的至少一个子请求的缓存命中特征为不命中缓存的情况下,合并缓存命中特征
为不命中缓存,在N个子请求中的每个子请求的缓存命中特征均为命中缓存的情况下,合并缓存命中特征为命中缓存。
[0010]根据本公开的一些实施例,合并属性还包括第一微指令的地址以及第一微指令所对应的访问数据宽度。
[0011]根据本公开的一些实施例,第一微指令为具有访存操作的微指令,由第一微指令拆分得到的N个子请求为具有访存操作的子请求,其中,将N个子请求经微指令处理流水线的处理包括:利用微指令处理流水线根据N个子请求中的每个子请求进行数据访存处理。
[0012]根据本公开的一些实施例,该训练预取方法还包括:将第二微指令经微指令处理流水线的处理;以及将第二微指令的属性写入地址输入队列,以使得预取器基于第二微指令的属性进行预取训练。
[0013]根据本公开的另一方面,还提供了一种执行预取训练的处理装置,包括:拆分单元,配置成对第一微指令进行拆分以得到N个子请求,其中,N为大于1的正整数;处理单元,配置成将N个子请求经微指令处理流水线的处理,并将N个子请求的属性合并后得到的合并属性写入用于预取单元的地址输入队列,以使得预取单元基于合并属性进行预取训练。
[0014]根据本公开的一些实施例,处理装置还包括预取单元,预取单元配置成基于合并属性进行预取训练。
[0015]根据本公开的一些实施例,微指令处理流水线连续地处理N个子请求。
[0016]根据本公开的一些实施例,存储地址根据对齐数据宽度被划分为多个对齐数据范围,为了得到N个子请求,拆分单元配置成:基于第一微指令的地址、第一微指令所对应的访问数据宽度以及对齐数据宽度,将第一微指令拆分成N个子请求。
[0017]根据本公开的一些实施例,为了得到N个子请求,拆分单元配置成:基于第一微指令的地址确定第一微指令所对应的当前对齐数据范围;基于第一微指令所对应的访问数据宽度,确定第一微指令所访问的数据是否超出当前对齐数据范围;以及在确定超出的情况下,将第一微指令拆分成N个子请求。
[0018]根据本公开的一些实施例,合并属性包括用于指示是否命中缓存的合并缓存命中特征,其中,将N个子请求的属性合并后得到的合并属性写入用于预取器的地址输入队列包括:将N个子请求中的每个子请求在微指令处理流水线中经处理获得的缓存命中特征进行合并以得到合并缓存命中特征,并将合并缓存命中特征写入地址输入队列。
[0019]根据本公开的一些实施例,缓存命中特征包括命中缓存和不命中缓存,其中,在N个子请求中的至少一个子请求的缓存命中特征为不命中缓存的情况下,合并缓存命中特征为不命中缓存,在N个子请求中的每个子请求的缓存命中特征均为命中缓存的情况下,合并缓存命中特征为命中缓存。
[0020]根据本公开的一些实施例,合并属性还包括第一微指令的地址以及第一微指令所对应的访问数据宽度。
[0021]根据本公开的一些实施例,第一微指令为具有访存操作的微指令,由第一微指令拆分得到的N个子请求为具有访存操作的子请求,其中,为了将N个子请求经微指令处理流水线的处理,处理单元配置成:利用微指令处理流水线根据N个子请求中的每个子请求进行数据访存处理。
[0022]根据本公开的一些实施例,处理单元还配置成将第二微指令经微指令处理流水线
的处理,并将该第二微指令的属性写入地址输入队列,以使得预取器基于第二微指令的属性进行预取训练。
[0023]根据本公开的又一方面,还提供了一种处理器,包括:微指令处理队列,其中,微指令处理队列包括多个微指令,多个微指令中的第一微指令被拆分以得到N个子请求,其中,N为大于1的正整数;微指令处理流水线,配置成对N个子请求进行处理,并将N个子请求的属性合并后得到的合并属性写入地址输入队列;以及预取器,配置成基于地址输入队列中的合并属性进行预取训练。
[0024]根据本公开的又一方面,还提供了一种计算设备,包括:处理器;和存储器,其中,存储器中存储有计算机可读代码,计算机可读代码在由处理器运行时,执行如上所述的处理器的预取训练方法。
[0025]本公开一些实施例提供的处理器的预取训练方法、处理装置、处理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器的预取训练方法,包括:对第一微指令进行拆分以得到N个子请求,其中,N为大于1的正整数;将所述N个子请求经微指令处理流水线的处理;以及将所述N个子请求的属性合并后得到的合并属性写入用于预取器的地址输入队列,以使得所述预取器基于所述合并属性进行预取训练。2.如权利要求1所述的方法,其特征在于,所述微指令处理流水线连续地处理所述N个子请求。3.如权利要求1所述的方法,其特征在于,存储地址根据对齐数据宽度被划分为多个对齐数据范围,所述对第一微指令进行拆分以得到N个子请求包括:基于所述第一微指令的地址、所述第一微指令所对应的访问数据宽度以及所述对齐数据宽度,将所述第一微指令拆分成所述N个子请求。4.如权利要求3所述的方法,其特征在于,所述基于所述第一微指令的地址、所述第一微指令所对应的访问数据宽度以及所述对齐数据宽度,将所述第一微指令拆分成所述N个子请求包括:基于所述第一微指令的地址确定所述第一微指令所对应的当前对齐数据范围;基于所述第一微指令所对应的访问数据宽度,确定所述第一微指令所访问的数据是否超出所述当前对齐数据范围;以及在确定超出的情况下,将所述第一微指令拆分成所述N个子请求。5.如权利要求1所述的方法,其特征在于,所述合并属性包括用于指示是否命中缓存的合并缓存命中特征,其中,所述将所述N个子请求的属性合并后得到的合并属性写入用于预取器的地址输入队列包括:将所述N个子请求中的每个子请求在所述微指令处理流水线中经处理获得的缓存命中特征进行合并以得到所述合并缓存命中特征,并将所述合并缓存命中特征写入所述地址输入队列。6.如权利要求5所述的方法,其特征在于,所述缓存命中特征包括命中缓存和不命中缓存,其中,在所述N个子请求中的至少一个子请求的缓存命中特征为不命中缓存的情况下,所述合并缓存命中特征为不命中缓存,在所述N个子请求中的每个子请求的缓存命中特征均为命中缓存的情况下,所述合并缓存命中特征为命中缓存。7.如权利要求5所述的方法,其特征在于,所述合并属性还包括所述第一微指令的地址以及所述第一微指令所对应的访问数据宽度。8.如权利要求1所述的方法,其特征在于,所述第一微指令为具有访存操作的微指令,所述由所述第一微指令拆分得到的所述N个子请求为具有访存操作的子请求,其中,所述将所述N个子请求经微指令处理流水线的处理包括:利用所述微指令处理流水线根据所述N个子请求中的每个子请求进行数据访存处理。9.如权利要求1所述的方法,其特征在于,所述方法还包括:将第二微指令经所述微指令处理流水线的处理;以及将所述第二微指令的属性写入所述地址输入队列,以使得所述预取器基于所述第二微指令的属性进行预取训练。10.一种执行预取训练的处理装置,包括:
拆分单元,配置成对第一微指令进行拆分以得到N个子请求,其中,N为大于1的正整数;以及处理单元,配置成将所述N个子请求经微指令处理流水线的处理,并将所述N个子请求的属性合并后得到的合并属性写入用于预取单元的地址输入队...

【专利技术属性】
技术研发人员:崔泽汉薛大庆
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1