文章 ID: 000086541 內容類型: 疑難排解 最近查看日期: 2018 年 12 月 18 日

為什麼在 V SoC 的 2 個 cpu 核心、Cyclone® Arria® V SoC 和 Arria® 10 SoC FPGAs中看到 2 個 cpu 核心之間的記憶體輸送量不平衡?」

環境

  • Intel® Quartus® II 訂閱版
  • Arria® V Cyclone® V 硬核處理器系統 Intel® FPGA IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    Core 0 和 Core 1 之間的記憶體存取輸送量在下列條件下變得不平衡:

    • CPU0 與 CPU1 同時存取記憶體子系統
    • 兩個核心要求的總記憶體輸送量超過記憶體子系統容量
    • 加速一致性埠 (ACP) 未使用,或是在低頻寬流量下使用

    CPU 子系統固態硬碟的 Snoop 控制單元會根據迴圈演算法,對三位主機(CPU0、CPU1 和 ACP)的要求進行仲裁。這能確保可用記憶體頻寬的公平分配。

    然而,當上述所有情況發生時,SCU 主仲裁公平性就會降低,因為未使用的 ACP 仲裁份額被重新指派給 CPU0,使得 CPU0 的記憶體頻寬提升了 CPU1 的兩倍。

    解決方法

    如果需要核心 0 和核心 1 之間的平衡記憶體輸送量,則必須在 core 0 上執行應用程式,以防止它使用超過 50% 的可用記憶體頻寬。

    此資訊將包含在 Cyclone® V SoC、Arria® V SoC 和 Intel® Arria® 10 SoC FPGA技術參考手冊的未來版本中。

    相關產品

    本文章適用於 7 產品

    Cyclone® V ST SoC FPGA
    Arria® V ST SoC FPGA
    Intel® Arria® 10 GT FPGA
    Cyclone® V SX SoC FPGA
    Arria® V SX SoC FPGA
    Cyclone® V SE SoC FPGA
    Intel® Arria® 10 SX SoC FPGA

    這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。