亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2015-05-30 10:48:04呂民強等
        中國市場 2015年20期
        關(guān)鍵詞:描述符中斷

        呂民強等

        [摘 要]本文分析了高速網(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.

        猜你喜歡
        描述符中斷
        基于結(jié)構(gòu)信息的異源遙感圖像局部特征描述符研究
        測繪學報(2022年12期)2022-02-13 09:13:01
        基于AKAZE的BOLD掩碼描述符的匹配算法的研究
        基于FPGA的中斷控制器設(shè)計*
        Linux單線程并發(fā)服務器探索
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        利用CNN的無人機遙感影像特征描述符學習
        特征聯(lián)合和旋轉(zhuǎn)不變空間分割聯(lián)合的局部圖像描述符
        自動化學報(2016年4期)2016-11-08 01:53:42
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應分析
        微處理機(2012年4期)2012-06-13 11:32:24
        亚洲中文字幕乱码一二三 | 熟妇人妻AV中文字幕老熟妇| 国产精品乱子伦一区二区三区| 91国内偷拍精品对白| 欧美老熟妇乱xxxxx| 18禁超污无遮挡无码免费游戏 | 亚洲av高清在线观看三区| 男女视频在线观看一区二区| 第一次处破女18分钟高清| 久久九九国产精品怡红院| 日批视频免费在线观看| 亚洲一区二区三区精品久久| 中字乱码视频| 国产成人综合亚洲精品| 亚洲三级在线播放| 国产三级不卡在线观看视频| 亚洲精品国产成人片| 久久久久亚洲av无码专区桃色| 亚洲AV永久无码精品一区二国| 少妇精品揄拍高潮少妇桃花岛| 精品国产第一国产综合精品| 亚洲乱妇老熟女爽到高潮的片 | 妺妺跟我一起洗澡没忍住| 少妇被躁爽到高潮无码文| 天堂AV无码AV毛片毛| 亚洲自拍偷拍一区二区三区 | av在线入口一区二区| 亚洲av无码国产精品草莓在线| 在线观看免费午夜大片| 另类老妇奶性生bbwbbw| 亚洲人成精品久久久久| 日韩精品一区二区在线视| 无遮掩无码h成人av动漫| 色窝窝免费播放视频在线| 日日噜噜夜夜狠狠久久av| 国产亚洲av成人噜噜噜他| 无码乱人伦一区二区亚洲一| 亚洲欧美一区二区三区国产精| 亚洲国产精品久久无人区| 精品国产粉嫩内射白浆内射双马尾 | 亚洲成人777|