The Raspberry Pi is powered by a Broadcom BCM2835 System on a Chip.
But there are millions of other devices, all powered by similar means.
Here we'll explain what an SoC is, what it does, and why they exist.
In very broad terms, a System on Chip is a microchip that has all the
components required to power a computer. In the case of the Raspberry
Pi, the Broadcom chip contains a 700MHz ARM processor and a Videocore 4
GPU.
Q. Are all SoCs so low on processing power?
A.
Not at all. The RPi has different priorities than other devices that
use SoCs. In fact, newer SoCs sport multi-core processors and GPUs.
Q. But so does my motherboard. How are SoCs any different?
A.
First, there's the fact that on a motherboard the different components
are housed in separate chips. So there's a CPU, there's a graphics
processor, there's memory, and so on. On the other hand, a System on a
Chip has all these components on a single chip, and is hardly any bigger
than the traditional CPU.
Q. Ah! Is this the reason why the RPi is so puny?
A.
Absolutely! A computer needs various components, and while a desktop
has room to easily fit them all, it would be virtually impossible on a
device like the RPi. Thanks to System on a Chip, we have powerful
computers in a much smaller form factor, like a smartphone, with spare
room for the batteries.
Q. And that's another advantage, right? These devices don't need a lot of power.
A.
That's right, and this is thanks to the very tight integration of the
components, which doesn't require much wiring; and this in turn makes
these devices a lot more efficient. Take the RPi for example, which only
needs 5V to run via the Micro USB type B. In fact, I powered mine using
my smartphone's charger!
Q. So, besides the RPi and smartphones, are there any other types of devices that use SoC?
A.
If a device fits in your hand and runs on batteries, chances are it's
powered by an SoC. So, in addition to smartphones, tablets too are
powered by SoCs. In fact, most of the popular Android tablets are
powered by Nvidia Tegra 3 and Qualcom Snapdragon SoCs. Even the
Microsoft Surface Tab will be powered by the Tegra 3 SoC.
Q.
That's awesome! Talking of the RPi, when you mentioned its Broadcom
chip, you said it's got a CPU and a GPU. So where's the memory?
A.
Well, the revision 2 RPi uses 512MB of SDRAM, and it's stacked right on
top of the Broadcom chip via a technology called package-on-package, or
PoP.
Q. PoP? Sounds like a quick and cheap fix to a leaking roof.
A.
You might be closer than you realise, at least in the quick and cheap
sense. Sometimes, it's just not feasible to build an SoC for a
particular type of device. On smaller devices, like the RPi and other
popular open source hardware devices like the BeagleBoard, manufacturers
save space (and money) by piling multiple chips, or "packages" as
they'd like to call them, on top of each other.
Q. I'm guessing they don't just glue them on top of each other?
A.
The SoC chips use a surface mount technology known as ball grid array.
The SoC chips are lined with tiny interconnection pins on both the top
and bottom. The manufacturers then solder the lower ones to connect the
SoC to the board, and use the ones on the top to connect memory
packages. This gives them more flexibility, as they can use the memory
from different vendors. For example, some RPi boards have memory from
Hynix and others from Samsung.
Q. Ok. So SoCs don't have memory?
A.
No, I am not saying that. All SoCs aren't built the same. Some have
more components than others, and stack additional components using the
PoP technology. It all depends on the intended use of the device.
Q. So what else can you find inside an SoC?
A.
Besides the CPU, GPU and the memory, an SoC can house the Northbridge,
which is a component that handles communications between the CPU and
other components of the SoC. Some SoCs also have the Southbridge, which
handles various I/O functions. An SoC meant for a communication device
will also include cellular and other radios for 4G, Bluetooth or Wi-Fi
connectivity.
Q. In the same vein, can an SoC have non-ARM processors as well?
A.
Yes they can. But most SoCs will be powered by an ARM processor. These
processors are the preferred choice for SoCs because the ARM
architecture delivers high performance without consuming much power,
which makes them ideal for power-conscious mobile devices. In contrast,
the x86 architecture, although popular on regular desktops, isn't as
power efficient.
Q. But are there any x86-based SoCs?
A.
Intel is the only manufacturer that has an x86-based SoC for mobile
devices. It's called the Intel Atom Medfield. The first smartphone to
use this was the Intel AZ210, known in the UK as the Orange San Diego.
Q. If SoCs take up less space, and consume less power, why aren't they everywhere?
A.
That's a good question. As wonderful as SoCs are, the benefits come at a
cost. Thanks to their tight integration, they lack the flexibility
you'd want in a desktop or a laptop. So while you can upgrade your PC
with a new CPU and GPU, and add more RAM, you can't do the same for your
smartphone.
Q. Bummer. Does that mean SoCs have no use beyond mobile devices?
A.
That'd have been true a couple of years ago, but not any more.
Traditional CPUs are learning from SoCs and are integrating memory
controller, PCI Express and a graphics processor onto the same chip.
AMD's Llano and Intel's Valley View are prime examples. Meanwhile,
mobile SoCs are becoming more powerful, such as Samsung's Exynos 5,
which powers Google's Nexus 10 tablet as well as the latest generation
Samsung Chromebook.
Q. Wow! Since the Chromebook runs Chrome OS, which is based on Linux, does it mean these SoCs all support Linux?
A.
Well that's a loaded question, and it'll need some explaining. Like I
said, a majority of SoCs have ARM processors, and many of these devices,
like Android-based smartphones, tablets, and the RPi, run Linux. But it
isn't a unified version of Linux. All these devices require a slightly
different variation of Linux. In fact, maintaining the different
ARM-based SoCs is a huge chore for the Linux kernel developers. As per
some reports, every new kernel release has about 70,000 new lines of ARM
code, compared with only about 5,000 for the x86 platform! However,
starting with Linux Kernel 3.7, multiple ARM SoC platforms will be
supported by the same kernel.
Q. So I guess in the near future I'll be able to install my favourite Linux distro on any ARM device.
A.
We're headed there, for sure. The most popular devices with ARM SoCs
that run Linux are the RPi and the Chromebook. Some people have even
managed to dual-boot Chrome OS on their Chromebooks, along with
full-blown distros such as Ubuntu and Fedora.
Q. I keep telling my mates that mobile devices are the future of computers. It would seem so are SoCs.
A.
Absolutely, but there will always be a market for general-purpose CPUs,
where power consumption and a small form factor are less of an issue.
Think high-end servers and supercomputers.