RISC-V原典 6,7章
ATOMIC命令と圧縮命令セット。
RISC-V原典 3,4,5章
RISC-V原典 1,2章
第6章 RV32A:原子のように不可分なアトミック命令
・AMO命令 排他制御
・LR/SR命令 これはMIPS/AlphaのLoadLink/StoreConditional命令と同じ
・AMOはLR/SRよりスケーラビリティが高い
・RISC-Vのメモリ一貫性モデル(memory consistency)はロードストアが入れ替え可能なRelaxed Momory Ordering
・AMO命令のaqビット、rlビット
・aqビット=1は他のスレッドがAMO命令が順序どおりのメモリアクセスに見えることを保証
・rlビット=1は他のスレッドがAMO命令以前の命令のメモリアクセスが順序どおりに見えることを保証
→LR/SRはキャッシュメモリを前提とする
→AMOとLR/SR、片方だけの実装ってのはないのかな
→AMO命令は演算の種類が多いように感じる。よく使われるであろうswap,max,minに論理演算と加算がついている
→AMO命令はRISC-Vのシンプルにする方針から外れて1命令あたりの動作が多いが、分割しようがないよね
第7章 RV32C:圧縮命令
・32bit長命令を16bit長に圧縮
・他のプロセッサは後付けだったがRV32I⊃RV32Cで定義、アセンブラ楽
・上記により命令デコーダもRV32CからRV32Iに換えるだけで済む
・圧縮の方法 レジスタの制限、2オペランド命令にする、即値を小さくする、機能制限
→圧縮命令に遷移したり戻ったりする動作もいらないですね
RISC-V原典 3,4,5章
RISC-V原典 1,2章
第6章 RV32A:原子のように不可分なアトミック命令
・AMO命令 排他制御
・LR/SR命令 これはMIPS/AlphaのLoadLink/StoreConditional命令と同じ
・AMOはLR/SRよりスケーラビリティが高い
・RISC-Vのメモリ一貫性モデル(memory consistency)はロードストアが入れ替え可能なRelaxed Momory Ordering
・AMO命令のaqビット、rlビット
・aqビット=1は他のスレッドがAMO命令が順序どおりのメモリアクセスに見えることを保証
・rlビット=1は他のスレッドがAMO命令以前の命令のメモリアクセスが順序どおりに見えることを保証
→LR/SRはキャッシュメモリを前提とする
→AMOとLR/SR、片方だけの実装ってのはないのかな
→AMO命令は演算の種類が多いように感じる。よく使われるであろうswap,max,minに論理演算と加算がついている
→AMO命令はRISC-Vのシンプルにする方針から外れて1命令あたりの動作が多いが、分割しようがないよね
第7章 RV32C:圧縮命令
・32bit長命令を16bit長に圧縮
・他のプロセッサは後付けだったがRV32I⊃RV32Cで定義、アセンブラ楽
・上記により命令デコーダもRV32CからRV32Iに換えるだけで済む
・圧縮の方法 レジスタの制限、2オペランド命令にする、即値を小さくする、機能制限
→圧縮命令に遷移したり戻ったりする動作もいらないですね
この記事へのコメント