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