インテルのみ表示可能 — GUID: vua1506229611776
Ixiasoft
インテルのみ表示可能 — GUID: vua1506229611776
Ixiasoft
1.2.3. メモリーおよびキャッシュ階層
CCI-Pプロトコルはキャッシュヒントのメカニズムを提供します。AFUに精通しているデベロッパーは、このメカニズムを使用しパフォーマンスを調整することができます。この章では、 インテル® FPGA PACおよびFPGA統合プラットフォームのメモリーとキャッシュ階層について説明します。CCI-Pが提供する制御メカニズムについては、次の「インテル FPGA PAC」と「FPGA統合プラットフォーム」の章で説明します。
インテル® FPGA PAC
- ホストメモリーと呼ばれている、プロセッサーのSDRAM (Synchronous Dynamic Random Access Memory)
- ローカルメモリーと呼ばれている、FPGAに接続するSDRAM
PCIeを介してCPUメモリーに向かうAFUリクエストは、図 4 で示されるように、プロセッサー側で処理することができます。
- 受信する読み出しリクエストのレイテンシーは、 SDRAM (図中A.2) から読み出すよりも小さくなります。
- 書き込みリクエストヒントを使用し、書き込まれたデータをどのように処理するかをラスト・レベル・キャッシュに指示できます (キャッシュ可または不可、および局所性など)。
リクエストがラスト・レベル・キャッシュでミスになった場合、SDRAMで処理することが可能です。
詳細は、CCI-Pプロトコルの定義にあるWrPush_Iリクエストを参照ください。
FPGA統合プラットフォーム
- FPGAキャッシュ (A.1) —インテルUPIのコヒーレント・リンクは、 インテル® Xeon® プロセッサーのコヒーレンシー・ドメインをFPGAキャッシュに拡張します。FPGAキャッシュでヒットするリクエストのレイテンシーは最も小さく、また、帯域幅は最も高くなります。VL0仮想チャネルを使用するAFUリクエストおよびUPIパスの使用が選択されたVAリクエストは、FPGAキャッシュをまず検索し、ミスになった場合にのみチップからプロセッサーに送信されます。
- プロセッサー側のキャッシュ (A.2) —プロセッサー側のキャッシュでヒットする読み出しリクエストのレイテンシーは、FPGAキャッシュでヒットする場合よりも大きくなりますが、プロセッサーのSDRAMから読み出す場合よりも小さくなります。書き込みリクエストヒントを使用し、プロセッサー側のキャッシュへの書き込みを指示できます。詳細は、CCI-Pプロトコルの定義にあるWrPush_Iリクエストを参照ください。
- プロセッサーのSDRAM (A.3) —プロセッサー側のキャッシュでミスとなったリクエストは、SDRAMで処理されます。
データアクセスのレイテンシーは、(A.1) から (A.3) に増加します。
VCステアリング・ロジックの制限の1つに、ステアリングの決定においてキャッシュの局所性を考慮しないことがあります。VCのステアリングの決定はキャッシュ検索の前に行われます。つまり、キャッシュラインがFPGAキャッシュにある場合でも、リクエストがVH0またはVH1に向けられる場合があることを意味します。そのようなリクエストでは、リクエストを完了させるために場合によってはプロセッサーがFPGAキャッシュをスヌーピングする必要があるため、レイテンシーがさらに課される可能性があります。AFUがすでにアクセスの局所性を認識している場合は、VL0仮想チャネルを使用しキャッシュの局所性を活用するほうが有効な場合があります。