IT百科:SMP
以下是小編收集整理的《IT百科:SMP》全部內(nèi)容,希望對大家有所幫助。如果您喜歡小編的推薦,請繼續(xù)關(guān)注學(xué)習(xí)啦。學(xué)習(xí)啦,給你不一樣的人生。
SMP的全稱是"對稱多處理"(Symmetrical Multi-Processing)技術(shù),是指在一個(gè)計(jì)算機(jī)上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。它是相對非對稱多處理技術(shù)而言的、應(yīng)用十分廣泛的并行技術(shù)。在這種架構(gòu)中,一臺電腦不再由單個(gè)CPU組成,而同時(shí)由多個(gè)處理器運(yùn)行操作系統(tǒng)的單一復(fù)本,并共享內(nèi)存和一臺計(jì)算機(jī)的其他資源。雖然同時(shí)使用多個(gè)CPU,但是從管理的角度來看,它們的表現(xiàn)就像一臺單機(jī)一樣。系統(tǒng)將任務(wù)隊(duì)列對稱地分布于多個(gè)CPU之上,從而極大地提高了整個(gè)系統(tǒng)的數(shù)據(jù)處理能力。所有的處理器都可以平等地訪問內(nèi)存、I/O和外部中斷。在對稱多處理系統(tǒng)中,系統(tǒng)資源被系統(tǒng)中所有CPU共享,工作負(fù)載能夠均勻地分配到所有可用處理器之上。
我們平時(shí)所說的雙CPU系統(tǒng),實(shí)際上是對稱多處理系統(tǒng)中最常見的一種,通常稱為"2路對稱多處理",它在普通的商業(yè)、家庭應(yīng)用之中并沒有太多實(shí)際用途,但在專業(yè)制作,如3DMax Studio、Photoshop等軟件應(yīng)用中獲得了非常良好的性能表現(xiàn),是組建廉價(jià)工作站的良好伙伴。隨著用戶應(yīng)用水平的提高,只使用單個(gè)的處理器確實(shí)已經(jīng)很難滿足實(shí)際應(yīng)用的需求,因而各服務(wù)器廠商紛紛通過采用對稱多處理系統(tǒng)來解決這一矛盾。在國內(nèi)市場上這類機(jī)型的處理器一般以4個(gè)或8個(gè)為主,有少數(shù)是16個(gè)處理器。但是一般來講,SMP結(jié)構(gòu)的機(jī)器可擴(kuò)展性較差,很難做到100個(gè)以上多處理器,常規(guī)的一般是8個(gè)到16個(gè),不過這對于多數(shù)的用戶來說已經(jīng)夠用了。這種機(jī)器的好處在于它的使用方式和微機(jī)或工作站的區(qū)別不大,編程的變化相對來說比較小,原來用微機(jī)工作站編寫的程序如果要移植到SMP機(jī)器上使用,改動(dòng)起來也相對比較容易。SMP結(jié)構(gòu)的機(jī)型可用性比較差。因?yàn)?個(gè)或8個(gè)處理器共享一個(gè)操作系統(tǒng)和一個(gè)存儲器,一旦操作系統(tǒng)出現(xiàn)了問題,整個(gè)機(jī)器就完全癱瘓掉了。而且由于這個(gè)機(jī)器的可擴(kuò)展性較差,不容易保護(hù)用戶的投資。但是這類機(jī)型技術(shù)比較成熟,相應(yīng)的軟件也比較多,因此現(xiàn)在國內(nèi)市場上推出的并行機(jī)大量都是這一種。PC服務(wù)器中最常見的對稱多處理系統(tǒng)通常采用2路、4路、6路或8路處理器。目前UNIX服務(wù)器可支持最多64個(gè)CPU的系統(tǒng),如Sun公司的產(chǎn)品Enterprise 10000。SMP系統(tǒng)中最關(guān)鍵的技術(shù)是如何更好地解決多個(gè)處理器的相互通訊和協(xié)調(diào)問題。
要組建SMP系統(tǒng),首先最關(guān)鍵的一點(diǎn)就是需要合適的CPU相配合。我們平時(shí)看到的CPU都是單顆使用,所以看不出來它們有什么區(qū)別,但是,實(shí)際上,支持SMP功能并不是沒有條件的,隨意拿幾塊CPU來就可以建立多處理系統(tǒng)那簡直是天方夜談。要實(shí)現(xiàn)SMP功能,我們使用的CPU必須具備以下要求:
1、CPU內(nèi)部必須內(nèi)置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規(guī)范的核心就是高級可編程中斷控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通過彼此發(fā)送中斷來完成它們之間的通信。通過給中斷附加動(dòng)作(actions),不同的CPU可以在某種程度上彼此進(jìn)行控制。每個(gè)CPU有自己的APIC(成為那個(gè)CPU的本地APIC),并且還有一個(gè)I/O APIC來處理由I/O設(shè)備引起的中斷,這個(gè)I/O APIC是安裝在主板上的,但每個(gè)CPU上的APIC則不可或缺,否則將無法處理多CPU之間的中斷協(xié)調(diào)。
2、相同的產(chǎn)品型號,同樣類型的CPU核心。例如,雖然Athlon和Pentium III各自都內(nèi)置有APIC單元,想要讓它們一起建立SMP系統(tǒng)是不可能的,當(dāng)然,即使是Celeron和Pentium III,那樣的可能性也為0,甚至Coppermine核心的Pentium III和Tualatin的Pentium III也不能建立SMP系統(tǒng)--這是因?yàn)樗麄兊倪\(yùn)行指令不完全相同,APIC中斷協(xié)調(diào)差異也很大。
3、完全相同的運(yùn)行頻率。如果要建立雙Pentium III系統(tǒng),必須兩顆866MHz或者兩顆1000MHz處理器,不可以用一顆866MHz,另一顆1000MHz來組建,否則系統(tǒng)將無法正常點(diǎn)亮。
4、盡可能保持相同的產(chǎn)品序列編號。即使是同樣核心的相同頻率處理器,由于生產(chǎn)批次不同也會(huì)造成不可思議的問題。兩個(gè)生產(chǎn)批次的CPU作為雙處理器運(yùn)行的時(shí)候,有可能會(huì)發(fā)生一顆CPU負(fù)擔(dān)過高,而另一顆負(fù)擔(dān)很少的情況,無法發(fā)揮最大性能,更糟糕的是可能導(dǎo)致死機(jī),因此,應(yīng)該盡可能選擇同一批生產(chǎn)的處理器來組建SMP系統(tǒng)。