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