千兆以太网带宽为1Gbps
对于以太网而言,除了EMAC 部分还要有PCS部分(以太网的构成),这一部分对于千兆而言在PCS使用了8B/10B编码,也就是PCS出去的部分带宽为1.25Gbps,在物理层单bit传输这个带宽,需要的时钟为1.25G(也就是通常我们说的serdes的时钟频率)。
1Gbps是带宽,如果换算到吞吐量pps(packet per second)需要假设发送到包为最小以太包(小包对芯片来说是恶劣情况,因为芯片是以包为粒度进行处理的,带宽一定,包长越小包的数据则越多,则芯片处理的能力要越强,如果要满足额定的带宽,则要假设最小包长发包)发包,对于以太网来讲,最小包的报文格式为:
8B(DA)+6B(DA)+6B(SA)+2B(T/L)+46B(PAYLOAD)+4B(FCS)+12B(pkt gap)+8B(前导) = 84B,
我们说的1Gbps的带宽是指不包括8B前导和12B的包间隙的64B的包,所以对于1Gbps的带宽来讲,换算为吞吐量=1Gbps*(64/84)/(64*8)=1.488Mpps
说明:对于以太网我们说的1Gbps指的是MII接口上的数据带宽,事实上在进入芯片内部(用户侧)来看,会去掉包间隙以及前导符(共20B),如此到芯片内部带宽是小于1Gbps的,这个可以留给芯片内部处理更多余量。