Optimization Intel Skylake的统一调度程序与AMD Zen的独立调度程序
Intel Skylake有一个“统一”的调度程序(在WikiChip的左边) AMD Zen为每个整数执行单元使用单独的调度器,为浮点执行单元使用一个调度器(右图取自WikiChip,该图取自AMD演示文稿) 两种设计的优缺点是什么Optimization Intel Skylake的统一调度程序与AMD Zen的独立调度程序,optimization,x86,intel,cpu-architecture,amd-processor,Optimization,X86,Intel,Cpu Architecture,Amd Processor,Intel Skylake有一个“统一”的调度程序(在WikiChip的左边) AMD Zen为每个整数执行单元使用单独的调度器,为浮点执行单元使用一个调度器(右图取自WikiChip,该图取自AMD演示文稿) 两种设计的优缺点是什么 它如何影响x86代码的微观优化?(我知道这可能会变得非常复杂和微妙,例如,在撰写本文时,一个相关问题更具体地针对具有统一调度程序的英特尔CPU)。拆分调度程序的优点可能是 它们更小,因此使用的电路更少,内部距离更短 它们可以放在更靠近其功能单元的位置 单个决策
它如何影响x86代码的微观优化?(我知道这可能会变得非常复杂和微妙,例如,在撰写本文时,一个相关问题更具体地针对具有统一调度程序的英特尔CPU)。拆分调度程序的优点可能是
我认为统一调度器的一个优点是,例如,可以在几乎所有SIMD ALU的代码中查找ILP。在AMD CPU中,如果大多数UOP只进入一个域,那么OOO窗口的大小将受到该调度程序的限制。IDK非常了解AMD CPU的调度方式,所以我不确定它有什么优势(除了电源或在某些方面更易于设计)。IDK如果AMD像Intel一样在问题/重命名时将UOP调度到端口,或者,如果单独的调度程序域允许UOP位于调度程序中,并根据每个周期可以运行的任何端口进行检查。