通信流量处理架构和方法

文档序号:9333007阅读:396来源:国知局
通信流量处理架构和方法
【专利说明】通信流量处理架构和方法
[0001]相关串请案的交叉参考
[0002]本申请案涉及并且主张2012年12月26日递交的第61/745,951号美国临时专利申请案的权益。
技术领域
[0003]本发明大体上涉及通信,并且具体而言涉及通信流量处理。
【背景技术】
[0004]此类技术作为互联网协议电视(IPTV)技术的出现以及数字视频广播(DVB)、路由器网关和数字录像机(DVR)机顶盒(STB)的汇聚给处理平台添加了不断增加的需求。
【附图说明】
[0005]现在将参考附图更详细地描述本发明的实施例的实例。
[0006]图1是实例处理架构的框图。
[0007]图2是实例处理器复合体的框图。
[0008]图3是实例网络引擎的框图。
[0009]图4是实例卸载/加速子系统的框图。
[0010]图5到9是其它实例处理架构的框图。
[0011]图10说明分区装置驱动器的实例。
[0012]图11是说明低速接口的框图。
[0013]图12是说明高速接口的框图。
[0014]图13是说明实例多服务系统的框图。
[0015]图14是说明实例网关的框图。
[0016]详细说曰月
[0017]多服务处理提供于可以同时传递用于安全数据、语音、视频和移动服务的线速率带宽而没有服务降级的单个输送平台中。
[0018]数据网络连接和应用处理一起集成到单芯片或集成电路包中。特征可以包含柔性(flexible)的硬件设计、多个数据接口、与卸载硬件结合的一或多个通用主处理器,以及有效处理器间通信。
[0019]可以提供专用处理器、多个处理器和/或专业化硬件以确保硬件卸载或加速从而用于处理密集功能。举例来说,此方法从主通用处理器(也称为应用处理器或主CPU)卸载功能、保留CPU处理能力用于额外的附加值服务。
[0020]处理平台中的通用主中央处理单元(CPU)可以加载到在执行网络连接或数据通信任务中用于执行例如应用等其它任务或服务相关任务所经受的剩余的容量的此类程度。考虑网络连接的性能保持可能会以有限的或降级的应用或服务性能为代价。举例来说,网络连接任务可以占据主CPU处理周期的75-80%,留下可用于应用或服务处理的有限的资源。
[0021]主CPU资源的此类高利用率还可以对功率消耗和/或操作温度造成影响。举例来说,STB中的主CPU将是较高功率组件中的一者,并且很可能是在此类装置中具有最高潜在功率消耗的组件。
[0022]CPU的实际功率消耗取决于其利用率,并且相应地高利用率将具有高相关联的功率消耗。高利用率还增加了产热,对散热片或其它温度控制措施添加了额外的需求。通过本文所揭示的专用的可配置的引擎的使用可以获得相当大的效率。
[0023]处理架构实例
[0024]图1是实例处理架构的框图。
[0025]图1中所示的实例架构100是具有两个主CPU 102、104的双重处理器主CPU架构。也可以提供各种接口中的任何接口。在实例架构100中,存在多个接口。这些包含:
[0026]三个外围(Peripheral)组件互连高速(PCIe)或串行高级技术附件(SATA)接口118、120、122,其表示共享同一物理层(PHY)接口组件的三组PCIe控制器和SATA控制器;
[0027]SATA 接口 124;
[0028]USB 主机接口 126;
[0029]通用串行总线(USB)主机/装置接口 128 ;
[0030]液晶显示器(LCD)接口 130 ;
[0031]同步串行端口(SSP)接口 132,其可配置为支持单个接口或两个同步PCM接口的脉冲编码调制(PCM)接口、IC间声音(I2S)总线接口或索尼/飞利浦数字互连格式(sroiF)接口 ;
[0032]I2C(IC 间)总线接口 134 ;
[0033]安全数字(SD)接口 136 ;
[0034]—组接口 138,其包含联合测试行动小组(JTAG)接口、在此实例中选择为具有多达5个芯片的串行外围接口(SPI)和通用输入输出(GP1)接口的实例;
[0035]四个通用异步收/发器UART接口 140 ;
[0036]快闪存储器接口 142;
[0037]传输流接收(Rx)接口 144,其在此实例中支持多达6个传输流;以及
[0038]千兆比特媒体存取控制器(GMAC)接口 146、148、150。
[0039]图1还示出了例如当部署在STB中时这些接口中的一些可能耦合到的组件的实例。在示出的实例中,这些组件包含802.1ln无线模块、用户线路接口控制器(SLIC)、快闪存储器、射频(RF)调谐器、家庭电话网络连接联盟(FIPNA)适配器、开关和物理层(PHY)组件以及无线调制解调器。在其它实施例中,除图1中所示的那些之外或替代于图1中所示的那些,其它类型的组件可以耦合到接口。
[0040]实例架构100还可包含256kBL2高速缓存152、8kB安全启动只读存储器(ROM) 154、高速缓存一致性端口 156、网络引擎158、安全引擎160、包引擎162、流量管理器164、直接存储器存取(DMA)控制器165、256kB包缓冲器166和16位或32位双数据速率(DDR)存储器控制器168。在其它实施例中,除图1中所示的实例存储器尺寸和类型之外或替代于图1中所示的实例存储器尺寸和类型,可以提供其它尺寸和/或类型的存储器。
[0041]应了解图1的实例架构100以及其它附图的内容仅意图用于说明性目的,并且本发明绝不限于附图中明确示出的且在本文中描述的特定实例实施例。
[0042]实例架构100中的全部的组件可以集成到同一芯片或集成电路包中,或跨越多个集成电路。单芯片或包于是包含网络连接组件和数据处理组件这两者。举例来说,特定的处理任务可以被指派到网络引擎158、安全引擎160和/或包引擎162中的不太大功率的且更具功率效率的处理器,由此在可用于执行例如应用等其它任务或服务相关任务的更大功率的通用主CPU 102、104上形成处理周期。
[0043]这种类型的架构可以通过减小针对可以在针对它们的特定的任务优化的不太大功率处理器中执行的任务的主CPU 102、104利用率而更具功率效率。性能增益还可通过使更多的主CPU 102、104处理周期可用于执行其它任务而实现。
[0044]举例来说,假设安全任务从主CPU 102、104卸载到安全引擎160,那么主CPU具有可用于应用或服务相关任务的更多处理周期。虽然具有主CPU架构的装置可能提供用于与具有基于实例架构100的架构的装置类似或甚至相同的数据速率,但是由于到一或多个引擎158、160、162的任务卸载,作为更好的主CPU可用性的结果,具有基于实例架构100的架构的装置可能支持更加特征丰富的应用或服务和/或更好的应用/服务响应时间。
[0045]这说明了用于服务供应商网络中的较高性能的硬件加速特征。在一个实施例中,硬件加速特征通过定制的软件装置驱动器存取,这使得硬件对上层软件组件和应用透明。例如,在Linux环境下,可以使用开源驱动器和略微地修改的内核。这允许用户在Linux环境下进一步定制内核并且运行软件应用程序。其它操作系统可以支持使用此类型的硬件抽象方法。
[0046]实例架构100集成加速硬件用于网络引擎158中的网络连接操作、安全引擎160中的安全以及包引擎162中的例如传输流帧聚集等包处理操作。网络连接操作可以包含例如以下各项中的一或多个:分类和存取控制列表(ACL)处理、虚拟局域网(VLAN)操作、说明性地通过Linux QDisc模型的服务质量(QoS)、转发、网络地址转译(NAT)/网络过滤器操作、多播,和/或排队/调度。可以从主CPU 102、104卸载到实例架构100中的安全引擎160的特征和相关处理可以包含以下各项中的一或多个:互联网协议安全(IPSec)、数字传输内容保护(DTCP)、安全实时传输协议(SRTP)和/或安全套接字层(SSL)。
[0047]上述内容提供了如图1所示的实例架构100的大体描述。借助于以下实例讨论其它细节。
[0048]处理器复合体
[0049]在一个实施例中,主处理器102、104中的每一个是可在市面上购得的通用处理器。说明性处理器速度是600MHz到750MHz。32kB层I或LI指令⑴和数据⑶高速缓存110、112和114、116在图1中示出。主CPU可以支持其它特征,例如用于减小的代码尺寸的软件加速以及应用加速、用于单个或多个操作系统(0/S)应用的不对称多处理(AMP)和对称多处理(SMP)、用于图形/计算处理的单指令多数据(Sn?)指令集、JTAG/程序跟踪接口(PTM)、性能监测和/或缓冲以例如加速虚拟地址转译。本发明不限于任何特定的主CPU或主CPU的类型。并且,虽然实例架构100是双重CPU架构,但是本发明的各方面可以在单个CPU架构中应用和/或在具有两个以上主CPU的架构中应用。
[0050]在一个实施例中的主CPU 102、104的配置涉及在配置寄存器中的设置配置参数。当每个主CPU 102、104在重置之后启动时,它将读取其配置参数。除用于主CPU核心102、104的默认配置之外,这些参数也可能提供L2高速缓存152的默认配置。为了改变配置参数,对适当的寄存器进行修改并且将重新启动或重置发布到主CPU 102,104中的一或两者。在一个实施例中,系统中的寄存器是存储器映射的。配置参数随后可以通过写入到每个寄存器已经在存储器空间中被指派的地址而得到修改。
[0051]图2是实例处理器复合体的框图。此实例200包含图1中所示的许多组件并且具有一些额外的组件。所述额外组件包含:
[0052]全局控制接口 270,通过所述全局控制接口中断和/或其它控制信号可以提供到主CPU 102、104和其它组件;
[0053]动态可控制的柔性的互连件272,其例如可以使用一或多个切换结构实施;
[0054]网络引擎控制模块274 ;
[0055]功率/消费性红外线(CIR)/实时时钟(RTC)接口 276,以确保手动开/关切换、通过红外线远程控制装置的控制和基于计时器的控制;
[0056]串行器/并行器(SerDes)控制器278,通过所述控制器主CPU 102、104和/或其它组件如下文中进一步描述控制SerDes组件的配置;以及
[0057]“通用外围装置”块280,其大体上表示外围接口,例如,图1中所示的GMAC、UART、SPI 和 GP1 接口。
[0058]如图2中示出,主CPU 102、104通过柔性的互连件272耦合到各种接口以及连接到那些接口的任何外围装置。网络引擎158、安全引擎160和包引擎162还通过柔性的互连件272耦合到接口和外围装置,并且可以直接与那些外围装置通信并且直接控制那些外围装置。通过柔性的互连件272、包含主CPU 102、104和实施网络引擎158的卸载子系统中的单独的“卸载”处理器或硬件的系统中的任何处理器,安全引擎160和/或包引擎162例如可以控制系统中的任何资源。这允许系统软件分配哪些处理器将控制运行时间的哪些输入/输出(I/O)。当相关联的处理从主CPU 102、104卸载时,这继而确保单独的卸载处理器或硬件控制高带宽SerDes 1/0,例如PCIe接口。
[0059]图2还示出了在主CPU 102、104处的高速缓存一致性外围输入端。在一个实施例中,主CPU 102、104中的每一个具有高速缓存一致性端口。为了提供完整的I/O—致性,可以将特定存储器地址指派到高速缓存一致性端口。高速缓存一致性端口上的读取可以命中任何主CPU的LI数据缓存,并且高速缓存一致性端口上的写入可以使LI高速缓存中的任何过期数据失效并且透写到L2高速缓存152。这可以提供相当大的系统性能益处和功率节省,并且还可以简化驱动器软件。装置驱动器不再需要执行高速缓存清洁或冲洗来确保L2/L3存储器系统是最新的。下文中将进一步详细讨论高速缓存一致性。
[0060]网络引擎
[0061]图1和2中所示的网络引擎158可以提供此类特征作为高速包转发、编辑、排队、成形和监管。网络引擎158可以切换、路由并且执行例如以太网承载点对点协议(PPPoE)穿隧和传输控制协议(TCP)分段等包服务而无需主CPU干预,由此从主CPU 102、104中卸载这些网络连接任务。
[0062]图3是实例网络引擎的框图。实例网络引擎300包含入口 302和出口网络接口310、转发引擎304、队列管理器306和调度器308。在一个实施例中,实例网络引擎300以可配置的但是硬编码的硬件实施。
[0063]为了便于参考,还示出了实例网络引擎300与其相互作用的其它组件。这些其它组件包含存储器312、一或多个卸载/加速引擎处理器316、DMA控制器165,以及主CPU102、104。存储器312包含一或多个存储器装置。在一个实施例中,存储器312包含DDR存储器。
[0064]在一个实施例中,实例网络引擎
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1