インテルのみ表示可能 — GUID: lxs1675135069863
Ixiasoft
3.3.9.3.2. データキャッシュ
命令キャッシュメモリーには次のような特徴があります。
- ダイレクトマップ・キャッシュの実装
- キャッシュラインあたり32バイト (8ワード)
- 1、2、4、8、16KBのコンフィグレーション可能なサイズ
- 命令マネージャー・ポートでは、キャッシュライン全体の読み出しをメモリーから一度に行い、クロックサイクルごとに1回の読み出しを発行します。
- 読み戻し
- 書き込み割り当て (つまり、ストア命令で、キャッシュミスによりそのアドレスにラインが割り当てられます)
データバイトのアドレスサイズは32ビットです。tag と index フィールドのサイズは、キャッシュメモリーのサイズのみに依存します。offset は常に5ビット (つまり32バイトライン) になります。
Nios® V/gプロセッサー命令セットには、データキャッシュのキャッシュブロック管理命令が用意されています。
命令 | 名前 | 動作 | エンコーディング |
---|---|---|---|
cbo.clean <rs1> 1 2 | Clean Data Cache Address |
|
RISC-V Base Cache Management Operation ISA Extension を参照してください。 |
cbo.flush <rs1> 1 2 | Flush Data Cache Address |
|
|
cbo.inval <rs1> 1 2 | Invalidate Data Cache Address |
|
命令 | 動作 | エンコーディング |
---|---|---|
cbo.clean.ix <rs1>[ 3 |
|
cbo.clean.ix のエンコーディング を参照してください。 |
cbo.flush.ix <rs1> 3 |
|
cbo.clean.ix のエンコーディング を参照してください。 |
cbo.inval.ix <rs1>[ 3 |
|
cbo.clean.ix のエンコーディング を参照してください。 |
ビットフィールド | ||||
---|---|---|---|---|
31:20 | 19:15 | 14:12 | 11:7 | 6:0 |
imm | rs1 | cbo | Reserved | misc-mem |
000010000001 | rs1 | 010 | 00000 | 0001111 |
ビットフィールド | ||||
---|---|---|---|---|
31:20 | 19:15 | 14:12 | 11:7 | 6:0 |
imm | rs1 | cbo | Reserved | misc-mem |
000010000010 | rs1 | 010 | 00000 | 0001111 |
ビットフィールド | ||||
---|---|---|---|---|
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ビットになります。