專利名稱:動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域中的動(dòng)態(tài)可重構(gòu)處理器技術(shù)領(lǐng)域,特別是涉及一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)和方法。
背景技術(shù):
動(dòng)態(tài)可重構(gòu)處理器是一種新生的處理器構(gòu)架,其較之以往的單核處理器、專用芯片、現(xiàn)場(chǎng)可編程邏輯陣列有著顯著的優(yōu)勢(shì),是未來電路結(jié)構(gòu)發(fā)展的一個(gè)方向。首先,動(dòng)態(tài)可重構(gòu)處理器內(nèi)往往含有多個(gè)算數(shù)邏輯單元,且數(shù)量巨大,稱之為眾核陣列。陣列內(nèi)部配以靈活度高的路由單元,實(shí)現(xiàn)算數(shù)邏輯單元之間多樣化的互聯(lián)。因此,經(jīng)路由單元連接后的眾核陣列可實(shí)現(xiàn)對(duì)數(shù)據(jù)流的高速處理,較傳統(tǒng)的單核以及少核處理器在性能上有著巨大的優(yōu)勢(shì)。同時(shí),較固化的專用電路在靈活性上也有著巨大的優(yōu)勢(shì)。其次,較傳統(tǒng)的靜態(tài)可重構(gòu)電路——現(xiàn)場(chǎng)可編程邏輯陣列而言,動(dòng)態(tài)可重構(gòu)處理器有動(dòng)態(tài)的特點(diǎn),即在電路運(yùn)行過程中可動(dòng)態(tài)的切換電路的功能,而非以往靜態(tài)可重構(gòu)電路一沉不變的不改變電路功能,只是在電路運(yùn)行之前燒寫電路功能,對(duì)電路進(jìn)行初始化。這樣做的好處在于通過時(shí)分復(fù)用的方式減少了電路的規(guī)模,原因在于之前的電路結(jié)構(gòu)的全映射現(xiàn)在變?yōu)榉謮K映射,而塊與塊之間恰好采取了動(dòng)態(tài)切換的方式。動(dòng)態(tài)可重構(gòu)處理器內(nèi)的子單元間往往存在進(jìn)行數(shù)據(jù)交互的需求,因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是如何能夠創(chuàng)新地提出一種有效的措施,以解決現(xiàn)有技術(shù)中存在的問題,實(shí)現(xiàn)了處理器并行處理時(shí)各個(gè)獨(dú)立子單元之間的數(shù)據(jù)交互。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)和方法,用于解決子單元間交換數(shù)據(jù)的機(jī)制,通過數(shù)據(jù)流的方式解釋了數(shù)據(jù)交互的詳細(xì)過程,有效實(shí)現(xiàn)了處理器并行處理時(shí)各個(gè)獨(dú)立子單元之間的數(shù)據(jù)交互。為了解決上述問題,本發(fā)明公開了一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng),所述系統(tǒng)包括子單元間數(shù)據(jù)交互暫存器,用于存儲(chǔ)子單元間需要交互的數(shù)據(jù);子單元間數(shù)據(jù)交互裝置,用于按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù);所調(diào)用數(shù)據(jù)運(yùn)算后的結(jié)果數(shù)據(jù)存儲(chǔ)于子單元數(shù)據(jù)存儲(chǔ)器中;內(nèi)部數(shù)據(jù)寫出裝置,用于讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中。優(yōu)選的,所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)包括一個(gè)或多個(gè)子單元間數(shù)據(jù)交互裝置。優(yōu)選的,所述子單元間數(shù)據(jù)交互裝置位于動(dòng)態(tài)可重構(gòu)處理器中的子單元內(nèi)、和 \或子單元外。
優(yōu)選的,所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)包括一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)寫出裝置。優(yōu)選的,所述內(nèi)部數(shù)據(jù)寫出裝置位于動(dòng)態(tài)可重構(gòu)處理器中的子單元內(nèi)、和\或子單元外。本發(fā)明還公開了一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的方法,所述方法包括按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù)進(jìn)行運(yùn)算,并將運(yùn)算的結(jié)果數(shù)據(jù)存儲(chǔ)于子單元數(shù)據(jù)存儲(chǔ)器中;讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中。優(yōu)選的,所述按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù)的工作由一個(gè)或多個(gè)子單元間數(shù)據(jù)交互裝置完成。優(yōu)選的,所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)多個(gè)子單元共享一個(gè)子單元間數(shù)據(jù)交互裝置, 或各自獨(dú)享一個(gè)子單元間數(shù)據(jù)交互裝置。優(yōu)選的,所述讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中的工作由一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)寫出裝置完成。優(yōu)選的,所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)多個(gè)子單元共享一個(gè)內(nèi)部數(shù)據(jù)寫出裝置,或各自獨(dú)享一個(gè)內(nèi)部數(shù)據(jù)寫出裝置。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明所述的方案,在動(dòng)態(tài)可重構(gòu)處理器器中增加了子單元間數(shù)據(jù)交互暫存器、 內(nèi)部數(shù)據(jù)寫出裝置、子單元間數(shù)據(jù)交互裝置,某一子單元運(yùn)行完畢時(shí)產(chǎn)生的結(jié)果數(shù)據(jù),其他的子單元以及該子單元需要這個(gè)結(jié)果數(shù)據(jù)時(shí),通過內(nèi)部數(shù)據(jù)寫出裝置把該子單元的結(jié)果數(shù)據(jù)寫出到子單元間數(shù)據(jù)交互暫存器,再通過子單元間數(shù)據(jù)交互裝置把需要的結(jié)果數(shù)據(jù)寫入目的子單元(需要結(jié)果數(shù)據(jù)的子單元)內(nèi)部的數(shù)據(jù)存儲(chǔ)器,從而實(shí)現(xiàn)了處理器并行處理時(shí)各個(gè)獨(dú)立子單元之間的數(shù)據(jù)交互。
圖1是本發(fā)明具體實(shí)施方式
中所述的一種典型的動(dòng)態(tài)可重構(gòu)處理器的結(jié)構(gòu)示意圖;圖2是本發(fā)明實(shí)施例所述一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)的結(jié)構(gòu)圖示意圖;圖3是本發(fā)明實(shí)施例所述的一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的方法流程圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。一種典型的動(dòng)態(tài)可重構(gòu)處理器的結(jié)構(gòu)示意圖如圖1所示。結(jié)合圖1,動(dòng)態(tài)可重構(gòu)處理器的運(yùn)轉(zhuǎn)流程可概括為如下步驟動(dòng)態(tài)可重構(gòu)處理器由外部數(shù)據(jù)讀入裝置將處理器外存
4儲(chǔ)器內(nèi)待處理的數(shù)據(jù)讀入處理器內(nèi),分發(fā)至多個(gè)子單元處理內(nèi)的外部數(shù)據(jù)緩存器;多個(gè)子單元將數(shù)據(jù)從各自的外部數(shù)據(jù)緩存器讀出,再進(jìn)行處理。多個(gè)子單元同時(shí)處理,以達(dá)并行處理的效果。各子單元處理完后,將結(jié)果數(shù)據(jù)存于各自的內(nèi)部數(shù)據(jù)緩存器;外部數(shù)據(jù)寫出裝置將結(jié)果數(shù)據(jù)從各子單元的內(nèi)部數(shù)據(jù)緩存器讀出,并寫出到處理器外部存儲(chǔ)器。此外,子單元間的同步機(jī)制通過子單元間同步控制器來實(shí)現(xiàn)。動(dòng)態(tài)可重構(gòu)處理器可從數(shù)據(jù)流和配置流的角度去被描述。數(shù)據(jù)流的角度是指從對(duì)數(shù)據(jù)流的處理的角度出發(fā), 遍歷數(shù)據(jù)流所經(jīng)過的動(dòng)態(tài)可重構(gòu)處理器內(nèi)的各模塊,提出各模塊所需的功能。從數(shù)據(jù)流的角度出發(fā),動(dòng)態(tài)可重構(gòu)處理器在結(jié)構(gòu)上可分為以下四個(gè)部分1.數(shù)據(jù)轉(zhuǎn)移裝置a)數(shù)據(jù)轉(zhuǎn)移裝置用于將數(shù)據(jù)從數(shù)據(jù)存儲(chǔ)裝置讀出,并寫入另一數(shù)據(jù)存儲(chǔ)裝置,使數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)裝置之間轉(zhuǎn)移。最終實(shí)現(xiàn)將數(shù)據(jù)寫入處理單元陣列,處理單元陣列運(yùn)行完后,將處理單元陣列的結(jié)果數(shù)據(jù)讀出。b)數(shù)據(jù)轉(zhuǎn)移裝置分為5個(gè)外部數(shù)據(jù)讀入裝置,內(nèi)外部數(shù)據(jù)轉(zhuǎn)換裝置,內(nèi)部數(shù)據(jù)讀入裝置,內(nèi)部數(shù)據(jù)寫出裝置,外部數(shù)據(jù)寫出裝置。按數(shù)據(jù)流的流動(dòng)方向,具體說明如下。c)外部數(shù)據(jù)讀入裝置i.用于將動(dòng)態(tài)可重構(gòu)處理器外待處理的數(shù)據(jù)讀入動(dòng)態(tài)可重構(gòu)處理器內(nèi),緩存于外部數(shù)據(jù)緩存器。d)內(nèi)外部數(shù)據(jù)轉(zhuǎn)換裝置i.用于將外部數(shù)據(jù)緩存器內(nèi)緩存的外部數(shù)據(jù)分發(fā)至內(nèi)部數(shù)據(jù)存儲(chǔ)器或直接分發(fā)至處理單元陣列,這取決于此外部數(shù)據(jù)是否可直接被處理單元陣列處理和此數(shù)據(jù)是否將多次被處理。e)內(nèi)部數(shù)據(jù)讀入裝置i.用于將內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)存儲(chǔ)的當(dāng)前子單元的內(nèi)部數(shù)據(jù),并在一定程度上進(jìn)行整合,最終將整合后的數(shù)據(jù)寫入到處理單元陣列。f)內(nèi)部數(shù)據(jù)寫出裝置i.用于將處理單元陣列的結(jié)果數(shù)據(jù)讀出,再寫入至處理單元陣列供緊接著運(yùn)行處理單元陣列時(shí)使用,或?qū)懭胫羶?nèi)部數(shù)據(jù)存儲(chǔ)器將數(shù)據(jù)緩存起來,或?qū)懭雰?nèi)部數(shù)據(jù)緩存器待輸出至處理器外。g)外部數(shù)據(jù)寫出裝置i.用于將緩存于內(nèi)部數(shù)據(jù)緩存器的子單元的結(jié)果數(shù)據(jù)輸出至處理器外。2.數(shù)據(jù)存儲(chǔ)裝置a)分為4個(gè),具體說明如下。b)外部數(shù)據(jù)緩存器i.用于將讀入的外部數(shù)據(jù)緩存,待需要時(shí)被讀出。c)內(nèi)部數(shù)據(jù)存儲(chǔ)器i.用于對(duì)處理單元陣列的結(jié)果數(shù)據(jù)進(jìn)行暫存,待需要時(shí)被讀出,還供在處理器內(nèi)部使用。d)內(nèi)部數(shù)據(jù)緩存器i.用于對(duì)處理單元陣列的結(jié)果數(shù)據(jù)進(jìn)行緩存,待輸出至處理器外。
3.運(yùn)算單元a)運(yùn)算單元即處理單元陣列,詳見圖1。b)處理單元是一個(gè)算術(shù)邏輯運(yùn)算單元,可實(shí)現(xiàn)基本的算術(shù)運(yùn)算功能和邏輯運(yùn)算功能以及一些定制的算術(shù)邏輯運(yùn)算功能。c)處理單元之間通過路由單元連接,以實(shí)現(xiàn)處理單元之間的靈活且快速的數(shù)據(jù)傳遞。d)整個(gè)處理單元陣列通過時(shí)序控制單元控制,以協(xié)調(diào)處理單元陣列的輸入、運(yùn)算、 輸出之間的時(shí)序關(guān)系。e)處理單元陣列可實(shí)現(xiàn)對(duì)大批量數(shù)據(jù)進(jìn)行循環(huán)操作的快速處理。4.同步控制裝置a)同步控制裝置即子單元間同步控制器。b)其實(shí)現(xiàn)多個(gè)子單元(1個(gè)至N個(gè),N為子單元個(gè)數(shù))均完成其各自的指定子任務(wù)后多個(gè)子單元(此處的多個(gè)可與之前的多個(gè)不一致)才可執(zhí)行其各自子任務(wù)序列中的下一個(gè)子任務(wù)。c)子單元間同步控制器實(shí)現(xiàn)了某任務(wù)在被劃分為多個(gè)子任務(wù)后,分發(fā)至多個(gè)子單元并行執(zhí)行,多個(gè)子單元并行執(zhí)行完多個(gè)子任務(wù)后的同步。同步后才可開始下一任務(wù)的并行化執(zhí)行。實(shí)施例參照?qǐng)D2,示出了本發(fā)明的一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)的示意圖,所述系統(tǒng)包括子單元間數(shù)據(jù)交互暫存器201,用于存儲(chǔ)子單元間需要交換的數(shù)據(jù);子單元間數(shù)據(jù)交互裝置202,用于按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù);所調(diào)用數(shù)據(jù)運(yùn)算后的結(jié)果數(shù)據(jù)存儲(chǔ)于子單元數(shù)據(jù)存儲(chǔ)器204中;內(nèi)部數(shù)據(jù)寫出裝置203,用于讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中。子單元間數(shù)據(jù)交互暫存器內(nèi)部?jī)?chǔ)存的數(shù)據(jù)為子單元間交互的數(shù)據(jù),由內(nèi)部數(shù)據(jù)寫出裝置對(duì)子單元間數(shù)據(jù)交互暫存器進(jìn)行寫操作,子單元間數(shù)據(jù)交互裝置對(duì)子單元間數(shù)據(jù)交互暫存器進(jìn)行讀操作。內(nèi)部數(shù)據(jù)寫出裝置讀取的是子單元間的交互數(shù)據(jù),取的數(shù)據(jù)來源于子單元內(nèi)部的存儲(chǔ)器,此裝置被多個(gè)子單元共享或每個(gè)子單元內(nèi)部都有一個(gè)內(nèi)部數(shù)據(jù)寫出裝置,供每個(gè)子單元單獨(dú)使用子單元間數(shù)據(jù)交互裝置,讀取的數(shù)據(jù)是子單元間數(shù)據(jù)交互暫存器里面存儲(chǔ)的數(shù)據(jù),更為具體的講是子單元需要從其他子單元調(diào)用的數(shù)據(jù)。寫的對(duì)象是各個(gè)子單元內(nèi)部的內(nèi)部數(shù)據(jù)存儲(chǔ)器。當(dāng)此裝置位于子單元外部,是共享裝置,用此裝置向任何需要數(shù)據(jù)的子單元寫入數(shù)據(jù),當(dāng)此裝置位于各個(gè)子單元內(nèi)部時(shí),任何子單元需要其他子單元的數(shù)據(jù),直接由內(nèi)部的子單元間數(shù)據(jù)交互裝置讀入數(shù)據(jù)。也即,一個(gè)動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)包括一個(gè)或多個(gè)子單元間數(shù)據(jù)交互裝置,該裝置位于動(dòng)態(tài)可重構(gòu)處理器中的子單元內(nèi)、和\或子單元外。同樣的,一個(gè)動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)包括一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)寫出裝置,該裝置位于動(dòng)態(tài)可重構(gòu)處理器中的子單元內(nèi)、和\或子單元外。參見圖3,示出了本發(fā)明所述的一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的方法流程圖,所述方法具體包括步驟S301,按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù)進(jìn)行運(yùn)算,并將運(yùn)算的結(jié)果數(shù)據(jù)存儲(chǔ)于子單元數(shù)據(jù)存儲(chǔ)器中;步驟S302,讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中。實(shí)際應(yīng)用中,通常是將需要交互的結(jié)果數(shù)據(jù)通過內(nèi)部數(shù)據(jù)寫出裝置從子單元內(nèi)讀出,寫入子單元間數(shù)據(jù)交互暫存器,將暫存在子單元間數(shù)據(jù)交互暫存器內(nèi)的交互數(shù)據(jù)讀出, 通過子單元間數(shù)據(jù)交互裝置寫入另一個(gè)需要交互數(shù)據(jù)的子單元內(nèi)的數(shù)據(jù)存儲(chǔ)器。交互數(shù)據(jù)寫入到子單元間數(shù)據(jù)交互暫存器可采用兩種方式子單元內(nèi)的內(nèi)部數(shù)據(jù)寫出裝置和位于子單元外部的共享的內(nèi)部數(shù)據(jù)寫出裝置。從子單元間數(shù)據(jù)交互暫存器讀取交互數(shù)據(jù)到子單元內(nèi)部數(shù)據(jù)存儲(chǔ)器可采用兩種方式位于子單元外部的共享的子單元間數(shù)據(jù)交互裝置和位于子單元內(nèi)部的供每個(gè)子單元獨(dú)立使用的子單元間數(shù)據(jù)交互裝置。子單元間數(shù)據(jù)交互時(shí)的同步控制通過動(dòng)態(tài)可重構(gòu)處理器內(nèi)的同步控制單元來保證。也即,實(shí)際應(yīng)用中按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù)的工作由一個(gè)或多個(gè)子單元間數(shù)據(jù)交互裝置完成,具體的,動(dòng)態(tài)可重構(gòu)處理器內(nèi)多個(gè)子單元共享一個(gè)子單元間數(shù)據(jù)交互裝置,或各自獨(dú)享一個(gè)子單元間數(shù)據(jù)交互裝置。同樣的,讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中的工作由一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)寫出裝置完成,具體的,動(dòng)態(tài)可重構(gòu)處理器內(nèi)多個(gè)子單元共享一個(gè)內(nèi)部數(shù)據(jù)寫出裝置,或各自獨(dú)享一個(gè)內(nèi)部數(shù)據(jù)寫出裝置。下面通過列舉幾種實(shí)際應(yīng)用中的實(shí)例對(duì)本發(fā)明的內(nèi)容做進(jìn)一步介紹假設(shè)子單元1需要子單元2的結(jié)果數(shù)據(jù)。第一步當(dāng)子單元2運(yùn)算結(jié)束后,子單元 2的結(jié)果數(shù)據(jù)通過內(nèi)部數(shù)據(jù)寫出裝置寫入到子單元間數(shù)據(jù)交互暫存器;當(dāng)子單元1做好接受交互數(shù)據(jù)的時(shí)候(由子單元間同步控制器控制),由子單元間數(shù)據(jù)交互裝置讀出子單元間數(shù)據(jù)交互暫存器內(nèi)存放的交互數(shù)據(jù)并寫入到子單元1的內(nèi)部數(shù)據(jù)存儲(chǔ)器。假設(shè)子單元1需要子單元2和子單元3的結(jié)果數(shù)據(jù)。當(dāng)子單元2運(yùn)算結(jié)束后,子單元2的結(jié)果數(shù)據(jù)通過內(nèi)部數(shù)據(jù)寫出裝置寫入到子單元間數(shù)據(jù)交互暫存器;當(dāng)子單元3運(yùn)算結(jié)束后,子單元3的結(jié)果數(shù)據(jù)通過內(nèi)部數(shù)據(jù)寫出裝置寫入到子單元間數(shù)據(jù)交互暫存器; 當(dāng)子單元1做好接受交互數(shù)據(jù)的時(shí)候(由子單元間同步控制器控制),由子單元1子單元間數(shù)據(jù)交互裝置讀出子單元間數(shù)據(jù)交互暫存器內(nèi)存放的交互數(shù)據(jù)并寫入到子單元1的內(nèi)部數(shù)據(jù)存儲(chǔ)器。假設(shè)子單元4,5需要子單元2,3的結(jié)果數(shù)據(jù)。當(dāng)子單元2運(yùn)算結(jié)束后,子單元2 的結(jié)果數(shù)據(jù)通過子單元2的內(nèi)部數(shù)據(jù)寫出裝置寫入到子單元間數(shù)據(jù)交互暫存器;當(dāng)子單元
73運(yùn)算結(jié)束后,子單元3的結(jié)果數(shù)據(jù)通過子單元3的內(nèi)部數(shù)據(jù)寫出裝置寫入到子單元間數(shù)據(jù)交互暫存器;當(dāng)子單元4做好接受交互數(shù)據(jù)的時(shí)候(由子單元間同步控制器控制),由子單元4的子單元間數(shù)據(jù)交互裝置讀出子單元間數(shù)據(jù)交互暫存器內(nèi)存放的交互數(shù)據(jù)并寫入到子單元4的內(nèi)部數(shù)據(jù)存儲(chǔ)器;當(dāng)子單元5做好接受交互數(shù)據(jù)的時(shí)候(由子單元間同步控制器控制),由子單元5的子單元間數(shù)據(jù)交互裝置讀出子單元間數(shù)據(jù)交互暫存器內(nèi)存放的交互數(shù)據(jù)并寫入到子單元5的內(nèi)部數(shù)據(jù)存儲(chǔ)器。 以上對(duì)本發(fā)明所提供的一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)和方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述, 以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng),其特征在于,所述系統(tǒng)包括子單元間數(shù)據(jù)交互暫存器,用于存儲(chǔ)子單元間需要交互的數(shù)據(jù); 子單元間數(shù)據(jù)交互裝置,用于按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù);所調(diào)用數(shù)據(jù)運(yùn)算后的結(jié)果數(shù)據(jù)存儲(chǔ)于子單元數(shù)據(jù)存儲(chǔ)器中;內(nèi)部數(shù)據(jù)寫出裝置,用于讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中。
2.如權(quán)利要求1所述系統(tǒng),其特征在于所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)包括一個(gè)或多個(gè)子單元間數(shù)據(jù)交互裝置。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于所述子單元間數(shù)據(jù)交互裝置位于動(dòng)態(tài)可重構(gòu)處理器中的子單元內(nèi)、和\或子單元外。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)包括一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)寫出裝置。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于所述內(nèi)部數(shù)據(jù)寫出裝置位于動(dòng)態(tài)可重構(gòu)處理器中的子單元內(nèi)、和\或子單元外。
6.一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的方法,其特征在于,所述方法包括按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù)進(jìn)行運(yùn)算,并將運(yùn)算的結(jié)果數(shù)據(jù)存儲(chǔ)于子單元數(shù)據(jù)存儲(chǔ)器中;讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中。
7.如權(quán)利要求6所述的方法,其特征在于所述按照子單元的運(yùn)算需求從子單元間數(shù)據(jù)交互暫存器中讀取其需從其它子單元調(diào)用的數(shù)據(jù)的工作由一個(gè)或多個(gè)子單元間數(shù)據(jù)交互裝置完成。
8.如權(quán)利要求6所述的方法,其特征在于所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)多個(gè)子單元共享一個(gè)子單元間數(shù)據(jù)交互裝置,或各自獨(dú)享一個(gè)子單元間數(shù)據(jù)交互裝置。
9.如權(quán)利要求6所述的方法,其特征在于所述讀取子單元數(shù)據(jù)存儲(chǔ)器中的子單元間交互數(shù)據(jù),并寫到子單元數(shù)據(jù)交互暫存器中的工作由一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)寫出裝置完成。
10.如權(quán)利要求6所述的方法,其特征在于所述動(dòng)態(tài)可重構(gòu)處理器內(nèi)多個(gè)子單元共享一個(gè)內(nèi)部數(shù)據(jù)寫出裝置,或各自獨(dú)享一個(gè)內(nèi)部數(shù)據(jù)寫出裝置。
全文摘要
本發(fā)明提供了一種動(dòng)態(tài)可重構(gòu)處理器內(nèi)子單元間進(jìn)行數(shù)據(jù)交互的系統(tǒng)和方法,在動(dòng)態(tài)可重構(gòu)處理器器中增加了子單元間數(shù)據(jù)交互暫存器、內(nèi)部數(shù)據(jù)寫出裝置、子單元間數(shù)據(jù)交互裝置,某一子單元運(yùn)行完畢時(shí)產(chǎn)生的結(jié)果數(shù)據(jù),其他的子單元以及該子單元需要這個(gè)結(jié)果數(shù)據(jù)時(shí),通過內(nèi)部數(shù)據(jù)寫出裝置把該子單元的結(jié)果數(shù)據(jù)寫出到子單元間數(shù)據(jù)交互暫存器,再通過子單元間數(shù)據(jù)交互裝置把需要的結(jié)果數(shù)據(jù)寫入目的子單元(需要結(jié)果數(shù)據(jù)的子單元)內(nèi)部的數(shù)據(jù)存儲(chǔ)器,從而實(shí)現(xiàn)了處理器并行處理時(shí)各個(gè)獨(dú)立子單元之間的數(shù)據(jù)交互。
文檔編號(hào)G06F9/38GK102207852SQ201110140360
公開日2011年10月5日 申請(qǐng)日期2011年5月27日 優(yōu)先權(quán)日2011年5月27日
發(fā)明者劉雷波, 尹首一, 戚斌, 時(shí)龍興, 曹鵬, 朱敏, 楊軍, 王延升, 魏少軍 申請(qǐng)人:清華大學(xué)