31-03-2021 | | By Robin Mitchell
ARM has been the dominant CPU architecture for microcontrollers, microprocessors, and mobile systems, but a new contender is on the rise. What are the major differences between RISC-V and ARM, and will one win over the other?
When talking about processors, the most important factor to consider is the instruction set architecture, or ISA. This is because programs developed by software engineers will only be able to operate on specifics ISAs unless the code is written using an interpreted language that is cross-platform (such as Python or Java).
There are many ISAs available to designers, but most of these are restricted to custom architectures for microcontrollers. With regards to large processing systems such as desktop PCs and smartphones, only two are widely available; x86/x64 and ARM.
The intel developed x86/x64 architecture has been the industry workhorse since the 1970s, while the ARM architecture was developed in the late 1980s for use on smaller systems. The major difference between the two architectures is that x86/x64 is a complex instruction set (CISC) with many advanced features while ARM is a reduced instruction set (RISC), that only has a handful of instructions by comparison.
CISC allows for a computer to do more in a single instruction cycle while RISC allows for simpler programming. Generally speaking, RISC requires more clock cycles to complete the same instruction in CISC, but can do so more efficiently (energy-wise) which makes them ideal for mobile applications. While x86/x64 remains the dominant architecture in the heavy processing market, ARM may face serious competition from a new processor architecture; RISC-V.
RISC-V is an open standard instruction set architecture that uses RISC principles of basic, fewer instructions than compared to CISC. It was first introduced in 2010 and currently supports 32, 64, and 128 bit CPUs.
The CPU architecture uses a load-store topology meaning that the processor is unable to directly operate on data in memory, and instead requires the user to move data from memory to its internal registers before it can operate on them. While this makes RISC-V slower than CISC, it allows RISC-V to be simpler in hardware design, and therefore uses less silicon space.
While both processor technologies are somewhat similar in function (i.e. both being load-store and RISC), the major difference between RISC-V and ARM is that RISC-V is open-source whereas ARM is proprietary. This means that any designer wishing to integrate an ARM CPU into their design (i.e. an SoC), is required to pay royalties to ARM holdings.
RISC-V, however, is open-source and therefore does not require any royalties or licenses. While this allows designers to experiment and develop RISC-V systems for free, there is little to no support for hardware design. ARM, however, has teams of engineers developing hardware systems that make it easy for designers to incorporate ARM CPUs.
The second major difference between the two architectures is support. As RISC-V is an extremely new processor platform, there is very little support for software and programming environments. ARM, however, has an extremely large online community, support structure, and libraries to help designers target many different platforms including microcontrollers, microprocessors, and even servers.
The third major difference between RISC-V and ARM is that ARM, being proprietary, can be export blocked by governments (such as when the US attempted to block the sale of ARM IP to China). RISC-V, however, is open-source and available for anyone with an internet connection to look up the standard and implement their own design. This is one of the reasons why some Chinese developers are turning to RISC-V for their future designs.
If ARM is to survive the competition posed by RISC-V, it will have to rely on its overwhelmingly large market share to present itself as a better choice for designers. While this tactic works for Intel, it may not do for ARM as Intel not only developed the architecture, it also developed physical CPUs. ARM, however, develops no hardware, and as such may put designers off from using it.
The use of RISC-V is increasing, and a recent job opening in Amazon is looking for candidates with RISC-V experience. This move shows that major companies are already looking at alternatives to ARM, and the attempted purchase of ARM by NVIDIA does not help this.
As technology continues to improve and support for RISC-V increases, designers will be left with the option between a paid-for processor architecture or a free architecture with no limitations. However, just because something is free does not mean it will take lead. The Linux operating system is a classic example; while most distributions are free, Linux makes up a tiny percentage of operating systems around the world.