Cortex-A7 vs Cortex-A9 vs Cortex-A53 vs Silvermont
http://wlog.flatlib.jp/item/1800 この表を見てて、そういえば、私もRaspberry Pi 3 が家に来たし似たような実験できるなと思ったので私も似たような実験をした。
binutilsのビルド時間です。消費電力はKILL A WATT目視。
raspberry pi 3 (idle 1.8W, load 4.7W, diff=2.9W) Performance counter stats for 'sh -c ../configure ; make -j4': 797005.468900 task-clock (msec) # 2.953 CPUs utilized 121,732 context-switches # 0.153 K/sec 29,936 cpu-migrations # 0.038 K/sec 8,586,527 page-faults # 0.011 M/sec 954,251,209,471 cycles # 1.197 GHz <not supported> stalled-cycles-frontend <not supported> stalled-cycles-backend 422,118,328,351 instructions # 0.44 insns per cycle 53,087,297,010 branches # 66.608 M/sec 6,646,202,484 branch-misses # 12.52% of all branches 269.885547005 seconds time elapsed raspberry pi 2 (idle 1.6W, load 2.9W, diff=1.3W) Performance counter stats for 'sh -c ../configure ; make -j4': 1477301.886492 task-clock (msec) # 3.017 CPUs utilized 138,249 context-switches # 0.094 K/sec 31,201 cpu-migrations # 0.021 K/sec 8,587,257 page-faults # 0.006 M/sec 1,326,853,390,190 cycles # 0.898 GHz <not supported> stalled-cycles-frontend <not supported> stalled-cycles-backend 422,185,890,968 instructions # 0.32 insns per cycle 52,974,180,568 branches # 35.859 M/sec 13,626,377,155 branch-misses # 25.72% of all branches 489.620091792 seconds time elapsed parallella (idle 2.8W, load 3.5W, diff=0.7W) Performance counter stats for 'sh -c ../configure ; make -j2': 1477010.321602 task-clock (msec) # 1.674 CPUs utilized 138413 context-switches # 0.094 K/sec 12771 cpu-migrations # 0.009 K/sec 8209396 page-faults # 0.006 M/sec 982777694036 cycles # 0.665 GHz 83520783309 stalled-cycles-frontend # 8.50% frontend cycles idle 629510158808 stalled-cycles-backend # 64.05% backend cycles idle 553902409016 instructions # 0.56 insns per cycle # 1.14 stalled cycles per insn 57338355895 branches # 38.821 M/sec 15218097669 branch-misses # 26.54% of all branches 882.186437213 seconds time elapsed liva ecs (idle 3.5W, 7.2W, diff=3.7W) Celeron N2807 2core Performance counter stats for 'sh -c ../configure ; make -j2': 399205.341262 task-clock (msec) # 1.790 CPUs utilized 180763 context-switches # 0.453 K/sec 24511 cpu-migrations # 0.061 K/sec 8537573 page-faults # 0.021 M/sec 832800007036 cycles # 2.086 GHz (51.63%) <not supported> stalled-cycles-frontend <not supported> stalled-cycles-backend 407625678041 instructions # 0.49 insns per cycle (76.75%) 88939447423 branches # 222.791 M/sec (76.15%) 7372201988 branch-misses # 8.29% of all branches (76.20%) 222.991643196 seconds time elapsed
時間[秒] | IPC | W(load) | W(idle) | W(load-idle) | ||
rpi3 | 270 | 0.44 | 4.7 | 1.8 | 2.9 | Cortex A53 4core |
rpi2 | 490 | 0.32 | 2.9 | 1.6 | 1.3 | Cortex A7 4core |
parallella | 882 | 0.56 | 3.5 | 2.8 | 0.7 | Cortex A9 2core |
liva ecs | 223 | 0.49 | 7.2 | 3.5 | 3.7 | Silvermont 2core |
わかることは、
- Cortex-A9 と Cortex-A53 だと、A53のほうがIPC良いと思ってたけど、A9のほうがいいんだな。まあA9一応OoOだからとは思うけど、Cortex-A9 → Cortex-A53って5年も時間経ってるしなんとかなってると思ってた
- 分岐ミスがA9,A7 は同じぐらいだけど、A53は半分くらいに減ってる。
まああんまり良い比較ではない、というのは