用于判断队列项是否取消的裁决电路制造技术

技术编号:28932194 阅读:25 留言:0更新日期:2021-06-18 21:29
本实用新型专利技术公开了一种用于判断队列项是否取消的裁决电路,包括:与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;与多个异或门相连的比较器组件,比较器组件用于根据指令的年龄信息判断得到指令年龄的新老;分别与乱序队列和比较器组件相连的取消部件,取消部件,用于判断队列取消项时,选择队列中引起取消的指令及比引起取消的指令的年龄新的指令进行取消。该裁决电路可以提高队列取消项判断的可靠性,降低判断复杂度,减小裁决延时,提高乱序处理器的性能、降低功耗、节约面积。

【技术实现步骤摘要】
用于判断队列项是否取消的裁决电路
本技术涉及乱序处理器
,特别涉及一种用于判断队列项是否取消的裁决电路。
技术介绍
乱序处理器的指令到了乱序队列中,就不会按照程序中指定的顺序在处理器中流动,只要满足执行的条件,后面的指令可以越过前面的指令先执行,以提高指令的执行速度。当乱序处理器因为转移预测错、访存相关等引起重新执行,或因为例外引发的异常等发生取消的情况时,需要判断在流水线中还没有提交的指令中有哪些指令是处于转移预测错的指令、访存相关引起重新执行的指令或例外引发异常的指令的后面,属于需要跟引起取消的指令一起被取消的指令,在流水线各个阶段来取消这些指令,让这些指令重新执行,或回滚到流水线的特定阶段再开始执行。要识别出乱序队列中哪些指令是最老的,就需要知道这些指令的年龄信息,年龄信息表示指令进入流水线的先后顺序。相关技术中,通常通过乱序处理器的裁决电路进行指令年龄信息的判断,然而,在判断时容易出现指令年龄大小的混乱问题,因此也降低了裁决电路判断队列取消项的可靠性;且由于判断的实质是通过比较器的比较实现的,因此,如果想要解决指令年龄大小的混乱问题,提高判断的速度,则需要增加大量的比较器,从而大大增加了处理器的复杂度、延时、面积以及功耗。
技术实现思路
本技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本技术的目的在于提出一种用于判断队列项是否取消的裁决电路,可以提高队列取消项判断的可靠性,降低判断复杂度,减小裁决延时,提高乱序处理器的性能、降低功耗、节约面积。>为达到上述目的,本技术提供一种用于判断队列项是否取消的裁决电路,包括:与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;与多个异或门相连的比较器组件,所述比较器组件用于根据指令的年龄信息判断得到指令年龄的新老;分别与乱序队列和比较器组件相连的取消部件,用于在判断队列取消项时,选择队列中引起取消的指令及比引起取消的指令的年龄新的指令进行取消。根据本技术的用于判断队列项是否取消的裁决电路,通过在比较器前增加的异或门异或寄存器队列地址前面增加的最高位和寄存器队列的读指针增加的最高位,得到每条指令的年龄信息,并通过比较得到年龄的新老,避免在判断时出现指令年龄大小混乱的问题,提高队列取消项判断的可靠性;由于增加的异或门可以有效减少比较的次数,因此可以直接减少所需比较器的数量,从而可以降低判断复杂度,减小裁决延时,提高乱序处理器的性能、降低功耗、节约面积。进一步地,所述寄存器队列为重定序缓存或转移重定序缓存。进一步地,所述比较器组件包括:多个第一级比较器,每个第一级比较器的两个输入端分别与相邻的两个异或门的输出端相连,以比较两条指令的年龄信息,判断得到指令年龄的新老。进一步地,所述比较器组件还包括:多个第二级至第N级比较器,在后比较器的两个输入端分别与在前两个相邻比较器的输出端相连,以比较得到所有指令年龄的新老,其中,N大于等于2。本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。附图说明本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本技术实施例提供的用于判断队列项是否取消的裁决电路的结构示意图;图2为根据本技术实施例提供的用于判断队列项是否取消的裁决电路的部分结构示例图;图3为根据本技术实施例提供的用来进行年龄比较地址信息的装置示意图;图4为根据本技术实施例提供的指令例外取消判断示意图;图5为根据本技术实施例提供的指令转移取消判断示意图;图6为根据本技术实施例提供的定点派遣队列因回滚引起取消项的判断示意图。具体实施方式下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。下面参照附图描述根据本技术实施例提出的具有指令年龄比较功能的用于判断队列项是否取消的裁决电路。具体而言,图1为本技术实施例所提供的一种具有指令年龄比较功能的用于判断队列项是否取消的裁决电路的结构示意图。如图1所示,用于判断队列项是否取消的裁决电路10包括:多个异或门100、比较器组件200和取消部件300。其中,多个异或门100与用于记录乱序处理器中所有指令的寄存器队列地址相连,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;比较器组件200与多个异或门相连,比较器组件200用于根据指令的年龄信息判断得到指令年龄的新老;取消部件300分别与乱序队列和比较器组件相连,取消部件300用于在判断队列取消项时,选择队列中引起取消的指令及比引起取消的指令的年龄新的指令进行取消。可以理解的是,本技术实施例通过增加异或门实现指令年龄的比较,由于异或门的使用减少了比较器的使用数量,从而有效降低了指令年龄判断的复杂度,减小裁决延时,提高队列取消项判断的可靠性,有效提高乱序处理器的性能、降低功耗、节约面积。需要说明的是,当寄存器队列的读指针和写指针按地址增加的方向指向下一项时,地址增加的方向上年龄值小,其中,年龄值越小,则年龄越老,年龄值越大,则年龄越新。当寄存器队列的读指针和写指针按地址减小的方向指向下一项时,地址减小的方向上年龄值大,其中,年龄值越大,则年龄越老,年龄值越小,则年龄越新。在本技术的一个实施例中,寄存器队列可以为重定序缓存或转移重定序缓存。进一步地,在本技术的一个实施例中,比较器组件200包括:多个第一级比较器,每个第一级比较器的两个输入端分别与相邻的两个异或门的输出端相连,以比较两条指令的年龄信息,判断得到指令年龄的新老。举例而言,如图2所示,以两个异或门和一个第一级比较器为例进行指令1和指令2的年龄信息的大小比较,具体如下:两个异或门分别为第一异或门和第二异或门,两个异或门的一个输入端均与寄存器队列的读指针增加的最高位相连,第一异或门的另一输入端与指令1对应地址前面增加的最高位相连,第二异或门的另一输入端与指令2对应地址前面增加的最高位相连,将异或后得到的地址作为两条指令的年龄信息进行大小比较,以判断得到指令年龄的新老。进一步地,本技术实施例中可以通过如图3所示的装置用来进行年龄比较地址信息。例如,在重定序缓存和转移重定序缓存地址前面再增加一位最高位,用重定序缓存的读指针增加的最高位,异或两个需要比较的重定序缓存地址的最高位,将异或后得到的本文档来自技高网...

【技术保护点】
1.一种用于判断队列项是否取消的裁决电路,其特征在于,包括:/n与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;/n与多个异或门相连的比较器组件,所述比较器组件用于根据指令的年龄信息判断得到指令年龄的新老;/n分别与乱序队列和比较器组件相连的取消部件,用于在判断队列取消项时,选择队列中引起取消的指令及比引起取消的指令的年龄新的指令进行取消。/n

【技术特征摘要】
1.一种用于判断队列项是否取消的裁决电路,其特征在于,包括:
与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;
与多个异或门相连的比较器组件,所述比较器组件用于根据指令的年龄信息判断得到指令年龄的新老;
分别与乱序队列和比较器组件相连的取消部件,用于在判断队列取消项时,选择队列中引起取消的指令及比引起取消的指令的年龄新的指令进行取消。


2.根...

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

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

1