Not too long ago, one of our CoreMark users submitted a score for the Atmel AT89C51RE2, an 8051 derivative. It’s truly amazing that these devices are still around, with the original architecture that dates back more than 3 decades. As you’d expect in any benchmark contest, these devices are not blazing fast. With a CoreMark/MHz rating of 0.107, this AT89C51RE2 is at the bottom of our list (with the exception of another 8-bit microconroller). But what makes this AT89C51RE2 interesting is that it is representative of the classic 8051 class of CPUs. In fact, it is actually faster than the classic, since the classic was 12 clocks/machine cycle, and this part is 6 clocks/machine cycle.
Also interesting is that even though CoreMark size requirements are minimal, many 8051s don’t have enough flash or RAM for CoreMark, however this AT89C51RE2 does. Newer 8-bit CPUs such as the Atmel AVR series are more RISC in nature, and execute most instructions in one clock, giving them an advantage over the classic 8051 by a factor of probably 5 – 10. Furthermore, 8051’s are handicapped by having a small stack that is shared with internal RAM and it is typically only good for 128 bytes. C compilers for 8051, such as the Keil C51, use workarounds such as a fake stack in RAM, but efficiency suffers with such workarounds. Well, that wraps it up for today’s history lesson.