What is EEMBC?
EEMBC (Embedded Microprocessor Benchmark Consortium, pronounced “embassy”) is a non-profit consortium, funded by over 40 member companies. The goal of EEMBC is to provide independently certified benchmark scores relevant to deeply embedded processor applications. Members of the consortium include: ARM, AMD, IBM, Intel, LSI Logic, MIPS, Motorola, National Semi, NEC, TI, Toshiba and more. Tensilica is a member of EEMBC.
What are the EEMBC Benchmarks?
The are five different EEMBC benchmark suites:
|• Consumer |
• Office Automation
Each suite is comprised of a range (five to sixteen) of individual benchmark tasks representative of that product category. Example: the consumer benchmark suite includes algorithms for image compression, image filtering, color conversion, and other tasks common to consumer digital imaging products. Scores for EEMBC are as an aggregated geometric mean score normalized to other processors – known as the ConsumerMARK, TeleMARK and NetMARK scores. Individual benchmark test reports detail the number of iterations of a benchmark routine in 1 second of operating time.
Two Metrics: Out-of-box -vs- Optimized
EEMBC supports two kinds of performance scores for certified results. The Out-of-the Box score represents performance results from taking the EEMBC C code “as is”, compiling, and measuring the performance. No code optimization or assembly coding allowed. Optimized – or “Full-Fury”– results allow the use of C coding changes and assembly coding to accelerate performance.
Optimizing Conventional Processors
For conventional embedded processors the only good avenue available for optimization is to laboriously hand-tune assembly code — not a task for the faint of heart, or the programmer unfamiliar with the micro-architecture of the processor. This is, in essence, changing the code to fit the processor.
Optimizing with Xtensa Cores
To get optimal performance in an application using the Xtensa processor, you don’t start by changing your application code — you begin by changing the Xtensa processor to fit the application. Using the same development path used by our customers, Tensilica used the Xtensa processor generator, the code profiling tools, and the TIE Compiler to create three optimal Xtensa configurations – one each for Consumer, Telecom and Network – to ideally suit the EEMBC benchmarks. Tensilica has certified EEMBC results for the Xtensa processor for the Consumer, Telecom and Networking benchmarks in both optimized and out-of-the-box categories, and out-of-the-box results for the Office Automation suite.
Illustrations conceptual: see EEMBC report for more details. Clock rates: post-layout extracted data, worst case conditions, 0.13 micron
More About EEMBC
EEMBC is a registered trademark of the Embedded Microprocessor Benchmark Consortium.