<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 學(xué)習方法與實(shí)踐 > ARM多核和MIPS多執行緒嵌入式處理器技術(shù)剖析

ARM多核和MIPS多執行緒嵌入式處理器技術(shù)剖析

作者:林宗輝 時(shí)間:2008-03-21 來(lái)源:DIGITIMES 收藏

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

本文引用地址:http://dyxdggzs.com/article/80448.htm

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

       應用決定多核或多緒

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

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

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

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

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

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

△圖說(shuō):ARM11 MPCore的結構示意圖。(www.inuxdevices.com)

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

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

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

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

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

△圖說(shuō):Cortex-A8的結構示意圖。(www.arm.com

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

       堅持多執行緒路線(xiàn)的MIPS

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

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

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

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

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

△圖說(shuō):MIPS 74K處理器結構示意圖。(www.mips.com)

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

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

△圖說(shuō):MIPS 34K處理器結構示意圖。(www.mips.com)

       根據MIPS自家的估算,與同家族的24K系列產(chǎn)品相較起來(lái),34K在2個(gè)VPE以及2個(gè)TC的組態(tài)設定之下,可以將效能提升到超越24K處理器60%的程度,芯片面積大略增加14%,而因為多執行緒作業(yè)所導致的高速緩存失誤比率則是由4.41%增加到5.16%,算是在可接受的范圍之內。

       不過(guò)與單核心74K相較起來(lái),34K反而更不適用于網(wǎng)絡(luò )或多媒體串流的密集計算環(huán)境,而VPE和TC單元的增加,同樣也會(huì )加大芯片的面積。雖說(shuō)MT技術(shù)的局限性,使其不適合用于多媒體編譯碼應用上,但是在汽車(chē)電子方面,已經(jīng)有廠(chǎng)商成功利用2顆34K處理器組成雙核多執行緒處理器,并提供的相當優(yōu)秀的執行效能,有此成功的前例可循,我們也可以預測,未來(lái)MIPS將會(huì )有更多結合多核與多執行緒的解決方案出現,不過(guò)這么一來(lái),在成本調配方面的優(yōu)勢還能剩下多少,就由方案提供廠(chǎng)商去傷腦筋吧。
 

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: ARM MIPS 嵌入式 處理器 多核

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>