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.