0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

多核心架構(gòu)和多執(zhí)行緒在嵌入式網(wǎng)絡(luò)環(huán)境中的應(yīng)用方案分析

牽手一起夢 ? 來源:電子工程網(wǎng) ? 作者:佚名 ? 2020-10-04 14:05 ? 次閱讀

嵌入式裝置中建置多核心(包含同質(zhì)或異質(zhì))以及多執(zhí)行緒技術(shù),的確能帶來諸多效益,尤其是改進(jìn)系統(tǒng)效能方面最為明顯。

盡管RISC嵌入式技術(shù)所面臨的挑戰(zhàn)越來越多,但是在維持以往嵌入式軟件資源兼容性的前提之下,能夠改善其未來適用性,并且有效提升新系統(tǒng)的效能表現(xiàn),使其不失為良好的解決方案。

應(yīng)用決定多核或多緒

多核心與多執(zhí)行緒在效能表現(xiàn)上有其幫助,但是效能與這些技術(shù)的內(nèi)建其實并沒有絕對關(guān)系,會造成這樣的原因主要是應(yīng)用環(huán)境的需求。以手機(jī)為例,整合于手機(jī)內(nèi)的SoC芯片雖然是屬于多核心架構(gòu)的一環(huán),但是手機(jī)采用的SoC芯片多為應(yīng)用處理器,其整合的核心并非完全屬于同性質(zhì)架構(gòu),同質(zhì)多核心在嵌入式系統(tǒng)實際應(yīng)用上的案例其實非常少。

而多執(zhí)行緒處理器在汽車電子或者是嵌入式網(wǎng)絡(luò)環(huán)境中扮演著重要的角色,但是也有廠商利用數(shù)顆多執(zhí)行緒芯片組成多核心與多執(zhí)行緒兼?zhèn)涞倪\(yùn)算架構(gòu),換句話說,兩者并不是單純選邊站而已,根據(jù)實際應(yīng)用的需求,自行搭配或開發(fā)最終解決方案也成了許多廠商面對問題時的態(tài)度。這也代表著,在選擇嵌入式系統(tǒng)的基礎(chǔ)架構(gòu)時,處理器本身只是應(yīng)用的1個環(huán)節(jié),如何能夠針對應(yīng)用將所需的效能最大化,必須依照產(chǎn)品的不同而有各種考慮。

不只是意氣的技術(shù)之爭

真正的同質(zhì)多核心架構(gòu)-ARM11 MPCore

在嵌入式多核心應(yīng)用處理器這方面的領(lǐng)域,目前以ARM為技術(shù)領(lǐng)導(dǎo)者,雖然該公司本身并無晶圓廠,而純粹以IP的形式出售處理器架構(gòu),由于定位正確,在短短的數(shù)年間取得了極大的市場地位,全世界絕大多數(shù)的手持式裝置都嵌入了ARM的處理器技術(shù)。

以其技術(shù)的發(fā)展歷程來看,早期的ARM7架構(gòu)本身能夠滿足一些音效編譯碼應(yīng)用。而在增加16位飽和運(yùn)算指令和提高ARM9核心速度后,不僅能完成音效編譯碼工作,以及以大約80 MHz、15 畫格/秒速度下的MPEG-4 QCIF(4分之1 CIF分辨率)編碼。在ARM11 V6指令集架構(gòu)上增加速度和SIMD指令后,就可以實現(xiàn)VGA分辨率的 H.264 編碼。再進(jìn)一步到最新的Cortex A8與其基于64位SIMD架構(gòu)的Neon加速器搭配工作之下,就可以完成 30 畫格/秒的 MPEG-4 VGA 編碼,所花周期只有 ARM11 的一半。在實際情況下,該工作需要大約 300 MHz。為了使這些選項對使用者更加可行,ARM 正在開發(fā)一個并行編譯器原型,它可以提取資料并行機(jī)制,并用 SIMD 硬件來使用它。

多核心架構(gòu)和多執(zhí)行緒在嵌入式網(wǎng)絡(luò)環(huán)境中的應(yīng)用方案分析

圖說:ARM11 MPCore的結(jié)構(gòu)示意圖。

ARM11 MPCore乃是在ARM11核心的基礎(chǔ)組成,架構(gòu)上屬于V6指令體系。根據(jù)不同應(yīng)用的需要,MPCore可以被配置為1~4個處理器的組合方式,根據(jù)官方表示,其最高性能約可達(dá)到2600 Dhrystone MIPS的程度。MPCore是標(biāo)準(zhǔn)的同質(zhì)多核心處理器,,組成MPCore的是4個基于ARM11架構(gòu)的處理器核心,由于多核心設(shè)計的優(yōu)點(diǎn)是在頻率不變的情況下讓處理器的性能獲得明顯提升,因此可望在多任務(wù)應(yīng)用中擁有良好的表現(xiàn),這一點(diǎn)很適合未來家庭消費(fèi)電子的需要。例如,機(jī)上盒在錄制多個頻道電視節(jié)目的同時,還可通過因特網(wǎng)收看數(shù)字視訊點(diǎn)播節(jié)目、車內(nèi)導(dǎo)航系統(tǒng)在提供導(dǎo)航功能的同時,仍然有余力可以向后座乘客播放各類視訊娛樂串流等。

在這類應(yīng)用環(huán)境下,多核心結(jié)構(gòu)的嵌入式處理器能夠表現(xiàn)出極強(qiáng)的性能優(yōu)勢。根據(jù)原廠數(shù)據(jù),MPCore多處理器可支持高達(dá)4路共享快取結(jié)構(gòu)的對稱多處理器 (four-way cache coherent symmetric multiprocessing,SMP)、或者是4路不對稱多處理器(four-way asymmetric multiprocessing,AMP)以及4路兼有對稱/不對稱的混合式多處理器系統(tǒng)。其設(shè)計的高靈活設(shè)計在理論上可以滿足各種跨領(lǐng)域應(yīng)用對運(yùn)算性能的彈性需求,確保系統(tǒng)可獲得一流的響應(yīng)能力或數(shù)據(jù)吞吐量。

不過ARM11 MPCore早在2004年就已經(jīng)發(fā)布,2005年正式加入授權(quán)業(yè)務(wù),截至目前為止,采用該處理器的產(chǎn)品集中于家電與汽車電子方面,但是數(shù)量并不算多,是業(yè)界對于處理器運(yùn)算能量的需求尚未顯現(xiàn)?據(jù)了解,在汽車電子方面,汽車應(yīng)用的微處理器要求越來越高,但是過去的單核心基本上還能滿足一般汽車的使用,而隨著越來越多的電子輔助裝置整合進(jìn)汽車中,其間所需處理的工作也越來越繁雜,已經(jīng)遠(yuǎn)超過傳統(tǒng)汽車用微控制器所能負(fù)擔(dān)的程度,因此可預(yù)期的是,未來數(shù)年應(yīng)該會有越來越多汽車廠商采用類似的多核心架構(gòu)來取得合理的系統(tǒng)反應(yīng)速度。

至于在家電應(yīng)用方面,其實需要用到如此復(fù)雜核心的產(chǎn)品不多,在應(yīng)用最多的影音產(chǎn)品方面,其實大部分的廠商都采用專用的硬件譯碼電路或者是DSP來進(jìn)行編譯碼的動作,直接采用多核心處理器來進(jìn)行編譯碼動作其實效益不明顯。而在行動應(yīng)用方面,其實功耗依然是行動產(chǎn)品廠商所最注重的,即便ARM11 MPCore能夠達(dá)到極低的多核心同時工作功耗,但是依然無法與單核心版本相比,因此在行動應(yīng)用上能見度不高。但是隨著Intel推行MID(Mobile Internet Device),類似的產(chǎn)品可望成為ARM11 MPCore架構(gòu)的極大機(jī)會,因為即便是Stealey的下一代45nm產(chǎn)品Silverthorne,其功耗依然比MPCore高了5倍以上(加上芯片組的總功耗),且僅為單核心架構(gòu),在應(yīng)用靈活度上明顯不如MPCore架構(gòu),不過有1點(diǎn)值得注意的是,Silverthorne挾帶了龐大的X86軟件資源,ARM等基于RISC體系處理器在這方面要明顯屈居于下風(fēng)。

在RISC架構(gòu)的類MID產(chǎn)品上,也可以考慮ARM最新的處理器架構(gòu),也就是Cortex-A8,該處理器基于最新的ARM v7體系,并且整合了1個64位DSP處理單元,對串流應(yīng)用具備有極佳的加速能力,因此非常適用于類MID掌上型裝置的多媒體、甚至是游戲應(yīng)用。嚴(yán)格上來,Cortex-A8也能算是多核心體系之一,但是其架構(gòu)與MPCore之類的同質(zhì)核心不同,而是采用1個通用處理器核心,并搭配個DSP核心而成的異質(zhì)多核心處理器,相信這方面ARM向德州儀器公司借鑒了不少應(yīng)用處理器的開發(fā)經(jīng)驗。

圖說:Cortex-A8的結(jié)構(gòu)示意圖。

事實上,NOKIA的N770/N800便已經(jīng)具備了MID的所有功能,而且更為輕薄短小,但遺憾的是,搭配原廠的1500mAh充電電池,其持續(xù)使用時間僅能達(dá)到3.5個小時,與一般市面上的UMPC產(chǎn)品相去不遠(yuǎn),稍遜于Intel的MID產(chǎn)品,采用ARM體系處理器(N800采用基于ARM1136J(F)-S核心的i.MX31應(yīng)用處理器)的省電優(yōu)勢在此并沒有被凸顯出來,不過待機(jī)時間比之MID要略長。

堅持多執(zhí)行緒路線的MIPS

或許可以視為意氣之爭,MIPS堅持與ARM實行不同的技術(shù)發(fā)展策略,ARM發(fā)展Multi Processor(MP,多處理器核心),而MIPS則往Multi Thread(MT,多執(zhí)行緒)發(fā)展,就應(yīng)用概念上來看,MP與MT技術(shù)兩者均致力于提高處理器的整體性能,兩者都可以減少任何應(yīng)用當(dāng)前軟件執(zhí)行緒的處理時間。但這兩種技術(shù)采用了不同的硬件結(jié)構(gòu)來減少處理時間,因此對于任意的特定軟件程序代碼來說,MP與MT對處理器性能的提升著程度上的不同。

但是會造成這樣的結(jié)果,其實2家IP廠商的研發(fā)概念上有很大的關(guān)連。由于MT技術(shù)著重于處理單元、內(nèi)存控制器的有效利用,在最大程度上節(jié)省晶體管的使用,并且在此前提之下往上提升效能表現(xiàn),這與MP架構(gòu)中,系統(tǒng)效能需求有多少,就復(fù)制多少個核心塞進(jìn)芯片中的浪費(fèi)作法完全不同,MP可以取得較為全面的應(yīng)用廣度,但是稍嫌鋪張浪費(fèi),相較之下,MT在成本與效能方面的平衡性表現(xiàn)要來得高明些。

許多人將MP與MT相提并論,而在某種程度上,這樣的比較其實并沒有太大意義,因為基本設(shè)計概念已經(jīng)天差地遠(yuǎn),架構(gòu)上的采用自然無法一概而論。在技術(shù)上,為了實現(xiàn)硬件多重處理,兩者對于軟件最佳化的復(fù)雜度方面其實都同樣比單核心架構(gòu)要來得復(fù)雜許多,而為了要盡量避免處理單元與內(nèi)存控制器在資源分配上的沖突,MT架構(gòu)或許會來得更為復(fù)雜一些,但MP架構(gòu)其實在某些程度上也會面臨同樣的問題(特別是共享高速緩存與內(nèi)存控制器的多核心架構(gòu))。不論是在指令層級,或是執(zhí)行緒層級的多任務(wù),都與傳統(tǒng)單核心單執(zhí)行緒的程序?qū)懽鞣绞脚c最佳化方法大異其趣。

一般的MT架構(gòu)設(shè)計方面,單一處理器核心在運(yùn)算的過程中,常會有內(nèi)存存取速度跟不上處理器頻率增加的問題,進(jìn)而導(dǎo)致高速緩存錯失(miss)時,形成執(zhí)行管線長時間閑置的狀況,我們都了解,1個系統(tǒng)中的儲存單元,最快速的要屬處理器中的緩存器,其次是L1高速緩存、L2快取記體,最后則是主存儲器,其速度的差別可達(dá)數(shù)千倍以上,處理器要取得指令或數(shù)據(jù)時,必先從高速緩存中提取,儲存于緩存器中進(jìn)行運(yùn)算,最終結(jié)果再回存到高速緩存,并在空閑時填回主存儲器,當(dāng)處理器向高速緩存發(fā)出存取需求,卻發(fā)現(xiàn)所需要的數(shù)據(jù)不在高速緩存中,這是就必須花費(fèi)大筆的時間前往主存儲器尋找并讀取,這其間所浪費(fèi)的時間可能會高達(dá)數(shù)十個頻率周期,處理管線在等待數(shù)據(jù)填補(bǔ)的時間,就形成了閑置狀態(tài)。

如果利用多執(zhí)行緒處理概念,適時的將其它執(zhí)行緒拉過來填補(bǔ)已經(jīng)造成的閑置狀態(tài),其速度的增長甚至可以達(dá)到非常明顯的地步,雖不至于倍增,但是由20%到40%都有可能。而要達(dá)成這樣的目的,在晶體管數(shù)目方面只需增加約15%的程度即可,若以一般同樣架構(gòu)的單核心處理器在變更為雙核心的效能增長程度約為40%到70%左右的程度,而晶體管數(shù)目幾乎要倍增的情況,就可看出MIPS的MT技術(shù)的效率有多高了。但是MT技術(shù)有個嚴(yán)重的缺陷,那就是多執(zhí)行緒工作處理過程中,過于頻繁的上下文切換(context switch)將有可能會造成極大的效能耗損。

圖說:MIPS 74K處理器結(jié)構(gòu)示意圖。

MIPS公司有大產(chǎn)品線,分別是單執(zhí)行緒的24K與74K系列,以及多執(zhí)行緒的34K系列。74K甫于今年六月發(fā)表,在65nm制程下,其運(yùn)作頻率已經(jīng)超越1GHz,采用通用處理器搭配DSP核心的設(shè)計,不過總體效能與功耗表現(xiàn)略遜于類似架構(gòu)的ARM Cortex-A8。多執(zhí)行緒處理器的主角—34K系列,該處理器核心能設(shè)定1或2個虛擬處理組件(VPE)以及最多5個執(zhí)行緒內(nèi)容(TC),提供充分的可配置彈性。但是講白了,其實兩個VPE的作法就是將單顆核心模擬為2個核心,使34K核心能同時執(zhí)行兩個獨(dú)立的操作系統(tǒng),或是一個雙路的對稱式多重處理器操作系統(tǒng)。

MIPS32 34Kc核心采用90nm制程,最差操作狀態(tài)下頻率為500MHz。核心尺寸為2.1mm2,而核心部分耗電量為0.56mW/MHz@1.0V。目前該 系列核心共包含34Kc、34Kf、34Kc Pro以及34Kf Pro。這些核心具備完全兼容于IEEE 754規(guī)格的硬件浮點(diǎn)運(yùn)算處理器。其中34Kc Pro與34Kf Pro核心具備CorExtend功能,能讓SoC研發(fā)業(yè)者自行擴(kuò)增指令。

圖說:MIPS 34K處理器結(jié)構(gòu)示意圖。

根據(jù)MIPS自家的估算,與同家族的24K系列產(chǎn)品相較起來,34K在2個VPE以及2個TC的組態(tài)設(shè)定之下,可以將效能提升到超越24K處理器60%的程度,芯片面積大略增加14%,而因為多執(zhí)行緒作業(yè)所導(dǎo)致的高速緩存失誤比率則是由4.41%增加到5.16%,算是在可接受的范圍之內(nèi)。不過與單核心74K相較起來,34K反而更不適用于網(wǎng)絡(luò)或多媒體串流的密集計算環(huán)境,而VPE和TC單元的增加,同樣也會加大芯片的面積。雖說MT技術(shù)的局限性,使其不適合用于多媒體編譯碼應(yīng)用上,但是在汽車電子方面,已經(jīng)有廠商成功利用2顆34K處理器組成雙核多執(zhí)行緒處理器,并提供的相當(dāng)優(yōu)秀的執(zhí)行效能,有此成功的前例可循,我們也可以預(yù)測,未來MIPS將會有更多結(jié)合多核與多執(zhí)行緒的解決方案出現(xiàn),不過這么一來,在成本調(diào)配方面的優(yōu)勢還能剩下多少,就由方案提供廠商去傷腦筋吧。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18928

    瀏覽量

    227266
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298640
  • 汽車電子
    +關(guān)注

    關(guān)注

    3014

    文章

    7740

    瀏覽量

    164886
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式多核處理器硬件結(jié)構(gòu)分析與對排序算法進(jìn)行并行化優(yōu)化

    常常在嵌入式領(lǐng)域使用,常見的是通用嵌入式處理器+DSP核。本文探究的嵌入式多核處理器采用同構(gòu)結(jié)構(gòu),實現(xiàn)同一段代碼不同處理器上的并行
    的頭像 發(fā)表于 10-17 07:55 ?3910次閱讀

    多核執(zhí)行嵌入式系統(tǒng)解決方案

    應(yīng)用上的案例其實非常少?! 《?b class='flag-5'>多執(zhí)行處理器汽車電子或者是嵌入式網(wǎng)絡(luò)
    發(fā)表于 06-17 11:47

    誠聘嵌入式軟件架構(gòu)

    獵頭職位:嵌入式軟件架構(gòu)師【廈門】崗位職責(zé):1、負(fù)責(zé)軟件系統(tǒng)總體方案設(shè)計和詳細(xì)設(shè)計,負(fù)責(zé)核心代碼編寫;2、負(fù)責(zé)技術(shù)方案評審,負(fù)責(zé)制定系統(tǒng)測試
    發(fā)表于 03-01 10:20

    網(wǎng)絡(luò)物理系統(tǒng)(CPS) - 面向安全關(guān)鍵應(yīng)用的未來異構(gòu)多核E / E架構(gòu)

    于行業(yè)創(chuàng)新的具有可擴(kuò)展的硬件/軟件集成和各種虛擬化解決方案的相關(guān)方法至關(guān)重要。演講將重點(diǎn)關(guān)注嵌入式異構(gòu)多核E / E架構(gòu)解決
    發(fā)表于 09-26 01:27

    熟知ARM如何構(gòu)架,了解嵌入式系統(tǒng)基本核心

    目前嵌入式開發(fā)的過程,開發(fā)者往往把大量精力投入到嵌入式微處理器 MPU(Micro Processing Unit)與眾多外設(shè)的連接方式以及應(yīng)用代碼的開發(fā)之中,而忽視了對
    發(fā)表于 05-09 07:00

    嵌入式軟件開發(fā)的程序架構(gòu)

    單片機(jī)軟件開發(fā)的初期大多數(shù)開發(fā)者采用的都是簡單的前后臺順序執(zhí)行架構(gòu)嵌入式軟件開發(fā),程序架構(gòu)
    發(fā)表于 02-02 06:58

    多核嵌入式系統(tǒng)存在的局限性?怎么解決這些問題?

    本文列舉了多核嵌入式系統(tǒng)存在的一些主要局限,并對解決這些局限的可行方案進(jìn)行了探討。將以一些嵌入式系統(tǒng)為例,指出利用現(xiàn)有架構(gòu)改進(jìn)系統(tǒng)節(jié)能效果的
    發(fā)表于 03-09 06:36

    嵌入式系統(tǒng)軟件開發(fā)環(huán)境

    嵌入式系統(tǒng)的概念嵌入式系統(tǒng)的基本架構(gòu)嵌入式操作系統(tǒng)的基本組成和分類嵌入式數(shù)據(jù)庫管理嵌入式
    發(fā)表于 11-08 08:37

    嵌入式系統(tǒng)架構(gòu)設(shè)計的理解

    的Demo,可以直接編譯、執(zhí)行;【我對架構(gòu)設(shè)計的理解】1.架構(gòu)設(shè)計概念的認(rèn)識相信看這篇文章的同學(xué),大部分都是從事嵌入式開發(fā)的,大家也肯定有這么一個印象:
    發(fā)表于 11-08 08:23

    嵌入式實時系統(tǒng)多核負(fù)載均衡調(diào)度架構(gòu)的相關(guān)資料推薦

    背景介紹目前嵌入式開發(fā)為了追求穩(wěn)定性、可靠性,多核處理器使用靜態(tài)任務(wù)調(diào)度架構(gòu),靜態(tài)分配CPU、進(jìn)程(APP)、線程(Task)、任務(wù)(runnable)的多層調(diào)用關(guān)系樹。系統(tǒng)
    發(fā)表于 12-14 07:25

    LabVIEW 禁止其他可多核心處理的應(yīng)用程序在所有核心執(zhí)行

    自行來處理。 倘若其他的應(yīng)用程序不能處理它們自己的線程,將MKL_SERIAL的值設(shè)成 YES 將會使它們受到限制,變成只能在單一核心環(huán)境執(zhí)
    發(fā)表于 05-21 21:56

    嵌入式異構(gòu)多核的片上通信架構(gòu)設(shè)計

    為了克服目前嵌入式異構(gòu)多核處理器的片上通信架構(gòu)無法提供高效的異構(gòu)多核協(xié)作架構(gòu)的問題,本文分析
    發(fā)表于 12-04 11:30 ?26次下載

    嵌入式軟件行業(yè)針對異構(gòu)多核芯片開發(fā)出首個全面解決方案及產(chǎn)品附加信息

    Mentor Graphics Corporation 日前宣布推出嵌入式軟件行業(yè)針對異構(gòu)多核芯片(SoC)開發(fā)的首個全面解決方案。 異構(gòu)架構(gòu)即結(jié)合兩種或多種不同類型的微處理器或微控制
    發(fā)表于 09-14 16:12 ?20次下載
    <b class='flag-5'>嵌入式</b>軟件行業(yè)針對異構(gòu)<b class='flag-5'>多核</b>芯片開發(fā)出首個全面解決<b class='flag-5'>方案</b>及產(chǎn)品附加信息

    基于嵌入式環(huán)境的WiFi通信設(shè)計方案詳解

    嵌入式WiFi技術(shù)是當(dāng)前無線網(wǎng)絡(luò)應(yīng)用的一個熱點(diǎn)。本文介紹IEEE802.11b的基本技術(shù),給出一種嵌入式環(huán)境
    發(fā)表于 07-28 11:41 ?5614次閱讀
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>環(huán)境</b>的WiFi通信設(shè)計<b class='flag-5'>方案</b>詳解

    Mentor嵌入式多核架構(gòu)的展示

    Mentor嵌入式多核架構(gòu)允許Zynq UltraScale + MPSoC上的兩個ARM Cortex-R5內(nèi)核上同步4個ARM Cortex-A53內(nèi)核上的Linux和Mento
    的頭像 發(fā)表于 11-27 06:44 ?3140次閱讀