问题
I need the number of operations per cycle that an ARM processor can execute, in particular those of Cortex-A7, Cortex-A9 and Cortex-A15. I can't find anything online!
Thank you
EDIT: I need it for calculating the theoretical peak performance.
回答1:
I have not looked into integers yet but for single and double floating operations per cycle this is what I have come up with so far (from flops-per-cycle-for-sandy-bridge-and-haswell-sse2-avx-avx2, peak-flops-per-cycle-for-arm11-and-cortex-a7-cores-in-raspberry-pi-1-and-2, and Cortex-A9 NEON Media Processing Engine Technical Reference Manual).
Cortex-A7:
- 0.5 DP FLOPs/cycle: scalar VMLA.F64 every four cycles.
- 1.0 DP FLOPs/cycle: scalar VADD.F64 every cycle.
- 2.0 SP FLOPs/cycle: scalar VMLA.F32 every cycle.
- 2.0 SP FLOPs/cycle: 2-wide VMLA.F32 every other cycle.
Cortex-A9:
- 1.5 DP FLOPs/cycle: scalar VMLA.F64 + scalar VADD.F64 every other cycle.
- 4.0 SP FLOPs/cycle: 2-wide VMLA.F32 every cycle.
Cortex-A15:
- 2.0 DP FLOPs/cycle: scalar VMLA.F64 (or VFMA.F64) every cycle.
- 8.0 SP FLOPs/cycle: 4-wide VMLA.F32 (or VFMA.F32) every cycle.
One interesting observation is that Neon floating point no faster than VFP for the Cortex-A7.
回答2:
Just look at the most common places.
You have it there: http://en.wikipedia.org/wiki/List_of_ARM_microarchitectures
来源:https://stackoverflow.com/questions/28635431/ops-per-cycle-arm-cortex-cpus