インテル® アクセラレーション・スタック (インテル® Xeon® CPU&FPGA対応) コア・キャッシュ・インターフェイス (CCI-P) リファレンス・マニュアル

ID 683193
日付 11/04/2019
Public
ドキュメント目次

1.3.7. Txヘッダーのフォーマット

表 12.  Txヘッダーフィールドの定義
フィールド 説明
mode メモリー・アクセス・モード
  • eMOD_CL (1'b0)—キャッシュにアライメントされた書き込みです。cl_lenで指定されるホストメモリーへの1、2、4のキャッシュライン書き込みを有効にします。
  • eMOD_BYTE(1'b1)—バイトにアライメントされた書き込みです。byte_startおよびbyte_lenフィールドで指定されるようにラインの連続するサブセットをホストメモリーに書き込みます。注意:このメモリー・リクエスト・モードは、 インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版) では利用できません。
    注:

    eMOD_BYTEに設定されている場合、キャッシュ長 (cl_len) は0に設定する必要があります。これは、単一のキャッシュライン書き込みを示します。

    eMOD_CLに設定されている場合、 byte_len および byte_start は0に設定する必要があります。

注: マルチ・キャッシュ・ライン書き込みの途中でモードを変更することはできません。
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
byte_start バイト・アクセス・モードのバイト開始インデックスです。
  • ホストメモリーに書き込む512ビットTXデータバスの最初のバイトのインデックスを示します。
  • mode = eMOD_CLの場合、byte_startは0に設定されている必要があります。
  • mode = eMOD_BYTEの場合、byte_startbyte_enableモードに設定され、正当な範囲は0から63です。
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
byte_len バイト・アクセス・モード (mode = eMOD_BYTE) のバイト長です。
  • ホストメモリーに書き込むバイト数を示します。
  • byte_lenbyte_startインデックスの左 (最上位) のバイト数を指定し、メモリーリクエストをバイト・アクセス・モードで含めます。
  • mode = eMOD_CLの場合、byte_lenは0に設定されている必要があります。
  • mode = eMOD_BYTEの場合、byte_lenはバイト・イネーブル・モードに設定され、正当な範囲は1から63です。
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
mdata

メタデータです。ユーザー定義のリクエストIDで、リクエストから応答ヘッダーに変更されずに返されます。

C1 TxでのマルチCL書き込みの場合、mdataはsop=1の場合にのみヘッダーに有効です。

tid

トランザクションIDです。AFUは、tid MMIO読み出しリクエストを応答ヘッダーに返す必要があります。これは、応答をリクエストに対して一致させるために使用されます。

vc_sel 選択される仮想チャネルです。
  • 2’h0 – VA
  • 2’h1 – VL0
  • 2’h2 – VH0
  • 2’h3 – VH1

マルチCL書き込みリクエストを形成するCLはすべて、同じ仮想チャネルでルーティングされます。

req_type 表 13 で一覧になっているリクエストタイプです。
sop マルチCLメモリー書き込みのパケットの開始です。
  • 1’h1 – 最初のヘッダーを示します。アドレスの昇順で書き込む必要があります。
  • 1’h0 – 後続のヘッダーです。
cl_len メモリーリクエストの長さです。
  • 2’h0 – 64バイト (1 CL)
  • 2’h1 – 128バイト (2 CL)
  • 2’h3 – 256バイト (4 CL)
注: mode = eMOD_BYTEの場合、cl_lenは2’h0である必要があります。
address

64バイトにアライメントされた物理アドレスです。つまり、byte_address>> 6です。

アドレスは、cl_lenフィールドに自然にアライメントする必要があります。例えばcl_len=2’b01の場合、address[0] は1'b0、同様にcl_len=2'b11の場合、address[1:0] は2'b00でなければなりません。

表 13.   AFU Txリクエストのエンコーディングとチャネルマッピング
リクエストタイプ エンコーディング データペイロード 説明 ヘッダー・フォーマット
t_if_ccip_c0_tx: enum t_ccip_c0_req
eREQ_RDLINE_I 4’h0 いいえ

キャッシュする意図のないメモリー読み出しリクエスト。

C0メモリー・リクエスト・ヘッダー。表 14 を参照ください。

eREQ_RDLINE_S 4’h1 いいえ

キャッシュヒントがShared (共有) に設定されたメモリー読み出しリクエスト。

 
t_if_ccip_c1_tx: enum t_ccip_c1_req
eREQ_WRLINE_I 4’h0 はい

FPGAキャッシュにデータを保持する意図のないメモリー書き込みリクエスト。

キャッシュラインをFPGAキャッシュに保持しません。また、CPU側のキャッシュについてのガイダンスも提供しません。
注: CPUはCPU側のキャッシュを担います。

C1メモリー・リクエスト・ヘッダー。表 15 を参照ください。

eREQ_WRLINE_M 4’h1 はい

キャッシュヒントがModified (変更済み) に設定されたメモリー書き込みリクエスト。

eREQ_WRPUSH_I 4’h2 はい

キャッシュヒントがInvalid (無効) に設定されたメモリー書き込みリクエスト。FIUは、FPGAキャッシュにデータを保持する意図なしに、プロセッサーのラスト・レベル・キャッシュ (LLC) にデータを書き込みます。書き込み先のLLCは常に、SDRAMアドレスが属するプロセッサーに関連付けられたLLCです。

FPGAキャッシュにキャッシュラインを保持しませんが、そのラインをCPU LLCにプッシュします。

eREQ_WRFENCE 4’h4 いいえ

メモリー書き込みフェンスリクエスト。

フェンスヘッダー。表 16 を参照ください。

eREQ_INTR 4'h6 いいえ 割り込み 割り込みヘッダー。表 17 を参照ください。
t_if_ccip_c2_tx – リクエスト・タイプ・フィールドはありません。
MMIO Rd 該当なし はい MMIO読み出し応答

MMIO 読み出し応答ヘッダー。

表 18 を参照ください。

未使用のエンコーディングはすべてRSVD0とみなされます。

表 14.  C0読み出しメモリー・リクエスト・ヘッダー・フォーマットの構造 (t_ccip_c0_ReqMemHdr)
ビット ビット数 フィールド
[73:72] 2 vc_sel
[71:70] 2 RSVD
[69:68] 2 cl_len
[67:64] 4 req_type
[63:58] 6 RSVD
[57:16] 42 address
[15:0] 16 mdata
お使いのプラットフォームでバイト・イネーブルが利用可能かを特定するには、Verilogを使用してCCIP_ENCODING_HAS_BYTE_WRが定義されているか、およびパラメーターccip_cfg_pkg::BYTE_EN_SUPPORTEDが0以外であるかを確認する必要があります。バイト・イネーブルを利用するには、これらの2つの条件が満たされている必要があります。
注: CCIP_ENCODING_HAS_BYTE_WRが定義されている場合、byte_startおよびbyte_lenが利用可能です。これは、バイト・イネーブルがお使いのプラットフォームで利用可能であることを意味するものではありません。
表 15.  C1書き込みメモリー・リクエスト・ヘッダー・フォーマットの構造 (t_ccip_c1_ReqMemHdr)
ビット ビット数 Field SOP=1 Field SOP=0
[79:74] 6 byte_len (mode=eMOD_CLの場合は0でなければなりません)
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
byte_len (sop=0の場合は0でなければなりません)
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
[73:72] 2 vc_sel RSVD-DNC
[71] 1 sop=1 sop=0
[70] 1 mode
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
mode (sop=0の場合、eMOD_CLである必要があります)
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
[69:68] 2 cl_len RSVD-DNC
[67:64] 4 req_type req_type
[63:58] 6 byte_start (mode=eMOD_CLの場合は0でなければなりません)
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
byte_start (sop=0の場合は0でなければなりません)
注: このフィールドは、 インテル® FPGA PAC N3000および インテル® PAC (インテル® Arria® 10 GX FPGA 搭載版)RSVD0です。
[57:18] 40 address[41:0] RSVD-DNC
[17:16] 2 address[1:0]
[15:0] 16 mdata RSVD-DNC
表 16.  C1フェンス・ヘッダー・フォーマットの構造 (t_ccip_c1_ReqFenceHdr)
ビット ビット数 フィールド
[79:74] 6 RSVD
[73:72] 2 vc_sel
[71:68] 4 RSVD
[67:64] 4 req_type
[63:16] 48 RSVD
[15:0] 16 mdata
表 17.  C1割り込みヘッダー・フォーマットの構造 (t_ccip_c1_ReqIntrHdr) (インテル FPGA PACのみ)
ビット ビット数 フィールド
[79:74] 6 RSVD
[73:72] 2 vc_sel
[71:68] 4 RSVD
[67:64] 4 req_type
[63:12] 62 RSVD
[1:0] 2 id
表 18.  C2 MMIO応答ヘッダーのフォーマット
ビット ビット数 フィールド
[8:0] 9 tid