CPU的處理技術(shù)有哪些
CPU的處理技術(shù)有哪些
CPU,被稱為中央處理器,那么一定就是處理各種數(shù)據(jù)操作的,那么,CPU處理那么龐大的數(shù)據(jù),采用了哪些技術(shù)呢?學(xué)習(xí)啦小編帶你了解CPU的處理技術(shù)。
多線程
同時(shí)多線程Simultaneous Multithreading,簡(jiǎn)稱SMT。SMT可通過(guò)復(fù)制處理器上的結(jié)構(gòu)狀態(tài),讓同一個(gè)處理器上的多個(gè)線程同步執(zhí)行并共享處理器的執(zhí)行資源,可最大限度地實(shí)現(xiàn)寬發(fā)射、亂序的超標(biāo)量處理,提高處理器運(yùn)算部件的利用率,緩和由于數(shù)據(jù)相關(guān)或Cache未命中帶來(lái)的訪問(wèn)內(nèi)存延時(shí)。當(dāng)沒(méi)有多個(gè)線程可用時(shí),SMT處理器幾乎和傳統(tǒng)的寬發(fā)射超標(biāo)量處理器一樣。SMT最具吸引力的是只需小規(guī)模改變處理器核心的設(shè)計(jì),幾乎不用增加額外的成本就可以顯著地提升效能。多線程技術(shù)則可以為高速的運(yùn)算核心準(zhǔn)備更多的待處理數(shù)據(jù),減少運(yùn)算核心的閑置時(shí)間。這對(duì)于桌面低端系統(tǒng)來(lái)說(shuō)無(wú)疑十分具有吸引力。Intel從3.06GHz Pentium 4開(kāi)始,部分處理器將支持SMT技術(shù)。
多核心
多核心,也指單芯片多處理器(Chip Multiprocessors,簡(jiǎn)稱CMP)。CMP是由美國(guó)斯坦福大學(xué)提出的,其思想是將大規(guī)模并行處理器中的SMP(對(duì)稱多處理器)集成到同一芯片內(nèi),各個(gè)處理器并行執(zhí)行不同的進(jìn)程。這種依靠多個(gè)CPU同時(shí)并行地運(yùn)行程序是實(shí)現(xiàn)超高速計(jì)算的一個(gè)重要方向,稱為并行處理。與CMP比較,SMT處理器結(jié)構(gòu)的靈活性比較突出。但是,當(dāng)半導(dǎo)體工藝進(jìn)入0.18微米以后,線延時(shí)已經(jīng)超過(guò)了門延遲,要求微處理器的設(shè)計(jì)通過(guò)劃分許多規(guī)模更小、局部性更好的基本單元結(jié)構(gòu)來(lái)進(jìn)行。相比之下,由于CMP結(jié)構(gòu)已經(jīng)被劃分成多個(gè)處理器核來(lái)設(shè)計(jì),每個(gè)核都比較簡(jiǎn)單,有利于優(yōu)化設(shè)計(jì),因此更有發(fā)展前途。IBM 的Power 4芯片和Sun的MAJC5200芯片都采用了CMP結(jié)構(gòu)。多核處理器可以在處理器內(nèi)部共享緩存,提高緩存利用率,同時(shí)簡(jiǎn)化多處理器系統(tǒng)設(shè)計(jì)的復(fù)雜度。但這并不是說(shuō)明,核心越多,性能越高,比如說(shuō)16核的CPU就沒(méi)有8核的CPU運(yùn)算速度快,因?yàn)楹诵奶?,而不能合理進(jìn)行分配,所以導(dǎo)致運(yùn)算速度減慢。在買電腦時(shí)請(qǐng)酌情選擇。2005年下半年,Intel和AMD的新型處理器也將融入CMP結(jié)構(gòu)。新安騰處理器開(kāi)發(fā)代碼為Montecito,采用雙核心設(shè)計(jì),擁有最少18MB片內(nèi)緩存,采取90nm工藝制造。它的每個(gè)單獨(dú)的核心都擁有獨(dú)立的L1,L2和L3 cache,包含大約10億支晶體管。
SMP
SMP(Symmetric Multi-Processing),對(duì)稱多處理結(jié)構(gòu)的簡(jiǎn)稱,是指在一個(gè)計(jì)算機(jī)上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。在這種技術(shù)的支持下,一個(gè)服務(wù)器系統(tǒng)可以同時(shí)運(yùn)行多個(gè)處理器,并共享內(nèi)存和其他的主機(jī)資源。像雙至強(qiáng),也就是所說(shuō)的二路,這是在對(duì)稱處理器系統(tǒng)中最常見(jiàn)的一種(至強(qiáng)MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少數(shù)是16路的。但是一般來(lái)講,SMP結(jié)構(gòu)的機(jī)器可擴(kuò)展性較差,很難做到100個(gè)以上多處理器,常規(guī)的一般是8個(gè)到16個(gè),不過(guò)這對(duì)于多數(shù)的用戶來(lái)說(shuō)已經(jīng)夠用了。在高性能服務(wù)器和工作站級(jí)主板架構(gòu)中最為常見(jiàn),像UNIX服務(wù)器可支持最多256個(gè)CPU的系統(tǒng)。
構(gòu)建一套SMP系統(tǒng)的必要條件是:支持SMP的硬件包括主板和CPU;支持SMP的系統(tǒng)平臺(tái),再就是支持SMP的應(yīng)用軟件。為了能夠使得SMP系統(tǒng)發(fā)揮高效的性能,操作系統(tǒng)必須支持SMP系統(tǒng),如WINNT、LINUX、以及UNIX等等32位操作系統(tǒng)。即能夠進(jìn)行多任務(wù)和多線程處理。多任務(wù)是指操作系統(tǒng)能夠在同一時(shí)間讓不同的CPU完成不同的任務(wù);多線程是指操作系統(tǒng)能夠使得不同的CPU并行的完成同一個(gè)任務(wù)。
要組建SMP系統(tǒng),對(duì)所選的CPU有很高的要求,首先、CPU內(nèi)部必須內(nèi)置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規(guī)范的核心就是高級(jí)可編程中斷控制器(Advanced Programmable Interrupt Controllers–APICs)的使用;再次,相同的產(chǎn)品型號(hào),同樣類型的CPU核心,完全相同的運(yùn)行頻率;最后,盡可能保持相同的產(chǎn)品序列編號(hào),因?yàn)閮蓚€(gè)生產(chǎn)批次的CPU作為雙處理器運(yùn)行的時(shí)候,有可能會(huì)發(fā)生一顆CPU負(fù)擔(dān)過(guò)高,而另一顆負(fù)擔(dān)很少的情況,無(wú)法發(fā)揮最大性能,更糟糕的是可能導(dǎo)致死機(jī)。
NUMA技術(shù)
NUMA即非一致訪問(wèn)分布共享存儲(chǔ)技術(shù),它是由若干通過(guò)高速專用網(wǎng)絡(luò)連接起來(lái)的獨(dú)立節(jié)點(diǎn)構(gòu)成的系統(tǒng),各個(gè)節(jié)點(diǎn)可以是單個(gè)的CPU或是SMP系統(tǒng)。在NUMA中,Cache 的一致性有多種解決方案,一般采用硬件技術(shù)實(shí)現(xiàn)對(duì)cache的一致性維護(hù),通常需要操作系統(tǒng)針對(duì)NUMA訪存不一致的特性(本地內(nèi)存和遠(yuǎn)端內(nèi)存訪存延遲和帶寬的不同)進(jìn)行特殊優(yōu)化以提高效率,或采用特殊軟件編程方法提高效率。NUMA系統(tǒng)的例子。這里有3個(gè)SMP模塊用高速專用網(wǎng)絡(luò)聯(lián)起來(lái),組成一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可以有12個(gè)CPU。像Sequent的系統(tǒng)最多可以達(dá)到64個(gè)CPU甚至256個(gè)CPU。顯然,這是在SMP的基礎(chǔ)上,再用NUMA的技術(shù)加以擴(kuò)展,是這兩種技術(shù)的結(jié)合。
亂序執(zhí)行
亂序執(zhí)行(out-of-orderexecution),是指CPU允許將多條指令不按程序規(guī)定的順序分開(kāi)發(fā)送給各相應(yīng)電路單元處理的技術(shù)。這樣將根據(jù)個(gè)電路單元的狀態(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)算時(shí)需要等待結(jié)果,一般無(wú)條件分枝只需要按指令順序執(zhí)行,而條件分枝必須根據(jù)處理后的結(jié)果,再?zèng)Q定是否按原先順序進(jìn)行。
控制器
許多應(yīng)用程序擁有更為復(fù)雜的讀取模式(幾乎是隨機(jī)地,特別是當(dāng)cache hit不可預(yù)測(cè)的時(shí)候),并且沒(méi)有有效地利用帶寬。典型的這類應(yīng)用程序就是業(yè)務(wù)處理軟件,即使擁有如亂序執(zhí)行(out of order execution)這樣的CPU特性,也會(huì)受內(nèi)存延遲的限制。這樣CPU必須得等到運(yùn)算所需數(shù)據(jù)被除數(shù)裝載完成才能執(zhí)行指令(無(wú)論這些數(shù)據(jù)來(lái)自CPU cache還是主內(nèi)存系統(tǒng))。當(dāng)前低段系統(tǒng)的內(nèi)存延遲大約是120-150ns,而CPU速度則達(dá)到了4GHz以上,一次單獨(dú)的內(nèi)存請(qǐng)求可能會(huì)浪費(fèi)200-300次CPU循環(huán)。即使在緩存命中率(cache hit rate)達(dá)到99.9%的情況下,CPU也可能會(huì)花50%的時(shí)間來(lái)等待內(nèi)存請(qǐng)求的結(jié)束-比如因?yàn)閮?nèi)存延遲的緣故。
在處理器內(nèi)部整合內(nèi)存控制器,使得北橋芯片將變得不那么重要,改變了處理器訪問(wèn)主存的方式,有助于提高帶寬、降低內(nèi)存延時(shí)和提升處理器性制造工藝:Intel的I5可以達(dá)到28納米,在將來(lái)的CPU制造工藝可以達(dá)到22納米。