What's the fastest MCU out there?

Thread Starter

cmartinez

Joined Jan 17, 2007
7,246
I've been programming the AT89LP family of 8051 architecture MCU's for years now, and I'm quite pleased with their performance. They run at up to 22 MHz, and boast a single-cycle execution for most instructions. They also have configurable I/Os, analog comparators and 10-bit ADCs, among other things.

Recently, I've learned how to program the PIC10LF322 and was impressed with its independent internal oscillator, low power requirements and ease of use. And although its instruction set is somewhat reduced compared to the 8051, it also executes most instructions in a single cycle.

I'm now reaching a point in which the 22 MHz offered by most architectures are a little slow for what I want to do. What other options are there? Which one is the fastest in instructions per second? I'm especially interested in finding a device available in through-hole, and not just SMT.

@MrChips, you know quite a bit about different architectures. What's your take?
 

jpanhalt

Joined Jan 18, 2008
11,088
I do not use the PIC24 yet, but its clock specification is 32 MHz (at least for the one I looked at and have plans to use) and its instruction cycle is only 2x. Thus, it is equivalent to a 64 MHz PIC with a 4x instruction cycle. It is also 16-bit, which should help a little.

I don't recall whether you use Assembly. But with good Assembly, you should be able to execute a little faster than with C.
 

Thread Starter

cmartinez

Joined Jan 17, 2007
7,246
I do not use the PIC24 yet, but its clock specification is 32 MHz (at least for the one I looked at and have plans to use) and its instruction cycle is only 2x. Thus, it is equivalent to a 64 MHz PIC with a 4x instruction cycle. It is also 16-bit, which should help a little.

I don't recall whether you use Assembly. But with good Assembly, you should be able to execute a little faster than with C.
Yes, I do all of my programming in assembly, exclusively. But I find a 2x cycle architecture with a 32 MHz clock as wanting, compared to single-cycle 22 MHz ... I'm wondering if there's something out there running at least 3x faster than that? ... it's amazing that we have CPUs running at several gigahertz, but MCU's with a capability of only a few MHz!
 

OBW0549

Joined Mar 2, 2015
3,566
I've been using the dsPIC30F series (30 MIPS) and more recently, the dsPIC33EP series (70 MIPS) of Microchip's 16-bit machines, specifically the dsPIC33EP64GP502. All programming in assembly language.

The upside of these parts is their performance, far beyond that of the "lesser" PICs, and the ease of programming due to the rich instruction set and large number (16) of working registers.

The downside: a HUGE learning curve, involving several thousand pages of documentation if you count the Family Reference Manual and the Programmer's Reference Manual. Huge, but not insurmountable.
 

kubeek

Joined Sep 20, 2005
5,744
Do you really need through hole? The packages cost a lot more, and don´t offer much of the higher end features. For example I know that STM32F4xx can run up to 120MHz, and the lower lines like STM32F107 can go up to 72MHz. It is a learning curve, but you should start with a controller that fits your needs, like number of peripherals, dma, events etc..
 

MrChips

Joined Oct 2, 2009
22,886
I don't know who makes the fastest MCUs but I know that I am very pleased with STM32 ARM chips.

I am using STM32F407 that runs at 168MHz and STM32F746 @ 216MHz.
STM32H7 series run at 400MHz.

Raw clock speed is not the only benchmark. When you look at the embedded peripherals running with DMA you will be blown away with the performance. My STM32F407 can generated VGA video directly without using any external chips AND without using CPU clock cycles. It runs entirely in the background using DMA.

I have some benchmarks for running FFT. Right now I am building a real-time portable audio spectrum analyzer to trouble-shoot building noise.

I can also tell you that you will NOT be writing ASM code for this. You will not achieve the programming productivity by writing in ASM. You will be programming in C. Better get proficient at C.
 

WBahn

Joined Mar 31, 2012
26,398
Scenix had a 50 MHz single-instruction cycle MCU that was very similar to the PIC and that was 15 years ago or so. Don't know what became of them. The last time I checked they could be clocked at up to 100 MHz. I know Parallax bought them at some point and continued the line, but they may have retired it (or expanded it), don't know.

Parallax also makes their Propeller line which clocks at up to 80 MHz, but IIRC it has a 4-cycle per instruction architecture. However, it has 8 processors in it, so if you can exploit them effectively, you can get up to 160 MIPS out of it.
 

MrChips

Joined Oct 2, 2009
22,886
Forget about through-hole.
This has not been a limitation. SMD will allow you to achieve the low-noise PCB design that you will need when operating at these speeds.
 

danadak

Joined Mar 10, 2018
4,057
Significant presence of ARM. performance by core here -

https://en.wikipedia.org/wiki/List_of_ARM_microarchitectures

Cypress ARM M0, M3, M4 + M0 dual core, plus a lot of analog and DSP
also onchip in addition to core. As well as routable logic elements and
analog like muxes, OpAMPS, A/D SAR and DelSig, D/A....

Attached a component list. A component is an onchip resource.

However primarily SMT. Several low end cheap boards down to $5.

Then there is Freescale/NXP, stuff into Ghz clock rates, 16 cores on
chip........not available in DIP :)

Or Freescale Power PC to 2000 MIPS....


Regards, Dana.
 

Attachments

Last edited:

nsaspook

Joined Aug 27, 2009
7,996
My only suggestion is, learn how to program controllers in C if you want to step-up controller speeds to modern controller levels. If ASM gives a 10% advantage over C on same hardware then buy 20% faster hardware and use C.
 

MrChips

Joined Oct 2, 2009
22,886
Here is real-time live demo of an STM32F746 DISCOVERY, with a 4.3" TFT LCD 480 x 272 pixels. Notice the alpha blending between the object and background.

 

spinnaker

Joined Oct 29, 2009
7,835
Plenty of pics in the 8 bit range are capable of higher clock speeds.

Devices in the PIC18F47J13 Family incorporate a
different oscillator and microcontroller clock system
than general purpose PIC18F devices.
The PIC18F47J13 Family has additional prescalers and
postscalers, which have been added to accommodate a
wide range of oscillator frequencies. The PIC18F47J13
provides two PLL circuits: a 4x multiplier PLL and a
96 MHz PLL enabling 48 MHz operation from the 8 MHz
internal oscillator. Figure 3-1 provides an overview of the
oscillator structure.
Other oscillator features used in PIC18 enhanced
microcontrollers, such as the internal oscillator block
and clock switching, remain the same. They are
discussed later in this chapter.
 

Thread Starter

cmartinez

Joined Jan 17, 2007
7,246
I've been using the dsPIC30F series (30 MIPS) and more recently, the dsPIC33EP series (70 MIPS) of Microchip's 16-bit machines, specifically the dsPIC33EP64GP502. All programming in assembly language.

The upside of these parts is their performance, far beyond that of the "lesser" PICs, and the ease of programming due to the rich instruction set and large number (16) of working registers.

The downside: a HUGE learning curve, involving several thousand pages of documentation if you count the Family Reference Manual and the Programmer's Reference Manual. Huge, but not insurmountable.
That might very well be worth the effort. I've been looking to upgrade my knowledge base to a better system, and if there's no other way around it then so be it. Besides, I've always thought that any man's greatest talent is his ability to change and adapt. What better opportunity to sharpen my technological explorer's skills than this one? Thanks for the tip!
 

kubeek

Joined Sep 20, 2005
5,744
If you are scared of small SMD packages, I suggest you just get some practice. Maybe 10 cheapice practice boards from jlcpcb and the cheapest ics you can find in that package.
About 8 before when I dared on my first own project for someone, where I had to solder a bunch of 0.8mm pitch and 0.65 16 pin ICs, I just got a fine solder, flux pen, 50usd hot air station and went for it. I dont think any of the components didnt make it. QFNs are bitch if you don´t have the practice, but anything leaded can be cured with care, thin solder wire, gel flux and braided solder wick. And modern semiconductors suvive a surprising amount of thermal abuse.
 

Thread Starter

cmartinez

Joined Jan 17, 2007
7,246
If you are scared of small SMD packages, I suggest you just get some practice. Maybe 10 cheapice practice boards from jlcpcb and the cheapest ics you can find in that package.
About 8 before when I dared on my first own project for someone, where I had to solder a bunch of 0.8mm pitch and 0.65 16 pin ICs, I just got a fine solder, flux pen, 50usd hot air station and went for it. I dont think any of the components didnt make it. QFNs are bitch if you don´t have the practice, but anything leaded can be cured with care, thin solder wire, gel flux and braided solder wick. And modern semiconductors suvive a surprising amount of thermal abuse.
I ain't scared of not'n! ... only the Devil and the Dentist can make me afraid! :p

Anyway, I do have some experience with SMT devices, and soldering 0805 resistors and caps are a breeze to me. In fact, I now prefer those devices over regular through hole because installing them saves a lot of precious time and space. The things that make me a little nervous are the QFNs that you've mentioned, not just because of their size and lead pitch, but also because for some of them socket adapters are either very expensive or hard to find.

And yes, lots of new electronics can withstand a surprising amount of thermal abuse. It's the ADCs that normally need to be treated with the most meticulous care.
 

kubeek

Joined Sep 20, 2005
5,744
Not much experience with ex-ing ADCs, but I have had a pretty good luck with digital QFNs even with thermal pads. Just watch Louis Rossman and see how easy those suckers are.
And really, for fine pitch leaded parts like TQFP with 0.65 or 0.5 pitch, just drag the solder on everything, then douse it in flux and wick everything you can away. If you initially got the part well seated on the pcb plane, then it is two short swoops with a soldering iron and you should end up with all soldered pins and no bridges, and not overheat the chip.
 
Top