多核系統中NoC通訊架構的關(guān)鍵技術(shù)(二)
圖9是二維Mesh網(wǎng)格中維序路由的一種算法,稱(chēng)為xy路由。表示不同源節點(diǎn)、目的節點(diǎn)下維序路由算法得出的路由路徑結果以及在二維Mesh網(wǎng)絡(luò )中,路由路徑的可能轉向。數據包先在x維度上投遞,然后在y維度上投遞,直至達到目的節點(diǎn),該路由算法不會(huì )出現死鎖現象。
5 交換技術(shù)
交換技術(shù)是按照某種方式動(dòng)態(tài)地分配傳輸線(xiàn)路和接口的資源,是影響網(wǎng)絡(luò )性能,決定交換節點(diǎn)結構的重要技術(shù)。NoC中運用的交換技術(shù)可分為兩類(lèi):面向連接的和無(wú)連接的。面向連接的交換方式主要有電路交換,無(wú)連接的方式主要有存儲交換、虛切通和蟲(chóng)孔交換。
?。?)電路交換(Circuit Switching)是一種面向連接的交換機制。在通信之前,要通過(guò)信息頭按照路由規則選路,然后建立路徑,同時(shí)預定所經(jīng)過(guò)路徑的信道資源。目的端在成功收到此信息頭后將沿原路返回一個(gè)應答,源節點(diǎn)收到此應答后便開(kāi)始傳輸數據。數據傳輸之前源節點(diǎn)和目的節點(diǎn)之間建立直接的連接路徑,一旦數據開(kāi)始傳輸,消息的傳輸不會(huì )阻塞。數據部分在網(wǎng)絡(luò )中傳輸時(shí)將獨占此路徑中各段鏈路的整個(gè)帶寬,無(wú)需做路由選擇。
?。?)存儲交換(Store and Forward Switching)是先將數據完全存儲,然后進(jìn)行路南決策,最后再轉發(fā)到下一節點(diǎn)的一種交換機制。NoC中的存儲交換主要以分組為流控單元,每個(gè)分組有一個(gè)分組頭,含有源、目的節點(diǎn)地址以及其它控制信息。路由節點(diǎn)接收到一個(gè)分組后,先將整個(gè)分組存儲在緩存器中,從分組頭中獲取路由信息由路由器的路南決策單元選擇一條輸出通道后,置位交叉矩陣中的內部連接,如果下一路由節點(diǎn)中有足夠的空間存放此分組,就將此分組轉發(fā)到下一路由節點(diǎn)。存儲交換的優(yōu)點(diǎn)是通道只在一個(gè)數據包需要傳輸的時(shí)候才被占用。
?。?)虛切通交換(Virtual Cut-throuth Switching)將分組進(jìn)一步劃分為更小的片,并按順序排好,將所需的路由信息放入第一個(gè)片中,在無(wú)阻塞的情況下,路由節點(diǎn)收到頭片后,從中讀取路由信息,然后由路由決策單元負責選路,如果輸出通道空閑,則將頭片轉發(fā)出去,后續片緊隨頭片向前路由,從而在較大程度上縮小了存儲交換的時(shí)延。由于在任何一個(gè)節點(diǎn)上都可能有多條消息被阻塞,每一個(gè)節點(diǎn)都要提供能存儲所要通過(guò)他的數據的存儲空間。所以每一個(gè)節點(diǎn)都需要較大的存儲空間。
?。?)蟲(chóng)孔交換(Wormhole Switching)是目前NoC中的主流交換機制。它和虛切通交換的思想基本相同,只是二者在發(fā)生阻塞時(shí)所表現出的行為不同。在蟲(chóng)孔交換中,數據包也被細分成片,以流水的方式在網(wǎng)絡(luò )上傳輸,并且允許一個(gè)分組由一個(gè)片組成。頭片中包含路由信息,其他數據片都跟隨頭片在他確定的路徑上流動(dòng),就像蟲(chóng)子一樣。當頭片發(fā)生阻塞時(shí),分組中的所有片都將停止前進(jìn),頭片緩存在當前節點(diǎn),數據片就地緩存在其后的若干個(gè)中間節點(diǎn)中。每個(gè)路由節點(diǎn)只需提供一個(gè)片大小的緩存資源。蟲(chóng)孔交換對數據包大小和路徑長(cháng)度不敏感,資源占用少,實(shí)現代價(jià)小,且效率高,適合NoC使用。蟲(chóng)孔交換的示意圖如圖10所示。
蟲(chóng)孔交換結構的處理過(guò)程如下:數據包的片段到達蟲(chóng)孔交換結構,存儲在輸入通道緩存單元中,并進(jìn)行路由計算。得到路由信息后,數據包提出傳輸請求,仲裁器根據請求進(jìn)行帶寬資源分配,一旦該數據片被允許傳輸,它將被交換到目的端口并投遞出去,直到數據包的最后一個(gè)片段離開(kāi)交換節點(diǎn)。根據此處理過(guò)程,蟲(chóng)孔交換電路的結構如圖11所示,由緩存單元、路由計算單元、仲裁請求管理單元、交換分配和交換陣列5部分組成。
在VLSI實(shí)現中,NoC交換節點(diǎn)多采用流水結構設計,一般流水處理結構分為路由計算、通道分配、交換分配、數據交換和傳輸等5級。在NoC設計中,總是希望得到良好的網(wǎng)絡(luò )性能,從交換節點(diǎn)設計角度考慮,減少交換結構的流水處理級數是縮短網(wǎng)絡(luò )延時(shí)的有效方法,流水處理級數越少,數據包通過(guò)交換節點(diǎn)的時(shí)間就越短。
不同的NoC交換技術(shù),對應著(zhù)不同的網(wǎng)絡(luò )性能和實(shí)現代價(jià),要根據實(shí)際要求進(jìn)行選擇。

評論