性能チューニングの概要 - 1.0 日本語

Versal ACAP Programmable Network on Chip and Integrated Memory Controller v1.0 LogiCORE IP 製品ガイド (PG313)

Document ID
PG313
Release Date
2021-04-08
Version
1.0 日本語

次に、NoC と統合 DDRMC の性能チューニングの概要を示します。

  1. NoC マスターのトラフィック クラスを選択します。
    1. マスターにキャッシュがある場合は、読み出しを低レイテンシ (LL)、書き込みをベスト エフォート (BE) とします。
    2. マスターにハードまたはソフト リアルタイム要件がある場合 (ビデオ アプリケーションなど)、トラフィック クラスをアイソクロナス (ISOC) とします。
    3. それ以外の場合は、ベスト エフォート (BE) を選択します。よくわからない場合は、デフォルトでこの設定を使用します。
  2. 各フローに対する帯域幅の割り当てを選択します。帯域幅の割り当てにより、すべてのマスターがサービスを要求して競合が発生した場合の解決方法が決まります。
    1. LL トラフィックには、利用可能な DDR 帯域幅のごく一部を割り当てます。
    2. ISOC トラフィックの場合、通常はマスターが必要とする (またはマスターが生成する) 帯域幅は事前にわかっているため、その値を割り当てます。
    3. BE トラフィックの場合は、必要な最小帯域幅を選択します。
  3. マスターがなるべく長いバーストを送信するように設定します。これにより、DDR の効率が最大化します。
  4. NoC の前に、まず DDR の性能をチューニングします。行/バンク/列のマップが最適化されていることを確認してください。
  5. DDR の性能を最適化しても NoC の全体的なトラフィック仕様が満たされていない場合は、次の手順を確認します。
    1. NoC を通過する共有配線を調べます。配線の共有が最適でないために、一部のマスターが十分な帯域幅を確保できていない可能性があります。
    2. NMU の読み出しリオーダー バッファーのエントリ数が限界に達して、BE マスターに十分な帯域幅が確保されていないことがあります。
      1. マスターを DDR の近くに移動すると、改善することがあります。
      2. マスターの帯域幅割り当てを増やします。BE トラフィックの場合、これでは効果がないこともあります。NoC は帯域幅の割り当てに基づいて BE にトラフィック シェーピングを適用しますが、メモリ コントローラーはすべての BE トラフィックを同じ優先度で扱います。
      3. その他の方法としては、マスターを ISOC にするか、ほかの BE マスターのレートを制限するなどがあります。