當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]設(shè)計(jì)靈活、高性能的嵌入式系統(tǒng)

    您的下一個(gè)嵌入式系統(tǒng)設(shè)計(jì)項(xiàng)目需要的是什么:是可以讓您輕松地定制設(shè)計(jì)的靈活的系統(tǒng)元件,還是額外的性能空間,以便您在設(shè)計(jì)周期中加入更多的功能?為什么要讓自己承受過度的開發(fā)壓力,并且只能舍此取彼呢?軟處理和IP定制能夠?yàn)橥瑫r(shí)確保靈活性和高性能提供了最佳的解決方案,將定制設(shè)計(jì)的概念和協(xié)處理帶來的性能加速結(jié)合起來。
 
    分立處理器只能提供固定的外設(shè)選擇,并且一些性能受到時(shí)鐘頻率的限制。在嵌入式FPGA所提供的平臺上,您可以創(chuàng)建一個(gè)具有大量定制處理器核、靈活的外設(shè)、甚至協(xié)處理減負(fù)引擎的系統(tǒng)?,F(xiàn)在,您能設(shè)計(jì)出一個(gè)不折不扣的定制處理系統(tǒng)——不僅滿足最具挑戰(zhàn)性的項(xiàng)目要求,而且能夠沖破性能極限,與此同時(shí),通過使用FPGA硬件實(shí)現(xiàn)加速的軟件指令最大限度地提高系統(tǒng)的性能。隨著FPGA架構(gòu)的加速,從前的限制便不復(fù)存在。
 
靈活性
    除了在Xilinx® VirtexTM平臺的FPGA中所提供的高性能PowerPCTM硬件處理核和使用匯編語言編程的占位空間更小的PicoBlazeTM微控制器外,Xilinx公司還提供一種可定制的通用32位RISC處理器。由于可以使用Virtex或SpartanTM系列產(chǎn)品中的任意一款在邏輯門外對其進(jìn)行構(gòu)建,因此MicroBlazeTM軟件處理器的使用十分靈活,并且您能夠通過定制處理IP外設(shè)來滿足您的特定要求。
 
    使用可定制核和IP,您只需創(chuàng)建所需的系統(tǒng)元件而不浪費(fèi)任何芯片資源。當(dāng)您使用像FPGA這樣的可編程器件構(gòu)建一個(gè)處理系統(tǒng)時(shí),就不會在分立器件中浪費(fèi)任何未使用的資源,也不會出現(xiàn)當(dāng)需要的外設(shè)數(shù)量超過所提供的數(shù)量時(shí)(例如您的設(shè)計(jì)需要3個(gè)UART,而分立器件只能提供1個(gè)或2個(gè)),設(shè)計(jì)無法繼續(xù)進(jìn)行的情況。此外,您不會受限于初始的架構(gòu)設(shè)想;相反,您能不停地進(jìn)行大的修改并且能夠調(diào)整系統(tǒng)架構(gòu)來適應(yīng)新的需求特性或不斷變化的標(biāo)準(zhǔn)。

圖1 - 簡化的MicroBlaze框圖
 
    在“2006年嵌入式系統(tǒng)大會”的論文匯編中有一個(gè)FIR濾波器的設(shè)計(jì)示例,其中,MicroBlaze系統(tǒng)包含一個(gè)可選的符合IEEE 754標(biāo)準(zhǔn)的內(nèi)部浮點(diǎn)單元(FPU),從而大大提高了該處理器核上僅可由軟件執(zhí)行的操作的性能。通過加入可選的MicroBlaze元件,可以迅速地提高應(yīng)用程序的性能。
 
    這些可選內(nèi)部元件的另外一個(gè)優(yōu)勢就是它們得到MicroBlaze C編譯器的全面支持,因此不必改變源代碼。在這個(gè)FIR濾波器設(shè)計(jì)示例中,由于調(diào)用外部C代碼庫的浮點(diǎn)函數(shù)的操作被使用新的FPU的指令自動取代,因此加入FPU和對設(shè)計(jì)的重復(fù)編譯意味著直接的性能提升。
 
    與軟件重新編碼方法相比,使用專用硬件處理單元,能夠?qū)⑼瓿商囟ㄈ蝿?wù)所需的時(shí)鐘周期數(shù)減少幾個(gè)數(shù)量級,從而提高處理器的性能。圖1的簡化圖顯示了一個(gè)帶有內(nèi)部FPU IP核、本地存儲器核和像UART或JTAG調(diào)試端口這樣的可選外設(shè)的MicroBlaze處理系統(tǒng)。由于系統(tǒng)是可定制的,我們可以方便地實(shí)現(xiàn)Xilinx處理器IP產(chǎn)品目錄中所包含的多個(gè)UART或其他的IP外設(shè)核,其中包括DMA控制器、IIC、CAN或DDR存儲器接口等。
 
    該IP產(chǎn)品目錄提供了門類齊全的其他處理IP(橋、仲裁器、中斷控制器、GPIO、定時(shí)器和存儲器控制器等),以及適用于每個(gè)IP核的可定制選項(xiàng)(例如波特率和奇偶校驗(yàn)位),以對元件的特性、性能和尺寸/成本進(jìn)行優(yōu)化。此外,您還能設(shè)置與處理核相關(guān)的時(shí)鐘頻率、調(diào)試模式、本地存儲器容量、高速緩存和其它選項(xiàng)。僅僅增加一個(gè)FPU核,我們就能創(chuàng)建一個(gè)可將前文所提到的FIR的實(shí)現(xiàn)從8,500,000個(gè)CPU周期優(yōu)化至177,000個(gè)CPU周期的MicroBlaze系統(tǒng),這樣,在不改變C代碼源文件的情況下即可將性能提高48倍。
 
    在第二個(gè)示例中,我們將構(gòu)建另外一個(gè)設(shè)計(jì)模塊,實(shí)現(xiàn)一個(gè)面向MP3解碼器的IDCT引擎,這一設(shè)計(jì)可使應(yīng)用模塊的速度加快一個(gè)數(shù)量級。
 
    您可以使用圖2中所示的開發(fā)工具,方便地創(chuàng)建上文提到的兩個(gè)處理器平臺。這個(gè)集成式軟件/硬件開發(fā)工具包括一塊直接支持PowerPC和MicroBlaze處理器設(shè)計(jì)的Virtex-4參考板。開發(fā)工具還包括所有的編譯器和所需的FPGA設(shè)計(jì)工具,以及IP目錄和用作預(yù)校準(zhǔn)的參考設(shè)計(jì)。
 
    再加上JTAG探測器和系統(tǒng)電纜,此開發(fā)工具能夠讓您在開始編輯和調(diào)試自己的設(shè)計(jì)變更之前,輕松構(gòu)建和運(yùn)行一個(gè)工作系統(tǒng)。不同器件和板卡的開發(fā)工具,可從Xilinx公司及其分銷商以及第三方嵌入式系統(tǒng)合作伙伴那里得到。 
 

圖2 - 集成式硬件/軟件開發(fā)工具
 
查明瓶頸和實(shí)現(xiàn)協(xié)處理
    MicroBlaze處理器是EDN公司2005年的百件熱門產(chǎn)品之一,使用獲得IEC(國際工程協(xié)會)大獎的Xilinx Platform Studio(XPS)嵌入式工具套件實(shí)現(xiàn)硬件/IP的設(shè)置和軟件的開發(fā)。XPS包含在我們預(yù)先配置的嵌入式開發(fā)系統(tǒng)中,是用來創(chuàng)建系統(tǒng)的集成式開發(fā)環(huán)境(IDE)。如果您擁有一塊標(biāo)準(zhǔn)的參考板或已經(jīng)創(chuàng)建了自己的電路板描述文檔,那么XPS就可以驅(qū)動一個(gè)設(shè)計(jì)向?qū)砜焖俚嘏渲媚某跏枷到y(tǒng)。
 
    通過使用智能化工具來減少錯(cuò)誤和學(xué)習(xí)壓力,您就可以集中精力提高最終產(chǎn)品的價(jià)值。完成基本的配置后,您可以花一些時(shí)間來調(diào)整IP,從而定制自己的系統(tǒng),然后進(jìn)行軟件應(yīng)用的開發(fā)。
 
    XPS為程序員提供了一個(gè)功能強(qiáng)大的基于Eclipse框架的軟件開發(fā)IDE。這一環(huán)境對于開發(fā)、調(diào)試和管理代碼以查明隱藏于其它不可見的代碼執(zhí)行中的性能瓶頸是十分理想的。這些代碼中的不足之處經(jīng)常會使設(shè)計(jì)達(dá)不到所要求的性能目標(biāo),但它們又很難被發(fā)現(xiàn)而且通常更難被優(yōu)化。
 
    使用像“內(nèi)聯(lián)代碼”這樣的技術(shù)來減少多余的函數(shù)調(diào)用開銷,就能夠?qū)?yīng)用程序的性能提高1%~5%。但如果使用可編程平臺,利用現(xiàn)有更強(qiáng)大的設(shè)計(jì)技術(shù),可使性能提高一到兩個(gè)數(shù)量級。
 
    圖3顯示了XPS性能分析截屏圖。XPS可以用不同的形式顯示分析信息(profiling information),這樣您就可以一目了然地看清突出顯示在性能圖上的趨勢或個(gè)別相沖突的程序。柱狀圖、餅狀圖和測量指標(biāo)表格,讓定位和判斷函數(shù)與程序的不足之處變得簡單,這樣您就能夠采取行動來改進(jìn)這些極大影響整體系統(tǒng)性能的程序。 
 

圖3 - XPS嵌入式工具套件 
 

圖4 - MicroBlaze MP3解碼器示例
 
自帶IP模塊的軟處理器核
    在我前面所介紹的MP3解碼器示例中,我們從多個(gè)MicroBlaze處理器的示例化開始,構(gòu)建了一個(gè)定制系統(tǒng)(圖4)。由于MicroBlaze處理器是一個(gè)軟核處理器,因此我們能方便地構(gòu)建一個(gè)具有多個(gè)處理器的系統(tǒng)并能平衡性能負(fù)載,從而得到一個(gè)優(yōu)化的系統(tǒng)。
 
    從圖4我們可以清楚地看到,頂部自帶總線和外設(shè)的MicroBlaze塊與底部的MicroBlaze塊和它自帶的外設(shè)是彼此分開的。此設(shè)計(jì)的頂部區(qū)域運(yùn)行支持整個(gè)文檔系統(tǒng)的嵌入式Linux操作系統(tǒng),這樣就能通過網(wǎng)絡(luò)接入MP3比特流。我們將這些比特流的解碼和播放操作留給第二個(gè)MicroBlaze處理器。在此設(shè)計(jì)中我們加入了緊密耦合的DCT/IMDCT(正向和反向改進(jìn)的離散余弦變換)函數(shù)處理器減負(fù)引擎和兩個(gè)高精度MAC單元。
 
    IMDCT塊負(fù)責(zé)數(shù)據(jù)的壓縮和解壓縮,以縮短傳輸線的執(zhí)行時(shí)間。DCT/IMDCT是壓縮應(yīng)用中計(jì)算量最大的兩種函數(shù),因此將整個(gè)函數(shù)放到它自己的協(xié)處理模塊中執(zhí)行,極大地提高了整個(gè)系統(tǒng)的性能。與前面提到的在FIR濾波器中加入一個(gè)內(nèi)部FPU的設(shè)計(jì)示例不同的是,這個(gè)MP3設(shè)計(jì)示例已經(jīng)實(shí)現(xiàn)了MicroBlaze的定制,并且在FPGA中加入了外部專用硬件。 
 

圖5 - 協(xié)處理加速的結(jié)果
 
協(xié)處理+可定制IP = 高性能
    通過將軟件函數(shù)的大量計(jì)算負(fù)擔(dān)轉(zhuǎn)移給協(xié)處理的“硬件指令”,您就能找到一個(gè)最佳的平衡點(diǎn),使系統(tǒng)性能達(dá)到最佳。圖4還顯示了Linux文件系統(tǒng)模塊的一系列IP外設(shè),其中包括UART、以太網(wǎng)MAC和其他各種存儲器控制器選項(xiàng)。與此不同的是,編碼/解碼應(yīng)用模塊采用了針對不同系統(tǒng)功能定制的不同IP。
 
    第二個(gè)MicroBlaze軟核從屬于第一個(gè)MicroBlaze處理器,并扮演用于對MP3比特流進(jìn)行解碼的任務(wù)引擎的角色。帶有附加專用IP核的解碼算法,通過Xilinx快速單工連接(Fast Simplex Link,F(xiàn)SL)接口直接連到FPGA架構(gòu)硬件資源內(nèi)部。這一協(xié)處理的設(shè)計(jì)技術(shù)充分利用了FPGA硬件相對于較慢的獨(dú)立式處理器的順序指令執(zhí)行而言所具有的并行和高速特性。
 
    與高性能FPGA架構(gòu)直接相連,可以引入快速的乘累加模塊(圖4中的LL_SH MAC1和LL_SH MAC2),與DCT和IMDCT模塊的專用IP形成互補(bǔ)。長長整型MAC模塊能夠提供更高的精度,同時(shí)減輕處理單元的計(jì)算負(fù)荷。您可能注意到,在AC97控制器核到外部AC97多媒體數(shù)字信號編解碼器接口之間同樣使用FSL連接,這可使MP3播放器實(shí)現(xiàn)CD音質(zhì)的輸入/輸出。
 
    圖4所示的協(xié)處理系統(tǒng)的性能,比原有的軟件系統(tǒng)的性能累計(jì)提高了41倍。將一個(gè)“只使用軟件”的實(shí)現(xiàn)方式(參見圖5頂部的橫條)與硬件指令示例化的每個(gè)階段相比,您就可以看出是如何一步步提高性能的。僅僅將軟件計(jì)算轉(zhuǎn)移到IMDCT中就會帶來1.5倍的性能提升,增加DCT硬件指令后則可使性能提升1.7倍。加入一個(gè)長長整型乘累加單元,可帶來8.2倍的性能提升。
 
    采用協(xié)處理技術(shù)在硬件中實(shí)現(xiàn)所有的軟件模塊,能夠使系統(tǒng)總體性能提升41倍,這還沒有考慮減少應(yīng)用程序代碼長度這一額外優(yōu)勢。由于去除了需要大量指令的乘法函數(shù),而代之以一個(gè)可以讀寫FSL端口的單一指令,因此我們進(jìn)一步減少了指令數(shù)量,并因此壓縮了代碼的占位空間。例如在MP3的應(yīng)用示例中,代碼的占位空間縮小了20%。
 
    更重要的是,通過像XPS這樣的智能化工具能夠方便快速地對設(shè)計(jì)進(jìn)行修改,同時(shí)仍能保證在產(chǎn)品的開發(fā)周期內(nèi)實(shí)現(xiàn)這些修改。僅使用軟件增強(qiáng)性能的方法,非常費(fèi)時(shí),而且得到的回報(bào)通常很有限。在一個(gè)可編程平臺之上平衡軟件應(yīng)用、硬件實(shí)現(xiàn)和協(xié)處理的劃分,您就能得到一個(gè)更理想的結(jié)果。
 
結(jié)論
    基于本文所描述的示例,我們能夠輕松定制一個(gè)全嵌入式處理系統(tǒng),編輯IP從而在特性/面積/成本之間取得最佳平衡,并且在看似不可能的地方使性能得到大幅提升。Virtex-4和Spartan-3系列器件提供了靈活的軟處理器解決方案,開發(fā)人員可以在隨后的開發(fā)周期中對其進(jìn)行設(shè)計(jì)和改進(jìn)。屢獲殊榮的MicroBlaze軟處理器核,加上獲獎不斷的XPS工具套件,為您的嵌入式設(shè)計(jì)提供了一套強(qiáng)大的工具。
 
    協(xié)處理技術(shù),例如采用高性能FPGA硬件指令實(shí)現(xiàn)需要大量計(jì)算的軟件算法,能夠使常規(guī)工業(yè)應(yīng)用模塊的性能提高2倍、10倍甚至40倍以上。想象一下這將為您的下一個(gè)設(shè)計(jì)帶來什么——在開發(fā)周期的后期,您的設(shè)計(jì)仍有修改的余地,并且可以預(yù)先規(guī)劃好下一代產(chǎn)品的改進(jìn)方案。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉