一種適用於片上網絡的高效數據流傳輸通信結構及其工作方法
2023-12-11 16:52:47
專利名稱:一種適用於片上網絡的高效數據流傳輸通信結構及其工作方法
技術領域:
本發明涉及一種適用於片上網絡的高效數據流傳輸通信結構及其工作方法,屬於通信技術領域。
背景技術:
片上網絡,英文簡稱N0C,是指在單晶片上集成大量的計算資源以及連接這些資源的通信網絡的片上系統,包括計算和通信兩個子系統,通信處理模塊及其間的互連線所構成的網絡被稱為片上通信網絡。目前,針對NOC的研究雖久熱不衰,但大多集中在理論研究與實驗室探索階段,尚無規模化的產品,主要原因之一就是難有高效可靠、協議安全完備、靈活標準的通信結構, 這些正是提高系統性能的關鍵方向。針對片上通信網絡的設計,本發明重點如下設計模塊化,接口標準化,提高對 NOC拓撲結構的適應性;採用交換開關陣列結構建立數據傳輸通道,數據傳輸並行,高效可靠;採用多緩存的虛擬通道技術,數據流傳輸性能高效;清晰簡潔地劃分數據包結構,以制定合理安全的通信協議。
發明內容
針對現有技術的不足,本發明提出一種適用於片上網絡的高效數據流傳輸通信結構及其工作方法,以促進多層NOC系統的設計中實現資源節點間高效通信,並使通信接口標準化,本發明尤其適用於需要處理和傳輸大量信息的數據流傳輸處理系統。可經集成電路工藝設計生產,實現為高效的多核系統。本發明的傳輸通信結構的技術方案如下—種適用於片上網絡的高效數據流傳輸通信結構,其特徵在於,傳輸通信結構包括多個數據處理層,每個數據處理層中包括多個通信單元、交換開關陣列108、仲裁控制模塊107和層間通信單元;所述通信單元包括資源節點模塊101、發送數據流狀態寄存與發送控制模塊105、 發送存儲模塊106、接收存儲模塊109和接收數據流狀態寄存與接收控制模塊110 ;所述的資源節點模塊101包括打包模塊103、解包模塊104和數據運算處理模塊102 ;其中發送存儲模塊106和接收存儲模塊109分別通過數據總線與交換開關陣列108相連;數據運算處理模塊102與打包模塊103、發送數據流狀態寄存與發送控制模塊105和發送存儲模塊106 順序相連;數據運算處理模塊102還與解包模塊104、接收存儲模塊109和接收數據流狀態寄存與接收控制模塊110順序相連;在數據處理層中,所述的仲裁控制模塊107通過控制總線分別與交換開關陣列 108、每個通信單元和層間通信單元相連;所述的交換開關陣列108為二維網格矩陣形式, 二維網格中的每一條線代表一路數據總線401,由i、j表示地第i行,第j列的交點,在i ^ j的網格交點i j403處均有一開關陣列402控制其連通與否,閉合此開關即可連通i j 資源節點模塊的傳輸通道;所述的層間通信單元包括外層資源節點路由模塊111、層間接收存儲模塊112和層間發送存儲模塊113 ;所述層間接收存儲模塊112和層間發送存儲模塊113分別通過數據總線與交換開關陣列108相連;所述發送存儲模塊106包括緩存選擇邏輯302、發送緩存303和發送選擇模塊 304 ;所述接收存儲模塊109包括緩存選擇邏輯302、接收選擇模塊305和接收緩存306 ;發送存儲模塊106和接收存儲模塊109構成存儲虛擬通道;所有數據處理層的外層資源節點路由模塊111通過數據總線彼此相連;發起通信的通信單元為源通信單元;接收通信的通信單元為目的通信單元;源通信單元所在的數據處理層為源數據處理層;目的通信單元所在的數據處理層為目的數據處理層;源通信單元和目的通信單元在同一數據處理層時,稱為同層;源通信單元和目的通信單元不在同一數據處理層時,稱為異層。一種適用於片上網絡系統中高效數據流傳輸通信結構的工作方法,其特徵在於, 工作方法如下1)在源通信單元中,資源節點模塊101將待發送數據通過打包模塊103添加包頭包尾構成一個數據包;2)在源通信單元中,數據包經發送存儲模塊106中緩存選擇邏輯302裝載進入對應目的源通信單元的發送緩存303,發送存儲模塊106提取包頭中所含的數據包狀態信息, 並將其傳送至源數據處理層中的仲裁控制模塊107進行傳輸狀態判斷處理;3)在源數據處理層中,仲裁控制模塊107進行傳輸狀態判斷處理首先判斷源通信單元和目的通信單元是否同層,如果同層,進行步驟a);如果異層,進行步驟b)a)在源數據處理層中,仲裁控制模塊107依據通道仲裁建立方法控制交換開關陣列108閉合相應開關,連通源通信單元的發送存儲模塊106與目的通信單元的接收存儲模塊109,建立傳輸通道;b)在源數據處理層中,仲裁控制模塊107依據通道仲裁建立方法控制交換開關陣列108閉合相應開關,連通發送存儲模塊106與層間通信單元的層間發送存儲模塊113, 經外層資源節點路由模塊111,控制連通層間發送存儲模塊113和目的數據處理層的層間接收存儲模塊112,在目的數據處理層中,經仲裁控制模塊107控制連通層間接收存儲模塊 112與目的通信單元中的接收存儲模塊109,建立傳輸通道;步驟幻中所述的通道仲裁建立方法,具體為i.如果沒有數據擁塞競爭情況,仲裁控制模塊107控制交換開關陣列108連通對應的數據傳輸通道,即建立源通信單元的發送存儲模塊106與目的通信單元的接收存儲模塊109間的傳輸通道並向仲裁控制模塊107應答;ii.如有存在數據擁塞競爭情況,則仲裁控制模塊107利用動態優先級查找方法判斷各數據傳輸通道的優先順序;如果片上網絡系統允許中斷發生,在仲裁控制模塊107 控制下優先級低的數據通道讓位於優先級高的數據通道傳輸;源通信單元的發送存儲模塊 106與目的通信單元的接收存儲模塊109連通;動態優先級查找方法為①·仲裁控制模塊107內含優先級狀態寄存器組,當片上網絡上電啟動時,向優先級狀態寄存器組中裝載默認值,優先級狀態寄存器組標識各數據傳輸通道的默認優先級; 當片上網絡運行時,優先級狀態寄存器組定時循環調整一次,使優先級最高的數據傳輸通道的優先級變為最低,其餘數據傳輸通道的優先級分別提高一級;②.當數據擁塞競爭時,仲裁控制模塊107首先比較各數據傳輸通道中數據包包頭中的傳輸優先級標識204的優先級高低,優先級高者先於優先級低者傳輸;當優先級高低相同時,仲裁控制模塊107查詢優先級狀態寄存器組,確認數據傳輸通道的優先傳輸順序;4)發送數據流狀態寄存與發送控制模塊105依據步驟幻建立的傳輸通道,控制數據包由源通信單元中的發送緩存303經發送選擇模塊304傳輸至目的通信單元中的接收存儲模塊109,接收存儲模塊109中的接收選擇模塊305將數據包裝載進對應於源通信單元的接收緩存306,將數據包包尾作為結束標識,結束傳輸;5)目的通信單元中的接收狀態寄存與接收控制模塊110,撤銷使用過的傳輸通道,並通知目的通信單元中的資源節點模塊101提取數據包;6)在目的通信單元中,數據運算處理模塊102提取數據包的數據由接收存儲模塊109中的緩存選擇邏輯302從接收緩存306中取出數據包的數據,由解包模塊104解包並使用數據包中的數據。資源節點模塊內的打包模塊用於將待發送數據整理成數據包,並添加包頭包尾數據,包頭數據標誌傳輸開始,同時提供數據包各類狀態信息,包尾用於標誌傳輸結束。其中包頭標識數據包的開始與數據包的各種需要的狀態信息,其按照數據位分別為31 30位 數據類型標識201 ;四 立源與目的資源節點所在層序號標識202 ;25 22位所在層內源與目的資源節點序號標識203 ;21 18位本數據包傳輸優先級標識204 ;17位傳輸中斷允許標識205 ;16 15位保留待用206 ;15 0 數據流包長度標識207。包尾標識數據包的結束。發送存儲模塊用於對不同目的資源節點準備發送緩存,在發送數據流狀態寄存與發送控制模塊下控制完成數據發送。仲裁控制模塊用於實現對數據交換通道建立的控制,並依據動態優先級查找方法
處理數據競爭擁塞。接收存儲模塊用於對不同的資源節點各自準備接收緩存,在接收數據流狀態寄存與接收控制模塊控制下實現數據接收。解包模塊用於在接收到數據包後解包,恢復傳輸的數據並送進一步處理。外層資源節點路由模塊用於當數據流的目的資源節點不在本層時的擴展傳輸。本發明具有如下優點本發明針對數據流傳輸數據,將各個功能單元模塊化,接口標準化,增強對NOC拓撲結構的適應性;對數據流的處理流程條理清晰,採用交換開關陣列結構建立數據傳輸通道,數據傳輸並行,高效可靠;採用多緩存的虛擬通道技術,大大方便於對數據擁塞的處理, 數據流傳輸性能高效;層間路由方法很大程度的降低資源節點的負擔;清晰簡潔劃分數據包結構,通信協議的制定合理安全,此通信結構可快速安全傳輸數據流,具有很好的靈活性與實用性。
圖1是本發明的同一數據處理層的結構示意圖;圖2是本發明的打包後數據包中包頭格式示意圖;圖3是本發明所述發送存儲模塊106的存儲擴展通道組成示意圖;圖4是本發明的交換開關陣列示意圖;其中,101、資源節點模塊;102、數據運算處理模塊;103、打包模塊;104、解包模塊;105、發送數據流狀態寄存與發送控制模塊;106、發送存儲模塊;107、仲裁控制模塊; 108、交換開關陣列;109、接收存儲模塊;110、接收數據流狀態寄存與接收控制模塊;111、 外層資源節點路由模塊;112、層間接收存儲模塊;113、層間發送存儲模塊;201、數據類型標識;202、源與目的資源節點所在層序號標識;203、所在層內源與目的資源節點序號標識;204、本數據包傳輸優先級標識;205、傳輸中斷允許標識;206、保留待用;207、數據流包長度標識;302、緩存選擇邏輯;303、發送緩存;304、發送選擇模塊;305、接收選擇模塊;306、 接收緩存;401、數據總線;402、網格交點;403、開關陣列。
具體實施例方式下面通過附圖和實施例對本發明的做進一步的詳細描述,但不限於此。實施例1、如圖1所示,一種適用於片上網絡的高效數據流傳輸通信結構,其特徵在於,傳輸通信結構包括多個數據處理層,每個數據處理層中包括多個通信單元、交換開關陣列108、 仲裁控制模塊107和層間通信單元;所述通信單元包括資源節點模塊101、發送數據流狀態寄存與發送控制模塊105、 發送存儲模塊106、接收存儲模塊109和接收數據流狀態寄存與接收控制模塊110 ;所述的資源節點模塊101包括打包模塊103、解包模塊104和數據運算處理模塊102 ;其中發送存儲模塊106和接收存儲模塊109分別通過數據總線與交換開關陣列108相連;數據運算處理模塊102與打包模塊103、發送數據流狀態寄存與發送控制模塊105和發送存儲模塊106 順序相連;數據運算處理模塊102還與解包模塊104、接收存儲模塊109和接收數據流狀態寄存與接收控制模塊110順序相連;在數據處理層中,所述的仲裁控制模塊107通過控制總線分別與交換開關陣列 108、每個通信單元和層間通信單元相連;所述的交換開關陣列108為二維網格矩陣形式, 二維網格中的每一條線代表一路數據總線401,由i、j表示地第i行,第j列的交點,在 i Φ j的網格交點ij403處均有一開關陣列402控制其連通與否,閉合此開關即可連通ij 資源節點模塊的傳輸通道;所述的層間通信單元包括外層資源節點路由模塊111、層間接收存儲模塊112和層間發送存儲模塊113 ;所述層間接收存儲模塊112和層間發送存儲模塊113分別通過數據總線與交換開關陣列108相連;所述發送存儲模塊106包括緩存選擇邏輯302、發送緩存303和發送選擇模塊 304 ;所述接收存儲模塊109包括緩存選擇邏輯302、接收選擇模塊305和接收緩存306 ;發送存儲模塊106和接收存儲模塊109構成存儲虛擬通道;
所有數據處理層的外層資源節點路由模塊111通過數據總線彼此相連;發起通信的通信單元為源通信單元;接收通信的通信單元為目的通信單元;源通信單元所在的數據處理層為源數據處理層;目的通信單元所在的數據處理層為目的數據處理層;源通信單元和目的通信單元在同一數據處理層時,稱為同層;源通信單元和目的通信單元不在同一數據處理層時,稱為異層。圖2所示為數據包中的數據格式,最高二位201標識區分普通數據與數據的包頭、 包尾。包頭數據包含源與目的資源節點所在層序號標識202欄位,用於標識多層NOC中數據包的源與目的資源節點所在的層序號;源與目的資源節點在其所在層內序號標識203, 用於標識資源節點在自身所在層中的序號,與層序號標識一同構成各資源節點的ID ;本數據包傳輸優先級標識204,用於在發生數據擁塞時為仲裁模塊提供仲裁判斷,確定優先次序,同時還用於在允許數據包傳輸過程中中斷發生的情況下控制中斷;傳輸中斷允許標識 205,用以標識該數據包傳輸過程中是否允許被中斷以讓位於優先級別更高的數據包優先傳輸;數據流包長度標識207,用以標識數據包長度,滿足對數據包處理的特定需要。圖3為存儲虛擬通道,資源節點模塊將發送數據包經選擇邏輯302送至發送緩存 303,發送緩存303針對層內其他每個資源節點模塊與層外資源節點模塊各自準備一個發送緩存,其後緩存數據包經發送選擇模塊304送出。接收時,數據包經接收選擇模塊305送入接收緩存306,針對層內其他每個資源節點與層外資源節點各自準備一個接收緩存,目的資源節點經緩存選擇邏輯302將數據包送至接收資源節點。圖4所示為交換開關陣列,它為二維網格矩陣形式,每一條線代表一路數據總線 401,由i、j表示地第i行,第j列的交點,在i Φ j的網格交點ij403處均有一開關陣列 402(標識為開關陣列ij)控制其連通與否,閉合此開關即可連通ij資源節點的傳輸通道。實施例2、一種適用於片上網絡系統中高效數據流傳輸通信結構的工作方法,其特徵在於, 工作方法如下1)在源通信單元中,資源節點模塊101將待發送數據通過打包模塊103添加包頭包尾構成一個數據包;2)在源通信單元中,數據包經發送存儲模塊106中緩存選擇邏輯302裝載進入對應目的源通信單元的發送緩存303,發送存儲模塊106提取包頭中所含的數據包狀態信息, 並將其傳送至源數據處理層中的仲裁控制模塊107進行傳輸狀態判斷處理;3)在源數據處理層中,仲裁控制模塊107進行傳輸狀態判斷處理首先判斷源通信單元和目的通信單元是否同層,如果同層,進行步驟a);如果異層,進行步驟b)a)在源數據處理層中,仲裁控制模塊107依據通道仲裁建立方法控制交換開關陣列108閉合相應開關,連通源通信單元的發送存儲模塊106與目的通信單元的接收存儲模塊109,建立傳輸通道;b)在源數據處理層中,仲裁控制模塊107依據通道仲裁建立方法控制交換開關陣列108閉合相應開關,連通發送存儲模塊106與層間通信單元的層間發送存儲模塊113, 經外層資源節點路由模塊111,控制連通層間發送存儲模塊113和目的數據處理層的層間接收存儲模塊112,在目的數據處理層中,經仲裁控制模塊107控制連通層間接收存儲模塊 112與目的通信單元中的接收存儲模塊109,建立傳輸通道;
8
步驟幻中所述的通道仲裁建立方法,具體為i.如果沒有數據擁塞競爭情況,仲裁控制模塊107控制交換開關陣列108連通對應的數據傳輸通道,即建立源通信單元的發送存儲模塊106與目的通信單元的接收存儲模塊109間的傳輸通道並向仲裁控制模塊107應答;ii.如有存在數據擁塞競爭情況,則仲裁控制模塊107利用動態優先級查找方法判斷各數據傳輸通道的優先順序;如果片上網絡系統允許中斷發生,在仲裁控制模塊107 控制下優先級低的數據通道讓位於優先級高的數據通道傳輸;源通信單元的發送存儲模塊 106與目的通信單元的接收存儲模塊109連通;動態優先級查找方法為①.仲裁控制模塊107內含優先級狀態寄存器組,當片上網絡上電啟動時,向優先級狀態寄存器組中裝載默認值,優先級狀態寄存器組標識各數據傳輸通道的默認優先級; 當片上網絡運行時,優先級狀態寄存器組定時循環調整一次,使優先級最高的數據傳輸通道的優先級變為最低,其餘數據傳輸通道的優先級分別提高一級;②.當數據擁塞競爭時,仲裁控制模塊107首先比較各數據傳輸通道中數據包包頭中的傳輸優先級標識204的優先級高低,優先級高者先於優先級低者傳輸;當優先級高低相同時,仲裁控制模塊107查詢優先級狀態寄存器組,確認數據傳輸通道的優先傳輸順序;4)發送數據流狀態寄存與發送控制模塊105依據步驟幻建立的傳輸通道,控制數據包由源通信單元中的發送緩存303經發送選擇模塊304傳輸至目的通信單元中的接收存儲模塊109,接收存儲模塊109中的接收選擇模塊305將數據包裝載進對應於源通信單元的接收緩存306,將數據包包尾作為結束標識,結束傳輸;5)目的通信單元中的接收狀態寄存與接收控制模塊110,撤銷使用過的傳輸通道,並通知目的通信單元中的資源節點模塊101提取數據包;6)在目的通信單元中,數據運算處理模塊102提取數據包的數據由接收存儲模塊109中的緩存選擇邏輯302從接收緩存306中取出數據包的數據,由解包模塊104解包並使用數據包中的數據。
權利要求
1.一種適用於片上網絡的高效數據流傳輸通信結構,其特徵在於,傳輸通信結構包括多個數據處理層,每個數據處理層中包括多個通信單元、交換開關陣列108、仲裁控制模塊 107和層間通信單元;所述通信單元包括資源節點模塊101、發送數據流狀態寄存與發送控制模塊105、發送存儲模塊106、接收存儲模塊109和接收數據流狀態寄存與接收控制模塊110 ;所述的資源節點模塊101包括打包模塊103、解包模塊104和數據運算處理模塊102 ;其中發送存儲模塊106和接收存儲模塊109分別通過數據總線與交換開關陣列108相連;數據運算處理模塊102與打包模塊103、發送數據流狀態寄存與發送控制模塊105和發送存儲模塊106順序相連;數據運算處理模塊102還與解包模塊104、接收存儲模塊109和接收數據流狀態寄存與接收控制模塊110順序相連;在數據處理層中,所述的仲裁控制模塊107通過控制總線分別與交換開關陣列108、每個通信單元和層間通信單元相連;所述的交換開關陣列108為二維網格矩陣形式,二維網格中的每一條線代表一路數據總線401,由i、j表示地第i行,第j列的交點,在i Φ j的網格交點i j403處均有一開關陣列402控制其連通與否,閉合此開關即可連通i j資源節點模塊的傳輸通道;所述的層間通信單元包括外層資源節點路由模塊111、層間接收存儲模塊112和層間發送存儲模塊113 ;所述層間接收存儲模塊112和層間發送存儲模塊113分別通過數據總線與交換開關陣列108相連;所述發送存儲模塊106包括緩存選擇邏輯302、發送緩存303和發送選擇模塊304 ;所述接收存儲模塊109包括緩存選擇邏輯302、接收選擇模塊305和接收緩存306 ;發送存儲模塊106和接收存儲模塊109構成存儲虛擬通道;所有數據處理層的外層資源節點路由模塊111通過數據總線彼此相連;發起通信的通信單元為源通信單元;接收通信的通信單元為目的通信單元;源通信單元所在的數據處理層為源數據處理層;目的通信單元所在的數據處理層為目的數據處理層;源通信單元和目的通信單元在同一數據處理層時,稱為同層;源通信單元和目的通信單元不在同一數據處理層時,稱為異層。
2.如權利要求1所述的適用於片上網絡系統中高效數據流傳輸通信結構的工作方法, 其特徵在於,工作方法如下1)在源通信單元中,資源節點模塊101將待發送數據通過打包模塊103添加包頭包尾構成一個數據包;2)在源通信單元中,數據包經發送存儲模塊106中緩存選擇邏輯302裝載進入對應目的源通信單元的發送緩存303,發送存儲模塊106提取包頭中所含的數據包狀態信息,並將其傳送至源數據處理層中的仲裁控制模塊107進行傳輸狀態判斷處理;3)在源數據處理層中,仲裁控制模塊107進行傳輸狀態判斷處理首先判斷源通信單元和目的通信單元是否同層,如果同層,進行步驟a);如果異層,進行步驟b)a)在源數據處理層中,仲裁控制模塊107依據通道仲裁建立方法控制交換開關陣列 108閉合相應開關,連通源通信單元的發送存儲模塊106與目的通信單元的接收存儲模塊 109,建立傳輸通道;b)在源數據處理層中,仲裁控制模塊107依據通道仲裁建立方法控制交換開關陣列 108閉合相應開關,連通發送存儲模塊106與層間通信單元的層間發送存儲模塊113,經外層資源節點路由模塊111,控制連通層間發送存儲模塊113和目的數據處理層的層間接收存儲模塊112,在目的數據處理層中,經仲裁控制模塊107控制連通層間接收存儲模塊112 與目的通信單元中的接收存儲模塊109,建立傳輸通道;步驟幻中所述的通道仲裁建立方法,具體為i.如果沒有數據擁塞競爭情況,仲裁控制模塊107控制交換開關陣列108連通對應的數據傳輸通道,即建立源通信單元的發送存儲模塊106與目的通信單元的接收存儲模塊 109間的傳輸通道並向仲裁控制模塊107應答; .如有存在數據擁塞競爭情況,則仲裁控制模塊107利用動態優先級查找方法判斷各數據傳輸通道的優先順序;如果片上網絡系統允許中斷發生,在仲裁控制模塊107控制下優先級低的數據通道讓位於優先級高的數據通道傳輸;源通信單元的發送存儲模塊106 與目的通信單元的接收存儲模塊109連通;所述動態優先級查找方法為①.仲裁控制模塊107內含優先級狀態寄存器組,當片上網絡上電啟動時,向優先級狀態寄存器組中裝載默認值,優先級狀態寄存器組標識各數據傳輸通道的默認優先級;當片上網絡運行時,優先級狀態寄存器組定時循環調整一次,使優先級最高的數據傳輸通道的優先級變為最低,其餘數據傳輸通道的優先級分別提高一級;②.當數據擁塞競爭時,仲裁控制模塊107首先比較各數據傳輸通道中數據包包頭中的傳輸優先級標識204的優先級高低,優先級高者先於優先級低者傳輸;當優先級高低相同時,仲裁控制模塊107查詢優先級狀態寄存器組,確認數據傳輸通道的優先傳輸順序;4)發送數據流狀態寄存與發送控制模塊105依據步驟幻建立的傳輸通道,控制數據包由源通信單元中的發送緩存303經發送選擇模塊304傳輸至目的通信單元中的接收存儲模塊109,接收存儲模塊109中的接收選擇模塊305將數據包裝載進對應於源通信單元的接收緩存306,將數據包包尾作為結束標識,結束傳輸;5)目的通信單元中的接收狀態寄存與接收控制模塊110,撤銷使用過的傳輸通道,並通知目的通信單元中的資源節點模塊101提取數據包;6)在目的通信單元中,數據運算處理模塊102提取數據包的數據由接收存儲模塊109 中的緩存選擇邏輯302從接收緩存306中取出數據包的數據,由解包模塊104解包並使用數據包中的數據。
全文摘要
本發明公開了一種適用於片上網絡的高效數據流傳輸通信結構及其工作方法,本發明以數據流在信息傳輸中的處理流程為指導,包括數據流在資源節點模塊內的打包模塊,發送存儲模塊,發送數據流狀態寄存與發送控制模塊,仲裁判斷控制模塊,交換開關陣列,接收數據流狀態寄存與接收控制模塊,接收存儲模塊,目的資源節點模塊中的解包模塊和外層資源節點路由模塊。本發明可以高效安全實現片上網資源路由節點間的大量數據傳輸,並具有很好的擴展功能,結構劃分清晰,易於針對不同設計需求改進。
文檔編號H04L12/56GK102158403SQ20111007173
公開日2011年8月17日 申請日期2011年3月24日 優先權日2011年3月24日
發明者孟祥斌, 孟祥沾, 李媛媛, 王世明, 邢建平 申請人:山東大學