亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種緩存動態(tài)分配的方法以及系統(tǒng)與流程

文檔序號:12182660閱讀:1993來源:國知局
一種緩存動態(tài)分配的方法以及系統(tǒng)與流程

本發(fā)明涉及一種緩存動態(tài)分配的方法以及系統(tǒng)。



背景技術(shù):

所謂數(shù)據(jù)幀,就是數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單元,它包括三部分:幀頭,數(shù)據(jù),幀尾。其中,幀頭和幀尾包含一些必要的控制信息,如同步信息、地址信息、差錯控制信息等;數(shù)據(jù)部分則包含網(wǎng)絡(luò)層傳下來的數(shù)據(jù),比如IP數(shù)據(jù)報文;在發(fā)送端,數(shù)據(jù)鏈路層把網(wǎng)絡(luò)層傳下來的數(shù)據(jù)封裝成幀,然后發(fā)送到鏈路上去;在接收端,數(shù)據(jù)鏈路層把收到的幀中的數(shù)據(jù)取出并交給網(wǎng)絡(luò)層。不同的數(shù)據(jù)鏈路層協(xié)議對應(yīng)著不同的幀,所以,幀有多種,比如PPP幀、MAC幀等,其具體格式也不盡相同。

如下圖1所示,待發(fā)送數(shù)據(jù)是以幀的形式存放在內(nèi)存當(dāng)中,DMAC通過接口將待發(fā)送數(shù)據(jù)從內(nèi)存搬移到發(fā)送緩存當(dāng)中,發(fā)送控制模塊從發(fā)送緩存當(dāng)中取出待發(fā)送數(shù)據(jù)進行發(fā)送。

緩存欠載(Underrun):正在發(fā)送的數(shù)據(jù)幀,由于當(dāng)前數(shù)據(jù)幀還沒有發(fā)送結(jié)束,但是發(fā)送數(shù)據(jù)緩存內(nèi)沒有待發(fā)送數(shù)據(jù)時,這種現(xiàn)象稱之為Underrun。在數(shù)據(jù)傳輸系統(tǒng)當(dāng)中,發(fā)生這種現(xiàn)象會嚴(yán)重影響傳輸效率,需要盡最大努力杜絕這種現(xiàn)象發(fā)生。

數(shù)據(jù)存儲轉(zhuǎn)發(fā):存儲轉(zhuǎn)發(fā)是指將內(nèi)存中的一幀數(shù)據(jù)搬移到發(fā)送緩存當(dāng)中后,發(fā)送控制模塊才開始發(fā)送數(shù)據(jù),這種方式可以完全杜絕Underrun現(xiàn)象。但是它要求發(fā)送緩存至少能存一幀數(shù)據(jù),因此需要的緩存容量比較大。如果發(fā)送的通道數(shù)量增多,那么就要求發(fā)送緩存的數(shù)量相應(yīng)增大。

數(shù)據(jù)分片傳輸:傳統(tǒng)的分片傳輸是指當(dāng)發(fā)送緩存內(nèi)有數(shù)據(jù)時,發(fā)送控制模塊就開始往外發(fā)送數(shù)據(jù)。這種做法存在一種危險,當(dāng)發(fā)送緩存內(nèi)只有少量數(shù)據(jù)時,就開始往外發(fā)送數(shù)據(jù),此時,如果DMAC由于接口帶寬受限制,不能及時往緩存內(nèi)寫待發(fā)送數(shù)據(jù),就很容易造成緩存欠載(Underrun)。

DMAC:DMA(Direct Memory Access Controller,直接內(nèi)存存取控制器),它可以主動發(fā)起對內(nèi)存的直接訪問,對內(nèi)存直接讀寫。

接口:這里說的接口是指CPU與外部之間的通訊接口。例如:PCI接口、PCIE接口等。

數(shù)據(jù)幀發(fā)送狀態(tài):當(dāng)前數(shù)據(jù)幀處于正在發(fā)送狀態(tài),此時稱數(shù)據(jù)幀處于發(fā)送狀態(tài);如果一幀數(shù)據(jù)發(fā)送結(jié)束,則稱之為處于空閑狀態(tài)。

多通道復(fù)用端口:這里是指一個端口有指定的數(shù)據(jù)傳輸速率,但在不同的時間段分配給不同的通道使用。

時隙分配:這里是指在一定時間段內(nèi),劃分多個不同的時間片,將該時間片稱之為時隙,多個時隙構(gòu)成了這樣的一個時間段。將每個時隙設(shè)置上通道號,這樣的設(shè)置稱之為時隙分配。多通道復(fù)用的端口,是通過時隙分配達到不同的通道分配不同的帶寬。時隙分配越多的通道,所獲得端口的帶寬的百分比就越大。如CE1當(dāng)中,數(shù)據(jù)帶寬為2.048Mbit/S。即,約488ns傳輸1bit數(shù)據(jù)。一般將125us(8K)指定時間段,分32等分,每個等分為1個時隙,可以分配給1個通道。

現(xiàn)有的緩存分配方法,一般是每個通道分配固定的緩存大小。當(dāng)通道數(shù)增加時,就會造成總的緩存需求增加,這樣做法有以下幾個缺點:

如果每個通道都采用存儲轉(zhuǎn)發(fā)的方式,那么通道數(shù)多的時候,就會導(dǎo)致需要的緩存容量非常大,這將會直接導(dǎo)致成本的增加;

如果每個通道都采用分片傳輸?shù)姆绞?,容易造成緩存大小與帶寬不匹配。特別是在長幀(幀長度大于緩存容量)傳輸時,若某個通道分配的時隙多,那么就會造成讀緩存的速度增大,就會造成出現(xiàn)Underrun的幾率增大;若某個通道分配的時隙少,那么就會造成讀緩存的速度慢,這樣相對速率快的通道,分配給速率低的通道的緩存就有可能造成浪費;若某個通道在某些環(huán)境下不使用,那么就會造成這個通道的緩存浪費。



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

本發(fā)明要解決的技術(shù)問題,在于提供一種緩存動態(tài)分配的方法以及系統(tǒng),通過動態(tài)分配各通道的緩存,將速率快的通道多分配一些緩存,而將速率低的通道少分配一些緩存,未使用的通道不分配緩存,可以大大減少出現(xiàn)緩存欠載的幾率及緩存的浪費。

本發(fā)明之一是這樣實現(xiàn)的:一種緩存動態(tài)分配的方法,包括如下步驟:

步驟1、獲取端口的時隙配置表;

步驟2、根據(jù)所述時隙配置表分配每個通道的緩存。

進一步地,所述時隙配置表包括每個通道分配的時隙個數(shù)。

進一步地,所述步驟2進一步具體為:將總緩存除以時隙總數(shù)得到平均值,之后將每個通道分配的時隙個數(shù)乘以平均值得到每個通道所需分配的緩存值,根據(jù)得到的緩存值對每個通道進行分配。

本發(fā)明之二是這樣實現(xiàn)的:一種緩存動態(tài)分配的系統(tǒng),包括如下模塊:

獲取模塊,獲取端口的時隙配置表;

分配模塊,根據(jù)所述時隙配置表分配每個通道的緩存。

進一步地,所述時隙配置表包括每個通道分配的時隙個數(shù),以及時隙總數(shù)。

進一步地,所述分配模塊進一步具體為:將總緩存除以時隙總數(shù)得到平均值,之后將每個通道分配的時隙個數(shù)乘以平均值得到每個通道所需分配的緩存值,根據(jù)得到的緩存值對每個通道進行分配。

本發(fā)明具有如下優(yōu)點:本發(fā)明一種緩存動態(tài)分配的方法以及系統(tǒng),通過動態(tài)分配各通道的緩存,將速率快的通道多分配一些緩存,而將速率低的通道少分配一些緩存,未使用的通道不分配緩存,合理地分配有限的緩存資源,避免緩存的浪費,同時可以大大降低數(shù)據(jù)傳輸過程當(dāng)中出現(xiàn)Underrun的幾率,提高數(shù)據(jù)幀傳輸?shù)陌踩裕曳椒ㄔ砗唵?,容易實現(xiàn)。

附圖說明

下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。

圖1為現(xiàn)有的數(shù)據(jù)發(fā)送流程圖。

圖2為本發(fā)明方法執(zhí)行流程圖。

具體實施方式

如圖2所示,本發(fā)明緩存動態(tài)分配的方法,包括如下步驟:

步驟1、獲取端口的時隙配置表,所述時隙配置表包括每個通道分配的時隙個數(shù);

步驟2、將總緩存除以時隙總數(shù)得到平均值,之后將每個通道分配的時隙個數(shù)乘以平均值得到每個通道所需分配的緩存值,根據(jù)得到的緩存值對每個通道進行分配。

本發(fā)明緩存動態(tài)分配的系統(tǒng),包括如下模塊:

獲取模塊,獲取端口的時隙配置表,所述時隙配置表包括每個通道分配的時隙個數(shù),以及時隙總數(shù);

分配模塊,將總緩存除以時隙總數(shù)得到平均值,之后將每個通道分配的時隙個數(shù)乘以平均值得到每個通道所需分配的緩存值,根據(jù)得到的緩存值對每個通道進行分配。

本發(fā)明一種具體實施方式:

以下以32個時隙32個通道配置為例,進行說明;

在實際應(yīng)用當(dāng)中,要對通道進行時隙分配就需要有時隙配置表,分配的時隙個數(shù)越多代表通道速率越快,假如時隙配置如表1所示:

表1時隙配置表

分配結(jié)束后對表1進行時隙掃描,我們可以得到每個通道的時隙個數(shù),如通道0分配3個時隙,通道1分配5個時隙,通道6分配0個時隙,得到各個通道的時隙個數(shù)統(tǒng)計如表2所示:

表2通道時隙個數(shù)

端口的緩存大小是固定的,如2K字節(jié)。如果有32個時隙,則每個時隙可分配64字節(jié)緩存,通道的緩存大?。?4*時隙個數(shù),如通道1分配的緩存=64*3=192字節(jié),通道6分配的時隙個數(shù)為0,分配的緩存為0個字節(jié),根據(jù)這個分配規(guī)則,各通道緩存分配如表3所示:

表3通道動態(tài)緩存分配

通道速率與分配的時隙個數(shù)成正比,時隙個數(shù)越多,通道速率越快,相應(yīng)分配的緩存就越多;時隙個數(shù)越少,通道速率越慢,相應(yīng)分配的緩存就越少;時隙個數(shù)為0,則該通道分配的緩存為0。在實際應(yīng)用過程當(dāng)中,端口緩存大小與時隙個數(shù)根據(jù)系統(tǒng)實際情況可做調(diào)整,具體每個端口可用的時隙個數(shù)是靈活可變的,本專利不做限制。

優(yōu)點說明:

緩存的大小與通道的速率成正比。

避免速率低的通道分配太多緩存造成存儲資源浪費;

避免未分配時隙的通道也占用緩存,造成緩存資源的浪費;

避免速率高的通道分配太少緩存,造成因為存儲資源不夠引起的緩存欠載;

雖然以上描述了本發(fā)明的具體實施方式,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實施例只是說明性的,而不是用于對本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護的范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1