通过近似相对年龄来加速仲裁的系统和方法技术方案

技术编号:18609862 阅读:25 留言:0更新日期:2018-08-04 22:54
一种仲裁器,用于通过近似相对年龄来进行加速仲裁,其包括存储器、模糊逻辑和准许逻辑。多个条目针对一个或多个资源进行仲裁。存储器存储各自提供各对条目之间的相对年龄的年龄值,并且还存储模糊年龄值。将条目分割成子集,其中各条目属于仅一个子集。模糊逻辑针对各对子集确定各模糊年龄值,以表示第一子集的条目和不同子集的条目之间的相对年龄。准许逻辑在公共子集内的条目之间比较相对年龄的情况下使用相应的相对年龄值,并且在不同子集内的条目之间比较相对年龄的情况下使用相应的模糊年龄值,基于相对年龄来准许条目向资源的访问。各模糊年龄值表示多个年龄值以简化仲裁。

【技术实现步骤摘要】
【国外来华专利技术】通过近似相对年龄来加速仲裁的系统和方法相关申请的交叉引用本申请要求2015年8月31日提交的美国临时申请序列号62/211,927和2016年8月19日提交的美国非临时申请序列号15/241765号的优先权,在此通过引用包含其全部内容以用于所有的目的和用途。
本专利技术通常涉及针对一个或多个资源的多个请求之间的仲裁,并且更特别地涉及通过近似相对年龄值提供近似仲裁结果来加速冲裁。
技术介绍
在包括计算机系统等的电子领域中,仲裁是在针对服务或针对向有限资源的访问的多个请求之间进行选择的处理。在许多不同的应用和环境中使用仲裁。在联网应用中,例如,仲裁可以由路由器或交换机使用以在多个通信端口之间传送信息(例如,帧或封包)。在计算机应用中,仲裁可用于在请求向公用总线或接口的访问的多个总线主设备(master)中进行选择。仲裁还可用于在向存储器的存储或从存储器的取回所用的多个存储器线(例如,高速缓存器线)中进行选择。在非循序(out-of-order,O-O-O)处理器(例如,微处理器、处理单元、中央处理单元(CPU)、处理核、微控制器、片上系统(SOC)等)中,仲裁可以由调度器等使用以在供执行的多个指令中进行选择。用于进行仲裁处理的仲裁器可以使用多个选择标准中的一个或多个从多个请求中进行选择。例如,一个选择标准是先来先服务(FCFS),其中最旧请求首先被服务。FCFS仲裁器可以使用用于确定请求的年龄的、诸如先进先出(FIFO)队列或时间戳系统等的年龄判断系统。另一选择标准基于优先级,其中优先级最高的请求在优先级较低的较旧请求之前首先被服务。当然,亦可以采用这种选择标准的组合,诸如确定优先级相同的多个请求中的最旧请求等。可以根据特定应用来使用其它选择标准。一些应用需要确保最旧或优先级最高的请求首先被服务的“完美”或准确仲裁结果。然而,许多应用允许有时可以在优先级较高的请求之前选择优先级较低的请求的“不完美”或近似结果。在微处理器应用中,微处理器执行程序的宏指令,其中这些宏指令是从诸如x86指令集架构等的指令集架构中所选择的。许多现代微处理器包括内部指令转译器,其中该内部指令转译器用于接收宏指令并将这些宏指令转译成被配置成由微处理器执行的微指令。然后,将这些微指令提供至寄存器别名表或重命名结构等,其中该寄存器别名表或重命名结构等生成微指令依赖性,然后将这些微指令按程序顺序发出至调度器。然后,调度器将微指令分派至被配置为执行这些指令的适当执行单元。微处理器可以利用超标量架构来实现,以使得能够利用多个执行单元并行地执行多个微指令,从而实现更快的吞吐量。超标量微处理器的调度器可以将微指令以非循序方式分派至执行单元,以进一步提高效率和整体吞吐量。内部重排序缓冲器等解决指令冲突,并且确保微指令按顺序引退。调度器针对其输出端口进行准许判断,其中在该准许判断中,调度器针对各输出端口判断哪些微指令是同样准备就绪以供执行的最旧微指令。因此,微处理器的调度器有效地用作位于重命名结构和执行单元之间的缓冲器。调度器能够接收并存储相对较大数量的所发出的微指令、从而针对各时钟周期增加所分派的微指令的数量以提高整体效率和吞吐量,这是有利的。然而,调度器内的所发出的微指令的数量越大,用于实现并进行准许判断的仲裁和准许逻辑越复杂。理想地,准备好执行的最旧指令应具有最高优先级以被分派以供执行。由于调度器的电路变得更加复杂,因此调度器的用以在满足定时标准的同时在要分派的多个指令之间进行仲裁的能力变得更加困难。
技术实现思路
根据一个实施例的一种仲裁器,用于进行加速仲裁,其包括存储器、模糊逻辑和准许逻辑。多个条目针对一个或多个资源进行仲裁。存储器存储各自提供各对条目之间的相对年龄的相对年龄值,并且还存储模糊年龄值。将条目分割成子集,其中各条目属于仅一个子集。模糊逻辑确定各模糊年龄值,以表示一个子集中的条目和不同子集中的条目之间的相对年龄。准许逻辑在公共子集内的条目之间比较相对年龄的情况下使用相应的相对年龄值,并且在不同子集内的条目之间比较相对年龄的情况下使用相应的模糊年龄值,基于相对年龄来准许条目向资源的访问。这样,在同一子集内的两个条目之间比较相对年龄的情况下,使用相对年龄值,而在不同子集内的两个条目之间比较相对年龄的情况下,替代地使用代表模糊年龄值。使用单个模糊年龄值来表示对不同子集之间的条目的相对年龄进行比较的多个相对年龄值。使用单个近似或“模糊”年龄值来表示一组相对年龄值简化了电路并加速了仲裁处理。在一个实施例中,所述模糊逻辑包括第一年龄逻辑和第二年龄逻辑以及选择逻辑。所述第一年龄逻辑选择第一子集中的最旧条目并提供至少一个第一选择信号,并且所述第二年龄逻辑选择第二子集中的最旧条目并提供至少一个第二选择信号。所述选择逻辑使用所述第一选择信号和所述第二选择信号来将模糊年龄值确定为所述第一子集的条目和所述第二子集的条目之间的所选择的相对年龄值。例如,使用第一子集中的最旧条目和第二子集中的最旧条目之间的相对年龄值作为来自第一子集的任何条目和来自第二子集的任何条目之间的代表相对年龄值。可以包括绑定逻辑,所述绑定逻辑用于使各条目绑定至多个资源其中之一,其中各条目仅针对该条目绑定至的资源进行仲裁。可以包括准备就绪逻辑,所述准备就绪逻辑用于判断各条目何时准备就绪以进行仲裁,使得各条目仅在被判断为准备就绪之后才进行仲裁。可以包括绑定和准备就绪逻辑的组合,使得各条目仅针对该条目绑定至的资源且仅在被判断为准备就绪之后,才进行仲裁。准许逻辑将准许和准备就绪逻辑与年龄值和模糊年龄值组合,以准许向多个资源各自的访问。如这里所述的使用近似年龄值的仲裁在期望在针对可接受近似结果有限资源的多个条目之间进行仲裁的任何应用中是有用的。在这里所述的特定应用中,仲裁器用于简化用于要从微处理器等的调度器选择指令进行分派的准许判断。根据一个实施例的一种用于使用近似相对年龄来加速仲裁的方法,包括以下步骤:确定各自表示针对至少一个资源进行仲裁的多个条目中的对之间的相对年龄的多个相对年龄值;将所述条目分割成多个子集,其中:各子集包括所述条目中的多于一个且少于全部的条目,而各条目仅包括在一个子集中;确定多个模糊年龄值,其中各模糊年龄值表示第一子集的任何条目和第二不同子集的任何条目之间的相对年龄;以及基于相对年龄来针对至少两个条目其中之一准许访问所述至少一个资源。准许访问包括:在公共子集内的两个条目之间比较相对年龄的情况下,使用相应的相对年龄值;以及在不同子集内的两个条目之间比较相对年龄的情况下,使用相应的模糊年龄值。所述方法可以包括以下步骤:选择第一子集的条目中的最旧条目;选择第二子集的条目中的最旧条目;以及选择相对年龄值,其中所述相对年龄值将所述第一子集的条目中的最旧条目和所述第二子集的条目中的最旧条目之间的相对年龄作为所述第一子集的条目和所述第二子集的条目之间的相应模糊年龄值。附图说明将针对以下的说明和附图来更好地理解本专利技术的益处、特征和优点,其中:图1是根据本专利技术的一个实施例的、包括使用近似相对年龄来加速仲裁的系统和方法所实现的调度器的超标量流水线微处理器的简化框图;图2是根据本专利技术的一个实施例的包含仲裁系统的图1的调度器的更详细框图;图3是示出根据本专利技术的一个实施例的用于进行准许判断的本文档来自技高网
...

【技术保护点】
1.一种仲裁器,用于进行加速仲裁,所述仲裁器包括:存储器,用于存储多个相对年龄值,其中所述多个相对年龄值各自标识多个条目中的相应对之间的相对年龄,以及所述存储器还存储多个模糊年龄值,其中,所述多个条目被分割成多个子集,所述多个子集各自包括所述多个条目中的多于一个且少于全部的条目,以及各条目包括在所述多个子集的仅一个子集中;模糊逻辑,用于确定所述多个模糊年龄值,其中各模糊年龄值表示一个子集中的任何条目和不同子集中的任何条目之间的相对年龄;以及准许逻辑,用于基于相对年龄使所述多个条目中的至少两个条目其中之一准许访问至少一个资源,其中:所述准许逻辑在所述多个条目中的位于公共子集内的所述至少两个条目的各对之间比较相对年龄的情况下,使用所述多个相对年龄值中的相应相对年龄值;以及所述准许逻辑在所述多个条目中的位于不同子集内的所述至少两个条目的各对之间比较相对年龄的情况下,使用所述多个模糊年龄值中的相应模糊年龄值。

【技术特征摘要】
【国外来华专利技术】2015.08.31 US 62/211,927;2016.08.19 US 15/241,7651.一种仲裁器,用于进行加速仲裁,所述仲裁器包括:存储器,用于存储多个相对年龄值,其中所述多个相对年龄值各自标识多个条目中的相应对之间的相对年龄,以及所述存储器还存储多个模糊年龄值,其中,所述多个条目被分割成多个子集,所述多个子集各自包括所述多个条目中的多于一个且少于全部的条目,以及各条目包括在所述多个子集的仅一个子集中;模糊逻辑,用于确定所述多个模糊年龄值,其中各模糊年龄值表示一个子集中的任何条目和不同子集中的任何条目之间的相对年龄;以及准许逻辑,用于基于相对年龄使所述多个条目中的至少两个条目其中之一准许访问至少一个资源,其中:所述准许逻辑在所述多个条目中的位于公共子集内的所述至少两个条目的各对之间比较相对年龄的情况下,使用所述多个相对年龄值中的相应相对年龄值;以及所述准许逻辑在所述多个条目中的位于不同子集内的所述至少两个条目的各对之间比较相对年龄的情况下,使用所述多个模糊年龄值中的相应模糊年龄值。2.根据权利要求1所述的仲裁器,其中,所述模糊逻辑包括:第一年龄逻辑,用于选择所述多个条目的第一子集中的最旧条目,并且提供至少一个第一选择信号;第二年龄逻辑,用于选择所述多个条目的第二子集中的最旧条目,并且提供至少一个第二选择信号;以及选择逻辑,用于使用所述至少一个第一选择信号和所述至少一个第二选择信号来确定作为所述第一子集的条目和所述第二子集的条目之间的多个相对年龄值中的所选择的相对年龄值的模糊年龄值。3.根据权利要求1所述的仲裁器,其中,还包括绑定逻辑,所述绑定逻辑用于使所述多个条目中的各条目绑定至多个资源其中之一,其中各条目仅针对该条目绑定至的资源进行仲裁。4.根据权利要求1所述的仲裁器,其中,还包括准备就绪逻辑,所述准备就绪逻辑用于判断所述多个条目中的各条目何时准备就绪以进行仲裁,其中所述多个条目中的所述各条目仅在被判断为准备就绪之后才进行仲裁。5.根据权利要求4所述的仲裁器,其中,还包括绑定逻辑,所述绑定逻辑用于使所述多个条目中的各条目绑定至多个资源其中之一,其中各条目仅在被判断为准备就绪以进行仲裁之后,才针对该条目绑定至的资源进行仲裁。6.根据权利要求5所述的仲裁器,其中,所述绑定逻辑针对所述多个条目中的各条目设置多个独热绑定矢量中的相应独热绑定矢量的至多一个位,从而针对所述多个独热绑定矢量中的各独热绑定矢量表示所述多个资源中的至多一个资源;所述准备就绪逻辑在相应条目准备就绪以进行仲裁的情况下,设置多个准备就绪位其中之一;以及通过对所述多个独热绑定矢量中的相应独热绑定矢量的各个位与相应准备就绪位进行逻辑与,来确定多个独热请求矢量中的各独热请求矢量。7.根据权利要求6所述的仲裁器,其中,所述准许逻辑通过在公共子集内的条目之间比较相对年龄的情况下将所述多个独热请求矢量与所述多个相对年龄值进行逻辑组合、并且在不同子集内的条目之间比较相对年龄的情况下将所述多个独热请求矢量与所述多个模糊年龄值进行逻辑组合,来确定多个独热准许矢量中的各独热准许矢量。8.根据权利要求1所述的仲裁器,其中,所述存储器包括年龄矩阵,所述年龄矩阵用于存储表示所述多个条目中的各条目和其它所有条目之间的相对年龄的所述多个相对年龄值。9.根据权利要求1所述的仲裁器,其中,所述存储器包括模糊矩阵,所述模糊矩阵用于存储表示所述多个子集中的各子集和其它所有子集之间的相对年龄的所述多个模糊年龄值。10.根据权利要求1所述的仲裁器,其中,所述存储器包括模糊矩阵,所述模糊矩阵用于存储各自表示公共子集内的各对条目之间的相对年龄的所述多个相对年龄值,并且存储各自表示各子集和其它所有子集之间的相对年龄的所述多个模糊年龄值。11.一种用于使用近似相对年龄来加速仲裁的方法,包括以下步骤:确定各自表示针对至少一个资源进行仲裁的多个条目中的各对之间的相对年龄的多个相对年龄值;将所述多个条目分割成多个子集,其中:各子集包括所述多个条目中的多于一个且少于全部的条目;以及各条目包括在仅一个子集中;确定多个模糊年龄值,其中各模糊年龄值表示第一子集的任何条目和第二不同子集的任何条目之间的相对年龄;以及基于相对年龄使所述多个条目中的至少两个条目其中之一准许访问所述至少一个资源,其中所述准许访问包括:在公共子集内的两个条目之间比较相对年龄的情况下,使用相应的相对年龄值;以及在不同子集内的两个条目之间比较相对年龄的情况下,使用相应的模糊年龄值。12.根据权利要求11所述的方法,其中,确定多个模糊年龄值中的相应模糊年龄值包括:选择第一子集的条目中的最旧条目;选择第二子集的条目中的最旧条目;...

【专利技术属性】
技术研发人员:尼基尔·A·帕蒂尔
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海,31

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

1