指令集架構(ISA)

RISC-V

/ risk-five /

RISC-V(唸作「risk-five」,意即「RISC 第五代」)是一個現代的指令集架構,在本領域中通篇用作教學範例,就像一本給初學者的食譜總是回到一道精挑細選的菜。它是 2010 年代初由加州大學柏克萊分校設計的一個乾淨、簡單的架構,有兩個特質使它非常適合學習:它小而規律(你可以把整套裝進腦袋裡),而且開放且免費,意思是任何人都能替它造晶片、或讀完整規格而不必付授權金。

RISC-V 是載入-儲存式的 RISC 風格 ISA。這表示指令簡單、每條只做一件事,大多數固定為 32 位元寬以便整齊對齊,而且只有兩種特殊指令——載入與儲存——才真正碰記憶體;所有算術都在暫存器之間進行。一顆基本的 RISC-V 晶片有 32 個整數暫存器,命名為 x0 到 x31(其中 x0 永遠是零),再加上程式計數器。其核心刻意做得極小,而更豐富的功能(浮點、向量、壓縮指令)則以獨立、可選的擴展形式加上去,因此一顆小型嵌入式晶片和一顆大型伺服器晶片都可以是「RISC-V」,卻包含不同的部件。

它最接近的經典親戚是 MIPS——一個與它非常相似的較舊教學 ISA,因此你在這裡學到的很多東西都能互通。RISC-V 在現實世界中也很重要,不只在課堂上:因為標準是開放的,新創公司、大學與巨型企業都能設計 RISC-V 核心,而不必和某個單一擁有者談判,這正在重塑「誰有資格造晶片」。一個誠實的小提醒:「開放 ISA」指規格可自由使用,並不表示每顆 RISC-V 晶片的內部設計都公開——各家公司仍把自己的微架構保密。

整個 RISC-V 迴圈主體可能就是:「lw x5, 0(x10)」(從記憶體載入一個字組)、「addi x5, x5, 1」(加 1)、「sw x5, 0(x10)」(存回去)。三條簡單、固定大小的指令——載入、計算、儲存——正是 RISC 的典型樣式。

載入、在暫存器中計算、再存回——這就是 RISC-V 核心的載入-儲存節奏。

RISC-V 的「V」是羅馬數字五(柏克萊第五代 RISC 計畫),不是「向量(vector)」的字母。而「開放」指的是 ISA 規格免費——建構於其上的個別晶片仍可完全是專有的。

又稱
RISC fivean open ISA開放指令集架構