高速网卡与主机通信技术研究

来源 :中国市场 | 被引量 : 0次 | 上传用户:ibyxpr
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]本文分析了高速网卡与主机的通信方式——基于描述符的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.
其他文献
[摘要]现代预算制度是议会制约政府的重要机制。要实现政府财政的法治化,就必须以政府预算的法治化为基本途径和手段。以地方人大为视角考察我国的预算监督法律制度,可知其存在机构配置与权力配置不成比例、对议会预算监督的权力配置不充分、具体规则之间的不协调诸问题。  [关键词]预算监督;地方人大;法律制度;权力配置  [DOI]1013939/jcnkizgsc201521..148  1引言  “政府没有
期刊
[摘要]本文先通过定性分析,探究了准备金调整对股市影响的传导机制,再进行实证分析,建立了模糊综合评价模型,设置客观权重,对2007年到2012年期间,央行发布调整法定存款准备金消息后的第二个交易日各行业指数的涨跌幅数据进行模糊综合评价,最终得出不同的行业指数对法定存款准备金调整的敏感系数,给出合理的经济意义解释,并提出相关政策建议。  [关键词]法定存款准备金;行业指数;模糊综合评价  [DOI]
期刊
[摘 要]本文就北京地区航空物流产业的发展现状进行深入调研及分析,获取北京地区航空物流市场发展动向相关信息;从目前航空物流货运市场中主要的渠道货运代理和航空公司入手,基于航空物流货运市场渠道重要性为视角,对航空货运市场渠道进行拓展和体系构建具有重要意义。  [关键词]航空物流;货运市场;渠道研究  [DOI]10.13939/j.cnki.zgsc.2015.20.097  1 航空货运市场现状 
期刊
[摘 要]本文介绍了1553B总线技术的特点,简要说明了1553B总线通信系统的组成,详细介绍了基于SOC芯片的远程终端的硬件及软件设计。该设计已在某机载有效载荷中成功应用,对机载1553B总线远程终端设计具有重要的指导和参考意义。  [关键词]SOC芯片;1553B;通信表  [DOI]10.13939/j.cnki.zgsc.2015.20.062  1553B总线以其传输的高可靠性、使用简单
期刊
[摘要]个人住房贷款抵押业务是我国商业银行众多贷款业务的较为主要的业务之一,并以安全稳定和利润率高著称。但商业银行在个人住房抵押贷款业务中也时常受到信用风险、利率风险、操作风险、法律制度风险和贷后管理风险等考验。本文在具体阐述我国商业银行个人住房抵押贷款业务中所存在的风险后,有针对性地提出了相应的防范对策,希望能为完善我国商业银行个人住房抵押贷款业务提供有价值的参考。  [关键词]商业银行;个人住
期刊
[摘 要]针对传统企业已拥有较为完备的一二方物流的条件下,向现代物流转型的需求,建立一个基于云计算环境的扩展性强的企业物流电子商务平台,能实现物流多元化拓展,利用平台的智能定价算法和智能物流服务评价算法进一步提升了企业流通物流服务走向市场的竞争实力,形成企业新的多元化拓展发展点。  [关键词]物流电子商务;智能定价;大数据分析  [DOI]10.13939/j.cnki.zgsc.2015.20.
期刊
[摘 要]由于国内经济发展迅速,科技水平提升速度也越来越快,越来越多的城市开始了频繁的城市规划和建设。在这些大型的工程中,GPS技术为测量和勘探提供了很好的服务,该技术检测效率高,而且精准度更精确。但由于国内对该技术的应用时间还很短,在技术上依然存在一些问题,需要专业人士做进一步的调查研究和改造。GPS技术的成功应用对于国土测绘管理具有重大意义,不仅能大大提高国土测绘管理工作的进度,而且使检测失误
期刊
[摘 要]随着互联网的应用和普及,网购已经成为一种大众化的生活方式,本文利用主成分分析模型与灰色关联度模型,研究网购对传统零售业的影响。通过对影响零售业的因素进行分析,得出一致的结论,即GDP、社会消费品零售总额、城镇居民人均可支配收入为主要影响因素。  [关键词]网购;传统零售业;主成分分析;灰色关联度  [DOI]10.13939/j.cnki.zgsc.2015.20.110  1 引 言 
期刊
[摘要]在老龄化迫近的情境下,第二支柱的缺乏使得第一支柱的财政压力放大,在分权体制下,地方政府可以先行构建有地域特征的具有人力资源吸引功能的企业年金体系提高居民福利,并且帮助完成吸引外来劳动力的目的,为未来地方经济发展赢得先机。本文以宁波地区为例,给出了理论框架,提出了方法体系以及具体措施的建议。  [关键词]养老金第二支柱;劳动力吸引;解决方案  [DOI]1013939/jcnkizgsc20
期刊
[摘要]中小企业融资难是一个老生常谈但却一直没有得到解决的难题,本文通过对普惠金融的阐述说明完善普惠金融制度将是解决此难题的有效手段,并提出了一些建设普惠金融体系的建议以期更好地发展普惠金融,进而加大对中小企业的支持力度,促进其健康可持续发展。  [关键词]普惠金融;中小企业;融资难  [DOI]1013939/jcnkizgsc201521.221  2011年温州众多中小企业主因为无力还贷而纷
期刊