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

高速網卡與主機通信技術研究

2015-05-30 07:39:52呂民強等
中國市場 2015年19期

呂民強等

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

[關鍵詞]中斷;描述符;DMA

[DOI]10.13939/j.cnki.zgsc.2015.20.059

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

1 高速網卡整體結構

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

高速網卡硬件結構

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

2 網卡與主機通信方式

傳統網卡與主機交換數據的方式有中斷方式和DMA方式[4]。

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

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

3 基于描述符的DMA通信技術

高速網卡采用基于描述符的DMA方式與主機進行通信。高速網絡接口卡通過DMA引擎進行基本的數據傳輸。DMA引擎是實現DMA機制的主要部件,其主要工作是描述符的管理、接收和發送數據的傳輸以及中斷的產生。

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

3.1 描述符機制

在DMA機制中,網絡接口卡在進行數據報文的讀寫前必須知道其讀寫的主機內存目的地址。DMA引擎中接收和發送描述符的主要任務之一是為網絡接口卡提供主機內存的地址信息。接收和發送描述符的數據結構中包含讀寫的主機內存地址以及讀寫數據的長度。DMA引擎采用了環形的發送和接收描述符隊列,發送和接收描述符指向的緩沖區大小通常是固定的。

DMA引擎包含兩個描述符隊列即接收描述符隊列和發送描述符隊列。網絡接口卡和驅動程序進行正確數據傳送的基本必要條件是接收和發送描述符的正確傳送。

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

3.2 中斷機制

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

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

3.3 數據收發過程

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

(1)驅動程序初始化所有可用的接收描述符。然后,驅動程序通告網絡接口卡接收描述符在內存的起始地址以及可用接收描述符的個數;

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

(3)當有數據報文到達網絡接口卡時,DMA引擎就根據接收描述符指示的地址發動一次DMA操作,將到達的數據報文寫入主機內存;

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

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

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

數據報文的發送過程也是一個軟硬件交互過程,具體過程如下:

(1)驅動程序初始化所有可用的發送描述符,同時通告網絡接口卡發送描述符的在內存中的起始地址;

(2)當有數據報文需要發送時,驅動程序將數據報文在內存中的起始地址和報文長度填寫到發送描述符的相應域中;

(3)發送描述符填寫完成后,網絡接口卡驅動程序就通告網絡接口卡此次需要處理的發送描述符個數;

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

(5)發送描述符的下載完成后,DMA引擎就根據發送描述符的內容發動DMA操作,將發送描述符指向的數據報文發送到網絡上;

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

4 提高網卡與主機通信性能的技術

4.1 提高總線的帶寬

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

4.2 減少中斷開銷

為減少網卡硬件的中斷頻率,在網卡驅動中采取關中斷技術和中斷聯合技術[6]。所謂關中斷技術就是當CPU接收到網卡的第一個中斷,執行中斷處理時,在中斷處理程序中將網卡的中斷關閉,當處理完所有到達的數據包后,再將網卡的中斷打開。所謂“中斷合并”就是網絡設備DMA完數據后并不立即向系統發中斷,而是當設備接收(或者發送)的數據到達一定的閾值后才向系統發中斷。

參考文獻:

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

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

主站蜘蛛池模板: 国产精品午夜电影| 中文字幕人成乱码熟女免费| 激情无码视频在线看| 一级爆乳无码av| 国产激情无码一区二区免费| 成色7777精品在线| 三上悠亚在线精品二区| 国产一线在线| 久久精品女人天堂aaa| 无码中文字幕精品推荐| 色综合a怡红院怡红院首页| 精品伊人久久久久7777人| 四虎永久免费在线| 欧美人人干| 57pao国产成视频免费播放| 亚洲精品在线观看91| 精品国产91爱| 欧美亚洲欧美区| 欧美国产综合视频| 国产网友愉拍精品| 67194在线午夜亚洲| 99精品伊人久久久大香线蕉| 人与鲁专区| 精品国产香蕉伊思人在线| 国产免费久久精品99re不卡 | 日本伊人色综合网| 伊人久综合| 国产麻豆精品久久一二三| 亚洲国产精品久久久久秋霞影院| 亚洲伊人天堂| a在线观看免费| 亚洲成A人V欧美综合天堂| 久久国产精品麻豆系列| av一区二区三区高清久久| 欧美日韩另类在线| 亚洲Av综合日韩精品久久久| 国产亚洲精品91| 国产精品欧美日本韩免费一区二区三区不卡 | 国产白浆一区二区三区视频在线| 欧美成人综合在线| 欧美性精品| 国产成人亚洲精品色欲AV| 国产亚洲视频免费播放| 国产真实乱子伦精品视手机观看| 国产成人免费观看在线视频| 麻豆精选在线| 无码内射中文字幕岛国片| 亚洲精品日产AⅤ| A级毛片无码久久精品免费| 91综合色区亚洲熟妇p| 国产成人综合久久精品尤物| 大香网伊人久久综合网2020| 日日噜噜夜夜狠狠视频| 国产亚洲视频在线观看| 狼友视频一区二区三区| 日韩专区欧美| 亚洲第一成网站| 国产黄色爱视频| 国产欧美成人不卡视频| 国产高清在线丝袜精品一区| 国产第八页| 久久精品娱乐亚洲领先| 久久性妇女精品免费| 欧美笫一页| 午夜福利在线观看成人| 一区二区影院| 成人小视频在线观看免费| 天天综合网站| 日韩123欧美字幕| 免费看黄片一区二区三区| 久久国产精品嫖妓| 中文字幕无码中文字幕有码在线| 成年午夜精品久久精品| 国产微拍精品| AV不卡无码免费一区二区三区| 亚洲男人天堂久久| 色偷偷男人的天堂亚洲av| 在线人成精品免费视频| 美女黄网十八禁免费看| 国产粉嫩粉嫩的18在线播放91| 亚洲综合色婷婷中文字幕| 一区二区自拍|