一种硬件实现IP层协议处理器方案与探索.docVIP

一种硬件实现IP层协议处理器方案与探索.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种硬件实现IP层协议处理器方案与探索

一种硬件实现IP层协议处理器方案与探索   摘要:为了使终端用户能充分利用广阔的带宽资源,该文提出了一种硬件实现方法,将原来由软件完成的IP层协议功能完全卸载出来,并通过DMA(直接存储器访问)接口直接进行主存读写,从而减少了CPU的负荷。   关键词:TCP/IP直接存储器访问协议处理器。   中图分类号: 文献标识码:A文章编号:1007-9416(2010)01-0000-00      1前言   TCP/IP协议历来是处理网络上数据传输的通用语言,传统的TCP/IP技术在处理数据传输的过程中采用软件实现,需要占用大量的处理器资源。IP协议是TCP/IP协议族中最核心的协议,所有的TCP、UDP、ICMP以及IGMP数据都以IP数据报格式传输,处理IP协议要耗费大量的CPU资源。为实现减轻处理器负荷、提高网络利用率的目的,可通过硬件卸载IP协议的部分任务。   本文提出了一种硬件卸载IP层协议的电路结构即IP层协议处理器,该处理器电路接口符合PCI2.2规范,通过DMA(Direct Memory Access)方式与主存直接交换数据,协议处理过程中不需要CPU的干预,能以1Gbit/s线速度进行I/O操作和协议处理,使系统性能大大提高,CPU占用率过高的问题得到有效缓解。相对当前采用嵌入式CPU的协议处理器,整个电路占用逻辑资源以及引脚数量大为减少,制成ASIC芯片后占用面积小、成本低,易于集成在网卡上,是一种廉价、优质的吉比特网络硬件支持方案。      2协议处理器的结构和原理   根据IP协议在TCP/IP协议栈分层中所处的位置,IP层协议处理器应包含3个模块:发送端模块、接收端模块和DMA接口电路。当主机发送数据报时,数据经DMA接口到发送端模块进行IP层协议处理再到网卡进行链路层协议处理,最后组装为数据帧发送到网络中。当主机接收到数据报时,数据依次经网卡、接收端模块、DMA接口,最终存入主存储器中。下面详细说明各组成部分的工作原理。   DMA方式,是一种由DMA控制器完成存储器与外部设备或外部存储器之间大量数据传输的方式。由于主存和DMA之间有一条数据通路,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场。这一特点特别适合于高速I/O或辅存与主存之间的信息交换。PCI总线是32位并可升级到64位的独立??CPU的处理总线,总线速度可达33/66MHz。本文通过将DMA逻辑和PCI接口规范紧密结合起来,构成了一个灵活的基于PCI2.2规范的DMA接口电路,通过此接口电路,协议处理器可通过PCI总线与计算机内存直接交换数据。其工作流程分为读、写两部分。   当进行读操作时(即主机发送数据报)依次进行以下操作,(1)CPU通过PCI总线向DMA写入控制字,此时DMA为从设备状态,DMA接受到FRAME#信号后将输入设备地址和控制字锁存。(2)判断PCI总线所传设备地址是否为协议处理器地址,若是,则进入数据传输状态,将TRDY、DEVSEL信号置低电平,CPU所传的控制信息被写入DMA配置寄存器中。若不是协议处理器地址,则不对其响应,返回初试状态。(3)控制字传输完后,DMA接口将REQ置低电平向总线请求控制权,此时DMA控制器为主设备状态。(4)当总线上GNT为低电平时表明DMA接口获得总线控制权,DMA将FRAME置低电平,并发送内存的设备地址和读操作命令。(5)内存准备好发送数据后,总线发出TRDY#信号,DMA将数据读入缓存,此过程中若内存未准备好,TRDY为高电平,DMA控制器继续等待。(6)当DMA完成读操作的前一个周期将FRAME置高电平,随后一个周期后IRDY#也跳变为高电平,数据传输结束。(7)DMA接口发出DREQ#信号询问发送端模块是否空闲,若发送端模块空闲,则将缓存中的数据以及字节数、上层协议号,目的地址输出给发送端模块。(8)缓存数据空后,向CPU发送中断信号并返回空闲状态。以上与总线进行数据交换的过程中,一旦出现奇偶校验错误,则将PERR置低电平,并返回初始状态,下同。   当进行写操作时(即向主机发送数据报)依次进行以下操作,(1)接收端模块向DMA接口发请求。(2)若DMA控制器处于空闲状态,DMA接口将REQ置低电平向总线请求控制权。(3)GNT为低电平表明DMA控制器获得总线控制权,DMA将FRAME置低电平,并发送内存设备地址和写操作命令。(4)内存准备好接受数据后,TRDY变为低电平,DMA将数据写入主存中。此过程中若内存未准备好,TRDY为高电平,DMA控制器进入等待状态。(5)当DMA完成写操作的前一个周期将FRAME置高电平,随后一个周期后IRDY也变为高电平,数据传输结束。(6)向CP

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档