麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

在交換控制電路中巨幀的控制系統(tǒng)及方法與流程

文檔序號:12492636閱讀:683來源:國知局
在交換控制電路中巨幀的控制系統(tǒng)及方法與流程

本發(fā)明涉及一種應(yīng)用于以太網(wǎng)協(xié)議的網(wǎng)絡(luò)設(shè)備中的數(shù)據(jù)處理的網(wǎng)絡(luò)數(shù)據(jù)通信技術(shù),特別是涉及一種在交換控制電路中巨幀的控制系統(tǒng)及方法。



背景技術(shù):

隨著以太網(wǎng)技術(shù)的日新月異,交換機(jī)的速率也從10Mbps、100Mbps到1Gbps、10Gbps甚至更高。起初IEEE認(rèn)可的以太網(wǎng)標(biāo)準(zhǔn)的最大幀長度為1518字節(jié),這一標(biāo)準(zhǔn)已經(jīng)越來越成為數(shù)據(jù)傳輸效率的掣肘。巨幀(Jumbo Frame),這是一種廠商標(biāo)準(zhǔn)的超長幀格式,專門為超過1Gbps的以太網(wǎng)而設(shè)計(jì),長度各廠商有所不同,從9000字節(jié)~64000字節(jié)不等。采用巨幀能夠使以太網(wǎng)傳輸數(shù)據(jù)性能充分發(fā)揮,是數(shù)據(jù)傳輸效率提高50%~100%。

在交換控制電路設(shè)計(jì)中,描述符管理有極其重要的作用,直接影響交換機(jī)的性能。它管理著幀存儲地址和目的端口的映射關(guān)系以及高低優(yōu)先級的出隊(duì)列次序。以太網(wǎng)交換機(jī)的主要工作是存儲轉(zhuǎn)發(fā),當(dāng)數(shù)據(jù)幀經(jīng)過PHY層、MAC層解析后,對MAC地址表進(jìn)行查找,找到轉(zhuǎn)發(fā)端口,產(chǎn)生相應(yīng)的描述符派發(fā)到各個發(fā)送端口,描述符中記載著幀的各類信息。標(biāo)準(zhǔn)的二層幀結(jié)構(gòu)和巨幀結(jié)構(gòu)分別如圖5和圖6所示。

在描述符的設(shè)計(jì)中,若以256字節(jié)為一頁為前提,在最長幀只支持1518字節(jié)的交換機(jī)中,設(shè)計(jì)一個描述符或一個擴(kuò)展類型的描述符對應(yīng)一個幀就能滿足要求,而對于支持巨幀的設(shè)備,此種設(shè)計(jì)已不滿足要求,單個描述符已不可能包含巨幀數(shù)據(jù)的所有頁地址。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是提供一種在交換控制電路中巨幀的控制系統(tǒng)及方法,是一種用兩級鏈表實(shí)現(xiàn)的巨幀控制方法,通過兩級鏈表對幀存儲的控制,有效的解決了描述符與存儲地址的映射關(guān)系,理論上可以擴(kuò)展到巨幀甚至超巨幀。

本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:一種在交換控制電路中巨幀的控制系統(tǒng),其特征在于,包括:

描述優(yōu)先級調(diào)度模塊:根據(jù)調(diào)度策略,在多個優(yōu)先級隊(duì)列中挑選最先被調(diào)度的隊(duì)列,把該隊(duì)列的首個描述符地址提供給發(fā)送隊(duì)列管理模塊;

發(fā)送隊(duì)列管理模塊:根據(jù)接收或發(fā)送數(shù)據(jù),對描述符發(fā)送隊(duì)列進(jìn)行寫或度操作,并且根據(jù)優(yōu)先級信息,對各優(yōu)先級隊(duì)列進(jìn)行鏈表式管理;

緩存標(biāo)簽隊(duì)列管理模塊:通過存儲在發(fā)送隊(duì)列中的描述符所含的緩存標(biāo)簽,對每個數(shù)據(jù)幀所占用的緩存進(jìn)行鏈表式管理;

空閑隊(duì)列管理模塊:釋放和回收發(fā)送隊(duì)列表項(xiàng)和緩存標(biāo)簽表項(xiàng)的存儲地址。

本發(fā)明還提供一種在交換控制電路中巨幀的控制方法,其特征在于,所述在交換控制電路中巨幀的控制方法包括以下步驟:

步驟一,寄存器堆模塊存儲系統(tǒng)工作所需要的配置和狀態(tài)信息;

步驟二,千兆MAC模塊實(shí)現(xiàn)千兆以太網(wǎng)數(shù)據(jù)鏈路層功能,完成MAC接口數(shù)據(jù)格式與數(shù)據(jù)總線數(shù)據(jù)格式之間的轉(zhuǎn)換;

步驟三,通過數(shù)據(jù)總線,數(shù)據(jù)幀頭由數(shù)據(jù)表管理模塊進(jìn)行學(xué)習(xí)、解析及老化,數(shù)據(jù)幀內(nèi)容存儲在數(shù)據(jù)緩存內(nèi);

步驟四,數(shù)據(jù)緩存模塊對接收數(shù)據(jù)進(jìn)行分配空閑內(nèi)存,對發(fā)送數(shù)據(jù)進(jìn)行釋放數(shù)據(jù)內(nèi)存;

步驟五,根據(jù)地址表管理模塊提供的目的端口轉(zhuǎn)發(fā)表生成多個對應(yīng)端口的發(fā)送描述符,其中發(fā)送描述符根據(jù)QOS屬性進(jìn)入對應(yīng)優(yōu)先級隊(duì)列排隊(duì);

步驟六,根據(jù)數(shù)據(jù)緩存模塊提供的數(shù)據(jù)內(nèi)存地址信息生成多個緩存標(biāo)簽,每個標(biāo)簽對應(yīng)一個頁地址;

步驟七,對各個優(yōu)先級隊(duì)列進(jìn)行調(diào)度,從發(fā)送隊(duì)列調(diào)度成功的描述符向數(shù)據(jù)緩存模塊提供發(fā)送幀的頭地址,然后根據(jù)緩存標(biāo)簽鏈表依次向數(shù)據(jù)緩存模塊提供發(fā)送幀的后續(xù)地址;

步驟八,數(shù)據(jù)緩存模塊根據(jù)描述符管理模塊提供的數(shù)據(jù)內(nèi)存地址,從數(shù)據(jù)緩存中把數(shù)據(jù)傳輸至數(shù)據(jù)總線,然后通過千兆MAC模塊把數(shù)據(jù)交換出去。

優(yōu)選地,所述在交換控制電路中巨幀的控制方法應(yīng)用于巨幀,巨幀所對應(yīng)的數(shù)據(jù)存儲地址的處理采用兩級鏈表,第一級是發(fā)送隊(duì)列鏈表,第二級是緩存標(biāo)簽鏈表。

優(yōu)選地,所述發(fā)送隊(duì)列鏈表記載著該發(fā)送端口各個幀的發(fā)送次序、幀信息以及對應(yīng)的緩存標(biāo)簽。

優(yōu)選地,所述發(fā)送端口為實(shí)現(xiàn)QOS可支持多個發(fā)送隊(duì)列,每個發(fā)送隊(duì)列大小可動態(tài)調(diào)整,每個發(fā)送隊(duì)列表項(xiàng)就是一個描述符,對應(yīng)一幀數(shù)據(jù);所述緩存標(biāo)簽管理每一頁緩存,對于超過256字節(jié)長度的幀,需要多個緩存標(biāo)簽表示,并且通過鏈表來控制管理。

優(yōu)選地,所述緩存標(biāo)簽鏈表記載著每幀存放的緩存地址。

優(yōu)選地,所述發(fā)送隊(duì)列表項(xiàng)和緩存標(biāo)簽表項(xiàng)的設(shè)計(jì)是通過下一個描述符地址和下一個緩存標(biāo)簽地址來維護(hù)鏈表的連續(xù)性,并通過增加頭標(biāo)識和尾標(biāo)識來快速判斷鏈表的狀態(tài);所述發(fā)送隊(duì)列中的描述符通過鏈表來控制管理;所述幀數(shù)據(jù)的寫入,緩存標(biāo)簽鏈表都會更新,維護(hù)著每個描述符對應(yīng)幀存放的所有頁地址。

本發(fā)明的積極進(jìn)步效果在于:本發(fā)明的發(fā)送隊(duì)列鏈表和緩存標(biāo)簽共同管理,讀寫發(fā)送隊(duì)列描述符和緩存標(biāo)簽都采用雙端口RAM,能同時讀寫不同地址的數(shù)據(jù),提高讀寫描述符和緩存標(biāo)簽的效率;兩級鏈表有效的解決了巨幀的存儲問題,而且硬件結(jié)構(gòu)上的實(shí)現(xiàn)也不復(fù)雜。

附圖說明

圖1為發(fā)送隊(duì)列鏈表和緩存標(biāo)簽鏈表的組織結(jié)構(gòu)圖。

圖2為發(fā)送隊(duì)列表項(xiàng)結(jié)構(gòu)圖。

圖3為緩存標(biāo)簽表項(xiàng)結(jié)構(gòu)圖。

圖4為交換控制電路結(jié)構(gòu)框圖。

圖5為描述符管理模塊結(jié)構(gòu)框圖。

圖6為標(biāo)準(zhǔn)的二層幀結(jié)構(gòu)的示意圖。

圖7為巨幀結(jié)構(gòu)的示意圖。

具體實(shí)施方式

下面結(jié)合附圖給出本發(fā)明較佳實(shí)施例,以詳細(xì)說明本發(fā)明的技術(shù)方案。

本發(fā)明在交換控制電路中巨幀的控制系統(tǒng)包括:

描述優(yōu)先級調(diào)度模塊:根據(jù)調(diào)度策略,在多個優(yōu)先級隊(duì)列中挑選最先被調(diào)度的隊(duì)列,把該隊(duì)列的首個描述符地址提供給發(fā)送隊(duì)列管理模塊;

發(fā)送隊(duì)列管理模塊:根據(jù)接收或發(fā)送數(shù)據(jù),對描述符發(fā)送隊(duì)列進(jìn)行寫或度操作,并且根據(jù)優(yōu)先級信息,對各優(yōu)先級隊(duì)列進(jìn)行鏈表式管理;

緩存標(biāo)簽隊(duì)列管理模塊:通過存儲在發(fā)送隊(duì)列中的描述符所含的緩存標(biāo)簽,對每個數(shù)據(jù)幀所占用的緩存進(jìn)行鏈表式管理;

空閑隊(duì)列管理模塊:釋放和回收發(fā)送隊(duì)列表項(xiàng)和緩存標(biāo)簽表項(xiàng)的存儲地址。

本發(fā)明在交換控制電路中巨幀的控制方法包括以下步驟:

步驟一,寄存器堆模塊存儲系統(tǒng)工作所需要的配置和狀態(tài)信息;

步驟二,千兆MAC模塊實(shí)現(xiàn)千兆以太網(wǎng)數(shù)據(jù)鏈路層功能,完成MAC接口數(shù)據(jù)格式與數(shù)據(jù)總線數(shù)據(jù)格式之間的轉(zhuǎn)換;

步驟三,通過數(shù)據(jù)總線,數(shù)據(jù)幀頭由數(shù)據(jù)表管理模塊進(jìn)行學(xué)習(xí)、解析及老化,數(shù)據(jù)幀內(nèi)容存儲在數(shù)據(jù)緩存內(nèi);

步驟四,數(shù)據(jù)緩存模塊對接收數(shù)據(jù)進(jìn)行分配空閑內(nèi)存,對發(fā)送數(shù)據(jù)進(jìn)行釋放數(shù)據(jù)內(nèi)存;

步驟五,根據(jù)地址表管理模塊提供的目的端口轉(zhuǎn)發(fā)表生成多個對應(yīng)端口的發(fā)送描述符,其中發(fā)送描述符根據(jù)QOS屬性進(jìn)入對應(yīng)優(yōu)先級隊(duì)列排隊(duì),排隊(duì)形式如圖1的第一級鏈表;

步驟六,根據(jù)數(shù)據(jù)緩存模塊提供的數(shù)據(jù)內(nèi)存地址信息生成多個緩存標(biāo)簽,每個標(biāo)簽對應(yīng)一個頁地址,排隊(duì)形式如圖1的第二級鏈表;

步驟七,對各個優(yōu)先級隊(duì)列進(jìn)行調(diào)度,從發(fā)送隊(duì)列調(diào)度成功的描述符向數(shù)據(jù)緩存模塊提供發(fā)送幀的頭地址,然后根據(jù)緩存標(biāo)簽鏈表依次向數(shù)據(jù)緩存模塊提供發(fā)送幀的后續(xù)地址;

步驟八,數(shù)據(jù)緩存模塊根據(jù)描述符管理模塊提供的數(shù)據(jù)內(nèi)存地址,從數(shù)據(jù)緩存中把數(shù)據(jù)傳輸至數(shù)據(jù)總線,然后通過千兆MAC模塊把數(shù)據(jù)交換出去。

如圖1至圖4所示,本發(fā)明是一種在交換控制電路中巨幀的控制方法,每個端口都有兩級鏈表用于維護(hù)該端口的發(fā)送隊(duì)列。巨幀所對應(yīng)的數(shù)據(jù)存儲地址的處理采用兩級鏈表,第一級是發(fā)送隊(duì)列鏈表,第二級是緩存標(biāo)簽鏈表。

發(fā)送隊(duì)列鏈表記載著該發(fā)送端口各個幀的發(fā)送次序、幀信息以及對應(yīng)的緩存標(biāo)簽。緩存標(biāo)簽鏈表記載著每幀存放的緩存地址。

每個發(fā)送端口為實(shí)現(xiàn)QOS可支持多個發(fā)送隊(duì)列(TXQ),每個發(fā)送隊(duì)列大小可動態(tài)調(diào)整,每個發(fā)送隊(duì)列表項(xiàng)就是一個描述符,對應(yīng)一幀數(shù)據(jù)。對于同一發(fā)送隊(duì)列中的描述符,通過鏈表來控制管理。

每一頁緩存由一個緩存標(biāo)簽(Buffer Tag)管理,對于超過256字節(jié)長度的幀,需要多個緩存標(biāo)簽表示,并且通過鏈表來控制管理。若一個9728字節(jié)的巨幀,需要38個緩存標(biāo)簽,此38個標(biāo)簽通過下一個緩存標(biāo)簽地址進(jìn)行鏈表式管理。

兩級鏈表的維護(hù)分別通過讀寫描述符狀態(tài)機(jī)和讀寫緩存標(biāo)簽狀態(tài)機(jī)來實(shí)現(xiàn)。

每頁幀數(shù)據(jù)的寫入,緩存標(biāo)簽鏈表都會更新,維護(hù)著每個描述符對應(yīng)幀存放的所有頁地址。當(dāng)收到長幀的第一頁內(nèi)容,會寫一個緩存標(biāo)簽,記錄該256字節(jié)的頁地址,同時幀頭狀態(tài)置1,幀尾狀態(tài)置0,下一個緩存標(biāo)簽地址指向空閑的緩存標(biāo)簽鏈表的頭指針;等收到下一頁內(nèi)容,另外寫一個緩存標(biāo)簽,記錄剩余字節(jié)存放的頁地址,幀頭狀態(tài)置0,幀尾狀態(tài)置1,同時把該幀的前一個緩存標(biāo)簽的下一個緩存標(biāo)簽地址域更新為當(dāng)前緩存標(biāo)簽地址。

當(dāng)需要發(fā)送長幀時,通過描述符的緩存標(biāo)簽域找到緩存標(biāo)簽鏈表的位置,從中找到發(fā)送幀的頁地址,若讀到幀尾標(biāo)識為1,根據(jù)下一個緩存標(biāo)簽地址繼續(xù)讀下一個緩存標(biāo)簽,直至讀取到幀尾標(biāo)識為1,此幀才讀取完畢。

在描述符的設(shè)計(jì)中,若以256字節(jié)為一頁為前提,在最長幀只支持1518字節(jié)的交換機(jī)中,設(shè)計(jì)一個描述符或一個擴(kuò)展類型的描述符對應(yīng)一個幀就能滿足要求,而對于支持巨幀的設(shè)備,此種設(shè)計(jì)已不滿足要求,單個描述符已不可能包含巨幀數(shù)據(jù)的所有頁地址。

描述符管理模塊是交換控制電路中的重要功能模塊,主要負(fù)責(zé)幀存儲地址的管理和優(yōu)先級隊(duì)列的調(diào)度,而兩級鏈表是幀存儲地址管理的一種實(shí)現(xiàn)方式。

綜上所述,本發(fā)明的發(fā)送隊(duì)列鏈表和緩存標(biāo)簽共同管理,讀寫發(fā)送隊(duì)列描述符和緩存標(biāo)簽都采用雙端口RAM,能同時讀寫不同地址的數(shù)據(jù),提高讀寫描述符和緩存標(biāo)簽的效率;兩級鏈表有效的解決了巨幀的存儲問題,而且硬件結(jié)構(gòu)上的實(shí)現(xiàn)也不復(fù)雜。

以上所述的具體實(shí)施例,對本發(fā)明的解決的技術(shù)問題、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
主站蜘蛛池模板: 广水市| 丰镇市| 洛宁县| 固始县| 临海市| 吉安市| 上思县| 永仁县| 禄丰县| 开江县| 清丰县| 南江县| 镇远县| 桂平市| 育儿| 福泉市| 额尔古纳市| 疏附县| 罗甸县| 乳源| 遂川县| 连州市| 车致| 来凤县| 衡阳县| 丰都县| 垣曲县| 定陶县| 巫山县| 扎囊县| 柳河县| 定南县| 汉源县| 绵竹市| 泾阳县| 临城县| 徐州市| 广昌县| 大竹县| 平远县| 舟曲县|