???隨著多媒體應用要求越來越高,在小小的行動裝置內(nèi),除了要有即時動態(tài)影音呈現(xiàn),又必須處理大量圖型化操作介面效果,若是重度游戲需求,3D與觸控和聲光效果又是少不了的系統(tǒng)處理負荷,嵌入式處理器單純提升時脈的效能改善幅度有限,透過多處理器紓解系統(tǒng)應用的效能瓶頸,已刻不容緩...
? 以行動電話應用為例,以往僅限于簡單的撥號、簡訊檢視和MP3音訊處理,在智慧型手機、功能性手機不斷強調(diào)多媒體應用的趨勢下,現(xiàn)有的嵌入式處理器在面對這些龐大的多媒體運算,已略顯力不從心之感,雖然大多能順利完成相關任務,但對于影音同步與觸控即時反應的應用需求,已直接影響行動裝置的使用感受,尤其是大量視覺化圖型介面,系統(tǒng)運行的效能將直接影響觸控操作的應用體驗。
? 對稱式多處理器架構 目前業(yè)界主流
? 在PC應用端,消費者已能確實體驗到多核心處理器,帶來的明顯效能提升,不管是雙核、三核還是四核以上的高階應用市場,具體的操作感受可以從核心數(shù)量得到最直接的驗證,但反觀行動電話市場的對稱式處理器架構,卻未見此類趨勢發(fā)展,多半僅朝向針對單一處理器改善架構、提升快取記憶體或提高運作時脈等效能提升手法,對于多核與對稱多重處理器的效能改善手段,則較少著墨。
? 觀察目前的行動電話應用,多半已與桌上型電腦應用無異,例如,手機持有者會透過行動電話處理電子郵件、看圖片、編輯文件、瀏覽網(wǎng)站甚至玩電玩等多元應用,針對通訊的3G/3.5G行動上網(wǎng)或是GPS定位導航,絢麗的介面互動設計,甚至是3D整合的動態(tài)介面,樣樣都考驗行動電話的運算處理能力。
? 即便延用現(xiàn)有的循序處理邏輯,加快每組資料的處理效率,一方面可能單一處理器的處理負荷大幅拉升,將造成處理器所消耗的能量,在行動電話的各個零組件來說過于集中,造成高溫、耗能與主/被動散熱成本的額外負擔,若參考桌上型電腦的處理器發(fā)展軌跡,將原本集中的運算資源分散到多處理器、多資料流進行處理,一方面可以降低核心處理器的效能負擔,也可分散核心所產(chǎn)生的高熱,周邊的配套設置成本將因此增加。
? 手機的多線程處理架構新挑戰(zhàn)
? 對于建構系統(tǒng)而言,多線程的設計其實并不容易開發(fā),雖然在PC或Server主機的多線程系統(tǒng),已發(fā)展有一段時間,但畢竟行動電話屬于運算資源相對較少的微型運算環(huán)境,例如處理器僅至256~512MB,RTOS系統(tǒng)的容量也相對較小,即便是開放性系統(tǒng)的Android或Windows Mobile等行動電話系統(tǒng),其系統(tǒng)環(huán)境也相對迷你。
? 針對PC或伺服器環(huán)境開發(fā)的多線程技術,并無法完全轉移到行動裝置應用,因為手機并非資源無限的裝置,光是「電力」就是亟需克服解決的限制。另一方面,即時回應在一般伺服主機的多線程應用方面,并非絕對要求,而行動電話平臺,卻多半要求必須能處理開啟電源就能隨即使用的需求,研發(fā)概念與基礎南轅北轍。
? 以功耗的處理態(tài)度而言,行動電話所應用的嵌入式處理器,在于可用API的部份,就必須提供更多、更細緻的電源管理控制功能,例如針對嵌入式晶片或處理器進行進階電源控制,對于臨時需要針對多媒體運算採取全速運行的需求時,又能即時喚醒系統(tǒng),進行箱端應用處理,而一般多線程設計系統(tǒng)在處理器喚醒步驟較多、耗時較久,也是導入行動電話系統(tǒng)后,首要進行改善的重點。
? 而程序轉換過程中,免不了造成的開關功耗,以往在PC或是伺服器平臺并不是什麼重要的問題,因為電源自市電源源不絕供應,問題的重要性不高,相對在行動電話平臺,幾mW的功耗就是重要的課題了,而在頻繁的程式轉換或是反覆睡眠、喚醒,可能花在轉換系統(tǒng)模式的耗能,就快佔去系統(tǒng)可用的電力了!這部份尤其在需要面對節(jié)能所需的如降頻、負載運算平衡與即時效能運算等需求間,取得設計平衡點。
?兼具效能、節(jié)能要求的異質(zhì)核心設計
? 相對的,若要達到多線程的最佳化設計,其實多重處理器的系統(tǒng)架構將是一大關鍵。多重處理器的實踐方式,有分同質(zhì)多核心(homogenous multi-core)與異質(zhì)多核心(heterogeneous multi-core)兩類,同質(zhì)多核心是將數(shù)個相同的核心整合到單一晶片中,而異質(zhì)多核心則是將不同設計的核心整合在單一晶片裡,理論上,兩種設置架構,都不影響其功能,但在表現(xiàn)特性上卻有顯著的差異。
? 以同質(zhì)多核心為例,若因多線程處理出問題,可以關閉部分核心,讓單一核心繼續(xù)完成工作任務,但若是異質(zhì)核心,則是將不同工作負荷分散到各重點核心進行處理,因為該核心為針對該項特殊任務的最佳化架構,在處理效能、功耗將會達到最佳化表現(xiàn),異質(zhì)核心的代表就如同德州儀器的OMAP,OMAP為通用處理器 (General-Purpose Preprocessor:GPP)、數(shù)位訊號處理器(Digital signal processing:DSP)與幾個多媒體加速器架構而成,另還有搭配特殊目的的處理核心、加密運算的處理核心不同架構設計。
? 但若從效率角度檢視,異質(zhì)核心處理器相較PC或伺服器應用而言,更適合用于運算資源相對較少的行動裝置平臺,例如,針對加密需求所設置的核心,或是針對特殊數(shù)位信號處理的核心,其若採取一般運算用途的核心完成運算,所耗費的時間將是DSP或HSP的10~20倍,而這類特定用途的核心,隨時沒有使用都可以指定關閉其功能,節(jié)省整體晶片的功耗。
? 多數(shù)高階設計中,為了提升GPP的運算效能,導入多核心設計是熱門的選項,例如,以雙處理器SMP再搭配ARM處理器的協(xié)同運作方式,對于智慧型手機的一般運算而言其效能提升會是相當明顯的效果,當使用者多媒體運算需求較高,可同時用雙處理器全速運行,若需求僅為一般應用,則可減少一個核心,採單核心運作,而ARM的角色則為控制核心工作分配與喚醒核心、關閉核心的進階任務仲裁角色。
? 異質(zhì)多核心的架構設計挑戰(zhàn)
? 多核心系統(tǒng)程式必須直接面對許多難解議題,例如包括演算任務、處理資源管理、通訊服務、資料同步...等,多核心所架構的嵌入式系統(tǒng)可能已經(jīng)不能再僅以單一作業(yè)系統(tǒng)來進行系統(tǒng)架構,可能必須有一個以上的系統(tǒng)針對專精領域協(xié)同運作,為系統(tǒng)提供上述的多項運算服務。而異質(zhì)多核心系統(tǒng),在多組核心的運用,也會用到RTOS的多作業(yè)系統(tǒng)資源,此狀況就會產(chǎn)生無法由單組作業(yè)系統(tǒng)管理嵌入式裝置的相關資源,這個狀況尤其會在運用如DSP之類的專用處理核心后,態(tài)勢進一步惡化!因為在異質(zhì)核心架構中,DSP這類硬體加速器不會去執(zhí)行任何樣式的作業(yè)系統(tǒng),卻又得與各個不同核心的多作業(yè)系統(tǒng)處理程序交互應用,運算與協(xié)同複雜度將大幅提升。
? 常見的開發(fā)模式,可以建構針對叢集內(nèi)運算、除錯、資源、通訊、等不同目的的溝通標準,如叢集內(nèi)通訊而制訂的通訊(TIPC)、多核心除錯機制、資源管理應用程式介面(RAPI)、通訊應用程式介面(CAPI)。RAPI的應用目標是為針對多線程運算資源的管理與同步,提供標準化API介面。CAPI則是一個API規(guī)格,目的在處理嵌入式系統(tǒng)的訊息傳遞與同步需求。此外,多核心的系統(tǒng)平臺,除運算效能的增加與功耗問題的相關挑戰(zhàn)外,其實多核心系統(tǒng)設計人員所面臨挑戰(zhàn)還有如何分割程式碼等問題要解決,并非換了硬體整體設計就全面提升。
評論
查看更多