CN213482863U - 具有指令年龄比较功能的仲裁电路 - Google Patents

具有指令年龄比较功能的仲裁电路 Download PDF

Info

Publication number
CN213482863U
CN213482863U CN202022585380.3U CN202022585380U CN213482863U CN 213482863 U CN213482863 U CN 213482863U CN 202022585380 U CN202022585380 U CN 202022585380U CN 213482863 U CN213482863 U CN 213482863U
Authority
CN
China
Prior art keywords
instruction
exclusive
age
arbitration circuit
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202022585380.3U
Other languages
English (en)
Inventor
郇丹丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Micro Core Technology Co ltd
Original Assignee
Beijing Micro Core Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Micro Core Technology Co ltd filed Critical Beijing Micro Core Technology Co ltd
Priority to CN202022585380.3U priority Critical patent/CN213482863U/zh
Application granted granted Critical
Publication of CN213482863U publication Critical patent/CN213482863U/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本实用新型公开了一种具有指令年龄比较功能的仲裁电路,仲裁电路用于乱序处理器的乱序队列中指令的年龄信息的大小比较,包括:与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;多个第一级比较器,每个第一级比较器的两个输入端分别与相邻的两个异或门的输出端相连,以比较两条指令的年龄信息,判断得到指令年龄的新老。该仲裁电路可以降低判断复杂度,减小判断延时,提高乱序处理器的性能、降低功耗、节约面积。

Description

具有指令年龄比较功能的仲裁电路
技术领域
本实用新型涉及乱序处理器技术领域,特别涉及一种具有指令年龄比较功能的仲裁电路。
背景技术
乱序处理器的指令到了乱序队列中,就不会按照程序中指定的顺序在处理器中流动,只要满足执行的条件,后面的指令可以越过前面的指令先执行,以提高指令的执行速度。
无论是在乱序处理器的乱序队列调度上,还是当乱序处理器因为转移预测错、访存相关等引起的重新执行,或因为例外引发的异常等发生取消的情况时,均需要识别序队列中哪些指令是最老的,属于需要被优先调度的,或哪些指令是处于转移预测错的指令、访存相关引起重新执行的指令或例外引发异常的指令的后面,属于需要同引发取消的指令一起被取消的指令,即需要知道这些指令的年龄信息,其中,年龄信息表示指令进入流水线的先后顺序。
相关技术中,通常通过乱序处理器的仲裁电路进行指令年龄信息的判断,然而,在判断时容易出现指令年龄大小的混乱问题,且由于判断的实质是通过比较器的比较实现的,因此,如果想要提高比较的速度,则需要增加大量的比较器,从而大大增加了处理器的复杂度、延时、面积以及功耗。
实用新型内容
本实用新型旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本实用新型的目的在于提出一种具有指令年龄比较功能的仲裁电路,可以降低判断复杂度,减小判断延时,提高乱序处理器的性能、降低功耗、节约面积。
为达到上述目的,本实用新型提供一种具有指令年龄比较功能的仲裁电路,包括:所述仲裁电路用于乱序处理器的乱序队列中指令的年龄信息的大小比较,包括:与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;多个第一级比较器,每个第一级比较器的两个输入端分别与相邻的两个异或门的输出端相连,以比较两条指令的年龄信息,判断得到指令年龄的新老。
根据本实用新型的具有指令年龄比较功能的仲裁电路,通过在比较器前增加的异或门异或寄存器队列地址前面增加的最高位和寄存器队列的读指针增加的最高位,得到每条指令的年龄信息,并通过比较得到年龄的新老,由于增加的异或门可以有效减少比较的次数,因此可以直接减少所需比较器的数量,从而可以降低判断复杂度,减小判断延时,提高乱序处理器的性能、降低功耗、节约面积。
进一步地,所述寄存器队列为重定序缓存或转移重定序缓存。
进一步地,还包括:多个第二级至第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来执行。
根据本实用新型实施例提出的具有指令年龄比较功能的仲裁电路,通过在比较器前增加的异或门异或寄存器队列地址前面增加的最高位和寄存器队列的读指针增加的最高位,得到每条指令的年龄信息,并通过比较得到年龄的新老,由于增加的异或门可以有效减少比较的次数,因此可以直接减少所需比较器的数量,从而可以降低判断复杂度,减小判断延时,提高乱序处理器的性能、降低功耗、节约面积。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本实用新型的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本实用新型的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本实用新型的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本实用新型的限制,本领域的普通技术人员在本实用新型的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (3)

1.一种具有指令年龄比较功能的仲裁电路,其特征在于,所述仲裁电路用于乱序处理器的乱序队列中指令的年龄信息的大小比较,包括:
与用于记录乱序处理器中所有指令的寄存器队列地址相连的多个异或门,其中,异或门的一个输入端与寄存器队列地址前面增加的最高位相连,另一个输入端与寄存器队列的读指针增加的最高位相连,将异或后得到的地址作为指令的年龄信息;
多个第一级比较器,每个第一级比较器的两个输入端分别与相邻的两个异或门的输出端相连,以比较两条指令的年龄信息,判断得到指令年龄的新老。
2.根据权利要求1所述的仲裁电路,其特征在于,所述寄存器队列为重定序缓存或转移重定序缓存。
3.根据权利要求1所述的仲裁电路,其特征在于,还包括:
多个第二级至第N级比较器,在后比较器的两个输入端分别与在前两个相邻比较器的输出端相连,以比较得到所有指令年龄的新老,其中,N大于等于2。
CN202022585380.3U 2020-11-10 2020-11-10 具有指令年龄比较功能的仲裁电路 Active CN213482863U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202022585380.3U CN213482863U (zh) 2020-11-10 2020-11-10 具有指令年龄比较功能的仲裁电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202022585380.3U CN213482863U (zh) 2020-11-10 2020-11-10 具有指令年龄比较功能的仲裁电路

Publications (1)

Publication Number Publication Date
CN213482863U true CN213482863U (zh) 2021-06-18

Family

ID=76354554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202022585380.3U Active CN213482863U (zh) 2020-11-10 2020-11-10 具有指令年龄比较功能的仲裁电路

Country Status (1)

Country Link
CN (1) CN213482863U (zh)

Similar Documents

Publication Publication Date Title
US8555039B2 (en) System and method for using a local condition code register for accelerating conditional instruction execution in a pipeline processor
US6823448B2 (en) Exception handling using an exception pipeline in a pipelined processor
KR100973951B1 (ko) 오정렬 메모리 액세스 예측
WO2022100054A1 (zh) 调度乱序队列和判断队列取消项的方法和装置
JP5209933B2 (ja) データ処理装置
US9135005B2 (en) History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties
US20100131742A1 (en) Out-of-order execution microprocessor that selectively initiates instruction retirement early
JP2010532063A (ja) 条件命令を無条件命令および選択命令へと拡張する方法およびシステム
US7617385B2 (en) Method and apparatus for measuring pipeline stalls in a microprocessor
GB2509830A (en) Determining if a program has a function return instruction within a function window of a load instruction.
US7877576B2 (en) Processing system having co-processor for storing data
US6345356B1 (en) Method and apparatus for software-based dispatch stall mechanism for scoreboarded IOPs
CN108874447B (zh) 处理器电路及其操作方法
CN213482863U (zh) 具有指令年龄比较功能的仲裁电路
CN213482862U (zh) 用于调度乱序队列和判断队列取消项的乱序处理器
US20180203703A1 (en) Implementation of register renaming, call-return prediction and prefetch
CN213482861U (zh) 用于判断队列项是否取消的裁决电路
US5974535A (en) Method and system in data processing system of permitting concurrent processing of instructions of a particular type
CN213482864U (zh) 用于调度乱序队列的仲裁电路
US6098168A (en) System for completing instruction out-of-order which performs target address comparisons prior to dispatch
US7849299B2 (en) Microprocessor system for simultaneously accessing multiple branch history table entries using a single port
CN110647361B (zh) 一种空闲物理寄存器的获取方法和装置
US11829768B2 (en) Method for scheduling out-of-order queue and electronic device items
CN115904508B (zh) 乱序处理器中队列的队列项选择方法及装置
Wu et al. Instruction buffering for nested loops in low power design

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant