計算機架構與加速器
指令集架構(ISA)
指令集架構是硬體與軟體之間的「契約」——處理器承諾能聽懂的命令清單,例如「把這兩個暫存器相加」、「從記憶體載入這個字」、「若為零就跳躍」。可以把它想成晶片的鍵盤配置:軟體只能用這些按鍵組句子,只要晶片遵守同一份清單,多年前寫的程式照樣能跑,即使底下的矽片早已徹底重新設計。
ISA 規定有幾個暫存器、一個字有多大(32 或 64 位元)、記憶體如何定址,以及每條指令的二進位編碼——但刻意不規定內部如何完成工作。正因如此,同一支舊 x86 程式能在小小的 Atom 與巨大的 Xeon 上都跑:相同 ISA,迥異的微架構。最大的分野是 CISC(x86——指令多、豐富、長度可變)對上 RISC(Arm、RISC-V——指令少、簡單、定長、易於管線化);RISC-V 之所以重要,是因為它開放且免費,任何人都能造出相容晶片而不必付授權金。
一條 RISC-V 指令:把暫存器 x6 與 x7 相加,結果存入 x5。
ISA 是「架構」;真正實作它的電路是「微架構」。Intel 與 AMD 出貨的微架構完全不同,卻共用 x86 ISA——這正是這層抽象的用意所在。
又稱
另見