Global Sources
電子工程專輯
 
電子工程專輯 > 介面技術
 
 
介面技術  

解決多核心嵌入式系統面臨的設計挑戰

上網時間: 2006年06月14日     打印版  Bookmark and Share  字型大小:  

關鍵字:鬆散耦合  對稱多處理  並行系統  資源管理API  通訊API 

主流雙核心處理器的推出標誌著運算平台在‘形態’上的重大轉變。以往,幾乎所有的嵌入式軟體都是以單個處理器為前提編寫的;即使涉及多個處理器,它們之間相對也是鬆散耦合而且可能被分別考慮,或者是簡單地進行平行運算來實現共同工作。

而雙核心機制則將在一定程度上改變上述模式,業界預計核心的數目將會呈指數上升,大約每一代都會成長一倍。此外,未來的晶片在核心、互連、硬體加速和記憶體層次等方面也將呈現出越來越大的異質性。

雖然多核心提供了平行處理應用的潛力,但是軟體在將來會變得愈來愈複雜,而今後業界的挑戰就在於找出如何有效利用這種平行處理能力的方法。

從專有規格轉向統一標準

在今天的嵌入式產業中,多核心的軟硬體實現雖然稱不上全部,但絕大部份是基於專有解決方案的。對超越平行運算和對稱多處理(SMP)範例,以及向異質嵌入式分佈系統轉移的必須性,很有可能會驅使嵌入式軟體的製作方式產生改變。

同時,它還將驅動開發工具、執行軟體以及程式語言的改變。而對此類系統進行有效程式也需要新的方案。假設軟體開發對許多公司來說是一筆大投資,那麼很正常一般公司都會希望軟體在一系列多核心系統中具有可移植性。而為了實現更好的軟體範例,也必須克服面臨的大量障礙。

為了應對這種迫在眉睫的改變,業界同意對此類現有系統進行公共、簡單且有效的抽象是大有裨益的,如果這樣的話,我們就可以採用簡單直接的方式(就像是一套API),來描述這些同步發生事件的關鍵特性。

圖1. 標準多處理器設計中的CAPI和RAPI邏輯示意圖。

換言之,整個多核心生態系統(由晶片廠商、半導體IP供應商、RTOS、中介軟體、編譯器、開發工具供應商以及應用軟體開發商構成)都必須在採用適當的介面上達成共識,以此支援互通作業性因而實現快速上市。

處理混合作業系統

為多核心系統程式時必須要解決的特殊領域包括任務、資源管理,以及嵌入式分散系統所需的通訊和同步。這種需要源於現實,在現實中,多核心系統不能依賴單個作業系統(甚至是SMP作業系統)來提供上述服務。

可以預見,異質多核心系統將在多個核心上使用從應用到RTOS的多作業系統,這樣一來,就會出現無法由任何單個作業系統管理的資源。在使用了硬體加速器後,這種情形會進一步惡化,因為硬體加速器不執行任何形式的作業系統,卻又必須與潛在執行在不同核心的多個作業系統上的進程相互作用。

多核心協會以保護性組織的身份成立,主要解決與多核心相關的爭論和標準問題,並向參與者提供支援。

為了幫助克服上述挑戰,多核心協會正致力於設立四個獨立但又多少有些相關的標準:資源管理應用程式介面(RAPI)、通訊應用程式介面(CAPI)、專為叢集內通訊而制訂的透明進程間通訊(TIPC)協議,以及支援工具間互通作業的多核心除錯機制。

RAPI的主要目標是為進程資源的管理、調度和同步提供一個標準化API。多核心協會通常將這些進程資源稱為‘工作實體’,因為這些資源可能包括多種不同的功能類型(如處理器、硬體加速器、DMA引擎)和儲存資源。在某種意義上,RAPI類似於一些早已存在的標準,特別是POSIX pThread。然而,兩者在關鍵部份卻有所不同,最明顯的就是RAPI支援異質多核心及儲存架構(見表1)。

具體化的RAPI應該支援狀態管理、調度(包括任務和進程資源類型允許的搶佔)、上下文管理(堆疊製作/分配,破壞/重新分配,保存和恢復)以及基本同步等功能。對RAPI而言,更大的挑戰在於它應該與CAPI和現有作業系統互補,如作為虛擬層或作為現有核心的一部份。

CAPI:消息傳遞和同步

CAPI是一項API規格,而非執行標準,目的是在並行嵌入式軟體系統中進行消息傳遞和同步。同樣地,CAPI必須支援許多針對分散式系統的公認特性。

然而,由於有關嵌入式系統的某些假設,CAPI只需支援Tannenbaum等業界權威以及CORBA等標準所定義的分散式系統特性的一部份即可。由於嵌入式系統中更苛刻的儲存限制、更緊張的任務執行時間限制以及高系統吞吐量等特殊需要,因此對部份屬性的支援必不可少。

針對CAPI的目標系統將跨越多種異質性,如核心異質、互連異質、記憶體異質、作業系統異質、軟體工具鏈異質,以及程式語言異質。

儘管分散式系統程式領域已經存在多種產業標準,但是它們都主要集中解決以下需求:(1)大型分散式系統(2)SMP系統(3)特殊應用領域,如科學運算。CAPI類似這些現有標準,但是在擴充能力和容錯性方面有更高限定的目標,不過CAPI在應用領域更具普遍性。

雖然CAPI主要關注的是嵌入式系統,但其目的是在可能的情況下,提供足夠的靈活性以便在CAPI頂層設立更加全面的特性功能,因而使CAPI支援系統能夠被整合在更廣泛的分散式環境中。

具體化的CAPI應該支援控制和數據傳輸,具有很小的佔位面積,在提供足夠的靈活性和(或)模組化來支援不斷增加的異質性(受多核心系統所迫)的時候,僅需要最少的資源管理功能(如具體化之RAPI所提供的功能)。

除瞭解決本文描述的介面挑戰外,多核心協會還致力於改善針對多核心平台的硬體除錯技術,但這才剛剛開始。多核心設計人員即將面臨的挑戰還包括程式碼分割以及超越現有標準SMP基準的系統級基準。

作者:Markus Levy

多核心協會主席




投票數:   加入我的最愛
我來評論 - 解決多核心嵌入式系統面臨的設計挑戰
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首