在過去數十年間,軟體世界的發展因開源(Open Source)運動而天翻地覆。Linux 作業系統、Apache 伺服器等專案的成功,證明瞭協作與共享的力量。如今,這股開源浪潮正以前所未有的姿態席捲硬體領域的核心——中央處理器(CPU)。在這場變革的中心,正是 RISC-V(英語發音為 ‘risk-five’),一個基於精簡指令集(RISC)原則設計的開放原始碼指令集架構(Instruction Set Architecture, ISA),這個開源架構正在引領新的技術潮流。
RISC-V 不僅僅是一個新的技術標準,它代表了一種典範轉移。它承諾打破由英特爾(Intel)的 x86 和安謀(Arm)的 ARM 架構長期壟斷的局面,為晶片設計帶來前所未有的自由度、靈活性與透明度。
從微小的物聯網感測器到龐大的雲端資料中心,從智慧型手機等移動設備到自動駕駛汽車,RISC-V 正在為下一代運算創新奠定基石。本文將深入探討 RISC-V 的起源、核心設計理念、蓬勃發展的生態系統,以及它在未來科技版圖中的戰略地位。
RISC-V 的誕生與核心理念
歷史背景與動機
RISC-V 的故事始於 2010 年,由加州大學柏克萊分校的一羣研究人員所發起。當時,由 Krste Asanović 教授領導的團隊,包括後來協助開發的大衛·帕特森(David Patterson)教授,正為一個研究專案尋找合適的指令集架構。他們發現,市場上的主流選擇皆存在壁壘:使用 x86 或 ARM 架構需要支付高昂的授權費用與權利金,並簽署嚴格的保密協定,這嚴重阻礙了學術研究與教學創新;而當時已有的開源 ISA,如 OpenRISC,雖基於學術界的 DLX 架構,但在設計上已顯陳舊,未能完全適應現代運算裝置對效能與功耗的複雜需求。
研究團隊因此決定,與其妥協,不如從零開始,設計一個簡潔、現代且完全開放的全新 ISA。這個專案被命名為「RISC-V」,其中的「V」代表第五代,象徵著它是柏克萊分校一系列 RISC 架構研究的延續。設計者們旨在創造一個「應當免費的指令集」,讓學術界與產業界都能自由使用、修改和擴充,從而激發更多創新。
開源的核心意義
RISC-V 的「開源」精神是其成功的基石,其意義遠不止於「免費」。
- 降低創新門檻:任何公司、學術機構或個人,都無需支付任何專利費或許權金,即可使用 RISC-V 設計晶片。這極大地降低了新創公司和中小型企業進入半導體IC設計領域的成本與壁壘。
- 促進設計自由與客製化:與 ARM 等提供固定配置 IP 核的模式不同,RISC-V 的模組化設計允許設計者像堆疊樂高積木一樣,自由選擇所需的功能模組,甚至可以添加自定義的專有指令,以針對特定應用(如 AI 加速、訊號處理)進行深度優化,實現功耗、效能與面積(PPA)的最佳平衡,並提升能源效率。
- 提升安全性與可信度:開放的架構意味著其設計細節可供全球的專家進行審查和驗證。這種透明度有助於及早發現潛在的安全漏洞,對於國防、航太等高度關注安全性的領域極具吸引力。
- 規避地緣政治風險:在日益緊張的國際貿易關係下,專有技術可能成為出口管制的對象。RISC-V 作為一個開放的全球標準,為各國企業提供了一個中立的技術基礎,能有效規避單一國家技術封鎖的風險。
RISC-V 國際協會的演進
為了確保 RISC-V 的中立性與全球化發展,RISC-V 基金會於 2015 年成立。隨著其影響力不斷擴大,以及為了應對美中科技競爭帶來的地緣政治壓力,該組織在 2020 年 3 月將總部遷至中立國瑞士,並更名為 RISC-V 國際協會(RISC-V International)。
此舉確保了全球任何地方的成員都能在不受特定國家貿易法規影響的情況下,平等地參與標準的制定與合作,共同建立新規範。如今,RISC-V 國際協會已匯集了來自 70 個國家、超過 3,800 名成員,涵蓋了從半導體巨頭(如 Google、Qualcomm、NVIDIA、三星)、IP 供應商(如 SiFive、晶心科)到汽車、雲端運算和學術界的各方參與者,形成了一個強大而多元的全球生態系統。
架構設計深度解析
RISC-V 的設計哲學是「大道至簡」,它避免了歷史遺留的複雜性,專注於提供一個乾淨、高效且易於擴展的基礎。
模組化的指令集子集
這是 RISC-V 最核心的設計特色。它並非一個龐大而單一的指令集,而是一個基礎指令集加上一系列可選擴充的組合。其最初發布的非特權指令集(Unprivileged ISA),也曾被稱為 User-Level ISA,是其設計的基礎。
- 基礎整數指令集 (Base Integer ISA):
- RV32I:32 位元基礎整數指令集,包含約 40 條核心指令,足以運行一個完整的通用編譯器工具鏈。
- RV64I:64 位元版本,是 RV32I 的超集。
- RV32E / RV64E:為嵌入式系統設計的精簡版,將整數暫存器數量從 32 個減少到 16 個,以降低晶片面積。
- 標準擴充指令集 (Standard Extensions):設計者可以根據需求選擇性地加入這些標準化模組,其詳細的 specification 皆公開透明。下表列出了部分關鍵的擴充集:
指令集名稱 | 描述 | 版本 | 狀態 |
---|---|---|---|
M | 整數乘除法標準擴充 (Integer Multiplication and Division) | 2.0 | 已批准 |
A | 不可中斷指令(原子操作)標準擴充 (Atomic Instructions) | 2.1 | 已批准 |
F | 單精度浮點標準擴充 (Single-Precision Floating-Point) | 2.2 | 已批准 |
D | 雙精度浮點標準擴充 (Double-Precision Floating-Point) | 2.2 | 已批准 |
Q | 四精度浮點標準擴充 (Quad-Precision Floating-Point) | 2.2 | 已批准 |
C | 壓縮指令標準擴充 (Compressed Instructions),將常用32位元指令壓縮為16位元,以降低程式碼密度 | 2.0 | 已批准 |
B | 位元運算標準擴充 (Bit Manipulation) | 1.0 | 已批准 |
V | 向量運算標準擴充 (Vector Operations),用於高效能運算(HPC)與 AI | 1.0 | 開放 |
P | 單指令多資料流(SIMD)運算標準擴充 | 0.9.10 | 開放 |
H | Hypervisor 標準擴充 | 1.0 | 已批准 |
Zicsr | 控制與狀態暫存器指令 | 2.0 | 已批准 |
Zifencei | 指令抓取屏障 | 2.0 | 已批准 |
G | 通用組合的簡稱,代表 IMAFDZicsr_Zifencei 的總和 | N/A | N/A |
這種模組化設計帶來了極高的靈活性。一個小型的微控制器可能僅需 RV32EC,而一臺高效能的伺服器則可能採用 RV64GCV。這種命名約定使得描述一個處理器所支援的功能變得清晰而標準化。
暫存器集 (Register Set)
- 整數暫存器:RISC-V 提供了 32 個通用整數暫存器(x0 到 x31),在 64 位元架構下為 64 位元寬。其中 x0 是一個特殊的零暫存器,其值永遠為 0,寫入 x0 的操作會被忽略。零暫存器的設計極大地簡化了指令集,例如,MOV rd, rs(移動)操作可以透過 ADDI rd, rs, 0(將來源暫存器加 0)來實現。
- 浮點暫存器:當實現了 F、D 或 Q 擴充時,會額外提供 32 個浮點暫存器(f0 到 f31),其寬度根據所選的擴充(32、64 或 128 位元)而定。
記憶體存取 (Memory Access)
RISC-V 是一個典型的載入-儲存(Load-Store)架構,這意味著只有 load 和 store 指令可以直接存取記憶體,而所有算術和邏輯運算都發生在暫存器之間。
- 定址模式:記憶體存取採用「基底暫存器 + 12 位元有符號位移」的方式,提供了相對於基底 ±2KB 的定址範圍。
- 位元組序:預設採用小端序(Little-Endian),這與主流生態系統(如 x86 和 ARM)保持一致,但規格書保留了實現大端序的可能性,此規範提供了設計彈性。
- 記憶體對齊:硬體可以支援非對齊的記憶體存取,但對齊存取能獲得更佳效能。若硬體不直接支援,非對齊存取會觸發一個例外,由作業系統透過軟體類比完成,這在簡化硬體設計和降低成本之間取得了平衡。
- 記憶體一致性模型:為了支援多核心與多執行緒系統,RISC-V 定義了「釋放一致性」(Release Consistency)模型。FENCE 指令用於確保記憶體操作的順序性,而 A 擴充中的原子操作則為高效的同步提供了硬體支援。
函式呼叫、分支與跳躍
- 函式呼叫:JAL(Jump and Link)指令將返回位址直接儲存在一個暫存器中,而非壓入堆疊。這比傳統方法少了一次記憶體存取,有助於提升執行速度。
- 分支:RISC-V 沒有傳統的「條件碼暫存器」。分支決策是透過直接比較兩個暫存器的值來完成的(如 BEQ:相等則分支,BNE:不相等則分支,BLT:小於則分支等)。這種設計避免了條件碼對超純量(Superscalar)和亂序執行(Out-of-Order)處理器設計造成的複雜性。
- 分支預測:為了提升效能,RISC-V 規格書建議實作預設的分支預測策略:向後跳躍(通常是迴圈)預測為「會發生」,向前跳躍(通常是條件判斷)預測為「不會發生」。編譯器可以通過安排程式碼來利用此特性,即使是簡單的硬體也能從中受益。
蓬勃發展的生態系與商業實現
一個指令集的成功與否,最終取決於其生態系統的廣度與深度。RISC-V 在這方面正取得飛速進展。
軟體支援
- 編譯器與工具鏈:兩大主流開源編譯器專案 GCC 和 LLVM/Clang 均已提供對 RISC-V 的完整支援。
- 模擬器:QEMU 和 Spike 等功能強大的模擬器,為軟體開發和架構驗證提供了堅實的基礎。
- 作業系統:主流作業系統如 Linux、FreeBSD 和 NetBSD 均已完成對 RISC-V 的移植。Google 也在積極推動 RISC-V Android 在其生態系中的支援。
- 協作專案:為了加速商業級軟體的開發,產業領袖們成立了 RISC-V 軟體生態系統(RISE) 計畫,專注於提供高品質、經過驗證的開源軟體套件。
商業與開源處理器實現
RISC-V 的開放性催生了眾多商業 IP 供應商和開源硬體專案。
- 晶心科技 (Andes Technology):作為臺灣 RISC-V 聯盟的領導者和 RISC-V 國際協會的創始會員,晶心科技提供從低功耗 MCU 到高效能亂序執行核心的完整產品線(AndesCore™ 系列)。其成立背景與聯發科有深厚淵源,早期獲得其大力支持,並憑藉其地緣政治中立性,成功打入全球市場。晶心科技術長蘇泓萌曾表示,RISC-V的開源與可擴充性是其快速崛起的關鍵。
- SiFive:由 RISC-V 的創始人創辦,是全球領先的 RISC-V IP 供應商。SiFive 提供三大系列核心:Essential(嵌入式)、Intelligence(AI/ML)和 Performance(高效能),為不同應用提供瞭解決方案。
- 阿里巴巴平頭哥 (T-Head):推出了高效能的「玄鐵」(XuanTie)系列處理器,其中 C910 是一款採用亂序執行的 16 核心處理器,其效能可與 ARM 的高階核心媲美。平頭哥已將 C910 部分設計開源,極大地推動了高效能 RISC-V 的發展。
- 中國科學院「香山」:這是一個完全開源的高效能 RISC-V 處理器專案,旨在對標 ARM 的 Cortex-A76 等級的核心,展現了中國在 RISC-V 領域的雄心。
- 產業聯盟:2024 年,博世(Bosch)、英飛凌(Infineon)、恩智浦(NXP)、高通(Qualcomm)和 Nordic Semiconductor 聯合成立了 Quintauris GmbH 公司,專注於推動 RISC-V 在汽車領域的應用,後續將擴展至行動通訊和物聯網等多個 industries。
市場定位與三大架構之爭
RISC-V 的崛起,正直接挑戰 x86 和 ARM 構成的雙頭壟斷格局。
RISC-V vs. ARM vs. x86
- x86 架構:基於複雜指令集(CISC),在 PC 和伺服器市場擁有絕對的統治地位。其優勢在於頂尖的單核效能和無可匹敵的龐大軟體生態系,但缺點是功耗較高、架構封閉且授權成本高昂。
- ARM 架構:基於精簡指令集(RISC),在手機市場和嵌入式市場佔據了 95% 以上的市佔率。其核心優勢是卓越的能效比。其商業模式主要為 IP 授權,雖然相對開放,但仍是專有技術。
- 架構RISC-V:同為 RISC,但其核心優勢在於開源、模組化和可擴充性。它沒有授權費,允許深度客製化,並且具有地緣政治中立性。其主要挑戰在於生態系統相對於前兩者仍處於發展初期。
核心優勢與未來應用潛力
RISC-V 並非要在所有領域正面取代 ARM 或 x86,而是憑藉其獨特優勢,在特定市場建立灘頭堡,並逐步擴張。
- 物聯網(IoT)與嵌入式系統:這是 RISC-V 最早取得成功的領域。其低功耗、低成本和可裁剪的特性,完美契合了物聯網裝置的需求。
- AI、HPC 與資料中心:客製化是此領域的關鍵。公司可以利用 RISC-V 的擴充性,設計專用的 AI 指令來加速神經網路運算。例如,Google 在其 TPU 旁使用 SiFive 的 RISC-V 核心進行控制和管理,Meta 的 AI 推論晶片也採用了 RISC-V 架構。
- 汽車電子:汽車產業對功能安全(Functional Safety)和供應鏈的穩定性有極高要求。RISC-V有其開放透明特性便於進行安全認證,而多樣化的供應商則避免了單一廠商的壟斷風險。Quintauris 聯盟的成立正是此趨勢的明證,目標是加速開發以此標準為基礎的參考架構。
- 行動與穿戴裝置:高通與 Google 合作開發的「RISC-V Snapdragon Wear」平臺將採用 RISC-V 核心,這標誌著 RISC-V 正式進軍主流消費性電子市場。
根據市場研究機構 SHD Group 的預測,到 2030 年,搭載 RISC-V 核心的系統單晶片(SoC)出貨量將達到 162 億顆,展現了其巨大的市場潛力與正向的產業趨勢。
常見問題 (FAQ)
Q1: RISC-V 是完全免費的嗎?
A: RISC-V 的指令集架構(ISA)本身是開放且免費的。任何人和公司都可以依據此公開規格來設計自己的處理器,而無需支付任何專利或授權費用。然而,這不代表所有基於 RISC-V 的產品都是免費的。許多公司會選擇向晶心科技(Andes)或 SiFive 這樣的專業 IP 供應商購買預先設計和驗證好的處理器 IP 核(Processor IP Core),這會涉及商業授權費用,但能大幅縮短開發週期並降低風險。
Q2: RISC-V 的性能能否與 ARM 或 x86 匹敵?
A: 可以。 一個處理器的性能主要取決於其微架構(Microarchitecture)的實現,而非指令集本身。RISC-V 的 ISA 設計簡潔且高效,完全有潛力實現高效能的微架構。目前,業界已經有多款高效能 RISC-V 處理器,如阿里巴巴的玄鐵 C910 和中國科學院的「香山」,其性能已經可以和 ARM 的高階 Cortex-A 系列核心相媲美。隨著技術的演進,RISC-V 在高效能運算(HPC)領域的潛力也將持續被發掘。
Q3: RISC-V 會取代 ARM 嗎?
A: 與其說是「取代」,不如說是「共存與競爭」。ARM 在行動裝置領域擁有極其成熟和龐大的軟體生態系統,這是其巨大的護城河,短期內難以被完全取代。然而,RISC-V 在需要高度客製化、低成本、供應鏈自主可控的新興市場(如 AI 加速器、特定領域架構 DSA、物聯網、汽車電子)中具有明顯優勢。RISC-V 的崛起迫使 ARM 調整其商業策略(如推出更靈活的授權方案),長遠來看,兩者將在多個領域展開激烈競爭,共同推動產業進步。
Q4: 企業或開發者採用 RISC-V 面臨哪些主要挑戰?
A: 主要挑戰在於生態系統的成熟度。雖然核心軟體工具鏈(如 GCC、LLVM)已經非常完善,但在某些特定的、高度專業化的應用領域,可能仍缺乏像 ARM 生態那樣豐富的第三方軟體、驅動程式和開發工具。此外,由於 RISC-V 的可擴充性,市場上可能出現大量不完全相容的客製化核心,這可能導致碎片化(Fragmentation)風險,增加軟體移植的複雜性。RISE 等專案的成立,正是為了應對這些挑戰,推動標準化軟體堆疊的發展。
總結
RISC-V 的崛起,是半導體產業數十年來最重要的結構性變革之一。它不僅僅是一個技術選項,更是一種推動創新的哲學。它將晶片設計的權力從少數巨頭手中解放出來,交給了更廣泛的開發者社羣。
雖然 RISC-V 的生態系統仍需時間來追趕 x86 和 ARM 數十年的積累,但其發展速度是前所未有的。憑藉其無與倫比的開放性、靈活性和可擴展性,RISC-V 已經在物聯網、AI 加速器和特定領域的控制器市場站穩了腳跟,並正向汽車、資料中心乃至行動運算等更廣闊的領域發起衝擊。
未來,我們將看到一個三足鼎立的運算架構世界:x86 繼續在傳統高效能運算領域扮演重要角色,ARM 憑藉其成熟的行動生態系保持優勢,而 RISC-V 將成為客製化、開放創新和新興應用的首選平臺,為全球的科技進步注入源源不斷的活力。