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.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Roll your own dynamic dns
3 hours 18 min ago
- Please correct the URL for Salt Stack's web site
6 hours 29 min ago
- Android is Linux -- why no better inter-operation
8 hours 44 min ago
- Connecting Android device to desktop Linux via USB
9 hours 13 min ago
- Find new cell phone and tablet pc
10 hours 11 min ago
11 hours 40 min ago
- Automatically updating Guest Additions
12 hours 48 min ago
- I like your topic on android
13 hours 35 min ago
- This is the easiest tutorial
20 hours 11 min ago
- Ahh, the Koolaid.
1 day 1 hour ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
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?