具有指令年龄比较功能的仲裁电路的制作方法

文档序号:25509502发布日期:2021-06-18 16:24阅读:77来源:国知局
具有指令年龄比较功能的仲裁电路的制作方法

本实用新型涉及乱序处理器技术领域,特别涉及一种具有指令年龄比较功能的仲裁电路。



背景技术:

乱序处理器的指令到了乱序队列中,就不会按照程序中指定的顺序在处理器中流动,只要满足执行的条件,后面的指令可以越过前面的指令先执行,以提高指令的执行速度。

无论是在乱序处理器的乱序队列调度上,还是当乱序处理器因为转移预测错、访存相关等引起的重新执行,或因为例外引发的异常等发生取消的情况时,均需要识别序队列中哪些指令是最老的,属于需要被优先调度的,或哪些指令是处于转移预测错的指令、访存相关引起重新执行的指令或例外引发异常的指令的后面,属于需要同引发取消的指令一起被取消的指令,即需要知道这些指令的年龄信息,其中,年龄信息表示指令进入流水线的先后顺序。

相关技术中,通常通过乱序处理器的仲裁电路进行指令年龄信息的判断,然而,在判断时容易出现指令年龄大小的混乱问题,且由于判断的实质是通过比较器的比较实现的,因此,如果想要提高比较的速度,则需要增加大量的比较器,从而大大增加了处理器的复杂度、延时、面积以及功耗。



技术实现要素:

本实用新型旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本实用新型的目的在于提出一种具有指令年龄比较功能的仲裁电路,可以降低判断复杂度,减小判断延时,提高乱序处理器的性能、降低功耗、节约面积。

为达到上述目的,本实用新型提供一种具有指令年龄比较功能的仲裁电路,包括:所述仲裁电路用于乱序处理器的乱序队列中指令的年龄信息的大小比较,包括:与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;多个第一级比较器,每个第一级比较器的两个输入端分别与相邻的两个异或门的输出端相连,以比较两条指令的年龄信息,判断得到指令年龄的新老。

根据本实用新型的具有指令年龄比较功能的仲裁电路,通过在比较器前增加的异或门异或寄存器队列地址前面增加的最高位和寄存器队列的读指针增加的最高位,得到每条指令的年龄信息,并通过比较得到年龄的新老,由于增加的异或门可以有效减少比较的次数,因此可以直接减少所需比较器的数量,从而可以降低判断复杂度,减小判断延时,提高乱序处理器的性能、降低功耗、节约面积。

进一步地,所述寄存器队列为重定序缓存或转移重定序缓存。

进一步地,还包括:多个第二级至第n级比较器,在后比较器的两个输入端分别与在前两个相邻比较器的输出端相连,以比较得到所有指令年龄的新老,其中,n大于等于2。

本实用新型附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本实用新型的实践了解到。

附图说明

本实用新型上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本实用新型实施例提供的具有指令年龄比较功能的仲裁电路的结构示意图;

图2为根据本实用新型实施例提供的具有指令年龄比较功能的仲裁电路的一个示例结构图;

图3为根据本实用新型实施例提供的用来进行年龄比较地址信息的装置示意图;

图4为根据本实用新型实施例提供的乱序队列选择指令执行的仲裁电路示意图;

图5为根据本实用新型实施例提供的乱序队列仲裁的指令用重定序缓存中的地址生成年龄(age)值示意图。

具体实施方式

下面详细描述本实用新型的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本实用新型,而不能理解为对本实用新型的限制。

下面参照附图描述根据本实用新型实施例提出的具有指令年龄比较功能的仲裁电路。具体而言,图1为本实用新型实施例所提供的一种具有指令年龄比较功能的仲裁电路的结构示意图。

如图1所示,具有指令年龄比较功能的仲裁电路用于乱序处理器的乱序队列中指令的年龄信息的大小比较,该仲裁电路100包括:多个异或门100和多个第一级比较器200。

其中,多个异或门100与用于记录乱序处理器中所有指令的寄存器队列地址相连,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;多个第一级比较器200,每个第一级比较器的两个输入端分别与相邻的两个异或门的输出端相连,以比较两条指令的年龄信息,判断得到指令年龄的新老。

可以理解的是,本实用新型实施例通过增加异或门实现指令年龄的比较,由于异或门的使用减少了比较器的使用数量,从而有效降低了指令年龄判断的复杂度,减小指令年龄判断的延时,有效提高乱序处理器的性能、降低功耗、节约面积。

需要说明的是,当寄存器队列的读指针和写指针按地址增加的方向指向下一项时,地址增加的方向上年龄值小,其中,年龄值越小,则年龄越老,年龄值越大,则年龄越新。当寄存器队列的读指针和写指针按地址减小的方向指向下一项时,地址减小的方向上年龄值大,其中,年龄值越大,则年龄越老,年龄值越小,则年龄越新。

在本实用新型的一个实施例中,寄存器队列可以为重定序缓存或转移重定序缓存。

举例而言,如图2所示,以两个异或门和一个第一级比较器为例进行指令1和指令2的年龄信息的大小比较,具体如下:两个异或门分别为第一异或门和第二异或门,两个异或门的一个输入端均与寄存器队列的读指针增加的最高位相连,第一异或门的另一输入端与指令1对应地址前面增加的最高位相连,第二异或门的另一输入端与指令2对应地址前面增加的最高位相连,将异或后得到的地址作为两条指令的年龄信息进行大小比较,以判断得到指令年龄的新老。

进一步地,本实用新型实施例中可以通过如图3所示的装置用来进行年龄比较地址信息。例如,在重定序缓存和转移重定序缓存地址前面再增加一位最高位,用重定序缓存的读指针增加的最高位,异或两个需要比较的重定序缓存地址的最高位,将异或后得到的地址作为指令的年龄信息,即,

roqid0_cmp={roqid0[highestbit]^roqhead[highestbit],roqid0[highestbit-1:0]};

roqid1_cmp={roqid1[highestbit]^roqhead[highestbit],roqid1[highestbit-1:0]};

再使用roqid0_cmp与roqid1_cmp进行地址大小的比较,得到两条指令的年龄新老。其中,roqid0[highestbit]和roqid1[highestbit]表示两个需要比较的重定序缓存或转移重定序缓存地址增加的最高位,roqhead[highestbit]表示重定序缓存或转移重定序缓存的读指针增加的最高位,roqid0[highestbit-1:0]和roqid1[highestbit-1:0]表示两个需要比较的重定序缓存或转移重定序缓存地址0至最高位-1,roqid0_cmp和roqid1_cmp表示将异或后得到的地址,图3中,roqid0_cmp[highestbit]和roqid1_cmp[highestbit]表示最高位异或后得到的地址,roqid0_cmp[highestbit-1:0]和roqid1_cmp[highestbit-1:0]与roqid0[highestbit-1:0]和roqid1[highestbit-1:0]的地址一样。

进一步地,在本实用新型的一个实施例中,还包括:多个第二级至第n级比较器,在后比较器的两个输入端分别与在前两个相邻比较器的输出端相连,以比较得到所有指令年龄的新老,其中,n大于等于2。

可以理解的是,第二级比较器的两个输入端分别与两个相邻的第一级比较器的输出端相连,第三级比较器的两个输入端分别与两个相邻的第二比较器的输出端相连,依次类推,将第一级至n级比较器进行连接。需要说明的是,本领域技术人员可以根据设计的需求设计每一级比较器的数量和所以比较器的级数,在此不做具体限定。

举例而言,如图4所示,对于8项的乱序队列,队列中的指令a、b、c、d、e、f、g均处于有效状态,即valid位均为1。rdy位为1的指令表示已准备好,即指令b、c、d、f、h处于已准备好,可执行状态。roqid为指令在重定序缓存中的地址,指令在重定序缓存中的状态如图5所示,roqhead增加的最高位为1,用roqhead增加的最高位异或指令roqid增加的最高位得到指令的年龄信息age。图4中的roqid为包括增加的最高位后的值。通过指令age大小的比较,仲裁得到指令有效、已经准备好、且年龄值最小为4的指令b来执行。

根据本实用新型实施例提出的具有指令年龄比较功能的仲裁电路,通过在比较器前增加的异或门异或寄存器队列地址前面增加的最高位和寄存器队列的读指针增加的最高位,得到每条指令的年龄信息,并通过比较得到年龄的新老,由于增加的异或门可以有效减少比较的次数,因此可以直接减少所需比较器的数量,从而可以降低判断复杂度,减小判断延时,提高乱序处理器的性能、降低功耗、节约面积。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本实用新型的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本实用新型的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本实用新型的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本实用新型的限制,本领域的普通技术人员在本实用新型的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1