When Max first invited me to join the elite bloggers at All Programmable Planet, I replied, “That would be wonderful, but what should I write about?” And then when I looked at the other members of the team my jaw dropped -- 30+ years of experience here, electronics and programming gurus there -- well, to be honest I was a little scared.
But Max replied “You designed the DQ80251, which is currently the world’s fastest 8051 CPU core for use in FPGAs and ASICS, so is there any possibility you could be persuaded to write a blog about IP cores in general and the 8051 family in particular?”
And so that’s the reason I’m now writing these words for you with the wish to start discussion as to why, out of all the microcontroller (MCU) alternatives out there, the 8051 and its derivatives became one of the most popular MCU solutions in history.
The 8051 was the major 8-bit microcontroller I used during my studies at university. All of our microcontroller classes were based on this device, and all of the students were convinced that the 8051 was a good all-around product, but what about the more demanding applications? The 12MHz maximum clock frequency and the need for 12 clocks per machine cycle (with most instructions executing in one or two machine cycles) associated with the original 8051 architecture were insufficient to run more advanced applications that required higher-performance MCUs.
This led some of us to start to think about how one might improve the performance of the 8051. Thus it was that, in 1999, just after my graduation, I co-founded Digital Core Design (DCD) with two of my colleagues and we started work on improving the 8051 architecture. To this day, we believe that due to its popularity and widespread use, which has resulted in deep familiarity by highly trained electronics engineers around the world, the 8051 continues to offer an excellent solution for an extremely wide variety of embedded systems and consumer electronic devices.
Many MCU providers and IP core developers have created some extremely powerful MCUs that are fully compatible with the original 8051. The architecture and implementation of these new versions is so innovative that, as recently as a few years ago, no one would have believed that such power and performance could be possible.
The original 8051 devices developed in 1980 supported a maximum clock frequency of 12MHz. By comparison, today’s state-of-the-art DQ8051 from DCD can now be easily clocked at more than 300MHz. Some people might say that it’s easy to overclock a CPU, but there’s much more to this than simply increasing the frequency of the system clock.
First, we completely redesigned the architecture. After many years of work, we had developed an architecture that allowed our processor to perform tasks up to 25 times faster than the original 8051 running at the same frequency. The instruction set of our DQ8051 is exactly the same as conventional 8051 processors, but internally those instructions are executed in a completely different manner to assure the highest possible increase in performance.
Let’s calculate just how fast the DQ8051 really is. As I said before, this architecture can execute applications up to 25 times faster than the original devices, even when running at the same 12MHz clock frequency. When we now take into account the fact that the DQ8051 can run at 300MHz, which is 25 times the clock frequency of the original devices, the result is a performance increase of 25 x 25 = 625. This means that for the original 8051 to achieve the same performance as the DQ8051, it would have to be clocked at 12 x 625 = 7,500MHz or 7.5GHz!
But wait, there’s more, because the numbers are even higher when we come to consider the latest and greatest version available on the market. Our new DQ80251 architecture achieves 56 times the speed of a traditional 8051 architecture. It can be also clocked at up to 300MHz. So once again we can ask ourselves: What would be the necessary frequency of the original 8051 to achieve the same performance? The result is 12 x 25 x 56 = 16,800MHz or 16.8GHz!
During the past three decades, almost every year has brought improved 8051 microcontrollers to the market. The main criterion is that every new device has to be fully software compatible with the 8051 standard. This provides engineers with the ability to improve their applications and to renew their designs, making them faster and more powerful, without having to make any changes to the code written for the 8051 from decades before.
Of particular interest to the members of All Programmable Planet is the availability of 8051 soft IP cores that can be implemented in both FPGAs and ASICS. This means that designers now have the ability to define their own configurations for the MCU. For example, designers are no longer limited to just one UART, two or three counter-timers, and an insufficient quantity of interrupt lines. Now, the designers can add extra UARTs, Ethernet MAC controllers, SPI, CAN, USB, I2C, and a host of other interfaces. Designers can also add their own dedicated hardware accelerator functions, thereby allowing them to further personalize their MCUs. Additionally, for applications that need it, the DQ8051 and DQ80251 cores can be equipped with arithmetical co-processors to make floating-point computations even faster.
By the time you read this blog, I will be on my way to the Design Automation Conference (DAC) in San Francisco. Please let me know if you plan to be there -- maybe you’ll have a chance to see DQ80251 in action. And for everyone who loves FPGAs, I’ll have some special surprises in store…
In the meantime, I would be very interested to hear about your 8051 experiences. Have you used 8051-based MCUs in the past? Are you using them now? Or are you considering using them in the future?