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

        ?

        基于DMA的以太網(wǎng)接口性能提升*

        2014-07-25 09:00:42程瑤
        關(guān)鍵詞:數(shù)據(jù)源寄存器引擎

        程瑤

        (重慶理工大學(xué) 電子信息與自動(dòng)化學(xué)院,重慶 400050)

        0 引言

        以太網(wǎng)作為一種計(jì)算機(jī)局域網(wǎng)組網(wǎng)接口標(biāo)準(zhǔn),具有標(biāo)準(zhǔn)開放、高傳輸帶寬、低成本、易于擴(kuò)展和維護(hù)等特點(diǎn),是當(dāng)今應(yīng)用最為普遍的局域網(wǎng)技術(shù)[1-3]。伴隨著當(dāng)今社會(huì)信息化程度的提高,人們需要處理的數(shù)據(jù)量越來越大,以太網(wǎng)接口的性能成為應(yīng)用中需要考慮的關(guān)鍵因素之一[4]。本文研究了DMA技術(shù)對于以太網(wǎng)接口性能提升的作用,試驗(yàn)平臺(tái)采用了S3C2410A處理器和AX88796以太網(wǎng)MAC芯片。

        1 系統(tǒng)組成

        試驗(yàn)系統(tǒng)采用了S3C2410A處理器和AX88796以太網(wǎng)MAC芯片。

        S3C2410是Samsung公司生產(chǎn)的一款基于ARM公司ARM920T架構(gòu)的通用處理器,其具有低成本、低功耗和高性能等優(yōu)點(diǎn),適用于對成本和功耗比較敏感的領(lǐng)域,如手持設(shè)備。該處理器片上集成了豐富的外設(shè)資源,包括Timer、UART、DMA、LCD控制器和NAND閃存控制器等,最高可運(yùn)行主頻為203 MHz[5]。

        AX88796是一款基于IEEE802.3/IEEE802.3u局域網(wǎng)標(biāo)準(zhǔn)的NE2000兼容型快速以太網(wǎng)控制器芯片,內(nèi)部集成有10/100 Mb/s自適應(yīng)的物理層收發(fā)器和8 KB×16位的SRAM,支持MCS-51系列、80186系列以及MC68K系列等CPU。由于提供了與NE2000寄存器級兼容的接口,其驅(qū)動(dòng)程序可以很方便地移植[6]。AX88796的功能框圖如圖1所示。

        圖1 AX88796功能框圖

        基于S3C2410和AX88796的以太網(wǎng)接口設(shè)計(jì)如圖2所示。

        圖2 以太網(wǎng)接口功能框圖

        2 基于DMA的性能提升設(shè)計(jì)

        DMA(Direct Memory Access)是現(xiàn)代計(jì)算機(jī)的一種重要特性,它可以不依賴CPU實(shí)現(xiàn)系統(tǒng)中不同硬件子系統(tǒng)之間的數(shù)據(jù)交換。如果不使用DMA,中央處理器需要首先將數(shù)據(jù)從源地址拷貝到內(nèi)部暫存器,然后再將其復(fù)制到目的地址。這個(gè)過程會(huì)一直占用CPU資源,CPU無法處理其他工作。而DMA方式直接在兩個(gè)子系統(tǒng)間交換數(shù)據(jù),不需要CPU的介入,CPU只負(fù)責(zé)啟動(dòng)而不參與數(shù)據(jù)傳送過程,整個(gè)數(shù)據(jù)傳輸過程完全由DMA控制器硬件實(shí)現(xiàn)。這時(shí),CPU可以同時(shí)做其他的工作而互不影響,提高了系統(tǒng)的運(yùn)行效率。不難看出,在同等程度的處理器負(fù)擔(dān)下,DMA是一種快速的數(shù)據(jù)傳送方式。在實(shí)現(xiàn)DMA傳輸時(shí),總線應(yīng)該由DMA控制器直接控制,因此,在使用DMA時(shí)存在總線控制權(quán)轉(zhuǎn)移問題。在DMA開始前,CPU要把總線控制權(quán)交給DMA控制器,在DMA數(shù)據(jù)傳輸結(jié)束后再把總線控制權(quán)交還給CPU。

        為了提升以太網(wǎng)接口的性能,本設(shè)計(jì)引入了DMA數(shù)據(jù)傳輸方式,并將使用DMA與不使用DMA的性能進(jìn)行了對比分析。本設(shè)計(jì)使用VxWorks嵌入式操作系統(tǒng),軟件開發(fā)環(huán)境為Tornado2.2。DMA主要應(yīng)用于以太網(wǎng)驅(qū)動(dòng)程序的數(shù)據(jù)收發(fā)部分。為了對比性能,分別對使用DMA與不使用DMA方式進(jìn)行了試驗(yàn)。不使用DMA的數(shù)據(jù)收發(fā)程序如下:

        使用PING包試驗(yàn)測試該驅(qū)動(dòng)程序的性能,效果如圖3所示。

        圖3 未使用DMA時(shí)的PING包試驗(yàn)結(jié)果

        為了提升以太網(wǎng)接口的傳輸性能,在驅(qū)動(dòng)程序設(shè)計(jì)中使用了DMA方式,這樣可以在不太耗費(fèi)CPU資源的情況下完成系統(tǒng)和以太網(wǎng)接口的數(shù)據(jù)交換,從而顯著地提升系統(tǒng)的性能。S3C2410片上集成了四通道的DMA引擎,可以完成系統(tǒng)總線和外設(shè)總線間的直接數(shù)據(jù)傳輸。S3C2410的各個(gè)DMA引擎支持單字節(jié)和4字節(jié)兩種傳輸大小。為了效率最大化,本設(shè)計(jì)中采用了4字節(jié)傳輸模式,其傳輸時(shí)序如圖4所示。

        圖4 DMA傳輸時(shí)序圖

        S3C2410的DMA引擎既可以通過軟件方式啟動(dòng),也可以通過外部DMA請求引腳啟動(dòng)。本設(shè)計(jì)中采用軟件方式啟動(dòng)。要實(shí)現(xiàn)DMA傳輸,需要進(jìn)行如下的一系列操作:

        (1)配置DMA引擎的數(shù)據(jù)源初始地址,將數(shù)據(jù)源初始地址寫入寄存器DISRC。對于以太網(wǎng)數(shù)據(jù)接收,數(shù)據(jù)源初始地址就是AX88796的數(shù)據(jù)寄存器地址;而對于數(shù)據(jù)發(fā)送,數(shù)據(jù)源初始地址就是包含待發(fā)送數(shù)據(jù)的內(nèi)存地址。

        (2)配置DMA引擎的數(shù)據(jù)源控制寄存器,包括數(shù)據(jù)源設(shè)備所在的總線(系統(tǒng)總線或者外設(shè)總線)以及地址增長方式。在本設(shè)計(jì)中,發(fā)送和接收的源設(shè)備都在系統(tǒng)總線上。而對于地址增長方式,在接收時(shí),源地址為AX88796的數(shù)據(jù)寄存器地址,是固定不變的,所以要配置成不變的;在發(fā)送時(shí),源地址在內(nèi)存中,其地址是遞增的,所以要配置成遞增式。

        (3)配置DMA引擎的初始目的地址,將初始目的地址寫入寄存器DIDST。對于數(shù)據(jù)接收,初始目的地址就是內(nèi)存中用于存儲(chǔ)接收數(shù)據(jù)的地址;而對于數(shù)據(jù)發(fā)送,初始目的地址就是AX88796的數(shù)據(jù)寄存器地址。

        (4)配置DMA引擎的目的地址控制寄存器,包括目的地址所在的總線(系統(tǒng)總線或者外設(shè)總線)以及地址增長方式。這里的配置可以參考數(shù)據(jù)源控制寄存器的配置。

        (5)配置DMA引擎控制寄存器,配置包括傳輸單元大?。? bit或者4 bit,本設(shè)計(jì)中使用4 bit)、觸發(fā)方式(軟件方式或者外部硬件引腳觸發(fā),本設(shè)計(jì)中使用的軟件觸發(fā)方式)以及傳輸次數(shù)。

        (6)配置DMA引擎的觸發(fā)寄存器以啟動(dòng)數(shù)據(jù)傳輸。

        具體的驅(qū)動(dòng)代碼如下:

        為了檢驗(yàn)DMA傳輸方式的性能,這里同樣采用了PING包試驗(yàn)的方式,具體PING包結(jié)果如圖5所示。由圖可見,采用DMA傳輸方式后,以太網(wǎng)接口的性能得到了顯著的提升。

        圖5 使用DMA后的PING包試驗(yàn)結(jié)果

        3 結(jié)論

        傳輸性能是以太網(wǎng)接口的一個(gè)關(guān)鍵參數(shù),在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)需要予以考慮。本設(shè)計(jì)中引入了DMA方式以提升以太網(wǎng)接口的性能,通過PING包試驗(yàn)證明了DMA可以顯著地提升以太網(wǎng)接口的性能。

        [1]IEEE Computer Society.IEEE Standard 802.3[S].2002.

        [2]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2013.

        [3]嚴(yán)偉,潘愛民.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2012.

        [4]楊宏.基于END驅(qū)動(dòng)IP層轉(zhuǎn)發(fā)能力的提升方法[J].信息安全與通信保密,2007(1):156-160.

        [5]SAMSUNG Electronics.S3C2410A user′s manual[Z].2004.

        [6]ASIX Electronics Corporation.AX88796L user′s manual[Z].2002.

        猜你喜歡
        數(shù)據(jù)源寄存器引擎
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        藍(lán)谷: “涉藍(lán)”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價(jià)研究
        無形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價(jià)算法
        基于Cocos2d引擎的PuzzleGame開發(fā)
        分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計(jì)與實(shí)現(xiàn)
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        国产人妻熟女呻吟在线观看| 亚洲中文字幕av天堂| 蜜臀av国内精品久久久人妻| 一区二区三区日本高清| 最新日本女优中文字幕视频| 在线观看午夜视频一区二区| 中文字幕亚洲乱码熟女在线| 亚洲精品视频久久| 色婷婷久久99综合精品jk白丝| 中文字幕有码人妻在线| 屁屁影院ccyy备用地址| 国产精品刺激好大好爽视频| 亚洲一区二区三区品视频| 久久精品亚州中文字幕| 日本丰满熟妇videossex8k| 欧美中文在线观看| 中文天堂一区二区三区| 97精品熟女少妇一区二区三区| 国产精品99精品久久免费| 欧美极品美女| 欧美精品AⅤ在线视频| 国产精品久久一区性色a| 亚洲av产在线精品亚洲第三站| 人人超碰人人爱超碰国产| 亚洲人成色777777老人头| 手机看片福利日韩| 亚洲精品国产精品系列| 手机在线亚洲精品网站| 变态 另类 欧美 大码 日韩| 亚洲国产香蕉视频欧美| 快射视频网站在线观看| 天天躁夜夜躁狠狠躁婷婷| 亚洲精品aa片在线观看国产| 午夜福利影院不卡影院| 91精品人妻一区二区三区水蜜桃| 美女视频黄是免费| 18成人片黄网站www| 人妻无码一区二区19P| 免费看黄片的视频在线观看| 国产男女猛烈无遮挡免费网站| 国产白嫩美女在线观看|