專利名稱:可重配置的集成電路器件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可重配置的集成電路器件,更具體地說,涉及被安裝在可重配置集成電路器件中的內(nèi)部存儲器的新穎配置,用于執(zhí)行與外部存儲器之間的數(shù)據(jù)傳輸。
背景技術(shù):
可重配置集成電路器件包括多個處理器元件和用于互連這些處理器元件的網(wǎng)絡(luò),其中定序器響應(yīng)于外部或內(nèi)部事件來向處理器元件和網(wǎng)絡(luò)提供配置數(shù)據(jù),并根據(jù)該配置數(shù)據(jù),利用處理器元件和網(wǎng)絡(luò)來配置任意運算狀態(tài)或運算電路。傳統(tǒng)的可編程微處理器順序地讀取存儲在存儲器中的指令,并順序地處理它們。由于一個處理器同時執(zhí)行的指令數(shù)是有限的,因此微處理器的處理能力也受到某種限制。
另一方面,在最近提出的可重配置集成電路器件中,具有加法器、乘法器、比較器等功能的ALU和例如延遲電路、計數(shù)器等多種處理器元件被預先安裝,并且用于連接這些處理器元件的網(wǎng)絡(luò)也被安裝,然后,根據(jù)從具有定序器的狀態(tài)轉(zhuǎn)換控制部件而來的配置數(shù)據(jù),所述多個處理器元件和網(wǎng)絡(luò)被重新配置為所需配置,而且在該運算狀態(tài)下執(zhí)行預定的運算。當在一種運算狀態(tài)下的數(shù)據(jù)處理完成時,根據(jù)其他配置數(shù)據(jù)來構(gòu)造另一種運算狀態(tài),而且在該狀態(tài)下執(zhí)行不同的數(shù)據(jù)處理。
通過以此方式動態(tài)地構(gòu)造不同運算狀態(tài),可提高對大量數(shù)據(jù)的數(shù)據(jù)處理能力,并且可提高整體處理效率。這種可重配置集成電路器件例如在日本專利申請早期公開No.2001-312481中公開。
發(fā)明內(nèi)容
在傳統(tǒng)的可重配置集成電路器件中,多個處理器元件的陣列被連接在處理器之間的開關(guān)包圍,狀態(tài)轉(zhuǎn)換控制部件向處理器元件和開關(guān)組提供配置數(shù)據(jù),以設(shè)置任意運算狀態(tài)。在處理器元件組中,數(shù)據(jù)從外部存儲器輸入,被設(shè)置為運算狀態(tài)的處理器元件組對輸入數(shù)據(jù)執(zhí)行預定數(shù)據(jù)處理,如此獲得的數(shù)據(jù)被輸出。
在上述集成電路器件中,數(shù)據(jù)處理所需的數(shù)據(jù)從外部存儲器被成批讀取,并被存儲在內(nèi)部存儲器中,然后被設(shè)置為某種運算狀態(tài)的處理器元件組和開關(guān)組對讀取的所有數(shù)據(jù)執(zhí)行數(shù)據(jù)處理。
但是,可重配置的集成電路器件利用動態(tài)配置的預定數(shù)量的處理器元件執(zhí)行不同的應(yīng)用。因此,每個處理器元件需要在所需的定時上向外部存儲器寫或從外部存儲器讀取所需數(shù)量的數(shù)據(jù)。在現(xiàn)有技術(shù)中,經(jīng)由使用連接處理器元件的開關(guān)組的數(shù)據(jù)路徑來傳輸數(shù)據(jù),并且僅能在預定的定時上與外部存儲器進行數(shù)據(jù)傳輸。
此外,用于存儲從外部存儲器讀取的數(shù)據(jù)或要被寫到外部存儲器的數(shù)據(jù)的預定數(shù)量的內(nèi)部存儲器被安裝用于多個處理器元件,但是將由用戶配置的運算狀態(tài)是可變的,因此很難估計需要多少個內(nèi)部存儲器以及內(nèi)部存儲器需要何種輸入/輸出特性。因此在可重配置集成電路器件中,內(nèi)部存儲器的配置和操作需要很高的靈活度。
鑒于上述原因,本發(fā)明的目的在于提供一種可重配置的集成電路器件,其允許內(nèi)部存儲器的高度靈活的配置和操作。
為了達到此目的,本發(fā)明的第一方面是一種可重配置的集成電路器件,該器件基于配置數(shù)據(jù)被動態(tài)構(gòu)建為任意運算狀態(tài),該器件包括多個群集,所述群集包括多個分別具有計算單元的運算處理器元件、與外部存儲器之間進行數(shù)據(jù)傳輸?shù)木哂写鎯ζ鞯拇鎯ζ魈幚砥髟?、以及用于在任意狀態(tài)下連接運算處理器元件和存儲器處理器元件的處理器元件間開關(guān)組;群集間開關(guān)組,用于在任意狀態(tài)下構(gòu)建群集之間的數(shù)據(jù)路徑;以及外部存儲器總線,用于執(zhí)行存儲器處理器元件和外部存儲器之間的數(shù)據(jù)傳輸,其中所述運算處理器元件、存儲器處理器元件、處理器元件間開關(guān)組和群集間開關(guān)組基于配置數(shù)據(jù)而被動態(tài)改變,此外還提供了直接存儲器訪問控制部件,其響應(yīng)于從多個群集的存儲器處理器元件而來的訪問請求,通過直接存儲器訪問來執(zhí)行存儲器處理器元件和外部存儲器之間的數(shù)據(jù)傳輸。
根據(jù)第一方面,安裝在群集中的存儲器處理器元件可經(jīng)由與群集間開關(guān)組不同的外部存儲器總線,通過直接存儲器訪問與外部存儲器之間進行數(shù)據(jù)傳輸,而且可以在適于重配置后的運算狀態(tài)的定時上,對外部存儲器中的數(shù)據(jù)執(zhí)行重配置后的運算。
在本發(fā)明的第一方面中,優(yōu)選地,所述群集還包括用于存儲所述配置數(shù)據(jù)的配置數(shù)據(jù)存儲器,以及定序器,所述定序器響應(yīng)于從所述運算處理器元件和存儲器處理器元件而來的結(jié)束信號,從所述配置數(shù)據(jù)存儲器輸出用于構(gòu)建下一運算狀態(tài)的配置數(shù)據(jù)。
在本發(fā)明的第一方面中,優(yōu)選地,所述可重配置的集成電路器件還包括數(shù)據(jù)流控制部件,該數(shù)據(jù)流控制部件被安裝為所述多個存儲器處理器元件的公用部件,用于接受來自所述多個存儲器處理器元件的直接存儲器訪問請求,并向用于所述多個存儲器處理器元件的直接存儲器訪問控制部件指示同步的直接存儲器訪問請求。
在第一方面中,優(yōu)選地,所述可重配置的集成電路器件還包括數(shù)據(jù)流控制部件,該數(shù)據(jù)流控制部件被安裝為所述多個存儲器處理器元件的公用部件,用于接受來自所述多個存儲器處理器元件的直接存儲器訪問請求,并向用于所述多個存儲器處理器元件的直接存儲器訪問控制部件指示同步的直接存儲器訪問請求。通過該數(shù)據(jù)流控制部件,來自所述多個存儲器處理器元件的訪問請求可被同步執(zhí)行。
在第一方面中,所述存儲器處理器元件還包括與連接到所述處理器元件間開關(guān)組的內(nèi)部總線之間的內(nèi)側(cè)接口,以及與所述外部存儲器總線之間的外側(cè)接口,其中在所述存儲器處理器元件經(jīng)由所述外側(cè)接口通過直接存儲器訪問來訪問所述外部存儲器的同時,所述運算處理器元件經(jīng)由內(nèi)側(cè)接口來訪問存儲器處理器元件。根據(jù)該方面,可無縫地在外部存儲器和運算處理器元件之間進行數(shù)據(jù)傳輸。
在第一方面中,同樣優(yōu)選地,存儲器處理器元件在通過直接存儲器訪問與外部存儲器之間進行數(shù)據(jù)傳輸?shù)耐瑫r,接受與運算處理器元件之間的數(shù)據(jù)傳輸,當通過直接存儲器訪問的數(shù)據(jù)傳輸跟不上與運算處理器元件之間的數(shù)據(jù)傳輸時斷言(assert)一個停頓(stall)信號,以停止所述多個運算處理器元件的運算,并且在能夠跟上時取消所述停頓信號。根據(jù)該方面,當不能在所述外部存儲器和所述運算處理器元件之間進行無縫數(shù)據(jù)傳輸時,運算處理器元件的運算可被停止,以避免誤操作。
為了達到該目的,本發(fā)明的第二方面是一種可重配置的集成電路器件,該器件基于配置數(shù)據(jù)被動態(tài)配置為預定運算狀態(tài),該器件包括多個群集,所述群集包括具有計算單元的運算處理器元件、與外部存儲器之間進行數(shù)據(jù)傳輸?shù)木哂写鎯ζ鞯拇鎯ζ魈幚砥髟⒁约坝糜谠谌我鉅顟B(tài)下連接運算處理器元件和存儲器處理器元件的處理器元件間開關(guān)組;群集間開關(guān)組,用于在任意狀態(tài)下構(gòu)建群集之間的數(shù)據(jù)路徑;以及外部存儲器總線,用于執(zhí)行存儲器處理器元件和外部存儲器之間的數(shù)據(jù)傳輸,其中所述運算處理器元件、存儲器處理器元件、處理器元件間開關(guān)組和群集間開關(guān)組基于配置數(shù)據(jù)而被動態(tài)改變,此外還提供了直接存儲器訪問控制部件,其響應(yīng)于從多個群集的存儲器處理器元件而來的訪問請求,通過直接存儲器訪問來執(zhí)行存儲器處理器元件和外部存儲器之間的數(shù)據(jù)傳輸,所述存儲器處理器元件包括第一和第二存儲器庫,其中當所述第一和第二存儲器庫中的一個正在通過直接存儲器訪問與外部存儲器進行數(shù)據(jù)傳輸時,所述第一和第二存儲器庫中的另一個與運算處理器元件進行數(shù)據(jù)傳輸。
根據(jù)第二方面,可經(jīng)由不同于所述群集間開關(guān)組的外部存儲器總線,在任意定時上執(zhí)行所述外部存儲器和所述運算處理器元件之間的無縫數(shù)據(jù)傳輸。
根據(jù)本發(fā)明,安裝在每個群集中的存儲器處理器元件使得可獨立于群集之間的數(shù)據(jù)路徑,通過對外部存儲器的直接存儲器訪問實現(xiàn)數(shù)據(jù)傳輸,從而增加向可重配置集成電路器件中的存儲器處理器元件進行數(shù)據(jù)傳輸?shù)撵`活性,并且可以高效地完成數(shù)據(jù)傳輸。
圖1是描述了構(gòu)成根據(jù)本實施例的可重配置集成電路器件的一部分的一個群集(cluster)的框圖;圖2是描述了根據(jù)本實施例的PE網(wǎng)絡(luò)部件的配置示例的示意圖;圖3是描述了根據(jù)本實施例的根據(jù)PE網(wǎng)絡(luò)部件的配置數(shù)據(jù)配置的電路的配置示例的示意圖;圖4是描述了根據(jù)本實施例的根據(jù)PE網(wǎng)絡(luò)部件的配置數(shù)據(jù)配置的電路的配置示例的示意圖;圖5是描述了根據(jù)本實施例的可重配置集成電路器件的框圖;圖6是描述了根據(jù)本實施例的存儲器處理器元件的示例的框圖;圖7A-7C是描述了根據(jù)本實施例的存儲器處理器元件中的兩個存儲器庫(memory bank)的切換操作的示意圖;圖8A-8C是描述了根據(jù)本實施例的存儲器處理器元件中的兩個存儲器庫的切換操作的示意圖;圖9A-9C是描述了根據(jù)本實施例的存儲器處理器元件中的兩個存儲器庫的切換操作的示意圖;圖10A-10C是描述了根據(jù)本實施例的存儲器處理器元件中的兩個存儲器庫的切換操作的示意圖;圖11A-11C是描述了根據(jù)本實施例的存儲器處理器元件中的兩個存儲器庫的切換操作的示意圖;圖12是描述了根據(jù)本實施例的存儲器處理器元件的控制部件的框圖;圖13是根據(jù)本實施例的存儲器處理器元件的控制部件的狀態(tài)轉(zhuǎn)換圖;圖14A-14B是描述了訪問結(jié)束寄存器的標志改變控制的示意圖;圖15A-15B是描述了存儲器PE中的外側(cè)接口的示意圖;以及圖16是描述了存儲器PE中的外側(cè)接口的示意圖。
具體實施例方式
現(xiàn)在參照附圖描述本發(fā)明的實施例。但是,本發(fā)明的技術(shù)范圍將不局限于這些實施例,而是延伸到權(quán)利要求及其等同物的內(nèi)容。
圖1是構(gòu)成了根據(jù)本實施例的可重配置集成電路器件的一部分的一個群集的框圖。群集10包括定序器SEQ,用于執(zhí)行狀態(tài)管理;配置數(shù)據(jù)存儲器14,用于存儲配置數(shù)據(jù)CD;以及將根據(jù)配置數(shù)據(jù)CD而被配置為任意電路配置的處理器元件網(wǎng)絡(luò)部件16。在配置數(shù)據(jù)存儲器14中,配置數(shù)據(jù)CD是從配置數(shù)據(jù)加載部件(未示出)加載的。
處理器元件網(wǎng)絡(luò)部件16包括多個處理器元件(此后常稱為PE)PE0-PE5;PE間開關(guān)20,這一組開關(guān)是用于連接PE的選擇器;以及輸入端口部件22和輸出端口部件24,它們是與其他群集之間進行數(shù)據(jù)傳輸?shù)慕涌?。輸入端口部?2和輸出端口部件24連接到群集間開關(guān)組30。根據(jù)圖1中的示例,處理器元件PE0-PE3都是運算PE,并且每一個的內(nèi)部具有ALU、加法器、比較器。處理器元件PE4是另一個PE,例如延遲電路或計數(shù)器,而處理器元件PE5是內(nèi)部具有RAM的存儲器PE。
配置數(shù)據(jù)CD0-CD5從配置數(shù)據(jù)存儲器14被提供給處理器元件PE0-PE5,并且配置數(shù)據(jù)被存儲在這些PE中的寄存器(未示出)中?;谠谶@些寄存器中設(shè)置的配置數(shù)據(jù)CD0-CD5,每個PE中的電路被動態(tài)地配置。同樣地,配置數(shù)據(jù)CD還從配置數(shù)據(jù)存儲器14被提供到PE間開關(guān)組20,而且基于該數(shù)據(jù),所需的內(nèi)部開關(guān)組結(jié)構(gòu)被配置并且PE之間的數(shù)據(jù)路徑被動態(tài)配置。群集間開關(guān)組30也基于配置數(shù)據(jù)CD被動態(tài)配置,而且群集之間的數(shù)據(jù)路徑也被配置。
群集中的存儲器處理器元件PE5可經(jīng)由PE間開關(guān)組20與PE0-PE4中每一個進行數(shù)據(jù)傳輸。因此,存儲器處理器元件PE5連接到內(nèi)部總線I-BUS。存儲器處理器元件PE5可經(jīng)由外部總線E-BUS1和E-BUS2與外部存儲器E-MEM直接進行數(shù)據(jù)傳輸,該存儲器訪問是通過直接存儲器訪問控制部件DMAC的控制,經(jīng)由與群集間開關(guān)組30不同的總線而直接進行的。因此,存儲器處理器元件PE5可與外部存儲器E-MEM直接進行數(shù)據(jù)傳輸,而且可以在與群集間的數(shù)據(jù)路徑操作無關(guān)的定時上進行數(shù)據(jù)傳輸。
每個結(jié)束信號CS0-CS5分別從每個處理器元件PE0-PE5輸出,切換信號生成部件12基于這些結(jié)束信號輸出切換信號SW1。響應(yīng)于該切換信號SW1,定序器SEQ輸出新地址Add和切換信號SW2到配置數(shù)據(jù)存儲器14,響應(yīng)于此,新配置數(shù)據(jù)被輸出,PE網(wǎng)絡(luò)部件16中的電路配置被重新配置。
圖2是示出了根據(jù)本實施例的PE網(wǎng)絡(luò)部件的配置示例的示意圖。運算處理器元件PE0-PE3、存儲器處理器元件PE5和其他處理器元件PE4可經(jīng)由選擇器41(PE間開關(guān)組20中的一個開關(guān))連接。在該配置中,每個處理器元件PE0-PE5可基于配置數(shù)據(jù)CD0-CD5被配置為任意一種配置,PE間開關(guān)組20的選擇器41也可基于配置數(shù)據(jù)CD被配置為任意一種配置。
如圖2右下角所例示的那樣,選擇器41包括寄存器42,用于存儲配置數(shù)據(jù)CD;選擇器電路43,用于根據(jù)寄存器42的數(shù)據(jù)來選擇輸入;以及觸發(fā)器44,其與時鐘CK同步地鎖存選擇器電路43的輸出。
圖3和圖4是根據(jù)本實施例描述了根據(jù)PE網(wǎng)絡(luò)部件的配置數(shù)據(jù)配置的電路配置示例的示意圖。在圖3和圖4中,可動態(tài)配置運算電路的運算處理器元件PE0-PE3和PE6被PE間開關(guān)組20連接,并且被配置為高速執(zhí)行預定運算的專用運算電路。處理器元件PE6未在圖1和圖2中示出。
圖3中的示例是當對輸入數(shù)據(jù)a、b、c、d、e和f執(zhí)行下列算術(shù)表達式的專用運算電路被配置時的示例。
(a+b)+(c-d)+(e+f)根據(jù)該配置的示例,處理器元件PE0被配置為A=a+b運算電路,處理器元件PE1被配置為B=c-d運算電路,處理器元件PE2被配置為C=e+f運算電路,處理器元件PE3被配置為D=A+B運算電路,處理器元件PE6被配置為E=D+C運算電路。數(shù)據(jù)a~f中的每一個從存儲器處理器元件和外部群集(未示出)被提供,處理器元件PE6的輸出作為運算結(jié)果E被輸出到存儲器處理器元件和外部群集。
處理器元件PE0、PE1和PE2并行執(zhí)行運算,處理器元件PE3對上面的運算結(jié)果執(zhí)行運算D=A+B,最后處理器元件PE6執(zhí)行運算E=D+C。以此方式,通過配置專用運算電路實現(xiàn)了并行運算,從而提高了運算處理效率。
每個運算處理器元件都具有內(nèi)建的ALU、加法器、乘法器和比較器,并且可基于配置數(shù)據(jù)CD被重配置為任意運算電路。通過如圖3所示進行配置,可配置用于執(zhí)行上述專用運算的專用運算電路。并且通過配置這樣的專用運算電路,多個運算可被并行執(zhí)行,從而可提高運算效率。
圖4的示例是當對輸入數(shù)據(jù)a~d執(zhí)行(a+b)*(c-d)運算的專用運算電路被配置時的示例。處理器元件PE0被配置為A=a+b運算電路,處理器元件PE1被配置為B=c-d運算電路,處理器元件PE3被配置為C=A*B運算電路,運算結(jié)果C被輸出到存儲器處理器元件或外部群集。在此情形下,同樣地,處理器元件PE0和PE1并行執(zhí)行運算,處理器元件PE3對其運算結(jié)果A和B執(zhí)行運算C=A*B。因此,通過配置專用運算電路,上述運算效率可被提高,而且對大量數(shù)據(jù)的運算效率也可提高。
圖5是描述根據(jù)本實施例的可重配置集成電路器件的框圖。在圖5中,安裝了多個群集CLS0-CLS3,用于連接這些群集的群集間開關(guān)組30被安置在這些群集之間。通過根據(jù)配置數(shù)據(jù)CD來配置該群集間開關(guān)組30,可動態(tài)地配置一個組合了多個群集的任意運算電路。
在圖5的示例中,存儲器處理器元件PE-RAM被安裝在群集CLS0-CLS3的每一個中。在一個群集中,可根據(jù)情況安裝多個存儲器處理器元件或不安裝存儲器處理器元件。這些存儲器處理器元件經(jīng)由外部總線E-BUS1連接到直接訪問控制部件DMAC,并經(jīng)由訪問控制部件DMAC通過直接存儲器訪問來執(zhí)行與外部存儲器E-MEM之間的數(shù)據(jù)傳輸。關(guān)于外部存儲器E-MEM,例如DDR-SDRAM(雙數(shù)據(jù)率同步DRAM)被用作高速存儲器的示例。此外,安裝一個公共數(shù)據(jù)流控制部件40用于多個存儲器處理器元件PE-RAM。每個存儲器處理器元件發(fā)出訪問請求DR0-DR3,響應(yīng)于該訪問請求,數(shù)據(jù)流控制部件40發(fā)送訪問命令到控制部件DMAC,從而通過DMA與發(fā)送了訪問請求的存儲器處理器元件執(zhí)行數(shù)據(jù)傳輸。
數(shù)據(jù)流控制部件40接受來自多個存儲器處理器元件的訪問請求,并同步地執(zhí)行多個存儲器處理器元件和外部存儲器之間的DMA數(shù)據(jù)傳輸。換言之,訪問控制部件DMAC基于來自數(shù)據(jù)流控制部件40的訪問命令ACMD,通過輪轉(zhuǎn)方式(round-robin)來同步執(zhí)行與多個存儲器處理器元件之間的DMA數(shù)據(jù)傳輸。
以此方式,群集中的存儲器處理器元件以DMA方式從外部存儲器E-MEM傳輸數(shù)據(jù),該數(shù)據(jù)將被利用群集中的運算處理器元件配置的運算電路處理,并將處理后的數(shù)據(jù)以DMA方式傳輸?shù)酵獠看鎯ζ鱁-MEM。這種DMA方式的傳輸由外部總線E-BUS1和E-BUS2直接執(zhí)行,所述外部總線獨立于用于連接群集的群集間開關(guān)組30。因此,在可重配置集成電路器件中,即使群集間開關(guān)組30的連接結(jié)構(gòu)是動態(tài)改變的,也可以在每個存儲器處理器元件所需的定時上,經(jīng)由獨立于群集間開關(guān)組30的路徑來在每個存儲器處理器元件和外部存儲器之間進行數(shù)據(jù)傳輸,并且可以為動態(tài)配置的群集或者為多個群集實現(xiàn)最優(yōu)數(shù)據(jù)傳輸。
圖6是描述了根據(jù)本實施例的存儲器處理器元件的示例的框圖。為了實現(xiàn)在外部存儲器和群集中的運算處理器元件之間的無縫數(shù)據(jù)傳輸,存儲器處理器元件包括第一存儲器庫BNK0和第二存儲器庫BNK1,還包括這些存儲器庫和PE間開關(guān)組20之間的內(nèi)側(cè)接口50,以及這些存儲器庫和外部總線E-BUS1之間的外側(cè)接口52。存儲器庫BNK0和BNK1分別包括四個16位寬RAM。內(nèi)側(cè)接口50連接到與PE間開關(guān)組20相連接的內(nèi)部總線I-BUS,基于配置數(shù)據(jù)CD被動態(tài)配置為不同的輸入/輸出總線接口結(jié)構(gòu)。外側(cè)接口52連接到外部總線E-BUS1,并且也基于配置數(shù)據(jù)CD而被動態(tài)配置為不同的輸入/輸出總線接口結(jié)構(gòu)。有關(guān)將被配置的輸入/輸出總線接口結(jié)構(gòu)的細節(jié)將在后面描述。
在第一存儲器庫BNK0和第二存儲器庫BNK1中,當一個存儲器庫正在與內(nèi)部運算處理器元件PE/ALU進行數(shù)據(jù)傳輸時,另一個則與外部存儲器E-MEM進行數(shù)據(jù)傳輸,而且兩個存儲器庫還可以交替執(zhí)行數(shù)據(jù)傳輸。因此,選擇器SEL被安裝在存儲器庫BNK0、BNK1與內(nèi)側(cè)接口50、外側(cè)接口52之間,這些選擇器SEL根據(jù)配置數(shù)據(jù)CD被設(shè)置。于是,第一和第二存儲器庫可被交替連接到內(nèi)側(cè)和外側(cè)接口。接口50和52與每個存儲器庫BNK0和BNK1之間的信號線都包括16位數(shù)據(jù)線、地址線和所有其他必要的控制線。
存儲器處理器元件內(nèi)部包括存儲器控制部件54,用于控制存儲器庫的切換和控制DMA請求;以及運算控制部件56,用于執(zhí)行對內(nèi)部運算處理器元件PE/ALU的運算執(zhí)行控制。存儲器控制部件54監(jiān)視存儲器庫的狀態(tài),并執(zhí)行對存儲器庫的切換控制、DMA請求、以及對用于停止運算處理器元件的操作的停頓信號STR的斷言和取消,從而實現(xiàn)外部存儲器和內(nèi)部運算處理器元件之間的無縫數(shù)據(jù)傳輸。響應(yīng)于該停頓信號STR,運算控制部件56控制運算處理器元件操作的開始和停止。
圖7A-7C和圖8A-8C是描述了本實施例的存儲器處理器元件中的兩個存儲器庫的切換操作的示意圖。在圖7A-7C和圖8A-8C中,在存儲器處理器元件PE/RAM中示出了兩個存儲器庫BNK0、BNK1和訪問結(jié)束寄存器END-REG,其中訪問結(jié)束控制器被存儲器控制部件54(見圖6)用來控制存儲器庫的切換。存在兩個訪問結(jié)束寄存器END-REG,其中分別存儲用于指示第一和第二存儲器庫的訪問狀態(tài)的標志,例如,當存儲器訪問結(jié)束并且接收到結(jié)束信號時,該標志被設(shè)置為結(jié)束狀態(tài)“0”,而當存儲器庫進入訪問使能狀態(tài)(就緒)時,該標志被設(shè)置為就緒狀態(tài)“1”。通過監(jiān)視這兩個寄存器值,存儲器控制部件54(見圖6)控制兩個存儲器庫BNK0和BNK1的切換。
現(xiàn)在參照圖6、圖7A-7C和圖8A-8C描述初始啟動后的操作。在啟動時,定序器SEQ在復位被清零后輸出對應(yīng)于初始啟動的地址,并且用于初始啟動的配置數(shù)據(jù)從配置數(shù)據(jù)存儲器14(圖6)輸出,群集中的處理器元件PE和PE間開關(guān)組20被配置為初始電路配置。通過該初始啟動,初始值被設(shè)置在訪問結(jié)束寄存器END-REG中,如圖7A所示。在該示例中,第一存儲器庫BNK0的寄存器處于就緒狀態(tài)(標志是“0”),而第二存儲器庫BNK1的寄存器處于訪問結(jié)束狀態(tài)(標志是“1”)。通過該初始啟動,選擇器SEL被配置以使得第一存儲器庫BNK0連接到外側(cè)接口52,而第二存儲器庫BNK1連接到內(nèi)側(cè)接口50。
在初始啟動之后,存儲器控制部件54查閱訪問結(jié)束寄存器,并輸出對外部存儲器的訪問請求DMAR。如上所述,訪問請求DMAR經(jīng)由數(shù)據(jù)流控制部件40(圖5)被發(fā)送到直接存儲器訪問控制部件DMAC,在外部存儲器E-MEM和第一存儲器庫BNK0之間開始了直接數(shù)據(jù)傳輸。具體而言,從外部存儲器E-MEM讀取的數(shù)據(jù)經(jīng)由外部總線被直接傳輸和寫入第一存儲器庫BNK0。如上所述,初始啟動時的訪問請求DMAR從多個存儲器處理器元件輸出,因此利用多個直接存儲器訪問的數(shù)據(jù)傳輸被同步執(zhí)行。
然后,如圖7B所示,當從外部存儲器E-MEM到第一存儲器庫BNK0的數(shù)據(jù)傳輸結(jié)束時,從DMA控制部件DMAC發(fā)送訪問結(jié)束信號END1,響應(yīng)于此,訪問結(jié)束寄存器END-REG中對應(yīng)于第一存儲器庫的位變?yōu)樵L問結(jié)束狀態(tài)(標志“1”)。以此方式,當兩個寄存器都變?yōu)樵L問結(jié)束狀態(tài)(標志“1”)時,存儲器控制部件54發(fā)出狀態(tài)結(jié)束信號CS,使得定序器SEQ輸出下一地址Add并使得配置數(shù)據(jù)存儲器14輸出新的配置數(shù)據(jù)CD,從而切換第一存儲器庫BNK0和第二存儲器庫BNK1。換言之,第二存儲器庫BNK1連接到外側(cè)接口52,第一存儲器庫BNK0連接到內(nèi)側(cè)接口50。
然后,如圖7C所示,當兩個存儲器庫被切換時,存儲器控制部件54清零訪問結(jié)束寄存器END-REG,從而將兩個存儲器庫都設(shè)置為就緒狀態(tài)(標志“0”)。響應(yīng)于該狀態(tài),存儲器控制部件54輸出訪問請求DMAR到外部存儲器,基于該訪問請求,DMA控制部件DMAC控制外部存儲器E-MEM和第二存儲器庫BNK1之間的數(shù)據(jù)傳輸。在此情形下的訪問控制DMAR是在存儲器處理器元件需要進行訪問的定時上發(fā)出的,這與初始啟動時是不同的,因此數(shù)據(jù)傳輸根據(jù)需要而執(zhí)行。同時,存儲器控制部件54輸出信號ALU-EN,該信號指示了內(nèi)部運算處理器元件可被執(zhí)行,響應(yīng)于此,運算控制部件56輸出運算開始信號ALU-ST到內(nèi)部運算處理器元件PE/ALU,并開始運算處理器元件的運算處理。于是,內(nèi)部運算處理器元件PE/ALU訪問第一存儲器庫BNK0,讀取數(shù)據(jù),并對讀取的數(shù)據(jù)執(zhí)行運算處理。
然后,如圖8A所示,當?shù)诙鎯ζ鲙霣NK1和外部存儲器E-MEM之間的數(shù)據(jù)傳輸結(jié)束時,響應(yīng)于訪問結(jié)束信號END1,訪問結(jié)束寄存器END-REG被設(shè)置為訪問結(jié)束狀態(tài)(標志“1”)。通常,與外部存儲器之間的直接存儲器訪問具有較寬的數(shù)據(jù)總線寬度,因此是高速數(shù)據(jù)傳輸,并且在與內(nèi)部運算處理器元件間的數(shù)據(jù)傳輸之前結(jié)束。
如圖8B所示,來自內(nèi)部運算處理器元件PE/ALU的訪問也結(jié)束了,訪問結(jié)束寄存器END-REG的另一標志也被訪問結(jié)束信號END2設(shè)置為訪問結(jié)束狀態(tài)(標志“1”)。響應(yīng)于此,存儲器控制部件54輸出狀態(tài)結(jié)束信號CS,并根據(jù)從配置數(shù)據(jù)存儲器14輸出的配置數(shù)據(jù)CD,替換第一存儲器庫BNK0和第二存儲器庫BNK1與內(nèi)側(cè)和外側(cè)接口之間的連接。
如圖8C所示,存儲器控制部件54再次輸出直接存儲器訪問請求DMAR,開始第一存儲器庫BNK0和外部存儲器E-MEM之間的數(shù)據(jù)傳輸,運算控制部件56輸出運算開始信號ALU-ST并開始從內(nèi)部運算處理器元件PE/ALU到第2存儲器庫BNK1的訪問。
如上所述,通過交替切換第一和第二存儲器庫,存儲器控制部件54實現(xiàn)從外部存儲器E-MEM到內(nèi)部運算處理器元件的無縫數(shù)據(jù)傳輸。具體而言,與外部存儲器之間的直接存儲器訪問比內(nèi)部運算處理器元件的訪問快,因此運算處理器元件可無縫地讀取和處理數(shù)據(jù)。
圖9A-9C是描述了根據(jù)本實施例的存儲器處理器元件中的兩個存儲器庫的切換操作的示意圖。這里將描述在無縫數(shù)據(jù)傳輸出現(xiàn)問題時的控制。由于與外部存儲器之間的直接數(shù)據(jù)傳輸以高速進行,因此通常一個存儲器庫在另一個存儲器庫結(jié)束與內(nèi)部運算PE間的數(shù)據(jù)傳輸之前就結(jié)束了與外部存儲器間的數(shù)據(jù)傳輸。當與內(nèi)部運算PE間的數(shù)據(jù)傳輸完成時,執(zhí)行存儲器庫切換控制,于是可實現(xiàn)在外部存儲器和內(nèi)部運算PE之間的無縫數(shù)據(jù)傳輸。但是由于某些原因,有些情形下與內(nèi)部運算PE之間的數(shù)據(jù)傳輸先完成。
如圖9A所示,如果從第一存儲器庫BNK0到內(nèi)部運算PE的數(shù)據(jù)傳輸先結(jié)束,則訪問結(jié)束寄存器END-REG被結(jié)束信號END2設(shè)置為訪問結(jié)束狀態(tài)(標志“1”)。響應(yīng)于此,存儲器控制部件54向運算控制部件56斷言一個停頓信號STR,于是運算PE陣列暫時停止其流水線處理。換言之,當不能從存儲器PE讀取數(shù)據(jù)時,運算PE陣列的流水線處理無法進行,運算處理開始出現(xiàn)問題。
如圖9B所示,當?shù)诙鎯ζ鲙霣NK1的數(shù)據(jù)傳輸完成時,訪問結(jié)束寄存器END-REG被結(jié)束信號END1設(shè)置為訪問結(jié)束狀態(tài)。于是,存儲器控制部件54輸出狀態(tài)結(jié)束信號CS,并根據(jù)配置數(shù)據(jù)CD切換存儲器庫。然后,如圖9C所示,存儲器控制部件54輸出訪問請求DMAR,使得第一存儲器庫BNK0開始與外部存儲器之間的數(shù)據(jù)傳輸,取消停頓信號STR,并重新開始內(nèi)部運算PE陣列的操作,于是,第二存儲器庫BNK1開始與內(nèi)部運算PE之間的數(shù)據(jù)傳輸。
以此方式,專用運算電路被配置,并且數(shù)據(jù)運算處理被流水線式處理,于是在存儲器控制部件54監(jiān)視兩個存儲器庫的訪問狀態(tài)并且數(shù)據(jù)的無縫傳輸被禁止時,存儲器控制部件54斷言一個停頓信號STR,以停止對內(nèi)部運算PE的流水線處理。這樣,可以避免流水線處理可能出現(xiàn)的問題。當無縫傳輸被使能時,存儲器控制部件54取消停頓信號STR,并重新開始流水線處理。
圖10A-10C和圖11A-11C是描述了存儲器處理器元件中的兩個存儲器庫的切換操作的示意圖。這是在執(zhí)行經(jīng)由存儲器PE從內(nèi)部運算PE到外部存儲器E-MEM的數(shù)據(jù)傳輸時的示例。
在圖10A中,運算PE向第一存儲器庫BNK0寫數(shù)據(jù)。在圖10B中,當數(shù)據(jù)寫完成時,兩個訪問結(jié)束寄存器END-REG都變?yōu)樵L問結(jié)束狀態(tài)(標志“1”)。響應(yīng)于此,存儲器控制部件54輸出狀態(tài)結(jié)束信號CS,并基于配置數(shù)據(jù)CD來切換兩個存儲器庫。如圖10C所示,第一存儲器庫BNK0通過訪問請求DMAC開始與外部存儲器之間的直接數(shù)據(jù)傳輸,通過到運算PE的運算開始信號ALU-ST開始從運算PE到第二存儲器庫BNK1的數(shù)據(jù)寫。
然后,如圖11A所示,第一存儲器庫BNK0的數(shù)據(jù)傳輸首先完成,從運算PE的數(shù)據(jù)寫如圖11B所示結(jié)束。于是,存儲器控制部件54切換兩個存儲器庫,交換后的存儲器庫的數(shù)據(jù)傳輸如圖11C所示分別開始。
如上所述,從運算PE到外部存儲器的數(shù)據(jù)傳輸也經(jīng)由存儲器PE被無縫執(zhí)行。如果無縫數(shù)據(jù)傳輸被中途禁止,則停頓信號STR被取消,運算PE陣列停止流水線處理,并且在數(shù)據(jù)傳輸被使能時重新開始流水線處理。
圖12是描述了根據(jù)本實施例的存儲器處理器元件的控制部件的框圖。圖13是其控制部件的狀態(tài)轉(zhuǎn)換圖。在圖12的示例中,同一群集中的存儲器單元60具有多個存儲器處理器元件RAM-PE0~PEn,運算處理器元件的陣列PE/ALU陣列被配置為與存儲器處理器元件RAM-PE0~PEn中的每一個相對應(yīng)。每個存儲器PE包括作為存儲器控制部件54的庫切換控制部件541和DMA傳輸執(zhí)行判斷部件542,還具有作為運算控制部件56的ALU運算執(zhí)行判斷部件561。多個存儲器PE共享作為運算控制部件56的ALU運算控制部件562,DMA傳輸控制部件543被提供為存儲器控制部件54。存儲器PE中的第一存儲器庫BNK0和第二存儲器庫BNK1被配置為經(jīng)由外部總線交替地與訪問控制部件DMAC進行數(shù)據(jù)傳輸,以及經(jīng)由群集中的PE間開關(guān)組PE-SW交替地與運算處理器元件陣列PE/ALU陣列進行數(shù)據(jù)傳輸。
下面將參照圖13中的狀態(tài)轉(zhuǎn)換圖描述控制流。如上所述,第一存儲器處理器元件RAM-PE啟動,并基于配置數(shù)據(jù)CD被配置為所需電路配置(C10)。通過所述啟動,訪問結(jié)束寄存器END-REG被設(shè)置為初始值標志,存儲器庫通過該標志狀態(tài)變?yōu)槌跏紶顟B(tài)(C12)。
在存儲器處理器元件RAM-PE啟動之后的操作期間,庫切換控制部件541根據(jù)訪問結(jié)束寄存器END-REG的狀態(tài)(都是標志“1”)來控制存儲器庫的切換(C12),從而切換存儲器庫(C14)。當存儲器庫被切換時,運算PE的電路配置可被相應(yīng)地轉(zhuǎn)換(C12、C14)。
當存儲器庫被切換時,DMA傳輸執(zhí)行判斷部件542判斷到外部存儲器的數(shù)據(jù)傳輸是否可能,如果數(shù)據(jù)傳輸可被執(zhí)行,則DMA傳輸執(zhí)行判斷部件542向安裝在存儲器PE外部的DMA傳輸控制部件543輸出DMA傳輸使能信號DMA-EN(C16)。是否可以進行數(shù)據(jù)傳輸取決于指示存儲器庫狀態(tài)的訪問結(jié)束寄存器END-REG的狀態(tài)。相應(yīng)的DMA傳輸控制部件543經(jīng)由數(shù)據(jù)流控制部件40(未示出,見圖5)輸出訪問請求到訪問控制部件DMAC(C18),數(shù)據(jù)傳輸被執(zhí)行(C20)。當與外部存儲器的數(shù)據(jù)傳輸結(jié)束時,DMA傳輸控制部件543接收數(shù)據(jù)傳輸結(jié)束信號END1,數(shù)據(jù)傳輸結(jié)束信號END10被發(fā)送到庫切換控制部件541。然后,根據(jù)訪問結(jié)束寄存器END-REG的狀態(tài)執(zhí)行上述庫切換控制(C12)。
另一方面,當存儲器庫被切換時,ALU運算執(zhí)行判斷部件561基于訪問結(jié)束寄存器END-REG來監(jiān)視存儲器庫的狀態(tài),并判斷從運算PE的訪問是否可能,即,運算PE是否可執(zhí)行運算處理(C22)。如果執(zhí)行是可能的,則ALU運算執(zhí)行判斷部件561輸出運算執(zhí)行使能信號ALU-EN。
僅當從所有存儲器處理器元件RAM-PE0~PEn都接收到運算執(zhí)行使能信號ALU-EN時,ALU運算控制部件562輸出運算開始信號ALU-ST到群集中的所有運算PE陣列(C24),并使得所有運算PE陣列同步執(zhí)行運算處理(C26)。換言之,群集中的多個運算PE陣列必須在執(zhí)行與多個存儲器PE的數(shù)據(jù)傳輸?shù)耐瑫r同步執(zhí)行流水線處理,因此一個ALU運算控制部件562被安裝為多個存儲器PE的公用部件,并且僅當從所有存儲器PE接收到運算執(zhí)行使能信號ALU-EN時,ALU運算控制部件562才向多個運算PE陣列輸出運算開始信號ALU-ST。ALU運算執(zhí)行判斷部件561監(jiān)視存儲器庫的狀態(tài),如果數(shù)據(jù)傳輸不能無縫地進行,則ALU運算執(zhí)行判斷部件561斷言一個停頓信號STR,并停止運算PE陣列的流水線處理。停頓信號STR如上所述。
當運算處理完成時,到運算PE側(cè)的存儲器庫的訪問結(jié)束,于是從運算PE接收結(jié)束信號END2,ALU運算執(zhí)行判斷部件561取消運算執(zhí)行使能信號ALU-EN。通過該結(jié)束信號END2,訪問結(jié)束寄存器END-REG的標志狀態(tài)被改變,存儲器庫被切換或者運算PE的配置改變被相應(yīng)地控制和執(zhí)行(C12、C14)。
在圖13中,虛線那的狀態(tài)轉(zhuǎn)換示出了存儲器PE的狀態(tài)轉(zhuǎn)換,其左側(cè)示出了DMA傳輸控制部件543和直接存儲器訪問控制部件DMAC的狀態(tài),其右側(cè)示出了ALU運算控制部件562和運算PE陣列的狀態(tài)。
在圖12和圖13中,DMA傳輸控制部件543基于DMA傳輸執(zhí)行判斷部件542輸出的DMA傳輸使能信號DMA-EN輸出DMA請求,但是DMA傳輸控制部件543可檢查直接存儲器訪問控制部件DMAC接受的信道狀態(tài),從而判斷DMA傳輸是否可被執(zhí)行,即DMA傳輸執(zhí)行定時是否合適,如果合適的話則輸出DMA請求。這樣,當直接存儲器訪問控制部件DMAC的信道數(shù)量超過預定數(shù)量而且定時不適于發(fā)送DMA請求時,可停止對DMA請求的發(fā)送,直到信道數(shù)量變?yōu)轭A定數(shù)量或少于預定數(shù)量,并且DMA傳輸定時可被延遲。DMA傳輸使能信號DMA-EN是根據(jù)訪問結(jié)束寄存器END-REG的狀態(tài)生成的,因此對延遲DMA傳輸定時的這一控制是很重要的。
在圖13中,當運算處理器元件陣列的操作結(jié)束時(C26),新的配置數(shù)據(jù)從定序器輸出,運算PE的配置數(shù)據(jù)被改變(C12)。在必要時,配置數(shù)據(jù)被切換。
圖14A-14B是描述了訪問結(jié)束寄存器的標志改變控制的示意圖。圖14A示出了當存儲器庫BNK0/1連接到內(nèi)側(cè)(運算PE陣列側(cè))時的標志改變控制。用于訪問的地址Add從運算PE陣列側(cè)被提供給存儲器庫BNK,相應(yīng)的訪問被執(zhí)行。該訪問地址Add也被提供給存儲器控制部件54中的比較器70。當電路被基于配置數(shù)據(jù)配置時將被訪問的結(jié)束地址E-Add已被預先設(shè)置在比較器70中。每次地址有效信號Valid(該信號指示附接到訪問地址的地址是否有效)變?yōu)橛行В容^器70就比較訪問地址Add和結(jié)束地址E-Add,并且如果它們匹配則將訪問結(jié)束寄存器END-REG的標志變?yōu)椤?”。
作為另一控制方法,響應(yīng)于來自運算PE陣列的結(jié)束信號END2,訪問結(jié)束寄存器END-REG的標志可被變?yōu)榻Y(jié)束狀態(tài)“1”。在任一情形下,當內(nèi)側(cè)和外側(cè)存儲器庫被切換時,訪問結(jié)束寄存器END-REG的標志都被設(shè)置為就緒狀態(tài)“0”。
圖14B示出了當存儲器庫0/1連接到外側(cè)(外部存儲器E-MEM側(cè))時的標志改變控制。在此情形下,訪問地址Add被從訪問控制部件DMAC提供。響應(yīng)于來自訪問控制部件DMAC的結(jié)束信號END1,存儲器控制部件54將訪問結(jié)束寄存器END-REG的標志變?yōu)榻Y(jié)束狀態(tài)“1”,當存儲器庫的內(nèi)側(cè)和外側(cè)被切換時,存儲器控制部件54響應(yīng)于切換結(jié)束信號END-SW將訪問結(jié)束寄存器END-REG的標志設(shè)置為就緒狀態(tài)“0”。
此外,訪問結(jié)束寄存器END-REG的結(jié)束狀態(tài)通過重置被清零并且被設(shè)置為就緒狀態(tài)。
圖15A-15B和16是描述了存儲器PE中的外側(cè)接口的示意圖。外側(cè)接口52連接到外部總線E-BUS1,并基于配置數(shù)據(jù)CD被動態(tài)配置為不同的輸入/輸出總線接口結(jié)構(gòu)。通常,用于直接存儲器訪問的外部總線E-BUS1具有較寬的總線寬度。例如,在外部存儲器E-MEM是32位DDR-SDRAM時,數(shù)據(jù)在一個時鐘周期內(nèi)被輸出兩次,因此外部總線E-BUS1的總線寬度是64位。在此情形下,外側(cè)接口52的電路被配置為使得64位數(shù)據(jù)并行地輸入到存儲器庫BNK中的四個16位RAM,或并行地從存儲器庫BNK中的四個16位RAM輸出。
圖15A示出了當外部總線E-BUS1的總線寬度是16位時的外側(cè)接口。如上所述,64位數(shù)據(jù)被并行地輸入到四個16位RAM,或并行地從四個16位RAM輸出。
圖15B示出了當總線寬度為32位時的情形,接口被配置為使得32位數(shù)據(jù)被并行地輸入兩組RAM,或并行地從這兩組RAM輸出,其中每組由兩個16位RAM構(gòu)成。向每組的兩個RAM輸入16位數(shù)據(jù)和從每組的兩個RAM輸出16位數(shù)據(jù)的接口是串行的。
圖16示出了當總線帶寬是16位并且接口被配置為使得16位數(shù)據(jù)被串行輸入四個16位RAM或被串行輸出四個16位RAM。圖16中接口52的配置與內(nèi)側(cè)接口的配置相同。換言之,內(nèi)側(cè)接口被配置為圖16所示的配置,因為運算PE陣列側(cè)的內(nèi)部總線寬度較窄,即16位。因此,內(nèi)側(cè)接口50被配置為使得16位數(shù)據(jù)被串行輸入四個16位RAM或被串行輸出四個16位RAM。
以此方式,對存儲器PE中的接口50和52進行配置,以和基于配置數(shù)據(jù)CD而連接的總線的配置相匹配。
如上所述,根據(jù)本實施例,包括多個運算PE和存儲器PE的多組群集被布置在可通過動態(tài)改變電路配置而被配置的集成電路器件中,群集通過連接狀態(tài)被動態(tài)改變的開關(guān)組互連,獨立于該群集間開關(guān)組,群集中的存儲器PE與外部存儲器連接。存儲器PE可執(zhí)行與外部存儲器的DMA傳輸。存儲器PE例如還是雙緩沖器配置,從而可在外部存儲器和運算PE之間進行無縫數(shù)據(jù)傳輸,如果數(shù)據(jù)傳輸出現(xiàn)問題,則運算PE陣列的流水線操作暫時停止。
本發(fā)明基于2005年8月2日提交的在先日本專利申請No.2005-224208并要求享受其優(yōu)先權(quán),該在先申請的全部內(nèi)容通過引用而包含于此。
權(quán)利要求
1.一種可重配置的集成電路器件,該器件基于配置數(shù)據(jù)被動態(tài)配置為任意運算狀態(tài),該器件包括多個群集,所述群集還包括多個分別具有計算單元的運算處理器元件、與外部存儲器之間進行數(shù)據(jù)傳輸?shù)木哂写鎯ζ鞯拇鎯ζ魈幚砥髟?、以及用于在任意狀態(tài)下連接所述運算處理器元件和所述存儲器處理器元件的處理器元件間開關(guān)組;群集間開關(guān)組,用于在任意狀態(tài)下配置所述群集之間的數(shù)據(jù)路徑;以及外部存儲器總線,用于執(zhí)行所述存儲器處理器元件和所述外部存儲器之間的數(shù)據(jù)傳輸,其中所述運算處理器元件、所述存儲器處理器元件、所述處理器元件間開關(guān)組和所述群集間開關(guān)組基于所述配置數(shù)據(jù)而被動態(tài)改變,所述器件還包括直接存儲器訪問控制部件,其響應(yīng)于從所述多個群集的存儲器處理器元件而來的訪問請求,通過直接存儲器訪問來執(zhí)行所述存儲器處理器元件和所述外部存儲器之間的數(shù)據(jù)傳輸。
2.如權(quán)利要求1所述的可重配置的集成電路器件,其中所述群集還包括用于存儲所述配置數(shù)據(jù)的配置數(shù)據(jù)存儲器,以及定序器,該定序器響應(yīng)于從所述運算處理器元件和存儲器處理器元件而來的結(jié)束信號,從所述配置數(shù)據(jù)存儲器輸出用于配置下一運算狀態(tài)的配置數(shù)據(jù)。
3.如權(quán)利要求1所述的可重配置的集成電路器件,還包括數(shù)據(jù)流控制部件,該數(shù)據(jù)流控制部件被安裝為所述多個存儲器處理器元件的公用部件,用于接受從所述多個存儲器處理器元件而來的直接存儲器訪問請求,并向用于所述多個存儲器處理器元件的所述直接存儲器訪問控制部件指示同步的直接存儲器訪問請求。
4.如權(quán)利要求1所述的可重配置的集成電路器件,還包括數(shù)據(jù)流控制部件,該數(shù)據(jù)流控制部件被安裝為所述多個存儲器處理器元件的公用部件,用于接受從所述多個存儲器處理器元件而來的直接存儲器訪問請求,并向用于所述多個存儲器處理器元件的所述直接存儲器訪問控制部件指示同步的直接存儲器訪問請求,其中當直接存儲器訪問請求是從單個存儲器處理器元件接受的時,所述數(shù)據(jù)流控制部件響應(yīng)于所述接受操作,向所述直接存儲器訪問控制部件指示所述直接存儲器訪問請求。
5.如權(quán)利要求1所述的可重配置的集成電路器件,其中所述存儲器處理器元件還包括與連接到所述處理器元件間開關(guān)組的內(nèi)部總線之間的內(nèi)側(cè)接口、以及與所述外部存儲器總線之間的外側(cè)接口,其中在所述存儲器處理器元件經(jīng)由所述外側(cè)接口通過直接存儲器訪問正在訪問所述外部存儲器的同時,所述運算處理器元件經(jīng)由所述內(nèi)側(cè)接口訪問所述存儲器處理器元件。
6.如權(quán)利要求5所述的可重配置的集成電路器件,其中所述存儲器處理器元件還包括第一和第二存儲器庫,其中所述第一和第二存儲器庫基于所述配置數(shù)據(jù)被交替連接到所述內(nèi)側(cè)和外側(cè)接口。
7.如權(quán)利要求6所述的可重配置的集成電路器件,其中所述存儲器處理器元件在所述外部存儲器和所述第一或第二庫之間的數(shù)據(jù)傳輸完成之后,允許所述運算處理器元件和所述第一或第二存儲器庫之間的數(shù)據(jù)傳輸,并且如果所述外部存儲器和所述第一或第二存儲器庫之間的數(shù)據(jù)傳輸未完成,則所述存儲器處理器元件斷言一個停頓信號,以向所述多個運算處理器元件指示停止操作,并且當所述外部存儲器和所述第一或第二存儲器庫之間的數(shù)據(jù)傳輸完成時,取消所述停頓信號。
8.如權(quán)利要求3所述的可重配置的集成電路器件,其中所述存儲器處理器元件監(jiān)視所述直接存儲器訪問控制部件的操作狀態(tài),并基于所述操作狀態(tài)將所述訪問請求提供給所述數(shù)據(jù)流控制部件。
9.如權(quán)利要求8所述的可重配置的集成電路器件,其中所述存儲器處理器元件基于所述操作狀態(tài),可變地控制所述訪問請求的定時。
10.如權(quán)利要求1所述的可重配置的集成電路器件,其中所述存儲器處理器元件在通過直接存儲器訪問與所述外部存儲器之間進行數(shù)據(jù)傳輸?shù)耐瑫r接受與所述運算處理器元件之間的數(shù)據(jù)傳輸,在通過直接存儲器訪問的數(shù)據(jù)傳輸跟不上與所述運算處理器元件之間的數(shù)據(jù)傳輸時,斷言一個停頓信號以停止所述多個運算處理器元件的運算,并且在能夠跟上時取消所述停頓信號。
11.如權(quán)利要求5所述的可重配置的集成電路器件,其中所述存儲器處理器元件的外側(cè)接口基于所述配置數(shù)據(jù)被構(gòu)建為對應(yīng)于所述多個數(shù)據(jù)總線寬度的接口狀態(tài)。
12.如權(quán)利要求1所述的可重配置的集成電路器件,其中所述存儲器處理器元件還包括第一和第二存儲器庫,并且所述存儲器處理器元件基于配置數(shù)據(jù)將所述第一和第二存儲器庫中的一個設(shè)置為使能在啟動時對外部總線側(cè)進行訪問的狀態(tài),并輸出所述訪問請求。
13.如權(quán)利要求12所述的可重配置的集成電路器件,其中在所述第一和第二存儲器庫中的一個完成通過直接存儲器訪問的數(shù)據(jù)傳輸時,所述存儲器處理器元件向所述運算處理器元件斷言一個運算執(zhí)行使能信號,以促使所述運算處理器元件執(zhí)行運算。
14.如權(quán)利要求13所述的可重配置的集成電路器件,其中在所述第一和第二存儲器庫都進入數(shù)據(jù)傳輸禁止狀態(tài)時,所述存儲器處理器元件斷言一個停頓信號,以請求所述運算處理器元件停止操作。
15.如權(quán)利要求13所述的可重配置的集成電路器件,其中所述群集還包括多個存儲器處理器元件以及所述存儲器處理器元件公用的一個運算執(zhí)行控制部件,該部件響應(yīng)于從所述多個存儲器處理器元件而來的運算執(zhí)行使能信號的斷言,向所述多個運算處理器元件請求同步的運算執(zhí)行。
16.一種可重配置的集成電路器件,該器件基于配置數(shù)據(jù)被動態(tài)配置為預定的運算狀態(tài),該器件包括多個群集,所述群集包括具有計算單元的運算處理器元件、與外部存儲器之間進行數(shù)據(jù)傳輸?shù)木哂写鎯ζ鞯拇鎯ζ魈幚砥髟?、以及用于在任意狀態(tài)下連接所述運算處理器元件和所述存儲器處理器元件的處理器元件間開關(guān)組;群集間開關(guān)組,用于在任意狀態(tài)下配置所述群集之間的數(shù)據(jù)路徑;以及外部存儲器總線,用于執(zhí)行所述存儲器處理器元件和所述外部存儲器之間的數(shù)據(jù)傳輸,其中所述運算處理器元件、所述存儲器處理器元件、所述處理器元件間開關(guān)組和所述群集間開關(guān)組基于所述配置數(shù)據(jù)而被動態(tài)改變,所述器件還包括直接存儲器訪問控制部件,其響應(yīng)于從所述多個群集的存儲器處理器元件而來的訪問請求,通過直接存儲器訪問來執(zhí)行所述存儲器處理器元件和所述外部存儲器之間的數(shù)據(jù)傳輸,其中所述存儲器處理器元件包括第一和第二存儲器庫,其中當所述第一和第二存儲器庫中的一個正在通過直接存儲器訪問與所述外部存儲器進行數(shù)據(jù)傳輸時,所述第一和第二存儲器庫中的另一個與所述運算處理器元件進行數(shù)據(jù)傳輸。
全文摘要
本發(fā)明提供了一種可重配置的集成電路器件,其基于配置數(shù)據(jù)被動態(tài)構(gòu)建為任意運算狀態(tài),該器件包括多個群集,所述群集包括運算處理器元件、存儲器處理器元件、以及用于在任意狀態(tài)下連接所述元件的處理器元件間開關(guān)組;群集間開關(guān)組,用于在任意狀態(tài)下構(gòu)建群集之間的數(shù)據(jù)路徑;以及外部存儲器總線,用于執(zhí)行存儲器處理器元件和外部存儲器之間的數(shù)據(jù)傳輸。此外還提供了直接存儲器訪問控制部件,其響應(yīng)于從所述多個群集的存儲器處理器元件而來的訪問請求,通過直接存儲器訪問來執(zhí)行存儲器處理器元件和外部存儲器之間的數(shù)據(jù)傳輸。
文檔編號G06F15/76GK1908927SQ200610008349
公開日2007年2月7日 申請日期2006年2月17日 優(yōu)先權(quán)日2005年8月2日
發(fā)明者笠間一郎, 鶴田徹, 西田克 申請人:富士通株式會社