JAJAA89 November 2025 AM62A3 , AM62A7 , AM67A , TDA4VM
DDR の帯域幅の最適化は、以下の図に示すように簡略化された TI C7xMMA のメモリ階層を理解することから始まります。
図 2-1 C7xMMA レベルキャッシュ構造C7xMMA は、3 レベルのキャッシュ構造を採用しています。外部 DDR 以外に、内部 L1D、L2、L3/MSMC キャッシュを内蔵しています。L1D は最小で、演算コアに最も近い (標準サイズ 16KB)。L2 はやや遠い (典型的なサイズは 224KB、448KB) が、MMA のデータ移動メカニズムと緊密に結合している。TDA4x の L3 はマルチコア共有メモリ コントローラ (MSMC) であるのに対し、他の SoC では、SRAM は各 C7xMMA によって個別に管理されます。注:ここに示す L1D、L2、L3 の用語は、TIDL フレームワークの説明に対応しています。チップ データシートは L1P、L1D、L2、および一部の SoC や L3 (つまり TDA4VM の MSMC) を参照することがあります。L2 および L3 領域のサイズは、tidl ツールに含まれる device_config.cfg ファイルにあります
次の図は、4 つのオペレーションを含む一般的なレイヤの推論におけるキャッシュの使用状況を示しています。オペレーション 1 は、DMA から DDR から L2 にデータを直接転送します。オペレーション 2 では、L3 から L2 にデータを移動します。オペレーション 3 は L2 から L3 にデータを転送します。オペレーション 4 は、L3 から DDR にデータを移動します。オペレーション 2 とオペレーション 3 は 1 と 4 の 10 倍以上の効率があります。前のレイヤの機能マップを使用すると、次の 3 つのシナリオが発生します。オペレーション 1 のみ (入力レイヤと前のレイヤ出力が完全に DDR にある場合)、オペレーション 2 のみ (前の機能マップが L3/MSMC に完全に適合する場合)、オペレーション 1 と 2 の両方 (前の出力が L3 に大きすぎる場合、DDR に部分的に格納されます)。現在のレイヤーの機能マップを計算した後、データを L3 に移動するためにオペレーション 3 が優先されます。L3 容量を超えると、Operation 4 は余剰分を DDR に保存します。重み値は常に DDR に格納され、必要に応じて L2 に直接フェッチされます。
図 2-2 C7xMMA キャッシュ オペレーションこの 3 レベル キャッシュ アーキテクチャは、計算サイクル中の低速な DDR 読み取り/書き込みを回避し、DDR の帯域幅を節約することで、推論の効率を大幅に向上させます。効率性を向上させ、帯域幅を節約するための鍵は、L3 の使用率を最大化し、DDR の機能マップストレージを防止することにあります。次のセクションでは、モデル メモリ使用量の分析について説明します。