新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA實(shí)現(xiàn)多處理器解決方案

FPGA實(shí)現(xiàn)多處理器解決方案

作者: 時(shí)間:2012-03-16 來(lái)源:網(wǎng)絡(luò) 收藏

尋求高性能處理能力的嵌入式設(shè)計(jì)人員在成本、性能、功耗上,不可避免的面臨類似“百慕大三角”的困境,無(wú)法同時(shí)三者的最佳組合,而只能達(dá)到其中的兩個(gè)目標(biāo)。定制ASIC設(shè)計(jì)適用于那些能夠負(fù)擔(dān)得起時(shí)間、費(fèi)用和風(fēng)險(xiǎn)的少數(shù)人,但是由于器件尺寸持續(xù)減小,而ASIC設(shè)計(jì)成本不斷攀升,完全定制設(shè)計(jì)受成本限制,能夠應(yīng)用的領(lǐng)域越來(lái)越少。

本文引用地址:http://butianyuan.cn/article/149403.htm

具有多個(gè)軟核嵌入式系統(tǒng)為嵌入式設(shè)計(jì)人員提供了強(qiáng)大的多種功能選項(xiàng),通過(guò)定制功能配置性能最佳的片內(nèi)系統(tǒng)不再是ASIC設(shè)計(jì)人員的專利。現(xiàn)在,開發(fā)人員能夠趕在產(chǎn)品進(jìn)入最終測(cè)試之前,對(duì)其嵌入式系統(tǒng)性能特性進(jìn)行修改。開發(fā)人員還可以延長(zhǎng)產(chǎn)品生命周期,將產(chǎn)品迅速推向市場(chǎng),通過(guò)互聯(lián)網(wǎng)對(duì)硬件和軟件功能進(jìn)行遠(yuǎn)端升級(jí)。

盡管術(shù)語(yǔ)“多”會(huì)使人聯(lián)想起學(xué)術(shù)文章中的“并行處理”一詞,實(shí)際商用的單器件多CPU則簡(jiǎn)單明了得多。開始進(jìn)行一個(gè)新設(shè)計(jì)時(shí),開發(fā)人員必須考慮一定的性能標(biāo)準(zhǔn)。多個(gè)軟核之間的任務(wù)劃分具有很大的設(shè)計(jì)靈活性,了由于規(guī)范或競(jìng)爭(zhēng)產(chǎn)品變化而進(jìn)行的最后一刻設(shè)計(jì)更改,同時(shí)能夠與這些性能標(biāo)準(zhǔn)保持同步。

多軟核處理器可作為一種分而治之的策略來(lái)提高系統(tǒng)整體性能,或者卸載現(xiàn)有處理器任務(wù)。設(shè)計(jì)人員通常采用400MHz~800MHz的分立處理器簡(jiǎn)單和復(fù)雜的多種器件任務(wù)。采用多個(gè)軟核處理器,可根據(jù)時(shí)間和功耗要求,通過(guò)任務(wù)劃分,更高效的發(fā)揮處理能力,提供同樣甚至更好的整體性能。

單個(gè)中能夠?qū)崿F(xiàn)的軟核處理器數(shù)量?jī)H受器件資源的限制(如,邏輯和存儲(chǔ)器資源)。例如,高密度可以含有幾百個(gè)軟核處理器,并且可以采用不同類型的軟核處理器,如16位或32位、性能最佳、邏輯面積最佳處理器等。

根據(jù)任務(wù)不同,編碼算法由多個(gè)處理器進(jìn)行分擔(dān)。專用處理器承擔(dān)對(duì)時(shí)間要求嚴(yán)的任務(wù),而要求不高的任務(wù)則由一個(gè)或多個(gè)其他CPU分擔(dān)。這種靈活性實(shí)現(xiàn)了任務(wù)的邏輯分組,能夠以較低的時(shí)鐘頻率和功耗實(shí)現(xiàn)較高的性能。

FPGA中的嵌入式處理器

ASIC設(shè)計(jì)人員對(duì)構(gòu)建定制器件進(jìn)行了多年的研究,因此,我們不難想象定制器件應(yīng)包含一組合適的外設(shè)、存儲(chǔ)器接口和處理功能。直到1990年后期,FPGA才能夠提供足夠的片內(nèi)存儲(chǔ)器、可編程邏輯等基本性能資源來(lái)實(shí)現(xiàn)經(jīng)濟(jì)可行的定制FPGA嵌入式處理器器件?,F(xiàn)在,可直接使用專為FPGA設(shè)計(jì)的嵌入式IP功能(包括CPU、信號(hào)處理引擎、外設(shè)和標(biāo)準(zhǔn)通信接口等),與傳統(tǒng)分立的嵌入式器件相比,它具有成本和性能的雙重優(yōu)勢(shì)。

從本質(zhì)上看,設(shè)計(jì)人員對(duì)問(wèn)題的劃分與在印刷電路板上構(gòu)建一個(gè)多處理器系統(tǒng)相類似。每一部分分配不同的任務(wù),一個(gè)處理器進(jìn)行一般的系統(tǒng)管理(風(fēng)扇監(jiān)控、人機(jī)接口、系統(tǒng)控制臺(tái)等),其他的則處理通信、信號(hào)處理、統(tǒng)計(jì)收集等系統(tǒng)任務(wù)。

多處理器方案將分立的處理器功能由電路板移到FPGA內(nèi)部,從而降低了器件整體成本,也同時(shí)減小了電路板尺寸。這種方案需要較少的互連,減少了處理器之間的信號(hào)布線。更多的低級(jí)處理器運(yùn)行在更低的時(shí)鐘頻率上,減少了電路板層數(shù)。

該方法還可以降低軟件設(shè)計(jì)成本,減少80%由于耗時(shí)的代碼編寫而造成的系統(tǒng)整體設(shè)計(jì)時(shí)間代價(jià)。如果任務(wù)能夠劃分給多個(gè)處理器,那么工程師就能夠直接迅速的進(jìn)行源代碼編寫、調(diào)試和維護(hù)。產(chǎn)品成熟時(shí),由于可以方便的對(duì)源代碼進(jìn)行分析,因此代碼維護(hù)比較輕松。

多通道應(yīng)用

多通道應(yīng)用采用單芯片多處理器來(lái)滿足系統(tǒng)吞吐量要求,每個(gè)處理器專用于處理全部通道吞吐量的不同部分,它們運(yùn)行完全相同的源代碼,也可以根據(jù)系統(tǒng)要求靈活的改變算法。在有些情況下,加入主處理器來(lái)處理一般的系統(tǒng)管理任務(wù),如系統(tǒng)初始化、統(tǒng)計(jì)收集和錯(cuò)誤處理等。

串行鏈接的處理器

系統(tǒng)結(jié)構(gòu)將一個(gè)鏈上的幾個(gè)處理器組合對(duì)待為更復(fù)雜流水線上的一級(jí)。每個(gè)CPU負(fù)責(zé)全部處理任務(wù)的一部分,共享數(shù)據(jù)存儲(chǔ)器(片外采用仲裁或?qū)S么鎯?chǔ)器接口,片內(nèi)采用雙端口存儲(chǔ)器),將結(jié)果由一級(jí)的輸出傳向下一級(jí)的輸入。

處理器協(xié)同芯片

不管CPU是否在FPGA內(nèi)部,與FPGA連接的分立處理器和DSP芯片也可以使用硬件加速、外設(shè)擴(kuò)展和接口橋接等?,F(xiàn)在,可直接使用芯片間接口IP,實(shí)現(xiàn)對(duì)FPGA內(nèi)部外設(shè)、加速邏輯和I/O接口的外部訪問(wèn)。

確定處理器性能

在應(yīng)用軟件還沒(méi)有明確時(shí),很難確定嵌入式系統(tǒng)的處理器性能。業(yè)界標(biāo)準(zhǔn)會(huì)有一些幫助,但是在軟件完成之前,一切都具有不確定性。這使得設(shè)計(jì)人員非常謹(jǐn)慎,擔(dān)心低估性能要求,而選擇高于所需性能(價(jià)格也高)要求的器件。如果設(shè)計(jì)人員能夠準(zhǔn)確的預(yù)測(cè)所需性能,那么選擇處理器將變得非常簡(jiǎn)單。這種預(yù)測(cè)要考慮對(duì)時(shí)間要求嚴(yán)的任務(wù)以及一個(gè)或多個(gè)低級(jí)任務(wù)所產(chǎn)生的負(fù)載對(duì)性能的要求。

基于FPGA的嵌入式系統(tǒng)提供靈活的性能,支持最后一刻更改,根據(jù)客戶要求來(lái)提升系統(tǒng)性能。將

含有大量計(jì)算的算法轉(zhuǎn)換為FPGA中的邏輯后,其運(yùn)行速度比微處理器或數(shù)字信號(hào)處理器實(shí)現(xiàn)的相同軟件算法快出幾個(gè)數(shù)量級(jí)。更重要的是,硬件資源可提供給對(duì)性能要求高的算法,從而降低了對(duì)高性能CPU的需求,并降低了時(shí)鐘頻率和功耗,簡(jiǎn)化了電路板設(shè)計(jì)。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉