EEMBC (original) (raw)
Latest Certified Scores
While anyone can upload a CoreMark score, certified scores have passed the rigorous analysis of the EEMBC Certification Lab.
Loading...
CoreMarks: {{ parseFloat(score.coremarks).toPrecision(3) }}
CoreMarks/MHz: {{ parseFloat(score.coremarks_per_mhz).toPrecision(3) }}
Interested in CoreMark Power?
Our ULPMark suite now offers a CoreMark variant that clearly defines how to measure and record CoreMark power in a uniform way, making comparisons a snap!
Details
EEMBC’s CoreMark® is a benchmark that measures the performance of microcontrollers (MCUs) and central processing units (CPUs) used in embedded systems. Replacing the antiquated Dhrystone benchmark, Coremark contains implementations of the following algorithms: list processing (find and sort), matrix manipulation (common matrix operations), state machine (determine if an input stream contains valid numbers), and CRC (cyclic redundancy check). It is designed to run on devices from 8-bit microcontrollers to 64-bit microprocessors.
How to port CoreMark, 2009
The CRC algorithm serves a dual function; it provides a workload commonly seen in embedded applications and ensures correct operation of the CoreMark benchmark, essentially providing a self-checking mechanism. Specifically, to verify correct operation, a 16-bit CRC is performed on the data contained in elements of the linked-list.
To ensure compilers cannot pre-compute the results at compile time, every operation in the benchmark derives a value that is not available at compile time. Furthermore, all code used within the timed portion of the benchmark is part of the benchmark itself (no library calls).
A more detailed explanation of CoreMark can be found in this whitepaper from EEMBC.