一種基于控制器流水架構(gòu)的層次化信息處理方法及電路的制作方法
【專利摘要】本發(fā)明涉及基于控制器流水架構(gòu)的層次化信息處理方法及電路,所述方法包括如下步驟:1)主處理核接收輸入信號,并根據(jù)輸入信號的數(shù)據(jù)處理需求向下級的可配置流水信號處理核發(fā)送配置參數(shù);2)可配置流水信號處理核接收所述配置參數(shù),并將可配置流水信號處理核內(nèi)置的狀態(tài)寄存器的狀態(tài)信息反饋至主處理核,若所述至少有一個可配置流水信號處理核的狀態(tài)信息處于空閑狀態(tài),則執(zhí)行步驟3);3)所述主處理核優(yōu)先選取與輸入信號的數(shù)據(jù)處理需求相匹配的配置的可配置流水信號處理核;4)可配置流水信號處理核完成相應(yīng)的運算后,更新自身的狀態(tài)寄存器,同時向主處理核發(fā)中斷,結(jié)束數(shù)據(jù)處理操作,具有可擴展性、靈活性以及多變性的特點。
【專利說明】
一種基于控制器流水架構(gòu)的層次化信息處理方法及電路
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及硬件加速器的設(shè)計,尤其涉及一種基于控制器流水架構(gòu)的層次化信息處理方法及電路。
【背景技術(shù)】
[0002]數(shù)字信號處理技術(shù),作為重要的技術(shù)手段廣泛應(yīng)用于各類工程技術(shù)領(lǐng)域。近年來,隨著科學(xué)技術(shù)的發(fā)展,又成為人工智能等新興學(xué)科的理論基礎(chǔ)之一,其重要性及應(yīng)用的廣泛性是巨大的。
[0003]然而作為信號處理的兩種實現(xiàn)方式,通用處理器以及專用集成電路都有著各自的優(yōu)缺點。通用處理器中指令的串行執(zhí)行、指令集的有限性以及內(nèi)存操作瓶頸等因素使其性能往往無法滿足設(shè)計要求;專用集成電路雖然運算速度快、精度高,但靈活性較差,一經(jīng)設(shè)計,其功能便無法改變。
[0004]可重構(gòu)計算系統(tǒng)作為一種新的體系結(jié)構(gòu),采用可編程的硬件模塊來實現(xiàn)計算,以及面向可重構(gòu)系統(tǒng)的操作系統(tǒng)來管理硬件資源,屏蔽硬件細(xì)節(jié),劃分和調(diào)度硬件任務(wù),并向開發(fā)人員提供高層次的編程模型,由此填補了軟硬件之間的鴻溝。然而傳統(tǒng)的可重構(gòu)技術(shù)的性能以及靈活度都介于通用處理器與專用集成電路之間,但是每次使用需要斷電重新設(shè)計,而且性能也遠(yuǎn)遠(yuǎn)弱于專用集成電路。
【發(fā)明內(nèi)容】
[0005]本發(fā)明目的在于克服以上現(xiàn)有技術(shù)之不足,提供一種層次化可配置流水加速器架構(gòu),硬件加速器可通過層次化配置的方式實現(xiàn)多種流水應(yīng)用的加速,通過粗粒度的靜態(tài)配置方式可改變加速器中基本流水級的拓?fù)浣Y(jié)構(gòu)和互連關(guān)系,以資源復(fù)用的方式實現(xiàn)特定應(yīng)用的硬件加速,滿足信號處理應(yīng)用的高實時性和靈活性。具體有以下技術(shù)方案實現(xiàn):
所述基于控制器流水架構(gòu)的層次化信息處理方法,包括如下步驟:
1)主處理核接收輸入信號,并根據(jù)輸入信號的數(shù)據(jù)處理需求向下級的可配置流水信號處理核發(fā)送配置參數(shù);
2)可配置流水信號處理核接收所述配置參數(shù),并將可配置流水信號處理核內(nèi)置的狀態(tài)寄存器的狀態(tài)信息反饋至主處理核,若所述可配置流水信號處理核的狀態(tài)信息均為忙碌狀態(tài),則主處理核處于等待狀態(tài),若所述至少有一個可配置流水信號處理核的狀態(tài)信息處于空閑狀態(tài),則執(zhí)行步驟3);
3)所述主處理核優(yōu)先選取與輸入信號的數(shù)據(jù)處理需求相匹配的配置的可配置流水信號處理核執(zhí)行相應(yīng)的運算,若沒有匹配配置的可配置流水信號處理核,則主處理核任選一個空閑的可配置流水信號處理核進行重構(gòu),更新可配置流水信號處理核的狀態(tài)寄存器,啟動可配置流水信號處理核進行相應(yīng)的運算;
4)可配置流水信號處理核完成相應(yīng)的運算后,更新自身的狀態(tài)寄存器,同時向主處理核發(fā)中斷,結(jié)束數(shù)據(jù)處理操作。
[0006]所述基于控制器流水架構(gòu)的層次化信息處理方法的進一步設(shè)計在于,所述步驟3)中可配置流水信號處理核進行運算時,根據(jù)各配置參數(shù),得到與所述配置參數(shù)對應(yīng)的運算量,提供與所述配置參數(shù)相對應(yīng)的運算存儲資源。
[0007]所述基于控制器流水架構(gòu)的層次化信息處理方法的進一步設(shè)計在于,可配置流水信號處理核包括三級可配置功能層:
可配置應(yīng)用層,通過第一可配置互連網(wǎng)絡(luò),將多個可配置算法層相連,形成面向固定應(yīng)用的加速結(jié)構(gòu);
可配置算法層,通過第二可配置互連網(wǎng)絡(luò),將多個可配置運算層相連,根據(jù)可配置應(yīng)用層的指令配置相應(yīng)的算法,并向可配置運算層提供對應(yīng)指令的算法配置;
可配置運算層,包括乘法器、加法器,并根據(jù)配置信息完成對應(yīng)的運算。
[0008]采用所述的基于控制器流水架構(gòu)的層次化信息處理方法的基于控制器流水架構(gòu)的層次化信息處理加速電路,包括:
RISC處理核,對若干含有寄存器加速器發(fā)送控制信號,并對所述寄存器進行協(xié)同配置; 加速器,接收RISC處理核發(fā)出的控制信號,并向RISC處理核反饋自身寄存器的狀態(tài)信息。
[0009]所述基于控制器流水架構(gòu)的層次化信息處理電路的進一步設(shè)計在于,所述加速器還包括
主控制器,對配置寄存器進行讀取,并對重構(gòu)控制器發(fā)送配置信息進行配置;
重構(gòu)控制器,根據(jù)所述配置信息,重構(gòu)寄存器的運算資源與存儲資源,組合成對應(yīng)的流水且并行的運算架構(gòu);
可重構(gòu)計算陣列,包括一組運算單元與互聯(lián)網(wǎng)絡(luò),由所述配置信息形成對應(yīng)的MUX選擇信號,并根據(jù)所述MUX選擇信號,選擇相應(yīng)的互連網(wǎng)絡(luò),通過運算單元實現(xiàn)數(shù)據(jù)運算。
[0010]所述基于控制器流水架構(gòu)的層次化信息處理電路的進一步設(shè)計在于,RISC核與加速器通過總線進行控制信號的交互。
[0011]所述基于控制器流水架構(gòu)的層次化信息處理電路的進一步設(shè)計在于,所述寄存器包括用于對加速器的配置的配置寄存器與用于對加速器狀態(tài)的標(biāo)記狀態(tài)寄存器。
[0012]
本發(fā)明的優(yōu)點如下:
本發(fā)明提供的基于控制器流水架構(gòu)的層次化信息處理方法及電路具有可擴展性,可以在可重構(gòu)控制器內(nèi)添加適合于新應(yīng)用的互連,從而實現(xiàn)新應(yīng)用的加速;具有靈活性,可根據(jù)整體吞吐率的要求適當(dāng)?shù)脑黾蛹铀倨鞯臄?shù)目;具有多變性,加速器可以實現(xiàn)多種不同應(yīng)用的加速;具有資源可復(fù)用性,各條流水線之間的運算資源以及存儲資源可以互相復(fù)用,大大提高了資源的利用率。
【附圖說明】
[0013]圖1是RPSC體系結(jié)構(gòu)示意圖。
[0014]圖2是可重構(gòu)計算陣列結(jié)構(gòu)框圖。
[0015]圖3是可重構(gòu)存儲器結(jié)構(gòu)框圖。
[0016]圖4是多RPSC系統(tǒng)整體架構(gòu)。
[0017]圖5是多核RPSC配置流程圖。
【具體實施方式】
[0018]下面結(jié)合附圖對本發(fā)明方案進行詳細(xì)說明。
[0019]所述基于控制器流水架構(gòu)的層次化信息處理方法,包括如下步驟:
步驟I)主處理核接收輸入信號,并根據(jù)輸入信號的數(shù)據(jù)處理需求向下級的可配置流水信號處理核發(fā)送配置參數(shù);
步驟2)可配置流水信號處理核接收所述配置參數(shù),并將可配置流水信號處理核內(nèi)置的狀態(tài)寄存器的狀態(tài)信息反饋至主處理核,若所述可配置流水信號處理核的狀態(tài)信息均為忙碌狀態(tài),則主處理核處于等待狀態(tài),若所述至少有一個可配置流水信號處理核的狀態(tài)信息處于空閑狀態(tài),則執(zhí)行步驟3);
步驟3)所述主處理核優(yōu)先選取與輸入信號的數(shù)據(jù)處理需求相匹配的配置的可配置流水信號處理核執(zhí)行相應(yīng)的運算,若沒有匹配配置的可配置流水信號處理核,則主處理核任選一個空閑的可配置流水信號處理核進行重構(gòu),更新可配置流水信號處理核的狀態(tài)寄存器,啟動可配置流水信號處理核進行相應(yīng)的運算;
步驟4)可配置流水信號處理核完成相應(yīng)的運算后,更新自身的狀態(tài)寄存器,同時向主處理核發(fā)中斷,結(jié)束數(shù)據(jù)處理操作。
[0020]步驟3)中可配置流水信號處理核進行運算時,根據(jù)各配置參數(shù),得到與所述配置參數(shù)對應(yīng)的運算量,提供與所述配置參數(shù)相對應(yīng)的運算存儲資源。
[0021 ]進一步的,可配置流水信號處理核包括三級可配置功能層:可配置應(yīng)用層,通過第一可配置互連網(wǎng)絡(luò),將多個可配置算法層相連,形成面向固定應(yīng)用的加速結(jié)構(gòu);可配置算法層,通過第二可配置互連網(wǎng)絡(luò),將多個可配置運算層相連,根據(jù)可配置應(yīng)用層的指令配置相應(yīng)的算法,并向可配置運算層提供對應(yīng)指令的算法配置;可配置運算層,包括乘法器、加法器,并根據(jù)配置信息完成對應(yīng)的運算。
[0022]本實施例提供采用上述基于控制器流水架構(gòu)的層次化信息處理方法的基于控制器流水架構(gòu)的層次化信息處理加速電路,包括可配置流水信號處理核與加速器,本實施例中可配置流水信號處理核為RISC處理核,加速器為RPSC。其中,RISC處理核,對若干含有寄存器加速器發(fā)送控制信號,并對所述寄存器進行協(xié)同配置。加速器,接收RISC處理核發(fā)出的控制信號,并向RISC處理核反饋自身寄存器的狀態(tài)信息。RISC核與加速器通過總線進行控制信號的交互。寄存器由用于對加速器的配置的配置寄存器與用于對加速器狀態(tài)的標(biāo)記狀態(tài)寄存器組成。
[0023]進一步的,加速器RPSC還包括主控制器、重構(gòu)控制器、可重構(gòu)計算陣列、本地數(shù)據(jù)存儲器以及可重構(gòu)資源(RAP),參見圖1。主控制器,對配置寄存器進行讀取,并對重構(gòu)控制器發(fā)送配置信息進行配置。重構(gòu)控制器,根據(jù)所述配置信息,重構(gòu)寄存器的運算資源與存儲資源,組合成對應(yīng)的流水且并行的運算架構(gòu)。可重構(gòu)計算陣列,包括一組運算單元與互聯(lián)網(wǎng)絡(luò),由所述配置信息形成對應(yīng)的MUX選擇信號,并根據(jù)所述MUX選擇信號,選擇相應(yīng)的互連網(wǎng)絡(luò),通過運算單元實現(xiàn)數(shù)據(jù)運算。主控制器和重構(gòu)控制器是RPSC的核心控制部件,一方面主控制器通過配置寄存器組與外部器件實現(xiàn)控制命令的交互,另一方面重構(gòu)控制器根據(jù)主控制器傳送過來的已配置的命令控制RAP內(nèi)的運算資源組合成對應(yīng)的流水+并行運算架構(gòu),同時實時主控制器監(jiān)控RPSC運行狀態(tài)并通過狀態(tài)寄存器及中斷輸出端將RPSC運行狀態(tài)供外部器件查詢。
[0024]RPSC中的主控制器(純邏輯狀態(tài)機)和重構(gòu)控制器(純邏輯狀態(tài)機)實現(xiàn)邏輯的可重構(gòu)和硬件運行時狀態(tài)管理。主控制器和重構(gòu)控制器是RPSC的核心控制部件,一方面主控制器通過配置寄存器組與外部器件實現(xiàn)控制命令的交互,另一方面重構(gòu)控制器根據(jù)主控制器傳送過來的已配置的命令控制RAP內(nèi)的運算資源組合成對應(yīng)的流水+并行運算架構(gòu),同時實時主控制器監(jiān)控RPSC運行狀態(tài)并通過狀態(tài)寄存器及中斷輸出端將RPSC運行狀態(tài)供外部器件查詢。
[0025]使用時,主控制器解讀RISC核通過總線傳來的配置信息,將有效信息傳給重構(gòu)控制器。再經(jīng)由重構(gòu)控制器對三級可配置架構(gòu)進行配置,得到各種重構(gòu)后的應(yīng)用實現(xiàn)硬件電路。同時重構(gòu)控制器選擇相應(yīng)算法,由高速數(shù)據(jù)接口,完成對不同算法所需數(shù)據(jù)的讀寫控制。
[0026]主控制器的作用是配置RPSC核各內(nèi)部模塊協(xié)同工作。狀態(tài)寄存器告知RISC核目前RPSC的工作狀態(tài),若目前RPSC空閑,則RISC核將配置信息傳入配置寄存器,主控制器將配置寄存器中配置參數(shù)提供給重構(gòu)控制器,進行流水線重構(gòu)。
[0027]重構(gòu)控制器包含重構(gòu)狀態(tài)機模塊以及多個應(yīng)用子模塊子控制器。重構(gòu)控制器從主控制器接受指令并解析,發(fā)出算法執(zhí)行信號以及配置信息。選通所需內(nèi)存、運算單元的復(fù)選器。完成數(shù)據(jù)流選通后啟動該算法的子控制器。
[0028]可重構(gòu)計算陣列如圖2所示,可實現(xiàn)多種流水算法,其主體結(jié)構(gòu)為一組運算單元、互聯(lián)網(wǎng)絡(luò)及地址生成器(AGU)??芍貥?gòu)計算陣列針對于不同的計算類型,不同的算法,通過MUX選擇信號,選擇相應(yīng)的互連網(wǎng)絡(luò),然后實現(xiàn)數(shù)據(jù)運算。
[0029]本地數(shù)據(jù)存儲器如圖3所示,用于存儲各個算法運算所需的數(shù)據(jù)及結(jié)果,由memoryswitch模塊和memory模塊組成,存儲總?cè)萘咳「髁魉€所需容量的較大值,而memoryswitch模塊為各應(yīng)用單元提供統(tǒng)一的讀寫端口。
[0030]為了能夠滿足更高吞吐率的要求,可以多個RPSC可以協(xié)同工作,如圖4所示為4個RPSC通過總線與一個RISC核相連。RISC核通過總線對每個RPSC核進行配置調(diào)度,每個RPSC有各自的專用數(shù)據(jù)讀寫通道,能夠滿足4倍于單個RPSC的吞吐率。
[0031]如圖5所示,多RPSC環(huán)境下,在RISC核配置RPSC前,需要讀取每個RPSC的狀態(tài)寄存器,去判斷RPSC是否空閑,如果所有RPSC都處于忙的狀態(tài),則需要等待。當(dāng)發(fā)現(xiàn)有RPSC處于空閑狀態(tài),則首先判斷空閑RPSC中是否有與當(dāng)前所需配置相互吻合的RPSC,如果有,優(yōu)先選擇,只需更新相關(guān)狀態(tài)寄存器即可;如果沒有,任選一個空閑的RPSC進行重構(gòu),更新RPSC狀態(tài)寄存器,啟動RPSC進行相應(yīng)的運算。在RPSC完成相應(yīng)的運算后,更新狀態(tài)寄存器,同時需要給RISC核發(fā)中斷,表明任務(wù)完成。
【主權(quán)項】
1.一種基于控制器流水架構(gòu)的層次化信息處理方法,其特征在于包括如下步驟: 1)主處理核接收輸入信號,并根據(jù)輸入信號的數(shù)據(jù)處理需求向下級的可配置流水信號處理核發(fā)送配置參數(shù); 2)可配置流水信號處理核接收所述配置參數(shù),并將可配置流水信號處理核內(nèi)置的狀態(tài)寄存器的狀態(tài)信息反饋至主處理核,若所述可配置流水信號處理核的狀態(tài)信息均為忙碌狀態(tài),則主處理核處于等待狀態(tài),若所述至少有一個可配置流水信號處理核的狀態(tài)信息處于空閑狀態(tài),則執(zhí)行步驟3); 3)所述主處理核優(yōu)先選取與輸入信號的數(shù)據(jù)處理需求相匹配的配置的可配置流水信號處理核執(zhí)行相應(yīng)的運算,若沒有匹配配置的可配置流水信號處理核,則主處理核任選一個空閑的可配置流水信號處理核進行重構(gòu),更新可配置流水信號處理核的狀態(tài)寄存器,啟動可配置流水信號處理核進行相應(yīng)的運算; 4)可配置流水信號處理核完成相應(yīng)的運算后,更新自身的狀態(tài)寄存器,同時向主處理核發(fā)中斷,結(jié)束數(shù)據(jù)處理操作。2.根據(jù)權(quán)利要求1所述的基于控制器流水架構(gòu)的層次化信息處理方法,其特征在于所述步驟3)中可配置流水信號處理核進行運算時,根據(jù)各配置參數(shù),得到與所述配置參數(shù)對應(yīng)的運算量,提供與所述配置參數(shù)相對應(yīng)的運算存儲資源。3.根據(jù)權(quán)利要求2所述的基于控制器流水架構(gòu)的層次化信息處理方法,其特征在于可配置流水信號處理核包括三級可配置功能層: 可配置應(yīng)用層,通過第一可配置互連網(wǎng)絡(luò),將多個可配置算法層相連,形成面向固定應(yīng)用的加速結(jié)構(gòu); 可配置算法層,通過第二可配置互連網(wǎng)絡(luò),將多個可配置運算層相連,根據(jù)可配置應(yīng)用層的指令配置相應(yīng)的算法,并向可配置運算層提供對應(yīng)指令的算法配置; 可配置運算層,包括乘法器、加法器,并根據(jù)配置信息完成對應(yīng)的運算。4.采用如權(quán)利要求1-3任意項所述的基于控制器流水架構(gòu)的層次化信息處理方法的基于控制器流水架構(gòu)的層次化信息處理加速電路,其特征在于包括 RISC處理核,對若干含有寄存器加速器發(fā)送控制信號,并對所述寄存器進行協(xié)同配置; 加速器,接收RISC處理核發(fā)出的控制信號,并向RISC處理核反饋自身寄存器的狀態(tài)信息。5.根據(jù)權(quán)利要求4所述的基于控制器流水架構(gòu)的層次化信息處理加速電路,其特征在于所述加速器還包括 主控制器,對配置寄存器進行讀取,并對重構(gòu)控制器發(fā)送配置信息進行配置; 重構(gòu)控制器,根據(jù)所述配置信息,重構(gòu)寄存器的運算資源與存儲資源,組合成對應(yīng)的流水且并行的運算架構(gòu); 可重構(gòu)計算陣列,包括一組運算單元與互聯(lián)網(wǎng)絡(luò),由所述配置信息形成對應(yīng)的MUX選擇信號,并根據(jù)所述MUX選擇信號,選擇相應(yīng)的互連網(wǎng)絡(luò),通過運算單元實現(xiàn)數(shù)據(jù)運算。6.根據(jù)權(quán)利要求4所述的基于控制器流水架構(gòu)的層次化信息處理加速電路,其特征在于,RISC核與加速器通過總線進行控制信號的交互。7.根據(jù)權(quán)利要求4所述的基于控制器流水架構(gòu)的層次化信息處理加速電路,其特征在于,所述寄存器包括用于對加速器的配置的配置寄存器與用于對加速器狀態(tài)的標(biāo)記狀態(tài)寄 存器。
【文檔編號】G06F17/50GK105930598SQ201610270325
【公開日】2016年9月7日
【申請日】2016年4月27日
【發(fā)明人】潘紅兵, 呂飛, 李麗, 李偉, 秦子迪, 朱德政, 李晨杰, 陳金銳
【申請人】南京大學(xué)