思科QuantumFlow处理器及其战略研究(6):体系结构(互联观点)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




 考察一个高级网络处理器时,其互联结构(Interconnect)是一个非常重要的一环。对于一个SoC芯片而已,CPU核本身,作为一个计算单元,只是众多的计算逻辑的一个子部分(Sub-System)。系统中的许多其他部件,如硬件加速器,网络报文处理逻辑等等,都是非常重要的组成部分。因此,如果将这些处理部件有机的互联起来,从而达到快速,低功耗,和其他诸多电气要求,就成为一个现代高级芯片设计的关键。

不同的网络处理器设计公司通常 采用不同的方法。各有优缺点。例如,RMI的XLR系列是通过FMN(Fast Message Network)的环结构(Ring),从而使得系统的CPU Core,报文处理单元PDE,加密单元Cypto引擎,多处理器互联的HT接口(HyperTransport),PCI-X等等,都互联在一起。值得注意的是XLR的内存模块并没有挂在FMN的环上。这也是RMI XLR体系结构的一个特点–通过将FMN和MDI(内存互联结构)分拆,从而达到,数据通道通过FMN,而通常比较慢的内存访问通过MDI互联。另外一款著名的网络处理器是Cavium的Octane系列。Octane芯片的内部互联相对而言略简单一些–仍然通过经典的支持Cache Coherence的共享内存总线(Memory Bus)的方式将CPU核与内存互联。其它部件,例如网络加速部件,DFA查询部件,SPI端口等等都是通过一个I/O总线的方式互联,然后通过一个接口转换桥(Bridge)挂在内存总线上。关于RMI的XLR系列和Cavium的Octane系列的体系结构,笔者会在将来的文章中做更详细介绍。

思科的QFP是一个inhouse的网络处理器,因此基本上不可能有公开的资料显示其内部详细结构,特别是其互联结构。上图所示,是笔者从其公共的一些产品文档中多QFP的一些介绍,对其互联结构做出的一些基于个人技术观点的推测。

总体而言,QFP的互联是一个基于二维的Crossbar的互联。在这个互联上,每个逻辑部件对于互联逻辑而言,都是一个节点(node)。这个节点除了实现自己的计算逻辑之外,实现一个与这个互联网络协议的接口(interface),通常而言,是一个命令(command)协议和一个数据(data)协议。这个互联协议的重点是通过在这个互联网络上发送命令和数据单元,从而可以从一个节点抵达任何另外一个节点。

如图所示,40个基于Tensilica的Xtensa ISA的CPU核都是这个互联上的节点。QFP的另外一大部件Traffic Manager也是一个节点。在这个互联上,还拥有许多其他的网络加速,内存,和为了与QFP芯片外部互联的逻辑部件。

HT: HyperTransport接口。这是用来使得ASR1000上的ESP(Embedded Service Processor)模块(板)上的主控CPU与QFP互联的主要接口。通过HT互联,从主控CPU的角度,QFP就是一个设备,从而可以使得主控CPU可以通过HT来操作QFP,例如通过读写控制寄存器的方式等。

TCAM:这是QFP做数据报文查询(lookup)的外挂 CAM存储器。

DDR2:QFP应该是内含有两个DDR2的控制器。一个是给40个CPU核要用的RLDRAM的控制器;一个是给Traffic Manager的DRAM。

On-Chip SRAM:QFP的报文,当通过入口逻辑(Ingress)抵达之后,是被全部(报文头和报文数据)都被放到了QFP内部的报文内存中,而非在外挂的DRAM。这一点是QFP有高性能的重要技术亮点之一。许多其他类似的网络处理器都是将数据报头可以放到芯片的内含逻辑中(如寄存器,或L2 Cache里),但数据包的数据(Payload)通常是通过DMA引擎传送到外挂的DRAM里。

SPI-4.2的Packet Dispatcher:QFP的Ingress是支持4个SPI 4.2的接口。也就是说,可以支持40G的线速。这4个SPI在QFP在ASR1000上其实是有分工的。从不完全的资料显示,应该是2个SPI是QFP,通过外部系统互联,链接线卡(SIP)。其他2个SPI是链接其他的ESP/QFP(支持HA)和控制平面RP(Routing Processor)的。值得注意的是,QFP芯片本身不内含有加密逻辑部件。加密逻辑部件是外挂的,并且通过SPI接口与QFP互相连接和通信。

SGMI:QFP应该还支持2个1G的以太端口,作为控制使用。

QFP 除了 上述主要互联部件之外,还支持许多叫做Internal Resources的硬件加速部件,并且作为节点挂在这个二维的互联结构上。其中一个特别值得注意的是硬件锁机制。笔者相信这个部件是提供了一系列的spinlock,mutex等逻辑,从而可以使得40×4=160个硬件线程可以通过高速的锁机制,从而达到并行计算中所必须的同步机制。

除了硬件锁机制,QFP还提供了许多其他的硬件加速模块,例如NBAR, FRM,Traffic Policing, WRED等等。

(2个打分, 平均:5.00 / 5)

雁过留声

“思科QuantumFlow处理器及其战略研究(6):体系结构(互联观点)”有1个回复

  1. 陈怀临 于 2009-02-06 9:55 下午

    目前可知的是,4个SPI Channel里,有一个是dedicated for HA的了。感觉另外一个是for RE和Cypto等的。其他2个是for Through Traffic(SIP).也正好是20Gbps。