FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

RISC-VのLoad/Store Pair for RV32 (Zilsd & Zclsd)仕様について

メーリングリストに回ってきた仕様で、なんか変わった仕様があるなと思ったのでメモ。

64ビットのメモリアクセスの命令は、RV32だと当然存在していないのだが、それを無理やり定義する拡張がある。 Zilsd & Zclsdという仕様らしい。

  • Load/Store pair instructions (Zilsd)
  • Compressed Load/Store pair instructions (Zclsd)

例えば、ld命令は、書き込み先は x[dest]x[dest+1] (destは偶数レジスタ番号でなければならない) に対してロードした値を書き込む。

ちなみに、浮動小数点命令の場合は、RV32であってもD拡張を挿入することができるので、このような拡張は必要ない。