インテルのみ表示可能 — GUID: iga1409765308177
Ixiasoft
インテルのみ表示可能 — GUID: iga1409765308177
Ixiasoft
8.5.58. ldw / ldwio
命令 | メモリーまたはペリフェラル I/O からの 32 ビット・ワードのロード |
演算 | rB ← Mem32[rA + σ(IMM14)] |
アセンブラー構文 | ldw rB, byte_offset(rA) ldwio rB, byte_offset(rA) |
例 | ldw r6, 100(r5) |
説明 | rA と命令の符号付き 16 ビットの即値の合計により指定される有効なバイトアドレスを計算する。有効なバイトアドレスにあるメモリーワードでレジスター rB をロードする。有効なバイトアドレスはワード・アライメントされる必要がある。バイトアドレスが 4 の倍数でない場合、演算は未定義である。 |
使用法 | データキャッシュがあるプロセッサーでは、この命令はメモリーからではなくキャッシュからの目的のデータの取り出しが可能。ペリフェラル I/O ではldwio命令を使用する必要がある。データキャッシュがあるプロセッサーではldwioはキャッシュとメモリーをバイパスする。ペリフェラル I/O にはldwio命令を使用する必要がある。データキャッシュがあるプロセッサーではldwioはキャッシュをバイパスし、Avalon-MM データ転送の生成が保証されている。データキャッシュがないプロセッサーではldwioはldwのように動作する。 データキャッシュについて詳しくは、「Nios II ソフトウェア開発ハンドブック」の「キャッシュおよび密結合メモリー」の章を参照。 |
例外 | スーパーバイザー専用データアドレス ミスアライメント・データ・アドレス TLB 許可違反 ( 読み出し ) 高速 TLB ミス ( データ ) ダブル TLB ミス ( データ ) MPU 領域違反 ( データ ) |
命令型 | I |
命令フィールド | A = オペランド rA のレジスター・インデックス B = オペランド rB のレジスター・インデックス IMM16 = 16 ビットの符号付き即値 |
ビットフィールド | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
A | B | IMM16 | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
IMM16 | 0x17 |
ビットフィールド | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
A | B | IMM16 | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
IMM16 | 0x37 |