根据几份英特尔文件,我了解到 Xeon Phi 上的一个内核每个周期最多可以发出 2 条指令。一个在 U 型管上,一个在 V 型管上。以下文档说明前端以循环方式在多个上下文之间切换。这两条指令是否来自相同的上下文?或者,它们可以来自不同的背景吗?我认为他们不能,但我还没有找到这方面的详细文档。
关于英特尔至强融核协处理器流水线前端需要了解的另一件重要事情是,它不会连续两个时钟周期从同一硬件上下文(硬件线程)发出指令,即使该硬件上下文是唯一的一个执行。因此,为了达到最大的发布率,至少必须运行两个硬件上下文。运行多个上下文时,前端将以循环方式在它们之间切换。
另外,假设我们有一个向量指令和一个标量指令,前端是否在 U 管道中发出向量 1,在 V 管道中发出标量指令以达到最大发出率?我想知道,因为这两个管道的实际使用会影响发出率,因为 V 管道只能执行一小部分向量指令。
内核是一个 2 宽处理器,这意味着它每个周期可以执行两条指令,一条在 U 管道上,另一条在 V 管道上。它还包含一个 x87 单元,用于在需要时执行浮点指令。
...
向量单元与内核通信并执行分配在 U 或 V 流水线中的向量指令。内核每个时钟可以执行两条指令,一条在 U 管道上,另一条在 V 管道上。V-pipe 执行指令的子集,并受指令配对规则的约束,这对于获得最佳处理器性能很重要。
来源:https ://software.intel.com/en-us/articles/intel-xeon-phi-core-micro-architecture