Benchmark | Cycles | (1) |
Interrupt latency | 681 | |
Hwi_enable | 12 | |
Hwi_disable | 22 | |
Hwi dispatcher prolog | 713 | |
Hwi dispatcher epilog | 438 | |
Hwi dispatcher | 779 | |
Hardware Interrupt to Blocked Task | 1143 | |
Hardware Interrupt to Software Interrupt | 918 | |
Swi_enable | 202 | |
Swi_disable | 28 | |
Post Software Interrupt Again | 83 | |
Post Software Interrupt without Context Switch | 221 | |
Post Software Interrupt with Context Switch | 267 | |
Create a New Task without Context Switch | 2069 | |
Set a Task Priority without a Context Switch | 282 | |
Task_yield | 401 | |
Post Semaphore, No Waiting Task | 93 | |
Post Semaphore No Task Switch | 333 | |
Post Semaphore with Task Switch | 431 | |
Pend on Semaphore, No Context Switchi | 100 | |
Pend on Semaphore with Task Switch | 362 | |
Clock_getTicks | 28 |
(1) The benchmark application was built using BIOS.LibType_Custom with the following compiler options: "--endian=little -mv7A8 --abi=eabi --neon --float_support=vfpv3 -q -ms --opt_for_speed=2 --program_level_compile -o3".
Timings were obtained using the evmAM3359 development board.
The A8 core was running at 550MHz, with L1 & L2 caches enabled, and all code & data placed in OCMC0.
Furthermore, the first 64K bytes of OCMC0 memory are pulled in and locked into the L2 cache at startup to maximize cache performance.
Unlike other target benchmarks that are collected using flat memory simulators or hardware with zero wait-state memory and no cache, these A8Fnv numbers are collected on a real board with cache enabled and no-attempt to pre-fill the cache. These numbers are effected by varying amounts of cache filling depending on the dynamics of the cache and the previous function calls.