亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

具有動態(tài)地可再配置結(jié)構(gòu)的部件的制作方法

文檔序號:6496053閱讀:194來源:國知局
專利名稱:具有動態(tài)地可再配置結(jié)構(gòu)的部件的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及動態(tài)地可再配置部件的領(lǐng)域,特別地為數(shù)據(jù)處理而設(shè)計,尤其用于對應(yīng)于一個應(yīng)用的不同任務(wù)的命令的執(zhí)行。
背景技術(shù)
通常,動態(tài)地可再配置部件的最終目的是在數(shù)據(jù)處理期間實現(xiàn)其硬件資源的優(yōu)化使用以產(chǎn)生一個應(yīng)用。通常地,設(shè)計再配置從而能獲得一個部件的最高可允許的使用率。在其它情況下的目標(biāo)是使用再配置去改善部件的耐用性(換句話說,使得即使其硬件資源出現(xiàn)某些故障,也可以繼續(xù)工作),或者實現(xiàn)由該部件處理的很高的數(shù)據(jù)流,或者當(dāng)該部件被使用時很低的能量消耗。再配置還可以被用于優(yōu)化在該部件的基礎(chǔ)處理器上的并行數(shù)據(jù)處理。
產(chǎn)生一個應(yīng)用有不同的方式借助于一個專用集成電路(ASIC),借助于一個處理器,或者借助于一個該用戶可以編程的現(xiàn)場可編程門陣列(FPGA)。
ASIC提供最佳的空間制造(spatial production),因為操作符被直接接線到硅,但是,由于這類部件被專用于給定的應(yīng)用,并且不能用于從一個類型的應(yīng)用改變到另一個(或者如果可以,以退化的方式)。
處理器的使用允許特定的時間執(zhí)行一個應(yīng)用,轉(zhuǎn)換為由該處理器可以執(zhí)行的命令序列,在每個周期中重復(fù)使用其處理單元。根據(jù)該處理器命令設(shè)置,這種技術(shù)對于可以處理的應(yīng)用提供很好的靈活性,并且此外該結(jié)構(gòu)是非常緊湊的。該處理器的主要缺點是性能,其比用于專用的ASIC的性能低得多。
可編程的部件(或者可再配置的部件),諸如FPGA引進(jìn)了處理器和ASIC之間的可選方案;借助于許多的相互連接一個應(yīng)用被實現(xiàn)在預(yù)先特性化的處理單元(細(xì)顆粒的部件)的矩陣上。但是,當(dāng)前使用的FPGA通常局限于單個實現(xiàn)的結(jié)構(gòu),而所希望的是在執(zhí)行期間進(jìn)行再配置。因此,必須進(jìn)行該應(yīng)用的空間而不是時間分配;不使用FPGA再配置它本身以生成另一個應(yīng)用的能力。這種動態(tài)再配置的缺乏的兩個主要的理由為首先,大多數(shù)的FPGA僅僅認(rèn)可部件總的再配置,這導(dǎo)致很高的時間損失(典型地,從幾毫秒到幾百毫秒),由于該應(yīng)用必須重定路線從而以最適宜的方式縛住操作符;其次,因為FPGA的顆粒是非常精細(xì)的,使得其可以適合于許多的應(yīng)用,接線操作的缺點是復(fù)雜,并且對于許多的比特(在控制總線上)需要很高的傳輸容量。
專利US6,150,839公開了一種新型的FPGA,其具有兩個高速緩存層,使得其可以部分地再配置它本身。這個FPGA的結(jié)構(gòu)是兩組單元的形式,其中每個與高速緩沖存儲器相連,并且這些存儲器的每個能夠包含單元組的一個或者幾個的環(huán)境。這種類型的FPGA具有幾個缺點,以單元分組形式配置單元,并且?guī)讉€時鐘周期是加載新的配置所必需的;此外,單元間通信結(jié)構(gòu)復(fù)雜,并且涉及全局總線,并且所得到的非常大的相互連接可能性意味著在處理資源上相互連接資源是主要的。
1994年在MIT開發(fā)的所謂的DPGA(動態(tài)地可編程門陣列)[1,2]結(jié)構(gòu)具有相當(dāng)簡單的單元,該單元由于其細(xì)顆粒包括具有四個輸入和一個可編程的開關(guān)的對照表(LUT)。通過在4x4矩陣內(nèi)的16個模塊來分組這些單元。將這些單元放置進(jìn)一個陣列中形成DPGA。兩個相互連接網(wǎng)絡(luò)同處于這個結(jié)構(gòu)中。第一個網(wǎng)絡(luò)是本地到單元的模塊,每個單元可以在相同的行或者相同的列(即,6個比特)使用來自該單元的輸出,作為輸入,并且該單元可以使用其自己的輸出,作為輸入。第二個網(wǎng)絡(luò)用于給每個模塊提供通用的信號。模塊使用“十字頭”互相通信,其允許每個單元接收每個相鄰矩陣的兩個通用的信號(即,8個比特,因為每個矩陣包含16個單元,并且因此可以提供16個比特給其相鄰的單元)。因此,在每個單元的LUT輸入的15個比特(即,其輸出)、相鄰的單元的6個比特、相鄰矩陣的8個比特之間存在一個選擇。DPGA能夠存儲四個環(huán)境(或者配置),其認(rèn)可從一個到另一個的快速的通路。但是,這個部件具有一些缺點
相互連接結(jié)構(gòu)太復(fù)雜,而不能支持?jǐn)?shù)據(jù)流類型應(yīng)用(例如,多媒體、交互式或者加密類型應(yīng)用);環(huán)境控制的簡單(部件的兩個線)在再配置方面限制了生產(chǎn)該部件的可能性;處理結(jié)果被保持在該單元的輸出上,使得需要保持從生產(chǎn)者到最終消費者的所有的輸入;對于整個部件分配單個配置數(shù)目。
PipeRench結(jié)構(gòu)[3,4]被開發(fā)為以流水線模式使用再配置,以便產(chǎn)生數(shù)據(jù)流動類型應(yīng)用。這是基于以條形或者單元級(粗顆粒的)組織的相對復(fù)雜的(細(xì)顆粒的)PE(用于處理單元)單元的粗顆粒的結(jié)構(gòu)。這些物理條形(接線在硅上)被成行組織,并且經(jīng)由聯(lián)線相互連接用于產(chǎn)生環(huán)形,這個物理環(huán)形被用于產(chǎn)生流水線。PipeRench中止一個應(yīng)用以產(chǎn)生許多的基礎(chǔ)操作,然后這些基礎(chǔ)操作被分配為虛擬條形(在存儲器中描述的虛擬級)。由于PE單元的大尺寸,其通常不可能具有與在部件上需要的數(shù)量相同的物理條形;因此,PipeRench通過再配置該物理條形來虛擬需要的硬件,使得它們依次執(zhí)行該應(yīng)用的所有操作。在該應(yīng)用中的每個步驟對應(yīng)于該結(jié)構(gòu)的物理級的特定的配置。數(shù)據(jù)從執(zhí)行不同的處理步驟的級到級移動,這使其難以執(zhí)行非確定的處理,因為該應(yīng)用是數(shù)據(jù)依賴的。此外,不是所有的處理級必然地存在于該物理結(jié)構(gòu)之中,因此,每個級必須僅僅根據(jù)先前級中的數(shù)據(jù)。但是,對于通用數(shù)據(jù),特定的寄存器結(jié)構(gòu)可以使數(shù)據(jù)朝著適用相同的流水線的下一級移動,但是,這要求回送只能發(fā)生在單個級內(nèi)(在被禁止的級之間回送),寄存器被用于在一個級內(nèi)執(zhí)行反饋。當(dāng)一個級被從該結(jié)構(gòu)中除去的時候,其配置必須被保存,以便保留其內(nèi)部變量的狀態(tài)供其再使用。數(shù)據(jù)然后在條形之間單向地傳送,并且這是配置被存儲在單個存儲器中,并且被逐塊傳送給再配置的條形的原因。PipeRench具有其他的缺點條形復(fù)雜,因為它們在PE單元之間使用本地連接;非常大量的比特被傳送以更新條形的配置;處理的應(yīng)用必須是屬于數(shù)據(jù)流類型,并且它們必須僅僅具有短的內(nèi)部環(huán)路(在單個條形上);PE單元(比FPGA單元更復(fù)雜)對應(yīng)于仍然太細(xì)而不能夠執(zhí)行復(fù)雜的處理的顆粒;如果處理的應(yīng)用太長,而確實不考慮條形的數(shù)量進(jìn)行處理,則用于完成處理的等待時間可能變得非常長;-最后,該部件的消耗大于常規(guī)的處理器消耗的約30%。
因此,按照現(xiàn)有技術(shù)的可再配置的部件具有某些缺點或者限制,連接資源對處理資源是主要的,其顆粒也是精細(xì)的,控制該部件所必需的路由資源也很大,它們不適合于在給定的領(lǐng)域(例如,在加密術(shù)中所有的對稱算法)中所有的應(yīng)用,并且它們不能同時處理不同的應(yīng)用,它們不適用于幾種類型的處理(數(shù)據(jù)流或者相關(guān)的數(shù)據(jù)),尤其當(dāng)進(jìn)行多模式處理(流水線或者并聯(lián)或者組合處理)的時候,其使用率不高,并且它們不能在能量消耗(低消耗或者高吞吐量)方面被調(diào)節(jié)。

發(fā)明內(nèi)容
因此,本發(fā)明意欲克服上述的缺點,而且保證動態(tài)的可再配置部件的結(jié)構(gòu)安全性和耐用性(在該部件的一部分故障之后再配置)。
復(fù)數(shù)操作符(用于選擇該顆粒)是優(yōu)選的,并且互連資源是有限的,以便能夠在該部件中平衡相互連接和處理資源。通過建立少量的控制比特,同時充足的交換要處理的數(shù)據(jù),來限制與控制相關(guān)的交換。全局布線資源被刪除,并且所有被保留的是可用于數(shù)據(jù)傳送的局部或者偽局部資源。這個選擇與按照本發(fā)明的部件結(jié)構(gòu)的基礎(chǔ)顆粒的選擇有關(guān)。
在其基本實施例中,按照本發(fā)明的用于處理數(shù)據(jù)的具有動態(tài)地可再配置結(jié)構(gòu)的部件是包括數(shù)據(jù)處理模塊TD和通用控制器CG,該通用控制器CG能夠控制數(shù)據(jù)處理模塊TD,其特征在于該模塊TD包括多個可再配置的基礎(chǔ)數(shù)據(jù)處理模塊BE;每個基礎(chǔ)模塊BE包括兩個用于接收要處理的數(shù)據(jù)的輸入端E1和E2,和一個用于傳輸已經(jīng)處理的數(shù)據(jù)的輸出端S;公共輸入數(shù)據(jù)總線能夠?qū)⒁幚淼臄?shù)據(jù)傳輸給該模塊BE的每個的輸入端E1和該控制器CG;對于每個模塊BE,連接到其輸出端S的輸出數(shù)據(jù)總線能夠傳送已處理的數(shù)據(jù)到該部件外部,并且經(jīng)由一個旁路數(shù)據(jù)總線傳送給另外一個模塊BE的輸入端E2;-該控制器CG能夠初始化模塊BE的配置,并且控制其動態(tài)再配置,在每個模塊BE的輸出端處控制數(shù)據(jù)流,以便傳送數(shù)據(jù)到外部,或者到另一個模塊BE的輸入端E2,以及在每個模塊BE的輸入端處控制數(shù)據(jù)流。
這個基本實施例被用于克服在現(xiàn)有技術(shù)中遇到的某些缺陷,尤其涉及,在這種情況下大大降低的相互連接的復(fù)雜性。該部件的顆粒是基礎(chǔ)處理模塊BE,其可以處理復(fù)數(shù)操作符,并且處理在每個順序的BE模塊對之間的串行或并行傳輸?shù)南嗷ミB接,或者輸出到外部。顯而易見,控制器CG能夠管理每個模塊BE的飽和問題,并且通常,其也能夠向外部發(fā)出請求以使要處理的數(shù)據(jù)由模塊TD接收(模塊TD能夠從部件外部接收數(shù)據(jù)),從外部接收命令用于由模塊TD處理數(shù)據(jù),并且存儲它們,以及與外部交換控制信號。
按照本發(fā)明的部件的基本實施例如圖1所示,作為特定的例子,該部件包括一個數(shù)據(jù)處理模塊TD(1)和一個通用控制器CG(2),模塊TD可以從外部(3)接收數(shù)據(jù),并且包括三個基礎(chǔ)數(shù)據(jù)處理模塊BE(4,5,6);輸入端E1和E2以及輸出端S被表示在模塊(4)上,每個模塊BE的輸入端E1被連接到公共數(shù)據(jù)總線(7),每個模塊BE的輸出端S被連接到一個通往外部的輸出總線(8,9,10),并且經(jīng)由旁路數(shù)據(jù)總線(11,12,13)連接到一個其他的模塊的輸入端E2。沒有示出用于連接控制器CG(2)到模塊BE或者到外部的控制總線。
在根據(jù)該基礎(chǔ)實施例的具有模塊最大應(yīng)用的一個實施例中,按照本發(fā)明的部件的控制器CG能夠在數(shù)據(jù)到達(dá)的時候,進(jìn)行控制以將在公共輸入數(shù)據(jù)總線上從外部接收的數(shù)據(jù)依次傳送到模塊BE的每個,當(dāng)?shù)竭_(dá)前一模塊BE的最大處理能力的時候,數(shù)據(jù)被傳送給下一個模塊BE。
這個實施例管理模塊的飽和,并且保證每個模塊以其最大的處理能力被使用。例如,每個模塊的最大能力可以被預(yù)先確定(并且被給予控制器CG),或者一個模塊可以在處理期間通知控制器CG其飽和。
依賴于先前的兩個實施例中的一個,在按照本發(fā)明的部件的另一個實施例的被稱為多處理模式的實施例中,控制器CG能夠逐塊地初始化模塊BE的配置,并且逐塊地控制模塊的動態(tài)再配置,以便使模塊TD能夠以流水線模式或者并行模式或者以組合模式處埋數(shù)據(jù)。
處理可以借助于該部件以流水線模式進(jìn)行,換句話說,使數(shù)據(jù)在一個模塊中從輸出端S運行到該模塊的輸入端E2,其經(jīng)由旁路總線被連接,以并行模式使用模塊,換句話說,獨立地使用該模塊(該模塊處理經(jīng)由公共輸入數(shù)據(jù)總線傳送的數(shù)據(jù),而且將結(jié)果傳送到輸出端,因而不使用旁路總線),或者以組合模式使用模塊,換句話說,某些模塊并行操作,而其他的以流水線操作。該種部件的適應(yīng)靈活性尤其是有益的,并且此外,因為其被用于在以獨立的模式工作的模塊BE上同時處理不同的應(yīng)用,所以與現(xiàn)有技術(shù)不同,可以逐塊地再配置。
按照本發(fā)明的具有動態(tài)地可再配置結(jié)構(gòu)的部件的另一個實施例(所述為一個具有多排處理單元的實施例)是與先前的實施例的任何一個相符的部件,并且其中-在模塊TD中的每個模塊BE包括多個可配置的數(shù)據(jù)處理單元UT,并且對應(yīng)于該模塊TD的單元UT的矩陣網(wǎng)絡(luò)中的一行;在每個模塊BE中的每對連續(xù)的單元中的單元UT能夠經(jīng)由一個專用于這兩個單元的相連的可配置的雙向通信模塊BCOM交換數(shù)據(jù);-每個模塊BE的輸入單元UT對應(yīng)于在相對應(yīng)的模塊的行上的第一個單元UT,其能夠接收在該模塊的輸入端E1或者E2上接收的數(shù)據(jù)作為輸入,并且該模塊的輸出單元UT對應(yīng)于在相對應(yīng)的模塊的行上的最后的單元UT,其能夠傳送在該模塊的輸出端S上處理的數(shù)據(jù)作為輸出;-對于每個模塊BE,控制器CG能夠從外部接收命令以由在該模塊中的每個單元UT處理數(shù)據(jù)并且存儲這些數(shù)據(jù),用于每個單元UT和在模塊BE中的每個模塊BCOM進(jìn)行初始化配置,以及控制其動態(tài)再配置。
這個實施例使用能夠在相同的模塊BE中的相鄰的處理單元UT之間雙向通信的通信模塊BCOM,模塊BE的這種結(jié)構(gòu)使該模塊能具有良好的配置靈活性(因為每個UT是可再配置的),尤其是對于多模式處理。此外,可以在單元UT、模塊BCOM和控制器CG之間對于控制總線使用簡單的相互連接,例如,每個模塊BE的每個單元UT可以經(jīng)由模塊BE的公共控制總線被連接到控制器CG,類似地,在每個模塊BE中的每個模塊BCOM可以經(jīng)由模塊BE的公共控制總線被連接到控制器CG。本領(lǐng)域的技術(shù)人員將注意到,在并行操作期間,在一行上該結(jié)構(gòu)具有偶數(shù)的單元UT是更有效率的,在模塊BE已經(jīng)充滿數(shù)據(jù)(從該模塊的頭到尾)之后,并且當(dāng)模塊BE的數(shù)據(jù)飽和時,如果單元UT的數(shù)目是偶數(shù),單元可以成對地工作,并且由于模塊BCOM的雙向特性,如果單元的數(shù)目是奇數(shù),將保留一個未使用的單元。模塊TD的結(jié)構(gòu)相當(dāng)于一個矩陣網(wǎng)絡(luò),模塊BE及其單元UT形成行,并且從一行到下一行,單元UT(這些行具有相應(yīng)的排列)形成列。
圖2示出具有多排處理單元的部件的模塊BE的實例結(jié)構(gòu),模塊BE(14)包括與通信模塊BCOM(16)相間的4個處理單元UT(15),該模塊中的輸入單元UT(15)可以接收經(jīng)由數(shù)據(jù)總線(18)輸入的數(shù)據(jù),并且模塊的輸出單元UT(17)被連接到該模塊的輸出端S,作為輸出(19)。單元UT被經(jīng)由公共控制總線(20)連接到控制器CG(未示出),并且通信模塊BCOM被經(jīng)由公共控制總線(21)連接到控制器CG。
按照本發(fā)明的部件的另一個實施例(根據(jù)具有多排處理單元的實施例)是被稱為具有行間寄存器的部件,其中在模塊TD中對于每對模塊BCOM的模塊BCOM,與其相連的單元UT是在單元的矩陣網(wǎng)絡(luò)中相鄰的列和相鄰的行上,并且能夠經(jīng)由一個相連的行間寄存器REG交換數(shù)據(jù),以便允許數(shù)據(jù)在單元UT之間從一行到下一行交換;通過在對應(yīng)于兩個相鄰的行的兩個模塊BE之間,經(jīng)由兩行之間的行間寄存器REG來控制數(shù)據(jù)交換,控制器CG能夠控制模塊TD的單元UT和模塊BCOM的動態(tài)再配置,以使模塊TD能夠?qū)τ谠诰仃嚲W(wǎng)絡(luò)中的至少兩個相鄰的行以相關(guān)的行模式處理數(shù)據(jù)。
行間寄存器部件是尤其有益的,其提供了在現(xiàn)有技術(shù)中不可得到的獲得附加處理模式的方法,即,利用相關(guān)的行的模式(或者,相當(dāng)于利用相關(guān)的模塊BE)。這進(jìn)一步提高了處理可能性,并且可以改善部件和數(shù)據(jù)流的資源使用率。例如,如果存在每個能夠處理256個數(shù)據(jù)比特的兩個行,在這些行之間相關(guān)模式的轉(zhuǎn)換提供了處理512個數(shù)據(jù)比特的方法。本領(lǐng)域的技術(shù)人員將注意到,借助于流水化硬件(PipeRench)結(jié)構(gòu),最可能的是,兩個條形(stripe)將再配置一個條形,并且在另一個條形上,對于每個時鐘報時信號進(jìn)行一個執(zhí)行;因此,在任一時刻可以處理僅僅一個數(shù)據(jù)項,同時利用按照本發(fā)明的結(jié)構(gòu),兩個數(shù)據(jù)項可以利用兩個相鄰的單元被處理,因為在單元到單元傳送期間該單元被再配置。
本發(fā)明還涉及具有寄存器控制的部件,其是一個根據(jù)具有行間寄存器的前一模式的實施例,其中控制器CG能夠經(jīng)由控制總線將復(fù)位(RESET)或者使能(ENABLE)類型或者時鐘信號傳送給模塊TD中的每個寄存器REG,并且其中在兩個模塊BCOM之間的每個行間寄存器REG能夠在存儲器中存儲從模塊BCOM接收的數(shù)據(jù),并且使數(shù)據(jù)對于另一個模塊BCOM是可用的;接收由控制器CG發(fā)送的復(fù)位或者使能或者時鐘型信號,并且執(zhí)行對應(yīng)于這些信號的命令。
這個行間寄存器控制被用于簡化由控制器CG進(jìn)行的傳送管理,通過使能命令激活用于存儲,以便在兩個通信模塊之間發(fā)送數(shù)據(jù),或者通過復(fù)位命令激活將存儲器復(fù)位為零。
依賴于先前的實施例的任何一個的本發(fā)明的另一個實施例涉及一個具有多路復(fù)用的部件,其中模塊BE的輸入端E1和E2是與該模塊相連的多路復(fù)用器的輸入端,該多路復(fù)用器的輸出端被連接到模塊BE的輸入單元UT的輸入端,用于將數(shù)據(jù)傳輸給這個單元。
因此,通過使模塊BE的輸入單元UT具有僅僅單個輸入端,該種部件可以簡化連接,以從該模塊的輸入端E1或者E2接收數(shù)據(jù)。
依賴于具有多排處理單元,或者行間寄存器,或者具有寄存器控制,或者具有多路復(fù)用的該部件的實施例的任何一個的、本發(fā)明的實施例涉及具有一組單元的部件,其中模塊TD的數(shù)據(jù)處理單元UT是多組可配置的同步基礎(chǔ)數(shù)據(jù)處理單元(cell)CE,每個組包括至少一個基礎(chǔ)單元CE;在任何模塊BE的任何單元UT中的單元CE被連接到公共控制總線,該公共控制總線將它們連接到控制器CG,控制器CG能夠控制單元CE和控制其再配置;對于模塊BE中的每對相鄰的單元UT,單元UT的基礎(chǔ)單元能夠經(jīng)由與這些單元相連的模塊BCOM與另一個單元UT中的基礎(chǔ)單元交換數(shù)據(jù),模塊BCOM能夠進(jìn)行這些數(shù)據(jù)交換;每個模塊BE的輸入單元UT中的每個單元CE對應(yīng)于相對應(yīng)的模塊的行上的第一個單元UT,其能夠經(jīng)由單元UT中的每個單元CE所共有的數(shù)據(jù)總線來接收單元UT的輸入端處接收的數(shù)據(jù),作為輸入;在每個模塊BE的單元UT輸出端中的每個單元CE對應(yīng)于在對應(yīng)的模塊的行上的最后的單元UT,其能夠經(jīng)由單元UT中的每個單元CE所共有的數(shù)據(jù)總線傳輸數(shù)據(jù)到該模塊的輸出端S,作為輸出。
這種部件使單元UT的基礎(chǔ)單元CE局部地并行起作用成為可能,其中可配置的同步單元CE是細(xì)顆粒的結(jié)構(gòu)(雖然其相對于按照現(xiàn)有技術(shù)的結(jié)構(gòu)是粗顆粒的),同時具有較少的相互連接,因為在相同的處理單元中的單元CE不互相交換數(shù)據(jù)。單元UT(或者組)通常包括n個單元CE,并且如果k表示由基礎(chǔ)單元操縱的操作數(shù)的大小,則單元UT能夠處理p個比特的模塊,這里p=n*k。圖3示出單元CE(22)的一組UT,在這種情況下,包括8個單元,并且以一個輸入數(shù)據(jù)總線(23)和輸出數(shù)據(jù)總線(24)連接這些單元的每個,輸入數(shù)據(jù)總線用于傳輸要處理的數(shù)據(jù),并且輸出數(shù)據(jù)總線用于傳輸已處理的數(shù)據(jù),單元CE經(jīng)由公共控制總線(25)被連接到控制器CG(未示出)。
圖4示出模塊BE的經(jīng)由模塊BCOM在該模塊內(nèi)的兩組相鄰的單元CE之間連接的例子,模塊BCOM(26)根據(jù)控制信號,允許在第一個單元UT中的單元CE(28)和在第二個單元UT中的單元(29)、(30)和(31)之間傳輸數(shù)據(jù),其中這些單元經(jīng)由單元控制總線(32)、以及模塊BCOM經(jīng)由控制總線(33)從控制器CG接收控制信號,單元(35)從單元(34)接收數(shù)據(jù)。圖4示出由模塊BCOM使能的在不同的組(或者單元)中的單元之間的雙向傳送(27),同時相同的單元UT中的單元CE不進(jìn)行通信(例如,單元(28)和(35))。
依賴于先前的具有單元組的實施例,本發(fā)明還涉及該部件的實施例,其是具有本地通信控制的實施例,其中與單元UT相連的每個模塊BCOM包括-傳輸模塊BT,其能夠在單元UT中的基礎(chǔ)單元CE和在另一個單元UT中的單元CE之間交換數(shù)據(jù),BCOM與另單元UT相連,模塊BT能夠由本地模塊控制器CLB配置;-本地模塊控制器CLB,其能夠接收和解釋來自控制器CG的控制信號,并且按照接收和存儲在本地配置存儲器MB中配置數(shù)據(jù),來配置模塊BT,用于數(shù)據(jù)傳輸,控制器CLB能夠根據(jù)從控制器CG接收的控制信號來管理加載存儲器MB;-通用控制器CG,其能夠控制模塊TD的本地控制器CLB;這個具有通信本地控制的部件具有新的優(yōu)點,通信模塊BCOM實際上是可再配置的,并且可以選擇要相互連接(在模塊BE中相鄰的單元UT之間)的基礎(chǔ)單元CE,這個附加的自由度在使用單元(尤其是,對于在單元中基礎(chǔ)操作符的映射)時提供了進(jìn)一步的處理靈活性和效率。在組之間經(jīng)由模塊BCOM的通信是雙向的,對于PipeRench類型部件這是一個優(yōu)點,其中在條形之間數(shù)據(jù)的通路是單向的。例如,控制器CLB除了RAM(隨機存取存儲器)之外還典型地包括有限狀態(tài)機(FSM)。
依賴于具有一組單元的實施例,或者具有本地通信控制器的實施例,在按照本發(fā)明的、具有本地單元控制的部件的另一個實施例中,在一個組中的每個同步基礎(chǔ)單元CE包括操作符模塊BO,其能夠經(jīng)由輸入數(shù)據(jù)總線接收輸入數(shù)據(jù),存儲它們和按照來源于本地單元控制器CLC的配置信號對這些數(shù)據(jù)執(zhí)行處理,經(jīng)由輸出數(shù)據(jù)總線將處理結(jié)果傳送給輸出端;-本地單元控制器CLC能夠
-經(jīng)由輸入數(shù)據(jù)總線接收數(shù)據(jù);-管理單元CE的不同操作模式,即初始化模式,用于在本地配置存儲器MC中裝入單元配置字;測試模式,用于對該單元執(zhí)行結(jié)構(gòu)測試;以及標(biāo)準(zhǔn)模式,用于執(zhí)行根據(jù)控制器CG發(fā)出的和由本地控制器經(jīng)由公共控制總線接收的配置信號來執(zhí)行數(shù)據(jù)處理操作;-根據(jù)控制器CG所指示的單元操作模式管理加載存儲器MC;-對從控制器CG接收的配置信號進(jìn)行解釋,以將相應(yīng)的配置字加載到本地配置寄存器RCL之內(nèi),從而在由該單元進(jìn)行的整個數(shù)據(jù)處理周期期間保持該配置字,或者根據(jù)出現(xiàn)在寄存器RCL中的配置字去配置模塊BO;-在收到由控制器CG發(fā)送的測試模式信號時,執(zhí)行單元CE的結(jié)構(gòu)測試;-通用控制器CG,其能夠控制模塊TD的本地控制器CLC。
在具有本地單元控制的這個部件中,一個組中的單元CE是可再配置的。因此,該處理是更有效的,并且尤其是有可能去處理幾個應(yīng)用。模塊TD因而可以甚至同時地處理這些不同的應(yīng)用。此外,可以對這些單元執(zhí)行測試,并且因此可以檢測故障。本領(lǐng)域的技術(shù)人員將注意到,在本發(fā)明中該部件的操作策略不同于按照現(xiàn)有技術(shù)的操作策略,在現(xiàn)有技術(shù)中,相鄰的“單元”可以一起通信,在本發(fā)明中,單元再配置用于在單元之間交換數(shù)據(jù)。該控制策略是基于雙層次的控制,通用的控制器CG在該結(jié)構(gòu)的高層上,并且本地控制既在細(xì)顆粒層(單元CE的控制器CLC)上,又在通信模塊層(控制器CLB)上。與再配置是由單元的模塊進(jìn)行的專利US6,150,839中的FPGA不同,在本發(fā)明中,逐單元地再配置是可能的;此外,按照本發(fā)明的結(jié)構(gòu)可以在一個時鐘周期中,而不是這個FPGA所需的幾個周期(由于在模塊中加載新的配置需要的時間)中被再配置。作為一個舉例的實施例,模塊BO典型地包括LUT、RAM和算術(shù)邏輯單元(ALU)。
在按照本發(fā)明的部件的另一個實施例中,或者在依賴于具有本地單元控制的先前的實施例的、具有利用編號的配置的部件中,本地單元控制器CLC能夠解釋從控制器CG接收的配置信號,以便首先在公共控制總線上讀取單元配置編號,然后按照在該RCL寄存器中的本地對照表,在本地加載對應(yīng)于這個編號的配置字,單元配置編號被存儲在控制器存儲器CG中,并且控制器CLC能夠存儲本地對照表。
這個實施例具有下列好處,即,其需要非常少的傳輸資源,因此簡化部件連接。簡單配置編號的傳輸需要比配置字傳輸更窄的控制總線,由于使用了本地對照表,這是可能的。此外,編號和配置字之間的本地對照引進(jìn)一個有用的自由度,相同的編號可以在不同的單元中對應(yīng)于不同的配置字,因為該對照表是本地的。
依賴于具有利用編號配置的先前的實施例,或者具有本地單元控制的實施例,本發(fā)明還涉及被稱為具有旁路的部件的實施例,其中控制器CG能夠從一個單元接收施加于這個單元CE的結(jié)構(gòu)測試結(jié)果的故障指示,并且發(fā)送一個命令給單元CE的本地控制器CLC,從而以旁路模式配置這個單元。
這個具有旁路的實施例結(jié)果形成在單元CE上耐用的部件。
類似地,依賴于具有旁路的先前的實施例和具有本地通信控制的實施例,由于按照本發(fā)明的被稱為具有通信旁路的部件的實施例,有可能在模塊BCOM上獲得耐用性,其中當(dāng)已經(jīng)從單元UT的一個或者幾個單元CE接收到故障指示的控制器CG,傳送一個強制轉(zhuǎn)換為旁路模式的信號給控制器CLB時,連接到單元UT的通信模塊BCOM的本地模塊控制器CLB能夠以旁路模式配置模塊BCOM,當(dāng)配置單元UT的單元CE為旁路模式的命令已經(jīng)被傳送給單元CE的本地控制器CLC時,控制器CG能夠控制單元UT的模塊BCOM到旁路模式的轉(zhuǎn)換。
借助于具有通信旁路的該實施例,該部件的操作退化(換句話說,具有單元或者模塊BCOM的損耗)是可容許的。本領(lǐng)域的技術(shù)人員將尤其注意到,以旁路模式控制單元或者模塊BCOM的可能性使在模塊BE中具有單元UT或者“附加的”模塊BCOM成為可能,如果不存在故障其不被使用,但是如果在該模塊中存在故障,其可以被激活(通過控制器CG),這進(jìn)一步增強了該部件的耐用性。
按照本發(fā)明的具有本地寄存器的部件的一個實施例可以提高該部件的處理能力。在依賴于具有單元組,或者具有本地通信控制,或者本地單元控制,或者利用編號的配置,或者具有旁路,或者具有通信旁路的實施例的任何一個的實施例中,由單元CE進(jìn)行的數(shù)據(jù)處理的結(jié)果可以被存儲在本地寄存器中,存儲在這個本地寄存器中的結(jié)果在該單元的再配置期間被保持。
因此,具有本地寄存器的部件可以存儲在再配置期間計算的數(shù)據(jù),并且與這個備份(即使該部件的模塊BE是“最小的”,換句話說,簡化為兩個單元UT和一個模塊BCOM)相關(guān)的另一個優(yōu)點是,由于該模塊BCOM具有雙向通信,所以有可能在模塊BE中同時處理兩個數(shù)據(jù)項,并且傳送該結(jié)果,同時在PipeRench結(jié)構(gòu)中,其僅僅可以處理具有兩個條形(一個條形再配置它本身,同時另一個進(jìn)行該處理)的一個數(shù)據(jù)項,并且很明顯地假設(shè)數(shù)據(jù)在再配置期間被存儲。由于這個本地寄存器,另一個重要的優(yōu)點是,在再配置階段期間存儲的數(shù)據(jù)可以在兩個單元UT之間交換,這有助于屏蔽再配置周期。
按照本發(fā)明的部件的另一個實施例(其依賴于本發(fā)明先前的實施例的任何一個)涉及一個具有輸入-輸出管理的部件,包括輸入管理模塊GE,其能夠從外部接收數(shù)據(jù)并且臨時地存儲這些接收的數(shù)據(jù),按照由控制器CG經(jīng)由特定的控制總線指示的初始化模式或者標(biāo)準(zhǔn)模式,來格式化存儲的數(shù)據(jù),經(jīng)由公共輸入數(shù)據(jù)總線將已格式化的數(shù)據(jù)傳送給模塊TD的模塊BE的輸入端E1;輸出管理GS模塊,其經(jīng)由特定的控制總線連接到控制器CG,用于控制處理的數(shù)據(jù)的接收,連接到來自模塊TD中的模塊BE的每個的輸出數(shù)據(jù)總線以接收已處理的數(shù)據(jù),并且能夠重新格式化接收的已處理的數(shù)據(jù),在緩沖存儲器中存儲該重新格式化的數(shù)據(jù),從外部接收一個傳輸請求,按照從外部接收的請求,將存儲在該緩沖存儲器中的數(shù)據(jù)傳送到外部。
具有輸入-輸出管理的該部件便于與外部(尤其與臨時數(shù)據(jù)存儲器)進(jìn)行數(shù)據(jù)交換,因此可由不同的設(shè)備使用該部件。本領(lǐng)域的技術(shù)人員將注意到,輸入管理器GE簡化在該部件上要處理的應(yīng)用的安裝。
圖5示出一個具有輸入-輸出管理的部件的例子,輸入管理器GE(36)經(jīng)由數(shù)據(jù)總線(43)從外部接收數(shù)據(jù),并且經(jīng)由公共數(shù)據(jù)總線(44)利用三個模塊BE(40,41,42)傳送已格式化的數(shù)據(jù);來自模塊BE的輸出數(shù)據(jù)總線(45,46,47)連接到輸出管理器GS(37),該輸出管理器將重新格式化的數(shù)據(jù)經(jīng)由數(shù)據(jù)總線(48)傳送到外部;通用控制器CG經(jīng)由控制總線(38)連接到GE,經(jīng)由控制總線(39)連接到GS,分別地經(jīng)由控制總線(49,50,51)連接到模塊BE1、BE2和BE3。
本領(lǐng)域的技術(shù)人員已知,可以有規(guī)律地測試可再配置的部件。這么做的公知的方法是由IEEE標(biāo)準(zhǔn)化的JTAG方法[5],由于IEEE標(biāo)準(zhǔn)可利用的可能性,該方法也被用于加載(或者重新加載)配置字,以使用專用于用戶的命令,該部件因而必須包括TAP控制器和專用的控制總線。
依賴于具有本地單元控制或者利用編號配置,或者具有旁路,或者具有通信旁路,或者具有本地寄存器,或者具有輸入-輸出管理的部件的實施例的任何一個,按照本發(fā)明的部件的另一個實施例是具有JTAG的部件,其中單元CE的本地控制器CLC、模塊BCOM的本地控制器CLB和通用控制器CG能夠使用JTAG方法在動態(tài)的部件再配置階段期間加載配置,并且執(zhí)行測試,控制器CG包括經(jīng)由JTAG串行總線、逐個模塊BE地連接到模塊TD中的單元CE和模塊BCOM的TAP控制器。
在本地適用的JTAG協(xié)議的選擇與在上述的兩個不同的層上的控制的選擇是完全一致的。這個選擇是由以下的事實解釋的,即,其要求能夠在非常短的時間內(nèi)(不超過一個時鐘周期)再配置單元;最靠近于基礎(chǔ)操作符的再配置是最有效的,因為信息交換和因此地這些交換的解釋是最小的。這個選擇的優(yōu)點之一是其可以相當(dāng)大地降低用于控制(用于幾個控制比特的總線,代替與配置字相同寬度的控制總線)的路由資源,并且這個重要的節(jié)省可以降低對于數(shù)據(jù)總線的限制。
圖6是在模塊BE內(nèi)的組件中插入JTAG帶的實例,其包括兩組單元CE和相連的通信模塊BCOM,JTAG帶(52)在第一個組(53)中被依次連接到單元CE,在第兩個組(55)中被依次連接到模塊BCOM(54)和單元CE,這個控制連接也來自單元(56)的控制總線(無需JTAG)和模塊BCOM(57)的控制總線,模塊BCOM(57)的控制總線被連接到控制器CG(未示出)。
按照本發(fā)明的另一個部件是與具有多排處理單元,或者具有行間的寄存器,或者具有寄存器控制,或者具有多路復(fù)用,或者具有單元組,或者具有本地通信控制,或者具有本地單元控制,或者具有利用數(shù)目配置,或者具有旁路,或者具有通信旁路,或者具有本地寄存器,或者具有輸入-輸出管理,或者具有JTAG的本發(fā)明的實施例的任何一個一致的粗顆粒的部件,其中在網(wǎng)絡(luò)行上存在偶數(shù)N個單元UT,并且模塊BCOM被分布在N/2個基礎(chǔ)單元CB中,每個單元CB包括兩個相鄰的單元UT,并且模塊BCOM與這些單元相連,控制器CG能夠在單元CB之間的網(wǎng)絡(luò)和通信模塊BCOM中逐行的控制單元CB的動態(tài)再配置,以使模塊TD能夠使用單元CB處理數(shù)據(jù)。
按照本發(fā)明的這種部件在數(shù)據(jù)處理方面揭露一個非常重要的設(shè)備,即,基礎(chǔ)單元CB。因此,存在具有三個等級層次的可再配置的結(jié)構(gòu),用于同步執(zhí)行基礎(chǔ)操作的基礎(chǔ)單元CE(細(xì)顆粒),用于執(zhí)行復(fù)雜的處理的基礎(chǔ)單元(粗顆粒的),以及最后該部件本身。被配置為執(zhí)行數(shù)據(jù)處理的可變數(shù)量的基礎(chǔ)單元,然后確定了高的數(shù)據(jù)速度,或者該部件的低能量消耗特性??梢愿鶕?jù)控制信號(在控制器CG)來利用這個特性,其與每個單元CB(經(jīng)由該單元CE的配置或者再配置,以及模塊BCOM)的重要的配置(或者再配置)可能性相結(jié)合,使實現(xiàn)本發(fā)明的目的成為可能。
最后,根據(jù)粗顆粒的實施例,本發(fā)明涉及該部件最后的實施例,其被稱為獨立的粗顆粒的部件,用于處理包括至少一個應(yīng)用的一組應(yīng)用,其中在模塊TD中被配置為執(zhí)行處理的每個基礎(chǔ)單元CB可以執(zhí)行為完成該組件的至少一個應(yīng)用的處理所必需的操作,該組件的每個應(yīng)用盡可通過至少一個基礎(chǔ)單元CB被完全地進(jìn)行。
這個獨立的粗顆粒部件是具有按照本發(fā)明的動態(tài)地可再配置結(jié)構(gòu)的部件最適宜的版本。其能夠使用基礎(chǔ)單元來處理一組應(yīng)用(或者可能是單個應(yīng)用),該基礎(chǔ)單元能夠獨立地處理這些應(yīng)用。單元CB的獨立性提供了最佳地得益于用于再配置部件的非常靈活的可能性的方法,并且以流水線、并行、組合,或者以相關(guān)的行,或者其各種各樣的組合來使用不同的處理模式。


在參考附圖之后,本發(fā)明上述的特征和優(yōu)點,以及在以下作為舉例給出的特定的實施例的描述中提到的其他的特征和優(yōu)點將變得更清楚,其中圖1示出如上所述在具有三個基礎(chǔ)模塊BE的特殊情況下按照本發(fā)明的部件的基本實施例;圖2示出如上所述具有多排處理單元的部件的模塊BE的實例結(jié)構(gòu);圖3示出如上所述具有帶有單元組的部件的單元CE的處理單元UT;圖4示出如上所述一個用于模塊BE的例子,示出經(jīng)由具有單元組的部件的模塊BCOM在模塊BE內(nèi)的兩個相鄰的單元CE組之間的連接;圖5示出如上所述具有輸入-輸出管理的部件的一個例子;圖6如上所述是一個將JTAG帶插入具有JTAG的部件的一部分中的例子;圖7是一個獨立的粗顆粒部件總體示意圖;圖8是以并行模式用于一排基礎(chǔ)單元的填充階段的示意圖;圖9是以并行模式用于一排基礎(chǔ)單元的回送階段的示意圖;圖10是以并行模式用于一排基礎(chǔ)單元的清空階段的示意圖;圖11是獨立的粗顆粒部件以并行模式操作的步驟的示意圖。
具體實施例方式
按照本發(fā)明的獨立的大顆粒部件的一個示例性實施例的操作包括幾個階段,這些階段可對應(yīng)于不同的使用策略。在這些階段之中,我們將描述初始化階段以及用于并行操作的標(biāo)準(zhǔn)操作階段的細(xì)節(jié)(舉例)。
圖7示出一個選擇的部件的例子,部件具有兩個行(或者兩個模塊BE),索引0行和索引1行,在每個行上具有兩個基礎(chǔ)單元CB,和其由一對(i,j)索引的處理單元UT,這里i是行索引,以及j是列索引。因此,在行0上,單元CB(0,1)(60)包括單元UT(0,1)和UT(0,2)以及與它們相連的通信模塊BCOM,按照慣例,這些索引是在該行上前一模塊的單元UT的索引,在該行上的第二單元CB(0,2)(62)經(jīng)由模塊BCOM(0,2)(64)與第一個單元通信,并且包括單元UT(0,3)和UT(0,4)以及模塊BCOM(0,3)(65)。類似地,第二行包括分別地由UT(1,1)、BCOM(1,1)(68)、UT(1,3)以及UT(1,3)、BCOM(1,3)(69)、UT(1,4)形成的基礎(chǔ)單元CB(1,1)(66)和CB(1,2)(67),它們經(jīng)由模塊BCOM(1,2)(70)進(jìn)行通信。行間的寄存器(71,72,73)分別控制模塊BCOM(0,1)(63)和BCOM(1,1)(68)、BCOM(0,2)(64)和BCOM(1,2)(70)、BCOM(0,3)(65)和BCOM(1,3)(67)之間的通信。該部件包括一個用于模塊TD(74)的輸入數(shù)據(jù)總線,一個連接到公共輸入數(shù)據(jù)總線(76)的輸入管理器GE(75),一個連接到輸出管理器GS(78)用于模塊TD(77)的輸出數(shù)據(jù)總線,其分別地接收行0(79)和1(80)的輸出數(shù)據(jù)總線。通用控制器CG(81)連接到行0(82)的單元UT的公共控制總線,連接到行0(83)的模塊BCOM的公共控制總線,連接到行1(84)的單元UT的公共控制總線,以及連接到行1(85)的模塊BCOM的公共控制總線,控制器CG能夠與外部(86),或者與用于JTAG檢查的外部移位寄存器(87)(“邊界掃描”)交換控制信號。
a)初始化階段在這個階段期間,不同的有用的配置數(shù)據(jù)被加載進(jìn)不同的存儲器中。在加電復(fù)位之后或者在引導(dǎo)的軟件復(fù)位之后存在這個階段。經(jīng)由數(shù)據(jù)總線(76)進(jìn)行加載(并行加載)。第一步是依次逐行的加載單元的配置,并且然后相同的步驟被用于通信模塊。然后,對該部件執(zhí)行測試以檢查初始配置是正確的,以及結(jié)構(gòu)安全性(例如借助于BIST測試),在這個步驟之后,控制器CG通知外部該部件準(zhǔn)備接收數(shù)據(jù)。
b)并行操作階段在這個例子中,與彼此和在下面描述的所有步驟無關(guān)的行功能被同步到該時鐘(通過在附圖上的時鐘識別)。
在每個行中存在三個操作步驟-行加載步驟1,例如行0,該行被認(rèn)為是要填充的流水線。
在圖8中顯示了用于填充行0(參考圖7)的步驟1,在8a上由op1、op2等等表示由多個單元執(zhí)行的操作,8b示出對應(yīng)于在行0上執(zhí)行的操作的計時圖,時鐘脈沖被顯示在該計時圖(時鐘)的上部。
管理器GE恢復(fù)數(shù)據(jù)塊,例如64比特模塊,并且重建p比特字,其將被發(fā)送給在第一單元CB(0,1)中用于行UT(0,1)的第一單元UT。執(zhí)行操作1的第一數(shù)據(jù)項1被加載進(jìn)UT(0,1)中,并且該結(jié)果然后被傳送給UT(0,2),UT(0,1)然后對于數(shù)據(jù)塊2執(zhí)行操作1,同時UT(0,2)對于數(shù)據(jù)塊1執(zhí)行操作2。在到達(dá)行的末端(所有的處理單元由數(shù)據(jù)項占據(jù))之前,重復(fù)傳送。
-循環(huán)步驟2(例如對于行0)僅僅使用行資源執(zhí)行要進(jìn)行的剩余的處理(在該應(yīng)用中)。下一個步驟將由基礎(chǔ)單元(獨立的)操作以并行執(zhí)行處理。
在圖9中顯示了用于行0的循環(huán)返回的步驟2,9a示出由在該行中的多個單元執(zhí)行的操作,9b示出用于這個循環(huán)返回步驟的計時圖,“數(shù)據(jù)4/3”標(biāo)志表示在單元UT(0,1)和UT(0,2)之間已處理的數(shù)據(jù)4和3的交換。
-在圖10中顯示了用于清空行0的行清空步驟3,10a示出由在該行中的多個單元執(zhí)行的操作,10b示出用于這個清空步驟的計時圖在該算法的結(jié)尾,連接到該輸出總線CB(0,2)的基礎(chǔ)單元將能夠卸載已處理的數(shù)據(jù),并且開始該流水線清空階段。第二單元的單元UT(0,4)卸載剛才在管理器GS中已經(jīng)處理的數(shù)據(jù)塊1。但是,還沒有對于UT(0,3)中的數(shù)據(jù)塊2執(zhí)行最后的操作。因此,其進(jìn)入UT(0,4),使得可以執(zhí)行這個操作,在行0已經(jīng)被完全地清空之前,單元UT(0,2)將其數(shù)據(jù)塊3傳送給UT(0,3)等等。
一旦輸出管理器具有新處理的數(shù)據(jù),其發(fā)送一個通知其可以被獲取的外部信號。對于行1并行重復(fù)這個方案。
圖11概述先前的步驟,并且表示對于在11a中示出的該部件的行0和1并行進(jìn)行的處理。隨著時間的變化,對于這些行的每個執(zhí)行的步驟被示出在11b的計時圖上。
參考資料[11]E.Tau,I.Eslick,D.Chen,J.Brown,A.DeHon′第一代DPGA實現(xiàn)(A First Generation DPGA Implementation)′,第三屆加拿大現(xiàn)場可編程器件會議(Third Canadian Workshop onField-Programmable)論文集,第138-143頁,1995年5月. Andre DeHon′通用計算的可再配置結(jié)構(gòu)(Reconfigurable Architectures for General-Purpose Computing)′,Ph.D.論文,MIT,1996年8月. S.Copen Goldstein,H.Schmit,M.Budiu,S.Cadambi,M.Moe and R.Taylor′PipeRench可再配置結(jié)構(gòu)和編譯器(AReconfigurable Architecture and Compiler)′,IEEE計算機,33卷,N°4,2000年4月. Benjamin A.Levine and Herman H.Schmit′PipeRench可編程流水線化數(shù)據(jù)通路的功率和性能(Power and PerformanceEvaluation of a Programmable Pipelined Datapath)′,HotChips 14,Palo Alto,CA,2002年8月. JTAG;測試技術(shù)標(biāo)準(zhǔn)協(xié)會″IEEE Std. 1149.1 StandardTest Access Port and Boundary-Scan Architecture″,Institute ofElectrical and Electronics Engineers,1993年10月21日.
權(quán)利要求
1.一種用于處理數(shù)據(jù)的具有動態(tài)地可再配置結(jié)構(gòu)的部件,其包括數(shù)據(jù)處理模塊TD和用于控制所述數(shù)據(jù)處理模塊TD的通用控制器CG,其特征在于所述模塊TD包括多個可再配置的基礎(chǔ)數(shù)據(jù)處理模塊BE,每個基礎(chǔ)模塊BE包括用于接收要處理的數(shù)據(jù)的兩個輸入端E1和E2,以及用于傳輸已處理的數(shù)據(jù)的一個輸出端S;公共輸入數(shù)據(jù)總線,用于將要處理的數(shù)據(jù)傳輸?shù)剿瞿KBE的每個的輸入端E1和所述控制器CG中;對于每個模塊BE,連接到其輸出端S的輸出數(shù)據(jù)總線用于將已處理的數(shù)據(jù)傳送到所述部件的外部,并且經(jīng)由一個旁路數(shù)據(jù)總線傳送到另外一個模塊BE的輸入端E2;所述控制器CG用于初始化模塊BE的配置并且控制其動態(tài)再配置,在每個模塊BE的輸出端處控制數(shù)據(jù)流以便將數(shù)據(jù)傳送到外部或者傳送到另一個模塊BE的輸入端E2,并且在每個模塊BE的輸入端處控制數(shù)據(jù)流。
2.根據(jù)權(quán)利要求1所述的部件,其中所述控制器CG用于當(dāng)數(shù)據(jù)到達(dá)時,進(jìn)行控制以將在所述公共輸入數(shù)據(jù)總線上從外部接收的數(shù)據(jù)依次傳送到所述模塊BE的每個,當(dāng)達(dá)到前一模塊BE的最大處理能力時,所述數(shù)據(jù)被傳送到下一模塊BE。
3.根據(jù)權(quán)利要求1或2所述的部件,其中所述控制器CG用于逐塊地初始化模塊BE的配置,并且逐塊地控制模塊的動態(tài)再配置,以使所述模塊TD能夠以流水線模式或者并行模式或者組合的模式處理數(shù)據(jù)。
4.根據(jù)權(quán)利要求1至3中任何一個所述的部件,其中在所述模塊TD中,每個模塊BE包括多個可配置的數(shù)據(jù)處理單元UT并且對應(yīng)于在所述模塊TD的單元UT的矩陣網(wǎng)絡(luò)中的一行;在每個模塊BE的每對連續(xù)的單元中的所述單元UT用于經(jīng)由一個專用于這兩個單元的相連的可配置的雙向通信模塊BCOM來交換數(shù)據(jù),所述每個模塊BE的輸入單元UT對應(yīng)于在相應(yīng)的模塊的行上的第一單元UT,用于接收在所述模塊的輸入端E1或者E2上接收的數(shù)據(jù)作為輸入,以及所述模塊的輸出單元UT對應(yīng)于在相應(yīng)的模塊的行上的最后的單元UT,用于在所述模塊的輸出端S上傳送已處理的數(shù)據(jù)作為輸出;對于每個模塊BE,所述控制器CG用于從外部接收命令,以由所述模塊中的每個單元UT處理數(shù)據(jù)并且存儲這些數(shù)據(jù),用于每個單元UT和所述模塊BE中的每個模塊BCOM的初始化配置以及用于控制其動態(tài)再配置。
5.根據(jù)權(quán)利要求4所述的部件,其中對于每對模塊BCOM中的模塊BCOM,與其相連的單元UT是在模塊TD中的單元的矩陣網(wǎng)絡(luò)中相鄰的列和相鄰的行上,并且用于經(jīng)由一個相連的行間寄存器REG交換數(shù)據(jù),以便允許在單元UT之間從一行到下一行交換數(shù)據(jù);所述控制器CG用于通過在對應(yīng)于兩個相鄰的行的兩個模塊BE之間,經(jīng)由在這兩行之間的行間寄存器REG來控制數(shù)據(jù)的交換,來控制所述模塊TD的單元UT和模塊BCOM的動態(tài)再配置,以使所述模塊TD能夠?qū)τ谠谒鼍仃嚲W(wǎng)絡(luò)中的至少兩個相鄰的行以相關(guān)的行模式處理數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的部件,其中所述控制器CG用于將復(fù)位或者使能類型或者時鐘信號經(jīng)由控制總線傳送到所述模塊TD中的每個寄存器REG,并且其中在兩個模塊BCOM之間的每個行間寄存器REG用于在存儲器中存儲從模塊BCOM接收的數(shù)據(jù),并且使這些數(shù)據(jù)對于另一個模塊BCOM是可用的;接收由所述控制器CG發(fā)送的復(fù)位或者使能或者時鐘類型信號,并且執(zhí)行這些信號所對應(yīng)的命令。
7.根據(jù)權(quán)利要求4至6的任何一個所述的部件,其中所述模塊BE的輸入端E1和E2是與所述模塊相連的多路復(fù)用器的輸入端,所述多路復(fù)用器的輸出端被連接到所述模塊BE的輸入單元UT的輸入端,用于將數(shù)據(jù)傳輸?shù)竭@個單元。
8.根據(jù)權(quán)利要求4至7的任何一個所述的部件,其中所述模塊TD的數(shù)據(jù)處理單元UT是多組可配置的同步基礎(chǔ)數(shù)據(jù)處理單元CE,每個組包括至少一個基礎(chǔ)單元CE;在所有的模塊BE的所有單元UT中的單元CE被連接到公共控制總線,所述公共控制總線將它們連接到所述控制器CG,所述控制器CG用于控制單元CE并控制其再配置;對于模塊BE中的每對相鄰的單元UT,一個單元UT的基礎(chǔ)單元用于經(jīng)由與該對單元相連的模塊BCOM與另一單元UT中的基礎(chǔ)單元交換數(shù)據(jù),所述模塊BCOM用于進(jìn)行這些數(shù)據(jù)交換;在每個模塊BE的輸入單元UT中的每個單元CE對應(yīng)于在與所述模塊對應(yīng)的行上的第一單元UT,用于經(jīng)由所述單元UT中的每個單元CE所共用的數(shù)據(jù)總線,接收在所述單元UT的輸入端上接收的數(shù)據(jù)作為輸入;在每個模塊BE的輸出單元UT中的每個單元CE對應(yīng)于在與所述模塊對應(yīng)的行上的最后的單元UT,用于經(jīng)由所述單元UT中的每個單元CE所共用的數(shù)據(jù)總線將數(shù)據(jù)傳送到所述模塊的輸出端S,作為輸出。
9.根據(jù)權(quán)利要求8所述的部件,其中與單元UT相連的每個模塊BCOM包括傳輸模塊BT,用于在單元UT中的基礎(chǔ)單元CE和在另一單元UT中的單元CE之間交換數(shù)據(jù),所述BCOM與單元UT相連,所述模塊BT是可由本地模塊控制器CLB配置的;本地模塊控制器CLB,用于接收和解釋來自所述控制器CG的控制信號,并且按照接收和存儲在本地配置存儲器MB中的配置數(shù)據(jù)來配置所述模塊BT,用于數(shù)據(jù)傳輸;所述控制器CLB用于根據(jù)從所述控制器CG接收的控制信號來管理加載存儲器MB;通用控制器CG,用于控制所述模塊TD的本地控制器CLB。
10.根據(jù)權(quán)利要求8或9所述的部件,其中在一個組中的每個同步基礎(chǔ)單元CE包括操作符模塊BO,用于經(jīng)由輸入數(shù)據(jù)總線接收輸入數(shù)據(jù),存儲它們,并且按照來源于本地單元控制器CLC的配置信號來對這些數(shù)據(jù)執(zhí)行處理;經(jīng)由輸出數(shù)據(jù)總線將該處理的結(jié)果傳送給所述輸出端;本地單元控制器CLC用于經(jīng)由所述輸入數(shù)據(jù)總線接收數(shù)據(jù);管理所述單元CE的不同的工作模式,即,初始化模式,用于將單元配置字加載到本地配置存儲器MC中;測試模式,用于對所述單元執(zhí)行結(jié)構(gòu)測試;以及標(biāo)準(zhǔn)模式,用于根據(jù)由所述控制器CG發(fā)出的和由所述本地控制器經(jīng)由所述公共控制總線接收的配置信號來執(zhí)行數(shù)據(jù)處理操作;根據(jù)由所述控制器CG指示的單元工作模式來管理加載存儲器MC;解釋從所述控制器CG接收的配置信號,以將相應(yīng)的配置字加載到本地配置寄存器RCL中從而貫穿所述單元的數(shù)據(jù)處理周期來保持所述配置字,或者根據(jù)出現(xiàn)在所述寄存器RCL中的配置字來配置所述模塊BO;在收到由所述控制器CG發(fā)送的測試模式信號時,執(zhí)行所述單元CE的結(jié)構(gòu)測試;通用控制器CG,用于控制所述模塊TD的本地控制器CLC。
11.根據(jù)權(quán)利要求10所述的部件,其中所述本地單元控制器CLC用于解釋從所述控制器CG接收的配置信號,以便首先在公共控制總線上讀取單元配置數(shù)量,然后按照在所述RCL寄存器中的本地對照表,在本地加載對應(yīng)于這個數(shù)量的配置字;單元配置數(shù)量被存儲在控制器存儲器CG中,并且所述控制器CLC用于存儲所述本地對照表。
12.根據(jù)權(quán)利要求10或11所述的部件,其中所述控制器CG用于從一個單元接收施加于這個單元CE的結(jié)構(gòu)測試的結(jié)果的故障指示,并且發(fā)送一個命令給所述單元CE的本地控制器CLC,從而以旁路模式配置這個單元。
13.根據(jù)權(quán)利要求9和12所述的部件,其中當(dāng)已經(jīng)從所述單元UT的一個或者幾個單元CE接收到故障指示的所述控制器CG將一個強制改變?yōu)榕月纺J降男盘杺魉偷奖镜啬K控制器CLB時,連接到單元UT的通信模塊BCOM的所述控制器CLB用于以旁路模式配置所述模塊BCOM;當(dāng)將單元UT的單元CE配置為旁路模式的命令已經(jīng)傳送給所述單元CE的本地控制器CLC時,所述控制器CG用于控制所述單元UT的模塊BCOM轉(zhuǎn)換為旁路模式。
14.根據(jù)權(quán)利要求8至13的任何一個所述的部件,其中由單元CE進(jìn)行的數(shù)據(jù)處理的結(jié)果可以被存儲在本地寄存器中;在所述單元的再配置期間,存儲在這個本地寄存器中的結(jié)果被保持。
15.根據(jù)權(quán)利要求1至14的任何一個所述的部件,包括輸入管理模塊GE,用于從外部接收數(shù)據(jù)并且臨時地存儲這些接收的數(shù)據(jù),按照由所述控制器CG經(jīng)由特定的控制總線指示的所述初始化模式或者標(biāo)準(zhǔn)模式,來格式化所存儲的數(shù)據(jù),經(jīng)由所述公共輸入數(shù)據(jù)總線將已格式化的數(shù)據(jù)傳送給所述模塊TD的模塊BE的輸入端E1;輸出管理GS模塊,其經(jīng)由特定的控制總線連接到所述控制器CG,用于控制已處理數(shù)據(jù)的接收,連接到來自所述模塊TD中的模塊BE的每個的輸出數(shù)據(jù)總線以接收已處理的數(shù)據(jù),并且用于重新格式化所接收的已處理的數(shù)據(jù),在緩沖存儲器中存儲所述重新格式化的數(shù)據(jù),從外部接收傳送請求,按照從外部接收的請求,將存儲在所述緩沖存儲器中的數(shù)據(jù)傳送到外部。
16.根據(jù)權(quán)利要求10至15的任何一個所述的部件,其中所述單元CE的本地控制器CLC、所述模塊BCOM的本地控制器CLB和通用控制器CG用于使用JTAG方法以在動態(tài)的部件再配置階段期間加載配置,并且執(zhí)行測試;所述控制器CG包括TAP控制器,所述TAP控制器經(jīng)由JTAG串行總線、逐個模塊BE地連接到在模塊TD中的單元CE和模塊BCOM。
17.根據(jù)權(quán)利要求4至16的任何一個所述的部件,其中在網(wǎng)絡(luò)行上存在偶數(shù)N個單元UT,并且所述模塊BCOM被分布在N/2個基礎(chǔ)單元CB中,每個單元CB包括兩個相鄰的單元UT,并且所述模塊BCOM與這些單元相連,所述控制器CG用于逐行地控制網(wǎng)絡(luò)中的單元CB和單元CB之間的通信模塊BCOM的動態(tài)再配置,以使所述模塊TD能夠使用單元CB處理數(shù)據(jù)。
18.根據(jù)權(quán)利要求17所述的部件,用于處理一組包括至少一個應(yīng)用的應(yīng)用,其中在所述模塊TD中被配置為執(zhí)行處理的每個基礎(chǔ)單元CB用于執(zhí)行為完成組件的至少一個應(yīng)用的處理所必需的操作,所述組件的每個應(yīng)用可通過至少一個基礎(chǔ)單元CB完全地進(jìn)行。
全文摘要
本發(fā)明涉及一個具有粗顆粒的動態(tài)地可再配置的結(jié)構(gòu)的部件,該部件通過以行組織的處理單元來處理數(shù)據(jù),并且通過相互連接,以允許以流水線或者并行模式或者以相關(guān)的行模式進(jìn)行處理。所有的數(shù)據(jù)類型可以被處理,并且該部件可以同時處理幾個應(yīng)用。選擇顆粒,在幾個層上借助于有限的控制互連資源和數(shù)據(jù)分配電路進(jìn)行控制允許在一個時鐘周期中的部件的本地或者通用再配置。
文檔編號G06F15/80GK1860468SQ200480028549
公開日2006年11月8日 申請日期2004年9月30日 優(yōu)先權(quán)日2003年9月30日
發(fā)明者米克爾·吉貝爾, 法比安·克萊米迪, 蒂埃里·科萊特 申請人:原子能委員會
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1