gnu A8F Timing Benchmarks

ti.platforms.evmAM3359

Benchmark Cycles (1)
Interrupt latency 966
Hwi_enable 23
Hwi_disable 44
Hwi dispatcher prolog 991
Hwi dispatcher epilog 433
Hwi dispatcher 907
Hardware Interrupt to Blocked Task 1462
Hardware Interrupt to Software Interrupt 1083
Swi_enable 224
Swi_disable 19
Post Software Interrupt Again 98
Post Software Interrupt without Context Switch 287
Post Software Interrupt with Context Switch 391
Create a New Task without Context Switch 2271
Set a Task Priority without a Context Switch 468
Task_yield 480
Post Semaphore, No Waiting Task 114
Post Semaphore No Task Switch 426
Post Semaphore with Task Switch 520
Pend on Semaphore, No Context Switchi 101
Pend on Semaphore with Task Switch 463
Clock_getTicks 42

(1) The benchmark application was built using BIOS.LibType_Custom with the following compiler options: "-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -mabi=aapcs -mapcs-frame -ffunction-sections -fdata-sections -O3".

Timings were obtained using the evmAM3359 development board.

The A8 core was running at 550MHz, with L1 & L2 caches enabled, and all code placed in OCMC0 and data placed in DDR3.

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