1、多線程
同時(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ù)。
2、多核心
多核心,也指單芯片多處理器(Chip multiprocessors,簡(jiǎn)稱CMP)。CMP是由美國(guó)斯坦福大學(xué)提出的,其思想是將大規(guī)模并行處理器中的SMP(對(duì)稱多處理器)集成到同一芯片內(nèi),各個(gè)處理器并行執(zhí)行不同的進(jìn)程。與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ù)雜度。
2005年下半年,Intel和AMD的新型處理器也將融入CMP結(jié)構(gòu)。新安騰處理器開(kāi)發(fā)代碼為Montecito,采用雙核心設(shè)計(jì),擁有最少18MB片內(nèi)緩存,采取90nm工藝制造,它的設(shè)計(jì)絕對(duì)稱得上是對(duì)當(dāng)今芯片業(yè)的挑戰(zhàn)。它的每個(gè)單獨(dú)的核心都擁有獨(dú)立的L1,L2和L3 cache,包含大約10億支晶體管。
3、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ī)。
4、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 的一致性有多種解決方案,需要操作系統(tǒng)和特殊軟件的支持。圖2中是Sequent公司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é)合。
5、亂序執(zhí)行技術(shù)
亂序執(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)行。
6、CPU內(nèi)部的內(nèi)存控制器
許多應(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á)到了3GHz以上,一次單獨(dú)的內(nèi)存請(qǐng)求可能會(huì)浪費(fèi)200-300次CPU循環(huán)。即使在緩存命中率(cache hit rate)達(dá)到99%的情況下,CPU也可能會(huì)花50%的時(shí)間來(lái)等待內(nèi)存請(qǐng)求的結(jié)束- 比如因?yàn)閮?nèi)存延遲的緣故。
你可以看到Opteron整合的內(nèi)存控制器,它的延遲,與芯片組支持雙通道DDR內(nèi)存控制器的延遲相比來(lái)說(shuō),是要低很多的。英特爾也按照計(jì)劃的那樣在處理器內(nèi)部整合內(nèi)存控制器,這樣導(dǎo)致北橋芯片將變得不那么重要。但改變了處理器訪問(wèn)主存的方式,有助于提高帶寬、降低內(nèi)存延時(shí)和提升處理器性能。
出處:相關(guān)論壇
責(zé)任編輯:藍(lán)色
上一頁(yè) 參數(shù)篇 下一頁(yè)
◎進(jìn)入論壇計(jì)算機(jī)技術(shù)版塊參加討論
|