为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[doc] GMAC千兆以太网卡驱动设计

2018-02-21 7页 doc 21KB 74阅读

用户头像

is_591137

暂无简介

举报
[doc] GMAC千兆以太网卡驱动设计[doc] GMAC千兆以太网卡驱动设计 GMAC千兆以太网卡驱动设计 CN43—1258/TP ISSN1007—130X 计算机工程与科学 COMPUTERENGINEERING&SCIENCE 2009年第31卷第A1期 V01.31,No.A1,2009 文章编号:1007—13OX(20O9)A1—0340—02 GMAC千兆以太网卡驱动设计 TheDesignofGMACGigabitEthernetDriver 鲍天明.周龙,殷红武 BAOTian-ming,ZHOULong,YI...
[doc] GMAC千兆以太网卡驱动设计
[doc] GMAC千兆以太网卡驱动设计 GMAC千兆以太网卡驱动设计 CN43—1258/TP ISSN1007—130X 计算机工程与科学 COMPUTERENGINEERING&SCIENCE 2009年第31卷第A1期 V01.31,No.A1,2009 文章编号:1007—13OX(20O9)A1—0340—02 GMAC千兆以太网卡驱动设计 TheDesignofGMACGigabitEthernetDriver 鲍天明.周龙,殷红武 BAOTian-ming,ZHOULong,YINHong-wu (江南计算技术研究所,江苏无锡214083) (JiangnanInstituteofComputingTechnology.Wuxi214083,China) 摘要:本文主要研究了GMAC千兆以太网卡驱动的基本特点,性能优 点,基本原理和设计方法,分析和实现了软硬 件描述符机制以及软件设计的各个.千兆以太网在服务器以及 高性能计算机领域有着广泛的应用前景和市场. Abstract:ThispaperstudiedtheGigabitEthernetcarddriverGMAC’sbasicc haracteristics,performanceadvantages, thebasicprinciplesanddesignmethods,analysisoftherealizationofthehard wareandsoftwaremechanisms,aswellasde— scriptorsofthevarioussoftwaredesignprocess.GigabitEthernethaveawider angeofmarketsandagoodprospectsinthe fieldofhigh-performancecomputerservers. 关键词:千兆以太网;千兆以太网卡;驱动;描述符 Keywords:gigabitethernet;gigabitethernetcard;driver;descriptor doi:10.3969/j.issr~1007—130)(.2009.A1.095 中图分类号:TP316文献标识码:A 1引言 我们日常使用的网卡都是以太网网卡.目前网卡按其 传输速度来分可分为10M网卡,10/100M自适应网卡以及 千兆(1000M)网卡.如果只是作为一般用途,如日常办公 等,比较适合使用IOM网卡和10/100M自适应网卡两种. 如果应用于服务器等产品领域,就要选择千兆级的网卡. 千兆位以太网}】](OigabitEthernet,简称GbE)采用了与 10M以太网相似的帧格式,帧结构,网络,全/半双工 工作方式,流控模式以及布线系统. 在服务器领域,老式的以太网速度慢,需要PC1支持, 数据吞吐率小,远远满足不了用户的需求,所以产生了千兆 以太网,以及在此基础上开发了各式各样的千兆以太网卡. 本文研究实现了一种商业性网卡的驱动设计,主要用于服 务器领域. 2GMAC千兆以太网卡特点 2.1千兆以太网 千兆以太网技术有两个标准:IEEES02. IEEE802.3ab.IEEE802.3z制定了光纤和短程铜线连接 的标准.IEEE802.3ab制定了五类双绞线上较长距离 连接方案的标准.IEEE802.3z工作组负责制定光纤(单模 或多模)和同轴电缆的全双工链路标准.IEEE802.3z定义 了基于光纤和短距离铜缆的1000Base-X,采用8B/10B编 码技术,信道传输速度为1.25Gbit/s,去耦后实现 1000Mbit/s/~~输速度. 2.2硬件结构 本网卡使用的主要硬件系统在使用中通常被称为 GMAC子系统.其硬件结构主要分为三层:核心层,MTL 层,DMA层.核心层即II)核是GMAC-CORE,提供了硬 件的接口以及网卡内部的一些基本功能,比如说设置时钟, 网卡的重设重启,千兆的数据发送接收模块等.MTL层或 者说GMAC-MTL层主要负责数据与DMA以及FIFO缓 存之间的交互.GMAC-DMA层主要是DMA的控制及其 与系统内存的交互,与CPU的交互等等. 2.3硬件特点 (1)与CPU核心集成在同一芯片内部采用简单的内部 总线互连,降低了软件的复杂度; 3z和(2)支持64b地址访问; 收稿日期:2009—07—13;修订日期:2009—09—10 作者简介:鲍天明(1977一),男,安徽定远人,硕士生,研究方向为并行操作系统;周龙,硕士,研究方向为并行操作系统 通讯地址:214083江苏省无锡市江南计算技术研究所;E-mail:panzerbao@torn.com Address:JiangnanInstituteofComputingTechnology,Wu,Jiangsu214083,t LChina 340 (3)支持设备的功耗管理,具有睡眠唤醒功能; (4)TCP/IP校验,魔包等都是由硬件完成,降低了软 件复杂性和开销,提高了数据包的吞吐率,且维护可控. 3软件驱动实现机制 3.1描述符结构 此网卡在硬件设计中就有固定的描述符结构设计用以 方便软件控制. 接收描述符结构如图1所示,发送描述符的结构与之 类似.描述符结构中通过Own位来示该描述符是否由 硬件所使用,31位的Status域中填充了与接收相关的各种 状态信息.在描述符中使用了两个缓冲区地址及各自的长 度,当使用单向链表的结构组织描述符时,第二个缓冲区 地址记录了下一个描述符的物理地址.在本驱动实现中, 我们使用了连续的物理空间存放描述符以构成描述符环的 结构,描述符中的第二个缓冲区地址总为空. 3l0 ROSE R0SE ROSE ROSE 图1接收描述符结构 3.2驱动的初始化流程 在初始化函数子流程中,完成了对Tx,Rx描述符的建 立与初始化,分配内存,启动等动作.整个初始化的流程如 图2所示. l初始化开始l 初始化设备控制寄存器 臻霸蠢往譬冲 ‘ l初始化DMA控制寄存器 ? 彗鼹蕹并初始化 清除所有中断并设置 中断屏蔽寄存器 启动发送/接收过程 I初始化结束l 图2驱动的初始化流程 3.3发送与接收流程 当中断服务程序明确物理网络设备有数据包收到时, 将调用数据接收子程序来完成实际的依赖于硬件的数据接 收工作,并在接收完成后将收到的数据包往上层传.网卡 驱动的接收流程如图3所示.数据接收子程序的内容可以 由以下四点来概括: (1)申请SKB缓冲区给新的数据包存储; (2)从硬件中读取新到达的数据; (3)将新的数据包往网络协议的上一层传送; (4)修改接口的统计数据. 由于网络分层的原因,当用户要传输数据时,数据包是 沿着网络协议由上往下逐层下传的.最后,数据包将传送 图3接收流程 给网络接口.网络接口的任务就是将数据包传送给网卡, 让物理网卡完成最终的物理传输.在驱动的发送过程比较 简单,只需向当前发送描述符填充待发送的SKB,然后启 动发送过程即可. 4结束语 目前该以太网接口的硬件设计已在FPGA上实现,本 文所述驱动程序也顺利通过调试. 本文就GMAC千兆以太网卡的软硬件设计作了介绍, 主要介绍了软件驱动部分.今后需要完善的方向是集成更 多的功能,同时提高算法的效率;更长远一些就是将驱动程 序中的大部分功能集成到硬件设计的算法中去,进一步减 少软件控制的复杂度,提高性能和效率.随着以太网技术 的发展,在高性能计算领域已经开始研究万兆以太网?2],以 期达到更高的速率和使用效能,缩短数据传送延迟影响整 体性能的提升.对千兆甚至万兆以太网卡而言,以后将会 有更多的由软件实现的功能和算法转由硬件直接完成,软 件只起控制和引导的作用,提高网卡的使用功效和性能. 参考文献: [1]RichSeifert(美).千兆以太网技术与应用[M].郎波,等译. 北京:机械工业出版社,2000. [2]曹政,李磊,陈明宇.万兆以太网媒体访问控制层研究[J].计 算机工程,2007,33(17):31—33. 341
/
本文档为【[doc] GMAC千兆以太网卡驱动设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索