文章 ID: 000086541 内容类型: 故障排除 上次审核日期: 2021 年 08 月 27 日

为什么我会看到 Cyclone® V SoC、Arria® V SoC 和 Arria® 10 SoC FPGAs 中的 2 个 cpu 内核之间的无平衡的内存吞吐量?"

环境

    英特尔® Quartus® II 订阅版
    Arria® V Cyclone® V 硬核处理器系统英特尔® FPGA IP
BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

酷睿 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技术参考手册的未来版本中。

相关产品

本文适用于 7 产品

Cyclone® V ST SoC FPGA
Arria® V ST SoC FPGA
英特尔® Arria® 10 GT FPGA
Cyclone® V SX SoC FPGA
Arria® V SX SoC FPGA
Cyclone® V SE SoC FPGA
英特尔® Arria® 10 SX SoC FPGA

1

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。