SMP技術(shù)
SMP技術(shù)
SMP英文全稱為Symmetrical Multi-Processing,意指“對(duì)稱多處理”技術(shù),是指在一個(gè)計(jì)算機(jī)上匯集了一組處理器—即多CPU,各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。它是相對(duì)非對(duì)稱多處理技術(shù)而言的、應(yīng)用十分廣泛的并行技術(shù)。在這種架構(gòu)中,一臺(tái)電腦不再由單個(gè)CPU組成,而同時(shí)由多個(gè)處理器運(yùn)行操作系統(tǒng)的單一復(fù)本,并共享內(nèi)存和一臺(tái)計(jì)算機(jī)的其他資源。雖然同時(shí)使用多個(gè)CPU,但是從管理的角度來看,它們的表現(xiàn)就像一臺(tái)單機(jī)一樣。系統(tǒng)將任務(wù)隊(duì)列對(duì)稱地分布于多個(gè)CPU之上,從而極大地提高了整個(gè)系統(tǒng)的數(shù)據(jù)處理能力。所有的處理器都可以平等地訪問內(nèi)存、I/O和外部中斷。在對(duì)稱多處理系統(tǒng)中,系統(tǒng)資源被系統(tǒng)中所有CPU共享,工作負(fù)載能夠均勻地分配到所有可用處理器之上。
基于SMP技術(shù)的系統(tǒng)框架
SMP應(yīng)用
目前的SMP技術(shù)主要用在RISC服務(wù)器陣營(yíng)的多路小型機(jī)、X86服務(wù)器陣營(yíng)的多路處理系統(tǒng)以及采用部分采用虛擬CPU技術(shù)實(shí)現(xiàn)單CPU(或多CPU)虛擬多路中。
我們平時(shí)見到的雙路CPU系統(tǒng),屬于對(duì)稱多處理系統(tǒng)中最常見的一種,通常稱為"2路對(duì)稱多處理",它在普通的商業(yè)、家庭應(yīng)用之中并沒有太多實(shí)際用途,但在專業(yè)制作,如3DMax Studio、Photoshop等軟件應(yīng)用中獲得了非常良好的性能表現(xiàn),是組建廉價(jià)工作站的良好伙伴。隨著用戶應(yīng)用水平的提高,只使用單個(gè)的處理器確實(shí)已經(jīng)很難滿足實(shí)際應(yīng)用的需求,因而各服務(wù)器廠商紛紛通過采用對(duì)稱多處理系統(tǒng)來解決這一矛盾。在國(guó)內(nèi)市場(chǎng)上這類機(jī)型的處理器一般以4個(gè)或8個(gè)為主,有少數(shù)是16個(gè)處理器。但是一般來講,SMP結(jié)構(gòu)的機(jī)器可擴(kuò)展性較差,很難做到100個(gè)以上多處理器,常規(guī)的一般是8個(gè)到16個(gè),不過這對(duì)于多數(shù)的用戶來說已經(jīng)夠用了。這種機(jī)器的好處在于它的使用方式和微機(jī)或工作站的區(qū)別不大,編程的變化相對(duì)來說比較小,原來用微機(jī)工作站編寫的程序如果要移植到SMP機(jī)器上使用,改動(dòng)起來也相對(duì)比較容易。SMP結(jié)構(gòu)的機(jī)型可用性比較差。因?yàn)?個(gè)或8個(gè)處理器共享一個(gè)操作系統(tǒng)和一個(gè)存儲(chǔ)器,一旦操作系統(tǒng)出現(xiàn)了問題,整個(gè)機(jī)器就完全癱瘓掉了。而且由于這個(gè)機(jī)器的可擴(kuò)展性較差,不容易保護(hù)用戶的投資。但是這類機(jī)型技術(shù)比較成熟,相應(yīng)的軟件也比較多,因此現(xiàn)在國(guó)內(nèi)市場(chǎng)上推出的并行機(jī)大量都是這一種。PC服務(wù)器中最常見的對(duì)稱多處理系統(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組建條件
要組建SMP系統(tǒng),首先最關(guān)鍵的一點(diǎn)就是需要合適的CPU相配合。我們平時(shí)看到的CPU都是單顆使用,所以看不出來它們有什么區(qū)別,但是,實(shí)際上,支持SMP功能并不是沒有條件的,隨意拿幾塊CPU來就可以建立多處理系統(tǒng)那簡(jiǎn)直是天方夜談。要實(shí)現(xiàn)SMP功能,我們使用的CPU必須具備以下要求:
1、CPU內(nèi)部必須內(nèi)置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規(guī)范的核心就是高級(jí)可編程中斷控制器(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)品型號(hào),同樣類型的CPU核心。例如,雖然至強(qiáng)和皓龍各自都內(nèi)置有APIC單元,想要讓它們一起建立SMP系統(tǒng)是不可能的,同時(shí),即使同屬于至強(qiáng)系列或者皓龍系列的CPU核心,而且屬于同一開發(fā)平臺(tái),也不能建立SMP系統(tǒng)--這是因?yàn)樗麄兊倪\(yùn)行指令不完全相同,APIC中斷協(xié)調(diào)差異也很大。
3、完全相同的運(yùn)行頻率。如果要建立雙至強(qiáng)或雙皓龍系統(tǒng),必須兩顆2.8GHz或者兩顆3.0GHz處理器,不可以用一顆2.8GHz,另一顆3.0GHz來組建,否則系統(tǒng)將無法正常點(diǎn)亮。
4、盡可能保持相同的產(chǎn)品序列編號(hào)。即使是同樣核心的相同頻率處理器,由于生產(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)。
非常好我支持^.^
(9) 100%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說] Zynq的AMP多核處理 2023-10-17
- [電子說] RT-Thread框架下的SMP支持 2023-10-11
- [電子說] 應(yīng)用在SMPS中的GaN/氮化鎵 2023-10-11
- [電子說] ASMPT AMICRA與Teramount共同應(yīng)對(duì)將光纖連接到硅光子芯片的挑戰(zhàn) 2023-10-09
- [電子說] GD32E503R SMPS(PFC+LLC)開關(guān)電源解決方案 2023-09-08
- [電子說] GD32E503C-SMPS開關(guān)電源解決方案 2023-09-08
- [電源電路圖] 效率為85%的開關(guān)模式穩(wěn)壓器電路圖 2023-08-23
- [電子說] RT-Thread SMP啟動(dòng)流程 2023-08-03
( 發(fā)表人:admin )