酷睿 0 和酷睿 1 之间的内存访问吞吐量在以下条件下变得无法平衡:
- CPU0 和 CPU1 正在同时访问内存子系统
- 两个内核请求的总内存吞吐量超过内存子系统容量
- 加速一致性端口 (ACP) 未经使用或在低带宽流量下使用
CPU 子系统 Snoop Control Unit 基于回合 robin 算法,对来自三个大师(CPU0、CPU1 和 ACP)的请求进行仲裁。这确保了可用内存带宽的公平分配。
但是,当上述所有条件发生时,SCU 主仲裁程序减少,因为未使用的 ACP 仲裁共享被重新分配给 CPU0,从而使 CPU0 最高可获得 CPU1 内存带宽的两倍。
如果需要内核 0 和内核 1 之间的平衡内存吞吐量,则必须设计在内核 0 上运行的应用程序以防止使用 50% 以上的可用内存带宽。
此信息计划包含在Cyclone® V SoC、Arria® V SoC 和 英特尔® Arria® 10 SoC FPGA技术参考手册的未来版本中。