RISC 與 CISC 的差異:指令集的設計理念與代表例比較

RISC(精簡指令集電腦)與 CISC(複雜指令集電腦)是關於指令集設計的兩種理念。RISC 使用少量簡單且長度固定的指令,容易進行管線處理。CISC 則使用大量複雜且長度可變的指令,一條指令可以完成更多工作。現在兩者的界線已經模糊,現代的 x86 處理器會在內部將 CISC 指令轉換為簡單的運算後再執行。因此,兩者的差異主要在於指令集與軟體環境方面才顯得重要。

項目RISCCISC
理念使用少量簡單的指令。一條指令的工作量小,設計成可快速執行使用大量強大的指令。有些指令可以一次執行多個步驟
指令的長度固定(RISC-V 與 AArch64 的基本指令集為 32 位元等)可變(x86 的指令為 1~15 位元組)
記憶體存取載入/儲存(load/store)方式。接觸記憶體的只有載入與儲存指令,運算在暫存器之間進行許多指令可以直接將記憶體中的資料作為運算元
暫存器通用暫存器多(RISC-V 與 AArch64 為 32 個)較少(x86-64 的通用暫存器為 16 個)
解碼簡單,適合管線處理,硬體也可以做得小複雜。現代 x86 的核心會將指令轉換為內部的微指令
程式碼大小較大。不過可藉由壓縮指令擴充(Thumb 或 RISC-V 的 C 擴充)縮小一條指令的工作量多,因此容易較為緊湊
代表例ARM、RISC-V、MIPS、PowerPCx86 與 x86-64(Intel、AMD)、IBM z/Architecture
主要用途智慧型手機、嵌入式設備,近年也用於筆記型電腦與伺服器個人電腦與伺服器。軟體相容性重要的領域

數值為具代表性的大致參考值,會因世代或產品而異。

適用於什麼情況

RISC
適合電力效率重要,且想要簡單、易於擴充的設計時。例如智慧型手機、嵌入式設備、自有設計的處理器等。RISC-V 是開放標準,任何人都可以免授權費製作核心。
CISC
現在選擇 CISC 的理由是軟體相容性。龐大的 x86 軟體資產,支撐了它在個人電腦與伺服器上的優勢。
實際上
左右效能的,與其說是 RISC 還是 CISC,不如說是微架構、快取與製程。

常見問題

ARM 是 RISC 還是 CISC?

ARM 是 RISC 架構。RISC-V 也是 RISC,x86 則是 CISC。

RISC 比 CISC 快嗎?

並非只由此決定。現代的 x86 處理器會在內部將 CISC 指令轉換為簡單的運算後再執行,因此效能取決於微架構、快取與製程,而不是 RISC 或 CISC。

為什麼 x86 至今在個人電腦上仍佔優勢?

因為相容性。大量既有的 Windows 與桌面軟體資產都是為 x86 所製作,支撐了它在個人電腦與伺服器上的優勢。

什麼是載入/儲存方式?

存取記憶體的只有載入與儲存指令,運算在暫存器之間進行的方式。ARM 與 RISC-V 等 RISC 的設計採用這種方式。

理解度檢測

關於 RISC(精簡指令集電腦)的特徵,下列何者正確?

  1. A具有大量複雜且長度不一的指令
  2. B將指令精簡為單純且數量少的集合,使管線化處理更容易進行
  3. C完全沒有指令
查看答案與解析

正確答案:B. 將指令精簡為單純且數量少的集合,使管線化處理更容易進行

RISC 的設計理念是將指令精簡為單純且長度一致的集合,運算在暫存器之間進行,與記憶體的往來僅限於載入(load)與儲存(store)指令。由於各指令的處理時間一致,適合管線化,代表例有 ARM 與 RISC-V。具有複雜指令的 CISC(如 x86)現今在內部也會將指令分解成單純的 μOP 來執行,因此兩者的差異正在縮小。

ARM、x86、RISC-V 等名稱主要代表的是什麼?

  1. A製造製程的世代
  2. B指令集架構(ISA)
  3. C封裝的種類
查看答案與解析

正確答案:B. 指令集架構(ISA)

ARM、x86、RISC-V 是指令集架構(ISA)的名稱,規定處理器所能理解的指令種類、暫存器、記憶體的處理方式等軟體與硬體之間的約定。只要是相同的 ISA,即使設計的企業不同,也能執行相同的程式。x86 由 Intel 與 AMD 用於個人電腦與伺服器,ARM 用於智慧型手機與 Apple 的 Mac,RISC-V 則以嵌入式領域為中心持續擴展。

關於 RISC-V 的特徵,下列何者正確?

  1. A是只有特定一家公司才能使用的專用指令集
  2. B是 GPU 專用的指令集
  3. C是規格公開、無需授權費即可使用的指令集架構
查看答案與解析

正確答案:C. 是規格公開、無需授權費即可使用的指令集架構

RISC-V 是 2010 年起於加州大學柏克萊分校開始開發的開放式 ISA,規格公開,任何人都能免授權費地實作。基本的整數指令約 40 個,相當精簡,可依用途選擇並組合浮點數、向量等擴充。由於也能新增自訂指令,因此在嵌入式微控制器、儲存裝置的控制器、AI 加速器等領域的採用日益普及。

  1. 下列何者是RISC-V這類載入/儲存架構(load-store architecture)的特徵?
  2. CPU 處理一道指令的基本流程,下列順序何者正確?

前往CPU與架構的練習題

相關名詞的解說

指令集架構(ISA)
處理器可執行的指令與暫存器等,從軟體角度看到的處理器規格。例如 x86、Arm、RISC-V 等。

相關的比較