こんにちは。ウェブで調べ物をしていたらRenesas SynergyのSSP v1.2.0のデータシートに気付いたのですが、中を見たところMHz値とCoreMark値は記載されているものの、普段馴染んでいるCoreMark/MHz値が記載されていませんでしたので、少し電卓で計算して求めてみました。(S7G2のCoreMark/MHz値が予想外に小さかったです。)
Synergy Software Package (SSP v1.2.0) Datasheetwww.renesas.com/.../r01ds0272eu0138-synergy-ssp-120-datasheet.pdfルネサスドキュメント検索で検索する場合www.renesas.com/.../keyword-search.html#genre=document&q=R01DS0272[画面コピー]ちなみに他社は200MHz超になるとCortex-M7のデータになってしまうようでした。www.eembc.org/coremark/index.php?mode=all&chk_comp=true&chk_date=true[画面コピー]参考までにRXマイコンのCoreMark/MHz値は以下の通りです。www.eembc.org/coremark/index.php?mode=all&chk_comp=true&chk_date=true[画面コピー]RX113 公称CoreMark/MHz値 3.08RX130 公称CoreMark/MHz値 3.08www.renesas.com/.../rx113.htmlwww.renesas.com/.../rx130.htmlRX231 公称CoreMark/MHz値 ?(RXv2コアなので4.55? 動作周波数で若干変わるらしい?)www.renesas.com/..../rx231.htmlRX64M 公称CoreMark/MHz値 4.55www.renesas.com/.../rx64m.html
こんにちは。最初の投稿でCoreMark/MHz値を電卓で計算してみたところS7G2のCoreMark/MHz値が予想外に小さかったことが気になっていたのですが、Kirinさんが仰っていた「ある周波数を超えると分岐命令でフラッシュの読み出しレイテンシが余分に必要になる」という話の他に、もしかすると「測定誤差の問題もあるのではないか」(つまり「測定方法にも問題があるのではないか」)という可能性も、データシートを見直しているうちに考え始めるようになりました。まず最初に、Kirinさんが仰っていた話は、RXマイコンであれば、EEMBCのウェブサイトのスコア一覧でCoreMark/MHz値が以下のようになっていた件なのだろうと思います。(スコア一覧のEEMBC CERTIFIEDの欄にチェックマークが付いていますので、EEMBCによって公式に認定された値です。)
それに比べて、Synergyマイコンでは、以下のようにCoreMark/MHz値の低下が激しいように思えました。
ところが、IAR CompilerではなくGCC Compiler での値を見直してみると、低下の割合が小さいことに気付きました。
DK-S7G2 (Cortex-M4)のIARコンパイラでのCoreMark/MHz値は CoreMark値=714 を 周波数=240MHz で割り算して得たのですが、この2つの数値だけ見ると有効桁数は2桁はありそうだったのですが、実はCoreMark値の方はCoreMarkベンチマークプログラムを10,000回実行させた時の 14秒 という値が生データですので、秒単位の表記という時点で分解能としては1/14=7%しかありませんし、さらに測定値が腕時計の秒針を読み取ったものとかであれば測定誤差としても1秒程度(1/14=7%)はありそうな気がします。試しに、14秒を中心にして12秒~16秒に対してCoreMark値とCoreMark/MHz値を計算し直してみると以下のようになります。(もちろん、依然としてCoreMark/MHz値を小数点以下2桁まで書いていることには、突っ込みを入れないようにお願いします。他方、CoreMark値の方は、データシートのCoreMark値が秒の値そのものを使って計算されたことを強調する為に意図的に小数点以下2桁まで書いています。)仮に実行時間が○○だったら、、、
それで思ったのですが、EEMBCのウェブサイトのCoreMark/MHz表記が小数点以下2桁までありますので、実行時間の測定精度をミリ秒にするか、実行時間が1000秒を超えるぐらいの繰り返し回数にするか(現状は4種類のMCUとも僅か10,000回の繰り返し回数になっているのを増やし且つMCUによらずに固定になっているのをMCUの周波数比に合わせて更に増やすようにする)、ということをした方が良いと思いました。