FPGA開発日記

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

RISC-Vの性能測定 命令数編

RISC-Vの基本的なUser-Level ISAの実装が進んできて、Coremarkが正常にシミュレーションできるようになった。MIPSのシミュレータと合わせて、命令セット的にどちらが良いかを見てみる。

MIPSと比較した場合は以下のとおり。start_time()からstop_time()までの命令数を計測。

f:id:msyksphinz:20150108002901j:plain

命令セットだけだと、6%ほど効率性でMIPSが稼いでいる計算になる。命令効率的にはまだまだRISC-Vは発展途上、というか、そこはたぶん狙っていないのだと思う。 それよりも、MIPSよりもアウトオブオーダの実装のしやすさとか、そのあたりで周波数を稼ぎ、実行効率を高める狙いのほうが強いのだろう。

事実、今回MIPSの自作シミュレータを改良したが、かなりのデコード部分で簡単化をすることができ、また実行に関してもレジスタリードの規則などはかなり簡単なものに抑えられている。 MIPSでは movn/movp命令などで3オペランドリードが存在し、実装がかなり大変だったが、そういうややこしい命令はRISC-Vには入っていない。