新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 比較分析三種不同的嵌入式多內核設計

比較分析三種不同的嵌入式多內核設計

作者: 時間:2012-02-15 來源:網(wǎng)絡 收藏

使用多處理器要求軟、硬件團隊之間進行更多的系統(tǒng)級合作?;谶@種理念,下面是對采用當前開發(fā)工具和硬件直接實現(xiàn)多系統(tǒng)的三個簡單模型的概述。這些多模式不是一個為了嚴格定義一個系統(tǒng)的剛性模型,而是針對思考和探討關于系統(tǒng)實現(xiàn)宏偉藍圖的初始點,以及規(guī)定了一套通用術語以便軟、硬件團隊都能出一個多內核系統(tǒng)結構。

本文引用地址:http://butianyuan.cn/article/149675.htm

三種設計模式

1. 平面模式

第一種模式是平面模式(Planar Pattern),這個名稱源于劃分一個通信系統(tǒng)的處理任務的“控制平面”和“數(shù)據(jù)平面”。它是一個廣泛的和類型的多內核設計實例,這種多內核設計統(tǒng)稱為非對稱多處理技術(簡稱“AMP”或“ASMP”)。

如果采用平面模式,系統(tǒng)需要劃分成具有顯著處理要求的多個自包含模塊。在其標準的通信和媒體處理形式中,該模式的優(yōu)點是在一個專用的DSP或網(wǎng)絡處理器上運行需要進行大量數(shù)據(jù)處理的算法,同時在一個通用的CPU上保持其它系統(tǒng)軟件的正常運行。這種特殊性意味著平面模式系統(tǒng)通常在專門構件的硬件上實現(xiàn)。由于許多平面硬件設備僅有一個通用CPU內核,因此傳統(tǒng)的單內核工具、操作系統(tǒng)和設計方法都可用來設計和調試系統(tǒng)的通用部分。

2. 片上柵格模式

片上柵格(Grid-on-Chip,或簡稱“柵格”)模式是平面模式的演繹,包含由許多完全獨立的和網(wǎng)絡互連的節(jié)點組成的任意多處理器系統(tǒng)。柵格是辦公計算機網(wǎng)絡的片上版本,它是共享相鄰物理鏈路但彼此獨立的許多網(wǎng)絡處理節(jié)點。一些文獻將該類型系統(tǒng)稱之為分布式多處理系統(tǒng),且仍將其歸類到AMP/ASMP系統(tǒng)總類別當中。

使用柵格模式的關鍵要求是首先要分割系統(tǒng),然后找到一個合適的節(jié)點間通信系統(tǒng)。(盡管更高級的柵格系統(tǒng)能夠在運行期間對其自身進行重新配置,但柵格模式系統(tǒng)的設計者需要認真思考系統(tǒng)功能到處理節(jié)點的分配問題。)除分割之外,柵格系統(tǒng)具有三種設計模式中最少的高級設計約束。一旦系統(tǒng)被分割,每個獨立節(jié)點的設計與實現(xiàn)就會如同一個獨立系統(tǒng)一樣進行。柵格系統(tǒng)可在專用硬件上實現(xiàn),但另一個普遍的選擇是通過采用SMP硬件以及將共享的存儲空間劃分成針對每個內核的片段來建立柵格節(jié)點。

柵格模式系統(tǒng)與其它設計相比具有幾個突出的優(yōu)點。首先,它們可以很容易與過去的軟件整合在一起,過去的系統(tǒng)甚至可以在柵格范圍內它們自己的節(jié)點上繼續(xù)完整地運行。此外,柵格系統(tǒng)在判決能力(determinism)和調試能力方面具有明顯的優(yōu)勢。柵格模式系統(tǒng)設計的松散聯(lián)結意味著在資源競爭方面不會有多少意外情況,由于熟悉的單內核調試方法可以用于每個孤立的系統(tǒng)節(jié)點,所以調試相對簡單。柵格模式系統(tǒng)的分割特性使其更為強大,但這也是其缺陷的根源所在,因為分割使得它難于再分配資源,這將導致柵格系統(tǒng)在適應將來的和不可預期的要求方面缺乏靈活性。

圖1:針對圖像處理的平面模式。

圖2:柵格模式系統(tǒng)。

3. SMP模式

在一個對稱多處理(簡稱“SMP”)系統(tǒng)中,單一映像(single-image)操作系統(tǒng)是運行在兩個或多個共享存儲空間的處理內核的頂層,這些處理器內核實質上是相同的。正如一臺多內核桌面計算機一樣,SMP模式系統(tǒng)可以在一個處理器內核組基礎上動態(tài)地均衡任務。重新分配處理能力以匹配當前任務的這種能力是SMP系統(tǒng)的一大主要優(yōu)點,這也使得SMP系統(tǒng)成為了三種模式中最靈活和適應性最強的模式。利用當今SMP實時操作系統(tǒng),這種靈活性可以不需要在犧牲任何性能的條件下實現(xiàn)判決或實時響應。

圖3:SMP系統(tǒng)實例。

一個SMP模式系統(tǒng)要求具備兩樣條件:一個是對稱的共享存儲器的多內核處理器平臺,另一個是具有SMP功能的操作系統(tǒng)。今天眾多的處理器系列都支持SMP功能,也有多種渠道可以得到SMP操作系統(tǒng)。SMP系統(tǒng)的兩個更為突出的優(yōu)點是開發(fā)人員熟悉,以及可以快速啟動。理論上來說,開發(fā)人員可以較為容易地啟動具有SMP功能的操作系統(tǒng),并將現(xiàn)有的應用設計進行移植,開發(fā)人員可以快速地利用多內核硬件的性能。

現(xiàn)實的情況基本如此,但是有幾個問題需要牢記。第一個值得關注的問題是硬實時性要求,一個支持SMP功能的實時操作系統(tǒng)(RTOS)不會犧牲實時性能,但是,當使用SMP時,不具有硬實時性功能的操作系統(tǒng)將缺少判決性以及缺少更高級的和更可變的中斷反應時間。對一個良好的SMP RTOS而言無需擔心此點,但需牢記的是,通用的操作系統(tǒng)在SMP硬件上和它運行在單處理器系統(tǒng)上也許會有的表現(xiàn)。

第二個潛在問題是資源競爭。SMP系統(tǒng)的一個突出優(yōu)點是很多資源都是共享的,這使得SMP系統(tǒng)更具有靈活性和適應性。然而,該優(yōu)點也是一個缺點,由于所有的資源是共享的,將會由于資源競爭產生無法預期的性能改變。在每個系統(tǒng)中這是不會發(fā)生的,但如果開發(fā)人員想要系統(tǒng)按其設計的性能運行的話,還是要將此點牢記于心。

設計實現(xiàn)與調試

正如開發(fā)一樣,在硬件設計的過程中需要首先考慮軟件的開發(fā)和調試。確保設計具有片上調試(OCD)的功能將會極大地加快系統(tǒng)開發(fā)進程,而且為編程和系統(tǒng)提供了一套可靠的工具。在平面設計模式和柵格設計模式中,單個OCD端口可讓開發(fā)人員對系統(tǒng)的單個內核進行調試,就好像他們擁有一個更為傳統(tǒng)的單內核系統(tǒng)一樣。

實時跟蹤端口是另外一個調試特性,這一特性隨著系統(tǒng)中內核數(shù)目的不斷增長而變得越來越重要。實時跟蹤提供了一個標準方法去觀察內核之間的相互作用,而不會破壞對再現(xiàn)問題起關鍵作用的敏感時序。如果多內核設備包含有一個或多個實時跟蹤端口,這將會使的系統(tǒng)開發(fā)更容易。

有一個常常被提及但并不符合實際的說法:盡管許多開發(fā)人員成功采用了這三種設計模式,但是軟件開發(fā)工具并不是針對多內核應用設計的?,F(xiàn)在,已經有支持SMP功能的實時操作系統(tǒng)提供,且可以為開發(fā)人員提供不損耗實時判決的靈活的SMP模式。對于使用平面模式和柵格模式的設計來說,開發(fā)人員可以充分利用現(xiàn)有熟悉的、經過驗證的單內核設計工具和方法。多內核設計可使系統(tǒng)變得更為復雜,但是已開發(fā)出來的工具和方法可以為開發(fā)人員在管理多內核硬件的復雜性、實現(xiàn)其強大的功能及成本等方面助上一臂之力。

總結

合并是領域長期存在的一個趨勢,它使得性能更優(yōu)良的設備采用更少的元器件,從而降低了成本及功耗預算。這一趨勢的最新進展是在單個封裝內提供多個處理器內核的多內核嵌入式微處理器的增加,而且與同等的單內核處理器相比具有低功耗和低成本的優(yōu)點。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉