RS-Onlineで発注して到着まで3日。佐川急便で届いたので国内で再発送してるような感じです。
サイズ
左上がArduino Uno Rev.3、右上がNucleo F446RE、下がNucleo F767ZI。ボードもでかいが144PinのMCUもでかい。
ST Link側のUSBコネクタはmicro-USB(Nucleo F446REなどのNucleo64はmini-USB)。本体側にも別にmicro-USB端子がついていて、有線LAN用のRJ45ジャックもついている。
GPIO等のコネクタは、Aruduino Headerを2列にしたようなZIO Headerと、その外側にmorpho Header(ピンヘッダは実装されていない)がある。
なかなか豪勢な仕様で、お値段3000円しないのでコスパはいいように思う。
浮動小数点演算
Nulceo F401/F446/F303でやったのと同じように浮動小数点演算を試してみた。
Nucleo F767ZIは単精度浮動小数点数ではなく倍精度浮動小数点数のFPUがついているので、F446とF767でそれぞれ比較してみた。
mbed Repository:
https://os.mbed.com/users/ryood/code/FloatingPointTest/ Revision:1
測定結果
F446 float
op | total | 1-op |
---|---|---|
-------- | -------- | --------------- |
divf | 1168 | 0.1168 |
sinf | 4939 | 0.4939 |
cosf | 4665 | 0.4665 |
expf | 6758 | 0.6758 |
logf | 6140 | 0.614 |
sqrtf | 2392 | 0.2392 |
F446 double
op | total | 1-op |
---|---|---|
-------- | -------- | --------------- |
div | 10754 | 1.0754 |
sin | 94134 | 9.4134 |
cos | 110762 | 11.0762 |
exp | 105595 | 10.5595 |
log | 137396 | 13.7396 |
sqrt | 16633 | 1.6633 |
F767 float
op | total | 1-op |
---|---|---|
-------- | -------- | --------------- |
divf | 974 | 0.0974 |
sinf | 3690 | 0.369 |
cosf | 3532 | 0.3532 |
expf | 5374 | 0.5374 |
logf | 4884 | 0.4884 |
sqrtf | 2294 | 0.2294 |
F767 double
op | total | 1-op |
---|---|---|
-------- | -------- | --------------- |
div | 3985 | 0.3985 |
sin | 9511 | 0.9511 |
cos | 11023 | 1.1023 |
exp | 10358 | 1.0358 |
log | 13603 | 1.3603 |
sqrt | 3730 | 0.373 |
float型ではF767の方が若干処理が速くなっていて、double型ではかなり差がついている。
F446の駆動クロックは180MHzで、F767は216MHzなので、float型ではクロック分速いぐらいか。
F446とF767で処理速度の比をグラフ化してみた。
float型ではおおよそ0.8程度。180MHz / 216MHz ≒ 0.83。
double型では、div(割り算)とsqrt以外ではおおよそ0.1程度になっている。
Cortex-M7なので、float型でも速くなってて欲しいな~と思っていましたが、クロック分しか速くなっていない。
Cortex-Aで1.2GHz駆動のRapberry Pi3ぐらいは行ってほしかったのですが。
0 件のコメント:
コメントを投稿