專(zhuān)利名稱:可重新配置處理器集合的處理器陣列的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可重新配置處理器集合的處理器陣列,該可重新配置處理器集合 的處理器陣列是一種多核心(Multi-core)的可重新配置的(Reconfigurable)處理器結(jié) 構(gòu)。所述可重新配置處理器集合的處理器陣列可以作為多核心的數(shù)字信號(hào)處理器(DSP)。
背景技術(shù):
數(shù)字通信尤其是無(wú)線通信的快速發(fā)展對(duì)數(shù)字信號(hào)處理器的能力提出了越來(lái)越高 的要求,同時(shí)數(shù)字應(yīng)用的多樣性對(duì)數(shù)字信號(hào)處理器的硬件提出了動(dòng)態(tài)變化的要求。多核心 處理器提供了很好的并行處理能力,數(shù)字信號(hào)處理多是并行處理,所以數(shù)字信號(hào)處理器越 來(lái)越多的采用多核心處理器的架構(gòu)。數(shù)字通信尤其是無(wú)線通信技術(shù)的發(fā)展總是大大超過(guò)處 理器硬件能力的發(fā)展。為了適應(yīng)數(shù)字通信技術(shù)的快速演進(jìn),多態(tài)硬件可以根據(jù)應(yīng)用提供動(dòng) 態(tài)變化的硬件結(jié)構(gòu),從而提供動(dòng)態(tài)的處理能力。為了同時(shí)滿足數(shù)字應(yīng)用高速化和多樣化的 需求,需要一種既可以提供高速的并行處理能力,又能動(dòng)態(tài)配置硬件結(jié)構(gòu)的處理器平臺(tái)。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種可重新配置處理器集合的處理器陣列,本發(fā)明的處理器 陣列是建立在結(jié)合并行處理結(jié)構(gòu)和多態(tài)硬件結(jié)構(gòu)的基礎(chǔ)上的,是一個(gè)可以同時(shí)滿足并行處 理和可重新配置硬件的多核心處理器平臺(tái)。本發(fā)明的技術(shù)解決方案如下一種可重新配置處理器集合的處理器陣列,包括多個(gè)處理器集合,處理器集合之 間通過(guò)全局總線和全局總線交換單元相互連接;處理器集合包括一個(gè)主處理器和零個(gè)或零 個(gè)以上從處理器,對(duì)于零個(gè)以上從處理器的情況,在每一個(gè)處理器集合中,主處理器通過(guò)局 部總線與局部總線交換單元連接,多個(gè)從處理器均連接到局部總線交換單元,局部總線交 換單元之間通過(guò)局部總線連接;數(shù)據(jù)讀總線把一個(gè)處理器集合中的所有從處理器串聯(lián)成一 個(gè)隊(duì)列,隊(duì)列尾部連接到主處理器;寄存器通信總線把一個(gè)處理器集合中的所有從處理器 連接成一個(gè)雙向拓?fù)洵h(huán);對(duì)于處理器集合包括零個(gè)以上從處理器的情況,從處理器與局部總線交換單元相 連的總線有指令總線、數(shù)據(jù)寫(xiě)總線、數(shù)據(jù)讀總線和寄存器通信總線,每一個(gè)從處理器配置 有多個(gè)延遲匹配單元,延遲匹配單元由多個(gè)單位延遲、一個(gè)配置寄存器和一個(gè)復(fù)用選擇器 組成,多個(gè)單位延遲依次串接,每一個(gè)單位延遲和配置寄存器的輸出端均接到復(fù)用選擇器 的輸入端,配置寄存器存儲(chǔ)延遲的具體大??;在從處理器的指令總線輸入端、數(shù)據(jù)寫(xiě)總線輸 入端、數(shù)據(jù)讀總線輸出端、寄存器通信總線左輸入端和寄存器通信總線右輸入端均設(shè)置一 個(gè)延遲匹配單元;局部總線交換單元中的指令總線交換單元的結(jié)構(gòu)為包括一個(gè)交換控制模塊和6 個(gè)復(fù)用選擇器,交換控制模塊控制復(fù)用選擇器的選擇關(guān)系;復(fù)用選擇器分為兩種,第一種復(fù) 用選擇器用于與從處理器連接,各有三個(gè)輸入端口,第一個(gè)端口連接到本局部總線交換單元所屬的主處理器的指令總線輸入端,第二端口連接到來(lái)自上邊相鄰局部總線交換單元的 指令總線輸入端,第三端口連接到來(lái)自下邊相鄰局部總線交換單元的指令總線輸入端;每 一個(gè)第一種復(fù)用選擇器需要2比特控制信息,根據(jù)控制信息分別選擇輸出3種總線輸入;第二種復(fù)用選擇器用于與局部總線交換單元連接,具有2個(gè)輸入端,需要1比特控 制信息;局部總線交換單元中的數(shù)據(jù)總線交換單元包括數(shù)據(jù)寫(xiě)總線、數(shù)據(jù)寫(xiě)總線交換控制 模塊、數(shù)據(jù)寫(xiě)總線復(fù)用選擇器、數(shù)據(jù)讀總線、數(shù)據(jù)讀總線交換控制模塊和數(shù)據(jù)讀總線復(fù)用選 擇器;數(shù)據(jù)寫(xiě)總線的通信模式為廣播模式,數(shù)據(jù)寫(xiě)總線交換控制模塊控制數(shù)據(jù)寫(xiě)總線復(fù) 用選擇器選擇關(guān)系;數(shù)據(jù)讀總線的通信為分布模式或選擇模式,分布模式為處理器集合中的各從處理 器按照時(shí)間順序依次向主處理器發(fā)送數(shù)據(jù),選擇模式為只選擇一個(gè)從處理器發(fā)送數(shù)據(jù)到主 處理器;數(shù)據(jù)讀總線交換控制模塊控制數(shù)據(jù)讀總線復(fù)用選擇器的選擇關(guān)系。所述的局部總線交換單元中具有寄存器通信總線,寄存器通信總線將處理器集合 中的所有從處理器連成一個(gè)雙向拓?fù)洵h(huán),從處理器與在雙向拓?fù)洵h(huán)中左右相鄰的從處理器 進(jìn)行寄存器間的通信;寄存器通信總線的交換單元的包括1個(gè)寄存器通信總線交換控制模塊和10個(gè)交 換單元復(fù)用選擇器,寄存器通信總線交換控制模塊控制10交換單元復(fù)用選擇器的選擇關(guān) 系。有益效果為了提高處理器尤其是數(shù)字信號(hào)處理器的并行處理能力,現(xiàn)在通常的解決方法一 股都是在處理器中設(shè)置專(zhuān)門(mén)的矢量運(yùn)算單元(Vector Compute Unit),這種矢量運(yùn)算單元 有自己獨(dú)立的寄存器文件及內(nèi)存讀寫(xiě)機(jī)制。矢量運(yùn)算單元從內(nèi)存中并行讀取多個(gè)數(shù)據(jù),并 行處理多個(gè)數(shù)據(jù)。比如矢量運(yùn)算單元先從內(nèi)存并行讀取8個(gè)16比特的數(shù)到一個(gè)128比特 位的寄存器vO (分成8個(gè)16比特位),然后在下一個(gè)時(shí)鐘周期再并行讀取8個(gè)16比特的數(shù) 到另一個(gè)128比特位的寄存器vl,然后用8個(gè)并行的16位加法器把vO和vl的內(nèi)容相加, 這樣完成了 8個(gè)并行的16比特加法運(yùn)算,其它的運(yùn)算比如邏輯運(yùn)算,乘累加等都是同樣的 處理方法。處理器中除了矢量運(yùn)算單元,同時(shí)還有普通運(yùn)算單元(General Compute Unit), 用來(lái)完成傳統(tǒng)的非矢量算術(shù)邏輯運(yùn)算,乘累加等。普通運(yùn)算單元主要是用于執(zhí)行標(biāo)準(zhǔn)C語(yǔ) 言編譯后的指令。如果要在C語(yǔ)言中調(diào)用矢量運(yùn)算單元的相關(guān)指令,必須使用嵌入式匯編 或者是和匯編指令對(duì)應(yīng)的內(nèi)嵌函數(shù)(Intrinsic)。由此可見(jiàn)這種有矢量運(yùn)算單元的處理器 中,普通運(yùn)算單元和矢量運(yùn)算單元是完全分開(kāi)的,獨(dú)立的寄存器文件甚至獨(dú)立的內(nèi)存訪問(wèn) 控制,彼此資源不能共享。另外矢量運(yùn)算單元的并行度是不容易改變的,也就是說(shuō)一旦矢量 運(yùn)算單元設(shè)計(jì)完成,比如可以并行處理8個(gè)16比特的數(shù),如果需要提高其并行度,使之能并 行處理16個(gè)16比特的數(shù),必須完全重新設(shè)計(jì)矢量運(yùn)算單元。本發(fā)明的處理器架構(gòu)中,使多 個(gè)只有普通運(yùn)算單元的處理器核心通過(guò)比較簡(jiǎn)單的總線連接成一個(gè)處理器集合,一起協(xié)作 來(lái)完成單指令多數(shù)據(jù)的矢量運(yùn)算。比如我們要計(jì)算一列16位整數(shù)xl, x2, x3, x4, x5, x6, x7,x8,· · ·奇偶相鄰位置的和,即xl+x2,x3+x4,x5+x6,x7+x8,. . ·。主處理器通過(guò)局部總線 中的數(shù)據(jù)寫(xiě)總線把xl,x2發(fā)送到第一個(gè)從處理器中,x5, x6發(fā)送到第二個(gè)從XlO發(fā)送到第三個(gè)從處理器中,xl3, xl4發(fā)送到第四個(gè)從處理器中,然后通過(guò)局部總線中的 指令總線發(fā)送加法指令到所有從處理器執(zhí)行,這樣四個(gè)從處理器每個(gè)時(shí)鐘周期并行計(jì)算出 四個(gè)結(jié)果,四個(gè)結(jié)果通過(guò)數(shù)據(jù)讀總線返回給主處理器,這樣我們就完成了單指令多數(shù)據(jù)計(jì) 算。如果我們需要每個(gè)時(shí)鐘周期并行計(jì)算出八個(gè)結(jié)果,我們可以讓八個(gè)從處理和一個(gè)主處 理器組成一個(gè)處理器集合,這樣八個(gè)從處理器每個(gè)時(shí)鐘周期就可以計(jì)算出八個(gè)結(jié)果。由此 可以見(jiàn),本發(fā)明提出的處理器架構(gòu)和矢量處理器相比,結(jié)構(gòu)簡(jiǎn)單,不需要設(shè)置獨(dú)立的復(fù)雜的 矢量運(yùn)算單元,只需要通過(guò)所述的總線結(jié)構(gòu)把一些簡(jiǎn)單的處理器核心連接起來(lái),在一個(gè)主 控處理器核心的控制下,一起協(xié)作來(lái)完成單指令多數(shù)據(jù)的運(yùn)算;同時(shí)本發(fā)明中的處理器根 據(jù)應(yīng)用程序的要求,通過(guò)改變局部總線交換單元的路由控制,可以讓不同數(shù)量的從處理器 核心組合在一起,形成不同的并行處理能力,帶來(lái)很大的靈活性。本發(fā)明將一個(gè)多核心的處理器陣列動(dòng)態(tài)劃分成不同的處理器集合,每一個(gè)處理器 集合中的多核心之間能夠無(wú)縫地協(xié)作,從而更好地完成單指令多數(shù)據(jù)(SIMD)或者多指令 多數(shù)據(jù)(MIMD)的并行處理工作。處理器陣列中從處理器和主處理器都通過(guò)局部總線與局 部總線交換單元相連,同時(shí)物理位置相鄰的局部總線交換單元彼此通過(guò)局部總線相連。通 過(guò)改變局部總線交換單元中的交換控制,可以重組從處理器和主處理器之間,以及從處理 器和從處理器之間的連接關(guān)系,從而達(dá)到動(dòng)態(tài)配置處理器集合的功能。比如在處理器陣列 中,每個(gè)局部總線交換單元都通過(guò)局部總線直接與4個(gè)從處理器和1個(gè)主處理器相連,如 果程序員在應(yīng)用程序中指定第一主處理器2-A需要和6個(gè)從處理器一起組成一個(gè)處理器集 合,第二主處理器2-B需要和2個(gè)從處理器一起組成一個(gè)處理器集合。那么通過(guò)控制第一 局部總線交換單元5-A和第二局部總線交換單元5-B可以使得從處理器3-A. . . 3-F與第一 主處理器2-A相連??刂频诙植靠偩€交換單元5-B可以使得從處理3-G,3-H與第二主處 理器2-B相連。程序開(kāi)發(fā)工具根據(jù)處理器集合重組的需求,產(chǎn)生局部總線交換單元所需要 的控制信息,這些控制信息有指令總線交換控制信息,數(shù)據(jù)寫(xiě)總線交換控制信息,數(shù)據(jù)讀 總線交換控制信息,寄存器通信總線交換控制信息。同時(shí)程序開(kāi)發(fā)工具還要生成處理器集 合中各個(gè)從處理器的配置信息,這些配置信息主要有指令總線輸入需要匹配的延遲,數(shù)據(jù) 寫(xiě)總線輸入需要匹配的延遲,寄存器通信總線輸入需要匹配的延遲,數(shù)據(jù)讀總線輸出需要 匹配的延遲,從處理器在處理器集合中的位置(是否是第一個(gè)或者最后一個(gè)),從處理器在 處理器集合中的編號(hào)(所有從處理器按照遞增順序的編號(hào)),處理器集合中從處理器的總 個(gè)數(shù)。程序開(kāi)發(fā)工具通過(guò)生成上述控制信息來(lái)控制局部總線交換單元和從處理器,動(dòng)態(tài)配 置處理器集合中從處理器的個(gè)數(shù),程序員根據(jù)應(yīng)用程序的需要把處理器陣列動(dòng)態(tài)劃分成不 同的處理器集合,每個(gè)處理器集合的處理能力不同,從而提供多態(tài)的并行處理能力,充分有 效的利用處理器硬件資源。
圖1是根據(jù)本發(fā)明的一種優(yōu)選實(shí)施例的可重新配置處理器集合的處理器陣列的 簡(jiǎn)化的方框圖;圖2是圖1中局部的放大圖,示出重新配置處理器集合中多核心連接關(guān)系的一種 實(shí)現(xiàn)方案。圖3示出可重新配置處理器集合中從處理器結(jié)構(gòu)一種實(shí)現(xiàn)方案的簡(jiǎn)化框圖。
圖4示出局部總線中指令總線的交換單元一種實(shí)現(xiàn)方案。圖5示出局部總線中數(shù)據(jù)總線的交換單元一種實(shí)現(xiàn)方案。圖6示出局部總線中寄存器通信總線的交換單元一種實(shí)現(xiàn)方案。
具體實(shí)施例方式以下將結(jié)合圖和具體實(shí)施過(guò)程對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明實(shí)施例1 圖1示出的可重新配置處理器集合的處理器陣列包括若干處理器集合1,處理器 集合中所包含的處理器核心的多少是可以動(dòng)態(tài)配置的。所述處理器集合包括一個(gè)主處理器 2,零個(gè)或零個(gè)以上從處理器3。主處理器2通過(guò)局部總線4和局部總線交換單元5與從處 理器連接。局部總線交換單元5之間通過(guò)局部總線4連接。處理器集合1之間通過(guò)全局總 線6和全局總線交換單元7相互連接。處理器集合1中所包含的從處理器3的個(gè)數(shù)是可重 新配置的。通過(guò)控制局部總線交換單元5可以改變主處理器與從處理器及從處理器與從處 理器在物理上的連接關(guān)系,從而可以重新配置處理器集合1的大小。應(yīng)用程序開(kāi)發(fā)工具根 據(jù)處理器集合配置的需求生成控制信息來(lái)控制局部總線交換單元的路由控制,同時(shí)生成相 應(yīng)的配置信息控制處理器集合中的從處理器的總線連接。動(dòng)態(tài)配置處理器集合所需的控制 信息在下面的各表格中列出。局部總線交換單元中指令總線的交換控制需要10比特的控制信息,這些控制信 息控制局部總線交換單元中的指令總線的交換,從而使得主處理器發(fā)出的超長(zhǎng)指令字通過(guò) 指令總線和若干局部總線交換單元后到達(dá)指定的從處理器。
局部總線交換單元中數(shù)據(jù)寫(xiě)總線的交換控制信息和指令總線的交換控制信息完 全一樣。局部總線交換單元中數(shù)據(jù)讀總線的交換控制信息的格式在下表中列出,局部數(shù)據(jù) 讀總線把處理器集合中的所有從處理器串聯(lián)在一起,連接成一個(gè)隊(duì)列,隊(duì)列尾部的從處理 器的數(shù)據(jù)讀總線輸出直接發(fā)送到主處理器。數(shù)據(jù)讀總線由數(shù)據(jù)讀總線輸入端口進(jìn)入從處理 器,然后由數(shù)據(jù)讀總線輸出端口離開(kāi)從處理器,從處理器讀出的數(shù)據(jù)通過(guò)時(shí)分復(fù)用的方式 發(fā)送到主處理器。根據(jù)數(shù)據(jù)讀總線串聯(lián)的方式,第一從處理器3-A的數(shù)據(jù)讀總線輸入只來(lái) 源于上邊相鄰局部總線交換單元,第二從處理器3-B的數(shù)據(jù)讀總線輸入只來(lái)源于第一從處 理器3-A,即第一從處理器3-A的數(shù)據(jù)讀總線的輸出端口連接到第二從處理器3-B的數(shù)據(jù)讀 總線的輸入端口 ;第三從處理器3-C的數(shù)據(jù)讀總線輸入只來(lái)源于第二從處理器3-B,第四從 處理器3-D的數(shù)據(jù)讀總線輸入只來(lái)源于第三從處理器3-C,向下邊相鄰局部總線交換單元 輸出的數(shù)據(jù)讀總線只來(lái)源于第四從處理器3-D。
局部總線交換單元中寄存器通信總線的交換控制信息的格式如表中所示
比特位說(shuō)明[2:0]第一從處理器3-A寄存器通信總線左輸入來(lái)源“000”來(lái)源于第 二從處理器3-B的寄存器通信總線輸出,“001”來(lái)源于第三從處 理器3-C的寄存器通信總線輸出,“010”來(lái)源于第四從處理器3-D 的寄存器通信總線輸出,“011”來(lái)源于上邊相鄰局部總線交換單 元的左寄存器通信總線輸入,“100”來(lái)源于下邊相鄰局部總線交 換單元的左寄存器通信總線輸入。[3]第一從處理器3-A寄存器通信總線右輸入來(lái)源“0”來(lái)源于第二 從處理器3-B的寄存器通信總線輸出,“1”來(lái)源于上邊相鄰局部 總線交換單元的右寄存器通信總線輸入。[5:4]第二從處理器3-B寄存器通信總線左輸入來(lái)源“00”來(lái)源于第一 從處理器3-A的寄存器通信總線輸出,“01”來(lái)源于第三從處理器 3-C的寄存器通信總線輸出,“10”來(lái)源于第四從處理器3-D的寄 存器通信總線輸出,“11”來(lái)源于下邊相鄰局部總線交換單元的左 寄存器通信總線輸入。[7:6]第二從處理器3-B寄存器通信總線右輸入來(lái)源“00”來(lái)源于第一 從處理器3-A的寄存器通信總線輸出,“01”來(lái)源于第三從處理器 3-C的寄存器通信總線輸出,“10”來(lái)源于上邊相鄰局部總線交換 單元的右寄存器通信總線輸入。[9:8]第三從處理器3-C寄存器通信總線左輸入來(lái)源“00”來(lái)源于第二 從處理器3-B的寄存器通信總線輸出,“01”來(lái)源于第四從處理器 3-D的寄存器通信總線輸出,“10”來(lái)源于下邊相鄰局部總線交換 單元的左寄存器通信總線輸入。[11:10]第三從處理器3-C寄存器通信總線右輸入來(lái)源“00”來(lái)源于第一 從處理器3-A的寄存器通信總線輸出,“01”來(lái)源于第二從處理器
8
從處理器中和處理器集合動(dòng)態(tài)配置有關(guān)的控制信息是 在后面將結(jié)合局部總線交換單元的結(jié)構(gòu)進(jìn)一步說(shuō)明這些控制信息如何控制局部 總線交換單元來(lái)完成處理器集合的重組。圖2是圖1中局部的放大圖,示出可重新配置處理器集合的連接關(guān)系的一種實(shí)現(xiàn) 方案。第一主處理器2-A通過(guò)局部總線中的指令總線4-1,局部總線中的數(shù)據(jù)寫(xiě)總線4-2 和局部總線中的數(shù)據(jù)讀總線4-3與第一局部總線交換單元5-A相連。第一從處理器3-A、 第二從處理器3-B、第三從處理器3-C、第四從處理器3-D均通過(guò)指令總線4-1,數(shù)據(jù)寫(xiě)總 線4-2,數(shù)據(jù)讀總線4-3和寄存器通信總線4-4與第一局部總線交換單元5-A相連,由于 從處理器3-A. . . 3-D通過(guò)局部總線直接與第一局部總線交換單元5-A相連,我們把從處理 器3-A. . . 3-D叫做第一局部總線交換單元5-A所屬的從處理器,同時(shí)我們把第一主處理器
2-A也叫做第一局部總線交換單元5-A所屬的主處理器,依此類(lèi)推。第一局部總線交換單 元5-A與第二局部總線交換單元5-B之間也通過(guò)局部總線4相連,在這里第一局部總線交 換單元5-A叫做第二局部總線交換單元5-B上邊相鄰的局部總線交換單元,第二局部總線 交換單元5-B叫做第一局部總線交換單元5-A下邊相鄰的局部總線交換單元。通過(guò)控制第 一局部總線交換單元5-A和第二局部總線交換單元5-B,第一主處理器2-A與6個(gè)從處理器
3-A.. . 3-F組成第一處理器集合1-A,第二主處理器2-B與第七從處理器3-G和第八從處理 器3-H組成第二處理器集合1-B。第一處理器集合I-A和第二處理器集合I-B之間通過(guò)全 局總線6和第一全局總線交換單元7-A和第二全局總線交換單元7-B相互連接。數(shù)據(jù)讀總 線把一個(gè)處理器集合中的所有從處理器串聯(lián)成一個(gè)隊(duì)列,隊(duì)列尾部連接到主處理器,比如 第一處理器集合I-A中隊(duì)列頭部的從處理器是第一從處理器3-A,對(duì)列尾部的從處理器是 第六從處理器3-F,第六從處理器3-F的數(shù)據(jù)讀總線輸出通過(guò)第一局部總線交換單元5-A連 接到第一主處理器2-A。寄存器通信總線把一個(gè)處理器集合中的所有從處理器連接成一個(gè) 雙向拓?fù)洵h(huán),從處理器可以和雙向拓?fù)洵h(huán)中左右相鄰的從處理器通信(左右關(guān)系就是按照 從處理器編號(hào)的前后關(guān)系),比如第一處理器集合I-A中的第一從處理器3-A左邊相鄰的從 處理器是第六從處理器3-F,右邊相鄰的從處理器是第二從處理器3-B,第二從處理器3-B 左邊相鄰的從處理器是第一從處理器3-A,右邊相鄰的從處理器是第三從處理器3-C,依此 類(lèi)推。為了組成上述第一處理器集合I-A和第二處理器集合1-B,第一局部總線交換單 元5-A所需要的控制信息是 第二局部總線交換單元5-B所需的控制信息是 從處理器3-A. . . 3-H所需的控制信息是 圖3示出可重新配置處理器集合的處理器陣列中從處理器可能實(shí)現(xiàn)方案的簡(jiǎn)化 框圖。從處理器與局部總線交換單元相連的總線有指令總線4-1,數(shù)據(jù)寫(xiě)總線4-2,數(shù)據(jù) 讀總線4-3-1和4-3-2,寄存器通信總線4-4-1. . . 4-4-30如果同一處理器集合跨越多個(gè) 局部總線交換單元,局部總線交換單元中的時(shí)鐘同步電路會(huì)帶來(lái)延遲,當(dāng)處理器集合中的 主處理器向所有從處理器發(fā)送超長(zhǎng)指令字時(shí),到達(dá)各從處理器的超長(zhǎng)指令字經(jīng)過(guò)的延遲可 能是不一樣的,因?yàn)樘幚砥骷现械膹奶幚砥鞅仨毻瑫r(shí)執(zhí)行同一條超級(jí)指令字,所以必須 保證超長(zhǎng)指令字同時(shí)到達(dá)處理器集合中的各從處理器,從處理器中可能需要對(duì)指令總線輸 入4-1進(jìn)行延遲。從處理器數(shù)據(jù)寫(xiě)總線輸入4-2的延遲與指令總線輸入4-1的延遲一樣。 對(duì)于數(shù)據(jù)讀總線,由于處理器集合跨越了多個(gè)局部總線交換單元,從處理器數(shù)據(jù)讀總線的 輸入4-3-1可能已經(jīng)被延遲了若干時(shí)鐘周期,這樣當(dāng)從處理器發(fā)送自己的數(shù)據(jù)到數(shù)據(jù)讀總 線的輸出4-3-2時(shí)需要相應(yīng)的延遲同樣的時(shí)鐘周期與之匹配,否則就會(huì)覆蓋數(shù)據(jù)讀總線輸 入4-3-1上的數(shù)據(jù);當(dāng)從處理器直接把數(shù)據(jù)讀總線的輸入4-3-1直通到數(shù)據(jù)讀總線的輸出 4-3-2時(shí),不要增加任何延遲。當(dāng)同一處理器集合跨越多個(gè)局部總線交換單元時(shí),在局部總 線交換單元之間的寄存器通信總線可能會(huì)有若干時(shí)鐘周期的延遲,為了使得所有相鄰從處 理器之間的寄存器通信所經(jīng)歷的延遲一樣,可能需要延遲從處理的寄存器通信總線左輸入 4-4-1或者寄存器通信總線右輸入4-4-2。從處理器3中可以實(shí)現(xiàn)一個(gè)延遲匹配單元3-1, 延遲匹配單元由若干單位延遲3-1-1 (單位延遲指延遲一個(gè)時(shí)鐘周期)和一個(gè)復(fù)用選擇器3-1-3組成,配置寄存器3-1-2存儲(chǔ)延遲的具體大小。在指令總線輸入4-1,數(shù)據(jù)寫(xiě)總線輸入
4-2,數(shù)據(jù)讀總線輸出4-3-2,寄存器通信總線左輸入4-4-1和寄存器通信總線右輸入4_4_2 上分別設(shè)置延遲匹配。根據(jù)同一處理器集合中從處理器與主處理器的物理上的距離設(shè)置 不同的延遲,從而使得同一處理器集合中所有從處理器和主處理器之間通信具有相同的延 遲。局部總線中指令總線和數(shù)據(jù)寫(xiě)總線的延遲匹配的具體算法是假定局部總線每跨越一 個(gè)局部總線交換單元要引入一個(gè)時(shí)鐘延遲,處理器集合中從處理器的分布跨越了 N個(gè)局部 總線交換單元,那么指令到達(dá)所有從處理器的延遲都必須是N-I個(gè)時(shí)鐘周期。某一叢處理 器到處理器集合中主處理器的距離是跨越了 M個(gè)局部總線交換單元,那么此從處理器中指 令總線和數(shù)據(jù)寫(xiě)總線的匹配延遲應(yīng)該是N-M個(gè)。對(duì)于從處理器,如果當(dāng)前數(shù)據(jù)讀總線上需 要傳輸前面從處理器(編號(hào)小于當(dāng)前從處理器的從處理器)的讀出數(shù)據(jù),從處理器直接把 數(shù)據(jù)讀總線輸入4-3-1的數(shù)據(jù)直通到數(shù)據(jù)讀總線輸出端口 4-3-2,這個(gè)過(guò)程不能引入延遲, 如果當(dāng)前需要傳輸從處理器的讀出數(shù)據(jù),從處理器把讀出數(shù)據(jù)發(fā)送到4-3-2,如果數(shù)據(jù)讀總 線輸入4-3-1中的數(shù)據(jù)之前跨越了 N個(gè)局部總線交換單元,即已經(jīng)被延遲了 N-I個(gè)時(shí)鐘周 期,那么當(dāng)從處理器向數(shù)據(jù)讀總線輸出端口 4-3-2發(fā)送本從處理器的讀出數(shù)據(jù)時(shí),需要延 遲N-I個(gè)時(shí)鐘周期。局部總線中寄存器通信總線的延遲匹配算法是假定處理器集合跨越 了 N個(gè)局部總線交換單元,那么處理器集合中相鄰從處理器之間的寄存器通信有N-I個(gè)時(shí) 鐘周期的延遲,這樣如果從處理器左邊相鄰的從處理器來(lái)自于上邊局部總線交換單元或者 下邊局部總線交換單元所屬的從處理器,寄存器通信總線左輸入4-4-1延遲N-2個(gè)時(shí)鐘周 期,否則延遲N-I個(gè)時(shí)鐘周期,同理如果從處理器右邊相鄰的從處理器來(lái)自于上邊局部總 線交換單元或者下邊局部總線交換單元所屬的從處理器,寄存器通信總線右輸入4-4-2延 遲N-2個(gè)時(shí)鐘周期,否則延遲N-I個(gè)時(shí)鐘周期。 根據(jù)上述匹配延遲的算法,圖2中第一處理器集合I-A跨越了 2個(gè)局部總線交換 單元5-A和5-B,所以第一主處理器2-A經(jīng)過(guò)指令總線發(fā)送到從處理器3-A. . . 3-F的超長(zhǎng)指 令字會(huì)有1個(gè)時(shí)鐘周期的延遲。第一主處理器2-A到從處理器3-A. . . 3-D只跨越了 1個(gè)局 部總線交換單元,所以從處理器3-A. . . 3-D中要對(duì)指令總線輸入和數(shù)據(jù)寫(xiě)總線輸入都延遲 1個(gè)時(shí)鐘周期。第一主處理器2-A到第五從處理器3-E和第六從處理器3-F跨越了 2個(gè)局 部總線交換單元,所以第五從處理器3-E和第六從處理器3-F中不要對(duì)指令總線輸入和數(shù) 據(jù)寫(xiě)總線輸入進(jìn)行延遲。數(shù)據(jù)讀總線把從處理器3-A. . . 3-F串聯(lián)成一個(gè)隊(duì)列,從處理器3-A 是頭,從處理器3-F是尾,第五從處理器3-E的數(shù)據(jù)讀總線輸入來(lái)自于第一局部總線交換單 元5-A所屬的從處理器5-D,之前跨越了 2個(gè)局部總線交換單元,所以已經(jīng)被延遲了一個(gè)時(shí) 鐘周期,所以從處理器3-E在發(fā)送自身的數(shù)據(jù)到數(shù)據(jù)讀總線輸出端口時(shí),要延遲一個(gè)時(shí)鐘 周期,從處理器3-E在直通(forward)從處理器3-A. . . 3-D的數(shù)據(jù)時(shí),不要延遲,從處理器 3-F在發(fā)送自身的數(shù)據(jù)到數(shù)據(jù)讀總線輸出端口時(shí),要延遲一個(gè)時(shí)鐘周期,從處理器3-F在直 通從處理器3-A. . . 3-E的讀數(shù)據(jù)時(shí),不要延遲。寄存器通信總線把從處理器3-A. . . 3-F連 接成一個(gè)雙向拓?fù)洵h(huán),由于第一處理器集合I-A跨越了 2個(gè)局部總線交換單元,所以雙向拓 撲環(huán)中的從處理器3-A. . . 3-F中彼此相鄰的從處理器在進(jìn)行寄存器通信時(shí),都有1個(gè)時(shí)鐘 周期延遲,第五從處理器3-E的左邊相鄰的從處理器來(lái)自于第一局部總線交換單元5-A所 屬的第四從處理器3-D,所以不需要延遲寄存器通信總線左輸入,同樣第六從處理器3-F的 右邊相鄰的從處理器來(lái)自于第一局部總線交換單元5-A所屬的第一從處理器3-A,所以不
15需要延遲寄存器通信總線右輸入,其它的寄存器總線的輸入都要延遲1個(gè)時(shí)鐘周期。圖4示出局部總線交換單元中指令總線交換單元一種實(shí)現(xiàn)方案。指令總線的通 信模式是廣播模式,即一個(gè)處理器集合中主處理器通過(guò)指令總線發(fā)出的超長(zhǎng)指令必須發(fā)送 到每一個(gè)從處理器。指令總線交換單元5-3包括一個(gè)交換控制模塊5-3-1和復(fù)用選擇器 5-3-2. . . 5-3-7,交換控制模塊5-3-1控制復(fù)用選擇器5_3_2. . . 5-3-7的選擇關(guān)系。復(fù)用 選擇器5-3-2. . . 5-3-5各有三個(gè)輸入端口,第一個(gè)端口連接到本局部總線交換單元所屬的 主處理器的指令總線輸入4-1-1,第二端口連接到來(lái)自上邊相鄰局部總線交換單元的指令 總線輸入4-1-2,第三端口連接到來(lái)自下邊相鄰局部總線交換單元的指令總線輸入4-1-3, 復(fù)用選擇器5-3-2. . . 5-3-7中的每一個(gè)復(fù)用選擇器需要2比特控制信息,如果控制信息是 “00”,選擇輸出總線輸入4-1-1,如果控制信息是“01”,選擇輸出總線輸入4-1-2,如果控制 信息是“10”,選擇輸出總線輸入4-1-3。復(fù)用選擇器5-3-6只有兩個(gè)輸入端口,一個(gè)端口 連接到本局部總線交換單元所屬的主處理器的指令總線輸入4-1-1,另一端口連接到來(lái)自 下邊相鄰局部總線交換單元的指令總線輸入4-1-3,復(fù)用選擇器5-3-6只需要1比特控制 信息,如果控制信息是“0”,選擇輸出總線輸入4-1-1,否則選擇輸出總線輸入4-1-3。復(fù)用 選擇器5-3-7也只有兩個(gè)輸入端口,一個(gè)端口連接到本局部總線交換單元所屬的主處理器 的指令總線輸入4-1-1,另一端口連接到來(lái)自上邊相鄰局部總線交換單元的指令總線輸入
4-1-2,復(fù)用選擇器5-3-7也只需要1比特控制信息,如果控制信息是“0”,選擇輸出總線輸 入4-1-1,否則選擇輸出總線輸入4-1-2。如上所述,指令總線交換所需的控制信息總共是 10比特,具體格式在上述表格中已經(jīng)示出。圖5示出局部總線交換單元中數(shù)據(jù)總線交換單元一種實(shí)現(xiàn)方案。數(shù)據(jù)寫(xiě)總線的 通信模式和指令總線一樣,也是廣播模式,即一個(gè)處理器集合中主處理器通過(guò)數(shù)據(jù)寫(xiě)總線 發(fā)送的信息,每一個(gè)從處理器都能收到,所以數(shù)據(jù)寫(xiě)總線4-2的交換控制方法和指令總 線的交換控制完全一樣。數(shù)據(jù)寫(xiě)總線交換控制模塊5-4-1控制數(shù)據(jù)寫(xiě)總線復(fù)用選擇器
5-4-3.. . 5-4-8的選擇關(guān)系。數(shù)據(jù)寫(xiě)總線復(fù)用選擇器5-4-3. . . 5_4_6各有三個(gè)輸入端口,第 一個(gè)端口連接本局部總線交換單元所屬的主處理器的數(shù)據(jù)寫(xiě)總線輸入4-2-1,第二端口連 接到來(lái)自上邊相鄰局部總線交換單元的數(shù)據(jù)寫(xiě)總線輸入4-2-2,第三端口連接到來(lái)自下邊 相鄰局部總線交換單元的數(shù)據(jù)寫(xiě)總線輸入4-2-3,復(fù)用選擇器5-4-3. . . 5-4-6中的每一個(gè) 復(fù)用選擇器需要2比特控制信息,如果控制信息是“00”,選擇輸出總線輸入4-2-1,如果控 制信息是“01”,選擇輸出總線輸入4-2-2,如果控制信息是“10”,選擇輸出總線輸入4-2-3。 復(fù)用選擇器5-4-7只有兩個(gè)輸入端口,一個(gè)端口連接本局部總線交換單元所屬的主處理 器的數(shù)據(jù)寫(xiě)總線輸入4-2-1,另一端口連接下邊相鄰局部總線交換單元的數(shù)據(jù)寫(xiě)總線輸入 4-2-3,復(fù)用選擇器5-4-7只需要1比特控制信息,如果控制信息是“0”,選擇輸出總線輸入 4-2-1,否則選擇輸出總線輸入4-2-3。復(fù)用選擇器5-4-8也只有兩個(gè)輸入端口,一個(gè)端口連 接本局部總線交換單元所屬的主處理器的數(shù)據(jù)寫(xiě)總線輸入4-2-1,另一端口連接上邊相鄰 局部總線交換單元的數(shù)據(jù)寫(xiě)總線輸入4-2-2,復(fù)用選擇器5-4-8也只需要1比特控制信息, 如果控制信息是“0”,選擇輸出總線輸入4-2-1,否則選擇輸出總線輸入4-2-2。如上所述, 數(shù)據(jù)寫(xiě)總線交換所需的控制信息總共是10比特,和指令總線交換的控制信息完全一樣。數(shù)據(jù)讀總線的通信為分布模式或選擇模式。分布模式就是說(shuō),處理器集合中的從 處理器按照時(shí)間順序依次向主處理器發(fā)送數(shù)據(jù),選擇模式就是說(shuō),只選擇一個(gè)從處理器發(fā)
16送數(shù)據(jù)到主處理器。無(wú)論分布模式和選擇模式,從處理器都不是同時(shí)發(fā)送數(shù)據(jù)到主處理器, 而是把要發(fā)送到主處理器的數(shù)據(jù)復(fù)用到數(shù)據(jù)讀總線上,然后連接到主處理器的數(shù)據(jù)讀總線 輸入端口。具體的復(fù)用方式就是,數(shù)據(jù)讀總線把一個(gè)處理器集合中的所有從處理器串聯(lián)成 一個(gè)隊(duì)列,并且把所有串聯(lián)起來(lái)的從處理器按照遞增的順序編號(hào),數(shù)據(jù)讀總線由數(shù)據(jù)讀總 線輸入端口 4-3-1進(jìn)入從處理器,然后由數(shù)據(jù)讀總線輸出端口 4-3-2離開(kāi)從處理器。從處理 器的數(shù)據(jù)讀總線輸入端口 4-3-1上的數(shù)據(jù)就是那些位于當(dāng)前從處理器之前的從處理器(編 號(hào)小于當(dāng)前從處理器的從處理器)發(fā)送到主處理器的數(shù)據(jù),所以當(dāng)前從處理器直接把數(shù)據(jù) 讀總線輸入端口 4-3-1上的數(shù)據(jù)直通到數(shù)據(jù)讀總線輸出端口 4-3-2。如果當(dāng)前正好需要本 從處理器發(fā)送數(shù)據(jù)到主處理器,則把數(shù)據(jù)經(jīng)過(guò)一定的延遲匹配后發(fā)往數(shù)據(jù)讀總線輸出端口
4-3-2。數(shù)據(jù)讀總線交換控制模塊5-4-2控制數(shù)據(jù)讀總線復(fù)用選擇器5-4-9和數(shù)據(jù)讀總線 復(fù)用選擇器5-4-10的選擇關(guān)系。復(fù)用選擇器5-4-9有6輸入端口,第一個(gè)輸入端口連接 第一從處理器3-A的數(shù)據(jù)讀總線輸出,第二個(gè)輸入端口連接第二從處理器3-B的數(shù)據(jù)讀總 線輸出,第三個(gè)輸入端口連接第三從處理器3-C的數(shù)據(jù)讀總線輸出,第四個(gè)輸入端口連接 第四從處理器3-D的數(shù)據(jù)讀總線輸出,第五個(gè)輸入端口連接上邊局部總線交換單元的數(shù)據(jù) 讀總線輸出,第六個(gè)輸入端口連接下邊局部總線交換單元的數(shù)據(jù)讀總線輸出。復(fù)用選擇器
5-4-9需要3比特控制信息,“000”代表選擇第一輸入端口輸出,“001”代表選擇第二個(gè)輸 入端口輸出,依此類(lèi)推。復(fù)用選擇器5-4-10有4輸入端口,第一個(gè)輸入端口連接第一從處 理器3-A的數(shù)據(jù)讀總線輸出,第二個(gè)輸入端口連接第二從處理器3-B的數(shù)據(jù)讀總線輸出,第 三個(gè)輸入端口連接第三從處理器3-C的數(shù)據(jù)讀總線輸出,第四個(gè)輸入端口連接第四從處理 器3-D的數(shù)據(jù)讀總線輸出。復(fù)用選擇器5-4-10需要2比特控制信息,“00”代表選擇第一 輸入端口輸出,“ 01”代表選擇第二個(gè)輸入端口輸出,依此類(lèi)推。圖6示出從處理器之間寄存器通信總線的交換單元一種實(shí)現(xiàn)方案。寄存器通信總 線把處理器集合中的所有從處理器連成一個(gè)雙向拓?fù)洵h(huán),從處理器可以和拓?fù)洵h(huán)中左右相 鄰的從處理器進(jìn)行寄存器間的通信,即一個(gè)從處理器寄存器的內(nèi)容,拷貝到另一個(gè)從處理 器的寄存器。為了簡(jiǎn)化局部總線交換單元中寄存器通信總線交換的結(jié)構(gòu),和局部總線交換 單元直接相連的從處理器3-A. . . 3-D在重組處理器集合的過(guò)程中,總是依照“就近相連”和 “順序相連”的原則。就近相連的原則就是,比如說(shuō)如果需要3個(gè)從處理器組成一個(gè)處理器集 合,那么一定是第一從處理器3-A,第二從處理器3-B和第三從處理器3-C組合在一起,或者 是第二從處理器3-B,第三從處理器3-C和第四從處理器3-D組合在一起,而不能是第一從 處理器3-A,第三從處理器3-B和第四從處理器3-D組和,因?yàn)橹虚g隔了一個(gè)第二從處理器 3-B,這不符合“就近相連”的原貝U。順序相連的原則就是,比如說(shuō)4個(gè)處理器3-A. . . 3-D通過(guò) 寄存器通信總線連接成了一個(gè)雙向拓?fù)洵h(huán),那么第一從處理器3-A是第二從處理器3-B在 拓?fù)洵h(huán)中前邊相鄰的從處理器,或者說(shuō)左邊相鄰的從處理器,相反第二從處理器3-B是第 一從處理器3-A在拓?fù)洵h(huán)中后邊相鄰的從處理器,或者說(shuō)右邊相鄰的從處理器,依此類(lèi)推, 第二從處理器3-B是第三從處理器3-C的左邊相鄰的從處理器,第三從處理器3-C是第四 從處理器3-D的左邊相鄰的從處理器,第四從處理器3-D是第一從處理器3-A的左邊相鄰 的從處理器。不能有別的相鄰關(guān)系,比如不能是第一從處理器3-A是第三從處理器3-C的 左邊相鄰的從處理器,第三從處理器3-C是第二從處理器3-B的左邊相鄰的從處理器,第二從處理器3-B是第四從處理器3-D的左邊相鄰的從處理器,這不符合“順序相連”的原則。 如果本局部總線交換單元所屬的從處理器需要和上邊局部總線交換單元所屬的從處理組 成一個(gè)處理器集合,比如本局部總線交換單元中需要3個(gè)從處理和上邊局部總線交換單元 所屬的從處理組成一個(gè)處理器集合,那么一定是第一從處理器3-A,第二從處理器3-B和第 三從處理器3-C,而不能是第二從處理器3-B,第三從處理器3-C和第四從處理器3-D。其中 第一從處理器3-A左邊相鄰的從處理器來(lái)自于上邊局部總線交換單元所屬的從處理器,第 三從處理器3-C右邊相鄰的從處理器也是來(lái)自于上邊局部總線交換單元所屬的從處理器。 同樣的道理,如果本局部總線交換單元中需要3個(gè)從處理和下邊局部總線交換單元所屬的 從處理組成一個(gè)處理器集合,那么只能是第二從處理器3-B,第三從處理器3-C和第四從處 理器相連3-D,第二從處理器3-B左邊相鄰的從處理器來(lái)自于下邊局部總線交換單元所屬 的從處理器,第四從處理器3-D右邊相鄰的從處理器也是來(lái)自于下邊局部總線交換單元所 屬的從處理器。由于處理器集合的組合關(guān)系是由局部總線交換單元來(lái)控制的,不同處理器 集合之間的局部總線連接已經(jīng)由局部總線交換單元切斷了。在前面已經(jīng)定義局部總線交換 單元所屬的從處理器和主處理器的涵義,和局部總線交換單元直接相連的從處理器和主處 理器叫做局部總線交換單元所屬的從處理器和主處理器,比如3-A. . . 3-D與5-A就是直接 相連,3-E. . . 3-H和5-A就不是直接相連,因?yàn)?-E. . . 3-F必須要通過(guò)5-B才能與5-A相連。根據(jù)寄存器通信總線“就近相連”和“順序相連”原則,寄存器通信總線交換的一種 實(shí)現(xiàn)方案如圖6所示。圖中連接上邊局部總線交換單元和下邊局部總線交換單元的寄存器 通信總線4-4分為左寄存器通信總線和右寄存器通信總線,其中左右不是指在圖中的左右 關(guān)系,而是在處理器集合中雙向拓?fù)洵h(huán)中的左右關(guān)系。寄存器通信總線交換控制模塊5-5-1 控制復(fù)用選擇器5-5-2. . . 5-5-11的選擇關(guān)系。復(fù)用選擇器5-5-2的輸出端口連接第一從處理器3-A的寄存器通信總線的左輸入 端口,復(fù)用選擇器5-5-2有5個(gè)輸入端口,分別連接第二從處理器3-B的寄存器通信總線輸 出,第三從處理器3-C的寄存器通信總線輸出,第四從處理器3-D的寄存器通信總線輸出, 上邊局部總線交換單元到本局部總線交換單元的左寄存器通信總線輸入,下邊局部總線交 換單元到本局部總線交換單元的左寄存器通信總線輸入。復(fù)用選擇器5-5-2需要3比特控 制信息,“ 000 ”代表選擇第一輸入端口,“ 001 ”代表選擇第二個(gè)輸入端口,依此類(lèi)推。復(fù)用選 擇器5-5-3的輸出端口連接第一從處理器3-A的寄存器通信總線的右輸入端口,復(fù)用選擇 器5-5-3有2個(gè)輸入端口,分別連接第二從處理器3-B的寄存器通信總線輸出,上邊局部總 線交換單元到本局部總線交換單元的右寄存器通信總線輸入。復(fù)用選擇器5-5-3只需要1 比特控制信息控制選擇第一個(gè)輸入或者是第二路輸入。復(fù)用選擇器5-5-4的輸出端口連接第二從處理器3-B的寄存器通信總線的左輸入 端口,復(fù)用選擇器5-5-2有4個(gè)輸入端口,分別連接第一從處理器3-A的寄存器通信總線 輸出,第三從處理器3-C的寄存器通信總線輸出,第四從處理器3-D的寄存器通信總線輸 出,下邊局部總線交換單元到本局部總線交換單元的左寄存器通信總線輸入。復(fù)用選擇器 5-5-4需要2比特控制信息控制選擇4路輸入。復(fù)用選擇器5-5-5的輸出端口連接第二從 處理器3-B的寄存器通信總線的右輸入端口,復(fù)用選擇器5-5-5有3個(gè)輸入端口,分別連接 第一從處理器3-A的寄存器通信總線輸出,第三從處理器3-C的寄存器通信總線輸出,上邊 局部總線交換單元到本局部總線交換單元的右寄存器通信總線輸入。復(fù)用選擇器5-5-5需要2比特控制信息控制選擇3路輸入。復(fù)用選擇器5-5-6的輸出端口連接第三從處理器3-C的寄存器通信總線的左輸入 端口,復(fù)用選擇器5-5-6有3個(gè)輸入端口,分別連接第二從處理器3-B的寄存器通信總線輸 出,第四從處理器3-D的寄存器通信總線輸出,下邊局部總線交換單元到本局部總線交換 單元的左寄存器通信總線輸入。復(fù)用選擇器5-5-6需要3比特控制信息控制選擇3路輸入。 復(fù)用選擇器5-5-7的輸出端口連接第三從處理器3-C的寄存器通信總線的右輸入端口,復(fù) 用選擇器5-5-7有4個(gè)輸入端口,分別連接第一從處理器3-A的寄存器通信總線輸出,第二 從處理器3-B的寄存器通信總線輸出,第四從處理器3-D的寄存器通信總線輸出,上邊局部 總線交換單元到本局部總線交換單元的右寄存器通信總線輸入。復(fù)用選擇器5-5-7需要2 比特控制信息控制選擇4路輸入。復(fù)用選擇器5-5-8的輸出端口連接第四從處理器3-D的寄存器通信總線的左輸入 端口,復(fù)用選擇器5-5-8有2個(gè)輸入端口,分別連接第三從處理器3-C的寄存器通信總線輸 出,下邊局部總線交換單元到本局部總線交換單元的左寄存器通信總線輸入。復(fù)用選擇器 5-5-8需要1比特控制信息控制選擇2路輸入。復(fù)用選擇器5-5-9的輸出端口連接第四從 處理器3-D的寄存器通信總線的右輸入端口,復(fù)用選擇器5-5-9有5個(gè)輸入端口,分別連接 第一從處理器3-A的寄存器通信總線輸出,第二從處理器3-B的寄存器通信總線輸出,第三 從處理器3-D的寄存器通信總線輸出,上邊局部總線交換單元到本局部總線交換單元的右 寄存器通信總線輸入,下邊局部總線交換單元到本局部總線交換單元的右寄存器通信總線 輸入。復(fù)用選擇器5-5-9需要3比特控制信息控制選擇5路輸入。復(fù)用選擇器5-5-10的輸出端口連接到上邊局部總線交換單元,復(fù)用選擇器 5-5-11的輸出端口連接到下邊局部總線交換單元,復(fù)用選擇器5-5-10和復(fù)用選擇器 5-5-11 一樣,都有4個(gè)輸入端口,分別連接從處理器3-A. . . 3-D的寄存器通信總線輸出,分 別需要2比特控制信息來(lái)選擇4路輸入。根據(jù)寄存器通信總線“就近相連”和“順序相連” 原則,連接到上邊局部總線交換單元的左寄存器通信總線中的輸出端口直接連接到第一從 處理器3-A的寄存器通信總線輸出,連接到下邊局部總線交換單元的右寄存器通信總線中 的輸出端口直接連接到第四從處理器3-D的寄存器通信總線輸出。一個(gè)局部總線交換單元中寄存器通信總線的交換控制總共需要20比特控制信 息,具體格式在上述表格中已經(jīng)示出。本發(fā)明中處理器陣列的可重新配置主要體現(xiàn)在處理器集合中從處理器的個(gè)數(shù)是 可重新配置的。處理器集合中的所有從處理器都在一個(gè)主處理器的控制下,執(zhí)行相同的指 令,處理不同的數(shù)據(jù),這樣來(lái)完成單指令多數(shù)據(jù)的處理。由于應(yīng)用程序中各個(gè)子模塊的計(jì)算 復(fù)雜度不同,所以需要不同的并行處理能力。通過(guò)配置局部總線交換單元和從處理器,可以 把一個(gè)處理器陣列劃分成一些大小不同的處理器集合,每個(gè)處理器集合對(duì)應(yīng)應(yīng)用程序中的 一個(gè)子模塊。比如圖2中,我們可以通過(guò)發(fā)送上面所述的指令總線交換控制信息,數(shù)據(jù)總線 交換控制信息和寄存器通信總線交換控制信息到第一局部總線交換單元5-A及第二局部 總線交換單元5-B,指令總線交換控制信息控制圖4中指令總線的交換,數(shù)據(jù)總線交換控制 信息控制圖5中數(shù)據(jù)總線的交換,寄存器通信總線交換控制信息控制圖6中寄存器通信總 線的交換;同時(shí)發(fā)送上面所述的從處理器控制信息到從處理器3-A. . . 3-H,可以使得第一 主處理器2-A與6個(gè)從處理器3-A. . . 3-F組成第一處理器集合1-A,第二主處理器2-B與2
19個(gè)從處理器3-G和3-H組成第二處理器集合I-B ;我們也可以通過(guò)改變控制信息使得第一 主處理器2-A與2個(gè)從處理器3-A和3-B組成第一處理器集合1-A,第二主處理器2-B與6 個(gè)從處理器3-C. . . 3-H組成第二處理器集合I-B ;同樣我們也可以通過(guò)改變控制信息使得 第一主處理器2-A與4個(gè)從處理器3-A. . . 3-D組成第一處理器集合1-A,第二主處理器2-B 與4個(gè)從處理器3-E. . . 3-H組成第二處理器集合1-B,依此類(lèi)推還有別的很多組合方式。
權(quán)利要求
一種可重新配置處理器集合的處理器陣列,其特征在于處理器陣列包括多個(gè)處理器集合,處理器集合之間通過(guò)全局總線和全局總線交換單元相互連接;處理器集合包括一個(gè)主處理器和零個(gè)或零個(gè)以上從處理器,對(duì)于零個(gè)以上從處理器的情況,在每一個(gè)處理器集合中,主處理器通過(guò)局部總線與局部總線交換單元連接,多個(gè)從處理器均連接到局部總線交換單元,局部總線交換單元之間通過(guò)局部總線連接;數(shù)據(jù)讀總線把一個(gè)處理器集合中的所有從處理器串聯(lián)成一個(gè)隊(duì)列,隊(duì)列尾部連接到主處理器;寄存器通信總線將一個(gè)處理器集合中的所有從處理器連接成一個(gè)雙向拓?fù)洵h(huán);對(duì)于處理器集合包括零個(gè)以上從處理器的情況,從處理器與局部總線交換單元相連的總線有指令總線、數(shù)據(jù)寫(xiě)總線、數(shù)據(jù)讀總線和寄存器通信總線,每一個(gè)從處理器配置有多個(gè)延遲匹配單元,延遲匹配單元由多個(gè)單位延遲、一個(gè)配置寄存器和一個(gè)復(fù)用選擇器組成,多個(gè)單位延遲依次串接,每一個(gè)單位延遲和配置寄存器的輸出端均接到復(fù)用選擇器的輸入端,配置寄存器存儲(chǔ)延遲的具體大小;在從處理器的指令總線輸入端、數(shù)據(jù)寫(xiě)總線輸入端、數(shù)據(jù)讀總線輸出端、寄存器通信總線左輸入端和寄存器通信總線右輸入端均設(shè)置一個(gè)延遲匹配單元;局部總線交換單元中的指令總線交換單元的結(jié)構(gòu)為包括一個(gè)交換控制模塊和6個(gè)復(fù)用選擇器,交換控制模塊控制復(fù)用選擇器的選擇關(guān)系;復(fù)用選擇器分為兩種,第一種復(fù)用選擇器用于與從處理器連接,各有三個(gè)輸入端口,第一個(gè)端口連接到本局部總線交換單元所屬的主處理器的指令總線輸入端,第二端口連接到來(lái)自上邊相鄰局部總線交換單元的指令總線輸入端,第三端口連接到來(lái)自下邊相鄰局部總線交換單元的指令總線輸入端;每一個(gè)第一種復(fù)用選擇器需要2比特控制信息,根據(jù)控制信息分別選擇輸出3種總線輸入;第二種復(fù)用選擇器用于與局部總線交換單元連接,具有2個(gè)輸入端,需要1比特控制信息;局部總線交換單元中的數(shù)據(jù)總線交換單元包括數(shù)據(jù)寫(xiě)總線、數(shù)據(jù)寫(xiě)總線交換控制模塊、數(shù)據(jù)寫(xiě)總線復(fù)用選擇器、數(shù)據(jù)讀總線、數(shù)據(jù)讀總線交換控制模塊和數(shù)據(jù)讀總線復(fù)用選擇器;數(shù)據(jù)寫(xiě)總線的通信模式為廣播模式,數(shù)據(jù)寫(xiě)總線交換控制模塊控制數(shù)據(jù)寫(xiě)總線復(fù)用選擇器選擇關(guān)系;數(shù)據(jù)讀總線的通信為分布模式或選擇模式,分布模式為處理器集合中的各從處理器按照時(shí)間順序依次向主處理器發(fā)送數(shù)據(jù),選擇模式為只選擇一個(gè)從處理器發(fā)送數(shù)據(jù)到主處理器;數(shù)據(jù)讀總線交換控制模塊控制數(shù)據(jù)讀總線復(fù)用選擇器的選擇關(guān)系。
2.根據(jù)權(quán)利要求1所述的可重新配置處理器集合的處理器陣列,其特征在于所述的 局部總線交換單元中具有寄存器通信總線,寄存器通信總線將處理器集合中的所有從處理 器連成一個(gè)雙向拓?fù)洵h(huán),從處理器與在雙向拓?fù)洵h(huán)中左右相鄰的從處理器進(jìn)行寄存器間的 通信;寄存器通信總線的交換單元的包括1個(gè)寄存器通信總線交換控制模塊和10個(gè)交換單 元復(fù)用選擇器,寄存器通信總線交換控制模塊控制10交換單元復(fù)用選擇器的選擇關(guān)系。
全文摘要
本發(fā)明提供了一種可重新配置處理器集合的處理器陣列,包括多個(gè)處理器集合,處理器集合之間通過(guò)全局總線和全局總線交換單元相互連接;處理器集合包括一個(gè)主處理器和零個(gè)或零個(gè)以上從處理器,對(duì)于零個(gè)以上從處理器的情況,在每一個(gè)處理器集合中,主處理器通過(guò)局部總線與局部總線交換單元連接,多個(gè)從處理器均連接到局部總線交換單元,局部總線交換單元之間通過(guò)局部總線連接;數(shù)據(jù)讀總線把一個(gè)處理器集合中的所有從處理器串聯(lián)成一個(gè)隊(duì)列,隊(duì)列尾部連接到主處理器。本發(fā)明的處理器陣列是建立在結(jié)合并行處理結(jié)構(gòu)和多態(tài)硬件結(jié)構(gòu)的基礎(chǔ)上的,是一個(gè)可以同時(shí)滿足并行處理和可重新配置硬件的多核心處理器平臺(tái)。
文檔編號(hào)G06F13/40GK101908032SQ20101026673
公開(kāi)日2010年12月8日 申請(qǐng)日期2010年8月30日 優(yōu)先權(quán)日2010年8月30日
發(fā)明者吳桂清, 王衛(wèi)平, 陳容 申請(qǐng)人:湖南大學(xué)