cpu指令集有什么用
cpu指令集有什么用
CPU作為電腦的核心組成部份,它的好壞直接影響到電腦的性能。下面是學(xué)習(xí)啦小編帶來(lái)的關(guān)于cpu指令集有什么用的內(nèi)容,歡迎閱讀!
cpu指令集有什么用:
CISC指令集,也稱為復(fù)雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫)。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個(gè)操作也是按順序串行執(zhí)行的。順序執(zhí)行的優(yōu)點(diǎn)是控制簡(jiǎn)單,但計(jì)算機(jī)各部分的利用率不高,執(zhí)行速度慢。其實(shí)它是英特爾生產(chǎn)的x86系列(也就是IA-32架構(gòu))CPU及其兼容CPU,如AMD、VIA的。即使是現(xiàn)在新起的X86-64(也被成AMD64)都是屬于CISC的范疇。
要知道什么是指令集還要從當(dāng)今的X86架構(gòu)的CPU說(shuō)起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發(fā)的,IBM1981年推出的世界第一臺(tái)PC機(jī)中的CPU—i8088(i8086簡(jiǎn)化版)使用的也是X86指令,同時(shí)電腦中為提高浮點(diǎn)數(shù)據(jù)處理能力而增加了X87芯片,以后就將X86指令集和X87指令集統(tǒng)稱為X86指令集。
雖然隨著CPU技術(shù)的不斷發(fā)展,Intel陸續(xù)研制出更新型的i80386、i80486直到過(guò)去的PII至強(qiáng)、PIII至強(qiáng)、Pentium 3,最后到今天的Pentium 4系列、至強(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 ” 的縮寫,中文意思是“精簡(jiǎn)指令集”。它是在CISC指令系統(tǒng)基礎(chǔ)上發(fā)展起來(lái)的,有人對(duì)CISC機(jī)進(jìn)行測(cè)試表明,各種指令的使用頻度相當(dāng)懸殊,最常使用的是一些比較簡(jiǎn)單的指令,它們僅占指令總數(shù)的20%,但在程序中出現(xiàn)的頻度卻占80%。
復(fù)雜的指令系統(tǒng)必然增加微處理器的復(fù)雜性,使處理器的研制時(shí)間長(zhǎng),成本高。并且復(fù)雜指令需要復(fù)雜的操作,必然會(huì)降低計(jì)算機(jī)的速度?;谏鲜鲈颍?0世紀(jì)80年代RISC型CPU誕生了,相對(duì)于CISC型CPU ,RISC型CPU不僅精簡(jiǎn)了指令系統(tǒng),還采用了一種叫做“超標(biāo)量和超流水線結(jié)構(gòu)”,大大增加了并行處理能力。RISC指令集是高性能CPU的發(fā)展方向。它與傳統(tǒng)的CISC(復(fù)雜指令集)相對(duì)。相比而言,RISC的指令格式統(tǒng)一,種類比較少,尋址方式也比復(fù)雜指令集少。當(dāng)然處理速度就提高很多了。目前在中高檔服務(wù)器中普遍采用這一指令系統(tǒng)的CPU,特別是高檔服務(wù)器全都采用RISC指令系統(tǒng)的CPU。RISC指令系統(tǒng)更加適合高檔服務(wù)器的操作系統(tǒng)UNIX,現(xiàn)在Linux也屬于類似UNIX的操作系統(tǒng)。RISC型CPU與Intel和AMD的CPU在軟件和硬件上都不兼容。
目前,在中高檔服務(wù)器中采用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。(3)IA-64。
EPIC(Explicitly Parallel Instruction Computers,精確并行指令計(jì)算機(jī))是否是RISC和CISC體系的繼承者的爭(zhēng)論已經(jīng)有很多,單以EPIC體系來(lái)說(shuō),它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說(shuō),EPIC體系設(shè)計(jì)的CPU,在相同的主機(jī)配置下,處理Windows的應(yīng)用軟件比基于Unix下的應(yīng)用軟件要好得多。 Intel采用EPIC技術(shù)的服務(wù)器CPU是安騰Itanium(開發(fā)代號(hào)即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開發(fā)了代號(hào)為Win64的操作系統(tǒng),在軟件上加以支持。在Intel采用了X86指令集之后,它又轉(zhuǎn)而尋求更先進(jìn)的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構(gòu),從而引入精力充沛而又功能強(qiáng)大的指令集,于是采用EPIC指令集的IA-64架構(gòu)便誕生了。IA-64 在很多方面來(lái)說(shuō),都比x86有了長(zhǎng)足的進(jìn)步。突破了傳統(tǒng)IA32架構(gòu)的許多限制,在數(shù)據(jù)的處理能力,系統(tǒng)的穩(wěn)定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。
IA-64微處理器最大的缺陷是它們?nèi)狈εcx86的兼容,而Intel為了IA-64處理器能夠更好地運(yùn)行兩個(gè)朝代的軟件,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個(gè)解碼器并不是最有效率的解碼器,也不是運(yùn)行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運(yùn)行x86代碼),因此Itanium 和Itanium2在運(yùn)行x86應(yīng)用程序時(shí)候的性能非常糟糕。這也成為X86-64產(chǎn)生的根本原因。 (4)X86-64 (AMD64 / EM64T)
AMD公司設(shè)計(jì),可以在同一時(shí)間內(nèi)處理64位的整數(shù)運(yùn)算,并兼容于X86-32架構(gòu)。其中支持64位邏輯定址,同時(shí)提供轉(zhuǎn)換為32位定址選項(xiàng);但數(shù)據(jù)操作指令默認(rèn)為32位和8位,提供轉(zhuǎn)換成64位和16位的選項(xiàng);支持常規(guī)用途寄存器,如果是32位運(yùn)算操作,就要將結(jié)果擴(kuò)展成完整的64位。這樣,指令中有“直接執(zhí)行”和“轉(zhuǎn)換執(zhí)行”的區(qū)別,其指令字段是8位或32位,可以避免字段過(guò)長(zhǎng)。
x86-64(也叫AMD64)的產(chǎn)生也并非空穴來(lái)風(fēng),x86處理器的32bit尋址空間限制在4GB內(nèi)存,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強(qiáng)x86指令集的功能,使這套指令集可同時(shí)支持64位的運(yùn)算模式,因此AMD把它們的結(jié)構(gòu)稱之為x86-64。
在技術(shù)上AMD在x86-64架構(gòu)中為了進(jìn)行64位運(yùn)算,AMD為其引入了新增了R8-R15通用寄存器作為原有X86處理器寄存器的擴(kuò)充,但在而在32位環(huán)境下并不完全使用到這些寄存器。原來(lái)的寄存器諸如EAX、EBX也由32位擴(kuò)張至64位。在SSE單元中新加入了8個(gè)新寄存器以提供對(duì)SSE2的支持。
寄存器數(shù)量的增加將帶來(lái)性能的提升。與此同時(shí),為了同時(shí)支持32和64位代碼及寄存器,x86-64架構(gòu)允許處理器工作在以下兩種模式:Long Mode(長(zhǎng)模式)和Legacy Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility mode兼容模式)。該標(biāo)準(zhǔn)已經(jīng)被引進(jìn)在AMD服務(wù)器處理器中的Opteron處理器。
而今年也推出了支持64位的EM64T技術(shù),再還沒(méi)被正式命為EM64T之前是IA32E,這是英特爾64位擴(kuò)展技術(shù)的名字,用來(lái)區(qū)別X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技術(shù)類似,采用64位的線性平面尋址,加入8個(gè)新的通用寄存器(GPRs),還增加8個(gè)寄存器支持SSE指令。
與AMD相類似,Intel的64位技術(shù)將兼容IA32和IA32E,只有在運(yùn)行64位操作系統(tǒng)下的時(shí)候,才將會(huì)采用IA32E。IA32E將由2個(gè)sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的X86-64技術(shù)?,F(xiàn)在Nocona處理器已經(jīng)加入了一些64位技術(shù),Intel的Pentium 4E處理器也支持64位技術(shù)。
應(yīng)該說(shuō),這兩者都是兼容x86指令集的64位微處理器架構(gòu),但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒(méi)有提供。
看了cpu指令集有什么用文章內(nèi)容的人還看:
1.cpu有什么功能
5.什么是CPU