RISC-V是什麼?人人都能使用的開放指令集

約 11 分鐘 · 更新:2026年10月23日

RISC-V(唸作「risk-five」)是一套「指令集」,規定CPU能執行哪些指令,以及這些指令用0和1怎麼寫。它的規格公開,任何人都能不付授權費,就設計並販售遵循這套規格的CPU,這是它最大的特點。RISC-V在2010年從美國加州大學柏克萊分校開始。現在廣泛用在微控制器,以及GPU內部負責整體控制的小型CPU等地方。

這篇文章可以了解

  • 指令集是什麼,為什麼說它是軟體與CPU之間的「約定」
  • x86、Arm、RISC-V的差異(特別是誰能做CPU、費用怎麼付)
  • RISC-V「基本+自選擴充」的架構
  • 用在哪裡,以及「免費」的真正意思與課題

前提知識:如果知道CPU是「一個一個執行用0和1寫成的簡單指令的零件」,會比較容易讀。

生活中的例子

電子DIY常會用到一種附Wi-Fi的小型微控制器板。其中部分產品的CPU,是依照RISC-V這套指令集運作的。NVIDIA的GPU裡,也有遵循RISC-V的小型CPU。硬碟和SSD的製造商,也宣布了把控制用的CPU改成RISC-V的方針。

這些都是從產品外面看不到的地方。所以就算聽過這個名字,很多人可能也沒什麼概念。本文會先確認「指令集」是什麼,再來看RISC-V新在哪裡。

指令集是軟體與CPU之間的「約定」

CPU是一個一個執行「相加」「比較」「從記憶體讀取」這類簡單指令的零件。指令不是用文字寫的,而是用0和1的排列(機器碼)寫成。詳細說明請看「CPU是什麼?」。

有哪些指令,各用0和1的什麼排列來表示。這個約定稱為「指令集」,正式名稱是指令集架構(ISA)。指令集也規定了CPU內部小型存放位置的數量,以及指令的長度等。

重要的是,指令集只決定「做什麼」,不決定「用什麼電路來實現」。電路怎麼做,由做CPU的公司自由設計。因此只要遵循同一套指令集,不論是小型微控制器還是高效能CPU,都能執行同樣的機器碼程式。細節條件會在後面的章節說明。

軟體與CPU之間,有一個叫作指令集的約定 軟體 應用程式、作業系統、編譯器 指令集(約定) 指令的種類與0和1的寫法 設計A 微控制器用 設計B 電腦用 設計C AI用 電路怎麼做,各家自由決定
指令集是軟體與CPU之間的約定。只要遵守約定,電路做法不同的CPU,也能執行相同的機器碼。圖中省略的部分:作業系統的差異、各CPU可用擴充的差異(後面說明)。

三種代表性的指令集,以及「使用權」的差異

現在廣泛使用的指令集,代表是x86、Arm、RISC-V這3種。它們在技術上也有差異,但最大的差異是「誰能在什麼條件下做CPU」。

x86是從Intel在1978年發表的8086延續下來的指令集。許多Windows電腦和伺服器都使用它。做x86 CPU的,主要是Intel和AMD這2家公司。其他公司不能自由製造、販售x86的CPU。

Arm是英國Arm公司擁有的指令集。Arm公司把使用這套指令集的權利授權給其他公司,收取的費用是主要收入。根據Arm公司的年度報告,授權方式主要有2種。一種是授權Arm公司做好的CPU設計圖。另一種是只授權使用指令集,由對方自己設計CPU。無論哪一種,都要支付簽約的費用(授權費),以及每出貨1顆晶片的使用費(權利金)。

RISC-V的規格書公開,任何人都能免費閱讀。設計並販售遵循RISC-V的CPU,也不必向管理規格的組織支付授權費或權利金。像這樣公開讓任何人使用的規格,稱為「開放標準」。不過,「RISC-V」的名稱和標誌是管理組織的商標,用在產品上另有規定。

x86ArmRISC-V
決定規格的是Intel、AMDArm公司RISC-V International(由會員討論)
能做CPU的公司主要是Intel和AMD與Arm公司簽約的公司任何人
指令集的使用費不開放給其他公司授權費和權利金不需要

這張表大略整理了商業模式的差異。技術面的比較,整理在「ARM、RISC-V、x86的差異」的表格中。

RISC-V從哪裡來?

RISC-V在2010年5月,從加州大學柏克萊分校開始。它是Krste Asanović教授與研究生Yunsup Lee、Andrew Waterman所開始的研究的一部分。做研究和上課時,常常想自由修改CPU的內部,並公開結果。但是既有的指令集,不能自由修改,也不能散布修改後的版本。

名稱中的「RISC」是一種設計理念:限縮指令的種類,讓每個指令都單純、格式一致。單純的指令,電路比較好做,也比較容易快速執行。相反地,讓1個指令做很多工作的理念稱為CISC,x86屬於這一邊。差異整理在「RISC與CISC的差異」的表格中。

在RISC的指令集中,讀寫記憶體只用專用的指令來做。計算則在CPU內部的小型存放位置(暫存器)之間進行。這種方式稱為載入儲存架構,Arm和RISC-V都採用。每個指令的工作單純又一致,所以電路容易依序處理。

「V」是羅馬數字的5。柏克萊分校從1981年發表的RISC-I開始,延續了好幾代的RISC研究。根據規格書的說明,RISC-V相當於其中第5代的主要設計。

2014年,Asanović教授和David Patterson教授發表了「指令集應該是自由的」報告。2015年,培育規格的組織RISC-V Foundation成立,許多企業加入。這個組織在2020年3月於瑞士成為法人,改為現在的名稱RISC-V International。它是非營利組織,規格由會員討論決定。

在「小小的基本」上自選「擴充」

RISC-V的設計最顯眼的地方,是把指令集像零件一樣組合使用。作為基礎的是小型的「基本指令集」,只有整數計算、記憶體讀寫和分支。分支是指依條件選擇下一個要執行的指令。有處理32位元數字的RV32I,以及64位元的RV64I。依照規格書的算法,RV32I的指令只有40個。

在這個基本之上,只把需要的功能當作「擴充指令集」選擇加入。每種擴充都有一個英文字母的名稱。代表性的如下。

  • M:整數的乘法、除法(不包含在基本指令集裡)
  • A:讀寫時不會中途被打斷的指令。讓多個核心(執行指令的電路)處理同一份資料時也不會出錯
  • F、D:含小數的數字計算。F是標準精度,D是它的2倍精度
  • C:把常用的指令,寫成16位元的短格式,而不是一般的32位元
  • V:對大量資料一次做相同的計算(向量擴充,2021年正式通過)

像C這樣把指令寫短的形式,稱為壓縮指令。根據規格書,一般可以把50~60%的指令換成短格式。結果程式的大小可以縮小25~30%。在記憶容量小的微控制器上,這個差距的效果很大。

RISC-V是在基本指令集上,選擇加入需要的擴充 可選擇加入的擴充(部分) M乘法、除法 A不會被打斷的讀寫 F含小數的計算 D含小數的計算(2倍精度) C把指令縮短為16位元 V一次計算大量資料 基本:RV32I 或 RV64I 整數計算、讀寫、分支 例:ESP32-C3 是 RV32IMC
下方的基本指令集,每一顆RISC-V的CPU都有;上方的擴充則依用途選擇。名稱是把基本與擴充的字母排在一起來表示。圖中省略的部分:還有很多其他擴充(位元操作、加密等),以及執行作業系統用的規格另有規定。

CPU有哪些擴充,看名稱就知道。例如後面會介紹的Espressif ESP32-C3,是「RV32IMC」。意思是在32位元的基本之上,加了M(乘法、除法)和C(短指令)。此外,規格中也預留了空間,讓各公司放入自己的專屬指令。可以加入AI計算等,專門針對特定工作的指令。

用在哪裡?

RISC-V最先普及的地方,是在產品內負責固定工作的小型CPU。這類CPU從外面看不到,而且1台機器裡往往有好幾個。由於數量多,不必按顆支付使用費的好處就特別明顯。

  • 儲存裝置的控制:Western Digital在2017年宣布,要把產品控制用的核心逐步改成RISC-V。當時,該公司每年使用的核心超過10億個。2018年12月,又宣布公開自家設計、用於SSD等產品的RISC-V核心「SweRV」。
  • 微控制器:Espressif在2020年11月發表了微控制器ESP32-C3。這是具備Wi-Fi和藍牙通訊功能的產品。CPU是32位元的RISC-V,最高以160 MHz運作。
  • GPU內部的控制:GPU內部有負責整體控制的小型CPU。NVIDIA從2010年代中期起,把它從自家專屬的方式改成RISC-V。根據2024年RISC-V會議上的演講,1顆晶片裡大約有10~40個RISC-V核心。

現在許多晶片,都是把CPU和計算、通訊等電路整合在一起的SoC(系統單晶片)。在這類晶片中,RISC-V已經以「配角」CPU的身分被大量使用。

另一方面,作為電腦和手機的「主角」CPU,RISC-V才剛起步。2025年2月,筆記型電腦Framework Laptop 13用的RISC-V主機板開始販售。不過廠商自己也說明,它是「給開發者用的,不是給一般使用者用的」。

指令集公開,CPU的設計圖不一定公開

這裡先把2個容易混淆的東西分開。指令集是「做什麼」的約定,CPU的設計圖則是「用什麼電路實現」。在「CPU是什麼?」一文中,把執行指令的一整套電路稱為「核心」。業界也把這套電路的設計圖稱為「核心」。RISC-V公開的是指令集,核心的設計圖則屬於做它的公司。

實際上,RISC-V的核心大多是不公開的產品。例如SiFive,是開創RISC-V的柏克萊分校3人在2015年成立的公司。它把自家核心的設計圖,收費授權給其他公司。做法和Arm相似,但不必支付指令集本身的使用費。根據報導,NVIDIA GPU裡的核心,也是該公司自己設計的。

另一方面,也有連設計圖都公開的核心。例如由英國非營利組織lowRISC接手開發的Ibex,以及由OpenHW組織管理的CVA6。和軟體世界的「開放原始碼」一樣,任何人都能閱讀、使用、改良其內容。也就是說,「RISC-V晶片」中,既有內部不公開的,也有公開的。

最大的課題,是軟體的累積

就算有CPU,沒有對應這套指令集的軟體也派不上用場。需要作業系統、編譯器、常用的程式零件集(函式庫)和應用程式。x86和Arm累積了數十年的軟體,以及讓軟體跑得更快的調校。這些軟體和工具,加上支撐它們的人和公司,整體稱為「生態系」。

RISC-V用的軟體,也逐漸齊全。例如,Debian是以Linux為基礎的代表性作業系統發行版之一。Debian在2025年8月的版本中,首次把64位元的RISC-V列為正式支援的對象。不過,電腦和手機上許多人使用的應用程式,還沒有全部到位。

可以自由選擇擴充,在軟體方面也會變成弱點。因為每顆CPU擁有的擴充不同,就很難做出「任何RISC-V CPU都能執行的軟體」。因此RISC-V International依用途,規定了「至少要有這些」的擴充組合。2024年10月,正式通過了名為「RVA23」的組合。對象是執行完整作業系統的64位元CPU。

常見的誤解

誤解:RISC-V是免費的,所以RISC-V晶片也能免費做出來

實際上,免費的只有使用指令集這套「約定」的權利。要設計遵循它的CPU電路、進行驗證、在工廠製造,都需要龐大的費用。如果向其他公司借用核心的設計圖,也要付那筆費用。正確的說法是:少了指令集的使用費,成本會降低,設計的自由度也會提高。

誤解:RISC的指令單純,所以比較慢(或是,因為是RISC所以比較快)

實際上,比起RISC或CISC,CPU的速度更受電路做法、快取大小和製造技術影響。美國威斯康辛大學麥迪遜分校2013年的研究,實際量測了Arm和x86的CPU。結論是,效能和功耗的差異,可以用設計的不同來解釋,而不是指令集的種類。現在的x86 CPU,會在內部把複雜的指令拆成單純的動作來執行。不能說「因為是RISC-V所以快或慢」,必須逐一比較產品。

誤解:只要是RISC-V的CPU,都能執行同樣的軟體

實際上,只用基本指令的軟體可以執行,但用到擴充的軟體,只能在具備該擴充的CPU上執行。例如用到V(向量)的軟體,在沒有V的小型微控制器上無法執行。此外還有作業系統和周邊零件的差異。前一章提到的RVA23這類組合規定,就是為了減少這個問題。

從數字來看

項目數字補充
RISC-V的起點2010年5月柏克萊分校。RISC研究始於1981年的RISC-I
RV32I(基本)的指令數40個依規格書的算法。暫存器有32個
C擴充讓程式縮小的幅度縮小25~30%規格書的參考值
Western Digital轉換的規模每年超過10億個2017年宣布時
NVIDIA 1顆晶片中的RISC-V核心約10~40個2024年的演講
管理組織在瑞士成為法人2020年3月RISC-V International

40個這個數字,表示指令集的「基本」有多小。x86花了數十年不斷增加指令,雖然依算法而定,但指令的種類遠比這多。RISC-V原本是為了大學的研究和教學而做的。因為基本很小,也很適合當作學生從零開始設計CPU的教材。

進一步學習

接著閱讀

系列「電腦的原理」的文章

  1. 電腦怎麼用0和1計算?二進位與加法電路
  2. CPU是什麼?它在電腦和手機裡做些什麼
  3. AI為什麼要用GPU?同時處理大量乘法的原理
  4. 作業系統(OS)是什麼?它在電腦和手機裡做些什麼
  5. CPU快取記憶體是什麼?讓CPU不必苦等記憶體的原理
  6. NPU是什麼?手機和電腦裡的AI專用電路原理
  7. FPGA是什麼?做好之後還能改寫電路的晶片原理
  8. ASIC是什麼?特定應用積體電路與CPU、FPGA的差異
  9. 編譯器是什麼?程式變成機器碼的過程
  10. 邏輯閘是什麼?用AND、OR、NOT計算的原理
  11. RISC-V是什麼?人人都能使用的開放指令集
  12. 演算法是什麼?靠步驟的巧思讓計算變快的原理
  13. 資料庫是什麼?表格、SQL與索引的運作原理
  14. Git是什麼?版本控制的原理與GitHub的差異

這個領域的題目: 指令集與組合語言

參考資料

入門解說一覽