指令集是電腦處理器(CPU)用來計算和控制計算機系統的一套指令的集合。在設計新型CPU時,硬體商需要依照該CPU所要搭載指令集來設計相關的硬體電路以確保該CPU的相容性。在沒有指令集以前換一個電腦型號就要重新編寫軟體,有了指令集以後只要是遵循同個指令集設計的電腦,軟體能直接用在新的硬體上。
指令集可以分為複雜指令集(CISC)和精簡指令集(RISC)兩大類。
複雜指令集(CISC):
複雜指令集(Complex Instruction Set Computer)它允許單一指令執行多個低階操作,如從記憶體讀取、儲存以及計算等。這種架構的特點是指令數量多且複雜,每條指令的長度不一,使得電腦必須進行複雜的解碼過程。
特點:
1.單一指令能執行多個操作,開發速度快註1,軟體代碼較短較節省記憶體*註2。
2.有大量的指令和多樣的定址模式。
3.使用微程式控制。
4.擁有不同長度指令,解碼到效率較低。
例子:Motorola 68000、x86、IA-64
*註1:因為早期的軟體是由組合語言編寫 所以此優勢只有在用組合語言編寫軟體時才能感受到差異。
*註2:早期電腦的記憶體十分昂貴大概只有幾KB或幾MB,也因此CISC處理器在早期較受到青睞。
精簡指令集(RISC):
精簡指令集(Reduced Instruction Set Computer)的指令集較少,大約是相同位元數的一半。RISC架構通常具有固定長度的指令和較少的指令類型,這使得硬體設計更為簡單,並且能夠更容易地實現指令的流水線處理。
特點:
1.硬體電路較為簡單。
2.指令長度固定,解碼效率較高。
3.所有運算都在暫存器中處理。
4.使用硬體電路控制。
例子:IBM POWER、ARM、RISC-V、MIPS