CPU擴(kuò)展指令集
CPU依靠指令來自計(jì)算和控制系統(tǒng),每款CPU在設(shè)計(jì)時就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令的強(qiáng)弱也是CPU的重要指標(biāo),指令集是提高微處理器效率的最有效工具之一。從現(xiàn)階段的主流體系結(jié)構(gòu)講,指令集可分為復(fù)雜指令集和精簡指令集兩部分(指令集共有四個種類),而從具體運(yùn)用看,如Intel的MMX(MultiMediaExtended,此為AMD猜測的全稱,Intel并沒有說明詞源)、SSE、SSE2(Streaming-Singleinstructionmultipledata-Extensions2)、SSE3、SSE4系列和AMD的3DNow!等都是CPU的擴(kuò)展指令集,分別增強(qiáng)了CPU的多媒體、圖形圖象和Internet等的處理能力。通常會把CPU的擴(kuò)展指令集稱為”CPU的指令集”。SSE3指令集也是目前規(guī)模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE4也是最先進(jìn)的指令集,英特爾酷睿系列處理器已經(jīng)支持SSE4指令集,AMD會在未來雙核心處理器當(dāng)中加入對SSE4指令集的支持,全美達(dá)的處理器也將支持這一指令集。
CPU內(nèi)核和I/O工作電壓
從586CPU開始,CPU的工作電壓分為內(nèi)核電壓和I/O電壓兩種,通常CPU的核心電壓小于等于I/O電壓。其中內(nèi)核電壓的大小是根據(jù)CPU的生產(chǎn)工藝而定,一般制作工藝越小,內(nèi)核工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過大和發(fā)熱過高的問題。
制造工藝
制造工藝的微米是指IC內(nèi)電路與電路之間的距離。制造工藝的趨勢是向密集度愈高的方向發(fā)展。密度愈高的IC電路設(shè)計(jì),意味著在同樣大小面積的IC中,可以擁有密度更高、功能更復(fù)雜的電路設(shè)計(jì)?,F(xiàn)在主要的180nm、130nm、90nm、65nm、45納米。最近inter已經(jīng)有32納米的制造工藝的酷睿i3/i5系列了。
而AMD則表示、自己的產(chǎn)品將會直接跳過32nm工藝(2010年第三季度生產(chǎn)少許32nm產(chǎn)品、如Orochi、Llano)于2011年中期初發(fā)布28nm的產(chǎn)品(名稱未定)
指令集
(1)CISC指令集
CISC指令集,也稱為復(fù)雜指令集,英文名是CISC,(ComplexInstructionSetComputer的縮寫)。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個操作也是按順序串行執(zhí)行的。順序執(zhí)行的優(yōu)點(diǎ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說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發(fā)的,IBM1981年推出的世界第一臺PC機(jī)中的CPU-i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點(diǎn)數(shù)據(jù)處理能力而增加了X87芯片,以后就將X86指令集和X87指令集統(tǒng)稱為X86指令集。
雖然隨著CPU技術(shù)的不斷發(fā)展,Intel陸續(xù)研制出更新型的i80386、i80486直到過去的PII至強(qiáng)、PIII至強(qiáng)、Pentium3,Pentium4系列,最后到今天的酷睿2系列、至強(qiáng)(不包括至強(qiáng)Nocona),但為了保證電腦能繼續(xù)運(yùn)行以往開發(fā)的各類應(yīng)用程序以保護(hù)和繼承豐富的軟件資源,所以Intel公司所生產(chǎn)的所有CPU仍然繼續(xù)使用X86指令集,所以它的CPU仍屬于X86系列。由于IntelX86系列及其兼容CPU(如AMDAthlonMP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU目前主要有intel的服務(wù)器CPU和AMD的服務(wù)器CPU兩類。
(2)RISC指令集
RISC是英文“ReducedInstructionSetComputing”的縮寫,中文意思是“精簡指令集”。它是在CISC指令系統(tǒng)基礎(chǔ)上發(fā)展起來的,有人對CISC機(jī)進(jìn)行測試表明,各種指令的使用頻度相當(dāng)懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數(shù)的20%,但在程序中出現(xiàn)的頻度卻占80%。復(fù)雜的指令系統(tǒng)必然增加微處理器的復(fù)雜性,使處理器的研制時間長,成本高。并且復(fù)雜指令需要復(fù)雜的操作,必然會降低計(jì)算機(jī)的速度?;谏鲜鲈颍?0世紀(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)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(ExplicitlyParallelInstructionComputers,精確并行指令計(jì)算機(jī))是否是RISC和CISC體系的繼承者的爭論已經(jīng)有很多,單以EPIC體系來說,它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說,EPIC體系設(shè)計(jì)的CPU,在相同的主機(jī)配置下,處理Windows的應(yīng)用軟件比基于Unix下的應(yīng)用軟件要好得多。
Intel采用EPIC技術(shù)的服務(wù)器CPU是安騰Itanium(開發(fā)代號即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開發(fā)了代號為Win64的操作系統(tǒng),在軟件上加以支持。在Intel采用了X86指令集之后,它又轉(zhuǎn)而尋求更先進(jìn)的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構(gòu),從而引入精力充沛而又功能強(qiáng)大的指令集,于是采用EPIC指令集的IA-64架構(gòu)便誕生了。IA-64在很多方面來說,都比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)生的根本原因。
(4)X86-64(AMD64/EM64T)
AMD公司設(shè)計(jì),可以在同一時間內(nèi)處理64位的整數(shù)運(yùn)算,并兼容于X86-32架構(gòu)。其中支持64位邏輯定址,同時提供轉(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位,可以避免字段過長。
x86-64(也叫AMD64)的產(chǎn)生也并非空穴來風(fēng),x86處理器的32bit尋址空間限制在4GB內(nèi)存,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強(qiáng)x86指令集的功能,使這套指令集可同時支持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)境下并不完全使用到這些寄存器。原來的寄存器諸如EAX、EBX也由32位擴(kuò)張至64位。在SSE單元中新加入了8個新寄存器以提供對SSE2的支持。寄存器數(shù)量的增加將帶來性能的提升。與此同時,為了同時支持32和64位代碼及寄存器,x86-64架構(gòu)允許處理器工作在以下兩種模式:LongMode(長模式)和LegacyMode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibilitymode兼容模式)。該標(biāo)準(zhǔn)已經(jīng)被引進(jìn)在AMD服務(wù)器處理器中的Opteron處理器。
而今年也推出了支持64位的EM64T技術(shù),再還沒被正式命為EM64T之前是IA32E,這是英特爾64位擴(kuò)展技術(shù)的名字,用來區(qū)別X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技術(shù)類似,采用64位的線性平面尋址,加入8個新的通用寄存器(GPRs),還增加8個寄存器支持SSE指令。與AMD相類似,Intel的64位技術(shù)將兼容IA32和IA32E,只有在運(yùn)行64位操作系統(tǒng)下的時候,才將會采用IA32E。IA32E將由2個sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的X86-64技術(shù)?,F(xiàn)在Nocona處理器已經(jīng)加入了一些64位技術(shù),Intel的Pentium4E處理器也支持64位技術(shù)。
應(yīng)該說,這兩者都是兼容x86指令集的64位微處理器架構(gòu),但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒有提供。
超流水線與超標(biāo)量
在解釋超流水線與超標(biāo)量前,先了解流水線(Pipeline)。流水線是Intel首次在486芯片中開始使用的。流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5-6個不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5-6步后再由這些電路單元分別執(zhí)行,這樣就能實(shí)現(xiàn)在一個CPU時鐘周期完成一條指令,因此提高CPU的運(yùn)算速度。經(jīng)典奔騰每條整數(shù)流水線都分為四級流水,即指令預(yù)取、譯碼、執(zhí)行、寫回結(jié)果,浮點(diǎn)流水又分為八級流水。
超標(biāo)量是通過內(nèi)置多條流水線來同時執(zhí)行多個處理器,其實(shí)質(zhì)是以空間換取時間。而超流水線是通過細(xì)化流水、提高主頻,使得在一個機(jī)器周期內(nèi)完成一個甚至多個操作,其實(shí)質(zhì)是以時間換取空間。例如Pentium4的流水線就長達(dá)20級。將流水線設(shè)計(jì)的步(級)越長,其完成一條指令的速度越快,因此才能適應(yīng)工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會出現(xiàn)主頻較高的CPU實(shí)際運(yùn)算速度較低的現(xiàn)象,Intel的奔騰4就出現(xiàn)了這種情況,雖然它的主頻可以高達(dá)1.4G以上,但其運(yùn)算性能卻遠(yuǎn)遠(yuǎn)比不上AMD1.2G的速龍甚至奔騰III。
封裝形式
CPU封裝是采用特定的材料將CPU芯片或CPU模塊固化在其中以防損壞的保護(hù)措施,一般必須在封裝后CPU才能交付用戶使用。CPU的封裝方式取決于CPU安裝形式和器件集成設(shè)計(jì),從大的分類來看通常采用Socket插座進(jìn)行安裝的CPU使用PGA(柵格陣列)方式封裝,而采用Slotx槽安裝的CPU則全部采用SEC(單邊接插盒)的形式封裝。現(xiàn)在還有PLGA(PlasticLandGridArray)、OLGA(OrganicLandGridArray)等封裝技術(shù)。由于市場競爭日益激烈,目前CPU封裝技術(shù)的發(fā)展方向以節(jié)約成本為主。
多線程
同時多線程SimultaneousMultithreading,簡稱SMT。SMT可通過復(fù)制處理器上的結(jié)構(gòu)狀態(tài),讓同一個處理器上的多個線程同步執(zhí)行并共享處理器的執(zhí)行資源,可最大限度地實(shí)現(xiàn)寬發(fā)射、亂序的超標(biāo)量處理,提高處理器運(yùn)算部件的利用率,緩和由于數(shù)據(jù)相關(guān)或Cache未命中帶來的訪問內(nèi)存延時。當(dāng)沒有多個線程可用時,SMT處理器幾乎和傳統(tǒng)的寬發(fā)射超標(biāo)量處理器一樣。SMT最具吸引力的是只需小規(guī)模改變處理器核心的設(shè)計(jì),幾乎不用增加額外的成本就可以顯著地提升效能。多線程技術(shù)則可以為高速的運(yùn)算核心準(zhǔn)備更多的待處理數(shù)據(jù),減少運(yùn)算核心的閑置時間。這對于桌面低端系統(tǒng)來說無疑十分具有吸引力。Intel從3.06GHzPentium4開始,所有處理器都將支持SMT技術(shù)。
多核心
多核心,也指單芯片多處理器(ChipMultiprocessors,簡稱CMP)。CMP是由美國斯坦福大學(xué)提出的,其思想是將大規(guī)模并行處理器中的SMP(對稱多處理器)集成到同一芯片內(nèi),各個處理器并行執(zhí)行不同的進(jìn)程。與CMP比較,SMT處理器結(jié)構(gòu)的靈活性比較突出。但是,當(dāng)半導(dǎo)體工藝進(jìn)入0.18微米以后,線延時已經(jīng)超過了門延遲,要求微處理器的設(shè)計(jì)通過劃分許多規(guī)模更小、局部性更好的基本單元結(jié)構(gòu)來進(jìn)行。相比之下,由于CMP結(jié)構(gòu)已經(jīng)被劃分成多個處理器核來設(shè)計(jì),每個核都比較簡單,有利于優(yōu)化設(shè)計(jì),因此更有發(fā)展前途。目前,IBM的Power4芯片和Sun的MAJC5200芯片都采用了CMP結(jié)構(gòu)。多核處理器可以在處理器內(nèi)部共享緩存,提高緩存利用率,同時簡化多處理器系統(tǒng)設(shè)計(jì)的復(fù)雜度。
2005年下半年,Intel和AMD的新型處理器也將融入CMP結(jié)構(gòu)。新安騰處理器開發(fā)代碼為Montecito,采用雙核心設(shè)計(jì),擁有最少18MB片內(nèi)緩存,采取90nm工藝制造,它的設(shè)計(jì)絕對稱得上是對當(dāng)今芯片業(yè)的挑戰(zhàn)。它的每個單獨(dú)的核心都擁有獨(dú)立的L1,L2和L3cache,包含大約10億支晶體管。
SMP
SMP(SymmetricMulti-Processing),對稱多處理結(jié)構(gòu)的簡稱,是指在一個計(jì)算機(jī)上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。在這種技術(shù)的支持下,一個服務(wù)器系統(tǒng)可以同時運(yùn)行多個處理器,并共享內(nèi)存和其他的主機(jī)資源。像雙至強(qiáng),也就是所說的二路,這是在對稱處理器系統(tǒng)中最常見的一種(至強(qiáng)MP可以支持到四路,AMDOpteron可以支持1-8路)。也有少數(shù)是16路的。但是一般來講,SMP結(jié)構(gòu)的機(jī)器可擴(kuò)展性較差,很難做到100個以上多處理器,常規(guī)的一般是8個到16個,不過這對于多數(shù)的用戶來說已經(jīng)夠用了。在高性能服務(wù)器和工作站級主板架構(gòu)中最為常見,像UNIX服務(wù)器可支持最多256個CPU的系統(tǒng)。
構(gòu)建一套SMP系統(tǒng)的必要條件是:支持SMP的硬件包括主板和CPU;支持SMP的系統(tǒng)平臺,再就是支持SMP的應(yīng)用軟件。為了能夠使得SMP系統(tǒng)發(fā)揮高效的性能,操作系統(tǒng)必須支持SMP系統(tǒng),如WINNT、LINUX、以及UNIX等等32位操作系統(tǒng)。即能夠進(jìn)行多任務(wù)和多線程處理。多任務(wù)是指操作系統(tǒng)能夠在同一時間讓不同的CPU完成不同的任務(wù);多線程是指操作系統(tǒng)能夠使得不同的CPU并行的完成同一個任務(wù)。
要組建SMP系統(tǒng),對所選的CPU有很高的要求,首先、CPU內(nèi)部必須內(nèi)置APIC(AdvancedProgrammableInterruptControllers)單元。Intel多處理規(guī)范的核心就是高級可編程中斷控制器(AdvancedProgrammableInterruptControllers–APICs)的使用;再次,相同的產(chǎn)品型號,同樣類型的CPU核心,完全相同的運(yùn)行頻率;最后,盡可能保持相同的產(chǎn)品序列編號,因?yàn)閮蓚€生產(chǎn)批次的CPU作為雙處理器運(yùn)行的時候,有可能會發(fā)生一顆CPU負(fù)擔(dān)過高,而另一顆負(fù)擔(dān)很少的情況,無法發(fā)揮最大性能,更糟糕的是可能導(dǎo)致死機(jī)。
NUMA技術(shù)
NUMA即非一致訪問分布共享存儲技術(shù),它是由若干通過高速專用網(wǎng)絡(luò)連接起來的獨(dú)立節(jié)點(diǎn)構(gòu)成的系統(tǒng),各個節(jié)點(diǎn)可以是單個的CPU或是SMP系統(tǒng)。在NUMA中,Cache的一致性有多種解決方案,需要操作系統(tǒng)和特殊軟件的支持。圖2中是Sequent公司NUMA系統(tǒng)的例子。這里有3個SMP模塊用高速專用網(wǎng)絡(luò)聯(lián)起來,組成一個節(jié)點(diǎn),每個節(jié)點(diǎn)可以有12個CPU。像Sequent的系統(tǒng)最多可以達(dá)到64個CPU甚至256個CPU。顯然,這是在SMP的基礎(chǔ)上,再用NUMA的技術(shù)加以擴(kuò)展,是這兩種技術(shù)的結(jié)合。
亂序執(zhí)行技術(shù)
亂序執(zhí)行(out-of-orderexecution),是指CPU允許將多條指令不按程序規(guī)定的順序分開發(fā)送給各相應(yīng)電路單元處理的技術(shù)。這樣將根據(jù)個電路單元的狀態(tài)和各指令能否提前執(zhí)行的具體情況分析后,將能提前執(zhí)行的指令立即發(fā)送給相應(yīng)電路單元執(zhí)行,在這期間不按規(guī)定順序執(zhí)行指令,然后由重新排列單元將各執(zhí)行單元結(jié)果按指令順序重新排列。采用亂序執(zhí)行技術(shù)的目的是為了使CPU內(nèi)部電路滿負(fù)荷運(yùn)轉(zhuǎn)并相應(yīng)提高了CPU的運(yùn)行程序的速度。分枝技術(shù):(branch)指令進(jìn)行運(yùn)算時需要等待結(jié)果,一般無條件分枝只需要按指令順序執(zhí)行,而條件分枝必須根據(jù)處理后的結(jié)果,再決定是否按原先順序進(jìn)行。
CPU內(nèi)部的內(nèi)存控制器
許多應(yīng)用程序擁有更為復(fù)雜的讀取模式(幾乎是隨機(jī)地,特別是當(dāng)cachehit不可預(yù)測的時候),并且沒有有效地利用帶寬。典型的這類應(yīng)用程序就是業(yè)務(wù)處理軟件,即使擁有如亂序執(zhí)行(outoforderexecution)這樣的CPU特性,也會受內(nèi)存延遲的限制。這樣CPU必須得等到運(yùn)算所需數(shù)據(jù)被除數(shù)裝載完成才能執(zhí)行指令(無論這些數(shù)據(jù)來自CPUcache還是主內(nèi)存系統(tǒng))。當(dāng)前低段系統(tǒng)的內(nèi)存延遲大約是120-150ns,而CPU速度則達(dá)到了3GHz以上,一次單獨(dú)的內(nèi)存請求可能會浪費(fèi)200-300次CPU循環(huán)。即使在緩存命中率(cachehitrate)達(dá)到99%的情況下,CPU也可能會花50%的時間來等待內(nèi)存請求的結(jié)束-比如因?yàn)閮?nèi)存延遲的緣故。
你可以看到Opteron整合的內(nèi)存控制器,它的延遲,與芯片組支持雙通道DDR內(nèi)存控制器的延遲相比來說,是要低很多的。英特爾也按照計(jì)劃的那樣在處理器內(nèi)部整合內(nèi)存控制器,這樣導(dǎo)致北橋芯片將變得不那么重要。但改變了處理器訪問主存的方式,有助于提高帶寬、降低內(nèi)存延時和提升處理器性
制造工藝:現(xiàn)在CPU的制造工藝是45納米,今年1月10號上市最新的I5I可以達(dá)到32納米,在將來的CPU制造工藝可以達(dá)到24納米。
以上就是為大家對cpu做了個詳細(xì)的介紹,一般高端處理器在核心數(shù)與主頻等數(shù)值相對都比較高??赐暌陨蟽?nèi)容相信大家對cpu有了個比較全面的認(rèn)識。
評論
查看更多