基于運(yùn)行時(shí)計(jì)算模式的動(dòng)態(tài)可重構(gòu)硬件加速技術(shù)研究
發(fā)布時(shí)間:2020-05-17 12:48
【摘要】:動(dòng)態(tài)可重構(gòu)硬件加速技術(shù)利用現(xiàn)場(chǎng)可編程器件的可編程資源,,通過(guò)硬件電路邏輯實(shí)現(xiàn)高速運(yùn)算。其核心流程是將原本軟件實(shí)現(xiàn)的運(yùn)算動(dòng)態(tài)地優(yōu)選出最適合于硬件實(shí)現(xiàn)的部分移植到可編程器件上,通過(guò)動(dòng)態(tài)可重構(gòu)硬件的邏輯電路實(shí)現(xiàn)。 在可重構(gòu)計(jì)算已有的研究中,大都是從應(yīng)用程序的源代碼的人工或者輔助分析出發(fā),定位出使用頻度最高的部分,然后改寫并將計(jì)算任務(wù)遷移到可編程器件上執(zhí)行。這種從源代碼級(jí)別開始的協(xié)同設(shè)計(jì)流程由于需要大量的人工參與,使得設(shè)計(jì)過(guò)程效率低下,也難以在運(yùn)行時(shí)動(dòng)態(tài)評(píng)價(jià)和選取適合于硬件實(shí)現(xiàn)的部分。 本文的工作針對(duì)上述問(wèn)題,對(duì)可重構(gòu)計(jì)算中硬件加速器的自動(dòng)化實(shí)現(xiàn)方法開展研究。通過(guò)在運(yùn)行過(guò)程中對(duì)目標(biāo)應(yīng)用程序進(jìn)行動(dòng)態(tài)分析,實(shí)時(shí)地劃分和選取適合于硬件實(shí)現(xiàn)的模塊,最終根據(jù)資源和收益的準(zhǔn)則對(duì)軟硬件功能劃分進(jìn)行優(yōu)化。以可滿足性問(wèn)題(SAT)求解為例,具體實(shí)現(xiàn)了硬件加速器對(duì)軟件系統(tǒng)的性能改進(jìn)。論文工作的具體內(nèi)容如下: (1)提出運(yùn)行時(shí)基本代碼塊模型(RBBL),該模型有效地對(duì)程序的運(yùn)行模式動(dòng)態(tài)地進(jìn)行識(shí)別和描述。模型可以有效地將程序運(yùn)行過(guò)程中各個(gè)運(yùn)行時(shí)代碼塊之間的控制依賴性和數(shù)據(jù)依賴性進(jìn)行記錄,分析提取并評(píng)估基本代碼模塊,用以指導(dǎo)軟硬件的劃分和動(dòng)態(tài)可重構(gòu)模塊的構(gòu)造。 (2)在分析應(yīng)用程序運(yùn)行特性的基礎(chǔ)上,提出了基于軟件運(yùn)行時(shí)計(jì)算模式的面向可重構(gòu)硬件加速的軟硬件劃分方法。計(jì)算模式定義為一組有邏輯聯(lián)系和數(shù)據(jù)相關(guān)性的操作,它由連續(xù)或者不連續(xù)的代碼片斷構(gòu)成,能夠完成特定的計(jì)算任務(wù),是軟硬件劃分的粒度模型。在這種模型指導(dǎo)下,硬件實(shí)現(xiàn)的部分可以表達(dá)和處理一個(gè)完整的給定規(guī)模遞歸求解問(wèn)題,計(jì)算模式之外的軟件部分則處理遞歸計(jì)算的高端迭代過(guò)程。該方法保證了計(jì)算任務(wù)內(nèi)部在運(yùn)行時(shí)的邏輯聯(lián)系和數(shù)據(jù)依賴,具有節(jié)省控制和數(shù)據(jù)通信開銷的優(yōu)勢(shì)。 (3)研究并實(shí)現(xiàn)了大規(guī)模并發(fā)模式的SAT求解硬件加速器,提高SAT問(wèn)題的求解效率。利用面向軟硬件功能劃分的軟件自動(dòng)化分析工具得出SAT求解算法的運(yùn)行特性和計(jì)算模式;谟(jì)算模式的劃分方法將SAT問(wèn)題求解過(guò)程中的子問(wèn)題求解過(guò)程作為軟硬件劃分的基本單元提取出來(lái),完成軟硬件功能劃分。SAT問(wèn)題特有的計(jì)算模式通過(guò)大規(guī)模并發(fā)的實(shí)現(xiàn)方式部署到可重構(gòu)計(jì)算器件運(yùn)行,最后獲取求解性能的收益。與其他的以SAT子句為硬件加速對(duì)象的硬件加速器相比較,文中的SAT求解硬件加速器能夠壓縮實(shí)際體現(xiàn)出來(lái)的問(wèn)題復(fù)雜度,在求解高難度SAT問(wèn)題時(shí)具有性能優(yōu)勢(shì)。
【圖文】:
任務(wù)完成以后,可變邏輯部分將被部署上新的電路邏輯以適應(yīng)新的計(jì)算任務(wù)需求。如圖1.1所示,可重構(gòu)計(jì)算系統(tǒng)由兩個(gè)部分構(gòu)成:固定邏輯電路部分F和可變邏輯電路部分V。其中,固定邏輯部分是通用的處理器,在上面運(yùn)行的軟件部分負(fù)責(zé)任務(wù)的調(diào)度和對(duì)可變處理邏輯的控制?勺冞壿嫴糠謱⒏鶕(jù)計(jì)算任務(wù)的需要,適時(shí)地改變內(nèi)部的電路邏輯,以硬件邏輯的方式完成設(shè)定的計(jì)算任務(wù)。當(dāng)一個(gè)計(jì)算任務(wù)完成以后,可重構(gòu)部分可以被替換為新的電路邏輯以適應(yīng)新的計(jì)算任務(wù)需求。由于同時(shí)具備了兩種不同的計(jì)算方式,這種可重構(gòu)的體系結(jié)構(gòu)就同時(shí)具備了可編程的靈活性和專用計(jì)算芯片的高效率。圖1.1最初的可重構(gòu)計(jì)算體系結(jié)構(gòu)設(shè)想[1]這種可定制的硬件計(jì)算邏輯同時(shí)具備了可編程的靈活性和專用計(jì)算芯片的高效率。由于相關(guān)研究水平的限制,雖然當(dāng)時(shí)的器件技術(shù)和軟件設(shè)計(jì)技術(shù)并不能完美的支持這種通過(guò)可改變外圍設(shè)備電路邏輯的方法,來(lái)獲取高計(jì)算性能的設(shè)計(jì),但是這種非馮式結(jié)構(gòu)的計(jì)算體系開辟了計(jì)算機(jī)技術(shù)的一個(gè)新的研究領(lǐng)域[1]。而且
編譯器視角下的邏輯代碼片段單元運(yùn)行時(shí)基本指令塊和高級(jí)語(yǔ)言編譯技術(shù)定義的基本指令塊類似,也是一段不會(huì)再被拆分的指令序列,但是也有著明確的不同之處。如圖2.3所示,運(yùn)行時(shí)基本代碼塊根據(jù)其定義,是根據(jù)程序運(yùn)行過(guò)程中行為規(guī)律進(jìn)行劃分的,而不再依賴于源程序語(yǔ)言的邏輯和語(yǔ)法結(jié)構(gòu)。例如,0x401054出的指令和0x401056處的指令分屬不同的運(yùn)行時(shí)基本代碼塊。執(zhí)行過(guò)程中出現(xiàn)的不會(huì)被控制類指令中斷的序列,26
【學(xué)位授予單位】:清華大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2014
【分類號(hào)】:TP331
本文編號(hào):2668574
【圖文】:
任務(wù)完成以后,可變邏輯部分將被部署上新的電路邏輯以適應(yīng)新的計(jì)算任務(wù)需求。如圖1.1所示,可重構(gòu)計(jì)算系統(tǒng)由兩個(gè)部分構(gòu)成:固定邏輯電路部分F和可變邏輯電路部分V。其中,固定邏輯部分是通用的處理器,在上面運(yùn)行的軟件部分負(fù)責(zé)任務(wù)的調(diào)度和對(duì)可變處理邏輯的控制?勺冞壿嫴糠謱⒏鶕(jù)計(jì)算任務(wù)的需要,適時(shí)地改變內(nèi)部的電路邏輯,以硬件邏輯的方式完成設(shè)定的計(jì)算任務(wù)。當(dāng)一個(gè)計(jì)算任務(wù)完成以后,可重構(gòu)部分可以被替換為新的電路邏輯以適應(yīng)新的計(jì)算任務(wù)需求。由于同時(shí)具備了兩種不同的計(jì)算方式,這種可重構(gòu)的體系結(jié)構(gòu)就同時(shí)具備了可編程的靈活性和專用計(jì)算芯片的高效率。圖1.1最初的可重構(gòu)計(jì)算體系結(jié)構(gòu)設(shè)想[1]這種可定制的硬件計(jì)算邏輯同時(shí)具備了可編程的靈活性和專用計(jì)算芯片的高效率。由于相關(guān)研究水平的限制,雖然當(dāng)時(shí)的器件技術(shù)和軟件設(shè)計(jì)技術(shù)并不能完美的支持這種通過(guò)可改變外圍設(shè)備電路邏輯的方法,來(lái)獲取高計(jì)算性能的設(shè)計(jì),但是這種非馮式結(jié)構(gòu)的計(jì)算體系開辟了計(jì)算機(jī)技術(shù)的一個(gè)新的研究領(lǐng)域[1]。而且
編譯器視角下的邏輯代碼片段單元運(yùn)行時(shí)基本指令塊和高級(jí)語(yǔ)言編譯技術(shù)定義的基本指令塊類似,也是一段不會(huì)再被拆分的指令序列,但是也有著明確的不同之處。如圖2.3所示,運(yùn)行時(shí)基本代碼塊根據(jù)其定義,是根據(jù)程序運(yùn)行過(guò)程中行為規(guī)律進(jìn)行劃分的,而不再依賴于源程序語(yǔ)言的邏輯和語(yǔ)法結(jié)構(gòu)。例如,0x401054出的指令和0x401056處的指令分屬不同的運(yùn)行時(shí)基本代碼塊。執(zhí)行過(guò)程中出現(xiàn)的不會(huì)被控制類指令中斷的序列,26
【學(xué)位授予單位】:清華大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2014
【分類號(hào)】:TP331
【參考文獻(xiàn)】
相關(guān)期刊論文 前3條
1 劉功杰,張魯峰,李思昆;遺傳算法在軟硬件劃分中的應(yīng)用[J];國(guó)防科技大學(xué)學(xué)報(bào);2002年02期
2 劉安;馮金富;梁曉龍;楊嘯天;;基于遺傳粒子群優(yōu)化的嵌入式系統(tǒng)軟硬件劃分算法[J];計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào);2010年06期
3 邢冀鵬;鄒雪城;劉政林;陳毅成;;一種基于改進(jìn)模擬退火算法的軟硬件劃分技術(shù)[J];微電子學(xué)與計(jì)算機(jī);2006年05期
本文編號(hào):2668574
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/2668574.html
最近更新
教材專著