GFP内核加速LAN/SAN协议在SONET中的传输( 二 )


然后,八个64B/65B块代码被组合为一个超级块(65字节数据 CRC16) 。多个超级块被组合为GFP净荷,其中每个帧中的超级块数量依靠于具体的协议(对于千兆以太网为95,对于光纤通道为13) 。GFP-T不需要MAC功能,因为它对于所传输的协议实际上是透明的 。
到底是选择GFP-F还是选择GFP-T依靠于具体的应用和系统要求 。GFP-F保证只传输实际数据,因此提供了更高的带宽效率;同时GFP-T则传输包括数据、帧代码、前导位以及闲置位在内的所有信息 。
GFP-F在系统中引入更大的延迟,因为在传输前必须先接收完整的帧 。同时根据系统具体情况,这也意味着可能需要使用外部存储器 。GFP-T不需要传输完整的帧,因此可达到更小的系统延迟 。实际应用中,长距离传输会引入时延(由于传输介质的延迟),因此需要在客户适配层增加额外的功能来保证满足协议的时延要求 。被称为“spoofing”(电子欺骗)的这一功能对于有些客户协议来说非常要害,例如光纤通道协议 。因为这些协议对于传输时延有非常严格的要求 。
Xilinx GFP内核
赛灵思提供的一种GFP IP内核解决方案支持所有这些协议并完全实现了ITU-T所定义的G.7041/Y.1303标准,包括端到端帧定界的系统级功能,客户治理和数据帧支持,以及基于通道的帧映射或透明映射配置 。除了支持G.7041所规定的所有特性以外,Xilinx解决方案还提供了许多选项,可方便进行系统级集成和调试 。
利用Xilinx CORE Generator工具,设计人员可方便地配置GFP内核来满足自己的系统要求,可供选择的工作模式有三种:帧映射(frame-mapped),透明映射(transparent-mapped),或混合模式(mixed mode) 。混合模式答应针对每个通道指定该通道是采用帧映射方式还是透明映射方式 。还可以通过GFP主机接口方便地修改工作模式 。
赛灵思提供的GFP内核还提供了对线性扩展头(linear extension header)的可选支持,可以配置为多达10个独立通道 。通过选择可选的通用主机接口,还可以实时修改控制和状态寄存器 。
利用CORE Generator系统,设计人员可对GFP内核的行为进行全面定制 。特定的配置可决定GFP内核如何处理帧以及物理实现时所需要的资源 。
GFP内核分为一个MAP(映射)内核和一个UNMAP(解映射)内核 。MAP内核在系统接口端接收客户网络协议数据(如以太网),进行数据封装并将生成的帧通过线路接口(如SONET)进行传输 。
UNMAP内核的工作过程正好相反,通过线路接口接收封装后的数据,对帧进行解映射来提取客户网络协议数据,然后再通过系统接口传输 。GFP内核在线路接口和客户接口采用Xilinx LocalLink接口标准来直接连接至其它内核和参考设计 。
在帧映射模式中,客户为MAP内核系统接口提供一个完整的数据帧,这个完整的数据帧会在无停顿的情况下发送出去 。在透明映射模式中,MAP内核自动处理下溢(underflow),在帧中插入填充字(PAD WordS),这样客户就不必提供无中断的数据帧了 。
每一内核都有一个主机接口(一个PowerPC设备控制寄存器[DCR]总线),通过这个接口可以访问一组控制和状态寄存器 。假如只需要缺省控制信号,可以将内核配置为不使用状态寄存器,这样可以减少所需要的资源数量 。
完整解决方案
GFP的应用非常多,不同的系统架构和要求会带来不同的应用要求组合 。
例如,假如使用支持GFP(GFP-aware)的成帧器,那么就可以配置GFP内核来提供成帧器所不支持的功能选项,从而增强成帧器功能 。此类应用的例子包括利用线性扩展头或透明映射模式实现通道化(channelization ) 。

推荐阅读