用于针对非对称执行单元高效调度的方法和装置制造方法及图纸

技术编号:12420276 阅读:107 留言:0更新日期:2015-12-02 15:22
公开了用于实施乱序微处理器管线中的指令调度的方法。所述方法包括,选择指令的第一集合以从调度器分派到执行模块,其中所述执行模块包括两种类型的执行单元。第一类型执行单元执行第一类型指令和第二类型指令两者并且其中第二类型执行单元仅执行第二类型指令。接下来,方法包括,选择指令的第二集合以进行分派,所述第二集合是第一集合的子集并且仅包括第二类型指令。接下来,方法包括:确定指令的第三集合,所述第三集合包括没有选中作为第二集合的一部分的指令。最后,方法包括,分派第二集合用于使用第二类型执行单元执行,并且分派第三集合用于使用第一类型执行单元执行。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】用于针对非对称执行单元高效调度的方法和装置相关串请的交叉引用 本申请是于2013年3月15日提交的、题为“METHOD AND APPARATUS FOR EFFICIENTSCHEDULING FOR ASYMMETRICAL EXECUT1N UNITS” 的、第 N0.61/799,062 号临时专利申请的转换,并要求其优先权和权益,其通过引用整体合并于本文中。
根据本专利技术的实施例一般地涉及微处理器体系架构,并且更具体地,涉及用于乱序微处理器的体系架构。
技术介绍
在乱序(000)微处理器中,允许指令不按照它们的程序顺序来发布和执行。000微处理器的调度器乱序选择和分派准备好的指令到执行单元。某些微处理器架构具有两种类型指令,A类型和E类型。A类型指令的示例是诸如加法和减法的整数运算,而E类型指令的示例是诸如浮点加法、浮点减法和浮点乘法的浮点运算。然而,应该注意,A类型和E类型指令都不仅限于上述示例。然而,支持两种类型的指令的常规体系架构并没有可以支持两种类型的指令的执行单元。例如,常规处理器一般会有用于执行A类型指令的独有的执行单元,和用于执行E类型指令的独有的执行单元,其中两种类型的执行单元彼此相互排斥。考虑到非统一的指令类型和非对称执行单元,在这样的体系架构中的调度器的目标一般是优化分派吞吐量。此外,调度器的另一个目标是优先于较新的指令先考虑较早的指令。以及最终,最后的目标在于在实施调度过程中保持有竞争力的延迟。常规体系架构由于没有成功达成上述目标而因此有局限。例如,如上所述,常规架构可以采用选择A类型的指令仅在A类型执行单元中执行,并且挑选E类型指令仅在E类型执行单元中执行的原生策略。这允许为了更佳的延迟而并行实施执行,但是如果对于特定的执行单元类型没有足够的指令块,那么将导致没有使用的执行单元端口以及较小的整体分派吞吐量。例如,在具有4个A类型执行单元和4个E类型执行单元的体系架构中存在5个A类型指令和3个E类型指令,那么至少I个E类型执行单元将空闲,因为A类型指令不能在E类型执行单元上执行。该方案的另一个问题在于其仅在单个分类(ASE)中是时间(age)优化的而没有针对整个时间优先顺序进行优化。在以上示例中,举例来说,只有7个指令将被分派。第5个A类型指令将不得不等待下一个周期。因此,常规体系架构是有局限的,并未设计为达到调度器的上述所有期望的目的。
技术实现思路
相应地,需要其中执行单元可以执行多种类型指令的方法和装置,例如A类型和E类型指令。此外,需要用于针对非对称执行单元更高效的调度的方法和装置,其优化分派吞吐量、优先于较新的指令先考虑较早的指令,并且维持有竞争力的延迟。本专利技术的实施例支持非对称执行单元类型:A类型和E类型,其中A类型执行单元只支持A类型指令,但是E类型执行单元可以支持A和E类型指令。相应,A类型指令可以在A和E单元中执行,但是E类型指令只能在E单元中执行。相应,A类型执行单元可以是E类型执行单元的子集。在一个实施例中,为了实施针对非对称执行单元的调度,调度器首先填充A执行单元端口,并且随后采用没有由A执行单元选中的所有其他指令块来填充E执行单元端口。在一个实施例中,调度器包括“发现-8”和“发现_4”逻辑电路。发现-8电路针对满足选择标准的第一 8个最早指令搜索调度器中的分派范围。同时,发现-4电路与发现-8电路一起并行采用,用于搜索第一 4个最早A类型指令块。发现-4电路的结果用于调度A类型执行单元。没有由发现-4选中的剩余的指令,最早的4个随后被调度用于E类型执行单元。例如,如果发现-8电路选择3个A类型和5个E类型指令并且发现-4电路挑选3个A类型指令(同样的3个A类型指令也由发现-8逻辑所选择),那么3个A类型指令被调度用于A端口,而剩余5个E类型指令中的最早的4个可以被调度用于E端口。然而,本专利技术不限于该实施例。如果例如调度器在一个周期可以分派16个指令,那么将并行采用“发现-16”和“发现_8”电路等等。相应,本专利技术的实施例具有高的分派效率的优点,因为其尝试填充A类型端口和E类型端口两者。此外,本专利技术的实施例具有在两种类型的块之间的较好的整体时间优先顺序。最后,因为并行采用发现-8电路和发现-4电路两者,所以本专利技术的实施例在实施调度过程中还维持有竞争力的延迟。在一个实施例中,公开了用于实施乱序微处理器管线中的指令调度的方法。所述方法包括,选择指令的第一集合以从调度器分派,其中调度器能够操作为分派两种类型的指令,并且其中所述执行模块包括两种类型的执行单元。第一类型执行单元执行第一类型指令和第二类型指令两者并且其中第二类型执行单元仅执行第二类型指令。方法还包括,选择指令的第二集合以进行分派,其中第二集合是第一集合的子集,并且其中第二集合仅包括第二类型指令。接下来方法包括:确定指令的第三集合,其中第三集合包括没有选中作为第二集合的一部分的指令。最后方法包括,分派第二集合用于使用第二类型执行单元执行,并且进一步分派第三集合用于使用第一类型执行单元执行。在另一个实施例中,公开了配置为实施用于调度乱序微处理器管线中的指令的方法的处理器单元。所述方法包括,选择指令的第一集合以从调度器分派,其中调度器能够操作为分派两种类型的指令,并且其中所述执行模块包括两种类型的执行单元。第一类型执行单元执行第一类型指令和第二类型指令两者并且其中第二类型执行单元仅执行第二类型指令。方法还包括,选择指令的第二集合以进行分派,其中第二集合是第一集合的子集,并且其中第二集合仅包括第二类型指令。接下来方法包括:确定指令的第三集合,其中第三集合包括没有选中作为第二集合的一部分的指令。最后方法包括,分派第二集合用于使用第二类型执行单元执行,并且进一步分派第三集合用于使用第一类型执行单元执行。在不同的实施例中,公开了配置为实施用于调度乱序微处理器管线中的指令的方法的装置。所述装置包括:存储器、处理器,其通信地耦连到所述存储器,其中所述处理器配置为乱序处理指令。并且进一步其中所述处理器配置为:(a)选择指令的第一集合以从调度器分派到执行模块,其中调度器能够操作为分派两种类型的指令,其中执行模块包括两种类型的执行单元,其中第一类型执行单元执行第一类型指令和第二类型指令两者并且其中第二类型执行单元仅执行第二类型指令;(b)选择指令的第二集合以从调度器进行分派,其中第二集合是第一集合的子集,并且其中第二集合仅包括第二类型指令;(C)确定指令的第三集合,其中指令的第三集合是指令的第一集合的子集,并且其中第三集合包括没有选中作为第二集合的一部分的指令;并且(d)分派指令的第二集合到所述执行模块,以用于使用第二类型执行单元执行,并且进一步分派指令的第三集合到执行模块,以用于使用第一类型执行单元执行。接下来与附图一起的详细描述将提供对本专利技术性质和优点的更好理解。【附图说明】本专利技术的实施例在附图中以示例的方式示出,但并非以限制的方式,在附图中相似的参考标号指代相似的元件。图1是根据本专利技术的实施例的示例性计算机系统。图2示出了可以选择非统一指令用于非对称执行单元的方式的示例。图3是根据本专利技术的一个实施例的、本专利技术的实施例可以在其上实现的用于乱序微处理器的管线的示例性框图。图4是示出了本文档来自技高网
...
用于针对非对称执行单元高效调度的方法和装置

【技术保护点】
一种用于调度乱序微处理器管线中的指令的方法,所述方法包括:选择指令的第一集合以从调度器分派到执行模块,其中所述调度器可操作为分派两种类型的指令,其中所述执行模块包括两种类型的执行单元,其中第一类型执行单元执行第一类型指令和第二类型指令两者并且其中第二类型执行单元仅执行所述第二类型指令;选择指令的第二集合以从所述调度器进行分派,其中所述第二集合是所述第一集合的子集,并且其中所述第二集合仅包括所述第二类型指令;确定指令的第三集合,其中指令的所述第三集合是指令的所述第一集合的子集,并且其中所述第三集合包括没有选中作为所述第二集合的一部分的指令;以及分派指令的所述第二集合到所述执行模块,以用于使用所述第二类型执行单元执行,并且进一步分派指令的所述第三集合到所述执行模块,以用于使用所述第一类型执行单元执行。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:尼尔森·N·陈
申请(专利权)人:索夫特机械公司
类型:发明
国别省市:美国;US

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

1