8.5.50. initda
| 命令 | データ・キャッシュ・アドレスの初期化 |
| 演算 | 現在キャッシュしているアドレス rA + σ(IMM16) のデータ・キャッシュ・ラインを初期化する |
| アセンブラー構文 | initda IMM16(rA) |
| 例 | initda -100(r6) |
| 説明 | Nios II プロセッサーがダイレクト・マップ・データキャッシュを実装している場合、initdaは指定されたアドレスにマップされたダーティーデータ・キャッシュラインをメモリーにチェックイン ( または書き込み ) せずに、データ・キャッシュ・ラインをクリアーする。initdとは異なり、initdaは指定されたデータが現在キャッシュされている場合にのみキャッシュラインをクリアーする。このプロセスは、次のステップで行われる :
|
| 使用法 | initdaを使用してダーティーラインをメモリーに書き戻すことをスキップし、アドレス指定されたメモリー位置が現在キャッシュにある場合にのみキャッシュラインをフラッシュする。これとは対照的に、他のキャッシュ消去オプションについては、「flushd のデータ・・キャッシュ・ラインのフラッシュ」、「flushda のデータ・キャッシュ・アドレスのフラッシュ」、および「initd のデータ・キャッシュ・ラインの初期化」を参照。initdaは、ダーティーデータを書き戻さないため、慎重に使用する必要がある。 Nios II のデータキャッシュについて詳しくは、「Nios II ソフトウェア開発ハンドブック」の「キャッシュおよび密結合メモリー」の章を参照。 |
| 例外 | スーパーバイザー専用データアドレス 高速 TLB ミス ( データ ) ダブル TLB ミス ( データ ) MPU 領域違反 ( データ ) 未実装命令 |
| 命令型 | I |
| 命令フィールド | A = オペランド rA のレジスター・インデックス IMM16 = 16 ビットの符号付き即値 |
| ビットフィールド | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| A | 0 | IMM16 | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IMM16 | 0x13 | ||||||||||||||