[發明專利]通信系統消息分類輸出方法及控制器有效
| 申請號: | 201010620123.7 | 申請日: | 2010-12-31 |
| 公開(公告)號: | CN102111332A | 公開(公告)日: | 2011-06-29 |
| 發明(設計)人: | 王紅春 | 申請(專利權)人: | 中國航空工業集團公司第六三一研究所 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56 |
| 代理公司: | 西安智邦專利商標代理有限公司 61211 | 代理人: | 徐平 |
| 地址: | 710068 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 通信 系統 消息 分類 輸出 方法 控制器 | ||
技術領域
本發明屬于計算機硬件技術,涉及交換機和通信節點中消息隊列管理的硬件電路實現方法。
背景技術
在高速通信系統設計中,為了保證系統的傳輸效率、通信服務質量、消息通信傳輸確定性、帶寬隔離以及消息傳輸效率,需要在通信節點中構建多優先級隊列,交換機中則需要構建虛擬輸出隊列,而這些隊列的實現需要大量的存儲器資源。
通信調度管理必須基于消息的分類存儲實現,而在傳統通信系統中為每個消息固定分配存儲空間,存儲資源利用率不夠。在交換機和通信節點的硬件往往受限于FPGA的存儲資源,難以實現大規模交換和消息確定性調度,FPGA的存儲資源已經成為制約通信系統規模和通信帶寬的瓶頸。
傳統的消息隊列存儲管理中每個隊列采用獨立存儲器分配,每個隊列需要分配固定的存儲器資源。例如交換機設計時,為了避免鏈頭堵塞,滿足線速傳輸要求,每個輸入端口需要針對每一個輸出端口建立一組FIFO隊列。通信節點設計中,需要為每個優先級分配一組FIFO。該方法對存儲資源需求量大,且利用率不高,FPGA實現難度大,成本高。
發明內容
本發明提供一種通信系統消息分類輸出方法及控制器,主要解決了現有方法及控制器對存儲資源需求量大、利用率低、實現難度大、成本高的問題。
本發明的技術解決方案如下:
該通信系統消息分類輸出方法包括以下步驟:
1]系統初始化
1.1]存儲單元劃分
1.1.1]存儲單元為用于存放消息的一片存儲區域,邏輯上劃分為多個等長的消息存儲塊,每個消息存儲塊區可存放一條消息;
1.1.2]每個消息存儲塊按照順序從0開始編號;
1.1.3]每個消息存儲塊編號與消息存儲單元地址建立對應關系;
1.2]消息屬性表初始化
建立一個內容關聯存儲器CAM表,提供消息屬性表用以構建消息標識到消息輸出隊列索引的映射關系;
1.3]空閑消息塊索引表初始化
1.3.1]建立一個空閑索引隊列,隊列深度與消息存儲塊數目相等,隊列中單元用于存放消息編號,隊列支持數據讀、寫操作,并提供隊列空、滿標記;
1.3.2]將所有的消息存儲塊編號加入到空閑消息緩沖塊索引隊列;
1.4]消息查找表初始化
消息查找表為一個二維索引表,二維索引表地址和內容分別對應當前消息存儲塊編號和下一個消息存儲塊編號,以當前消息存儲塊編號作為地址查找二維索引表的內容即為下一個消息存儲塊編號,而當某個消息的下一個消息塊與該消息存儲塊編號相同,則標識該消息塊為消息虛擬輸出隊列的隊尾;
1.5]輸出控制表初始化
輸出控制表分別記錄所有輸出隊列的消息塊個數和隊頭消息存儲塊編號,系統初始化時將每個輸出隊列的消息塊個數置0,代表輸出隊列為空;
2]消息的寫入過程
將消息寫入到空閑的消息存儲塊中,并根據消息的標識,更新輸出控制表中對應輸出隊列信息以及消息查找表;
3]消息讀取過程
從虛擬輸出隊列中讀取消息,輸出控制可采取公平輪轉調度算法或,輸出控制主要按照輸出鏈表實現分類輸出訪問,輸出隊列個數可配置,典型個數為:2-256個。輸出控制輸出隊列深度可配置,典型值為:4、8、16。
以上所述步驟2具體是:
a接收到消息,判斷空閑索引隊列是否空,如果空閑索引隊列為空,表示沒有空閑的存儲塊,則直接丟棄該消息返回,否則進入b;
b.從空閑消息塊索引表預取第一個空閑的存儲塊編號MsgBlockNo;
c.計算空閑存儲塊的存儲單元地址,計算公式:MsgBlockAddr=MsgMaxLen*MsgBlockNo;
d.空閑存儲塊中預留前4個字節用于存放消息長度,從MsgBlockAddr+4的地址存放消息的內容,將消息寫入到空閑存儲塊中,并進行消息長度計數,待消息接收完后,將消息長度寫入到空閑存儲塊前4個字節處;
e.解析消息標識,根據消息標識查消息屬性表,如果命中,則獲取輸出隊列編號,否則丟棄該消息,進入a;
f.根據輸出隊列編號查找控制表對應消息個數,
f1如果消息個數等于系統設置的輸出隊列的消息塊最大個數時,則進入丟棄該消息,進入a;
f2如果消息個數為0,則將消息個數置1,從空閑消息塊索引表取出該空閑的存儲塊編號MsgBlockNo,將存儲塊編號MsgBlockNo作為該輸出隊列的隊頭;將消息查找表MsgBlockNo處寫入MsgBlockNo,代表MsgBlockNo為隊尾;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航空工業集團公司第六三一研究所,未經中國航空工業集團公司第六三一研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010620123.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種評估方法
- 下一篇:一種光纖壓力傳感器的密封方法





