Professional Documents
Culture Documents
The AVR is not the most code-efficient of the group, but can be found among
the top three in seven of the nine benchmarks and, as shown in the summary,
it comes out favorably compared to the other controllers. No applications
have been omitted from the benchmark due to bad performance of the AVR.
Normalized
Since not all code could be compiled for all compilers, all the indexes are
relative to AVR. Only the applications that could be compiled for both
applications are used and the ratio between every two applications is
computed. The averaged ratio is displayed in the figure.
Some of the compilers exist in later versions, so the results might be better for
some of the microcontrollers.
NOV98
ENHANCED RISC MICROCONTROLLERS
C Code Benchmarks
Nine applications, all based on actual customer
code
Varied application areas
Byte usage in individual applications
Summarized results reported as
– Normalized Accumulated Results
– Averaged Normalized Results
NOV98
ENHANCED RISC MICROCONTROLLERS
Pager protocol
Three layer protocol
Includes simple driver
8000
6000
#Bytes
4000
2000
0
68HC11 AVR Thumb H8/500 Z80 80196 H8/300H Arm7 80C51 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
Analog Telephone I
SIM Interface
Parts of display driver
6000
5000
4000
#Bytes
3000
2000
1000
0
AVR Thum b 68HC11 Z80 H8/500 80196 80C51 H8/300H ARM7 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
Analog Telephone II
Automatically generated code
State Machine based
30000
25000
20000
#Bytes
15000
10000
5000
0
AVR Thumb 68HC11 H8/500 ARM7 H8/300H H8/300 80C51
NOV98
ENHANCED RISC MICROCONTROLLERS
Reed-Solomon
Reed-Solomon Encoder/Decoder
8000
6000
#Bytes
4000
2000
0
Thumb H8/500 ARM7 AVR 68HC11 H8/300H Z80 80C51 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
1200
1000
800
#Bytes
600
400
200
0
Z80 AVR 80C51 H8/500 68HC11 Thumb H8/300H ARM7 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
C Bitfields
Benchmark code from customer
8-bit and 16-bit bitfield variables
2500
2000
1500
#Bytes
1000
500
0
AVR Thumb Z80 68HC11 80C51 H8/500 ARM7 H8/300H H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
1200
1000
800
#Bytes
600
400
200
0
H8/500 68HC11 AVR Z80 H8/300H 80C51 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
DES Algorithm
Encryption/Decryption algorithm
3000
2500
2000
#Bytes
1500
1000
500
0
Thumb H8/500 AVR 68HC11 Z80 ARM7 H8/300H 80C51 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
Navigation Application
Complete application
Communication, measurement and computations
15000
10000
#Bytes
5000
0
H8/500 Thumb 68HC11 AVR Z80 80C51 ARM7
NOV98
ENHANCED RISC MICROCONTROLLERS
2,5
2
Normalized
1,5
1
0,5
0
AVR Thumb H8/500 68HC11 Z80 80196 ARM7 H8/300H 80C51 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
1,5
Normalized
0,5
0
AVR Thumb H8/500 68HC11 Z80 80196 ARM7 H8/300H 80C51 H8/300
NOV98
ENHANCED RISC MICROCONTROLLERS
In Summary
Nine C Code Benchmarks from various
application areas
NOV98
ENHANCED RISC MICROCONTROLLERS
C Compilers Used
AVR: IAR ICCA90 version 1.40
80C51: IAR ICC8051 version 5.20
Thumb: ARM tcc version 1.02b
ARM: ARM armcc version 4.66b
80196: IAR icc196 version 5.20a
Z80: IAR iccz80 version 4.03a
H8/300(H): IAR icch83 version 3.22
H8/500: IAR icch8500 version 2.92g
68HC11: IAR icc6811 version 4.20B
NOV98