多核系統中NoC通訊架構的關鍵技術(二)
3 NoC的通訊協議
NoC是片上通信基礎結構,借鑒網絡中的分層思想,NoC設計采用普通的通信分層方法,定義5個協議層:物理層、數據鏈路層、網絡層、傳輸層和系統層。圖5是NoC一個典型的層次結構。
(1)物理層。物理層實現連接處理器資源與網絡的鏈路寬度和鏈路方向,因此帶寬負載能力、數據包大小及在兩節點之間的傳輸延遲等物理信息都是檢驗物理層設計質量的評估標準。片上網絡的物理層通訊采用握手協議完成,而握手協議可以分為同步協議與異步協議兩種。圖6為同步握手協議的示意圖,圖6(a)為物理通道信號。與計算機網絡多采用串行通訊方式不同,由于片上連線資源豐富,NoC可以使用并行通訊方式。因此同步方式和異步方式的Data信號寬度n,為》1的整數。握手協議需要請求信號Req和應答信號Ack完成通訊雙方握手操作,除此以外,同步方式需要時鐘信號Clock同步其余信號。
(2)數據鏈路層。數據鏈路層的功能就是將信息的每一個字準確地從一個節點傳輸到相鄰的節點上,定義了資源節點、通訊節點以及兩個通訊節點之間的傳輸協議,保證物理連接之間可靠的信息傳輸。由于兩個相鄰的節點可能以異步傳輸模式工作,因此需要考慮數據的出錯檢測與糾錯外,數據鏈路層還需要注意硬件同步問題,同時實現數據編碼和更好地控制數據傳輸率以及功耗管理。物理層和數據鏈路層均與工藝有關,即如采用新工藝,必須重新定義這兩個層。
報文格式的定義如圖7所示。報文由若干個幀組成。幀可分為頭幀、尾幀和實體幀3類。所有3類幀的組成相同,如圖8所示,均由頭標識位,尾標識位和幀負載位組成。
(3)網絡層。負責建立互連鏈接以及路由策略,因此片上網絡中各傳輸路徑的利用情況,在較大程度上取決于網絡層的設計結果。不同的鏈接建立方式在不同的網絡拓撲結構中性能各不相同,因此針對不同的應用和片上網絡結構,需要制定相應的鏈接建立方式。
(4)傳輸層。負責監視網絡流量、對數據包進行拆分及組裝,因此數據包發送速度、掉包率以及解決方案是衡量傳輸層設計質量的標準。另外傳輸層對網絡傳輸路徑上的流量控制,直接影響到數據傳輸的吞吐量,這也是衡量傳輸層性能的指標。
(5)系統層。該層的重要功能包括信息的同步和管理、接收端數據格式的轉換以及一些與應用相關的功能等。
4 路由算法
路由策略的研究是NoC中的一個重要內容,在給定的網絡拓撲結構下,決定數據包在網絡中的投遞路徑。其目的是使數據包的網絡延時、數據吞吐率、數據包投遞所需的功耗和可靠性都達到指標。
NoC路由算法的分類:依照路由結果的計算位置、路徑選擇方式、路徑距離等方法,由算法決定數據包在網絡結構中傳輸的方向,把傳輸路徑集合限制為合理的路徑子集。如果消息的路由完全由它的源和目的地址決定,與網絡中其他流量無關,這種路由算法稱為確定性路由,對于每一個源節點和目的節點之間,采用確定性路由得到一條路徑計算結果。而自適應路由算法是允許路徑上的其它流量影響數據包的路由策略,對于每一對源和目的節點,算法可根據網絡的擁堵狀況給出多條的路徑計算結果。路由計算模塊是一個相對獨立的處理單元,通常需要根據不同的算法改變交換節點中的路由計算模塊,就可以實現NoC路由算法的改變。
維序路由采用較為廣泛的路由算法,應用了確
評論