可重構(gòu)計算:高效靈活的計算技術(shù)
當前在研的可重構(gòu)計算系統(tǒng)往往由一個或多個可重構(gòu)邏輯器件以協(xié)處理器的方式和一個通用處理器耦合而成,如圖2所示。這里的可重構(gòu)邏輯器件可以是系統(tǒng)定制的,也可以是商業(yè)化的部件(如FPGA芯片)。對可重構(gòu)邏輯器件進行的配置可以使它實現(xiàn)相應(yīng)的功能,能夠以準ASIC的計算速度對應(yīng)用中的計算密集部分給予加速執(zhí)行以提高整個應(yīng)用的執(zhí)行性能。系統(tǒng)中的通用處理器主要負責對可重構(gòu)邏輯器件進行資源管理和任務(wù)調(diào)度。另外,應(yīng)用中存在的那些不能夠采用硬件邏輯實現(xiàn)或者采用硬件實現(xiàn)也不會帶來很大性能收益的部分也需要在通用處理器上編程實現(xiàn),例如遞歸操作。因為每一層遞歸都需要使用相同的資源,而遞歸的層數(shù)又往往不能預(yù)先知道,硬件無法預(yù)留夠充足的資源,所以此類操作適合在通用處理器上實現(xiàn)。
可重構(gòu)計算技術(shù)的研究對可重構(gòu)邏輯器件的開發(fā)有著極強的依賴性。正是由于可重構(gòu)計算系統(tǒng)中使用了可編程邏輯器件,才使得它能夠高效靈活地實現(xiàn)多種應(yīng)用。在研究的早期,研究者們受到可重構(gòu)邏輯器件的限制,并不能開展很多卓有成效的工作。因為缺乏統(tǒng)一的可重構(gòu)硬件平臺,一些研究機構(gòu)針對某些特定應(yīng)用開發(fā)了自己相應(yīng)的可重構(gòu)邏輯器件。這些器件缺乏一致的模型,彼此間不兼容,不具有普適性。而專門的可重構(gòu)邏輯器件開發(fā)帶來的高昂代價也給可重構(gòu)計算技術(shù)的普及設(shè)置了巨大的障礙。伴隨著超大規(guī)模集成電路技術(shù)的不斷進步,集成在芯片上的門電路數(shù)目可以做到“數(shù)以百萬計”,這使得業(yè)界能夠設(shè)計出功能強大結(jié)構(gòu)復(fù)雜的可重構(gòu)邏輯器件,也昭示著可重構(gòu)計算技術(shù)迎來了發(fā)展的大好時機。當前的很多商業(yè)化可重構(gòu)邏輯器件具備有充足的可編程邏輯資源,有的芯片上還集成了乘法器、RAM等結(jié)構(gòu),在最近的高端產(chǎn)品上更是集成了處理器核來增強系統(tǒng)的功能和性能。
當前,可重構(gòu)計算技術(shù)的研究焦點在于動態(tài)可重構(gòu)技術(shù)特別是運行時(run-time)可重構(gòu)技術(shù)。所謂動態(tài)可重構(gòu)技術(shù),是相對于靜態(tài)可重構(gòu)技術(shù)而言的。靜態(tài)可重構(gòu)技術(shù)是指在可重構(gòu)計算系統(tǒng)開始執(zhí)行任務(wù)時,一次性將可重構(gòu)邏輯器件配置為系統(tǒng)所需的某個或幾個功能。這些配置好的功能在整個任務(wù)執(zhí)行期間不會被改變。直到系統(tǒng)完成該任務(wù)后,可重構(gòu)邏輯器件才可以被配置為其他的功能去完成別的任務(wù)。動態(tài)可重構(gòu)技術(shù)與此相反,在任務(wù)執(zhí)行過程中可重構(gòu)邏輯器件的功能可以被隨時改變。
運行時可重構(gòu)技術(shù)建立在動態(tài)可重構(gòu)技術(shù)的基礎(chǔ)之上,它能夠在器件上已有任務(wù)正常執(zhí)行的同時對器件的空閑資源進行新的配置。運行時可重構(gòu)技術(shù)可以根據(jù)應(yīng)用實現(xiàn)中的實際需求,對可重構(gòu)邏輯器件上的資源做相應(yīng)的調(diào)配。它能夠更充分地利用可重構(gòu)邏輯器件上的資源,并且使硬件去“適應(yīng)”應(yīng)用的需求做調(diào)整成為可能。運行時可重構(gòu)計算技術(shù)的研究還存在很多技術(shù)難點,有的已經(jīng)造成了當前可重構(gòu)計算技術(shù)發(fā)展的瓶頸。
技術(shù)優(yōu)勢和應(yīng)用前景
可重構(gòu)計算技術(shù)除了具有較高的性能和較大的靈活性以外,還具有很多其他優(yōu)勢,例如系統(tǒng)能耗低、可靠性高等等。這些優(yōu)勢使得可重構(gòu)計算技術(shù)在各個應(yīng)用領(lǐng)域特別是嵌入式應(yīng)用領(lǐng)域有著廣闊的應(yīng)用前景。
在過去的研究中已經(jīng)發(fā)現(xiàn),很多嵌入式應(yīng)用,例如多媒體應(yīng)用、加/解密應(yīng)用以及通信應(yīng)用等都具有它們固有的執(zhí)行特征。
多媒體應(yīng)用具有較多的整數(shù)算術(shù)指令,這主要是因為大多數(shù)多媒體應(yīng)用中執(zhí)行的都是定點數(shù)據(jù)上的算術(shù)密集型信號處理操作。
加/解密應(yīng)用中主要是位運算操作,而且在執(zhí)行過程中極少出現(xiàn)分支指令,位運算操作可以通過移位操作和邏輯運算來實現(xiàn)。
評論