具有硬件加速功能的智能以太网卡的制作方法

文档序号:82510阅读:394来源:国知局
专利名称:具有硬件加速功能的智能以太网卡的制作方法
技术领域
本发明涉及计算机网络技术领域
,特别涉及一种具有硬件加速功能的智能以太网卡。
背景技术
计算机的发展已经进入网络时代,服务器—客户机应用模式得到了极大地发展。在这种应用模式中,服务器的一项主要工作就是对网络数据包的收发和处理。而随着互联网的不断发展,宽带网络的日益普及,对服务器性能的要求也越来越高。但当以太网从百兆网一步跃入千兆网时代,人们发现对一个千兆以太网数据流的处理可以轻易地消耗掉服务器处理器的大部分处理能力,通过进一步的研究发现,此时的CPU的主要工作是在响应中断,并做一些打包、拆包、差错校验、对网络数据包的地址进行过滤等比较简单但比较费时的I/O类操作,使其无法发挥其强大的计算能力以提供更为有用的服务。
针对上述问题,可以在网卡上设计专门的用于I/O处理的嵌入式微处理器,将一大部分TCP/IP协议下载到网卡上执行。通常嵌入式微处理器都是RISC处理器,具有较高的时钟频率,平均每条指令只需要一个时钟周期,具有较高的MIPS值。针对I/O处理需求,嵌入式微处理器还具有较快的中断响应速度和实时的处理能力,利用嵌入式微处理器设计的网卡通常也称之为智能网卡。另外利用FPGA作为硬件加速器件,将一部分用户程序配置到FPGA中,用高度并行的硬件操作代替软件操作,可以进一步提高处理效率。

发明内容本发明的目的是提供一种符合千兆以太网标准的具有硬件加速功能的智能以太网卡,用于对网络处理能力要求较高的服务器中,利用该网卡上的嵌入式微处理器及硬件加速模块的处理能力,减轻服务器的负载,提高了整个系统的处理能力。
为了实现上述目的,本发明提供了一种具有硬件加速功能的智能以太网卡,包括嵌入式微处理器1、外围设备互连扩展接口2、百兆以太网收发器3、铜缆接口5、存储模块7、闪存8、网卡管理模块10、时钟管理电路11、电擦除可编程只读存储器12、串口13、串行媒体无关接口14、内存控制器接口16、外部设备总线17,千兆以太网收发器4、光纤接口模块6、简化千兆比特媒体无关接口/简化十比特接口15和硬件加速模块9;所述的嵌入式微处理器1通过外围设备互连扩展接口2与主机相连,所述的嵌入式微处理器1分别连接百兆以太网收发器3和千兆以太网收发器4,各自驱动两个铜缆接口5和光纤接口模块6;嵌入式微处理器1通过内存控制器接口16连接存储模块7;嵌入式微处理器1上还连接有外部设备总线17,通过外部设备总线17连接闪存8、硬件加速模块9和网卡管理模块10,时钟管理电路11、处理器连接电擦除可编程只读存储器12和串口13直接连接在嵌入式微处理器1上。
上述技术方案中,所述的硬件加速模块9用于在接收网络数据包时分担处理器的负荷,提高处理效率,包括加速电路18、电源管理模块19、配置管理电路20、闪存21和快速被动并行接口22;其中,所述的加速电路18通过快速被动并行接口22与配置管理电路20相连,在加速电路18中配置符合外部设备总线协议的接口逻辑、数据缓存及与用户程序相关的加速逻辑,所述的接口逻辑连接外部设备总线17,通过外部设备总线17与嵌入式微处理器1交换数据,所述的加速逻辑实现对数据的处理,所述的加速电路18可通过FPGA芯片实现;所述的电源管理模块19提供硬件加速模块9所需的1.2V、3.3V电源;所述的配置管理电路20用于配置加速电路18,所述的配置管理电路20连接外部设备总线17以接收数据,连接闪存21以存储数据,并通过快速被动并行接口22连接加速电路18;所述的闪存21存储加速电路18所采用的FPGA的配置文件,外部设备总线17通过配置管理电路20烧写闪存21。
所述的硬件加速模块9以扩展卡的形式安装于网卡的外部设备总线17的扩展槽上。
所述的配置管理电路20使用可编程器件MAX3000A。
所述的加速电路18使用ALTERA公司的Stratix II FPGA芯片EP2S60,上述技术方案中,所述的嵌入式微处理器1采用IBM公司的PowerPC440GX嵌入式处理器,该处理器集成外围设备互连扩展接口2、串行媒体无关接口14、简化千兆比特媒体无关接口/简化十比特接口15、外部设备总线接口17及内存控制器接口16,内存插槽最多扩展2GB的PC2700 DDR SDRAM。
上述技术方案中,所述的串行媒体无关接口14连接ALTIMA公司的AC104Z百兆以太网收发器3,驱动两个铜缆百兆以太网接口5;所述的简化千兆比特媒体无关接口/简化十比特接口15连接Motorola公司的MC92604千兆以太网收发器4,驱动两片Infineon公司的V23818-K305-L57多模光纤收发器6。
上述技术方案中,所述的智能以太网卡提供铜缆接口5和光纤接口模块6两种介质的以太网接口,所述的铜缆接口5是百兆接口,所述的光纤接口模块6是千兆接口,所述的铜缆接口5与所述的光纤接口模块6各有两个。
本发明的具有硬件加速功能的智能以太网卡可用于对网络处理能力要求较高的服务器中,利用该网卡强大的网络处理能力,可以将很多需要服务器才能处理的负载卸载到网卡上,由网卡上的处理器和硬件加速模块进行处理,从而减轻了对服务器的压力,提高了整个系统的处理能力。
图1为本发明的具有硬件加速功能的智能以太网卡的结构图;图2为IBM PowerPC440GX处理器逻辑框图;图3为Motorola MC92604双千兆以太网收发器逻辑框图;图4为ALTIMAAC104Z百兆以太网收发器逻辑框图;图5为本发明的具有硬件加速功能的智能以太网卡的硬件加速模块逻辑框图。
图面说明1嵌入式微处理器 2外围设备互连扩展接口 3百兆以太网收发器4千兆以太网收发器 5铜缆接口 6光纤接口模块7存储模块 8闪存 9硬件加速模块10网卡管理模块 11时钟管理电路 12电擦除可编程只读存储器13串口 14串行媒体无关接口15简化千兆比特媒体无关接口/简化十比特接口 16内存控制器接口17外部设备总线 18加速电路 19电源管理模块20配置管理电路 21闪存 22快速被动并行接口
具体实施方式下面结合附图和具体实施方式
对本发明作进一步说明。
如图1所示,为本发明的具有硬件加速功能的智能以太网卡的结构图。本实施例的具有硬件加速功能的智能以太网卡包括嵌入式微处理器1、外围设备互连扩展(PCI-X)接口2、百兆以太网收发器3、千兆以太网收发器4、铜缆接口5、光纤接口模块6、存储模块7、闪存8、硬件加速模块9、网卡管理模块10、时钟管理电路11、电擦除可编程只读存储器(E2PROM)12、串口13、串行媒体无关接口(SMII)14、简化千兆比特媒体无关接口/简化十比特接口(RGMII/RTBI)15、内存控制器接口16、外部设备总线17。
其中,所述的嵌入式微处理器1用于处理数据,实现IP包的内容分析、拆包、封装等操作。在本实施例中,嵌入式微处理器1选用IBM PowerPC440GX处理器。图2是IBM PowerPC440GX处理器的逻辑框图。该处理器基于PPC440内核设计,最高工作频率800MHz,内置32KB的指令缓存和32KB的数据缓存及256KBSRAM。处理器集成64-Bit/133MHz PCI-X接口2、64-Bit/166MHz DDR SDRAM控制器接口16、32-Bit/83MHz外部设备总线控制器17、两个RGMII/RTBI接口15的千兆以太网媒体存取控制器(MAC)、两个SMII接口14的百兆以太网媒体存取控制器(MAC)、四个DMA控制器、内部集成电路(IIC)接口12和串行口13等。该处理器的总功耗小于6W。
所述的外围设备互连扩展(PCI-X)接口2位于嵌入式微处理器1上,当本发明的具有硬件加速功能的智能以太网卡插在主机的64-Bit/133MHZ PCI-X总线槽中使用时,通过PCI-X接口2与主机相连。
嵌入式微处理器1有四个以太网接口,其中的两个SMII接口14连接百兆以太网收发器3,驱动两个铜缆百兆以太网接口5;两个RGMII/RTBI接口15连接千兆以太网收发器4,驱动两个光纤接口模块6,网卡通过LED指示灯显示各个以太网接口的工作状态。
所述的百兆以太网收发器3在本实施例中选用ALTIMAAC104Z百兆以太网收发器,图4是ALTIMAAC104Z百兆以太网收发器的逻辑框图。该以太网收发器中内置四个独立的收发器通道,支持SMII接口14,驱动10/100半/全双工自适应铜缆以太网接口5,该器件需要125MHz参考时钟11输入。总功耗小于160mW,符合IEEE 802.3/802.3u标准。
所述的千兆以太网收发器4在本实施例中选用Motorola MC92604千兆以太网收发器,图3是Motorola MC92604双千兆以太网收发器逻辑框图。该以太网收发器中内置两个独立的串行解串(SerDes)通道,支持RGMII/RTBI收发接口15,它的收发端带宽为1.25Gb,驱动光纤接口模块6,该器件需要125MHz参考时钟11输入,总功耗小于1W,符合IEEE 802.3/802.3z标准;所述的光纤接口模块6在本实施例中选用Infineon V23818-K305-L57多模光纤收发器。
所述的网卡管理模块10用于总线地址译码及显示网卡上程序的运行状态,它是一片MAX3000A可编程器件,在本实施例中,网卡管理模块10选用ALTERAEPM3128ATC144可编程器件,MAX3000A是ALTERA公司的基于E2PROM工艺的可编程器即用性的器件,密度范围从32到512个宏单元。MAX 3000A器件支持在系统可编程能力,能够轻松地实现现场重配置,每个MAX 3000A宏单元都可以独立地配置成顺序或组合逻辑操作。ALTERA公司提供该芯片的开发工具MAX+plus II。
所述的时钟管理电路11为处理器及百兆和千兆收发器提供125MHz的同步参考时钟。
所述的电擦除可编程只读存储器(E2PROM)12连接在嵌入式微处理器1上的内部集成电路(IIC)接口上,用于存储处理器的用户寄存器配置信息。
所述的串口13由处理器引出,它用于网卡的功能调试。
所述的处理器的外部设备总线17上连接大容量闪存8、硬件加速模块9和网卡管理模块10,闪存8用于存储卡上的操作系统和用户程序,硬件加速模块9中配置与用户程序相关的加速逻辑。
在本发明的智能以太网卡上还有可显示工作状态的液晶指示灯。
所述的硬件加速模块9用于在接收网络数据包时分担处理器的负荷,提高处理效率。它是处理器外部设备总线17扩展槽上的一块扩展卡,如图5所示,该图为硬件加速模块9的逻辑框图。硬件加速模块9包括加速电路18、电源管理模块19、配置管理电路20、闪存21和快速被动并行(FPP)接口22。
其中,加速电路18是硬件加速模块9的核心,在本实施例中,加速电路18采用ALTERA Stratix II FPGA芯片EP2S60,FPGA芯片中配置符合外部设备总线协议的接口逻辑、数据缓存及与用户程序相关的加速逻辑,加速逻辑由ALTERA公司提供的开发工具综合编译。FPGA的接口逻辑连接外部设备总线17,I/O模式为32-Bit/83MHz。根据用户程序的不同,加速电路18选择不同的加速逻辑,处理器1通过外部设备总线17控制配置管理电路20来选择加速电路18中的加速逻辑。
ALTERA公司的Stratix II FPGA芯片基于1.2V 90nm SRAM工艺,硬件加速模块采用的EP2S60器件拥有24176个自适应逻辑模块(ALM),2.4Mb片内RAM,16个高度优化的数字信号处理块(DSP),12个锁相环(PLL)。ALTERA公司提供该芯片的开发工具Quartus II,使用该开发工具可以将用户程序的某些算法以大规模并行电路的方式实现,综合编译成相应的FPGA配置文件,存储在硬件加速模块的闪存芯片21中,用户程序工作时选择与其需要加速的算法相应的配置文件来配置FPGA加速电路18。在不同的配置下,FPGA加速电路18内的加速逻辑不同,接口逻辑和数据缓存相同。
电源管理模块19提供硬件加速模块9所需的1.2V、3.3V电源。
配置管理电路20采用MAX3000A可编程器件,该电路连接八位宽的外部设备总线17、闪存21和加速电路18。该器件的内部逻辑和管脚功能可由ALTERA公司提供的开发工具MAX+plus II编程配置。配置管理电路20读闪存21,通过快速被动并行(FPP)接口22配置加速电路18。
闪存21存储加速电路18所采用的FPGA的配置文件,外部设备总线17通过配置管理电路20烧写闪存21。
在本发明的具有硬件加速功能的智能以太网卡中,与以太网卡相连的主机的64-Bit/133MHZ PCI-X总线所提供的带宽为8.53Gbps,处理器的外部设备总线提供的带宽为2.67Gbps,网卡的四个以太网接口所需要的总带宽为2.2Gbps,主机与网卡处理器及网卡处理器与硬件加速模块之间的数据交换能力足以满足网络需求。
具有硬件加速功能的智能以太网卡主要工作过程如下网卡上电后,硬件加速模块9配置加速电路18的加速逻辑,网卡上的嵌入式微处理器1运行Linux操作系统。处理器1首先在本地存储模块7中开辟接收和发送数据缓冲区,通过PCI-X接口2与主机通讯,告知本地内存接收和发送数据缓冲区的大小和首地址,同时获得主机在其存储器中开辟的接收和发送数据缓冲区大小和首地址。当接收网络数据包时,以太网MAC首先将收到IP数据包通过内存控制器接口16转移到处理器的本地内存7中,然后处理器1即可对这一IP包进行分析,例如可对来自某些IP地址的IP包进行内容分析或丢弃等处理、对该IP包进行拆包等,这些操作可由处理器1完成或将数据通过外部设备总线17传输给硬件加速模块9处理;处理器1重复上述接收过程,当接收数据缓冲区中的IP包数据到达一定的阈值时,处理器1启动本地内存到主机内存的DMA操作,主机的DMA控制器将这些收到的IP包数据DMA到主机的接收数据缓冲区中,然后通过中断通知主机,主机响应该中断并对这些IP数据包进行进一步的处理。当发送网络数据包时,主机首先将要发送的数据置于发送数据缓冲区内,然后通过中断通知网卡处理器1,处理器1响应该中断并启动主机内存到本地存储模块7的DMA操作,DMA操作完成后,处理器1将本地存储模块7的发送缓冲区中的数据封装成IP包,然后通过以太网MAC,将该IP包从网上发送出去。
权利要求
1.一种具有硬件加速功能的智能以太网卡,包括嵌入式微处理器(1)、外围设备互连扩展接口(2)、百兆以太网收发器(3)、铜缆接口(5)、存储模块(7)、闪存(8)、网卡管理模块(10)、时钟管理电路(11)、电擦除可编程只读存储器(12)、串口(13)、串行媒体无关接口(14)、内存控制器接口(16)、外部设备总线(17);以及千兆以太网收发器(4)、光纤接口模块(6)、简化千兆比特媒体无关接口/简化十比特接口(15);其特征在于还包括硬件加速模块(9),所述的嵌入式微处理器(1)通过外围设备互连扩展接口(2)与主机相连,所述的嵌入式微处理器(1)分别连接百兆以太网收发器(3)和千兆以太网收发器(4),百兆以太网收发器(3)驱动两个铜缆接口(5),千兆以太网收发器(4)驱动两个光纤接口模块(6);嵌入式微处理器(1)通过内存控制器接口(16)连接存储模块(7);嵌入式微处理器(1)还连接有外部设备总线(17),通过外部设备总线(17)连接闪存(8)、硬件加速模块(9)和网卡管理模块(10);处理器连接电擦除可编程只读存储器(12)和串口(13)直接连接在嵌入式微处理器(1)的相应接口上,时钟管理电路(11)还分别与百兆以太网收发器(3)、千兆以太网收发器(4)和嵌入式微处理器(1)相连。
2.根据权利要求
1所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的硬件加速模块(9)用于在接收网络数据包时分担处理器的负荷,提高处理效率,包括加速电路(18)、电源管理模块(19)、配置管理电路(20)、闪存(21)和快速被动并行接口(22);其中,所述的加速电路(18)通过快速被动并行接口(22)与配置管理电路(20)相连,在加速电路(18)中配置符合外部设备总线协议的接口逻辑、数据缓存及与用户程序相关的加速逻辑,所述的接口逻辑连接外部设备总线(17),通过外部设备总线(17)与嵌入式微处理器(1)交换数据,所述的加速逻辑实现对数据的处理,所述的加速电路(18)可通过FPGA芯片实现;所述的电源管理模块(19)提供硬件加速模块(9)所需的1.2V、3.3V电源;所述的配置管理电路(20)用于配置加速电路(18),所述的配置管理电路(20)连接外部设备总线(17)以接收数据,连接闪存(21)以存储数据,并通过快速被动并行接口(22)连接加速电路(18);所述的闪存(21)存储加速电路(18)所采用的FPGA的配置文件,外部设备总线(17)通过配置管理电路(20)烧写闪存(21)。
3.根据权利要求
2所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的硬件加速模块(9)以扩展卡的形式安装于网卡的外部设备总线(17)的扩展槽上。
4.根据权利要求
2所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的配置管理电路(20)使用可编程器件MAX3000A。
5.根据权利要求
2所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的加速电路(18)使用ALTERA公司的Stratix II FPGA芯片EP2S60。
6.根据权利要求
1所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的嵌入式微处理器(1)采用IBM公司的PowerPC440GX嵌入式处理器,该处理器集成外围设备互连扩展接口(2)、串行媒体无关接口(14)、简化千兆比特媒体无关接口/简化十比特接口(15)、外部设备总线接口(17)及内存控制器接口(16),内存插槽最多扩展2GB的PC2700DDR SDRAM。
7.根据权利要求
1所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的串行媒体无关接口(14)连接ALTIMA公司的AC104Z百兆以太网收发器(3),驱动两个铜缆百兆以太网接口(5);所述的简化千兆比特媒体无关接口/简化十比特接口(15)连接Motorola公司的MC92604千兆以太网收发器(4),驱动两片Infineon公司的V23818-K305-L57多模光纤收发器(6)。
8.根据权利要求
1所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的智能以太网卡提供铜缆接口(5)和光纤接口模块(6)两种介质的以太网接口,所述的铜缆接口(5)是百兆接口,所述的光纤接口模块(6)是千兆接口,所述的铜缆接口(5)与所述的光纤接口模块(6)各有两个。
9.根据权利要求
1所述的具有硬件加速功能的智能以太网卡,其特征在于,所述的智能以太网卡中还有液晶指示灯。
专利摘要
本发明公开了一种具有硬件加速功能的智能以太网卡。该网卡拥有嵌入式高性能处理器,设计了两个光纤千兆以太网接口及两个铜缆百兆以太网接口,网络带宽可高达2.2Gbps,附带大容量的存储器和可按用户程序配置的硬件加速模块。该网卡采用64-Bit/133MHz PCI-X接口,符合PCI-X V1.0A和PCI V2.3总线规范。该网卡可用于对网络处理能力要求较高的服务器中,利用该网卡强大的网络处理能力,可以将很多需要服务器才能处理的负载卸载到网卡上,由网卡的处理器和硬件加速模块进行处理,从而减轻了对服务器的压力,提高了整个系统的处理能力。
文档编号H04L12/02GK1992610SQ200510135496
公开日2007年7月4日 申请日期2005年12月31日
发明者吴冬冬, 张佩珩, 孙小涓, 杨卫兵 申请人:中国科学院计算技术研究所导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1