專利名稱:用于可重構(gòu)計算陣列的數(shù)據(jù)耦合器的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種用于可重構(gòu)計算陣列的數(shù)據(jù)耦合器。
背景技術(shù):
目前的通用處理器,DSP等多采用指令驅(qū)動,處理器工作時一般要經(jīng)過取指令,譯碼,執(zhí)行,返回結(jié)果等階段。對于計算密集型任務(wù),數(shù)據(jù)吞吐量一般都很大,因此采用數(shù)據(jù)流驅(qū)動計算部件完成計算任務(wù)是一種比較合適的方法。數(shù)據(jù)通過一定的組織,以一定的模式通過處理器的數(shù)據(jù)通路即可以被處理,而指令集處理器要執(zhí)行多條指令才能從存儲器取得相應(yīng)數(shù)據(jù)并進行處理,相比之下,數(shù)據(jù)驅(qū)動方式在計算密集型任務(wù)方面,具有一定優(yōu)勢,可以大大提高吞吐率。
數(shù)據(jù)驅(qū)動方式以前多出現(xiàn)在專用集成電路中。但是,專用集成電路靈活性不足,一個電路一般只能實現(xiàn)固定幾種算法,對于數(shù)據(jù)處理也就只有幾種有限的模式。對于可重構(gòu)硬件電路,由于電路實現(xiàn)功能可變,因此需要對數(shù)據(jù)組織模式也進行相應(yīng)改變,通過不同尋址模式的支持,能夠快速從存儲器取得數(shù)據(jù)提供給可重構(gòu)硬件處理,從而既達到很高的數(shù)據(jù)吞吐率,又能保證硬件的靈活性?;诳芍貥?gòu)計算硬件的特點,傳統(tǒng)的固定數(shù)據(jù)產(chǎn)生模式缺乏靈活性。
發(fā)明內(nèi)容
本實用新型的目的是提供一種適用于數(shù)據(jù)驅(qū)動的計算密集型且具有較高靈活性的可重構(gòu)計算陣列的數(shù)據(jù)耦合器。
本實用新型的用于可重構(gòu)計算陣列的數(shù)據(jù)耦合器包括用于設(shè)置和輸出數(shù)據(jù)耦合器工作狀態(tài)的數(shù)據(jù)耦合器控制單元,按照尋址模式產(chǎn)生地址的地址生成器,用于存儲計算過程中的輸入輸出數(shù)據(jù)的計算高速緩存,總線接口單元,控制寄存器,輸入端口,輸出端口和內(nèi)部總線,總線接口單元的一端與外部總線相連接,另一端與內(nèi)部總線相連,數(shù)據(jù)耦合器控制單元的一端與外部總線連接,另一端與控制寄存器連接,地址生成器與內(nèi)部總線以及計算高速緩存的一個輸入端相連接,計算高速緩存與內(nèi)部總線連接,并有兩組傳輸端口,其中一組傳輸端口與內(nèi)部總線相連接,另一組傳輸端口的輸入端與輸入端口的輸出端相連,輸出端與輸出端口的輸入端相連接,輸入端口和輸出端口分別和內(nèi)部總線連接,輸入端口的輸入端和可重構(gòu)陣列的輸出端相連接,輸出端口的輸出端和可重構(gòu)陣列的輸入端相連接。
本實用新型的用于可重構(gòu)計算陣列的數(shù)據(jù)耦合器工作流程如下外部控制器根據(jù)本次計算的特點選擇相應(yīng)的數(shù)據(jù)尋址模式,對地址生成器進行參數(shù)配置,并將要處理的數(shù)據(jù)按照一定規(guī)則寫入到耦合器的計算高速緩存中。地址生成器和計算高速緩存的配置數(shù)據(jù)都是經(jīng)過總線接口單元傳輸?shù)綌?shù)據(jù)耦合器內(nèi)部總線,根據(jù)地址線的地址,將數(shù)據(jù)分別送至地址參數(shù)緩存和計算數(shù)據(jù)緩存。啟動后,地址生成器開始按照預(yù)定的模式產(chǎn)生訪問計算高速緩存的地址,根據(jù)產(chǎn)生的地址和讀寫控制信號,數(shù)據(jù)耦合器可以通過輸入和輸出端口同可重構(gòu)陣列進行數(shù)據(jù)傳輸。當(dāng)前工作結(jié)束后,數(shù)據(jù)耦合器會向外部控制器發(fā)送相應(yīng)的通知信號,外部控制器接收到數(shù)據(jù)耦合器的信號后,會通過設(shè)置在數(shù)據(jù)耦合器的控制單元來停止它的工作或者開始新一輪的工作。
本實用新型具有以下有益技術(shù)效果1.支持多種數(shù)據(jù)尋址模式。地址生成器支持線性尋址模式和復(fù)雜非線性尋址模式,再輔以位反轉(zhuǎn)機構(gòu)和循環(huán)控制機構(gòu),既保證了通用性靈活性也兼顧特定應(yīng)用的專用性能。該地址生成器在具備高性能的同時也為可重構(gòu)陣列的應(yīng)用擴展提供了余地。
2.能夠良好的協(xié)調(diào)可重構(gòu)陣列和其它外圍單元之間的數(shù)據(jù)傳輸,同時支持同步和異步傳輸模式。在異步通信模式下,耦合器設(shè)置有專門的通信接口,通過數(shù)據(jù)擴展單元,以雙軌編碼方式實現(xiàn)與異步可重構(gòu)陣列的通信,保證了傳輸?shù)目煽啃浴?br>
3.這個部件的邏輯并不復(fù)雜,整個邏輯面積很小。
4.良好的擴展性能,可伸縮性強。耦合器地址空間中留有足夠的擴展資源,使得一個陣列最多可以支持擁有16個數(shù)據(jù)耦合器。
5.良好的通用性。所述數(shù)據(jù)耦合器不僅僅適用于可重構(gòu)陣列處理器,還可以用于其它的專用數(shù)據(jù)處理電路。
圖1是本實用新型的構(gòu)成示意框圖;圖2是地址生成器的構(gòu)成圖;圖3是數(shù)據(jù)耦合器輸入端口構(gòu)成圖;圖4是數(shù)據(jù)耦合器輸出端口構(gòu)成圖;圖5是本實用新型的數(shù)據(jù)耦合器接口信號圖;
圖6是本實用新型的數(shù)據(jù)耦合器工作流程圖。
具體實施方式
以下結(jié)合附圖詳細說明本實用新型。
參照圖1,本實用新型的用于可重構(gòu)計算陣列的數(shù)據(jù)耦合器包括用于設(shè)置和輸出數(shù)據(jù)耦合器工作狀態(tài)的數(shù)據(jù)耦合器控制單元1,按照尋址模式產(chǎn)生地址的地址生成器2,用于存儲計算過程中的輸入輸出數(shù)據(jù)的計算高速緩存3,總線接口單元4,控制寄存器5,輸入端口6,輸出端口7和內(nèi)部總線8,總線接口單元4的一端與外部總線相連接,另一端與內(nèi)部總線8相連,數(shù)據(jù)耦合器控制單元1的一端與外部總線連接,另一端與控制寄存器5連接,地址生成器2與內(nèi)部總線8以及計算高速緩存3的一個輸入端相連接,根據(jù)內(nèi)部總線傳入的地址參數(shù),地址生成器2會生成一系列的地址來訪問計算高速緩存3,計算高速緩存3與內(nèi)部總線8連接,并有兩組傳輸端口,其中一組傳輸端口與內(nèi)部總線8相連接,另一組傳輸端口的輸入端與輸入端口6的輸出端相連,輸出端與輸出端口7的輸入端相連接,輸入端口6和輸出端口7分別和內(nèi)部總線8連接,輸入端口6的輸入端和可重構(gòu)陣列的輸出端相連接,輸出端口7的輸出端和可重構(gòu)陣列的輸入端相連接。
圖2所示是地址生成器。地址生成器由地址參數(shù)高速緩存9、地址計算單元10、協(xié)處理單元11、計數(shù)器12和計數(shù)允許信號產(chǎn)生邏輯13組成。圖中,RST是協(xié)處理單元11對地址計算單元10的重置信號;AE是地址計算單元10的計算允許信號,同時也作為數(shù)據(jù)耦合器輸入/輸出端口重置信號;CE是地址計算單元10計算完一個地址參數(shù)后發(fā)出的指示信號;PWE是錯誤地址參數(shù)指示信號,當(dāng)?shù)刂酚嬎銌卧?0遇到的地址參數(shù)是結(jié)束參數(shù)時,那么會發(fā)出EOP信號。當(dāng)計數(shù)器12越界時會發(fā)出OF有效信號,計數(shù)器12存放的是地址參數(shù)緩存9的指針,通過這個指針獲得地址計算單元10的下一次計算所需要的地址參數(shù),根據(jù)計數(shù)器12從地址計算緩存9中取出的地址參數(shù)將送往地址計算單元10。
圖3所示是數(shù)據(jù)耦合器輸入端口。輸入端口由64位有效位寄存器14,64位有效位備份寄存器15,定時器16,有效位檢查單元17和比較邏輯18組成。輸入端口負責(zé)將計算數(shù)據(jù)從可重構(gòu)陣列中讀出,輸往計算高速緩存。輸入端口同時支持同步和異步工作模式,在異步工作模式下,要將陣列按雙軌編碼方式擴展的2位數(shù)據(jù)還原為1位有效數(shù)據(jù),然后根據(jù)地址生成器生成的地址,將計算結(jié)果寫回計算數(shù)據(jù)緩存中。如果同步模式,則不進行數(shù)據(jù)格式轉(zhuǎn)換。
同步工作模式下,輸入數(shù)據(jù)直接輸入到計算高速緩存;在異步工作模式下,輸入數(shù)據(jù)需要按照雙軌編碼方式處理。其中有效位寄存器14和有效位備份寄存器15用于標(biāo)記每次輸出數(shù)據(jù)中有效的位,該位為1表示數(shù)據(jù)中相同位序位數(shù)據(jù)有效。有效位檢查單元17根據(jù)來自陣列的數(shù)據(jù)檢查每對數(shù)據(jù)是否兩兩互補,是否符合雙軌編碼格式,從而按位判斷當(dāng)前輸入數(shù)據(jù)是否有效,并將判斷結(jié)果寫入有效位寄存器14。這里,有效位檢查單元17由異或門組成。定時器16用于防止工作超時。
圖4所示是數(shù)據(jù)耦合器輸出端口。輸出端口負責(zé)將數(shù)據(jù)輸出到可重構(gòu)陣列中。輸出端口同時支持同步和異步工作模式,在異步工作模式下數(shù)據(jù)要通過其內(nèi)部的數(shù)據(jù)擴展單元將數(shù)據(jù)(這里原數(shù)據(jù)寬度為64位)按照雙軌編碼互補格式擴充原來兩倍(這里是128位),再輸出給可重構(gòu)陣列做計算。如果是同步模式,則不作擴充,輸出的數(shù)據(jù)和從緩存讀出的數(shù)據(jù)寬度相同(仍為64位)。
輸出端口主要由64位數(shù)據(jù)寄存器19、64位有效位寄存器20、64位有效位備份寄存器21、64位回應(yīng)寄存器22、定時器23、比較邏輯24、數(shù)據(jù)擴展單元25和數(shù)據(jù)輸出邏輯26組成。
數(shù)據(jù)寄存器19存放的是要輸出的計算數(shù)據(jù)。輸出端口同時支持同步和異步工作模式。同步工作模式下,數(shù)據(jù)寄存器19中的數(shù)據(jù)直接輸出給可重構(gòu)陣列。異步模式下,數(shù)據(jù)要按照雙軌編碼方式進行處理。其中,有效位寄存器20和有效位備份寄存器21功能與輸入端口相應(yīng)寄存器相同。回應(yīng)答寄存器22負責(zé)實現(xiàn)與陣列異步通信時的應(yīng)答信號接收,若檢測到陣列邊緣單元“獲得數(shù)據(jù)確認”信號則置相應(yīng)位為1。在進行每一字傳輸時,由計數(shù)器23對過去的時鐘數(shù)進行計數(shù),當(dāng)計數(shù)值減到0時若還未完成字傳輸則認為輸出端口或陣列發(fā)生錯誤。比較邏輯24將回應(yīng)寄存器22和有效位備份寄存器21中相對應(yīng)的每位數(shù)據(jù)進行比較,判斷當(dāng)前數(shù)據(jù)寄存器中的各位數(shù)據(jù)是否已被陣列接受。若該位被接受,則相應(yīng)位輸出為1,有效位寄存器中相應(yīng)位被清。如果所有數(shù)據(jù)都被陣列接收,則輸出端口繼續(xù)傳送下一個計算數(shù)據(jù),如果還有某些位沒有被接收,則保持數(shù)據(jù)寄存器中數(shù)據(jù)直到陣列接收。數(shù)據(jù)擴展單元25將數(shù)據(jù)寄存器和有效位寄存器20中相對應(yīng)的每位數(shù)據(jù)相互作用,把原來計算數(shù)據(jù)按位擴展(即原1位數(shù)據(jù)擴充成為互補兩位)。數(shù)據(jù)輸出邏輯26根據(jù)當(dāng)前輸出端口數(shù)據(jù)準(zhǔn)備情況和陣列數(shù)據(jù)接收情況,確定是否需要繼續(xù)向陣列輸出數(shù)據(jù)。如果沒有這個邏輯的控制,陣列可能會重復(fù)接收同樣的數(shù)據(jù),從而導(dǎo)致計算結(jié)果的錯誤。
圖5所示是耦合器的接口信號。在和控制器連接方向,有DS_RST信號,用于重置耦合器工作狀態(tài);NREQ信號用于耦合器通知控制器計算任務(wù)完成;EREQ信號用于耦合器通知控制器計算出錯。在和陣列連接方向,分別有兩組數(shù)據(jù)線DATO_O、DATO_I負責(zé)數(shù)據(jù)的輸入輸出和兩組傳輸確認信號線ACK。
參照圖6是數(shù)據(jù)耦合器的工作流程。工作流程分為以下步驟第一步,由外部控制器對數(shù)據(jù)耦合器進行配置。配置內(nèi)容包括選擇地址生成器地址產(chǎn)生模式,寫入地址參數(shù),配置輸入/輸出端口的工作模式。特殊地址產(chǎn)生模式的配置通過寫數(shù)據(jù)耦合器控制寄存器完成。該寄存器各位定義如表1所示。
表1
第二步,外部控制器通過總線控制邏輯向數(shù)據(jù)耦合器內(nèi)部的計算高速緩存寫入數(shù)據(jù)。
第三步,外部控制器通過控制引腳,發(fā)出DS_RST信號,重置整個數(shù)據(jù)耦合器狀態(tài)。
第四步,外部控制器通過設(shè)置數(shù)據(jù)耦合器控制寄存器(表1)向數(shù)據(jù)耦合器控制單元發(fā)出開始工作信號,啟動整個耦合器的工作。
第五步,數(shù)據(jù)耦合器開始工作,地址生成器開始按照預(yù)定模式產(chǎn)生訪問計算高速緩存的地址。根據(jù)這個地址和讀寫信號控制,數(shù)據(jù)耦合器通過輸入和輸出端口與可重構(gòu)陣列之間進行數(shù)據(jù)傳輸。地址生成器產(chǎn)生地址時,從地址參數(shù)高速緩存中取得地址參數(shù),然后將參數(shù)送入地址計算單元進行計算,同時,還要將參數(shù)字的讀寫控制位輸入到協(xié)調(diào)工作單元,協(xié)調(diào)工作單元負責(zé)查詢輸入/輸出端口的工作狀態(tài),從而進行數(shù)據(jù)的輸入/輸出。在一次地址生成之后,生成的結(jié)果還要輸入到計數(shù)允許信號產(chǎn)生邏輯,根據(jù)產(chǎn)生結(jié)果判斷是否需要讀出下一個地址。
第六步,完成地址計算過程,結(jié)束數(shù)據(jù)傳輸。如果需要下一次傳輸,則數(shù)據(jù)耦合器令NREQ信號有效,表明下一次傳輸請求;如果出錯,則數(shù)據(jù)耦合器令NERR信號有效,表明傳輸出錯,出錯時,外部控制器可以通過查詢數(shù)據(jù)耦合器狀態(tài)寄存器來得知出現(xiàn)哪種錯誤。狀態(tài)寄存器各位定義見表2。
表2
第七步,外部控制器接收到數(shù)據(jù)耦合器的通知信號。接收到信號后,控制器通過向數(shù)據(jù)耦合器控制寄存器發(fā)送停止工作信號來中止數(shù)據(jù)耦合器當(dāng)前工作。然后根據(jù)數(shù)據(jù)耦合器的通知信號類型來做相應(yīng)處理。如果結(jié)束當(dāng)前計算,則退出。如果需要對新數(shù)據(jù)進行處理,則轉(zhuǎn)向第二步。如果對原有數(shù)據(jù)進行新一輪循環(huán)處理,則轉(zhuǎn)向第三步。
綜上所述,采用本實用新型的設(shè)計方法可以滿足可重構(gòu)陣列對于數(shù)據(jù)流模式靈活多變的需求,同時還可以根據(jù)需求擴展到其他專用數(shù)據(jù)處理器上。
上述實施例用來解釋說明本實用新型,而不是對本實用新型進行限制,在本實用新型的精神和權(quán)利要求的保護范圍內(nèi),對本實用新型作出的任何修改和改變,都落入本實用新型的保護范圍。
權(quán)利要求1.用于可重構(gòu)計算陣列的數(shù)據(jù)耦合器,其特征是包括用于設(shè)置和輸出數(shù)據(jù)耦合器工作狀態(tài)的數(shù)據(jù)耦合器控制單元(1),按照尋址模式產(chǎn)生地址的地址生成器(2),用于存儲計算過程中的輸入輸出數(shù)據(jù)的計算高速緩存(3),總線接口單元(4),控制寄存器(5),輸入端口(6),輸出端口(7)和內(nèi)部總線(8),總線接口單元(4)的一端與外部總線相連接,另一端與內(nèi)部總線(8)相連,數(shù)據(jù)耦合器控制單元(1)的一端與外部總線連接,另一端與控制寄存器(5)連接,地址生成器(2)與內(nèi)部總線(8)以及計算高速緩存(3)的一個輸入端相連接,計算高速緩存(3)與內(nèi)部總線(8)連接,并有兩組傳輸端口,其中一組傳輸端口與內(nèi)部總線(8)相連接,另一組傳輸端口的輸入端與輸入端口(6)的輸出端相連,輸出端與輸出端口(7)的輸入端相連接,輸入端口(6)和輸出端口(7)分別和內(nèi)部總線(8)連接,輸入端口(6)的輸入端和可重構(gòu)陣列的輸出端相連接,輸出端口(7)的輸出端和可重構(gòu)陣列的輸入端相連接。
專利摘要本實用新型公開的用于可重構(gòu)計算陣列的數(shù)據(jù)耦合器包括用于設(shè)置和輸出數(shù)據(jù)耦合器工作狀態(tài)的數(shù)據(jù)耦合器控制單元,按照尋址模式產(chǎn)生地址的地址生成器,用于存儲計算過程中的輸入輸出數(shù)據(jù)的計算高速緩存,總線接口單元,控制寄存器,輸入端口,輸出端口和內(nèi)部總線。該數(shù)據(jù)耦合器可根據(jù)控制信息,按照一定的尋址模式產(chǎn)生高速緩存的地址,通過輸入/輸出端口協(xié)調(diào)與可重構(gòu)計算陣列之間的數(shù)據(jù)傳輸,支持同步和異步兩種通訊方式,應(yīng)用方式靈活。
文檔編號G06F15/76GK2869994SQ200520116900
公開日2007年2月14日 申請日期2005年12月2日 優(yōu)先權(quán)日2005年12月2日
發(fā)明者沈海斌, 季愛明 申請人:浙江大學(xué)