Learning About RISC-V
2025-06-13
I spent the day learning about RISC-V. Before writing this article, I really only knew it as an open instruction set. This article explains the basics of RISC-V from a high level, what its benefits are, and why it matters.
A Background of CISC and RISC
Computers of the past used to be very independent. Each system was unique in their own way, so they lacked a common ground. Some external hardware would be incompatible and many pieces of software or files would require translation to be used or understood by another computer. The introduction of Intel's 8086 and the first IBM PC changed that, by introducing the x86 architecture in 1978. Around the same time in England, the first ARM processor was designed. Today, these two architectures stand as the most common computer architectures in computer systems. We see x86 hardware in our computers, laptops, and server computers, and we see ARM hardware in our phones, microcontrollers, and in other embedded systems. ARM architecture is now being used across all Apple devices, from their Apple Watches to their iPhones to their MacBooks.
x86 and ARM are very different, as they follow different philosophies: x86 is considered to be a CISC architecture whereas ARM is a RISC architecture. Complex Instruction Set Computers (CISC) were effective in the 80s and 90s as they can execute more in less lines of machine code. Since a significant number of programmers were writing code in assembly (1:1 to writing machine code), it would be ideal to use a CISC architecture. On the other hand, Reduced Instruction Set Architectures (RISC) had a smaller instruction set and would use simpler instructions. Now that processors are faster and programmers generally use higher-level programming languages, this is not nearly as much of a problem. Due to the smaller instruction set, RISC hardware can be simpler and thus, more power-efficient. This is why RISC architecture is preferred in embedded systems.
RISC was developed by UC Berkeley in the early 1980s, when professors David Patterson and Carlo Sequin saw that the additional instructions provided by CISC architectures were seldomly used in compilers. This gave them the idea to make a reduced instruction set in the hopes of improving performance. From there, ARM, along with MIPS architectures began making waves in the computing industry, using RISC as the foundation. The fifth generation of RISC development, RISC-V is the latest architecture.
The Differences Between RISC-V and ARM
"If both RISC-V and ARM are RISC, then what is the difference?", you might ask. It comes down to the ISA (instruction set architecture). For ARM, you would need to pay Arm (the company) to use their ISA to sell hardware that uses it. On the other hand, the RISC-V ISA is open, being managed by the non-profit RISC-V International.
The instruction set of RISC-V is based on fundamental architecture ideas and older RISC ISAs. What makes it special is not the underlying technology, but rather the openness of it. This enables anyone to develop for it and implement it how they choose.
In a lot of ways, I find the philosophy of RISC-V to be similar to Unix. There are many Unix-based operating systems, each with their own purpose and strengths. This makes it a great choice for a foundation for phones, servers, desktop computers, and any other applications for a flexible operating system.
Extensions
Due to the open and modular nature of RISC-V, it should not come as a surprise that modifications are made to fit the needs of the user. These "extensions" are additional instructions that are user-created. In a sense, they are like libraries, where they can be implemented if the additional functionality is needed.
This may raise the original problem that people faced before Intel's 8086, which is a lack of standardization between architectures. RISC-V International is taking steps to create standard ISA profiles to mitigate this. These profiles would specify a set of extensions that would necessary for a specific class of a RISC-V processor. This is similar to the ARM Cortex family. For example, the Cortex-M has a reduced instruction set and is designed for microcontrollers and other small embedded systems.
RISC-V in 2025
As of now, billions of chips have been manufactured and are being used for various applications. Nvidia, for example, use RISC-V processors for display control, video codecs, resource management, security, and data processing. Western Digital is another major contributor of RISC-V, creating their own open-source SweRV Core SoCs.
In addition to processors of larger systems, there are various companies who have created RISC-V based systems, like Framework, SiFive, and StarFive. There are no RISC-V processors that can truly compete with the Qualcomm Snapdragons, Apple M processors, and Intel/AMD consumer CPUs of the world...yet.
Development is accelerating much faster than ARM development has, and with the backing of many companies and the RISC-V Software Ecosystem (RISE) project, a lot of software is natively supported on RISC-V. This is great since it means that the transition to using a RISC-V based processor should not hinder much, once it is ready.
Why RISC-V?
The open standard and extension support is what excites me of a world where RISC-V is commonly used. This makes the architecture incredibly flexible while maintaining a reliable foundation. The open hardware standard may force a shift in the way companies view open source.
We live in a world where application-specific integrated circuits (ASICs) and field-programmable gate arrays (FPGAs) exist but are not widely used due to their niche use cases. While processors are better in terms of flexibility, they may not necessarily perform as well as an ASIC or FPGA. RISC-V processors fit nicely in between FPGAs and regular x86 or ARM processors in terms of performance. This would be especially effective in applications like AI, where a lot of similar computations are done at a large scale.
Further Learning
Besides the links I provided throughout, I learned a lot from ExplainingComputers.com, who has many videos on RISC-V.
There is also a decent amount of information on the RISC-V website.
Additionally, I would like to explore RISC-V assembly. A good start is this video by LaurieWired.