SOC it To 'Ya!
We've all heard about the coming “post-PC” era. Are we there yet? Is it just around the corner? Or is the post-PC era just a bunch of hype? After all, most of us still use conventional PCs at work and home to do our computing.
First, realize that the opportunity for computerized devices which aren't PCs is practically limitless. International Data Corporation (IDC) reports that out of the nearly two billion microprocessor chips manufactured each year, over 95% go into non-PC “embedded” devices. Today, most of this figure represents low-level control tasks in vending machines, cars, test instruments, sprinkler systems, etc.
But the smartness and interconnectedness of the myriad of computerized devices that surround us will soon increase dramatically. Recent technology advances make it possible to embed PC-level computing, communications and display capabilities within common appliances. They're also enabling the creation of many new kinds of electronic gadgets—a process that is currently happening at a furious pace in thousands of ongoing projects. Which means nine months from now (products take roughly the same time to gestate as human babies), the results of this frenzy of post-PC development will begin to emerge in a big way.
So here's my prediction: 2001 will be “the year of the post-PC”.
Each technology era tends to be characterized by a handful of key, new technology threads that are woven into its fabric. In the case of the post-PC era, those threads are likely to be:
“System-on-chip” integrated circuits
Let's zoom in on one of them: system-on-chip (SOC) integrated circuits.
Chip companies have long sought to develop the means to build entire systems on one piece of silicon. Imagine a single super-high-density chip that you could program to perform all the electronic functions your system needs. We're not there yet, but we've certainly made a lot of progress.
As a hardware designer, I've personally experienced much of that evolution. In 1980, the floppy controllers I designed required entire boards full of chips. Soon, the designs compressed into two chips. Then one. Ultimately, the whole thing literally vanished—sucked into a super-I/O chip! Just a mere speck of silicon and a few interface pins are all that remain.
As Moore's Law continued to work its magic, the half-dozen circuit boards of the original PC eventually met similar fates. One by one, each board-level controller became several chips, one chip, and finally a fraction of a multi-function IC. By the end of the '90s, the functions of a PC had been reduced to a handful of chips. Would the final result be a single-chip PC?
The obvious answer is “yes”. But the actual answer, for the moment, is probably “no”. Why? It turns out there are still laws of physics to contend with. Intel started pushing back on the PC-on-a-chip idea several years ago, arguing that it's neither efficient nor practical to implement everything on one piece of silicon. Some partitioning of technologies, they reasoned, is necessary in order to extract maximum benefits from the silicon and to achieve the best cost and performance.
General-purpose PCs, and larger computers used as servers or control systems, demand maximized CPU performance. Device interfaces like Ethernet, sound and LCD controllers have more specialized needs. These two priorities—CPU performance and device interface—tend to make conflicting demands on the silicon. That's why Intel has opted not to build its Pentium processors with on-chip video, Ethernet and sound functions.
On the other hand, when you set out to create a web pad, set-top box, Internet radio or smart vending machine, you face an entirely different set of challenges. After all, you're designing an appliance, not a PC. These embedded applications tend to be interface-intensive, rather than compute-intensive. So you probably don't need Intel's latest Pentium. In the past, you may have used a single-chip microcontroller (8051, 68HC11, etc.). Today, there's an exciting new alternative: the post-PC, Linux-oriented system-on-chip. That's quite a mouthful! Let me explain.
post-PC: Embedded applications don't need to be “Wintel” compatible, since they're not trying to be general-purpose PCs. Their CPUs can be x86 variants, but there can be big advantages to RISC processors. Why? Because RISC CPUs tend to be more efficient in their use of silicon resources. That can result in higher performance and functional integration, at lower power consumption and cost. Which is all great, provided you've got the operating system software and tools you need to make the device work the way you want. Which leads us to ...
Linux-oriented: In my opinion, embedded Linux will be a key enabler of the post-PC era. Why? One reason is that Linux isn't wedded to just one CPU architecture. Another is that Linux is highly scalable, modular and flexible—which makes it well-suited to the extreme diversity of embedded systems. Then, there's the fact that Linux is open source, so it's much easier to get your embedded widget to act like it's supposed to. Also, don't forget the Linux royalty model—zero (or nearly so)—which makes all this great stuff affordable in even the simplest of devices.
system-on-chip: Right now, a whole new class of system-on-chip processors is emerging. They're popping up everywhere, on an almost weekly basis. These highly integrated and easy-to-design-with little tidbits of silicon now contain powerful 32-bit CPUs, along with a feast of built-in peripheral interfaces. Best of all, they're nearly all supported with ready-to-run embedded Linux.
Here's my checklist of minimal requirements for a post-PC SOC:
Built-in interface to RAM and ROM
Built-in DMA, interrupt and timing controllers
Built-in interface to disk or flash memory
Built-in Ethernet and/or LCD/CRT interface
Built-in serial and parallel ports and/or USB
Full embedded Linux support
Why require either built-in Ethernet or a display controller? That's because some SOCs go in “black box” devices that don't need displays, such as firewalls, specialized servers or gateways, while others go in user-interactive devices like web pads and vending machines. By including at least one of these two popular external world interfaces, the SOC implements all the key functions of the required embedded computer.
Are there any SOCs that currently meet all the requirements on my checklist? You bet! For several months, I've been gathering info on post-PC Linux-oriented SOCs. Here's a sampling of what I've found.
STMicroelectronics STPC Industrial—contains an 80MHz x86 CPU, plus a CRT/LCD display controller, PCMCIA and serial/mouse/keyboard ports. The STPC Consumer is another version, with a slightly different mix of features. www.linuxdevices.com/links/LK9677697611
Motorola PowerPC MPC823e—contains a 75MHz PowerPC CPU, a sophisticated communications signal processor, plus a CRT/LCD display controller, PCMCIA, seven serial ports, USB, I2C and SPI. www.linuxdevices.com/links/LK9083681498
IBM PowerPC 405GP—contains a 266MHz PowerPC CPU, plus 10/100 Ethernet, serial and parallel ports and I2C. www.linuxdevices.com/links/LK5925887918
NETsilicon NET+ARM—contains a 40-MIPS ARM7TDMI CPU, plus 10/100 Ethernet, two high-speed sync/async serial ports with HDLC and SPI support, four IEEE-1284 parallel ports and 24 digital I/O pins. www.linuxdevices.com/links/LK7209982157
Aplio/TRIO—contains a 20-MIPS ARM7TDMI CPU, a pair of 40-MIPS DSPs, plus two serial ports, SPI, a pair of CODECs, 10/100 Ethernet, USB and Flash memory interface. The DSPs and CODECs provide software modem, audio and voice functions. www.linuxdevices.com/links/LK3569182901
Axis ETRAX—contains a 100-MIPS RISC CPU, plus 10/100 Ethernet, IDE, SCSI, two IEEE-1284 parallel ports and four high-speed serial ports. www.linuxdevices.com/links/LK5309816751
Intel SA-1110—contains a 206MHz StrongARM RISC CPU, plus an LCD display controller, four serial channels, IRdA, USB slave and 48 digital I/O lines. www.linuxdevices.com/links/LK7515567179
NEC Vr4181—contains a 66MHz 64-bit MIPS RISC CPU, plus interfaces for LCD display, CompactFlash, a serial port, IrDA, keyboard, USB, touch panel and audio in/out. www.linuxdevices.com/links/LK4338659220
Bear in mind, this list represents the tip of the SOC iceberg. New SOCs are announced continually, so check for the latest information at LinuxDevices.com. Use the site's search function, with “system-on-chip” as the keyword.
The post-PC era is just around the corner and there's little doubt that embedded SOCs, combined with embedded Linux, will be two of its principal enablers. So get ready for some exciting changes in the electronic gadgets that surround us, as those devices become much more intelligent and much more connected.
Rick Lehrbaum ([email protected]) created the LinuxDevices.com “embedded Linux portal”, which recently became part of the ZDNet Linux Resource Center. Rick has worked in the field of embedded systems since 1979. He co-founded Ampro Computers, founded the PC/104 Consortium and was instrumental in launching the Embedded Linux Consortium.