<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 什么是異構(gòu)多處理系統(tǒng),為什么需要異構(gòu)多處理系統(tǒng)?

          什么是異構(gòu)多處理系統(tǒng),為什么需要異構(gòu)多處理系統(tǒng)?

          作者: 時間:2016-06-20 來源:網(wǎng)絡(luò) 收藏

            早期嵌入式處理系統(tǒng)通常由一個微控制器和一系列外設(shè)構(gòu)成。這些系統(tǒng)通常用來完成獲取少量數(shù)據(jù)、處理數(shù)據(jù)、做出決策、基于決策結(jié)果輸出信息等工作。在某些情況下會實現(xiàn)簡單的人機(jī)交互接口如讀取鍵盤并顯示結(jié)果。處理需求、同時產(chǎn)生需求,以現(xiàn)在的標(biāo)準(zhǔn)來看似乎微不足道。現(xiàn)代嵌入式系統(tǒng)通常需要處理和分析十億字節(jié)級的海量數(shù)據(jù),而且常常在確定性和低延時運算上還有一些額外要求。許多應(yīng)用還要求系統(tǒng)在滿足相關(guān)行業(yè)標(biāo)準(zhǔn)的同時可靠符合可靠性和安全性要求。

          本文引用地址:http://www.ex-cimer.com/article/201606/292846.htm

            目前,似乎還不可能在單一處理器上同時滿足處理高帶寬數(shù)據(jù)、執(zhí)行系統(tǒng)應(yīng)用程序、響應(yīng)實時請求并滿足行業(yè)安全標(biāo)準(zhǔn)。然而,多核異構(gòu)芯片卻可以實現(xiàn)這些功能。這樣的設(shè)備具有多個處理單元,每一個單元都有能力負(fù)責(zé)處理一個或多個前述需求,我們稱這樣的設(shè)備為異構(gòu)處理系統(tǒng)。

            1 什么是呢?

            一個系統(tǒng)由不同類型的多個單核心或多核心處理器構(gòu)成,異構(gòu)多核處理系統(tǒng)最簡單的形式是由一個多核處理器和GPU組成。然而,現(xiàn)代科技讓一顆芯片上的系統(tǒng)包含以下模塊:

           ?、俣嗪藨?yīng)用處理器(Multicore Applications Processors);

            ②多核圖形處理器(Multicore Graphics Processors;

           ?、鄱嗪藢崟r處理器(Multicore Real-Time Processors);

           ?、芷脚_管理單元(Platform Management Unit);

           ?、菖渲煤桶踩到y(tǒng)(Configuration and Security Unit);

           ?、拊?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/FPGA">FPGA可編程邏輯上實現(xiàn)特定多核處理器。

            本文所引用的異構(gòu)多核處理系統(tǒng)包括上述的多個分類。使用邏輯實現(xiàn)多核處理器的優(yōu)勢是:它可以創(chuàng)建自定義特殊應(yīng)用處理器,通過并行Pipes和多Pipeline stages來實現(xiàn)二維并行數(shù)據(jù)處理,使得在一個時鐘周期里可以完成大量的計算。

            多核處理器可以設(shè)計用來執(zhí)行通用計算或者是專用計算。和通用處理器執(zhí)行相同功能相比較,專用計算在減小硅片封裝、提高單時鐘周期吞吐率、低功耗的同時能實現(xiàn)數(shù)據(jù)優(yōu)化處理。

            2 含可編程邏輯的異構(gòu)處理系統(tǒng)演變

            Xilinx在2002年推出了第一款帶PowerPC405應(yīng)用處理器的,在接下來的FPGA里,Xilinx在單片內(nèi)集成了更高性能的PowerPC單核或雙核處理器。不像現(xiàn)今產(chǎn)品代的器件處理系統(tǒng)是一個集成的ASSP(包含處理器、互聯(lián)、存儲控制器和外設(shè)),早期產(chǎn)品需要大量的FPGA資源將各部分資源連接在一起形成一個ASSP-like的解決方案。

            2011年,Xilinx推出了Zynq-7000系列高集成度的器件,它集成了ARM Cortex-A9 MPCore處理器、互聯(lián)單元、內(nèi)存控制器、外設(shè)以及基于Xilinx 7系列FPGA的可編程邏輯。有人肯能會認(rèn)為Zynq-7000系列是第一代“異構(gòu)多處理”系統(tǒng),因為片上的可編程邏輯使得創(chuàng)建和使用專用處理單元成為現(xiàn)實。

            3 含可編程邏輯的最新一代異構(gòu)處理系統(tǒng)

            2015年,Xilinx發(fā)布并且開始供貨新一代異構(gòu)多處理器件Zynq UltraScale+ MPSoC。之前的器件集成了可編程邏輯和一個或多個應(yīng)用處理器,Zynq UltraScale+ MPSoC器件集成了:

            ①多核應(yīng)用處理器:四核ARM Cortex-A53應(yīng)用處理器;

           ?、诙嗪藞D形處理器:雙核ARM Mali-400圖形處理器;

            ③多核實時處理器:雙核ARM Cortex-R5實時處理器,可同步運行安全性要求苛刻的應(yīng)用;

            ④平臺管理單元:一致性三冗余處理器用于power、錯誤管理和功能安全管理;

           ?、菖渲煤桶踩珕卧阂恢滦匀哂嗵幚砥饔糜谙到y(tǒng)配置和安全管理;

            ⑥FPGA可編程邏輯:用戶可編程邏輯用于定制處理器、處理單元和外設(shè)。

            

           

            多核應(yīng)用處理器是傳統(tǒng)的用于通用計算的重負(fù)載處理器。這些處理器一般工作在SMP模式,運行一個Linux或Andriod操作系統(tǒng),當(dāng)然也支持虛擬管理運行多操作系統(tǒng)。

            圖形處理單元是繼浮點運算單元之后最流行的協(xié)處理器。GPU從應(yīng)用處理器分擔(dān)圖形處理負(fù)載,實現(xiàn)復(fù)雜的用戶界面和復(fù)雜的圖形渲染。對Andriod或Windows CE之類的操作系統(tǒng)而言,這些都是必須的基本功能。通用目的GPU(GPGPU)除了圖形處理,還可以勝任數(shù)據(jù)陣列通用計算。

            實時處理器可以低延時響應(yīng)事件,和應(yīng)用處理器比較通常也更具確定性。在大多數(shù)情況下會運行支持低延時中斷處理和確定性應(yīng)答的實時操作系統(tǒng)。在功能安全性應(yīng)用中,實時處理器通常會運行在雙核鎖步模式下,這樣可以檢測雙處理器中一個處理器出現(xiàn)的錯誤。

            平臺管理單元負(fù)責(zé)管理關(guān)鍵的系統(tǒng)功能和服務(wù)。這些功能包括系統(tǒng)錯誤處理、功耗管理和功能安全任務(wù)等。作為系統(tǒng)的心臟,該單元不容失敗。因此,這里使用了包含表決邏輯的三冗余處理器,這使得即使有一個處理器核發(fā)生錯誤事件,子系統(tǒng)也可以繼續(xù)運行。

            配置和安全單元負(fù)責(zé)系統(tǒng)配置,包括加載處理器第一級Bootloader、可編程邏輯的配置bit stream,程序代碼和bit文件均有可選的加密認(rèn)證和解密功能。配置和安全單元還可提供持續(xù)的安全監(jiān)控,比如過壓或欠壓、低溫或高溫、試圖提取系統(tǒng)信息訪問等。

            片上可編程邏輯為異構(gòu)處理帶來了充分的靈活性??梢酝ㄟ^添加額外的現(xiàn)成的軟核來處理特殊應(yīng)用的計算任務(wù),也可以在不同層級添加多pipeline和多pipeline stage自定義軟核實現(xiàn)數(shù)據(jù)流的大規(guī)模并行處理。

            4 異構(gòu)多處理系統(tǒng)實例

            機(jī)器人拾取和放置裝配線是一個很常見的機(jī)器視覺和控制應(yīng)用實例,這個應(yīng)用通常有以下基本功能:

           ?、俑叻直媛氏鄼C(jī)視頻采集系統(tǒng);

           ?、诎炼葘Ρ榷日{(diào)節(jié)、失真校正和消除死點等功能的視頻圖像處理;

           ?、勰繕?biāo)檢測和識別;

            ④標(biāo)記組件在裝配中正確位置的算法決策;

           ?、輽C(jī)器手臂運動路徑選擇;

            ⑥電機(jī)驅(qū)動控制;

           ?、甙踩录z測和關(guān)機(jī);

           ?、嘤糜跔顟B(tài)顯示和系統(tǒng)控制的圖形用戶界面;

            ⑨配置和安全管理。

            上述的每一個功能都可能需要特定的處理能力,比如,讓通用處理器來處理實時HD圖像,處理器很容易就會負(fù)載過重?zé)o法在特定時間完成處理。

            那么,就讓我們考慮使用這種異構(gòu)多處理系統(tǒng)實現(xiàn)可能的解決方案。為了有助于更加形象的理解,Xilinx將會以Zynq UltraScale+ MPSoC控制機(jī)器人系統(tǒng)在平板電腦上玩紙牌游戲的例子來詮釋。系統(tǒng)的部分功能已經(jīng)實現(xiàn)并在“Embedded World 2016”展會上展示。

            4.1 視頻獲取和處理

            1080P60視頻流要求3Gbps(373MB/s)的數(shù)據(jù)率,視頻流路徑上需要做的處理可能包括:亮度、對比度調(diào)節(jié),白平衡,失真校正,死點剔除等。這些bit級處理用可編程邏輯完成非常高效,無需處理器太多參與。

            4.2 目標(biāo)檢測和識別

            初始對象檢測通常需要掃描整幅圖像尋找類似細(xì)節(jié)目標(biāo)輪廓之類的關(guān)鍵特征,這項功能一般由可編程邏輯實現(xiàn)。一旦目標(biāo)被判定為疑似目標(biāo),那么就可能需要執(zhí)行更為復(fù)雜的算法對目標(biāo)進(jìn)行更進(jìn)一步的決策判定。應(yīng)用處理器通常負(fù)責(zé)目標(biāo)識別的下一級數(shù)據(jù)量變小但算法更加復(fù)雜的處理。

            在這個機(jī)器人紙牌游戲案例中,所有的圖像都是通過可編程邏輯掃描,識別紙牌邊界和定位游戲紙牌,以及紙牌的排列和花色。隨著數(shù)據(jù)量明顯降低,紙牌排列和邊界圖像被遞交給應(yīng)用處理器通過圖像識別算法來識別排列和花色。

            4.3 算法決策

            算法決策一般是很復(fù)雜的處理,通常通用應(yīng)用處理器可以很好的完成。在我們的例子里, 新牌打出的時候觸發(fā)應(yīng)用處理器計算新的關(guān)于牌的角色和運動可能的決策集。

            4.4 運動路徑選擇

            兩點之間,直線最短,這樣的路徑會導(dǎo)致目標(biāo)在兩個端點之間發(fā)生沖突。運動路徑通常被分為多段,并且需要從傳統(tǒng)的笛卡爾坐標(biāo)系中翻譯到機(jī)器人運行系統(tǒng)坐標(biāo)系。在我們的多核異構(gòu)系統(tǒng)中,這既可以通過應(yīng)用處理器完成也可以通過實時處理器完成。

            機(jī)器人紙牌游戲相對而言會比較簡單,因為在平板電腦上運動路徑?jīng)]有潛在的障礙物。我們在應(yīng)用實例里選擇了Delt機(jī)器人,Delt機(jī)器人結(jié)構(gòu)通常是三個并聯(lián)手臂連接到一個和受動器相關(guān)的通用關(guān)節(jié)執(zhí)行器上。因此,受動器在3D笛卡爾坐標(biāo)系中的運動必須翻譯成三個獨立馬達(dá)的運動矢量,在這個應(yīng)用中所需的x,y,z坐標(biāo)參數(shù)傳給實時處理器來計算三個機(jī)械手臂各自的運動路徑。

            4.5 電機(jī)驅(qū)動控制

            電機(jī)控制算法用于控制加速、正常運行和減速,對機(jī)械約束允許的最小運動時間進(jìn)行優(yōu)化,確保在加減速的過程中不會對部件造成損害,減小能量消耗等等。上述計算和運動驅(qū)動一起,通常都是通過實時處理器來實現(xiàn),實時處理器在這些方面體現(xiàn)出卓越的性能,在我們的例子里也是如此。實時處理器工作在鎖步模式下來增加可靠性。

            4.6 安全事件檢測和關(guān)機(jī)

            安全事件可以是人進(jìn)入機(jī)器人視野,而機(jī)器人可能會對人類造成傷害,能夠識別這一事件并且在一定程度上快速響應(yīng)保護(hù)人類對系統(tǒng)而言至關(guān)重要。我們機(jī)器人紙牌運動員在其周圍構(gòu)建了一個紅外線墻,當(dāng)某一光束中斷,機(jī)器人的電源會馬上關(guān)閉,然后系統(tǒng)會立馬停止。在這個例子里,可以使用三冗余平臺管理單元,這個高度可靠的處理單元可以接收來自紅外線墻的輸入,在事件檢測時關(guān)閉機(jī)器人。

            4.7 圖形用戶接口

            圖形用戶接口(GUIs)通常運行在Linux操作系統(tǒng)上層,Linux支持從基本的窗口管理器擴(kuò)展到完整桌面環(huán)境。

            這個紙牌機(jī)器人系統(tǒng)需要顯示紙牌桌界面,實時預(yù)覽HD相機(jī)圖像,紙牌排列和花色檢測窗口顯示以及游戲狀態(tài)窗口等等。Ubuntu桌面環(huán)境提供了一個很好的平臺,在這上面前述內(nèi)容都可以實現(xiàn)很好的顯示,并且可以通過這些用戶界面控制游戲。多核應(yīng)用處理器是運行Linux和Ubuntu桌面的完美選擇,集成的多核GPU用于融合顯示2D、3D和視頻數(shù)據(jù)。

            4.8 配置和安全

            處理系統(tǒng)需要啟動操作系統(tǒng)和應(yīng)用程序,可編程邏輯也需要配置。開發(fā)者越來越希望保護(hù)他們的代碼和知識產(chǎn)權(quán)核不被競爭對手和黑客獲取,因此代碼和配置數(shù)據(jù)的加密和驗證對確保代碼正確加載至關(guān)重要。一旦運行,系統(tǒng)就需要保護(hù)免受外界影響。

            在這個例子里面,配置和安全單元在紙牌游戲運行之前執(zhí)行驗證和解密代碼及配置數(shù)據(jù)。燒錄的E-Fuses可以保護(hù)配置和數(shù)據(jù)不能通過JTAG之類的接口回讀。

            系統(tǒng)攻擊可能會導(dǎo)致信息泄露或者不正常的運行。這些攻擊可能包括過壓/欠壓或者是超高溫/超低溫等,這些攻擊可以被檢測到并按需鎖定系統(tǒng)。

            5 總結(jié)

            早期的嵌入式系統(tǒng)通常包含一個或幾個微處理器來處理包括用戶接口、數(shù)據(jù)采集、數(shù)據(jù)處理、外部控制和應(yīng)用處理等各種各樣的功能。接下來的各代產(chǎn)品帶來更高性能的處理器、多核處理器、專用處理器和實時處理器。FPGA最初以膠合邏輯角色出現(xiàn),隨著他們邏輯量變大,已經(jīng)用于實現(xiàn)額外的外設(shè)、狀態(tài)機(jī)和大規(guī)模并行數(shù)據(jù)處理。最新一代Xilinx Zynq UltraScale+ MPSoC是一個單片異構(gòu)多處理系統(tǒng),它由多核應(yīng)用處理器、多核圖形處理器、多核實時處理器 、一個平臺管理單元、一個配置和安全管理單元以及可實現(xiàn)多處理組件的編程邏輯組成。這樣的器件使得軟件和硬件都可以根據(jù)特定應(yīng)用完全定制來充分滿足目標(biāo)嵌入式應(yīng)用的要求。



          關(guān)鍵詞: 異構(gòu)多處理 FPGA

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();