自作RISC-V CPUコアの方は、いくつかのコンフィグレーションにおいてDhrystoneを完走させることができるくらいになってきた。 RASの実装を変更してからCALL/RETでの分岐予測ミスが減ったので多少性能が上がったと思うのだが、久しぶりにDhrystoneを測定してみる。
前回の構成でシミュレーションを行ったのがこちら。
Configuration | IPC |
---|---|
tiny | 0.56 |
small | 0.84 |
standard | 0.92 |
big | 0.92 |
今回のバージョンで測定してみる。
Configuration | IPC |
---|---|
standard | 1.27 |
結構性能が上がった。IPC換算にして1.38倍くらいか。それにしたってまだ性能が出ないなあ。
性能ダンプを見てみる。
"commit" : { "cmt" : 629, "inst" : 1294, "dead" : 769, "commit" : { "cmt" : 614, "inst" : 1314, "dead" : 720, "commit" : { "cmt" : 615, "inst" : 1242, "dead" : 774, "commit" : { "cmt" : 629, "inst" : 1294, "dead" : 769, "commit" : { "cmt" : 614, "inst" : 1314, "dead" : 720, "commit" : { "cmt" : 615, "inst" : 1242, "dead" : 774, "commit" : { "cmt" : 629, "inst" : 1294, "dead" : 769, "commit" : { "cmt" : 614, "inst" : 1314, "dead" : 720, "commit" : { "cmt" : 615, "inst" : 1242, "dead" : 774, "commit" : { "cmt" : 629, "inst" : 1294, "dead" : 769, "commit" : { "cmt" : 614, "inst" : 1314, "dead" : 720, "commit" : { "cmt" : 615, "inst" : 1242, "dead" : 774, "commit" : { "cmt" : 629, "inst" : 1294, "dead" : 769, "commit" : { "cmt" : 614, "inst" : 1314, "dead" : 720, "commit" : { "cmt" : 615, "inst" : 1242, "dead" : 774, "commit" : { "cmt" : 629, "inst" : 1294, "dead" : 769,
うーん、まだかなりの命令が死んでしまっている。これは波形を見て解析しなければ。