1. Performance Indicators of Processors
There are many performance indicators used to evaluate CPU performance. The values obtained from testing standards may differ under different performance focus. Below are two classic testing standards widely used in the embedded industry.
1.1 Dhrystone Standard
Dhrystone is a benchmark program proposed by Reinhold P. Weicker in 1984, primarily aimed at testing the performance of integer and logical operations of processors.
The Dhrystone program was originally released in Ada language, and later Rick Richardson developed a version in C language for Unix, known as Version 1.1, which successfully promoted the widespread application of Dhrystone. The latest version of the Dhrystone program was updated in 1988 to Version 2.1.
The testing method of the Dhrystone standard is simple: it measures how many times the Dhrystone program runs in a unit of time, with the unit of measurement being DMIPS/MHz. MIPS stands for Million Instructions Per Second, which is the number of million machine language instructions processed per second. The D in DMIPS stands for Dhrystone, indicating the MIPS under the Dhrystone standard testing method.
1.2 CoreMark Standard
CoreMark is a benchmark program proposed by Shay Gla-On of the Embedded Microprocessor Benchmark Consortium (EEMBC) in 2009, primarily aimed at testing the core performance of processors. This standard is considered to have more practical value than the outdated Dhrystone standard.
The CoreMark program is written in C language and includes the following operations: enumeration (finding and sorting), mathematical matrix operations (general matrix calculations), and state machines (to determine if valid numbers are included in the input stream), and finally includes CRC (Cyclic Redundancy Check). The latest version of the CoreMark program is Version 1.0.
The testing method of the CoreMark standard is also simple: it measures how many times the CoreMark program runs in a unit of time under a certain configuration parameter combination, with the unit of measurement being CoreMark/MHz. The higher the CoreMark number, the higher the performance.
2. Performance Comparison of Cortex-M Processors
ARM provides the official performance comparison bar chart of the Cortex-M series processors:
The specific indicator values of each processor are as follows: