gnu A15F Timing Benchmarks

ti.platforms.sdp5430

Benchmark Cycles (1)
Interrupt latency 499
Hwi_enable 46
Hwi_disable 64
Hwi dispatcher prolog 739
Hwi dispatcher epilog 348
Hwi dispatcher 750
Hardware Interrupt to Blocked Task 1587
Hardware Interrupt to Software Interrupt 824
Swi_enable 276
Swi_disable 0
Post Software Interrupt Again 125
Post Software Interrupt without Context Switch 291
Post Software Interrupt with Context Switch 354
Create a New Task without Context Switch 2568
Set a Task Priority without a Context Switch 366
Task_yield 555
Post Semaphore, No Waiting Task 130
Post Semaphore No Task Switch 508
Post Semaphore with Task Switch 732
Pend on Semaphore, No Context Switch 124
Pend on Semaphore with Task Switch 592
Clock_getTicks 0

(1) The benchmark application was built using BIOS.LibType_Custom with the following compiler options:

"-mcpu=cortex-a15 -mfpu=neon -mfloat-abi=hard -mabi=aapcs -g -O3 -g -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections -Dti_sysbios_Build_useHwiMacros -Dfar= -D__DYNAMIC_REENT__".

Timings were obtained using the sdp5430 evaluation board.

The A15 core was running at 800MHz, with L1 & L2 caches enabled, and all code & data placed in External RAM starting at 0x80000000.

To maximize cache performance, all code and data are prefetched into the L2 cache prior to collecting the performance numbers.

Unlike other target benchmarks that are collected using flat memory simulators or hardware with zero wait-state memory and no cache, these A15F 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.