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.