2008年4月LSI公司正式发布了全新的媒体网关片上系统(SoC)解决方案StarPro2600系列多核媒体处理器。该系列媒体处理器主要包括StarPro2603和StarPro2612两款产品。该产品的强大处理能力和丰富的接口使其可以胜任各种媒体网关的应用。采用它们可以实现当前业界每通道最低成本和最低功耗的媒体网关。LSI提供了基于该系列处理器的完整的媒体网关解决方案,包括完善的软件开发环境,媒体网关应用的软件构架,包括多种音、视频编解码器在内的软件功能模块,操作系统支持和板级硬件参考设计。StarPro2600系列处理器同时也已经被广泛应用于GSM,GPRS和EDGE的基带处理。
一、 应用范围
StarPro2603和StarPro2612分别简称为SP2603和SP2612。SP2612是采用MCM多芯片模块封装技术将4个SP2603集成在单一封装中。每个SP2603都有独立的JTAG、GE、TDM、EMI和I2C接口。4个SP2603共享一个PCI总线。如果运行在600MHz工作频率,SP2603可以提供高达7200MMAC + 300 RISC MIPS的运算能力。而SP2612的处理能力更是SP2603的四倍。下图是SP2603和SP2612可以胜任的媒体网关应用场景。

二、SP2603的组成和功能

图2 SP2603媒体处理器体系结构
如图2所示,SP2603媒体处理器的主要组成和功能为:
1. DSP子系统(DSS)
SP2603中有3个完全相同的DSS,可以运行在600MHz。DSS的核心为StarCore3400 DSP内核,简称为SC3400。SC3400 是针对多媒体和无线通信应用的先进的DSP内核, 它还提供了针对这两类应用的专用指令。如专用的维特比译码指令可以取代维特比协处理器而达到同等的处理能力。
SC3400采用VLES(变长指令集)结构,相对VLIW(超长指令字)可以实现更高的执行效率和代码密度。SC3400包含四个算术逻辑单元和两个地址计算单元,它可以在一个时钟周期并行执行最多6条指令(4个乘加运算和2个地址计算)。SC3400的流水线深度为12级。 SC3400采用先进的动态分支预测机制可有效减少COF(Change of Flow)延迟。例如,如果某条JMP指令已经在BTB(Branch Target Buffer)中了,实际执行只需要1个cycle,而不是6个cycle;同样根据BTB预测,可实现最多4层嵌套的零开销硬件循环。
每个DSS包含256KB的本地存储器,SC3400内核可以零等待地访问它的本地存储器。256KB分成4个64KB的bank,不同的总线端口可以没有冲突地同时访问不同的bank。
指令缓存(PCC)和数据缓存(DCC)各为32kB。PCC和DCC均为4路组相联,采用LRU(pseudo least recently used)更新算法。PCC有预取指功能,对于顺序执行的程序,可以提前填充下一个要用到的缓存行;DCC有关键字优先的功能,SC3400内核得到所要的数据后就开始执行,而不必等到整个缓存行填充满后才执行。对于典型的媒体网关应用, SC3400的缓存可以达到很高的效率。
SC3400具有双栈、被保护的多任务操作系统体系结构。其中异常模式及异常栈指针一般只被RTOS内核使用,加上存储保护单元MPU可以禁止用户进程访问设定的内存区域从而增强系统的健壮性。
每个DSS拥有4通道128bit 宽DMA控制器可以实现高速的数据搬移。
2. 包处理子系统(PPB)
PPB是基于ARM1176的子系统,工作频率为DSS工作频率的一半。它的主要功能是处理输入输出的数据包并管理SP2600芯片本身。
128KB紧耦合本地存储器,分成64KB指令存储器和64KB数据数据存储器;指令缓存和数据缓存分别为8KB;MMU有内存保护及地址映射功能;8通道DMA控制器,通过一个64位数据总线连到PBM,专门用来传输PPBMEM和系统内存之间的包数据;48KB的PCEMEM和256K的PPBMEM分别用于PCE控制及PPB包缓存。
2个内置标准的10/100/1000Mbit/s以太网MAC,可配置为FE(SS-SMII)或GE(SGMII)。
每个MAC都有可配置的TXD,并与包处理引擎PCE配合工作。TXD为DMA控制器,把要发送的包从存储器传到MAC;PCE自动解析从MAC接收到的包,把ARM11从L2/L3/L4 IP和UDP分类和RX帧队列管理的常规工作中解脱出来以充分发挥其控制方面的处理能力。
3.系统内存
SP2603提供了3MB系统内存可用于各 DSP内核和ARM存放各自的代码和数据。各内核也可方便地利用共享3MB系统内存实现内核间通信。3MB系统内存由12个独立的256KB块组成,不同的内核可以无冲突地访问不同的块,因此增加了系统吞吐量。系统内存接口提供了ECC功能。
4. 时分复用模块(TDM)
SP2603提供了串行接口单元。每个串行接口单元都有独立的输入和输出DMA通道,接口兼容T1/E1、H.110和ST-Bus标准,支持一维和二维的 DMA数据传输,及硬件A/u率压扩。采取了输入位时钟104 MHz和输出位时钟为52 MHz的不对称设计。
5. 外部存储器接口(EMI)
EMI支持16位宽的DDRII533存储器,DSS和PPB都可以存取外部的DDRII存储器。
以上功能模块由DSS总线矩阵和PPB总线矩阵连接实现协同工作。DSS总线矩阵是基于ARM的扩展AMBA接口总线 AXI总线, AXI总线是一种多通道传输总线,提供很高的带宽和较短的访问延迟。DSS总线矩阵支持14个主设备和18个从设备,数据宽度为128位。PPB总线矩阵也是AXI总线,数据宽度为64位。DSS总线矩阵和PPB总线矩阵与PPB的时钟频率一致。
三、 SP2600系列处理器的优势
SP2600芯片的包处理子系统加多个DSP子系统的构架,丰富的片上存储器资源和灵活的接口以及先进的制造工艺,使得它们成为了理想的媒体网关处理芯片。
首先,SP2600采用的多核的构架相对于通常使用单核媒体网关媒体处理器有着巨大的优势:
1〉 多核的设计可以在大幅降低工作时钟频率的情况下达到与高频率单核处理器相当的处理能力。而较低的时钟频率可以有效降低芯片的功耗。
2〉 相对于单核芯片,多核芯片减少外部辅助器件的数量,同时也降低了每个CPU所需要的电路板空间。
3〉 多核器件中的内核共享同一个内存子系统,所以它们可以共享内存中的内容。因此,如果各内核运行同一个应用,那么共享同样代码和数据就可以缩减所需的内存数量,从而进一步降低成本。
此外,从软件角度来说,媒体网关同时运行几百个话音通道,这些通道可以方便地被分配在各个内核之间,各DSS之间可以不用通信。软件构架十分简洁,且易于扩展以支持更多的内核和更多的器件从而方便地提高系统支持的通道数。
进一步来说,SP2600不仅集成了多个DSP内核,而且还集成了ARM11 内核在专用硬件的支持下专用于包处理,这就使得DSP内核可以专注于密集的数学运算从而发挥出它们作为数字信号处理信的优势而达到很高的实际运算能力。
对于基本语音业务,SP2600丰富的片上资源可以满足高密度的语音处理需求而无需外部存储器,这样就进一步简化了系统,节省了成本。因此SP2600系列芯片可以实现极低的每语音通道的成本,MCM多芯片模块封装技术更可以方便的扩展已有的系统,非线性地降低系统的总体开销。
正在兴起或即将出现的和媒体网关相关的服务如宽带语音,视频点播,视频会议,手机电视则更可以发挥出SP2600的强大的处理能力。首先SP2600中使用的DSP内核加上较大DSP内核的本地存储器十分适合于图形处理,其次无论在芯片内部还是在IO口上SP2600芯片都有着很高的带宽,大量的视频数据可以自由的通过,而高速的外部存储器接口则可以满足大尺寸图像数据的存取需要。
同样从软件设计来说多核的构架由于通常采用共享内存,可以方便地在各个内核之间转移任务从而能够胜任需要大量的硬件资源的任务,可以把任务分解成连续的子任务,并在各内核之间进行调度实现。
此外值得指出的是,LSI同时提供包括网络处理器在内的其他应用在媒体网关中的器件,它们可以和SP2600系列处理无缝连接从而降低媒体网关系统的设计难度。
四、 参考媒体网关产品开发模型

图3 参考的产品开发模型
完整的产品开发模型包括3个部分:
1、MGL(Media gateway library),抽象了host应用程序和SP2600上Framework之间的命令和控制信令接口,不必考虑host上具体的传输层驱动和采用的操作系统环境。 MGL可以很容易地集成进host中,并实现与媒体处理器之间的通信。
2、MGW Framework:跟host通信并创建应用程序,并根据应用环境运行不同算法模块。
3、算法模块:各种语音和视频编解码及其他算法模块,在SC3400 DSP中实现。LSI的算法和代码优化专家对所有的算法模块做了充分的优化以确保采用这些算法模块的系统可以实现极高的通道密度。
客户可以根据实际需求采用LSI的整体解决方案,也可选择采用LSI的算法模块和Framework或只选用LSI的算法模块,自行开发其他部分。灵活的开发模式能充分的满足客户的需求,并最大限度地缩短开发周期。
五、 SP2603应用举例

图4 中继网关应用实例
Host 通过H.248/MGCP应用程序跟软交换通信,并通过MGL控制LSI媒体网关设备,实现通道建立、通道控制和通道释放。LSI媒体网关设备在相应的Framework配置下进行媒体流的编解码、RTP/RTCP打包及包解析,jitter buffer管理及数据包的I/O控制。
MGL通过简单的集中化管理,使Host应用程序不必考虑媒体网关设备数量及每个设备上通道的数量,从而使系统具有灵活扩展性,大大降低了客户开发应用程序的难度。

图5 6000路 HDV应用实例
上图为用6个SP2612实现6000路G.711语音通道的实例,其中SP2612中的每个SP2603上G.711语音通道密度可达256个通道。6个SP2612中每个SP2603所对应的SIU端口依次与TSI-16(TDM交换)的TDM端口相连,为媒体网关的TDM数据通道。SP2612的所有SGMII端口连到GE以太网交换机ET3028 ,为分组数据通道。所有SP2612及TSI-16和ET3028的PCI端口桥接到PCI总线,实现了控制通道。
自LSI公司正式发布了StarPro2600系列多核媒体处理器以来,产品强大的处理能力、丰富的接口以及低成本、低功耗已为其赢得国际和国内顶尖网络设备供应商的一致好评。
