售前電話
135-3656-7657
售前電話 : 135-3656-7657
在大眾已經(jīng)習(xí)慣的計(jì)算模式中,處理器和專用集成電路(ASIC)一直是兩大主流。伴隨著應(yīng)用領(lǐng)域特別是嵌入式環(huán)境對系統(tǒng)的性能、能耗、上市時(shí)間等指標(biāo)需求的不斷提高,傳統(tǒng)的計(jì)算模式暴露出了種種弊端。可重構(gòu)計(jì)算技術(shù)集中了處理器和專用集成電路的優(yōu)勢,能夠提供高效靈活的計(jì)算能力,自上世紀(jì)九十年代以來越來越受到業(yè)界的重視。不過,目前對可重構(gòu)計(jì)算技術(shù)的研究仍舊處于初期階段,還有很多難題等待解決。
可重構(gòu)沖擊傳統(tǒng)計(jì)算模式
面臨一個(gè)應(yīng)用,如何去實(shí)現(xiàn)它?軟件設(shè)計(jì)者會(huì)使用編程語言編寫一段代碼,將其編譯后在處理器上執(zhí)行;硬件設(shè)計(jì)者則會(huì)利用原理圖或者硬件描述語言進(jìn)行設(shè)計(jì),然后以專用集成電路的方式實(shí)現(xiàn)。處理器和專用集成電路已經(jīng)成為了傳統(tǒng)計(jì)算模式的兩大主流,我們也已經(jīng)習(xí)慣了這兩種計(jì)算模式。但在和這兩位“老朋友”打交道的時(shí)候,仍舊會(huì)時(shí)不時(shí)感覺到有很多不盡如人意的地方。
處理器(包括通用處理器和各種專用的嵌入式處理器)計(jì)算模式的特點(diǎn)在于它們都具有各自的指令集,通過執(zhí)行指令集中的相關(guān)指令來完成計(jì)算,改寫軟件指令就能改變系統(tǒng)實(shí)現(xiàn)的功能,而不用去改動(dòng)底層的硬件環(huán)境。但處理器的運(yùn)算速度要比ASIC慢很多,這主要是因?yàn)樘幚砥鞅仨殢拇鎯?chǔ)器中讀取每條指令,將其譯碼后再執(zhí)行,因而每個(gè)獨(dú)立的操作具有更高的執(zhí)行開銷。另外,處理器的指令集是由處理器自身體系結(jié)構(gòu)決定的,沒有用專門指令實(shí)現(xiàn)的操作只能使用已有的指令組合來處理,這也增加了執(zhí)行的開銷。
專用集成電路是針對某一特定應(yīng)用專門設(shè)計(jì)的硬件電路。專用集成電路計(jì)算模式的特點(diǎn)在于用硬件來實(shí)現(xiàn)應(yīng)用的操作。因?yàn)獒槍μ囟☉?yīng)用設(shè)計(jì),所以在執(zhí)行相應(yīng)應(yīng)用時(shí)具有很高的速度、效率和精度。但其缺陷在于開發(fā)周期太長,代價(jià)太高。而且硬件電路一旦制作好以后是不能夠被隨意改動(dòng)的。這就意味著如果功能的需求發(fā)生了變化,就需要重新設(shè)計(jì)和重新加工新的專用集成電路芯片。哪怕只是芯片上的很小一部分線路需要修改,也要重新制作整個(gè)芯片。如果針對各種不同的應(yīng)用都專門設(shè)計(jì)專用的電路芯片,就會(huì)帶來高昂的成本。
由此可見,現(xiàn)有的主流計(jì)算模式中存在的主要問題是:處理器方式能夠靈活地實(shí)現(xiàn)各種應(yīng)用,但卻在性能上有缺陷;而硬件邏輯實(shí)現(xiàn)性能雖然高,但靈活性卻很差。為了在計(jì)算性能和實(shí)現(xiàn)靈活性上做一個(gè)很好的權(quán)衡,可重構(gòu)計(jì)算( )技術(shù)浮出了水面。
技術(shù)發(fā)展現(xiàn)狀
可重構(gòu)計(jì)算的概念早在上個(gè)世紀(jì)六七十年代就有學(xué)者以不同的表述方式提出過。由于技術(shù)條件的限制,直到九十年代中期才逐漸興起。目前比較權(quán)威的定義是“設(shè)立物理控制點(diǎn)定制硬件該如何工作,通過改動(dòng)這些控制點(diǎn)使用戶能夠使用相同的硬件執(zhí)行不同的應(yīng)用”。當(dāng)前已經(jīng)有多個(gè)基于可重構(gòu)計(jì)算技術(shù)的原型系統(tǒng)被開發(fā)出來,運(yùn)用在自動(dòng)目標(biāo)識別、串匹配、數(shù)據(jù)壓縮等應(yīng)用領(lǐng)域,取得了非常好的效果。最近幾年,可重構(gòu)計(jì)算技術(shù)已經(jīng)邁過了探索階段,研究者們開始更深入地對可重構(gòu)計(jì)算通用模型進(jìn)行研究,為后續(xù)的可重構(gòu)計(jì)算系統(tǒng)的廣泛應(yīng)用打好基礎(chǔ)。
當(dāng)前在研的可重構(gòu)計(jì)算系統(tǒng)往往由一個(gè)或多個(gè)可重構(gòu)邏輯器件以協(xié)處理器的方式和一個(gè)通用處理器耦合而成,如圖2所示。這里的可重構(gòu)邏輯器件可以是系統(tǒng)定制的,也可以是商業(yè)化的部件(如FPGA芯片)。對可重構(gòu)邏輯器件進(jìn)行的配置可以使它實(shí)現(xiàn)相應(yīng)的功能,能夠以準(zhǔn)ASIC的計(jì)算速度對應(yīng)用中的計(jì)算密集部分給予加速執(zhí)行以提高整個(gè)應(yīng)用的執(zhí)行性能。系統(tǒng)中的通用處理器主要負(fù)責(zé)對可重構(gòu)邏輯器件進(jìn)行資源管理和任務(wù)調(diào)度。另外,應(yīng)用中存在的那些不能夠采用硬件邏輯實(shí)現(xiàn)或者采用硬件實(shí)現(xiàn)也不會(huì)帶來很大性能收益的部分也需要在通用處理器上編程實(shí)現(xiàn),例如遞歸操作。因?yàn)槊恳粚舆f歸都需要使用相同的資源,而遞歸的層數(shù)又往往不能預(yù)先知道,硬件無法預(yù)留夠充足的資源,所以此類操作適合在通用處理器上實(shí)現(xiàn)。
可重構(gòu)計(jì)算技術(shù)的研究對可重構(gòu)邏輯器件的開發(fā)有著極強(qiáng)的依賴性。正是由于可重構(gòu)計(jì)算系統(tǒng)中使用了可編程邏輯器件,才使得它能夠高效靈活地實(shí)現(xiàn)多種應(yīng)用。在研究的早期,研究者們受到可重構(gòu)邏輯器件的限制,并不能開展很多卓有成效的工作。因?yàn)槿狈y(tǒng)一的可重構(gòu)硬件平臺(tái),一些研究機(jī)構(gòu)針對某些特定應(yīng)用開發(fā)了自己相應(yīng)的可重構(gòu)邏輯器件。這些器件缺乏一致的模型,彼此間不兼容,不具有普適性。而專門的可重構(gòu)邏輯器件開發(fā)帶來的高昂代價(jià)也給可重構(gòu)計(jì)算技術(shù)的普及設(shè)置了巨大的障礙。伴隨著超大規(guī)模集成電路技術(shù)的不斷進(jìn)步,集成在芯片上的門電路數(shù)目可以做到“數(shù)以百萬計(jì)”,這使得業(yè)界能夠設(shè)計(jì)出功能強(qiáng)大結(jié)構(gòu)復(fù)雜的可重構(gòu)邏輯器件,也昭示著可重構(gòu)計(jì)算技術(shù)迎來了發(fā)展的大好時(shí)機(jī)。當(dāng)前的很多商業(yè)化可重構(gòu)邏輯器件具備有充足的可編程邏輯資源,有的芯片上還集成了乘法器、RAM等結(jié)構(gòu),在最近的高端產(chǎn)品上更是集成了處理器核來增強(qiáng)系統(tǒng)的功能和性能。