Bit-Toggle Benchmark with GCC

A single bit (digital output port) is toggled by software as fast as possible. The other bits of the port are not affected. Programming is in ANSI-C with the C-compilers ECO-C-11, WinECO-C and ECO-C-arm.

Targets

SBC Controller Clock Program Memory C-Source
IC11B MC68HC11A1 (HC11) 2MHz 8Bit Data bus ext. RAM view
ZWERG332A MC68332 (CPU32) 25MHz 8Bit Data bus ext. RAM view
MEGA332A MC68332 (CPU32) 25MHz 16Bit Data bus ext. RAM
or fast termination ext. RAM
view
LC7024 AduC7024 (ARM7) 45MHz 16Bit Data bus int. FLASH view
NET2106 LPC2106 (ARM7) 60MHz 32Bit Data bus int. FLASH view
S2103 LPC2103 (ARM7) 70MHz 32Bit Data bus int. FLASH view

Results

SBC Periode Frequency Oscillogram Assembleroutput
C-Compiler
IC11B 8.5us 0.117MHz view view
ZWERG332A 1.28us 0.819MHz view view
MEGA332A
fast termination
1.12us
1us
0.892MHz
1MHz
view
view
view
LC7024 0.6us 1.66MHz view view
NET2106 0.29us 3.45MHz view view
S2103 0.1us 10MHz view view

Conclusions

The output frequency depends on the processor clock and the access times to the program memory. The LPC2106 has an advantage because of its very fast access to the internal FLASH.

The system performance however is application-dependent. Special hardware like the timer system, PWM outputs etc. can free the CPU considerably and so increase the overall performance significantly.

The MC68332 is almost a multi-processor system. The TPU can, for example, independently control motors and process quadrature encoder information.

www.mct.net