FPGA開発日記

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

RISC-V のマイクロ命令セットのドラフト版が公開!

RISC-V Draft Compressed ISA Version 1.7 Released | RISC-V BLOG

RISC-Vは基本的に32ビット固定長命令なのだが、これに加えて16ビットのスモールサイズの命令セットが公開された。 ARMで言うところのThumb命令セットみたいなものか。

  • 命令長が16bit
  • レジスタは8本
  • ロードストアのオフセットや、定数フィールドが限定されている

などの特徴が見られている。用途としては、やはりメモリ容量の足りない組み込み向けか。まあ、IoTなどのデバイスに組込むのなら、32ビット命令長は今でも大きいほうだと思うので、スモール命令セットを作っておくのは悪いことじゃないと思う。

まだ詳細をチェックした訳ではないけど、

  • ロードストアはスタックポインタをベースして実行されるものがある (Stack-Pointer-Based Loads and Stores) C.LWSP loads a 32-bit value from memory into register rd. It computes an effective address by adding the zero-extended offset, scaled by 4, to the stack pointer, x2.

これ、言ってる意味は分かるのだが、もう少し数式かアルゴリズム調に落とせないものかね。いつも英語に苦労する。

他にも面白い命令があれば、紹介していこう。これもシミュレータとして実装していくかな。