网卡控制器芯片
网络与通信
一、网卡的灵魂──网卡控制器芯片
网卡(Network Interface Card)也叫网络适配器,是除拨号上网方式以外的任何网络的必要组成部分,也是连接计算机与网络的硬件设备。它主要负责计算机与网络的连接并完成数据的接收和发送,即计算机输出的数据必须先经过网卡分解为适当大小的数据包,然后再被发送到传输通道上进入网络;而从网络中下载的数据要进入计算机,也必须先经过网卡将已分解的数据包重新装配,再送往CPU进行处理。
那么网卡的这些功能是通过什么实现的呢?我们知道,计算机里都有一个心脏──CPU,负责整台计算机的操作。同样,在网卡上也有一个心脏,那就是网卡控制器芯片(Controllers)。它在网卡中的作用类似于CPU在计算机中的作用,是网卡的指挥控制中心,负责处理整个网卡的数据操作、数据接收和碰撞的检测等工作。更重要的是,它还决定了网卡的类型、总线接口、数据传输方式、占用系统资源率以及是否有网络唤醒、远程启动等功能。如果没有它,整块网卡就只不过是一块布满电器元器件的电路板。
二、网卡控制器芯片功能
目前市面上的网卡大多是价廉高效的以太网卡,(图2)为以太网卡控制器芯片的结构图。由此图可以看出网卡上数据的串/并转换、CRC校验以及数据的发送与接收、碰撞检测等任务都是在网卡控制器芯片里完成的。控制器芯片功能大致有以下两个方面:

1. 数据的发送和接收
发送时,网卡控制器芯片将数据按一定格式装配成帧,配以前导码、帧定界符、目的地址、源地址以及填充段、CRC校验等,然后再串行发送。接收时,首先鉴别目的地址,如与本站地址不符,则将此帧信息丢弃;相符则进行串/并转换,再对信息帧进行分解,把有效数据送往缓冲存储器。接收完一个信息帧后,如检验正确,则向发送站送出一个ACK应答帧,如有错误,则发出NAK否定应答帧。
2. 传输介质收发控制
包括载波侦听、冲突检测、定时发送等。冲突检测的方法是在发送信息的同时对传输介质上的信息进行接收采样,再与发送信息比较,若不一致就表明有冲突产生。
三、市场主流芯片的性能比较
目前市场上应用最广的就是PCI 10/100M自适应以太网卡,它们大都采用RealTek、3Com、VIA、Davicom、D—Link、Intel等厂商的控制芯片。由于Intel的控制芯片主要用于高端服务器网卡或集成于主板,所以我们这里只比较几种较普及的芯片的性能,它们分别是RealTek的RTL8139,3Com的3C905B,VIA的VT6102((图3)),Davicom的DM9102((图4)),D-Link的DL10030A。


网卡既然是承担计算机与网络之间数据传输的桥梁,比较其控制器芯片的性能也就不外乎从以下几个方面来进行。
1.数据传输速率
数据传输是网卡最主要的功能,好的芯片应该能提供更高更稳定的传输速率。网卡的数据传输速率分为网卡与计算机之间、网卡与网络传输线之间的数据传输速率两种。由于都是PCI接口,网卡与计算机之间的数据传输速率理论上均为132Mbps。但在网卡与网络传输线之间的数据传输上,不同的芯片组由于采用不同的技术,因而存在一定的差异。一般来说,采用PCI数据包突发模式比传统模式要快,采用并行传输要比传统的串行传输要快,内置数据收发缓存越大越快,占用CPU时间越少越快。5种芯片性能特点请见附表:(图1)

2.数据传输的稳定性和安全性
5款芯片均遵循IEEE 802.3x全双工下的流量控制,在全双工模式下提供拥塞管理功能。当运行在全双工模式下交换机数据包过于拥塞时,将发出一个暂停帧,保证数据包正常运行且防止数据丢失。并且它们均支持自诊断功能。
3.其他功能的支持
5款芯片均支持ACPI电源管理模式、网络唤醒(WOL)和远程启动功能。在BootRom容量的支持上,DM9102最高支持256KB,RTL8139最高支持128KB,VT6102最高支持64K。
需要说明的是,网卡控制器芯片性能的发挥与网卡本身电气物理特性密切相关,越是名牌厂家越能充分发挥芯片的性能。同时,从芯片本身性能来讲,差别其实并不大,对于网络间普通的数据传输影响并不明显,只有当进行大流量持续数据传输时,才会明显体会到它们之间的区别。至于系统资源尤其是CPU占用率的差异,对于现在的计算机来说,基本可以忽略不计了。