A8Fnv Timing Benchmarks

ti.platforms.evmAM3359

Benchmark Cycles (1)
Interrupt latency 839
Hwi_enable 22
Hwi_disable 30
Hwi dispatcher prolog 745
Hwi dispatcher epilog 511
Hwi dispatcher 866
Hardware Interrupt to Blocked Task 1214
Hardware Interrupt to Software Interrupt 943
Swi_enable 211
Swi_disable 42
Post Software Interrupt Again 92
Post Software Interrupt without Context Switch 205
Post Software Interrupt with Context Switch 245
Create a New Task without Context Switch 2058
Set a Task Priority without a Context Switch 287
Task_yield 404
Post Semaphore, No Waiting Task 112
Post Semaphore No Task Switch 324
Post Semaphore with Task Switch 429
Pend on Semaphore, No Context Switchi 131
Pend on Semaphore with Task Switch 368
Clock_getTicks 38

(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.

To maximize performance, all code and data memory sections are prefetched and locked into the L2 cache at startup.

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. These numbers are effected by varying amounts of cache filling depending on the dynamics of the cache and the previous function calls.