FPGA開発日記

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

RISC-V spec 20210922でPublic Reviewになったいくつかの新規命令について

RISC-Vの仕様において、20210922でいくつかの新規拡張命令がPublic Reviewになっている。 これらの命令について、存在は知っていたし概要は知っていたのだけれども、そろそろマニュアルを眺めてどういうものなのか確認することにした。

既存のRISC-Vの仕様には単精度、倍精度の浮動小数点命令は入っていたものの、半精度は入っていなかった。Zfhは半精度浮動小数点命令をサポートする。 サポートしている範囲は単精度、倍精度と変わらない。ロード・ストア、加減算、乗算除算、データ型変換命令など。

これはまだドラフト仕様ではあるが、最小機能の半精度命令をサポートする。Zfhminは半精度対応のロード・ストア命令に加え、レジスタ間移動、他の精度の浮動小数点への変換のみをサポートする。 この目的は、データを半精度で格納するだけで内部処理する場合は単精度・倍精度に展開する、という「メモリの節約」的な意味があるのだと思う。

4種類の拡張命令は、それぞれ

にそれぞれ相当する。これらは専用の浮動小数レジスタを持たずに、演算のオペランドと結果を整数レジスタから取り出す。これらは整数・浮動小数レジスタ移動命令とロードストア命令を除いて通常の浮動小数点命令と同じものがサポートされる。