新四季網

一種多核心處理器的製作方法

2023-07-09 20:22:11 1

專利名稱:一種多核心處理器的製作方法
技術領域:
本發明屬於計算機與數字通信領域,涉及一種多核心處理器,,該多核心處理器中 的所有主處理器和從處理器都是超長指令字處理器。
背景技術:
數字通信尤其是無線通信的快速發展對數位訊號處理的能力提出了越來越高的 要求。依靠提高主頻來提高數位訊號處理能力的方法受限於晶片功耗,散熱和製造工藝,擴 展能力有限。超長指令字(VLIW)和多核心的處理器結構能夠很好地擴展數位訊號處理器 的能力。我們知道,並行計算機或者是超長計算機就是用網絡把一些通用的處理器或計算 機連接在一起提供強大的處理器能力,並行計算機的架構和編程的模式都影響並行處理的 能力。由於數位訊號處理多是並行的處理運算,尤其是矢量運算,所以我們可以在嵌入式的 數位訊號處理器中採用類似超長計算機的結構,即在一塊晶片上集成很多個處理器核心, 這些處理器核心通過晶片上的總線互相通信協作,這樣能夠有效的提高處理器的能力,這 類處理器我們叫做多核心處理器或者處理器陣列。多核處理器的關鍵是多個核心之間的通 信和協作。多核心處理器按照多核之間的通信方式可以劃分為三種第一種是共享內存的 多核心處理器,多核心處理器中不同的核心可以訪問同一塊公共內存(Share memory),這 樣多核心之間通過共享內存來通信。第二種是分布式內存(Distributed memory)的多核 心處理器,多核心之間通過消息傳遞來通信。第三種是前兩種模式的混合,整個處理器陣列 劃分成處理器集合(Cluster),每個處理器集合內部的多個核心之間是通過共享內存方式 通信,處理器集合之間是通過消息傳遞來通信。在並行計算機或者超長計算機結構中,無論 是共享內存還是分布式內存或者是混合式結構,多個處理器之間的協作除了與並行計算機 的結構有關外,還與編程模式比如是MPI還是OpenMP或者是MPI+OpenMP有很大的關係。對 嵌入式的多核心處理器,很難應用複雜的編程模式,所以多核心之間的協作更多的依賴硬 件結構。

發明內容
本發明的目的就是在採用上述第三種混合式多核心架構的基礎上,設計一種具有 超長指令字處理器陣列的多核心處理器,讓每一個處理器集合中的多個處理器以及不同的 處理器集合之間能夠無縫的協作,從而更好地完成單指令多數據(SIMD)或者多指令多數 據(MIMD)的並行處理工作。本發明的技術解決方案如下一種多核心處理器,包括多個按照行列分布的處理器集合和一個調試配置單元, 所述處理器集合中有一個主處理器和多個從處理器,所述的多個從處理器之間以及從處理 器和主處理器之間通過局部總線連接,其特徵為,所述主處理器和從處理器都是超長指令 字處理器;處理器集合為M*N個,組成多個處理器集合的M*N陣列;M、N分別為行數和列數,且均為大於1的自然數;共有M*N個交換單元與M*N個處理器集合一一對應;且M*N陣列的 每一個節點處設有一個所述的交換單元;上下或左右相鄰的交換單元之間以及處理器集合 與對應的交換單元之間均通過全局總線連接;M*N個交換單元中的第一行交換單元均與調 試配置單元通過全局總線連接。所述調試配置單元有N套輸入輸出埠通過全局總線分別連接到多核心處理器 的N列處理器集合,每套全局總線的輸入端都連接到一個FIFO緩衝器上,FIFO緩衝器的寬 度等於總線寬度,N個FIFO緩衝器的非空狀態線組合在一起連接到調試控制狀態機,調試 控制狀態機與所述N個FIFO緩衝器的使能端之間通過讀使能控制信號線相接,每個FIFO 緩衝器的輸出端連接到有N個輸入埠的復用器的一個輸入埠 ;調試控制狀態機分別與 調試寄存器與JTAG接口相連接;控制狀態機與JTAG接口相連。控制狀態機主要有三個狀 態發送程序控制命令(執行,停止,單步執行等),寫數據到處理器集合,讀取處理器集合 的數據。狀態機的切換由JTAG接口輸入的信息,調試寄存器中的內容和N個FIFO緩衝器 的狀態來控制。調試控制狀態機向所述N個FIFO緩衝器發出讀使能信號,FIFO緩衝器的輸出端 連接到有N個輸入埠的復用器的輸入埠。處理器集合向調試配置單元發送控制信息一 股都是因為調試配置單元發出了讀取控制信息命令,在這種情況下,某一時刻只可能有一 個處理器集合向調試配置單元發送控制消息。如果處理器集合有突發控制信息要發送到調 試配置單元,比如遇到中斷,錯誤,在這種情況下,有可能有多個處理器集合向調試配置單 元同時發送控制信息,這時FIFO緩衝器會緩存這些控制信息,調試配置單元依次檢查並讀 取N個FIFO緩衝器中緩存的控制信息。在非調試模式下,在整個多核心處理器復位以後, 調試配置單元從非易失性存儲器讀取程序並且配置到相應的處理器集合。在調試模式下, 調試配置單元從調試埠獲取開發工具發出的消息數據,配置或者控制整個多核心處理器 的運行,同時收集從各處理器集合返回的調試跟蹤等控制信息,並且通過調試埠發送到 開發工具。當調試配置單元要配置控制處理集合中的從處理器時,調試配置單元只與處理 器集合中的主處理器通信,通過主處理器間接配置控制從處理器,因為從處理器的指令執 行由主處理器控制並且主處理器可以讀取從處理器的存儲和配置單元。所述的交換單元包括X套輸入輸出埠 ;每一套輸入輸出埠的輸出埠接一個 多輸入與門的輸出端;所述多輸入與門的X-I路輸入端對應另外X-I套輸入輸出埠的輸 入埠 ;每一套輸入輸出埠的輸入埠均接有一個交換路由控制器;每一個交換路由控 制器輸出端接和該交換路由控制器對應的輸入輸出埠之外的X-I套輸入輸出埠中的 輸出端復用器的控制端,輸出端復用器的的一個輸入端是全『1』,另一個輸入端是總線輸 入,輸出端復用器的輸出埠連接到多輸入與門的輸出埠,X取值為5。路由控制器檢測全局數據總線輸入的數據類型,如果總線中傳輸的是路由信息, 路由控制器取出路由信息中和本交換單元對應的X-I比特路由信息,X-I對應全局交換單 元中除和路由控制器對應的輸入輸出埠之外的X-I套輸入輸出埠中的輸出端。每1比 特的路由信息控制一個復用器,復用器的一個輸入端是全『1』,另一個輸入端是總線輸入。 復用器的輸出埠連接到多輸入與門的輸入埠,路由控制器通過控制復用器來控制與之 對應的輸入埠連接到其它的X-I套輸入輸出埠的輸出埠。所述的全局數據總線的輸出總線及輸入總線的總線寬度都是D+T比特,其中D比特用來傳輸數據信息,D取值為32,另外T比特用來傳輸數據信息的類型,T取值為3。其中 D比特用來傳輸數據信息,另外T比特用來傳輸數據信息的類型,用來區分全局總線中傳輸 的是數據,讀寫地址還是路由信息等。調試配置單元通過全局總線發送調試或配置等控制 信息到處理器集合及處理器集合返回控制信息給調試配置單元的時,首先發送路由信息, 路由信息是固定的,因為調試配置單元和處理器集合之間的物理位置是固定的。然後發送 地址信息,不同的地址空間對應不同的控制信息。當處理器集合之間通過全局總線進行普 通的數據通信時,首先發送路由信息,然後發送數據信息,路由信息是由應用程式開發工具 編譯用戶程序後自動生成,並且存儲在處理器集合的主處理器中。所述的主處理器包括控制使能信號輸入埠、全局總線埠、局部總線接口、配置 與控制模塊、延遲匹配單元、主處理器復用器、程序存儲器,數據存儲器、寄存器文件、取指 令單元、指令解碼單元、讀寄存器單元、執行單元和寫寄存器單元;主處理器的配置和控制 模塊依次通過第一主處理器復用器和數據寫總線與從處理器通信連接;取指令單元與程序 存儲器連接,主處理器通過局部總線中的數據寫總線和數據讀總線與從處理器通信連接; 主處理器通過全局總線與另外的處理器集合通信;全局總線輸入的如果是從調試配置單元 來的控制信息,經過延遲匹配單元後進入配置與控制模塊,如果需要配置從處理器,主處理 器通過局部數據寫總線配置從處理器,因為主處理器可以讀取從處理器的所有存儲單元。 主處理器的配置和控制模塊發送到從處理器的控制信號經過復用器和數據寫總線發送到 從處理器;全局總線輸入的如果是從另外的處理器集合來的數據信息,數據信息將被執行 單元處理。控制信息和數據信息由控制使能信號區分,在各自不同的時隙裡面傳輸。取指 令單元從程序存儲器讀取指令然後根據程序流控制發送指令到指令解碼單元或者通過指 令總線發送到從處理器。主處理器通過局部總線中的數據寫總線發送數據到從處理器。然 後通過數據讀總線把從處理器處理之後的數據讀取到主處理器或者通過全局總線發送到 另外的處理器集合。所述的從處理器包括局部總線接口和一些處理器通用的結構如數據存儲器,寄存 器文件,指令解碼單元,讀寄存器單元,執行單元和寫寄存器單元等。從處理器可以沒有程 序存儲器和取指令單元。主處理器經數據寫總線發送數據到從處理器。主處理器經指令總 線發送超長指令字到從處理器,然後直接經過指令解碼單元解碼然後被執行單元執行。編 碼在超長指令字中的程序流控制指令可以告知從處理器是否要執行主處理器發送來的超 長指令字,這樣主處理器就可以控制超長指令字是否在從處理中執行,可以控制超長指令 是在所有從處理器中執行或者僅在指定的從處理器中執行。數據讀總線把一個處理器集合 中的所有從處理器按順序串起來,前一個從處理器的數據讀總線輸出連接到當前從處理器 的數據讀總線輸入,當前從處理器的數據讀總線輸出連接到下一個從處理器的數據讀總線 輸入,這樣處理器集合中的從處理器發送到主處理器的數據復用在一起,連接到主處理器 的數據讀總線輸入端。所述局部總線包括用於主處理器讀寫從處理器的數據存儲器的數據讀總線和數 據寫總線、用於主處理器發送超長指令字到從處理器的指令總線,還包括將處理器集合中 的多個從處理器連成一個雙向拓撲環的寄存器通信總線,第一寄存器通信總線傳輸來自於 拓撲環中左邊相鄰從處理器的寄存器通信數據,第二寄存器通信總線傳輸來自於拓撲環中 右邊相鄰從處理器的寄存器通信數據,第三寄存器通信總線發送寄存器通信數據到拓撲環中左右相鄰的從處理器。拓撲環中的左右關係就是按照逆時針方向的前後關係。所述主處理器和所述從處理器都是超長指令字處理器(VLIW),有F個並行的功能 單元,每個指令周期可以同時執行P條指令,P條指令分別在F個功能單元中的P個功能單 元中執行,F可能遠遠大於P。所述局部總線中的指令總線的寬度是V+1比特,其中V比特用來傳輸超長指令字, 與超長指令字的最大長度相同,為64比特,另外的1比特為指令有效位;所述局部總線中的 數據寫總線及數據讀總線的寬度為D+T比特,其中D比特用來傳輸數據信息,D取值為32, 另外T比特用來傳輸數據信息的類型,T取值為3。5套輸入輸出埠分別連接上邊相鄰交換單元的輸入輸出埠、連接下邊相鄰交 換單元的輸入輸出埠、連接左邊相鄰交換單元的輸入輸出埠、連接右邊相鄰交換單元 的輸入輸出埠和連接相鄰主處理器單元的輸入輸出埠。所述超長指令字中每個功能單元中指令的編碼格式和長度可能不同,比如某一些 功能單元中指令的長度可能是16,另一些功能單元中指令的長度可能是21,這樣超長指令 字的編碼和長度是靈活可變的,比如超長指令字的長度可能是64比特、48比特、32比特、16 比特、8比特等。所述主處理器和所述從處理器中F個功能單元通過交換網絡訪問寄存器文件的P 個讀寫埠,讀寫埠的數量P與超長指令字中可同時執行的指令數相同。讀寄存器返回 的結果與功能單元的執行結果通過交換網絡重定向到功能單元作為操作數。有益效果與現有的技術相比,本發明在採用混合式多核心架構的基礎上,設計一種具有超 長指令字處理器陣列的多核心處理器,讓每一個處理器集合中的多核心之間能夠無縫的協 作,從而更好地完成單指令多數據(SIMD)或者多指令多數據(MIMD)的並行處理工作。傳 統的多核心處理器架構中處理器集合中的處理器單元互相之間通過訪問同一塊共享內存 來互相協作,這樣不容易改變處理器集合中處理器單元的個數,同時處理器集合中處理器 單元之間的同步也比較困難,而且如果要處理數位訊號處理中的單指令多數據運算,各個 處理器單元都要存儲同樣的指令,這樣浪費了程序存儲器。本發明在一個處理器集合中設 置一個主處理器和若干從處理器,主處理器和從處理器之間及從處理器和從處理器之間通 過固定的總線結構連接,從處理器的個數很容易擴展。從處理器執行的指令和數據都來自 於主處理器。主處理器可以讀寫從處理器的數據存儲器。對於單指令多數據的運算,主處 理器發送不同的數據到不同的從處理器上,發送同樣的超長指令字到各從處理器上,從處 理器之間還可以通過寄存器通信總線快速的交換數據,這樣處理器集合中的各從處理器執 行同樣的超長指令字,處理不同的數據,數據處理完之後,主處理器把從處理器處理完之後 的數據收集起來,發送到另外的處理器集合,由此可見處理器集合中各從處理器的協作是 無縫的,不同處理器單元之間的同步很容易。另外傳統的多核心處理器中的配置和控制信 息往往通過專門的配置和控制總線傳輸,然而配置和控制通信往往和普通的數據通信不是 同時發生,所以普通的數據通信和控制通信可以時分復用,這樣節省了總線資源,本發明的 多核心處理器就是用數據總線來傳輸控制信息,這樣在保證功能完整性的同時節省了總線 資源。本發明中的超長指令字的編碼方法和與之對應的多功能單元訪問寄存器文件的方法 相比較傳統的方法更靈活,這樣帶來更好的並行處理器能力。傳統的方法是把多個功能單元分成幾組,每組連接一個寄存器文件讀寫埠,這樣同組中的不同功能單元中的指令就 不能同時執行。本發明中多個功能單元通過交換網絡來訪問寄存器文件,這樣任意的多個 功能單元中的指令都能編碼在同一個超長指令字中,即可同時執行,指令解碼單元通過譯 碼超長指令字中的配置信息很容易來控制寄存器文件訪問交換網絡。


圖1為多核心處理器的方框圖;圖2為圖1中總線連接關係的局部放大圖;圖3為調試配置單元的內部結構示意圖;圖4為全局總線交換單元的內部結構示意圖;圖5為主處理器內部結構示意圖;圖6為從處理器內部結構示意圖;圖7為主處理器和從處理器共同採用的寄存器文件訪問及功能單元執行結果重 定向交換網絡的簡化框圖;圖8為處理器的超長指令字的編碼方法示意圖;圖9為圖7中功能單元訪問寄存器文件的交換網絡的示意圖;圖10為圖7中功能單元讀寄存器文件返回結果與功能單元執行結果重定向到功 能單元作為指令操作數的交換網絡示意圖。
具體實施例方式以下將結合圖和具體實施過程對本發明做進一步詳細說明。實施例1 圖1中包括多個處理器集合1,所述處理器集合包括一個主處理器2及若干從處理 器3,主處理器和從處理器及從處理器和從處理器之間由局部總線4連接,處理器集合之間 以及處理器集合與調試配置單元之間由全局總線5及交換單元(SWITCH) 6連接,在多核心 處理器上可能還集成了一些外設或者硬體加速單元,圖1中沒有示出,這些外設或者硬體 加速單元也可以通過全局總線5與調試配置單元和處理器集合相連。主處理器2控制從處理器3執行的指令及數據,從處理器可以沒有程序存儲器和 取指令單元,主處理器經局部總線4中的指令總線發送超長指令字到從處理器3,數據由主 處理器2的數據存儲器經局部總線4中的數據總線到達從處理器3,數據或者由全局數據 總線5經主處理器2及局部總線4中的數據總線到達從處理器3。一個處理器集合1中的 所有從處理器3在主處理器2的控制和協調下一起完成單指令多數據(SIMD)或者多指令 多數據(MIMD)的任務。比如我們要計算xl, x2, x3, x4, x5, x6, x7, x8奇偶相鄰位置的和, 即xl+x2,x3+x4, x5+x6, x7+x8。主處理器通過局部總線中的數據寫總線把xl,x2發送到 第一個從處理器中,x3,x4發送到第二個從處理器中,x5,x6發送到第三個從處理器中,x7, x8發送到第四個從處理器中,然後通過局部總線中的指令總線發送加法指令到所有從處理 器執行,這樣四個從處理器同時計算出四個結果,四個結果通過數據總線返回給主處理器, 這樣我們就完成了單指令多數據計算。如果我們要同時計算xl+x2,x3+x4, x5+x6, x7+x8 和xl*x2,x3*x4,x5*x6,x7*x8,和前面類似,首先主處理器分發數據到從處理器,然後主處理器發送超長指令字到從處理器,超子指令字中含有並行執行的加法指令和乘法指令,這 樣就可以完成多指令多數據的任務。如果我們要計算xl+x2,x2+x3, x3+x4, x4+x5, x5+x6, x6+x7, x7+x8,和前面類似,首先主處理器分發數據到從處理器,然後主處理器發送加發指 令到各從處理器,得到xl+x2,x3+x4, x5+x6, x7+x8,然主處理器發送寄存器通信指令到從 處理器,從處理之間通過局部總線中的寄存器通信總線交換數據,交換之後,第一個從處理 器中的數據是x2,x3,第二個從處理器中的數據是x4,x5,第三個從處理器中的數據是x6, x7,第四個從處理器中的數據是x8,xl,主處理器然後發送加發指令到各從處理器,從處理 器執行加法指令後得到結果x2+x3,x4+x5, x6+x7, x8+xl,然後從處理器把計算結果xl+x2, x2+x3, x3+x4, x4+x5, x5+x6, x6+x7, x7+x8 返回給主處理器。圖2是圖1中總線連接關係的放大圖,示出了處理器集合1內部及處理器集合之 間總線連接關係。主處理器2-A可以通過全局數據總線中的輸出總線5-1向外發送數據信 息,也可以通過全局數據總線中的輸入總線5-2從外部接收數據信息。主處理器2-A可以通
過局部總線中的指令總線4-1發送超長指令字到從處理器3-A.....3-D。局部總線中指令
總線4-1的寬度是65比特,其中64比特用來傳輸超長指令字,另外1比特為指令有效位。 局部總線中的數據寫總線4-2和數據讀總線4-3以及全局總線5的總線寬度都是35比特, 其中32比特用來傳輸數據信息,另外3比特用來傳輸數據信息的類型,表中給出數據寫總 線4-2和數據讀總線4-3及全局總線所傳輸的數據信息的類型 當全局總線中傳輸的是地址時,地址的具體格式是0到3比特是處理器集合所在 的行;4到7比特是處理器集合所在的列;8到11比特是處理器集合中處理器的編號(主 處理器編號是0,其它從處理器從1開始依次累加);12到15代表配置的類型,有程序存儲 器,數據存儲器,寄存器文件,特殊寄存器等存儲單元或者是發送消息或命令;16到31是存 儲或配置單元的地址,如果不是配置存儲單元而是發送消息或命令,這16比特代表消息或命令的類型。局部總 線中的地址的格式和全局總線中地址的格式不同。局部總線中數據寫總線 中傳輸的32位寫地址或讀地址的格式一樣0到1比特是代表寫數據類型,「00」代表32位 寫數據中只有低8位有效,「01」代表只有低16位有效,「10」代表32位數據有效;2到3比 特代表數據分發的模式,「00」代表廣播模式,「01」代表分布模式,「10」代表選擇模式;4到 7比特代表從處理器在處理器集合中的編號;8到15代表採用分布式數據分發時,數據分發 的單位,是寫數據類型的倍數;16到31比特代表從處理器中存儲單元的地址。主處理器2-A可以通過局部總線中的數據寫總線4-2存儲數據到從處理器
3-A.....3-D的數據存儲器。主處理器首先通過數據寫總線4-2發送寫地址信息到各從處
理器,各從處理器解析地址的具體含義,從處理器首先解析地址信息中的2-3位,如果數據 分發是廣播模式,表示接下來數據寫總線中傳輸的每一個寫數據,從處理器都要存儲到地 址信息中16到31位所指定的地址。如果數據分發是分布模式,每個從處理器中有一個寫 數據計數器,計數器從零開始計數,如果計數器的當前輸出和從處理器的編號一樣(從處 理器3-A的編號是0,從處理器3-B的編號是1,依此類推),表明數據寫總線的數據要存儲 到當前從處理器的數據存儲器,否則不存儲,因為數據寫總線的數據是要存儲到別的從處 理器上。不管數據寫總線上的有效數據是不是要存儲到當前從處理器的存儲器,一旦數據 寫總線上收到一個數據分發的單位,所有從處理的計數器都要加1並且模上處理器集合中 從處理器的總數。如果數據分發的模式是選擇模式,主處理器發送過來的數據只存儲到地 址信息的4到7比特所指定的從處理器。主處理器2-A也可以通過局部總線中的數據讀總線4-3讀出從處理器3-A.....
3-D的數據存儲器中的數據,數據讀總線4-3的寬度是也是35比特,其中32個比特返回讀 出的數據,3個比特代表數據類型。讀數據的地址通過數據寫總線4-2發送到所有從處理
器。數據讀總線4-3把從處理器3-A.....3-D從按順序串起來,從處理器3-A是頭,從處理
器3-D是尾,然後連接到主處理器2-A,這樣除從處理器3-A之外,其它從處理器的數據讀 總線的輸入端4-3-1連接到前一叢處理器數據讀總線的輸出端4-3-2,除從處理器3-D之 夕卜,數據讀總線的輸出端連接到下一個從處理器數據讀總線的輸入端。讀數據只有兩種模 式,分布模式和選擇模式。如果是分布模式,和寫數據類似有一個讀數據計數器,從零開始 計數,如果計數器的當前輸出和從處理器的編號一樣,則從存儲器中讀取一個數據單位,然 後輸出到數據讀總線的輸出端4-3-2,如果計數器的當前輸出和從處理器的編號不一樣,則 把數據讀總線輸入端4-3-1的數據直接輸出到數據讀總線的輸出端4-3-2,不管讀數據計 數器的當前輸出和從處理器的編號是不是一樣,只要經過了一個數據單位傳送的時間,所 有從處理器中的讀數據計數器都增加1並且模上處理器集合中從處理器的總數。讀數據的 選擇模式和寫數據的選擇模式一樣,比較簡單,只有讀數據地址所選擇的從處理器才向數 據讀總線上發送數據。所述處理器集合中的所有從處理器3-A.....3-D通過寄存器通信總線4_4. . . 4-6
連接成一個雙向拓撲環,寄存器通信總線的寬度是32比特。從處理器可以和拓撲環中左右 相鄰(即拓撲環中按逆時針方向的前後關係)的從處理器交換數據信息。例如從處理器 3-A左邊相鄰的從處理器3-D通過寄存器通信總線4-4發送數據到從處理器3-A,從處理器 3-A右邊相鄰的從處理器3-B通過寄存器通信總線4-5發送數據到從處理器3-A,從處理器3-A通過寄存器通信總線4-6發送數據到左相鄰的從處理器3-D和右相鄰的從處理器3-B。主處理器2-A和主處理器2-B之間通過全局總線5以及全局總線交換單元6通信。圖3示出了調試配置單元的簡化框圖。調試配置單元9有N套輸入輸出埠通過 全局總線5分別連接到多核心處理器的N列處理器集合,每套全局總線的輸入端都連接到 一個FIFO 9-5上,FIFO的寬度等於總線寬度,N個FIFO的非空(not empty)狀態線9_6 組合在一起連接到調試控制狀態機9-3,調試控制狀態機9-3向N個FIFO發出讀使能信號 9-7,FIFO的輸出端連接到有N個輸入埠的復用器9-4的輸入埠。處理器集合向調試 配置單元發送控制信息一股都是因為調試配置單元發出了讀取處理器集合的命令,在這種 情況下,某一時刻只可能有一個處理器集合向調試配置單元發送控制消息。如果處理器集 合有突發控制信息要發送到調試配置單元,比如遇到中斷,錯誤,在這種情況下,有可能有 多個處理器集合向調試配置單元同時發送控制信息,這時FIFO會緩存這些控制信息,調試 控制狀態機9-3依次檢查並讀取N個FIFO中緩存的控制信息。在非調試模式下,在整個多 核心處理器復位以後,調試配置單元從非易失性存儲器讀取程序並且配置到相應的處理器 集合。在調試模式下,調試配置單元從調試埠 10獲取開發工具發出的消息數據,配置或 者控制整個多核心處理器的運行,同時收集從各處理器集合返回的調試跟蹤等控制信息, 並且通過調試埠發送到開發工具。調試配置單元的某些配置和狀態信息存儲在調試寄存 器9-2中.當調試配置單元要配置控制處理集合中的從處理器時,調試配置單元只與處理 器集合中的主處理器通信,通過主處理器間接配置控制從處理器,因為從處理器的指令執 行由主處理器控制並且主處理器可以讀取從處理器的存儲和配置單元。圖4示出全局總線交換單元的一種實現方案。對從上下左右全局總線交換單元 和主處理器來的輸入分別進行交換路由控制,比如對主處理器來的輸入5-1,交換路由控制
6-1將控制四個復用器6-3.....6-6,復用器有兩個輸入埠,每個埠的位寬和全局總線
寬度一樣,是35位,一個埠接全局總線輸入,另一個埠接全『 1』,即35個『 1』。每1比特 路由信息來控制一個復用器,路由信息是『0』選擇輸出全『1』,路由信息是『1』選擇輸出全 局總線輸入5-1。復用器的輸出端接一個與門6-2的輸入端,與門有4個輸入埠,每個端 口位寬和全局總線寬度一樣是35位。1比特路由信息控制復用器6-3代表是否選擇輸出到 上邊全局總線交換單元,1比特路由信息控制復用器6-4代表是否選擇輸出到下邊全局總 線交換單元,1比特路由信息控制復用器6-5代表是否選擇輸出到左邊全局總線交換單元, 1比特路由信息控制復用器6-6代表是否選擇輸出到右邊全局總線交換單元,這樣需要4個 比特的交換路由信息,如果全局總線上的控制信息或數據信息要跨越N個全局總線交換單 元,那麼總共需要4N個比特的全局總線交換路由信息,控制信息和數據信息每經過一個全 局總線交換單元,和全局總線輸入端相連的路由控制器首先取出針對本全局總線交換單元 的交換路由信息,然後傳輸剩下的4N-4個比特交換路由信息到下一個全局總線交換單元。 表中示出不同輸入總線來源的控制,U代表上邊全局總線交換單元,D代表下邊全局總線交 換單元,L代表左邊全局總線交換單元,R代表右邊全局總線交換單元,M代表主處理器。
當處理器集合之間發送數據信息時,路由信息由應用程式開發工具編譯用戶應用 程序自動生成。當調試配置單元發送控制信息到處理器集合時,經過所有全局總線交換單 元的交換路由信息總是「1001」,因為控制信息總是從總線交換單元的上方到達,然後輸出 到同列下方的總線交換單元,同時輸出到主處理器。當處理器集合向調試配置單元發送控 制信息時,經過所有全局總線控制單元的交換路由信息總是「1000」,因為控制信息總是由 主處理器來,然後從交換單元的上邊輸出。圖5示出主處理器一種實現方案。主處理器包括控制使能信號輸入埠、全局總 線接口、局部總線接口、配置與控制模塊2-1、延遲匹配單元2-2和復用器2-3、2-4和一些 處理器通用的結構如程序存儲器2-5,數據存儲器2-6,寄存器文件2-7,取指令單元2-8,指 令解碼單元2-9,讀寄存器單元2-10,執行單元2-11和寫寄存器單元2-12等。主處理器中 的配置與控制模塊2-1負責與調試配置單元9的通信以及配置和控制主處理器和從處理 器。調試配置單元9通過發送控制使能信號11到主處理器告知全局總線5-1中傳輸的是 數據信息還是控制信息,控制使能信號輸入是1比特,調試配置單元引出N列控制使能信號 線,每一根控制使能信號線對應一列處理器集合,處理器集合中的主處理器與控制信號線 相連。當控制使能信號11為高電平時,配置和控制模塊2-1從全局總線5-1上讀取信息並 且解讀為控制信息,根據控制信息的具體內容來決定如何配置和控制主處理器。由於處理 器陣列中主處理器與調試配置單元的距離遠近不同,所以通信的延遲也不一樣,為了使調 試配置單元到所有主處理器的控制信息同時到達,處理器中有一個延遲匹配單元2-2,根據 主處理器的物理位置和總線5-1中傳輸的是控制信息與否來配置匹配延遲單元中的延遲, 如果總線5-1中傳輸的是數據信息,不需要匹配延遲,即匹配延遲是0。對於M*N的處理器 集合陣列。假設全局總線每跨越一個全局總線交換單元延遲是1,那麼每一列處理器集合 中的最後一行的匹配延遲是0,倒數第二行的匹配延遲是1,依此類推,第一行的匹配延遲 是M-1。主處理器中的配置控制模塊2-1可以經過全局總線5-2返回控制信息給調試配置單元。全局數據總線5-2可以傳輸主處理器的數據或控制信息,傳輸的具體信息通過復用 器2-3來選擇,如果控制使能信號輸入為『 1』,表示正在進行控制通信,那麼復用器選擇控 制信息,控制使能信號輸入為『O』選擇數據。主處理器的配置控制模塊2-1還負責配置控 制從處理器,配置控制從處理器和讀寫從處理器的存儲單元的過程一樣。取指令單元2-8 從程序存儲器2-5讀取指令然後根據程序流控制發送指令到指令解碼單元2-9或者通過指 令總線4-1發送到從處理器。主處理器通過局部總線中的數據寫總線4-2發送數據到從處 理器。然後通過數據讀總線4-3把從處理器處理之後的數據讀取到主處理器或者通過全局 總線5-2發送到另外的處理器集合。 圖6示出從處理器的一種實現方案。從處理器包括局部總線接口和一些處理器通 用的結構如數據存儲器3-6,寄存器文件3-7,指令解碼單元3-9,讀寄存器單元3-10,執行 單元3-11和寫寄存器單元3-12等。從處理器可以沒有程序存儲器和取指令單元。主處理 器經數據寫總線4-2發送數據到從處理器。主處理器經指令總線4-1發送超長指令字到從 處理器,然後直接經過指令解碼單元3-9解碼然後被執行單元3-11執行。編碼在超長指令 字中的程序流控制指令可以告知從處理器是否要執行主處理器發送來的超長指令字,這樣 主處理器就可以控制超長指令字是否在從處理中執行,可以控制超長指令是在所有從處理 器中執行或者僅在指定的從處理器中執行。數據讀總線4-3把一個處理器集合中的所有從 處理器按順序串起來,前一個從處理器的數據讀總線輸出連接到當前從處理器的數據讀總 線輸入4-3-1,當前從處理器的數據讀總線輸出4-3-2連接到下一個從處理器的數據讀總 線輸入,這樣處理器集合中的從處理器發送到主處理器的數據復用在一起,連接到主處理 器的數據讀總線輸入端。圖7示出了主處理器和從處理器共同採用的寄存器文件訪問及功能單元執行結
果重定向交換網絡的簡化框圖。超長指令字處理器中可能有多個功能單元7-1.....7-5,可
能分別對應算術邏輯單元(ALU),數據存取單元(LSU),乘累加單元(MAC),通信單元(COM)
和程序流控制單元(FCU)。多個功能單元中7-1.....7-5可以並行執行多條指令,即超長指
令字中包含多條可並行執行的指令。由於指令總線7-7的寬度可能受限,超長指令字的最 大長度一股就是指令總線7-7的寬度,所以超長指令字的長度也可能受限,雖然處理器中 有F個並行的功能單元,但是超長指令字中最多有P條可並行執行的指令,F有可能遠遠大 於P。這樣處理器中雖然有F個獨立的功能單元,但是每個機器周期同時只有P個功能單元 可並行執行指令,這樣也就可能最多只有P個功能單元需要同時訪問寄存器文件,這樣寄
存器文件可以只有P個讀寫埠。處理器中的多個功能單元7-1.....7-5通過一個交換網
絡7-8連接到寄存器文件7-9的讀寫埠 7-10。指令解碼單元7-6根據超長指令字中所包
含的指令可以控制交換網絡7-8。讀寄存器文件7-9的返回結果和功能單元7-1.....7-5
的執行結果一起通過交換網絡7-8重定向到功能單元7-1.....7-5作為指令操作數。圖8示出了超長指令字處理器結構的超長指令字的編碼方法。超長指令字8-1最 多可包含V個比特。超長指令字中最多包含P條指令8-3。超長指令字中P條指令可能有不 同的指令格式和長度。超長指令字8-1中包含一個配置和控制區域8-2,配置區域可能包含 F+1個比特,這樣F+1個配置比特可以表明超長指令字中包含了 F個功能單元中的那些功能
單元的指令以及是否有一個指令帶長立即操作數。8-4.....8-10示出了一個具有超長指
令字編碼格式8-1的編碼實例,其中指令總線的寬度是64比特,5個功能單元可能是算術邏輯單元(ALU),數據存取單元(LSU),乘累加單元(MAC),通信單元(COM)和程序流控制單元 (F⑶),這些功能單元的指令格式分為兩種,一種是21比特,6比特是操作碼(OPCODE),5比 特是第一個源操作數(SRCA),5比特是第二個源操作數(SRCB),5比特是目標操作數(DST); 一種是16比特,6比特是操作碼(OPCODE),5比特是第一個源操作數(SRCA),5比特是第二 個源操作數,也是目標操作數(DST);長立即數是16比特。超長指令字中最多可編碼3條 並行指令。根據超長指令字中並行指令的多少不同,超長指令字的長度可以是64比特,48 比特,32比特,16比特和8比特。圖9示出了圖7中寄存器文件訪問交換網絡的實現方案。如果處理器中有5個功
能單元7-1.....7-5,但是只有3個寄存器文件讀寫埠 7-10A,7-10B, 7-10C,根據表格中
三個典型的交換控制我們可以得出寄存器文件訪問交換控制算法功能單元7-1.....7-3
可以訪問埠 7-10A,功能單元7-2、· · ·、7-4可以訪問埠 7-10B,功能單元7-3、· · ·、7_5 可以訪問埠 7-10C。指令解碼單元通過解碼超長指令字的配置信息8-2可以生成寄存器 訪問交換控制信息。 超長指令字經過指令解碼後指令執行可能至少經過三級流水線(Pipeline)讀
寄存器流水(EX0/RR),執行流水(EXl),寫寄存器流水(EX2/RW)。7_1_0.....7_5_0代表功
能單元7-1.....7-5的讀寄存器流水,7-1-1.....7-5-1代表功能單元7-1.....7_5執行流
水,7-1-2.....7-5-2代表功能單元7-1.....7-5的寫寄存器流水。功能單元讀寄存器流水
7-1-0.....7-5-0輸出的讀寄存器控制信息7-11經過選擇器7-12連接到寄存器文件7_9
的讀埠 7-13上,7-14是讀寄存器文件的返回結果。功能單元寫寄存器流水7-1-2.....
7-5-2輸出的寫寄存器控制信息7-15經過選擇器7-16連接到寄存器文件的寫埠 7_17 上。圖10示出了圖7中讀寄存器返回結果和功能單元執行結果重定向交換網絡的實 現方案。根據寄存器文件訪問控制的算法,相應的讀寄存器結果返回交換控制算法是控制 單元7-1的讀寄存器結果可能來自於埠 7-10A,控制單元7-2的讀寄存器結果可能來自 於埠 7-10A和7-10B,控制單元7-3的讀寄存器結果可能來自於埠 7-10A和7-10B及 7-10C,控制單元7-4的讀寄存器結果可能來自於埠 7-10B和7-10C,控制單元7_5的讀寄 存器結果可能來自於埠 7-10C。讀寄存器文件7-9的返回結果7-14與功能單元執行流水
7-1-1.....7-5-1輸出的結果7-18和功能單元寫寄存器流水7_1_1.....7-5-1輸出的結
果7-19 —同經過選擇器7-20後到達功能單元作為指令操作數7-21。實施例2
圖1中全局總線5既可以傳輸處理器集合之間多點對多點的數據通信,也可以傳 輸調試配置單元與處理器集合之間的配置、調試及跟蹤等控制信息。多核心處理器系統可 以工作在調試模式和非調試模式兩種模式。不管是調試模式還是非調試模式,在多核心處 理器開始運行代碼之前,調試配置單元9負責配置整個多核心處理器上所有處理器集合中 主處理器的程序存儲器,即把需要在處理器集合中執行的代碼載入到主處理器的程序存儲 器中。同時調試配置單元還有可能需要初始化處理器集合中主處理器和從處理器的寄存器 文件,數據存儲器或其它特殊寄存器。在多核心處理器上電復位 之後,進入空閒狀態。如果是調試模式,調試配置單元 可以開始從調試埠 10接收從開發工具來的消息並向處理器集合轉發。如果是非調試模 式,調試配置單元從片外或者片內集成的非易失性存儲器中讀取程序等配置信息配置處理 器集合。這裡把配置信息和調試跟蹤信息都稱作控制信息,是為了和處理器集合之間傳遞 的數據信息區分。調試配置單元在向處理器集合發送控制信息的過程中,控制使能信號置 『1』,發送控制信息的過程如下步驟dl.交換路由信息,值總是「10011001100110011001100110011001」,每經過
一個全局總線交換單元需要4比特,如果經過的總線交換單元的個數大於8,可能要重複多 次步驟dl。步驟d2.寫地址(包含處理器集合所在的行和列,處理器集合中的主處理器還是 從處理,配置存儲單元還是發送消息命令,存儲單元的地址或消息命令的類別等信息)。如 果調試配置單元希望讀出處理器集合中存儲單元的內容,這裡則發送讀地址。然後調試配 置單元等待處理器集合的反饋。處理器集合中的主處理器執行步驟ul到步驟u4。步驟d3.寫數據(配置程序存儲器的代碼,配置其它存儲單元的數據,消息和命令 的具體內容)步驟d4.跳轉到步驟d3,重複多次,直到此項配置結束步驟d5.跳轉到步驟d2,重複多次,直到所有需要配置的處理器集合配置結束。如果圖5中控制使能信號11為高,則表示調試配置單元目前正在往處理器集合發 送控制信息,主處理器進入配置或者調試等待狀態,如果全局總線5-1發送的是寫地址並 且指向本主處理器則主處理器進入配置或者調試狀態,等待配置數據或者命令。如果地址 指向同一處理器集合中的從處理器,則主處理器也負責配置從處理器,因為主處理器可以 讀寫從處理器所有的存儲配置單元。整個多核心處理器配置結束之後,如果是非調試模式,多核心處理器則進入運行 狀態。如果是調試模式,多核心處理器進入空閒等待狀態。調試配置單元可能還會發送設 置軟中斷指令到處理器集合,發送過程如同步驟dl到步驟d2。調試配置單元然後可能發 送執行指令(RUN)或者單步執行指令(STEP)到處理器集合,發送過程如同步驟dl到步驟 d2。如果某個處理器集合中的主處理器執行程序的過程中碰到了軟中斷,則停在軟中斷位 置,然後向調試配置單元發送消息告知碰到了軟中斷,處理器集合向調試配置單元發送控 制信息的過程是步驟ul.交換路由信息,值總是「10001000100010001000100010001000」,每經過
一個全局總線交換單元需要4比特,如果經過的總線交換單元的個數大於8,可能要重複多 次步驟ul。
步驟u2.讀地址(這裡是表明控制信息來源的地址)步驟u3.讀數據步驟u4.根據步驟u2中地址信息的具體含義,可能重複多次步驟u3主處理器發送完控制信息之後重新進入空閒等待狀態。這時調試配置單元可能需 要讀出處理器集合中的存儲單元,這時調試配置單元執行步驟dl和步驟d2,主處理器執行 步驟ul到步驟u4。這樣調試配置單元只要執行步驟dl到步驟d5,處理器集合中的主處理 器執行步驟Ul到步驟u4,就可以完成了調試配置單元和處理器集合之間的所有可能的控 制通信。實施例3按照圖2中所示的總線設置方式包括全局總線5,全局總線交換單元6和局部總線
4。一個處理器集合I-A中的所有從處理器3-A.....3-D在主處理器2-A的控制和協調下
共同來完成單指令多數據或者多指令多數據的任務,同時不同的處理器集合可以處理不同的任務。為了使多核心處理器的處理能力增加,或者增加每個處理器集合中的從處理器的 個數,也可以增加處理器集合的個數。處理器集合中從處理器個數的增加不改變總線的結 構和主處理器及從處理器的總線輸入輸出埠。增加處理器集合的個數不改變全局總線和 全局總線交換單元的結構,所以本發明的多核心處理器的處理器能力很容易擴展。假如要對數位訊號進行濾波,並且調整增益,數學表達式如下
L-Iy[n] = g[n]+ l]c[l]
1=0假定輸入數據χ和增益調整係數g及濾波器係數c都是16比特的整數,共有8個 抽頭,即L = 8,數據χ的長度是64。下面說明本發明的多核心處理器如何進行這樣的數字 信號處理器。我們可以把這個運算分成兩個任務,任務1是進行濾波,任務2是計算乘法。當編 譯器編譯這兩個任務時會自動選擇兩個處理器集合來完成,當然也可以由程式設計師明確指定 處理器集合。假如這兩個任務將在處理器器集合I-A和處理器集合I-B中分別完成,數據 都已經存儲在主處理器2-A的數據存儲器當中。任務1和任務2的代碼分別存儲在主處理 2-A和主處理器2-B的程序存儲器中,主處理器負責從程序存儲器當中取出超長指令字,根 據編碼在超長指令字中的程序流控制指令來控制超長指令字在主處理中或者是發送到從 處理器執行。以下是任務1和任務2可能的偽代碼任務1的偽代碼步驟1.通過局部數據寫總線4-2分發濾波輸入數據χ到從處理器3-A.....3-D,
數據類型是16比特,分布式,數據單位是1,即1個16比特,從處理器數據存儲器的起始地
址是0。步驟2.通過局部數據寫總線4-2分發濾波器係數c到從處理器3-A.....3-D,數
據類型是32比特,廣播式,從處理器數據存儲器的起始地址是256。步驟3.經全局總線5-1發送增益調整係數g到處理器集合1-B,路由信息是 「00010100」,「0100」是經過交換單元6-A用到的路由信息,「0001」是經過交換單元6-B用 到的路由信息。以上數據通信都可以設置專門的直接內存訪問DMA來完成。
步驟5.經指令總線4-1發送超長指令字到所有從處理器。超長指令字是EXEB/LOADDxaddr, 0, r W 1],本條超長指令字中有兩條指令,分別來自程序流控制單元(FCU)和 存取單元(LSU)。指令EXEB是程序流控制指令,代表本條超長指令字及接下來的超長指令 字都在所有從處理器中執行(廣播執行模式);LOADD從基地址xaddr,地址偏移量為0,讀 取兩個16比特數到寄存器r0和rl,這裡假定每個寄存器是16位比特。這樣從處理器3-A 讀取了 x
和x[4],從處理3-B讀取了 x[l]和χ[5],從處理器3-C讀取了 χ[2]和χ[6], 從處理3-D讀取了 χ [3]和χ[7]。步驟7.發送超長指令字到所有從處理器。超長指令字是ADD xaddr,6, xaddr/ L0ADffxaddr,2, r2,本條超長指令字中有兩條指令,分別來自算術邏輯單元(ALU)和數據存 取單元(LSU),LOADff從基地址xaddr,地址偏移量為2,讀取一個16比特數到寄存器r2。這 樣從處理器3-A讀取了 χ [8],從處理3-B讀取了 χ [9],從處理器3-C讀取了 χ [ 10],從處理 3-D讀取了 χ [11]。加法指令更新基地址xaddr步驟8.發送超長指令字到所有從處理器。超長指令字是ADD caddr,2, caddr/ L0ADffcaddr,0, rlO,本條超長指令字中有兩條指令,分別來自算術邏輯單元(ALU),和存取 單元(LSU)。從處理器讀取濾波器係數c [1],並且更新基地址caddr。步驟9.發送超長指令字到所有從處理器。超長指令字是MUL rO, rlO, acc,本條 超長指令字中只有一條指令,來自乘累加單元(MAC),數據乘上濾波器係數,結果存到累加 寄存器acc ο步驟10.發送超長指令字到所有從處理器。超長指令字是COPY r2,rO/EXES 0,本 條超長指令字中有兩條指令,分別來自算術邏輯單元(ALU)和程序流控制單元(FCU)。程序 流控制指令EXES代表本超長指令字及接下來的超長指令字都只在從處理器0中執行。COPY 指令拷貝r2的內容到r0。步驟10.發送超長指令字到所有從處理器。超長指令字是EXEB/RC0ML r2,本條超 長指令字中有兩條指令,分別來程序流控制單元(FCU)和通信單元(COM)。RCOML指令代表 通過寄存器通信總線4-6向拓撲環中左邊相鄰的從處理器發送r2,然後讀取拓撲環中右邊 相鄰的從處理器通過寄存器通信總線發來的數據,存儲在r2中。EXEB指令代表本條超長指 令字及接下來的超長指令字都在所有從處理器中執行步驟11.發送超長指令字到所有從處理器。超長指令字是LOAD caddr, 0, rlO/ RC0ML2mod, r W 1],本條超長指令字中有兩條指令,分別來自存取單元(LSU)和通信控制 單元(COM)。寄存器通信指令RC0ML2按照mod指定的模式通過寄存器通信總線4_6向拓 撲環中左邊相鄰的從處理器發送r
的內容,然後讀取拓撲環中右邊相鄰的從處理器 通過寄存器通信總線發來的數據,存儲在r
中。發送的模式mod可以定義很多種,比 如在特定的從處理器中或者所有的從處理器中,當存儲接收到的寄存器通信數據時,r0和 Π的內容互相交換等。這裡我們指定從處理器3-D存儲右邊相鄰從處理器3-Α發來的數據 時,r0和rl的內容互相交換。步驟12.發送超長指令字到所有從處理器。超長指令字是MAC r0,rlO,acc,數據 乘上濾波器係數,結果累加到累加寄存器acc步驟13.程序跳轉指令,在主處理器中執行。跳到步驟10,循環步驟10到步驟13 總共7次。所有程序流控制單元中的程序跳轉指令比如無條件跳轉JMP和其它有條件跳轉等都只能在主處理器中執行。當遇到跳轉指令時,意味著跳轉指令及接下來的超級指令字 都在主處理器上執行,不需要發送到從處理器。當然如果超長指令字中有EXEB和EXES指 令則要把超長指令字發送到從處理器。步驟14.發送超長指令字到所有從處理器。超長指令字是EXEB\RDACC r[4:5],讀 取累加寄存器到寄存器r4和r5中,步驟15.發送超長指令字到所有從處 理器。超長指令字是ADD yaddr,4, yaddr\ STOREr [4:5],yaddr, 0,存儲結果到數據存儲器,存儲的起始地址是512,地址偏移量是0。步驟16.跳到步驟5,循環步驟5到步驟16總共14次。每個循環產生4個濾波輸 出,即總共有56個濾波輸出。步驟17.主處理器讀取從處理的數據存儲器,地址512,分布模式,數據類型是32 比特,數據單位是1。讀取數據之後,馬上通過全局總線5-1發送到處理器集合1-B。發送 過程與步驟3類似。主處理器2-B上運行的任務2的偽代碼相對任務1來說比較簡單。首先就是從全 局數據總線5-2讀取增益調整係數g並以分布模式分發到本處理器集合中的所有從處理器
3-E.....3-H。然後從全局數據總線5-2讀取濾波器輸出並以分布模式分發到本處理器集
合中的所有從處理。然後分發讀取指令,乘法指令及存儲指令到所有從處理器,這樣循環14 次,即完成了 56個濾波輸出的增益調整。綜上所述,由於數據處理由處理器集合中的S個從處理並行處理完成,所以可以 提高速度S倍。同時也可以把數據處理分成多個任務,然後映射到不同的處理器集合中完 成,進一步提高處理的速度。根據數據處理能力的需要,可以增加處理器集合中從處理器的 個數,或者增加處理器集合的個數。
權利要求
一種多核心處理器,包括多個按照行列分布的處理器集合(1)和一個調試配置單元(9),所述處理器集合(1)中有一個主處理器(2)和多個從處理器(3),所述的多個從處理器(3)之間以及從處理器(3)和主處理器(2)之間通過局部總線(4)連接,其特徵為,所述主處理器(2)和從處理器(3)都是超長指令字處理器;處理器集合為M*N個,組成多個處理器集合的M*N陣列;M、N分別為行數和列數,且均為大於1的自然數;共有M*N個交換單元(6)與M*N個處理器集合一一對應;且M*N陣列的每一個節點處設有一個所述的交換單元(6);上下或左右相鄰的交換單元(6)之間以及處理器集合(1)與對應的交換單元之間均通過全局總線(5)連接;M*N個交換單元(6)中的第一行交換單元(6)均與調試配置單元(9)通過全局總線(5)連接。
2.根據權利要求1所述的多核心處理器,其特徵在於,所述調試配置單元(9)有N套 輸入輸出埠通過全局總線(5)分別連接到多核心處理器的N列處理器集合,每套全局總 線的輸入端都連接到一個FIFO緩衝器(9-5)上,FIFO緩衝器的寬度等於總線寬度,N個 FIFO緩衝器的非空狀態線(9-6)組合在一起連接到調試控制狀態機(9-3),調試控制狀態 機(9-3)與所述N個FIFO緩衝器的使能端之間通過讀使能控制信號線(9-7)相接,每個 FIFO緩衝器的輸出端連接到有N個輸入埠的復用器(9-4)的一個輸入埠 ;調試控制狀 態機(9-3)分別與調試寄存器(9-2)與JTAG接口相連接;控制狀態機與JTAG接口相連。所述的交換單元(6)包括X套輸入輸出埠 ;每一套輸入輸出埠的輸出埠接一個 多輸入與門(6-2)的輸出端;所述多輸入與門的X-I路輸入端對應另外X-I套輸入輸出端 口的輸入埠 ;每一套輸入輸出埠的輸入埠均接有一個交換路由控制器(6-1);每一 個交換路由控制器(6-1)輸出端接和該交換路由控制器對應的輸入輸出埠之外的X-I套 輸入輸出埠中的輸出端復用器的控制端,輸出端復用器的的一個輸入端是全『1』,另一個 輸入端是總線輸入,輸出端復用器的輸出埠連接到多輸入與門的輸出埠,X取值為5。
3.根據權利要求2所述的多核心處理器,其特徵在於,所述的全局數據總線(5)的輸出 總線(5-1)及輸入總線(5-2)的總線寬度都是D+T比特,其中D比特用來傳輸數據信息,D 取值為32,另外T比特用來傳輸數據信息的類型,T取值為3。所述的主處理器包括控制使能信號輸入埠、全局總線埠、局部總線接口、配置與 控制模塊(2-1)、延遲匹配單元(2-2)、主處理器復用器、程序存儲器(2-5),數據存儲器 (2-6)、寄存器文件(2-7)、取指令單元(2-8)、指令解碼單元(2-9)、讀寄存器單元(2_10)、 執行單元(2-11)和寫寄存器單元(2-12);主處理器的配置和控制模塊(2-1)依次通過第 一主處理器復用器(2-3)和數據寫總線(4-2)與從處理器通信連接;取指令單元(2-8)與 程序存儲器(2-5)連接,主處理器通過局部總線中的數據寫總線(4-2)和數據讀總線(4-3) 與從處理器通信連接;主處理器通過全局總線(5-2)與另外的處理器集合通信;所述局部總線(4)包括用於主處理器(2)讀寫從處理器(3)的數據存儲器的數據讀總 線(4-3)和數據寫總線(4-2)、用於主處理器⑵發送超長指令字到從處理器(3)的指令總 線(4-1),還包括將處理器集合(1)中的多個從處理器(3)連成一個雙向拓撲環的寄存器通 信總線,第一寄存器通信總線(4-4)傳輸來自於拓撲環中左邊相鄰從處理器的寄存器通信 數據,第二寄存器通信總線(4-5)傳輸來自於拓撲環中右邊相鄰從處理器的寄存器通信數 據,第三寄存器通信總線(4-6)發送寄存器通信數據到拓撲環中左右相鄰的從處理器。
4.根據權利要求3所述的多核心處理器,其特徵在於,所述局部總線(4)中的指令總線(4-1)的寬度是V+1比特,其中V比特用來傳輸超長指令字,與超長指令字的最大長度相同, 為64比特,另外的1比特為指令有效位;所述局部總線⑷中的數據寫總線(4-2)及數據 讀總線(4-3)的寬度為D+T比特,其中D比特用來傳輸數據信息,D取值為32,另外T比特 用來傳輸數據信息的類型,T取值為3。
5.根據權利要求2所述的多核心處理器,其特徵在於,5套輸入輸出埠分別連接上邊 相鄰交換單元的輸入輸出埠、連接下邊相鄰交換單元的輸入輸出埠、連接左邊相鄰交 換單元的輸入輸出埠、連接右邊相鄰交換單元的輸入輸出埠和連接相鄰主處理器單元 的輸入輸出埠。
全文摘要
本發明提供了一種多核心處理器,包括多個按照行列分布的處理器集合和一個調試配置單元,所述處理器集合中有一個主處理器和多個從處理器,所述主處理器和從處理器都是超長指令字處理器;處理器集合為M*N個,組成多個處理器集合的M*N陣列;共有M*N個交換單元與M*N個處理器集合一一對應;且M*N陣列的每一個節點處設有一個所述的交換單元;上下或左右相鄰的交換單元之間以及處理器集合與對應的交換單元之間均通過全局總線連接;M*N個交換單元中的第一行交換單元均與調試配置單元通過全局總線連接。本發明能實現讓每一個處理器集合中的多個處理器之間能夠無縫的協作。
文檔編號G06F15/17GK101882127SQ201010189558
公開日2010年11月10日 申請日期2010年6月2日 優先權日2010年6月2日
發明者吳桂清, 王衛平, 陳榮 申請人:湖南大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀