CPU指令集有哪些分類
CPU指令集有哪些分類
CPU依靠指令進行工作,指令集則是提高微處理效率的最有效工具之一,那么CPU指令集又分為哪幾種呢?學習啦小編在這里給大家介紹CPU指令集的分類。
CISC
CISC指令集,也稱為復雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫)。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個操作也是按順序串行執(zhí)行的。順序執(zhí)行的優(yōu)點是控制簡單,但計算機各部分的利用率不高,執(zhí)行速度慢。其實它是英特爾生產的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、VIA的。即使是新起的X86-64(也說成AMD64)都是屬于CISC的范疇。
要知道什么是指令集還要從當今的X86架構的CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發(fā)的,IBM1981年推出的世界第一臺PC機中的CPU-i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加了X87芯片,以后就將X86指令集和X87指令集統稱為X86指令集。
雖然隨著CPU技術的不斷發(fā)展,Intel陸續(xù)研制出更新型的i80386.i80486直到過去的PII至強、PIII至強、Pentium 3,Pentium 4系列,最后到今天的酷睿2系列、至強(不包括至強Nocona),但為了保證電腦能繼續(xù)運行以往開發(fā)的各類應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產的所有CPU仍然繼續(xù)使用X86指令集,所以它的CPU仍屬于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU主要有intel的服務器CPU和AMD的服務器CPU兩類。
RISC
RISC是英文“Reduced Instruction Set Computing ”的縮寫,中文意思是“精簡指令集”。他是由John Cocke(約翰·科克)提出的,John Cocke在IBM公司從事的第一個項目是研究Stretch計算機(世界上第一個“超級計算機”型號),他很快成為大型機專家。1974年,Cocke和他領導的研究小組開始嘗試研發(fā)每秒能夠處理300線呼叫的電話交換網絡。為了實現這個目標,他不得不尋找一種辦法來提高交換系統已有架構的交換率。1975年,John Cocke研究了IBM370 CISC(Complex Instruction Set Computing,復雜指令集計算)系統,對CISC機進行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數的20%,但在程序中出現的頻度卻占80%。復雜的指令系統必然增加微處理器的復雜性,使處理器的研制時間長,成本高。并且復雜指令需要復雜的操作,必然會降低計算機的速度?;谏鲜鲈?,20世紀80年代RISC型CPU誕生了,相對于CISC型CPU,RISC型CPU不僅精簡了指令系統,還采用了一種叫做“超標量和超流水線結構”,大大增加了并行處理能力。RISC指令集是高性能CPU的發(fā)展方向。它與傳統的CISC(復雜指令集)相對。相比而言,RISC的指令格式統一,種類比較少,尋址方式也比復雜指令集少。當然處理速度就提高很多了。在中高檔服務器中普遍采用這一指令系統的CPU,特別是高檔服務器全都采用RISC指令系統的CPU。RISC指令系統更加適合高檔服務器的操作系統Windows 7,Linux也屬于類似Windows OS(UNIX)的操作系統。RISC型CPU與Intel和AMD的CPU在軟件和硬件上都不兼容。
在中高檔服務器中采用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。
IA-64
EPIC(Explicitly Parallel Instruction Computers,精確并行指令計算機)是否是RISC和CISC體系的繼承者的爭論已經有很多,單以EPIC體系來說,它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說,EPIC體系設計的CPU,在相同的主機配置下,處理Windows的應用軟件比基于Unix下的應用軟件要好得多。
Intel采用EPIC技術的服務器CPU是安騰Itanium(開發(fā)代號即Merced)。它是86位處理器,也是IA-64系列中的第一款。微軟也已開發(fā)了代號為Win64的操作系統,在軟件上加以支持。在Intel采用了X86指令集之后,它又轉而尋求更先進的86-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構,從而引入精力充沛而又功能強大的指令集,于是采用EPIC指令集的IA-64(x92)架構便誕生了。IA-64 (x92)在很多方面來說,都比x86有了長足的進步。突破了傳統IA32架構的許多限制,在數據的處理能力,系統的穩(wěn)定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。
IA-64微處理器最大的缺陷是它們缺乏與x86的兼容,而Intel為了IA-64處理器能夠更好地運行兩個朝代的軟件,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個解碼器并不是最有效率的解碼器,也不是運行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運行x86代碼),因此Itanium 和Itanium2在運行x86應用程序時候的性能非常糟糕。這也成為X86-64產生的根本原因。