Nios® Vプロセッサー・リファレンス・マニュアル

ID 683632
日付 5/26/2023
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

3.3.9.3.2. データキャッシュ

命令キャッシュメモリーには次のような特徴があります。

  • ダイレクトマップ・キャッシュの実装
  • キャッシュラインあたり32バイト (8ワード)
  • 1、2、4、8、16KBのコンフィグレーション可能なサイズ
  • 命令マネージャー・ポートでは、キャッシュライン全体の読み出しをメモリーから一度に行い、クロックサイクルごとに1回の読み出しを発行します。
  • 読み戻し
  • 書き込み割り当て (つまり、ストア命令で、キャッシュミスによりそのアドレスにラインが割り当てられます)

データバイトのアドレスサイズは32ビットです。tagindex フィールドのサイズは、キャッシュメモリーのサイズのみに依存します。offset は常に5ビット (つまり32バイトライン) になります。

Nios® V/gプロセッサー命令セットには、データキャッシュのキャッシュブロック管理命令が用意されています。

表 52.  RISC-V Zicbomキャッシュブロック管理
命令 名前 動作 エンコーディング
cbo.clean <rs1> 1 2 Clean Data Cache Address
  • tagおよびindexフィールドでキャッシュラインを識別します 。
  • キャッシュヒットがある場合は、次の動作に進みます。
    • キャッシュラインのダーティー状態をクリアします。
    • キャッシュラインの有効なステートを保ちます。
    • キャッシュラインが有効でダーティーな場合、データはメモリーに書き戻されます。
RISC-V Base Cache Management Operation ISA Extension を参照してください。
cbo.flush <rs1> 1 2 Flush Data Cache Address
  • tagおよびindexフィールドでキャッシュラインを識別します 。
  • キャッシュヒットがある場合は、次の動作に進みます。
    • キャッシュラインを無効にします。
    • キャッシュラインが有効でダーティーな場合は、データをメモリーに書き戻します。それ以外の場合は、データを無視します。
cbo.inval <rs1> 1 2 Invalidate Data Cache Address
  • tagおよびindexフィールドでキャッシュラインを識別します 。
  • キャッシュヒットがある場合は、次の動作に進みます。
    • キャッシュラインを無効にします。
    • データをメモリーに書き戻しません。
表 53.  Custom Cache Block Management Instructions
命令 動作 エンコーディング
cbo.clean.ix <rs1>[ 3
  • indexフィールドでキャッシュラインを識別します。
  • キャッシュラインのダーティー状態をクリアします。
  • キャッシュラインの有効な状態を保ちます。
  • キャッシュラインが有効でダーティーな場合、データはメモリーに書き戻されます。
cbo.clean.ix のエンコーディング を参照してください。
cbo.flush.ix <rs1> 3
  • indexでキャッシュラインを識別します。
  • キャッシュラインを無効にします。
  • キャッシュラインが有効でダーティーな場合、データはメモリーに書き戻されます。
  • キャッシュラインが有効でダーティーな場合、データはメモリーフィールドに書き戻されません。
cbo.clean.ix のエンコーディング を参照してください。
cbo.inval.ix <rs1>[ 3
  • indexフィールドでキャッシュラインを識別します。
  • キャッシュラインを無効にします。
  • データはメモリーに書き戻されません。
cbo.clean.ix のエンコーディング を参照してください。
表 54.   cbo.clean.ix のエンコーディング
ビットフィールド
31:20 19:15 14:12 11:7 6:0
imm rs1 cbo Reserved misc-mem
000010000001 rs1 010 00000 0001111
表 55.   cbo.flush.ix のエンコーディング
ビットフィールド
31:20 19:15 14:12 11:7 6:0
imm rs1 cbo Reserved misc-mem
000010000010 rs1 010 00000 0001111
表 56.   cbo.inval.ix のエンコーディング
ビットフィールド
31:20 19:15 14:12 11:7 6:0
imm rs1 cbo Reserved misc-mem
000010000000 rs1 010 00000 0001111
1 ソースレジスター1 (rs1) は、32ビットのキャッシュラインのアドレス (タグ、インデックス、オフセット) を保持します。
2 指定されたキャッシュラインのアドレスが見つからない場合 (キャッシュミス)、これらの命令はnop として実装され、キャッシュラインには変更は行われません。
3 ソースレジスター1 (rs1) は、キャッシュラインのインデックスを保持します。これは、キャッシュサイズに応じて5 ~ 9ビットになります。