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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > FPGA+CPU:并行處理大行其道

          FPGA+CPU:并行處理大行其道

          作者: 時間:2015-07-27 來源:網(wǎng)絡(luò) 收藏

            深亞微米時代,傳統(tǒng)材料、結(jié)構(gòu)乃至工藝都在趨于極限狀態(tài),摩爾定律也已有些捉襟見肘。而步入深亞納米時代,晶體管的尺寸就將接近單個原子,無法再往下縮減。傳統(tǒng)ASIC和ASSP設(shè)計不可避免地遭遇了諸如設(shè)計流程復(fù)雜、生產(chǎn)良率降低、設(shè)計周期過長,研發(fā)制造費用劇增等難題,從某種程度上大大放緩了摩爾定律的延續(xù)。

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

            顯而易見的是,在巨額的流片成本面前,很多中小規(guī)模公司不得不改變策略,更多的轉(zhuǎn)向的開發(fā)和設(shè)計。反觀市場,即便是5年前,其相對于ASIC的市場增速還是相當(dāng)遲緩的,但在近些年,尤其是邁進(jìn)90nm節(jié)點之后,其成本優(yōu)勢逐漸凸顯。

            二十年如一日,長期霸占著可編程邏輯器件市場的兩大巨頭Xilinx和Altera依然動作頻頻。8月的Altera研討會,13個城市的技術(shù)巡演,大張旗鼓地力推28nm工藝上的V系產(chǎn)品、SOPC Builder到Qsys新平臺的更迭乃至SOC 的新構(gòu)想。相比之下,9月的Xilinx則低調(diào)許多,但依然拿出了7系列產(chǎn)品與對手叫板。從一年前的65nm到今天的28nm,由于門延時早已不再是速度性能提升的瓶頸,因此用戶能夠感受到的變化只是器件密度的提高和單位成本的下降。除此以外,只能說廠商絞盡腦汁的優(yōu)化器件架構(gòu)和改善開發(fā)工具性能成為了另一道可供觀賞的風(fēng)景線。

            無獨有偶,Xilinx和Altera都紛紛加速推出了內(nèi)嵌硬核的FPGA器件。FPGA+的解決方案并不稀奇,早在五年前就被提出并付諸實踐,Xilinx和Altera也一直在致力于自己的軟核的推進(jìn),但市場反應(yīng)顯然沒有達(dá)到預(yù)期。Xilinx順應(yīng)市場需求,率先于去年4月發(fā)布了集成ARM Cortex-A9 CPU和28nm FPGA的可擴展式處理平臺(Extensible Processing Platform)架構(gòu)。時隔不到一年,可擴展處理平臺Zynq-7000系列又被搬上了前臺,Xilinx的用心良苦可見一斑。Altera也不示弱,英特爾在去年秋季發(fā)布的凌動E600C可配置處理器中就集成了Altera的FPGA,并且Altera即將推出的同樣集成Cortex-A9 CPU的SoC FPGA明顯是要與Xilinx唱對臺戲。

            對于我們而言,更多的是需要去探討和思索這種新的開發(fā)平臺是否真的滿足客戶日益增長的“物質(zhì)文化”需求。我們也不禁會問:FPGA+CPU的集成架構(gòu)到底是順應(yīng)了歷史發(fā)展的趨勢,還是僅僅曇花一現(xiàn)轉(zhuǎn)眼即逝?

            如圖1所示,一個比較簡化的傳統(tǒng)嵌入式系統(tǒng)如左圖所示,單片集成了CPU的FPGA架構(gòu)則如右圖所示。單從硬件架構(gòu)層面來看,好像沒有太大的優(yōu)勢,僅僅只是二合一而已。但是真正做過系統(tǒng)開發(fā)的工程師都知道,這種二合一所帶來的不僅僅是BOM成本降低和布局的簡化,更多的利好是我們?nèi)庋劭床坏降能浻布讓鱼暯拥膬?yōu)化和無形之中的靈活性以及潛在的性能提升。

            

           

            圖1

            基于FPGA的CPU集成將帶來的一些潛在優(yōu)勢包括:更易于滿足大多數(shù)系統(tǒng)的功能性需求;潛在的改善了系統(tǒng)的性能;在某些應(yīng)用中的靈活性和可升級性大大提高;處理器到外設(shè)的接口能夠得到優(yōu)化;軟硬件互聯(lián)的接口性能獲得極大的提升;有利于設(shè)計的重用和新設(shè)計的快速成型;簡化單芯片甚至整板的PCB布局布線。

            FPGA+CPU的單片集成相較于傳統(tǒng)應(yīng)用的優(yōu)勢由此可見一斑,但從另一個角度看,正如CPU從單核到多核演進(jìn)在延續(xù)著摩爾定律的“魔咒”,F(xiàn)PGA+CPU的強勢出擊更像是并行處理在嵌入式應(yīng)用中的大行其道。

            延續(xù)一貫的作風(fēng),Xilinx和Altera在其嵌入CPU的FPGA器件上都不約而同地選擇了性能出色的ARM Cortex-A9內(nèi)核,可見他們目前瞄準(zhǔn)的市場趨向于中高端應(yīng)用客戶。而在低端應(yīng)用方面,即便是網(wǎng)絡(luò)爆炸的時代,默默無聞的Capital-Micro公司依然不為廣大工程師們所熟知,但他們開發(fā)的可重構(gòu)系統(tǒng)芯片CsoC(Configurable SoC)卻悄然無聲地在中低端市場應(yīng)用中殺出了一片血路。值得一提的是,這是一家地地道道的中國本土FPGA廠商。

            從1971年Intel的第一片4位處理器問世至今恰好已有40個年頭,雖然嵌入式行業(yè)經(jīng)歷了翻天覆地的巨變,但即便你認(rèn)為它是“土得掉牙”卻簡單實用的8位MCS-51單片機卻依然獨樹一幟,尤其是在國內(nèi)的整個工控行業(yè)中還是有著很強的生命力。從05年成立至今,Capital-Micro先后推出了Astro和AstroII兩代CSoC。其內(nèi)嵌的8051在兩代器件上分別可以穩(wěn)定地運行到100MHz和150MHz。雖然由于FPGA制造工藝還處于0.13um,大大制約了邏輯性能,但目前的這兩代產(chǎn)品至少可以滿足包括步進(jìn)電機控制、LCD驅(qū)動控制、接口擴展、LED控制卡、微型打印機在內(nèi)的工業(yè)應(yīng)用需求。

            從器件的內(nèi)部架構(gòu)上來看,如圖2所示,AstroII中不僅有同類產(chǎn)品中堪稱性能“卓越”的8051硬核,也集成了一些常見的外設(shè)如定時器、看門狗、UART、IIC和SPI等。當(dāng)然,8051的程序啟動也完全采取了類似很多ARM的直接映射(Fully Shadowed)方式,確保讀寫緩慢的ROM不再成為制約CPU性能的瓶頸。而8051與FPGA的互聯(lián)方面,不僅可以使用8051的EMIF尋址(23位寬可尋址地址總線),4K×8bit的DPRAM也是高速數(shù)據(jù)傳輸?shù)牟诲e選擇,并且在這些互聯(lián)接口上都已經(jīng)固化好了同步邏輯,無需設(shè)計者浪費精力。此外,從最廉價的晶體時鐘支持,到I/O數(shù)量的最大化,再到其平易近人的價格,無不向我們展示著這款國產(chǎn)芯片的“經(jīng)濟適用”。

            

           

            圖2

            總而言之,無論是Xilinx還是Altera,抑或是橫空出世的Capital-Micro,他們所力推的全新單片集成器件,無不預(yù)示著FPGA+CPU的并行處理架構(gòu)將在嵌入式應(yīng)用中開辟出一片嶄新的天地,在這個單片性能提升即將邁入極限的深亞納米時代,靈活多變的FPGA憑借其獨有的并行性必將助力傳統(tǒng)CPU的性能再次邁向新的高度。

          fpga相關(guān)文章:fpga是什么




          關(guān)鍵詞: FPGA CPU

          評論


          相關(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); })();