You know that feeling when you discover a great little restaurant that nobody else knows about? Or listen to a terrific band that’s flying under the radar?
That’s how the designers of a few hundred million SoCs must feel. They’ve discovered the Andes, a small 32-bit microprocessor core that sits in the middle of a burgeoning array of small-scale electronic devices. Once known only to the Asian cognoscenti, Andes is going global, including a push into the United States. Who knows – Andes may even be seen in South America before long.
With 50+ licensees and 300+ million units to its name, Andes is no small player in the embedded-processor market. It’s just very low key. The Taiwan-based firm has over 100 employees, with its key CPU designers working out of Sunnyvale, in the heart of Silicon Valley. The vast majority of those licensees are fellow Asian companies, producing a wide range of consumer electronics, wireless headsets, storage controllers, and the myriad other bits of hardware that propel our industry.
Like most other CPU-licensing companies – ARM, MIPS, and ARC come to mind – Andes offers a range of CPU cores, from high end to low end, intended to suit a range of customer requirements. In Andes’s case, the high-end devices don’t compete in quite the same league as, say, ARM’s Cortex-A57 or Imagination’s MIPS64 – we’re not talking that high end. Instead, the top-range Andes N13 stretches to reach 1 GHz in 40nm silicon, so it’s roughly comparable to an ARM11 or a midrange 32-bit MIPS core.
It’s at the opposite end of the spectrum that Andes has been most successful: very low-end CPU cores. Andes’s bread and butter is the N7, a dead-simple 32-bit CPU core design that aims to be small and cheap. Just the thing for Bluetooth headsets and the like. Its simple two-stage pipeline is about as elementary and unpretentious as you can get, yet it still delivers good integer performance. On the CoreMark benchmark, Andes says the N7 can crank out 2.62 CoreMark/MHz (the EEMBC website says 2.29), which is slightly better than an ARM Cortex-A8 or a Freescale Kinetis K70-series part. On the other hand, the Andes core was puttering along at just 30 MHz, while the others were well into triple-digit clock speeds. But if low and slow is your thing, Andes has a small and efficient way to get there.
How does the Andes instruction set compare to its rivals’ ISAs? Who knows? Andes doesn’t publish a detailed programmers’ reference manual, and most SoC designers don’t care, anyway. Suffice to say it gets the job done; you just won’t find a lot of third-party application software written specifically for Andes.
Having said that, the company has done a good job of corralling middleware and RTOS choices for the N7 and its stablemates. In addition to a Linux kernel, you have commercial options like ThreadX, Nucleus, uC/OS, and FreeRTOS. Not a bad collection for a processor most Western engineers have never heard of.
There’s also the obligatory Eclipse-based IDE, which Andes calls AndeSight. With a complete instruction-set simulator (ISS) and RTOS awareness, it’s clear that Andes isn’t new to the game. Currently, Andes’s own C/C++ compiler is the only option.
Andes, like ARC, appeals to designers of deeply embedded systems-on-chip: products that don’t need a lot of third-party software or broad support from commercial tools. They need a silicon engine to make their gizmo go, and the internals of that engine are somebody else’s problem. Among Andes’s clientele, performance is not much of an issue, but small die size and low power consumption are. They’re not looking for the latest in trendy processor technology (is there such a thing?); they just want a tool to get the job done. And Andes is standing by with tools in hand. You know what they say: Once you go Black & Decker, you never go back.