多處理器內(nèi)核的三種設(shè)計方案
一個SMP模式系統(tǒng)要求具備兩樣條件:一個是對稱的共享存儲器的多內(nèi)核處理器平臺,另一個是具有SMP功能的操作系統(tǒng)。今天眾多的處理器系列都支持SMP功能,也有多種渠道可以得到SMP操作系統(tǒng)。SMP系統(tǒng)的兩個更為突出的優(yōu)點是開發(fā)人員比較熟悉,以及可以快速啟動。理論上來說,開發(fā)人員可以較為容易地啟動具有SMP功能的操作系統(tǒng),并將現(xiàn)有的應(yīng)用設(shè)計進行移植,開發(fā)人員可以快速地利用多內(nèi)核硬件的性能。
現(xiàn)實的情況基本如此,但是有幾個問題需要牢記。第一個值得關(guān)注的問題是硬實時性要求,一個支持SMP功能的實時操作系統(tǒng)(RTOS)不會犧牲實時性能,但是,當(dāng)使用SMP時,不具有硬實時性功能的操作系統(tǒng)將缺少判決性以及缺少更高級的和更可變的中斷反應(yīng)時間。對一個良好的SMP RTOS而言無需擔(dān)心此點,但需牢記的是,通用的操作系統(tǒng)在SMP硬件上和它運行在單處理器系統(tǒng)上比較也許會有不同的表現(xiàn)。
第二個潛在問題是資源競爭。SMP系統(tǒng)的一個突出優(yōu)點是很多資源都是共享的,這使得SMP系統(tǒng)更具有靈活性和適應(yīng)性。然而,該優(yōu)點也是一個缺點,由于所有的資源是共享的,將會由于資源競爭產(chǎn)生無法預(yù)期的性能改變。在每個系統(tǒng)中這是不會發(fā)生的,但如果開發(fā)人員想要系統(tǒng)按其設(shè)計的性能運行的話,還是要將此點牢記于心。
設(shè)計實現(xiàn)與調(diào)試
正如嵌入式開發(fā)一樣,在硬件設(shè)計的過程中需要首先考慮軟件的開發(fā)和調(diào)試。確保設(shè)計具有片上調(diào)試(OCD)的功能將會極大地加快系統(tǒng)開發(fā)進程,而且為編程和分析系統(tǒng)提供了一套可靠的工具。在平面設(shè)計模式和柵格設(shè)計模式中,單個OCD端口可讓開發(fā)人員對系統(tǒng)的單個內(nèi)核進行調(diào)試,就好像他們擁有一個更為傳統(tǒng)的單內(nèi)核系統(tǒng)一樣。
實時跟蹤端口是另外一個調(diào)試特性,這一特性隨著系統(tǒng)中內(nèi)核數(shù)目的不斷增長而變得越來越重要。實時跟蹤提供了一個標(biāo)準(zhǔn)方法去觀察內(nèi)核之間的相互作用,而不會破壞對再現(xiàn)問題起關(guān)鍵作用的敏感時序。如果多內(nèi)核設(shè)備包含有一個或多個實時跟蹤端口,這將會使的系統(tǒng)開發(fā)更容易。
有一個常常被提及但并不符合實際的說法:盡管許多開發(fā)人員成功采用了這三種設(shè)計模式,但是軟件開發(fā)工具并不是針對多內(nèi)核應(yīng)用設(shè)計的。現(xiàn)在,已經(jīng)有支持SMP功能的實時操作系統(tǒng)提供,且可以為開發(fā)人員提供不損耗實時判決的靈活的SMP模式。對于使用平面模式和柵格模式的設(shè)計來說,開發(fā)人員可以充分利用現(xiàn)有熟悉的、經(jīng)過驗證的單內(nèi)核設(shè)計工具和方法。多內(nèi)核設(shè)計可使系統(tǒng)變得更為復(fù)雜,但是已開發(fā)出來的工具和方法可以為開發(fā)人員在管理多內(nèi)核硬件的復(fù)雜性、實現(xiàn)其強大的功能及成本等方面助上一臂之力。
總結(jié)
合并是嵌入式領(lǐng)域長期存在的一個趨勢,它使得性能更優(yōu)良的嵌入式設(shè)備采用更少的元器件,從而降低了成本及功耗預(yù)算。這一趨勢的最新進展是在單個封裝內(nèi)提供多個處理器內(nèi)核的多內(nèi)核嵌入式微處理器的增加,而且與同等的單內(nèi)核處理器相比具有低功耗和低成本的優(yōu)點。
評論