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.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- Solving ODEs on Linux
- Tighten Up SSH
- High-Availability Storage with HA-LVM
- DevOps: Everything You Need to Know
- Non-Linux FOSS: MenuMeters
- Android Candy: Bluetooth Auto Connect