Over the years, Intel and its microprocessors have become a household name, recognized by millions of PC users. However, far more people own computers based on ARM processors without ever having heard of that CPU – it’s their mobile phones. More than a billion mobile phones are sold worldwide every year, each one more powerful than an office computer that used to run Windows 95/98 not too long ago. Whatever the brand or model, almost all of them (98%) use at least one CPU based on the ARM architecture. Also, if you own a car navigation system or a broadband router that connects your PC to a DSL or cable modem, it probably uses an ARM chip. Do your kids own a Gameboy Advance, a Nintendo DS, do you listen to music on an iPod? ARM CPUs are common to all of these, as well as the iPhone, the Blackberry and other mobile phones.
From the start, ARM was meant to compete head-on with Intel CPUs in desktop computers, but for many years there really was no direct competition between the two. The issue was mostly software, and as that may change, we’ll increasingly see ARM and Intel compete directly in the same markets. This is bad news for Intel (and AMD) as per-CPU revenue has been far higher in their markets than for makers of ARM chips. As Intel is trying to get a bigger slice of the exploding handheld market with Atom while ARM is taking a bite out of Intel-dominated markets, this gap in pricing is set to erode.
A short history of ARM
ARM has a colourful history. The first ARM chips were developed by Acorn Computers Ltd in Cambridge/UK, who in the early 1980s had successfully launched the 6502-based BBC Micro home/educational computer, an 8-bit machine. I first visited Acorn in the summer of 1984 as a young software engineer working at Digital Research UK. Under an OEM contract I ported Concurrent DOS to a prototype Acorn ABC 310, a 6502-based machine with an 8 MHz 80286 second processor equipped with 1 MB of memory. That 286 machine was one of several projects meant to take Acorn into the more lucrative business market, using a range of 16-bit and 32-bit machines to compete against the likes of the new IBM PC/XT, PC/AT and the 8086-based ACT Apricot that was very successful in the UK. Acorn was well aware of the limitations of the 6502, which was only an 8-bit processor that could not address more than 64 KB of memory. Acorn then decided to replace the 6502 with a simple but efficient 32-bit RISC design, the Acorn RISC Machine (ARM) which came out in 1986.
As it turned out, machines based on ARM never took much market share from the new IBM-compatible PCs that were gradually taking over the desktop market. So instead of building entire computers, or making chips and selling them like Intel does, the developers of ARM decided to license the design to anyone wishing to integrate it into their own custom designs. That’s how ARM became both ubiquitous and nameless. One reason for the lack of success on the desktop was the huge library of software written for MS-DOS and later the various MS Windows versions, which only worked on Intel-compatible CPUs. Despite that, the ARM design eventually became successful beyond anybody’s wildest dreams in mobile and embedded markets where low power usage and low cost were crucial. Mobile phones and other handheld devices and appliances had no need to run desktop applications written for MS Windows. Subsequently, ARM as a hardware platform became so successful that Microsoft ported its Windows CE operating system to ARM (besides x86, MIPS and SuperH as other supported platforms). Even Intel was involved for 8 years with StrongARM and XScale, which it sold to Marvell in 2006.
The marriage of ARM and Open Source
Now it looks like ARM is returning to its roots, with the announcement of ARM-based netbooks and with ARM-based Linux servers. Until recently notebooks and servers were mostly Intel domains, but open source and portable Linux is bridging the gap between Intel and ARM hardware, leveling the playing field for applications. In early 2009 Marvell launched the SheevaPlug, a $99 self-contained ARM and Linux-based mini-server about the size of a notebook power brick. A year later, Globalscale Technologies announced the GuruPlug range of low cost, energy saving computers as the successor to the SheevaPlug; both SheevaPlug and GuruPlug are based on a Marvell chip set, with similar specs and sizes. The GuruPlug is 95mm (L) x 65mm (W) x 48.5 mm (H) and draws under 5 Watts. Its built-in universal power supply handles 100-240V, 50/60Hz for worldwide use with only a plug adapter. The GuruPlug is supposed to start shipping in April and I have two on order 🙂
The most interesting of the three GuruPlug Server models in my opinion is the “Plus” model, which sells for $129, $30 more than the GuruPlug Server “Standard” model or the older SheevaPlug base model. All GuruPlug Server models sport a 1.2 Ghz Marvell Kirkwood ARM CPU, 512 MB of DDR2 RAM, 512 MB of NAND flash, 802.11b/g WLAN and Bluetooth. While the Standard model offers one gigabit Ethernet port and one hi-speed USB (480 Mbps) port, the Plus has two of each and also offers an eSATA port (3 Gbps) plus an external micro-SD slot.
Dual network interfaces make the Plus very suitable as a router (one port for the WAN, one for the LAN). Just add a 4-port hub and you have a direct replacement for a regular broadband router, but with the ability to also hook up USB or eSATA hard disks for Network Attached Storage (NAS) or as a web server or media server, or plug in a USB-printer to be shared over the LAN. Or you could run a VPN, or a mail server, or a spam filter – or all of these combined. Basically anything that works on a Linux server should work in this tiny box, as long as there is enough storage for files on either the internal flash or RAM or the micro-SD or a USB-stick or an external USB or eSATA hard disk.
A third model, the GuruPlug Display for $179 has also been announced, but (as of 2010-02-21) can not be ordered yet. This one will come with 3 USB ports and an HDMI video connector for hooking up an external monitor, so you could use it with a keyboard and mouse (via USB or Bluetooth) for web browsing.