999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高速網(wǎng)卡與主機通信技術(shù)研究

2015-05-30 10:48:04呂民強等
中國市場 2015年20期

呂民強等

[摘 要]本文分析了高速網(wǎng)卡與主機的通信方式——基于描述符的DMA通信機制,研究了提高網(wǎng)卡與主機通信性能的技術(shù)——提高總線帶寬和減少中斷開銷。

[關(guān)鍵詞]中斷;描述符;DMA

1013939/jcnkizgsc201520059

隨著網(wǎng)絡(luò)技術(shù),尤其是光纖技術(shù)的快速發(fā)展,互聯(lián)網(wǎng)通信帶寬不斷提升。網(wǎng)絡(luò)應用的性能需求表現(xiàn)為高吞吐率、低延遲、低主機開銷和低存儲開銷等特點[1]。這些特點對網(wǎng)絡(luò)接口卡與主機的通信性能提出了更高的要求。

1 高速網(wǎng)卡整體結(jié)構(gòu)

高速網(wǎng)卡的硬件結(jié)構(gòu)如圖1所示,包括:IO接口部分、DMA引擎部分、接收和發(fā)送FIFO、以太網(wǎng)MAC協(xié)議處理部分和物理層(PHY)模擬信號處理部分,此外,還有一些輔助模塊,如EEPROM接口模塊,擴展BootROM接口模塊,LED控制和整個芯片的命令狀態(tài)寄存器(CSR)部分。IO接口主要負責和主機進行通信;DMA引擎模塊主要負責數(shù)據(jù)包的具體控制,包括配合IO接口的控制動作、DMA訪問起始地址的控制;MAC模塊則負責處理以太網(wǎng)CSMA/CD(Carrier Sense Multiple Access with Collision Detection)協(xié)議;物理層(PHY)負責處理網(wǎng)卡與網(wǎng)卡之間的信號連接以及對信號進行恢復,配置寄存器CSR負責對網(wǎng)卡的特性進行設(shè)置。

高速網(wǎng)卡硬件結(jié)構(gòu)

網(wǎng)卡有兩路數(shù)據(jù)通道:一是數(shù)據(jù)發(fā)送過程:從主機網(wǎng)絡(luò)協(xié)議棧傳來的數(shù)據(jù)包,通過IO接口,由TxDMA控制到達TxFIFO先暫存起來,當TxFIFO暫存的數(shù)據(jù)包到達一定閾值時,TxMAC將TxFIFO中的數(shù)據(jù)包按CSMA/CD協(xié)議發(fā)送到具有自適應選擇功能的PHY層,再由雙絞線或者光纖發(fā)送到外部網(wǎng)絡(luò)上。一是數(shù)據(jù)接收過程:網(wǎng)絡(luò)上的數(shù)據(jù)信號被物理層捕獲,轉(zhuǎn)換為并行數(shù)據(jù)后傳送到接收MAC,接收MAC判斷數(shù)據(jù)包是否接被接收,將接收的數(shù)據(jù)包送進接收FIFO先暫存起來,當接收FIFO數(shù)據(jù)達到一定閾值后,RxDMA會通過IO模塊,將數(shù)據(jù)傳送到主機內(nèi)存,完成數(shù)據(jù)包的接收[2,3]。

2 網(wǎng)卡與主機通信方式

傳統(tǒng)網(wǎng)卡與主機交換數(shù)據(jù)的方式有中斷方式和DMA方式[4]。

中斷方式又稱可編程I/O(Programmed I/O),是指當網(wǎng)卡硬件的報文緩沖區(qū)準備好數(shù)據(jù)時,便向主機CPU發(fā)送中斷,CPU響應中斷,在中斷處理程序中先將數(shù)據(jù)從網(wǎng)卡的報文緩沖區(qū)讀到CPU的寄存器,然后由寄存器再寫到主存。在低速網(wǎng)絡(luò)條件下,可編程I/O方式對主機系統(tǒng)性能影響不大。但是,在高速網(wǎng)絡(luò)條件下,可編程I/O機制由于傳輸數(shù)據(jù)需要CPU的參與而大大增加CPU的工作負載,影響主機系統(tǒng)性能[5]。

DMA(Direct Memory Access)方式又稱直接內(nèi)存訪問方式,DMA技術(shù)是一種代替微處理器完成存儲器與外部設(shè)備或存儲器之間大量數(shù)據(jù)傳送的方法。利用DMA技術(shù)可不用CPU介入就能實現(xiàn)網(wǎng)卡與內(nèi)存之間數(shù)據(jù)的直接傳送,大大降低主機CPU的工作負載。運行在高速網(wǎng)絡(luò)上的服務器要求其CPU資源更多用于應用程序的運行,所以,現(xiàn)在幾乎所有的高速網(wǎng)卡設(shè)計都采用DMA方式作為與主機交換數(shù)據(jù)的主要手段[5]。

3 基于描述符的DMA通信技術(shù)

高速網(wǎng)卡采用基于描述符的DMA方式與主機進行通信。高速網(wǎng)絡(luò)接口卡通過DMA引擎進行基本的數(shù)據(jù)傳輸。DMA引擎是實現(xiàn)DMA機制的主要部件,其主要工作是描述符的管理、接收和發(fā)送數(shù)據(jù)的傳輸以及中斷的產(chǎn)生。

描述符機制和中斷機制是DMA引擎的核心機制。描述符機制主要用于接收和發(fā)送描述符的組織和管理,而中斷機制主要涉及接收中斷和發(fā)送中斷的產(chǎn)生。

31 描述符機制

在DMA機制中,網(wǎng)絡(luò)接口卡在進行數(shù)據(jù)報文的讀寫前必須知道其讀寫的主機內(nèi)存目的地址。DMA引擎中接收和發(fā)送描述符的主要任務之一是為網(wǎng)絡(luò)接口卡提供主機內(nèi)存的地址信息。接收和發(fā)送描述符的數(shù)據(jù)結(jié)構(gòu)中包含讀寫的主機內(nèi)存地址以及讀寫數(shù)據(jù)的長度。DMA引擎采用了環(huán)形的發(fā)送和接收描述符隊列,發(fā)送和接收描述符指向的緩沖區(qū)大小通常是固定的。

DMA引擎包含兩個描述符隊列即接收描述符隊列和發(fā)送描述符隊列。網(wǎng)絡(luò)接口卡和驅(qū)動程序進行正確數(shù)據(jù)傳送的基本必要條件是接收和發(fā)送描述符的正確傳送。

可用接收描述符到達DMA引擎可通過兩種方法。一種方法是基于驅(qū)動程序的,由驅(qū)動程序告知DMA引擎此次可用接收描述符個數(shù),然后DMA引擎通過DMA機制獲得新的可用接收描述符;另一種是基于DMA引擎的,由DMA引擎主動請求接收描述符。

32 中斷機制

在高速網(wǎng)絡(luò)條件下,網(wǎng)絡(luò)處理開銷大小直接影響系統(tǒng)性能。網(wǎng)絡(luò)處理開銷大小取決于網(wǎng)絡(luò)中斷次數(shù)、網(wǎng)絡(luò)數(shù)據(jù)傳輸方式以及用戶層和操作系統(tǒng)內(nèi)核間的數(shù)據(jù)拷貝方式。DMA引擎中斷機制決定網(wǎng)絡(luò)中斷次數(shù)。為減少報文接收(發(fā)送)中斷的次數(shù),DMA引擎接收(發(fā)送)了一定數(shù)量的報文后才置接收(發(fā)送)中斷。這個固定的報文數(shù)量被稱為接收(發(fā)送)中斷閾值。

為避免因網(wǎng)絡(luò)流量過低導致較長的網(wǎng)絡(luò)延遲,DMA引擎還提供超時機制,當定時器超時,DMA引擎立即產(chǎn)生中斷。中斷閾值與超時相結(jié)合的中斷機制能夠極大地減少網(wǎng)絡(luò)接口卡產(chǎn)生的中斷次數(shù),同時將報文延時控制在較小的范圍內(nèi)。

33 數(shù)據(jù)收發(fā)過程

基于DMA機制的網(wǎng)絡(luò)接口卡的數(shù)據(jù)接收和發(fā)送過程并不是對稱的,因此我們將數(shù)據(jù)的發(fā)送和接收過程分開介紹并討論。數(shù)據(jù)報文的接收過程是一個軟硬件交互過程,具體過程如下:

(1)驅(qū)動程序初始化所有可用的接收描述符。然后,驅(qū)動程序通告網(wǎng)絡(luò)接口卡接收描述符在內(nèi)存的起始地址以及可用接收描述符的個數(shù);

(2)DMA引擎根據(jù)接收描述符的起始地址信息和其他相關(guān)信息通過DMA方式將所有可用的接收描述符下載到DMA引擎;

(3)當有數(shù)據(jù)報文到達網(wǎng)絡(luò)接口卡時,DMA引擎就根據(jù)接收描述符指示的地址發(fā)動一次DMA操作,將到達的數(shù)據(jù)報文寫入主機內(nèi)存;

(4)DMA操作完成后,DMA引擎立即發(fā)動另一次DMA操作,回寫剛才已使用的接收描述符的若干域(報文長度域,回寫標志域);

(5)當接收報文的數(shù)量達到接收中斷閾值時,DMA引擎通告主機接收中斷,主機處理接收數(shù)據(jù)并進行接收描述符的回收;

(6)主機在完成接收描述符的回收后,將此次回收接收描述符的個數(shù)通告給DMA引擎,DMA引擎根據(jù)相關(guān)信息讀取可用接收描述符。

數(shù)據(jù)報文的發(fā)送過程也是一個軟硬件交互過程,具體過程如下:

(1)驅(qū)動程序初始化所有可用的發(fā)送描述符,同時通告網(wǎng)絡(luò)接口卡發(fā)送描述符的在內(nèi)存中的起始地址;

(2)當有數(shù)據(jù)報文需要發(fā)送時,驅(qū)動程序?qū)?shù)據(jù)報文在內(nèi)存中的起始地址和報文長度填寫到發(fā)送描述符的相應域中;

(3)發(fā)送描述符填寫完成后,網(wǎng)絡(luò)接口卡驅(qū)動程序就通告網(wǎng)絡(luò)接口卡此次需要處理的發(fā)送描述符個數(shù);

(4)DMA引擎發(fā)動一次DMA操作將需要處理的發(fā)送描述符下載到網(wǎng)絡(luò)接口卡上;

(5)發(fā)送描述符的下載完成后,DMA引擎就根據(jù)發(fā)送描述符的內(nèi)容發(fā)動DMA操作,將發(fā)送描述符指向的數(shù)據(jù)報文發(fā)送到網(wǎng)絡(luò)上;

(6)當發(fā)送報文的數(shù)量達到發(fā)送中斷閾值時,DMA引擎通告主機發(fā)送中斷,驅(qū)動程序開始進行發(fā)送中斷的處理,并進行發(fā)送描述符的回收。

4 提高網(wǎng)卡與主機通信性能的技術(shù)

41 提高總線的帶寬

網(wǎng)卡通過系統(tǒng)總線和主機系統(tǒng)相連,因此總線帶寬的大小直接影響網(wǎng)卡和主機數(shù)據(jù)交換的性能。目前總線技術(shù)已發(fā)展到第三代:第一代ISA總線,第二代PCI總線和第三代PCIE總線,隨之,也出現(xiàn)了三種不同類型的網(wǎng)卡:ISA網(wǎng)卡、PCI網(wǎng)卡和PCIE網(wǎng)卡。隨著總線技術(shù)的發(fā)展,總線的帶寬得到極大的提高,網(wǎng)卡與主機的通信性能也隨之提升。

42 減少中斷開銷

為減少網(wǎng)卡硬件的中斷頻率,在網(wǎng)卡驅(qū)動中采取關(guān)中斷技術(shù)和中斷聯(lián)合技術(shù)[6]。所謂關(guān)中斷技術(shù)就是當CPU接收到網(wǎng)卡的第一個中斷,執(zhí)行中斷處理時,在中斷處理程序中將網(wǎng)卡的中斷關(guān)閉,當處理完所有到達的數(shù)據(jù)包后,再將網(wǎng)卡的中斷打開。所謂“中斷合并”就是網(wǎng)絡(luò)設(shè)備DMA完數(shù)據(jù)后并不立即向系統(tǒng)發(fā)中斷,而是當設(shè)備接收(或者發(fā)送)的數(shù)據(jù)到達一定的閾值后才向系統(tǒng)發(fā)中斷。

參考文獻:

[1]吳建軍一種基于PCI總線的10/100Mbps以太網(wǎng)卡接口芯片的設(shè)計[D].武漢:華中科技大學,2003.

[2]孫德文微型計算機技術(shù)[M].北京:高等教育出版社,1999.

主站蜘蛛池模板: 97青青青国产在线播放| 国产在线麻豆波多野结衣| 手机成人午夜在线视频| 国产精品成人不卡在线观看| 国产精品成人免费综合| 高清无码一本到东京热| 国产人人射| 永久免费av网站可以直接看的| 亚洲日本韩在线观看| 国产精女同一区二区三区久| 亚洲欧美日韩色图| 亚洲黄网视频| 毛片一级在线| 亚洲天堂精品在线观看| 亚洲第一黄片大全| 日韩福利在线观看| 激情五月婷婷综合网| 九九热这里只有国产精品| 91久久国产综合精品女同我| 美女被操黄色视频网站| 手机在线免费不卡一区二| 免费激情网址| 国产欧美综合在线观看第七页| 欧美啪啪精品| 激情视频综合网| 欧美在线黄| 欧美亚洲网| 国产一区二区福利| 风韵丰满熟妇啪啪区老熟熟女| 欧美国产成人在线| 亚洲中文无码av永久伊人| 色窝窝免费一区二区三区| 四虎免费视频网站| 99re热精品视频中文字幕不卡| 亚洲综合色在线| 免费va国产在线观看| 国产无人区一区二区三区| 免费在线看黄网址| 亚洲精品国产精品乱码不卞| 亚洲 日韩 激情 无码 中出| 青青青国产在线播放| 国产一区二区影院| 福利在线一区| 久久久久青草大香线综合精品| 国产三级毛片| 久久夜色精品国产嚕嚕亚洲av| a级毛片免费在线观看| 国产成人免费观看在线视频| 国产精品浪潮Av| 中文字幕亚洲另类天堂| 免费无码又爽又黄又刺激网站 | 美女无遮挡免费视频网站| 亚洲日本一本dvd高清| 99这里只有精品免费视频| 亚洲青涩在线| 亚洲精品福利网站| 91无码视频在线观看| 亚洲成A人V欧美综合| 777国产精品永久免费观看| 中文字幕av一区二区三区欲色| 国产乱子伦视频在线播放| 亚洲色成人www在线观看| 精品视频免费在线| 美女毛片在线| 男女精品视频| 国产区福利小视频在线观看尤物| 国产无码网站在线观看| 国产精品99在线观看| 日韩a在线观看免费观看| 色噜噜狠狠狠综合曰曰曰| 五月天综合网亚洲综合天堂网| 麻豆精品久久久久久久99蜜桃| 精品成人一区二区三区电影| 东京热高清无码精品| 国产亚洲精品自在线| 国产精品一区二区不卡的视频| 国产精品9| 日韩在线1| 国产成本人片免费a∨短片| 国产福利拍拍拍| 97视频免费在线观看| 欧美一区二区自偷自拍视频|