
What is RISC-V
RISC-V is an open-source instruction set architecture that defines a set of basic opcodes and registers, along with some optional extended instructions. The design goal of RISC-V is to provide a completely open, real, simple, flexible, efficient, and scalable instruction set architecture suitable for various application scenarios and processor implementations.
The Birth of RISC-V
The RISC-V architecture was primarily developed by Professor Krste Asanovic, Andrew Waterman, and Yunsup Lee at the University of California, Berkeley, in 2010, with strong support from David Patterson, a leading figure in computer architecture. The Berkeley developers decided to invent a new instruction set architecture instead of using the mature x86 or ARM architectures because these architectures had become extremely complex and cumbersome after years of development, overly commercialized, with high patent and licensing issues. Their designs served the market more than they served technical needs, lacking sufficient scalability; the x86 architecture even has no access to its source code. Other open-source architectures also have various issues, such as technical defects, insufficient community activity, and limited ecosystem development. The professors and developers at Berkeley decided to invent a brand new, simple, and open-source instruction set architecture, leading to the birth of RISC-V.
RISC-V is pronounced as “risk-five” in English, representing a new instruction set architecture. The “V” has two meanings: first, it is the fifth generation of instruction set architecture designed by Berkeley starting from RISC; second, it represents Variation and Vectors.
After several years of development, Berkeley developed a complete software toolchain and several open-source processor instances for the RISC-V architecture, gaining increasing attention. In 2016, the RISC-V Foundation was officially established to operate. The RISC-V Foundation is a non-profit organization responsible for maintaining the RISC-V instruction set architecture specifications, the corresponding RISC-V instruction set manuals, and architecture documents, while promoting the development of the RISC-V architecture.
Features of RISC-V
Feature |
x86 or ARM Architecture |
RISC-V |
Documentation Length |
Thousands of pages |
Less than 300 pages |
Modular |
Not supported |
Supports modular configurable instruction subsets |
Scalability |
Not supported |
Supports scalable custom instructions |
Number of Instructions |
Numerous instructions, different architectural branches are incompatible |
A single instruction set supports all architectures. The basic instruction subset has only about 40 instructions, forming a common foundation, with other commonly used module subset instructions totaling only a few dozen |
Ease of Implementation |
High complexity in hardware implementation |
● Hardware design and compiler implementation are very simple ● Only supports little-endian format ● Memory access instructions access only one element at a time ● Removed address increment/decrement mode from memory access instructions ● Regular instruction encoding format ● Simplified branch jump instructions and static prediction mechanisms ● Does not use branch delay slots ● Does not use instruction condition codes ● Arithmetic instruction results do not produce exceptions ● 16-bit compressed instructions have corresponding normal 32-bit instructions ● Does not use zero-overhead hardware loops |
Advantages of RISC-V
Open-source and free: Anyone can use, modify, and contribute to the RISC-V specifications and implementations without paying any copyright or licensing fees.
Flexible and diverse: Users can customize the RISC-V instruction set according to their needs, achieving different functions and performance optimizations.
Innovative frontier: RISC-V can support the latest computer science and engineering technologies, such as artificial intelligence, the Internet of Things, and edge computing.
Flourishing ecosystem: RISC-V has attracted many academic, industrial, and open-source community interests and participation, forming a large ecosystem that includes various hardware devices, software tools, operating systems, programming languages, etc.
Applications of RISC-V
RISC-V applications mainly fall into four areas: first, embedded systems, such as microcontrollers, sensors, smart devices, etc. Second, cloud computing and big data, such as servers, databases, distributed systems, etc. Third, artificial intelligence and machine learning, such as neural network accelerators, image processors, speech recognizers, etc. Fourth, the Internet of Things and edge computing, such as smart homes, smart cars, smart cities, etc.
For example, the Hummingbird E200: The Hummingbird E200 series is an open-source RISC-V processor developed by a team in mainland China, allowing users to easily communicate with developers for support. The Hummingbird E200 processor development team has years of experience in developing processors at top international companies, using robust Verilog 2001 syntax to write synthesizable RTL code, developed to industrial standards. The code for Hummingbird E200 is manually written, with rich annotations and strong readability, making it very easy to understand. The Hummingbird E200 is tailored for the IoT field, featuring a 2-stage pipeline depth, with power consumption and performance metrics superior to the contemporaneous mainstream commercial ARM Cortex-M series processors, and it is free and open-source, perfectly replacing ARM Cortex-M processors in the IoT domain. The Hummingbird E200 not only provides the implementation of the processor core but also offers complete supporting SoC, detailed FPGA prototype platform construction steps, and detailed software running examples. Users can follow the steps to reproduce the entire SoC system, easily applying the E200 processor core to specific products. The Hummingbird E200 provides not only the implementation of the processor core, SoC implementation, FPGA platform, and software examples but also a complete debugging solution, featuring full GDB interactive debugging capabilities. The Hummingbird E200 offers a complete solution from hardware to software, from modules to SoC, from running to debugging.
Related Concept Expansion
CPU (Central Processing Unit): Full name is Central Processing Unit, abbreviated as processor.
CPU Core and Core: “CPU Core” and “Core” refer to the most core part of the processor, a hardware-centric concept, such as a computing unit that can independently handle computational tasks; while “processor” and “CPU” are often more complete, including various computation and control logic, caches, registers, etc.
Instruction Set: An instruction set is a collection of instructions, and an instruction is the smallest unit of operation that the processor performs (such as addition, subtraction, multiplication, division, or reading/writing memory data).
Instruction Set Architecture (ISA): Sometimes abbreviated as “architecture” or “processor architecture”. Instruction set architecture is mainly divided into Complex Instruction Set Computer (CISC) and Reduced Instruction Set Computer (RISC). The two have differences; CISC includes not only the commonly used instructions of processors but also many less commonly used special instructions, thus having a larger number of instructions, which is why it is called a complex instruction set; RISC only includes the commonly used instructions of processors, and for less commonly used operations, it achieves the same effect by executing multiple common instructions, hence it is called a reduced instruction set due to its more concise instruction count.
Microarchitecture: With the instruction set architecture, different hardware implementation schemes can be used to design processors with different performance levels. The specific hardware implementation scheme of the processor is called microarchitecture.








New Media Center
Director / Kuang Yuan
Editors / Yao Liangyu Fu Tiantian Zhang Jun Tai Siqi