複雜指令系統計算機CISC
設計思路:一條指令完成一個複雜的基本功能
代表:X86架構,如筆記本、臺式機等
精簡指令系統計算機
設計思路:一條指令完成一個基本“動作”,多條指令組合完成一個複雜的基本功能
代表:ARM架構,如手機、平板等
CISC和RISC的比較
CISC | RISC | |
---|---|---|
指令系統 | 複雜、龐大 | 簡單 |
指令數目 | 一般大於200條 | 一般小於100條 |
指令字長 | 不固定 | 定長 |
可訪存指令 | 不加限制 | 只有Load/Store(取數/存數)指令 |
各種指令執行時間 | 相差較大 | 絕大多數在一個週期內完成 |
各種指令使用頻度 | 相差很大 | 都比較常用 |
通用寄存器數量 | 較少 | 多 |
目標代碼 | 難以用優化編譯生成高效的目標程序代碼 | 採用優化的編譯程序,生成代碼較爲高效 |
控制方式 | 絕大多數採用微程序控制 | 絕大多數採用組合邏輯控制 |
指令流水線 | 可以通過一定方式實現 | 必須實現 |
瞭解
- 指令系統、指令數目:
a. CISC每要實現一種功能,就要增加一條指令。因此指令系統龐大、複雜,指令數目較多
b. RISC要實現一種功能,可通過原有的指令組合實現。因此指令系統簡單,指令數目較少 - 指令字長:
a. CISC不同的功能對應不同的指令。因此指令長度是不同的
b. RISC在設計指令時,把指令設置成定長的,方便以後的優化 - 可訪存指令:
a. CICS可以訪存的指令不受限制,即任何指令都可能具有訪存的功能
b. RISC可訪存的指令只有Load/Store(取數/存數),一個功能要實現訪存功能可通過這兩條指令與其他指令組合而成 - 各種指令執行時間及使用頻度
a. CISC不通指令實現不同功能,所需時間可能相差很大。某些不常用的功能對應的指令使用頻率較小
b. RISC在設計時,將指令細分成小的動作,這些動作(指令)執行時間大致在一個週期內完成。每個動作都比較常用 - 通用寄存器的數量
a. CISC一條指令直接完成一個功能,往往產生較少的中間結果,需要寄存器數量較少
b. RISC通過不通指令組合完成一個功能時,會產生較多中間結果,需要較多的寄存器保存中間結果