指令处理方法及装置制造方法及图纸

技术编号:39641116 阅读:11 留言:0更新日期:2023-12-09 11:07
本公开涉及指令的处理方法及装置

【技术实现步骤摘要】
指令处理方法及装置、电子设备


[0001]本公开的实施例涉及指令处理方法及装置

电子设备


技术介绍

[0002]现代
CPU
核通过流水线技术提高指令间并行度
(Instruction Level Parallelism)
来达到高性能
。CPU
核内部一般有多个流水阶段,比如分支预测
(Branch prediction)、
指令提取
(Instruction fetch)、
指令译码
(Decode)、
指令分发与重命名
(Dispatch and Rename)、
指令执行
(Execute)
,指令结束
(Retire)


为了支持高运行频率,每一个流水阶段又可能包含多个流水级
(
也就是时钟周期
)。
每个流水级执行有限的操作,这样每个时钟可以做到最短,通过提高
CPU
的运行频率来提高
CPU
核的性能

每个流水级也可以通过容纳更多条指令
(
成为超标量
superscalar)
来进一步提高
CPU
性能


技术实现思路

[0003]本公开至少一个实施例提供一种指令处理方法,包括:对对象指令译码得到所述对象指令对应的对象微操作段;获取所述对象指令所在的对象地址页的访问动态参数;以及根据所述访问动态参数,判断所述对象微操作段是否插入微操作高速缓存

[0004]例如,在本公开一实施例提供的指令处理方法中,获取所述对象指令所在的所述对象地址页的所述访问动态参数,包括:根据所述对象指令的指令地址,确定所述对象地址页;根据指令页参数表,确定所述对象地址页的访问动态参数,,所述指令页参数表包括所述对象地址页与所述访问动态参数之间的对应关系

[0005]例如,在本公开一实施例提供的指令处理方法中,根据所述访问动态参数,判断所述对象微操作段是否插入所述微操作高速缓存,包括:响应于所述访问动态参数为第一值,将所述对象微操作段插入所述微操作高速缓存;响应于所述访问动态参数为第二值,所述对象微操作段不插入所述微操作高速缓存,所述访问动态参数为所述第一值时所述对象地址页的访问热度高于所述访问动态参数为所述第二值时所述对象地址页的访问热度

[0006]例如,在本公开一实施例提供的指令处理方法中,微操作高速缓存具有组相联映射结构,根据所述访问动态参数,判断所述对象微操作段是否插入所述微操作高速缓存,还包括:响应于所述访问动态参数为第三值,判断在所述微操作高速缓存中所述对象指令的指令地址命中的组中是否有替换项,所述替换项的访问动态参数小于或者等于所述第三值;响应于在所述微操作高速缓存中所述对象指令的指令地址命中的组中有所述替换项,使用所述对象微操作段替换所述替换项中的内容,并且设置微操作高速缓存中所述对象微操作段对应的所述访问动态参数为所述第三值,所述访问动态参数为所述第三值时所述对象地址页的访问热度高于所述访问动态参数为所述第二值时所述对象地址页的访问热度,且小于所述访问动态参数为所述第一值时所述对象地址页的访问热度

[0007]例如,在本公开一实施例提供的指令处理方法中,根据所述访问动态参数,判断所述对象微操作段是否插入所述微操作高速缓存,还包括:响应于在所述微操作高速缓存中
所述对象指令的指令地址命中的组中不存在所述替换项,按照替换策略从所述指令地址命中的组中选择待替换项;将所述待替换项的访问动态参数设置为所述第三值,并且所述对象微操作段不插入所述微操作高速缓存

[0008]本公开至少一个实施例提供一种指令处理方法,包括:在处理器核执行程序期间,收集所述处理器核对系统中至少一个地址页的指令访问信息;以及根据所述至少一个地址页的指令访问信息,确定所述至少一个地址页每个的访问动态参数,以根据每个地址页的所述访问动态参数判断位于对象地址页的对象指令对应的对象微操作段是否插入微操作高速缓存

[0009]例如,在本公开一实施例提供的指令处理方法中,在所述处理器核执行所述程序期间,收集所述处理器核对所述系统中所述至少一个地址页的所述指令访问信息,包括:所述处理器核执行所述程序被划分为多个阶段,在每个阶段分别重新收集所述至少一个指令页的所述指令访问信息,根据所述至少一个地址页的所述指令访问信息,确定所述至少一个地址页每个的所述访问动态参数,包括:在所述每个阶段收集所述指令访问信息完成后,根据所述每个阶段的所述指令访问信息,确定所述至少一个地址页每个的所述访问动态参数

[0010]例如,在本公开一实施例提供的指令处理方法中,指令访问信息包括所述每个地址页的指令访问个数或者所述每个地址页的访问次数

[0011]例如,在本公开一实施例提供的指令处理方法中,在每个阶段分别重新收集所述至少一个指令页的所述指令访问信息,包括:针对所述每个阶段,在所述至少一个指令中的目标指令执行结束后,根据所述目标指令的指令地址计算所述目标指令所在的地址页;根据所述目标指令所在的所述地址页,更新指令页信息表,其中,所述指令页信息表包括所述至少一个指令页的所述指令访问信息

[0012]例如,在本公开一实施例提供的指令处理方法中,所述指令页信息表包括多个信息项,每个信息项包括用于区分不同地址页的标签域和用于记录计数值的计数域,更新所述指令页信息表包括:响应于所述目标指令所在的地址页命中所述指令页信息表中的目标标签域,将该目标标签域所在的信息项的计数值加
1。
[0013]例如,在本公开一实施例提供的指令处理方法中,所述指令页信息表具有组相连映射结构,所述每个信息项还包括有效域,所述有效域用于指示所述每个信息项是否被使用;更新所述指令页信息表还包括:响应于所述目标指令所在的地址页未命中所述指令页信息表中的标签域,根据所述有效域,判断所述目标地址所在的组中是否存在未被使用的信息项;响应于所述目标地址所在的组中存在未被使用的信息项,基于所述目标地址所在的地址页,设置所述未被使用的项的所述标签域,并且所述未被使用的项的所述计数值设置为第三值

[0014]例如,在本公开一实施例提供的指令处理方法中,更新所述指令页信息表还包括:响应于所述目标地址所在的组中不存在未被使用的信息项,丢弃所述目标地址

[0015]例如,在本公开一实施例提供的指令处理方法中,所述标签域的内容为所述目标地址的高
M
域的哈希值,其中,同一地址页中的多个地址的高
M
域相同,
M
为正整数

[0016]例如,在本公开一实施例提供的指令处理方法中,根据所述每个阶段的所述指令访问信息,确定所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种指令处理方法,包括:对对象指令译码得到所述对象指令对应的对象微操作段;获取所述对象指令所在的对象地址页的访问动态参数;以及根据所述访问动态参数,判断所述对象微操作段是否插入微操作高速缓存
。2.
根据权利要求1所述的方法,其中,获取所述对象指令所在的所述对象地址页的所述访问动态参数,包括:根据所述对象指令的指令地址,确定所述对象地址页;根据指令页参数表,确定所述对象地址页的访问动态参数,其中,所述指令页参数表包括所述对象地址页与所述访问动态参数之间的对应关系
。3.
根据权利要求1或2所述的方法,其中,根据所述访问动态参数,判断所述对象微操作段是否插入所述微操作高速缓存,包括:响应于所述访问动态参数为第一值,将所述对象微操作段插入所述微操作高速缓存;响应于所述访问动态参数为第二值,所述对象微操作段不插入所述微操作高速缓存,其中,所述访问动态参数为所述第一值时所述对象地址页的访问热度高于所述访问动态参数为所述第二值时所述对象地址页的访问热度
。4.
根据权利要求3所述的方法,其中,所述微操作高速缓存具有组相联映射结构,根据所述访问动态参数,判断所述对象微操作段是否插入所述微操作高速缓存,还包括:响应于所述访问动态参数为第三值,判断在所述微操作高速缓存中所述对象指令的指令地址命中的组中是否有替换项,其中,所述替换项的访问动态参数小于或者等于所述第三值;响应于在所述微操作高速缓存中所述对象指令的指令地址命中的组中有所述替换项,使用所述对象微操作段替换所述替换项中的内容,并且设置微操作高速缓存中所述对象微操作段对应的所述访问动态参数为所述第三值,其中,所述访问动态参数为所述第三值时所述对象地址页的访问热度高于所述访问动态参数为所述第二值时所述对象地址页的访问热度,且小于所述访问动态参数为所述第一值时所述对象地址页的访问热度
。5.
根据权利要求4所述的方法,其中,根据所述访问动态参数,判断所述对象微操作段是否插入所述微操作高速缓存,还包括:响应于在所述微操作高速缓存中所述对象指令的指令地址命中的组中不存在所述替换项,按照替换策略从所述指令地址命中的组中选择待替换项;将所述待替换项的访问动态参数设置为所述第三值,并且所述对象微操作段不插入所述微操作高速缓存
。6.
一种指令处理方法,包括:在处理器核执行程序期间,收集所述处理器核对系统中至少一个地址页的指令访问信息;以及根据所述至少一个地址页的指令访问信息,确定所述至少一个地址页每个的访问动态参数,以根据每个地址页的所述访问动态参数判断位于对象地址页的对象指令对应的对象微操作段是否插入微操作高速缓存

7.
根据权利要求6所述的方法,其中,在所述处理器核执行所述程序期间,收集所述处理器核对所述系统中所述至少一个地址页的所述指令访问信息,包括:所述处理器核执行所述程序被划分为多个阶段,在每个阶段分别重新收集所述至少一个指令页的所述指令访问信息,根据所述至少一个地址页的所述指令访问信息,确定所述至少一个地址页每个的所述访问动态参数,包括:在所述每个阶段收集所述指令访问信息完成后,根据所述每个阶段的所述指令访问信息,确定所述至少一个地址页每个的所述访问动态参数
。8.
根据权利要求6或7所述的方法,其中,所述指令访问信息包括所述每个地址页的指令访问个数或者所述每个地址页的访问次数
。9.
根据权利要求8所述的方法,其中,在每个阶段分别重新收集所述至少一个指令页的所述指令访问信息,包括:针对所述每个阶段,在所述至少一个指令中的目标指令执行结束后,根据所述目标指令的指令地址计算所述目标指令所在的地址页;根据所述目标指令所在的所述地址页,更新指令页信息表,其中,所述指令页信息表包括所述至少一个指令页的所述指令访问信息
。10.
根据权利要求9所述的方法,其中,所述指令页信息表包括多个信息项,每个信息项包括用于区分不同地址页的标签域和用于记录计数值的计数域,更新所述指令页信息表包括:响应于所述目标指令所在的地址页命中所述指令页信息表中的目标标签域,将该目标标签域所在的信息项的计数值加
1。11.
根据权利要求
10
所述的方法,其中,所述指令页信息表具有组相连映射结构,所述每个...

【专利技术属性】
技术研发人员:胡世文
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1