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.
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Linux Systems Administrator
- RSS Feeds
- Introduction to MapReduce with Hadoop on Linux
- Validate an E-Mail Address with PHP, the Right Way
- Weechat, Irssi's Little Brother
- Tech Tip: Really Simple HTTP Server with Python
- New Products
- Poul-Henning Kamp: welcome to
1 hour 1 min ago
- This has already been done
1 hour 2 min ago
- Reply to comment | Linux Journal
1 hour 47 min ago
- Welcome to 1998
2 hours 36 min ago
- notifier shortcomings
2 hours 59 min ago
4 hours 36 min ago
- Android User
4 hours 38 min ago
- Reply to comment | Linux Journal
6 hours 31 min ago
9 hours 20 min ago
- This is a good post. This
14 hours 33 min ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?