張朝鑫
摘要:在降低嵌入式計(jì)算機(jī)功耗、體積方面,動(dòng)態(tài)可重構(gòu)技術(shù)具有積極的作用。在計(jì)算機(jī)硬件設(shè)備的運(yùn)行過(guò)程中,動(dòng)態(tài)可重構(gòu)技術(shù)可根據(jù)計(jì)算任務(wù)的不同實(shí)現(xiàn)不同的功能,使系統(tǒng)軟硬件資源得到充分利用。該文對(duì)動(dòng)態(tài)可重構(gòu)技術(shù)進(jìn)行分析,并探討動(dòng)態(tài)可重構(gòu)技術(shù)在嵌入式計(jì)算機(jī)中的應(yīng)用,為嵌入式計(jì)算機(jī)的發(fā)展提供參考。
關(guān)鍵詞:動(dòng)態(tài)可重構(gòu)技術(shù);嵌入式計(jì)算機(jī);FPGA;應(yīng)用
中圖分類號(hào):TP313 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)22-5373-02
隨著工業(yè)生產(chǎn) 、工作環(huán)境的日益復(fù)雜,計(jì)算機(jī)的任務(wù)需求逐漸增加。未來(lái)了滿足多樣的任務(wù)需求,需要嵌入式計(jì)算機(jī)系統(tǒng)的更新、完善,系統(tǒng)變得更加復(fù)雜。而發(fā)展的嵌入式計(jì)算機(jī)系統(tǒng)導(dǎo)致計(jì)算機(jī)功耗、體積的不斷增長(zhǎng),使開發(fā)周期隨之延長(zhǎng),也隨之增加了研發(fā)成本。在高新技術(shù)的引導(dǎo)下,F(xiàn)PGA得以快速發(fā)展,為解決電子系統(tǒng)的高功耗、大型等問(wèn)題提供條件,使電子系統(tǒng)向低功耗、小型化、高可靠性方向發(fā)展,并由于其自身的芯片成本低、開發(fā)周期短等優(yōu)勢(shì),在嵌入式計(jì)算機(jī)中被廣泛應(yīng)用。近幾年,動(dòng)態(tài)可重構(gòu)技術(shù)在嵌入式計(jì)算機(jī)中廣泛應(yīng)用,通過(guò)FPGA的重配置使邏輯功能,減少系統(tǒng)的功耗、體積,提高硬件資源的利用率。
1 動(dòng)態(tài)可重構(gòu)技術(shù)概述
可重構(gòu)指的是,當(dāng)電子系統(tǒng)處于工作狀態(tài)時(shí),通過(guò)局部重新配置、重新配置電子系統(tǒng)中的可編程邏輯器件,實(shí)現(xiàn)對(duì)電路結(jié)構(gòu)進(jìn)行動(dòng)態(tài)的改變。根據(jù)重構(gòu)方式,可將系統(tǒng)重構(gòu)分為兩種形式,即動(dòng)態(tài)系統(tǒng)重構(gòu)、靜態(tài)系統(tǒng)重構(gòu)。[1]在系統(tǒng)運(yùn)行的過(guò)程中,系統(tǒng)進(jìn)行配置,則成為動(dòng)態(tài)系統(tǒng)重構(gòu),而系統(tǒng)在運(yùn)行前進(jìn)行配置,則為靜態(tài)系統(tǒng)重構(gòu)。
分析動(dòng)態(tài)可重構(gòu),在其數(shù)字邏輯系統(tǒng)中,通過(guò)對(duì)FPGA進(jìn)行全部或局部的動(dòng)態(tài)重構(gòu),以此產(chǎn)生時(shí)序邏輯,省去芯片內(nèi)區(qū)域資源的組合,使系統(tǒng)動(dòng)態(tài)可重構(gòu)可靠、便捷。同時(shí),在動(dòng)態(tài)系統(tǒng)中,緩存邏輯以FPGA的方式實(shí)現(xiàn),達(dá)到對(duì)芯片邏輯的快速修改,并通過(guò)資源配置對(duì)系統(tǒng)進(jìn)行動(dòng)態(tài)重構(gòu)。按照動(dòng)態(tài)重構(gòu)實(shí)現(xiàn)的面積,可將其分為局部重構(gòu)、全局重構(gòu),局部重構(gòu)是重新配置重構(gòu)系統(tǒng)、部件的局部,不影響其余局部的工作狀態(tài),減少重構(gòu)的單元數(shù)據(jù)與范圍,相應(yīng)地減短了重構(gòu)時(shí)間。全局重構(gòu)則只能全部重構(gòu)FPGA系統(tǒng)、器件,需要進(jìn)行全過(guò)程、全部件的重構(gòu)。
2 動(dòng)態(tài)可重構(gòu)方法
2.1 部分可重構(gòu)方法
對(duì)于部分可重構(gòu)而言,在系統(tǒng)運(yùn)行的過(guò)程中,對(duì)部分硬件資源進(jìn)行動(dòng)態(tài)配置,而對(duì)其他部分正常運(yùn)行不造成影響。在部分可重構(gòu)方法中,將FPGA系統(tǒng)分為兩部分,分別是可重構(gòu)區(qū)域和靜態(tài)區(qū)域。[2]可重構(gòu)區(qū)域指的是在FPGA中,可進(jìn)行動(dòng)態(tài)重構(gòu)配置的區(qū)域,而靜態(tài)區(qū)域主要包括關(guān)鍵性任務(wù)、基本組件。而圖1即為FPGA部分可重構(gòu)結(jié)構(gòu)圖,
目前,主要通過(guò)三種方案實(shí)現(xiàn)部分可重構(gòu),一是,依據(jù)硬件宏差異所實(shí)施的部分可重構(gòu)方案,對(duì)于這種方案,應(yīng)先初始化的概括系統(tǒng),并描述系統(tǒng)中的所有硬件宏。而對(duì)于電路的LUT內(nèi)容的獲取,可按照具體算法進(jìn)行,然后通過(guò)FPGA編輯器對(duì)LUT的配置信息進(jìn)行生成,并在FPGA中進(jìn)行運(yùn)行。[3]二是,基于模塊化的技術(shù)方案,在該方案中,在系統(tǒng)運(yùn)行前,應(yīng)根據(jù)FPGA的不同功能,對(duì)其進(jìn)行模塊劃分。對(duì)FPGA電路進(jìn)行劃分后,便可利用頂層文件,通過(guò)系統(tǒng)控制,生產(chǎn)配置文件,然后利用FPGA,下載完整的配置信息,應(yīng)進(jìn)行運(yùn)行,并在運(yùn)行過(guò)程中進(jìn)行不斷的控制、配置,在運(yùn)行后期,替換某些動(dòng)態(tài)模塊。三是,基于bitstream的技術(shù)方案, 在配置存儲(chǔ)器中,以幀的形式對(duì)FPGA的編程信息進(jìn)行保存,在運(yùn)行的過(guò)程中,當(dāng)某個(gè)LUT需要修改時(shí),系統(tǒng)先將對(duì)一個(gè)的幀進(jìn)行尋找,然后將整個(gè)幀讀取下來(lái),進(jìn)行準(zhǔn)確修改,實(shí)現(xiàn)動(dòng)態(tài)配置。 [4]綜上所述,對(duì)于部分可重構(gòu)方法而言,其通過(guò)對(duì)FPGA硬件資源的分時(shí)復(fù)用,提高了資源了使用率,提高了系統(tǒng)的靈活性。
2.2 軟件可編程重構(gòu)方法
該方法利用軟件方法、IP重用技術(shù),實(shí)現(xiàn)動(dòng)態(tài)可重構(gòu)。在FPGA開發(fā)中,利用軟件化控制方法,并通過(guò)IP重用技術(shù),實(shí)現(xiàn)FPGA動(dòng)態(tài)可重構(gòu)系統(tǒng)的快速開發(fā)。通常情況下,對(duì)于軟件可編程重構(gòu)方法而言,軟件代碼是在外部通用處理器或嵌入式處理器中執(zhí)行的,從而改變數(shù)據(jù)路徑的連接與控制組件的功能配置,對(duì)嵌入式系統(tǒng)實(shí)現(xiàn)動(dòng)態(tài)可重構(gòu),其FPGA框架如圖2所示。
在軟件可編程重構(gòu)的FPGA框架中,實(shí)現(xiàn)數(shù)據(jù)層的構(gòu)建與組件功能的配置則需要數(shù)據(jù)交換網(wǎng)絡(luò)和專門的控制接口。在組件間連接關(guān)系的動(dòng)態(tài)配置中,需要數(shù)據(jù)交換給予支持,而對(duì)于處理器命令的接受則需要控制接口進(jìn)行,以此實(shí)現(xiàn)對(duì)功能組件的重配置。此外,迅速開發(fā)軟件可編程重構(gòu)方法的FPGA系統(tǒng),需要多種技術(shù)支撐,主要包括控制接口、通用接口、系統(tǒng)集成工具等。[5在該方法的硬件結(jié)構(gòu)中,控制接口是重要接結(jié)構(gòu),起到控制數(shù)據(jù)路徑的作用,同時(shí)實(shí)現(xiàn)對(duì)組件功能的動(dòng)態(tài)配置。]通用接口為組件間的相互通信提供方便。
3 動(dòng)態(tài)可重構(gòu)技術(shù)在嵌入式計(jì)算機(jī)中的應(yīng)用
3.1 可重構(gòu)計(jì)算機(jī)系統(tǒng)
在部分可重構(gòu)方法的基礎(chǔ)上,利用IP重用技術(shù)、多核技術(shù),可對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行重組,設(shè)計(jì)如圖3所示的新型可重構(gòu)計(jì)算機(jī)系統(tǒng)。
在此系統(tǒng)結(jié)構(gòu)中,通過(guò)高速光纖網(wǎng)絡(luò)互聯(lián)在各個(gè)處理單元的利用,組成具有綜合核心處理功能的計(jì)算機(jī)系統(tǒng),實(shí)現(xiàn)良好的計(jì)算功能。同時(shí),各處理模塊間數(shù)據(jù)間的高速傳輸,可通過(guò)各交換模塊實(shí)現(xiàn)。
3.2 技術(shù)應(yīng)用
對(duì)于嵌入式計(jì)算機(jī)而言,動(dòng)態(tài)可重構(gòu)技術(shù)的應(yīng)用,通過(guò)FPGA通用高速交換網(wǎng)絡(luò)的互聯(lián),組成具有可擴(kuò)展性、高靈活性、高性能的處理結(jié)構(gòu)。在該結(jié)構(gòu)中,根據(jù)系統(tǒng)的具體任務(wù)要求,對(duì)FPGA邏輯資源進(jìn)行動(dòng)態(tài)配置以此實(shí)現(xiàn)資源的最優(yōu)組合。同時(shí),利用NOC技術(shù)可實(shí)現(xiàn)芯片內(nèi)部的片上交換網(wǎng)絡(luò),也是IP核之間的連接更為方便,是點(diǎn)對(duì)點(diǎn)的通信連接成為可能,從而提高了交互網(wǎng)絡(luò)的擴(kuò)展性。 [6]在FPGA內(nèi)部,還為計(jì)算機(jī)系統(tǒng)了可重構(gòu)接口和微處理核,為芯片的多任務(wù)的重配置和自主控制給予支持。此外,為了降低嵌入式系統(tǒng)的開發(fā)風(fēng)險(xiǎn)與開發(fā)周期,IP重用技術(shù)的使用成為關(guān)鍵,利用可重用的IP核,實(shí)現(xiàn)FPGA芯片的基礎(chǔ)組件,如中斷控制器、通信接口、存儲(chǔ)器等,也使系統(tǒng)的可復(fù)用性增強(qiáng),便于快速開發(fā)嵌入式計(jì)算機(jī)系統(tǒng)。
動(dòng)態(tài)可重構(gòu)嵌入式計(jì)算機(jī),通過(guò)可編程邏輯芯片,配置系統(tǒng)處理資源,在同一硬件模塊中,需求的不同,其所需的執(zhí)行功能也不同。因此,應(yīng)按照具體的應(yīng)用需求進(jìn)行合理的功能執(zhí)行,使系統(tǒng)的靈活性得以增強(qiáng)。同時(shí),不同功能模塊利用同一硬件模塊,提高了資源使用率,可使硬件模塊的種類得到相應(yīng)減少,使嵌入式計(jì)算機(jī)的Swap得以降低。
4 結(jié)束語(yǔ)
伴隨著數(shù)字邏輯系統(tǒng)功能的復(fù)雜化要求,系統(tǒng)規(guī)模逐漸向高密度、大規(guī)模的方向發(fā)展。然后,在大規(guī)模的數(shù)字系統(tǒng)中,在各種邏輯功能模塊的基礎(chǔ)上形成了系統(tǒng)規(guī)模,降低了功能模塊的平均使用率。為了提高資源利用率,實(shí)現(xiàn)更大規(guī)模的邏輯設(shè)計(jì),動(dòng)態(tài)可重構(gòu)技術(shù)的利用成為關(guān)鍵,它在系統(tǒng)運(yùn)行的過(guò)程中,對(duì)資源進(jìn)行配置,利用部分可重構(gòu)方法、軟件可編程重構(gòu)方法,合理配置數(shù)據(jù)路徑、組件功能,提高資源利用率,系統(tǒng)向低功耗、小型化、高可靠性方向發(fā)展,使嵌入式計(jì)算機(jī)的未來(lái)發(fā)展具有廣闊前景。
參考文獻(xiàn):
[1] 彭曉明,龐建民,郭浩然. 動(dòng)態(tài)可重構(gòu)技術(shù)研究綜述[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2012(12):4514-4519.
[2] 趙謙,趙小冬,劉作龍. 機(jī)載嵌入式動(dòng)態(tài)可重構(gòu)計(jì)算機(jī)設(shè)計(jì)[J]. 航空計(jì)算技術(shù),2013(2):113-116+119.
[3] 王儀潔,王烈,許曉潔. 基于FPGA的局部動(dòng)態(tài)可重構(gòu)技術(shù)研究[J]. 集成技術(shù),2013(6):36-40.
[4] 谷鑾,徐貴力,王友仁. FPGA動(dòng)態(tài)可重構(gòu)理論及其研究進(jìn)展[J]. 計(jì)算機(jī)測(cè)量與控制,2007(11):1415-1418.
[5] 吳鳳艷,王烈,孫洪民. 基于FPGA的動(dòng)態(tài)局部可重構(gòu)方法分析與比較[J]. 廣西科學(xué)院學(xué)報(bào),2009(4):340-342,346.
[6] 張宇,范建華,呂遵明,王統(tǒng)祥. FPGA動(dòng)態(tài)部分可重構(gòu)技術(shù)概述[J]. 計(jì)算機(jī)與現(xiàn)代化,2014(3):210-214.