一种指令执行结果写入装置制造方法及图纸

技术编号:39641452 阅读:7 留言:0更新日期:2023-12-09 11:08
本申请公开了一种指令执行结果写入装置

【技术实现步骤摘要】
一种指令执行结果写入装置、方法、设备及存储介质


[0001]本专利技术涉及处理器内核架构
,特别涉及一种指令执行结果写入装置

方法

设备及存储介质


技术介绍

[0002]随着科技的发展,人们对计算机处理速度的要求越来越高

为了提高微处理器的性能,人们提出了超标量流水线技术

超标量技术是指
CPU(Central Processing Unit
,即中央处理器
)
在每个时钟周期内可以完成一条以上指令的并行执行技术

实现多指令并行执行的关键在于乱序执行

乱序执行是指不按照指令原始顺序执行的技术

而实现指令乱序执行的关键是用到了寄存器重命名技术

寄存器重命名是用一个或者多个虚拟寄存器来代替真实的数据寄存器的硬件猜测方法

重排序缓冲器
(ROB
,即
Reorder Buffer)
是超标量处理器中基于寄存器重命名技术的一种实现结构,在系列处理器中得到了广泛的应用

[0003]传统的
CPU

ROB
通常以允许多端口同时读写的寄存器堆的方式实现,一个
N
指令发射的超标量处理器的流水线中,至少需要
2N
个读端口,以及
N
个写端口,这样能保证
N
>条指令在一个时钟周期内将2个指令执行的操作数从
ROB
读出来或者将指令的执行结果写入
ROB


但这样的多端口寄存器堆会增加设计的复杂度,带来时序变差以及面积变大等影响

因此,如何降低设计的复杂度的同时仍然实现在一个时钟周期内将2个指令执行的操作数是需要解决的


技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种指令执行结果写入装置

方法

设备及存储介质,能够在减少重排序缓存单元端口数量的同时,仍可以实现同时读写指令处理结果的效果

其具体方案如下:
[0005]第一方面,本申请公开了一种指令执行结果写入装置,包括:
[0006]指令传送模块,用于对获取的各待执行指令进行编译以得到对应的编译后指令,并将各所述编译后指令发送至预设指令发射队列;
[0007]指令执行模块,用于通过若干个指令执行工具获取所述预设指令发射队列发送的所述编译后指令进行执行以生成对应的执行结果;
[0008]执行结果仲裁模块,用于基于各所述执行结果之间的数据相关性将各所述执行结果分别分配至对应的预设重排序缓存单元中;
[0009]执行结果存储模块,用于从所述预设重排序缓存单元读取各所述执行结果,并通过预设写回仲裁工具将各所述执行结果写入至本地寄存器组中

[0010]可选的,所述指令传送模块,包括:
[0011]指令译码单元,用于根据获取的待执行指令的执行顺序对所述待执行指令标记对应的标识号,以得到编译后指令,并将所述编译后指令发送至预设指令发射队列中

[0012]可选的,所述指令执行结果写入装置,还包括:
[0013]执行结果译码单元,用于基于与所述执行结果对应的所述编译后指令的指令标识号对所述执行结果进行标记,以使标记后得到的所述执行结果的结果标识号与所述指令标识号相一致

[0014]可选的,所述执行结果存储模块,包括:
[0015]结果顺序存储单元,用于从所述预设重排序缓存单元读取各所述执行结果,并基于预设写回仲裁工具和各所述执行结果的结果标识号将各所述执行结果写入至本地寄存器组中

[0016]可选的,所述执行结果仲裁模块,包括:
[0017]执行结果判断子模块,用于判断将各所述执行结果之间是否存在数据相关性;
[0018]第一结果分配子模块,用于将存在数据相关性的各所述执行结果分配至不同的预设重排序缓存单元中;
[0019]第二结果分配子模块,用于将不存在数据相关性的各所述执行结果分配至不同或相同的预设重排序缓存单元中

[0020]可选的,所述执行结果判断子模块,包括:
[0021]结果标识号判断单元,用于判断各所述执行结果之间的结果标识号是否相邻;
[0022]相应的,所述第一结果分配子模块,包括:
[0023]第一结果分配单元,用于将结果标识号相邻的各所述执行结果分配至不同的预设重排序缓存单元中;
[0024]所述第二结果分配子模块,包括:
[0025]第二结果分配单元,用于将结果标识号不相邻的各所述执行结果分配至不同或相同的预设重排序缓存单元中

[0026]可选的,所述执行结果仲裁模块,还包括:
[0027]执行结果读取单元,用于从所述预设重排序缓存单元中读取所述编译后指令执行所需的执行数据;其中,所述执行数据为其他编译后指令的执行结果;
[0028]执行结果传递单元,用于将所述执行数据传递至所述编译后指令对应的指令执行工具中

[0029]第二方面,本申请公开了一种指令执行结果写入方法,包括:
[0030]对获取的各待执行指令进行编译以得到对应的编译后指令,并将各所述编译后指令发送至预设指令发射队列中;
[0031]通过若干个指令执行工具获取所述预设指令发射队列发送的所述编译后指令进行执行以生成对应的执行结果;
[0032]基于各所述执行结果之间的数据相关性将各所述执行结果分别分配至对应的预设重排序缓存单元中;
[0033]从所述预设重排序缓存单元读取各所述执行结果,并通过预设写回仲裁工具将各所述执行结果写入至本地寄存器组中

[0034]第三方面,本申请公开了一种电子设备,包括:
[0035]存储器,用于保存计算机程序;
[0036]处理器,用于执行所述计算机程序以实现前述的指令执行结果写入方法

[0037]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计
算机程序被处理器执行时实现前述的指令执行结果写入方法

[0038]可见,本申请中,指令传送模块,用于对获取的各待执行指令进行编译以得到对应的编译后指令,并将各所述编译后指令发送至预设指令发射队列;指令执行模块,用于通过若干个指令执行工具获取所述预设指令发射队列发送的所述编译后指令进行执行以生成对应的执行结果;执行结果仲裁模块,用于基于各所述执行结果之间的数据相关性将各所述执行结果分别分配至对应的预设重排序缓存单元中;执行结果存储模块,用于从所述预设重排序缓存单元读取各所述执行结果,并通过预设写回仲裁工具将各所述执行结果本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种指令执行结果写入装置,其特征在于,包括:指令传送模块,用于对获取的各待执行指令进行编译以得到对应的编译后指令,并将各所述编译后指令发送至预设指令发射队列;指令执行模块,用于通过若干个指令执行工具获取所述预设指令发射队列发送的所述编译后指令进行执行以生成对应的执行结果;执行结果仲裁模块,用于基于各所述执行结果之间的数据相关性将各所述执行结果分别分配至对应的预设重排序缓存单元中;执行结果存储模块,用于从所述预设重排序缓存单元读取各所述执行结果,并通过预设写回仲裁工具将各所述执行结果写入至本地寄存器组中
。2.
根据权利要求1所述的指令执行结果写入装置,其特征在于,所述指令传送模块,包括:指令译码单元,用于根据获取的待执行指令的执行顺序对所述待执行指令标记对应的标识号,以得到编译后指令,并将所述编译后指令发送至预设指令发射队列中
。3.
根据权利要求2所述的指令执行结果写入装置,其特征在于,还包括:执行结果译码单元,用于基于与所述执行结果对应的所述编译后指令的指令标识号对所述执行结果进行标记,以使标记后得到的所述执行结果的结果标识号与所述指令标识号相一致
。4.
根据权利要求3所述的指令执行结果写入装置,其特征在于,所述执行结果存储模块,包括:结果顺序存储单元,用于从所述预设重排序缓存单元读取各所述执行结果,并基于预设写回仲裁工具和各所述执行结果的结果标识号将各所述执行结果写入至本地寄存器组中
。5.
根据权利要求2所述的指令执行结果写入装置,其特征在于,所述执行结果仲裁模块,包括:执行结果判断子模块,用于判断将各所述执行结果之间是否存在数据相关性;第一结果分配子模块,用于将存在数据相关性的各所述执行结果分配至不同的预设重排序缓存单元中;第二结果分配子模块,用于将不存在数据相关性的各所述执行结果分配至...

【专利技术属性】
技术研发人员:许桂龙赵鑫鑫姜凯
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

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

1