According to GPT4, As of 2021, the global ARM-based processor market size was valued at around $17.7 billion, with IoT devices accounting for a significant portion of the market.
Intel and other x86 based devices still dominate the market, the corresponding market size was (of course) much bigger in 2021.
Remember that originally, mainframes (such as the IBM System/360) were a big chunk of the market. Currently, the x86 market size dwarfs the mainframe market – but there was a point, when this was the other way around!
x86 has established itself through a unique combination of IBM choosing this particular architecture for it’s IBM PC, and the market dominance which Microsoft DOS (MS-DOS) and then subsequently Microsoft Windows were able to build.
Historically, Windows has been ported to other CPUs. Microsoft repeatedly tried to offer versions which would run on the ARM architecture, too – but which would (in the past) not support the legacy x86 applications. Not surprisingly, customers expect certain things of Windows – such as being able to run Microsoft Word on the corresponding computers.
Today, we are in the age of single board computing. The most popular SBC on the planet is the Raspberry Pi, and it does not (really) run Microsoft Windows, at least the x86 compatible version.
Here, Microsoft, too tried, and created a Windows version called Microsoft Windows IoT.
There are single board computers which run Microsoft Windows, as they are x86 based devices (for example the LattePanda), but it does not matter so much. That is why Raspberry Pi, which is ARM based, is the most popular SBC!
Let’s explore some reasons behind this
Advantages / disadvantages of ARM vs. x86
Historically, x86 has been agressively pushed by Intel – the business model of which is (or we should say was?) based on technological leadership.
In return, Intel could demand premium pricing, at least on it’s high-end products.
- high performance (although that is starting to crumble)
- full compatibility with Microsoft Windows
AMD, the runner up (which had it’s big break-through as second-source for x86 based product because the military needed a second source, if memory serves me correctly!) was positioned as the more cost-conscious choice.
Eventually, the performance levels which the x86 platform reached were significantly higher than many applications required.
Specialized hardware took over processing functions which were inefficient to execute on the processor.
For example, if we consider the Coral AI hardware accelerator (which we happen to distribute), it will run faster, more energy efficient, and a lower total BOM in cooperation with a Raspberry Pi, vs. an x86-based high-powered system which would be able to run the same neural network vision model on it’s CPU.
ARM is a much more fractured eco system, yet with ARM as the licensor of the architecture guaranteeing a certain interoperability.
ARM does not manufacture chips (for the mass market). Instead, it licenses it’s designs to companies like Broadcom (which for example designed the SoC of the Raspberry Pi), or Rockchip – which is used in RockPi, or Tinkerboard SBCs for example.
More licensees means more competition (vs. Intel basically just holding the market “hostage” if they want the leading performance and brand name).
On a sidenote, many of these chip manufacturers are not really household names – not as established as Intel anyways. I mean, which end consumer really cares whether they have a Broadcom chip or one of their competitor’s inside their routers? That was a really clever marketing move by Intel back then (Intel inside) – but I digress.
ARM, in a nutshell offers the following advantages:
- lower cost components
- very efficient energy usage
- can be cooled passively in many applications (no fan needed) – noiseless designs possible!
- companies can mix and match other IPs into their SoCs (e.g. Rockchip uses Mali GPUs – also by ARM, and Broadcom uses the VideoCore GPU, which was designed in-house) as they see fit – to my knowledge there are no x86 licenses which allow you to do that, so you basically get what is on offer from Intel, ARM, etc. – basically there is no license for the IP, you’ve got to purchase actual chips
- as a result, these companies can really target their hardware for specific applications (and get better performance at a lower cost point!)
For example, on SBCs frequently, there are specific video codecs done as hardware circuitry which allow to decode the most popular video codecs (to play back those YouTube cat videos).
ARM has now progressed to a point where some of the designs based on it are built-into higher-speed products than their Intel/x86 counterparts. Apple, for example, has demonstrated that with the M2 architecture. It really plays well into Apple’s business design – which is focused on a tight integration of the software, and the underlying hardware.
This, by the way is why Apple MANAGED to transition to ARM – they control the operating system, and the hardware, and the SoC design – they ensured that their legacy applications could still execute on the new hardware at acceptable speeds!
Microsoft is not able to do this, as they have a different business design. They depend on many companies, for example ASUS, to create PCs. They allow these PC manufacturers to compete amongst themselves, thus driving the volume of the market – while they ensure interoperability on this PC platform with their software. In order to transition to ARM, they would need to orchestrate a plethora of these manufacturers, AND they would need to build an interoperability layer, to provide legacy software support. Since they do not know the CPU they will eventually end up executing on, they can’t make a consistent promise to the market, that the old software will run at acceptable speeds. (OK this is oversimplified, but they would have to get the manufacturers on board with a new strategy of switching to ARM, etc.)
Target market of the SBCs vs. desktop PCs / servers
Single board computers are frequently used in industrial applications (as so-called embedded hardware devices), or by enthusiasts / tinkerers, and also in education.
Microsoft Windows based computers (and by extension, the x86 platform which is closely tied to this operating system!) are used in office setups, and had been used as home computers. People are creatures of habit, they get used to an operating system. For example, I would not consider using Linux as my main desktop system (besides, it simply has too much choice going on there!), as I am using Windows, and rely on some applications which I know and have used for years (e.g. the Adobe suite).
On my smartphone, however, I have an Android based system. The smartphone was a complete reboot of the ecosystems, and the ARM CPU could play it’s big advantage of being very energy efficient. People were OK with lower performance in a cell phone, initially. Nowadays, some of these smartphones are more powerful than the desktop computers the people have. The Windows software advantage did not matter, as these smartphones needed completely new apps anyways. I mean, no one designed with a GPS enabled computer in mind, for example. Or with multitouch interfaces – the Windows PCs used a classical mouse click-and point system, and were mostly stationary.
Can you see where I’m going with this?
The Windows PC/x86 architecture has a certain niche (albeit a very big one), in which it exists in the mind of customers. This is for desktop applications (the other big contender is Apple with MacBooks for example, and increasingly Chromebooks). It is used in office work, for example to process orders for Raspberry Pis by us.
It is also still relevant in high-end servers, although ARM-based designs have also started to go there – due to the power efficiency, and cost, ARM is ultimately a better fit in the data center, too.
In other fields, other factors matter.
Embedded designs, for example ATMs were historically also built using Windows – maybe you have sometimes noticed those bluescreens on ATMs, or digital signage installations around the city.
There is no need to use Windows on these devices. Linux is often a better and easier to manage choice, and a more cost-efficient to boot. There is no licence fee on Linux installations. Linux is known as a more secure operating system. Linux, finally, does not lock you into the x86 platform as much as Windows does.
On these specialized devices your desktop applications, like Word, Excel, etc. do not matter at all. They frequently are deployed with specialized applications for displaying videos, interacting with the customer, or showing you which level you’re on (in an elevator).
(sidenote: to show which level you are on in the elevator, even Linux is overkill. A simple microcontroller will do just fine! Watch this area for even simpler devices which do not run a proper full-blown operating system anymore)
In embedded devices – and this is a huge area which SBCs are sold into – cost matters. A lot. Power efficiency matters. x86 designs need better cooling (due to worse power efficiency), which often means that you would have to add a fan design for example …
The software frameworks to construct applications have shifted significantly, a lot of applications today can be easily created for either x86 or ARM, for example using the Qt framework, or web technologies.
cost: Windows bundling
cost: ARM vs. x86, market fragmentation, competition, different licensing model