乱序处理器中队列的队列项选择方法及装置制造方法及图纸

技术编号:37157433 阅读:11 留言:0更新日期:2023-04-06 22:19
本公开提供了一种乱序处理器中队列的队列项选择方法及装置,涉及处理器技术领域,方法包括:根据队列中各队列项的标签值,生成队列的掩码位向量;根据队列中各队列项是否满足可执行条件,生成队列的可执行位向量;根据掩码位向量和可执行位向量,生成队列的选择位向量;将选择位向量中的目标位对应的队列项,确定为可执行队列项,其中目标位为选择位向量中首个对应值为第一预设值的位。能够减少从队列中选择可执行队列项时的选择逻辑,降低选择的复杂度,从而减小选择的延时,有效提高乱序处理器的性能,并且降低功耗、节约面积,以解决因乱序队列中队列项选择的硬件处理过程复杂而导致的处理器性能差、耗费较多的功耗和面积的问题。问题。问题。

【技术实现步骤摘要】
乱序处理器中队列的队列项选择方法及装置


[0001]本公开涉及处理器
,特别涉及一种乱序处理器中队列的队列项选择方法及装置。

技术介绍

[0002]在程序员编写程序的时候,认为程序的执行都是按照串行的顺序运行的,只有前面的一条指令执行完了,后面的指令才可以执行,因此处理器在执行程序的时候,也必须保证这种串行的结果,否则就会和程序最初的预想行为不一致。为了提高指令执行效率,现代的处理器都是乱序处理器,乱序处理器的指令就不会按照程序中指定的顺序在处理器中流动,只要满足执行条件,后面的指令可以越过前面的指令先执行,以提高指令的执行速度。
[0003]乱序处理器中的乱序队列用来缓存一定数量的指令和数据,负责为进入队列的指令和数据分配空项,将符合一定条件的指令和数据从队列中选择出来执行。其中,指令可以是程序的指令,也可以是处理器内部译码成的内部操作,一条指令可能翻译成一个操作也可能翻译成多个操作。从乱序队列中选择队列项的硬件处理过程比较复杂,一般时序都处于处理器的关键路径上,直接影响着处理器的频率,从而导致处理器的性能较差,而且耗费比较多的功耗和面积。

技术实现思路

[0004]本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
[0005]为此,本公开的目的在于提出一种乱序处理器中队列的队列项选择方法及装置,可以减少从队列中选择可执行队列项时的选择逻辑,降低选择的复杂度,从而减小选择的延时,有效提高乱序处理器的性能,并且降低功耗、节约面积。
[0006]本公开第一方面实施例提供一种乱序处理器中队列的队列项选择方法,方法包括:获取队列中各队列项的标签值;根据各所述队列项的标签值,生成所述队列的掩码位向量;根据所述队列中各所述队列项的指示信息,生成所述队列的可执行位向量,所述指示信息用于指示所述队列项是否满足可执行条件;根据所述掩码位向量和所述可执行位向量,生成所述队列的选择位向量;将所述选择位向量中的目标位对应的队列项,确定为可执行队列项,其中,所述目标位为所述选择位向量中首个对应值为第一预设值的位。
[0007]根据本公开实施例的乱序处理器中队列的队列项选择方法,通过获取队列中各队列项的标签值,根据各队列项的标签值,生成队列的掩码位向量,根据队列中各队列项的指示信息,生成队列的可执行位向量,指示信息用于指示队列项是否满足可执行条件,根据掩码位向量和可执行位向量,生成队列的选择位向量,将选择位向量中的目标位对应的队列项,确定为可执行队列项,其中,目标位为选择位向量中首个对应值为第一预设值的位,能够减少从队列中选择可执行队列项时的选择逻辑,降低选择的复杂度,从而减小选择的延时,有效提高乱序处理器的性能,并且降低功耗、节约面积。
[0008]本公开第二方面实施例提供一种乱序处理器中队列的队列项选择装置,所述装置
包括:标签值获取模块,用于获取队列中各队列项的标签值;第一生成模块,用于根据各所述队列项的标签值,生成所述队列的掩码位向量;第二生成模块,用于根据所述队列中各所述队列项的指示信息,生成所述队列的可执行位向量,所述指示信息用于指示所述队列项是否满足可执行条件;第三生成模块,用于根据所述掩码位向量和所述可执行位向量,生成所述队列的选择位向量;队列项确定模块,用于将所述选择位向量中的目标位对应的队列项,确定为可执行队列项,其中,所述目标位为所述选择位向量中首个对应值为第一预设值的位。
[0009]根据本公开实施例的乱序处理器中队列的队列项选择装置,通过获取队列中各队列项的标签值,根据各队列项的标签值,生成队列的掩码位向量,根据队列中各队列项的指示信息,生成队列的可执行位向量,指示信息用于指示队列项是否满足可执行条件,根据掩码位向量和可执行位向量,生成队列的选择位向量,将选择位向量中的目标位对应的队列项,确定为可执行队列项,其中,目标位为选择位向量中首个对应值为第一预设值的位,能够减少从队列中选择可执行队列项时的选择逻辑,降低选择的复杂度,从而减小选择的延时,有效提高乱序处理器的性能,并且降低功耗、节约面积。
[0010]本公开第三方面实施例提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行如上述实施例所述的乱序处理器中队列的队列项选择方法。
[0011]本公开第四方面实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上述实施例所述的乱序处理器中队列的队列项选择方法。
[0012]本公开第五方面实施例提供一种计算机程序,包括计算机程序,所述计算机程序在被处理器执行时实现如上述实施例所述的乱序处理器中队列的队列项选择方法的步骤。
[0013]本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
[0014]本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为队列的首项、末项、队头、队尾以及队头标号和队尾标号的变化示意图;图2为根据本公开一实施例所提供的一种乱序处理器中队列的队列项选择方法的流程示意图;图3为根据本公开另一实施例所提供的一种乱序处理器中队列的队列项选择方法的流程示意图;图4为根据本公开实施例提供的复位时的队列示意图;图5为根据本公开实施例提供的队头标号和队尾标号都未翻转的队列示意图;图6为根据本公开实施例提供的队尾标号翻转、队头标号未翻转的队列示意图;图7为根据本公开实施例提供的队头标号和队尾标号都翻转后的队列示意图;图8为根据本公开实施例提供的队尾标号再次发生翻转、队头标号还未再次翻转
的队列示意图;图9为根据本公开实施例提供的复位时的另一队列示意图;图10为根据本公开实施例提供的队头标号和队尾标号都未翻转的另一队列示意图;图11为根据本公开实施例提供的队尾标号翻转、队头标号未翻转的另一队列示意图;图12为根据本公开实施例提供的队头标号和队尾标号都翻转后的另一队列示意图;图13为根据本公开实施例提供的队尾标号再次发生翻转、队头标号还未再次翻转的另一队列示意图;图14为根据本公开实施例提供的队列示意图;图15为根据本公开实施例提供的多个位向量的示意图;图16为根据本公开实施例提供的多个位向量的另一示意图;图17 为根据本公开实施例提供的选择多项指令执行后的队列示意图;图18为根据本公开施例提供的另一队列示意图;图19为根据本公开实施例提供的多个位向量的另一示意图;图20为根据本公开实施例提供的多个位向量的另一示意图;图21为根据本公开实施例提供的选择多项指令执行后的另一队列示意图;图22为根据本公开一实施例所提供的一种乱序处理器中队列的队列项选择装置的结构示意图;图23为用于实现本公开实施例的乱序处理器中队列的队列项选择方法的示例性电子设备的框图。
具体实施方式
[0015]下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种乱序处理器中队列的队列项选择方法,其特征在于,所述方法包括:获取队列中各队列项的标签值;根据各所述队列项的标签值,生成所述队列的掩码位向量;根据所述队列中各所述队列项的指示信息,生成所述队列的可执行位向量,所述指示信息用于指示所述队列项是否满足可执行条件;根据所述掩码位向量和所述可执行位向量,生成所述队列的选择位向量;将所述选择位向量中的目标位对应的队列项,确定为可执行队列项,其中,所述目标位为所述选择位向量中首个对应值为第一预设值的位。2.根据权利要求1所述的方法,其特征在于,各所述队列项具有对应的标号,各所述队列项中的队尾项随指令写入所述队列进行切换,其中,在所述队尾项从所述队列的末项切换到首项时,所述队尾项对应的标号翻转;其中,所述队列中各队列项的标签值通过以下方式确定:在初始化状态时,确定各所述队列项的标签值为预设的第一标签值;在指令写入所述队列后,确定所述队尾项对应的标号的翻转次数;根据所述翻转次数,确定所述队列中各所述队列项的标签值。3.根据权利要求2所述的方法,其特征在于,所述根据所述翻转次数,确定所述队列中各所述队列项的标签值,包括:在所述翻转次数为0时,确定所述队列中各所述队列项的标签值为所述第一标签值;在所述翻转次数为奇数时,确定所述队列中目标队列项的标签值为预设的第二标签值;在所述翻转次数为除0外的其它偶数时,确定所述队列中所述目标队列项的标签值为所述第一标签值;其中,所述目标队列项,包括所述首项以及所述首项与所述队尾项之间的各所述队列项。4.根据权利要求3所述的方法,其特征在于,所述根据所述翻转次数,确定所述队列中各所述队列项的标签值,还包括:在所述翻转次数为奇数时,确定所述队列中除所述目标队列项外的其它队列项的标签值为所述第一标签值;在所述翻转次数为除0外的其它偶数时,确定所述队列中除所述目标队列项外的其它队列项的标签值为所述第二标签值。5.根据权利要求1所述的方法,其特征在于,所述根据各所述队列项的标签值,生成所述队列的掩码位向量,包括:确定各所述队列项中的队头项的标签值;对各所述队列项的标签值与所述队头项的标签值进行异或处理,得到各所述队列项的处理后标签值;根据各所述队列项的处理后标签值,生成所述队列的掩码位向量。6.根据权利要求1

5中任一项所述的方法,其特征在于,每个所述队列项的指示信息包括有效位的值和准备好位的值;所述根据所述队列中各所述队列项的指示信息,生成所述队列的可执行位向量,包括:
根据所述队列中各所述队列项的有效位的值和准备好位的值,生成所述队列的可执行位向量。7.根据权利要求6所述的方法,其特征在于,各所述队列项依次标号为0到N

1之间的整数,N为所述队列中各所述队列项的数量;所述根据所述队列中各所述队列项的有效位的值和准备好位的值,生成所述队列的可执行位向量,包括:对各所述队列项的有效位的值和准备好位的值按位进行与操作,得到位数为N的有效准备位向量;根据所述有效准备位向量,生成位数为M的可执行位向量;其中,在N为2的幂次时,M为N的2倍;在N不为2的幂次时,M为X的2倍,其中,X为大于N且最接近N的2的幂次数。8.根据权利要求7所述的方法,其特征在于,所述根据所述有效准备位向量,生成位数为M的可执行位向...

【专利技术属性】
技术研发人员:李祖松郇丹丹
申请(专利权)人:北京微核芯科技有限公司
类型:发明
国别省市:

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

1