Sometimes the smallest things can knock you back on your heels and make you go, “Wow.”
Sure, we work in an industry of constant innovation. Computers get faster all the time, software gets more impressive, Internet startups come and go… we thrive on change and “destructive creation.” But still, you look around sometimes and wonder how we got here.
Not that long ago, the computer world was in the midst of a big RISC-versus-CISC battle. Would those newfangled RISC machines overturn our ideas of processor design and software’s role in computer architecture? Whole companies were founded on the basis of new CPU instruction sets. Fortunes were won and lost. Research went into overdrive. Stanford University produced MIPS, while, barely 20 miles away across San Francisco Bay, academic and athletic rival UC Berkeley’s SPARC joined the charge.
Then SPARC’s creator, David Patterson, went on to become the head of Computer Science at Berkeley. MIPS’s genitor John Hennessy is now the president of the entire freakin’ university. The revolutionaries have become the Establishment.
Their technical creations live on – one in the way it was intended, and the other along a diametrically opposite vector. SPARC is now part of Oracle, and SPARC chips power massive multiuser data-center computers, just as Patterson and his crew predicted they would. MIPS, on the other hand, grew up in a very different way. Instead of powering big iron, MIPS processors pushed pixels in Nintendo and Sony videogame consoles, as well as innumerable TVs, DVRs, consumer electronics, and network gear. There’s no question that MIPS powers far more machines than SPARC (or almost any other RISC design) does, just not in the way that Professor Hennessy expected.
Nowhere is that more clear than in Microchip’s latest offering for the masses, the new PIC32MZ. It’s a MIPS-powered microcontroller that measures about one-third of an inch (9 mm) on a side, sells for less than $7, consumes some ridiculously small number of milliwatts when it’s running (and almost none at all when it’s sleeping), and yet delivers more performance than the first MIPS machines did when they came out of the lab. Yes, I’d say we’ve come a long way.
If you’re familiar with Microchip’s massive parts catalog, you know that it has two major MCU families: there’s the “traditional” PIC chips that use Microchip’s own (and unusual) instruction set, and the PIC32 line, which is MIPS-based. There are plenty of PIC32 devices already, but the new PIC32MZ is the new range-topper. It’s faster, more capable, and just plain ol’ more impressive.
There will ultimately be dozens of variations of the ’MZ chips, but they all share the same microAptiv MIPS processor core. For the ARM fanboys in the audience, microAptiv is equivalent to ARM’s M-series cores. That is, it’s the low-end, MCU-focused design, as opposed to the performance-oriented interAptiv or proAptiv. Like some of the M-series cores, microAptiv includes DSP-like instructions that help with motor control, signal processing, audio, and other tasks.
The ’MZ’s little beating heart pumps away at 200 MHz, delivering about 330 Dhrystones or, if you prefer, 3.28 CoreMarks/MHz. That’s triple the performance of Microchip’s other PIC32 parts, partly because of the clock frequency and partly because of the new microAptiv CPU pipeline.
It’s also faster than any ARM-based MCU chip running at the same frequency, Microchip is happy to point out. You see, there’s more than one embedded-RISC architecture out there. It’s also got better code density (i.e., the ratio of software instructions to RAM size), so it’s slightly more economical, too. Take that, Cambridge University!
Nobody buys MCUs just for the processor, however, so the ’MZ is loaded up with peripherals. Depending on which version you buy, you’ll get a 12-bit analog/digital converter (ADC) that can do 28M samples/second, 2 MB of flash, 512 KB of SRAM, high-speed USB, a 10/100 Ethernet MAC, dual CAN controllers, six UARTs, another six SPI/I2S lines, some I2C, SQI, timers, and so on.
The real highlight for a lot of users will be the new crypto block. “Crypto engine” can mean a lot of different things, and in this case it’s a midlevel implementation. It’s a hardware accelerator with a random-number generator (RNG) for encryption, decryption, and authentication via AES, 3DES, SHA, MD5, or HMAC. Trying to do this work on a 200-MHz processor would be a bit tedious, so the hardware assist will make a big difference to the crypto-curious. Of course, the ’MZ is also available without the crypto block. In fact, it sometimes has to be disabled for export purposes.
The onboard flash can be erased and reprogrammed in halves, which allows you to keep running out of one half while you obliterate the other half. And of course, there’s a cheap development board to go with it. For $120 you get a palm-sized board with all the basic I/O brought out to standard connectors, plus some additional off-chip flash and fun buttons and LEDs. Want an LCD display? Another few bucks get you a touch-sensitive screen, an accelerometer, Bluetooth audio, forward-facing camera, and a temperature sensor – enough to make yourself a really clunky cellphone.
With sub-$10 chips and sub-$150 computer boards, it looks like MIPS took over the world after all.