0と1の反復横跳び

デジタルな仕事とアナログな趣味の記録

Arduino UNO R4 MinimaでDhrystoneを回す

先日発売されたRenesas Electornics社のRA4M1プロセッサを搭載したArduino UNO R4 MinimaでDhrystoneを回してみたので,レポートしたいと思う.

Dhrystoneのコードは先人が仕込んでくれたものがあったので流用させていただいた.

github.com

git cloneしたdhry21a.inoとdhry.hをArduino IDEを用いて実行した.

結果はシリアルポートに出力される.

(Outputの画面にはソースに関連した結果は出力されないので注意.マイコンボードプログラムでは兎にも角にもシリアルポートと睨めっこする.常識です.)

先代のATmega328PをメインチップとするArduino UNO R3と結果を比較してみる.

UNO R3 UNO R4 Minima
Microseconds for one run through dhrystone 57.78 16.08
Dhrystones per second 17306.53 62172.34
Vax mips rating (DMIPS) 9.85 35.39

基本的にはDMIPSの値を参照すれば良いと考えると,R3比で3.59倍のDMIPSという結果になった.

公式がR4 MinimaはR3より(クロックが)3倍高速だと述べていることを踏まえると,妥当ではないだろうか. ARMコアになってコンピュータとしても魅力的な存在になったと思う. (勿論アーキテクチャレベルで考えるべきだが,最適化をしていないのでこんなものでしょう.)

最後になるが,RA4M1のコアであるCM4はFPUが搭載されているので,暇な時にWhetstoneやCore markなども実行させたいと思う.