一種可重構(gòu)系統(tǒng)的局部重構(gòu)控制器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式系統(tǒng)的技術(shù)領(lǐng)域,特別是一種可重構(gòu)系統(tǒng)的局部重構(gòu)控制器。
【背景技術(shù)】
[0002]專用集成電路計算性能高但靈活性差,通用處理器計算性能差但靈活性高,而可重構(gòu)系統(tǒng)能夠在系統(tǒng)運行時通過動態(tài)配置改變其功能,同時保持較高計算性能,兼具高性能和高靈活的計算優(yōu)勢,在許多領(lǐng)域得到了廣泛應(yīng)用。面向計算任務(wù)日趨復(fù)雜的應(yīng)用需求,可重構(gòu)系統(tǒng)執(zhí)行任務(wù)所需控制器的結(jié)構(gòu)的復(fù)雜度和配置信息的容量日益增加,影響可重構(gòu)系統(tǒng)芯片的設(shè)計與芯片的計算性能。在大規(guī)??芍貥?gòu)計算陣列的計算密集型應(yīng)用中,可重構(gòu)系統(tǒng)的配置信息較為龐大,傳統(tǒng)系統(tǒng)控制器僅依靠單一計算陣列控制器來負責整個系統(tǒng)的可重構(gòu)計算陣列配置信息的解析與配置,使得控制器負擔較重,造成可重構(gòu)系統(tǒng)芯片運行速度慢、效率低,且控制器一般僅支持對連續(xù)地址數(shù)據(jù)經(jīng)行讀寫單一數(shù)據(jù)流控制方式,靈活性較差。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問題是提供一種可重構(gòu)系統(tǒng)的局部重構(gòu)控制器,用以增加可重構(gòu)系統(tǒng)的控制效率及其配置信息的靈活性,提高可重構(gòu)系統(tǒng)的計算性能。
[0004]為了解決上述問題,本發(fā)明公開了一種可重構(gòu)系統(tǒng)的局部重構(gòu)控制器,其包括:多個可重構(gòu)計算陣列塊控制器和與之配套的塊數(shù)據(jù)流圖配置信息。整個可重構(gòu)系統(tǒng)可被拆分為多個可重構(gòu)陣列塊和塊控制單元,其中每個可重構(gòu)陣列塊中包含若干計算陣列行,所有計算陣列行都具有若干個端口用于讀寫數(shù)據(jù),每個塊控制單元中包含一個計算陣列塊控制器,用于接收并解析與之配套的塊數(shù)據(jù)流圖配置信息,每個塊數(shù)據(jù)流圖配置信息中包含若干個配置包和配置組,其中配置包和可重構(gòu)陣列塊中每行的行號所對應(yīng),用于索引配置組,配置組中包含可重構(gòu)陣列塊中每行的具體配置信息。并增加了多種數(shù)據(jù)流控制方式,支持多數(shù)據(jù)多地址間隔輸入與輸出。每個塊控制單元控制一個可重構(gòu)計算陣列塊。
[0005]所述可重構(gòu)計算陣列塊控制器:負責可重構(gòu)陣列計算資源的控制流配置信息的解析,并根據(jù)時序配置信息控制該部分計算資源的啟動與結(jié)束。多個可重構(gòu)計算陣列塊控制器共同控制整個可重構(gòu)計算陣列的數(shù)據(jù)流向。
[0006]所述的塊數(shù)據(jù)流圖配置信息:所有塊數(shù)據(jù)流圖配置信息都來源于可重構(gòu)系統(tǒng)的配置信息,包括配置包和配置組,配置包和可重構(gòu)陣列塊中每行計算陣列的行號所對應(yīng),用于索引配置組,配置組包含所有計算陣列行的啟動時間、每個端口讀寫數(shù)據(jù)的來源、每個端口讀寫數(shù)據(jù)個數(shù)、每個端口讀寫數(shù)據(jù)間隔、每個端口讀寫數(shù)據(jù)地址個數(shù)、每個端口讀寫數(shù)據(jù)地址間隔、該部分可重構(gòu)陣列塊數(shù)據(jù)流圖的循環(huán)次數(shù)。
[0007]所述的可重構(gòu)系統(tǒng)的局部重構(gòu)控制器:可重構(gòu)系統(tǒng)中每個塊控制單元的計算陣列塊控制器解析該塊所對應(yīng)的數(shù)據(jù)流圖配置信息,得到配置包和配置組信息;由配置包索引配置組,得到可重構(gòu)陣列塊中每行的數(shù)據(jù)配置信息,并以此控制可重構(gòu)陣列塊中每行計算資源的啟動,根據(jù)每個端口讀數(shù)據(jù)的來源、讀數(shù)據(jù)的個數(shù)、讀數(shù)據(jù)的間隔、讀數(shù)據(jù)的地址、讀地址的間隔依次讀取數(shù)據(jù)進入計算陣列進行計算,運算的結(jié)果根據(jù)每個端口寫數(shù)據(jù)的去向、寫數(shù)據(jù)的個數(shù)、寫數(shù)據(jù)的間隔、寫數(shù)據(jù)的地址、寫地址的間隔依次寫出計算陣列。同時根據(jù)解析的控制流配置信息決定該部分計算資源所對應(yīng)的數(shù)據(jù)流圖的循環(huán)次數(shù)和計算過程的結(jié)束。
[0008]本發(fā)明的優(yōu)點及有益效果:
(I)本發(fā)明的可重構(gòu)系統(tǒng)的局部重構(gòu)控制器,在傳統(tǒng)的可重構(gòu)系統(tǒng)的控制結(jié)構(gòu)和配置方法的基礎(chǔ)上,把整個可重構(gòu)系統(tǒng)拆分為多個可重構(gòu)陣列塊和塊控制單元,每個塊控制單元中的可重構(gòu)陣列塊控制器通過解析與之配套的塊數(shù)據(jù)流圖配置信息去控制其對應(yīng)的可重構(gòu)陣列塊,從而避免整個可重構(gòu)系統(tǒng)依靠單一的可重構(gòu)陣列控制器去解析數(shù)據(jù)流圖配置信息和控制整個可重構(gòu)計算陣列造成計算效率低下,系統(tǒng)工作速率較慢。
[0009](2)本發(fā)明的可重構(gòu)系統(tǒng)的局部重構(gòu)控制器,在傳統(tǒng)的可重構(gòu)系統(tǒng)的控制結(jié)構(gòu)和配置方法的基礎(chǔ)上,把整個可重構(gòu)系統(tǒng)拆分為多個可重構(gòu)陣列塊和塊控制單元,并在塊控制單元中加入了多種數(shù)據(jù)流圖控制信息,支持多數(shù)據(jù)多地址間隔輸入與輸出,較傳統(tǒng)的僅支持多數(shù)據(jù)多地址連續(xù)輸入與輸出而言更加靈活。并且在每個塊控制單元中的可重構(gòu)計算陣列塊控制器能根據(jù)塊數(shù)據(jù)流圖配置信息解析出配置包和配置組,配置包對應(yīng)可重構(gòu)陣列塊中每行的行號用于索引配置組,配置組包含可重構(gòu)陣列塊中所有計算陣列行的啟動時間、每個端口讀寫數(shù)據(jù)的來源、每個端口讀寫數(shù)據(jù)個數(shù)、每個端口讀寫數(shù)據(jù)間隔、每個端口讀寫數(shù)據(jù)地址個數(shù)、每個端口讀寫數(shù)據(jù)地址間隔、對應(yīng)可重構(gòu)陣列數(shù)據(jù)流圖的循環(huán)次數(shù)。且因為支持數(shù)據(jù)流圖的循環(huán),故可以在一定程度上減少配置存儲空間,從而大大增加了可重構(gòu)系統(tǒng)的控制靈活性,提高可重構(gòu)系統(tǒng)系能。
[0010]本發(fā)明的可重構(gòu)系統(tǒng)控制器結(jié)構(gòu)及其配置方法,以分組密碼算法的實現(xiàn)為例,可以使配置時間縮短82%,可重構(gòu)系統(tǒng)性能提升25%。
【附圖說明】
[0011]附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本人發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明的一種可重構(gòu)系統(tǒng)的局部重構(gòu)控制器示意圖。
[0012]圖2為本發(fā)明的一種可重構(gòu)系統(tǒng)的局部重構(gòu)控制器的工作流程圖。
[0013]圖3為本發(fā)明的一種可重構(gòu)系統(tǒng)控制結(jié)構(gòu)中的數(shù)據(jù)流圖配置信息的結(jié)構(gòu)示意圖。圖3 (a)為塊控制系統(tǒng)中總的數(shù)據(jù)流圖結(jié)構(gòu)示意圖;圖3 (b)為塊數(shù)據(jù)流圖中配置組的結(jié)構(gòu)示意圖。
[0014]圖4為本發(fā)明的一種可重構(gòu)系統(tǒng)控制結(jié)構(gòu)的微處理器應(yīng)用連接圖。
【具體實施方式】
[0015]以下結(jié)合附圖對本發(fā)明的緩存結(jié)構(gòu)及管理方法實施例進行說明,應(yīng)當理解,此處所描述的控制結(jié)構(gòu)及管理方法實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0016]圖1為本發(fā)明的一種可重構(gòu)系統(tǒng)的結(jié)構(gòu)示意圖,包括可重構(gòu)系統(tǒng)配置信息、可重構(gòu)陣列塊、塊控制單元和塊數(shù)據(jù)流圖配置信息。其中可重構(gòu)系統(tǒng)配置信息為可重構(gòu)系統(tǒng)解析器解析片外存儲設(shè)備中特定算法后得到的關(guān)于可重構(gòu)系統(tǒng)如何運作的詳細信息,包括M組塊控制單元中數(shù)據(jù)流圖的配置信息和每個塊控制單元的索引編號,其中可重構(gòu)系統(tǒng)解析器并未在圖中畫出。每個可重構(gòu)陣列塊中包含N (N>=1)行計算陣列行,每行計算陣列行都具有k (k>=l)個端口用于讀寫數(shù)據(jù),每個塊控制單元中包含一個計算陣列塊控制器用于接收并解析塊數(shù)據(jù)流圖配置信息,塊數(shù)據(jù)流圖配置信息中包含配置包和配置組信息。配置包和可重構(gòu)陣列塊中每行的行號所對應(yīng)用于索引配置組,配置組中包含可重構(gòu)陣列塊中每行的具體配置信息。計算陣列塊控制器根據(jù)配置組信息控制N行計算陣列模塊的啟動時間、每個端口讀寫數(shù)據(jù)的來源、每個端口讀寫數(shù)據(jù)個數(shù)、每個端口讀寫數(shù)據(jù)間隔、每個端口讀寫數(shù)據(jù)地址個數(shù)、每個端口讀寫數(shù)據(jù)地址間隔、對應(yīng)可重構(gòu)陣列塊數(shù)據(jù)流圖的循環(huán)次數(shù)。每個可重構(gòu)陣列塊和塊控制單元、塊數(shù)據(jù)流圖配置信息具