标题：非对称多核处理器
概述
非对称多核处理器用少量通用处理核心来处理需要较高软件灵活性的功能，同时用大量的硬件加速器来处理尽可能多的任务。硬件任务调度软件可管理核心与加速器之间的任务流。这种方法通常能将功耗减半并提升效率，因为所有必需的功能块都包含在同一SoC 中。非对称多核处理器可最大限度地提高核心与加速器的利用率，其优势在于能将硬件加速器处理的所有任务都交由可编程加速器来处理，而仅将那些需要极高处理灵活性的复杂任务留给核心处理。相对于传统多核SoC 而言，非对称多核SoC 的设计工作更加复杂，不过一旦设计完成，非对称多核SoC 就会给系统设计提供“量身打造的”方案，以将通用处理核心的要求减轻一半。
  
图：LSI2012年3月新推出的Axxia 非对称多核通信处理器AXM2500
技术背景
随着演进分组系统(EVS)、SAE（系统架构演进）、LTE-Advanced 等各类部署的实施，在不久的将来将对无线网络提出新的要求，当前基础设施的处理能力将实现多个数量级的提升，这就要求新型SoC 架构必须具备良好的扩展能力，以在控制成本的前提下满足不断上升的带宽需求。
一些新技术如加强型智能路由/调度、通过IP包头压缩算法【因特网协议报头压缩(IPHC)、稳健报头压缩(RoHC)】提升吞吐量，以及利用DPI对恶意流量严格过滤和控制技术等开始被广泛应用，这些都是计算密集型的处理任务，对芯片处理能力提出了更高的要求。而可将灵活的处理器核心与一套硬件加速引擎完美相结合的非对称多核SoC 非常适用于上述要求。
利用非对称多核架构实现的高性能系统，能用少数强大的通用核心实现功耗最小化，提供确定性性能，并通过硬件加速引擎将CPU资源解放出来。LSI公司凭借其在通信领域的领先技术，研发出Axxia 通信处理器等新一代非对称架构，LSI公司的非对称多核处理器具有灵活的片上路由技术，可实现硬件工作调度功能。非对称多核通信处理器凭借其独特的优势，能够充分地满足新一代通信基础设施的要求。
对称式多核处理器与非对称多核处理器的对比
传统（即对称式）多核处理器与非对称多核处理器都将通用多核处理器与硬件加速器结合在一起使用，其不同之处在于通用处理器和专用处理器所占的比例以及这些资源的使用方法。对称多核处理器采用大量相同的通用处理器内核，其中任何处理器都能运行任何类型的线程，而少量专用硬件加速器引擎则在通用处理器控制之下运行。而在非对称处理器中，通用处理器的数量相对较少，并与一系列专门运行计算强度较高、对时延敏感性强的特定任务的专用加速器引擎结合使用。此外，上述专用引擎还能够在不占用通用处理器任何管理资源的情况下自动运行，执行包括安全加密、流量管理和DPI等在内的任务。这种方案不仅可大幅降低功耗，同时还能提高效率，因为所有必需的功能模块都能在同一SoC中获得。非对称处理器的优势在于，它能将特定任务委托给负责特定功能的专用硬件加速器，同时能将通用内核解放出来用以处理更加复杂或非特定性的工作。
就传统多核方案而言，大多数应用在性能上都要求将工作分配到多个通用内核和处理引擎上。这种处理工作分配机制会降低确定性，因为每项工作在进入下一步之前都必须先经过主处理器。但是，如果要在不同的流量负载条件下提供确定性的性能，传统的多核解决方案就无法很好地满足这种扩展性要求。当然，功耗和性能也是必须要考虑的问题，此外还要考虑潜在的资源冲突问题。 
就非对称多核处理器而言，可让通用处理内核与一系列能承担尽可能多任务的硬件加速器配合工作，这些任务包括加密、流量管理和深层数据包检测等。通用处理器可提供高度的软件灵活性，而硬件加速器则负责提供确定的性能。硬件任务调度程序能协助管理内核与加速器之间的任务流。这种方案不光可大幅降低功耗，同时还能提高效率，因为所有必需的功能模块都能在同一的SoC 中获得。非对称处理器的优势在于，它能将特定任务委托给负责特定功能的专用硬件加速器，同时能将通用内核解放出来用以处理更加复杂或非特定性的工作。正是由于采用了这种方法，非对称多核解决方案才能大幅降低对通用处理内核的需求。 
侧重于硬件加速器的设计方案所具备的其主要一大优势在于，能够在不同的流量情况下确保实现确定性的性能。基于纯软件的CPU 内核性能在不同的处理要求下大相径庭。非对称多核eNodeB 设计方案具有始终一致的吞吐量、通过硬件加速技术实现快速的响应时间、以及采用SoC 方案实现更低的BOM 成本，所有这些优势使非对称多核eNodeB 设计从众多传统设计方案中脱颖而出。我们可对硬件加速模块进行精确的量身定制，以执行一系列特定的任务，从而不必在多个任务之间平衡处理能力。
非对称多核处理器的实现样例
LSI的Axxia 通信处理器即为非对称架构的一种卓越实现样例，适用于具有更高性能和更低功耗要求的新一代移动与企业网络。Axxia 通信处理器由高性能多核PowerPC处理器联合体和一组特定功能的硬件加速器（如智能分组包数据处理、流量管理、IPSec 处理和DPI等经过硅验证的IP模块）组成，这些硬件加速器能够在不对多核联合体造成不必要负担的情况下，将恰当的计算资源投入到恰当的数据包上，提供快速路径处理能力。
非对称多核处理器的优势
我们将在以下部分以LSI Axxia 通讯处理器为例，介绍可从硬件加速获益的4个不同领域。
1.智能分组引擎无线应用领域的一个主要需求就是查找分组报头并在执行所需的报头修改后进行数据包路由。在非对称多核SoC 中，硬件引擎无需CPU 干预就能满足上述要求，从而将CPU 核心从庞大的计算负荷中解放出来。就LSI Axxia 通讯处理器而言，这些引擎支持树形最长前缀分类、ACL（访问控制列表），而且在完全由硬件管理表格添加/删除/更新情况下能支持基于哈希的线速状态协议学习。同时，可对校验和进行检查并对输入流量进行CRC 检验的PIC（数据包完整性检查），也可作为该模块的一部分在硬件中提供支持。此外，作为协议处理的一部分，统计数据收集、状态管理、计时器维护和动态资源分配等也都由可同时支持数百万个通讯流的硬件进行管理。
上述硬件引擎具有高度多线程化的特点，使用简单的从运行到完成的编程模型，因此无论流量数据包是什么模式，其都能确保确定的吞吐量性能，从而实现始终如一的吞吐能力。2.流量管理器由于精细粒度通讯流在高速连接设置、断连和服务质量(QoS) 方面有较高要求，因此无线网络节点需要具备高级流量管理功能。基于硬件的流量管理器支持数百万个通讯流，可通过多级调度层级识别并管理通讯流，因此能够很好地满足有关需求。由于调度任务的复杂性可能非常高，因此调度程序应通过可动态调节的软硬件结合方式支持多种不同的策略，其中包括加权轮叫(Weighted Round Robin)、加权赤字轮叫(Weighted Deficit Round Robin)、加权公平队列(Weighted Fair Queuing) 等。此外，硬件还需要支持多播、队列成形以及策略制定等功能。3.线速安全协议处理器与安全相关处理的处理需求非常多，会占用大量通用CPU 处理能力。广义上说，我们也可将此视为IPSec 处理和深度数据包检查(DPI) 要求。根据负载与独立流量情况的不同，有关任务所需的工作周期数也会千差万别，因此基于通用CPU 核心的解决方案会由于其吞吐能力的不稳定与不确定而无法胜任。
以下例子展现了基于硬件的安全处理功能：
不妨设想这样一种典型的情况，使用基于哈希的消息验证代码(HMAC) 需要为实现AES 加密与SHA 验证处理256B 的数据包。运行频率为1.33GHz 的8 核通用CPU 若发挥100% 的核心处理能力，可处理约5Gbps 的流量。LSI Axxia 通讯处理器中基于硬件的安全协议处理器可处理6Gbps 的流量，而SoC 上4 个通用CPU 核心的负载为零。
LSI Axxia 处理器在SoC 中包含两个用于处理IPSec 与DPI 要求的独立硬件加速器引擎，从而可将起相同作用的通用核心彻底解放出来。IPSec 引擎可支持全套协议处理（3GPP 访问、IPSec、SRTP、SSL-TLS-DTLS等）、多种加密（DES & 3DES、AES-GCM/CCM/CM(SRTP)、ARC4-40、128、Kasumi f8、SNOW3G f8等）、验证（MD-5、SHA-1、SHA-2、AES 版本、Kasumi f9、SNOW3G f9等）、第4 代PRNG以及TRNG 与PKA（公共密钥加速器）等。DPI 硬件引擎也包含在LSI ACP中，支持可用于过滤包含病毒和垃圾邮件的恶意流量的正则表达式扫描，并能对用于扫描的规则集进行动态更新。4.支持高效 SoC 通讯就传统多核处理器而言，传入的流量始终由CPU 核心接收。上述核心将接收到的部分流量路由至加速器引擎进行处理，然后再将处理后的流量回收至核心，从而实现部分任务的核外处理。LSI Axxia 除了几个硬件加速器模块之外还有4 个PowerPC 核心。为了能够高效路由片上流量，Axxia 通信处理器采用能实现任意流量路由的LSI 虚拟管线技术。流量可从输入端口直接路由至硬件加速引擎，再路由到下一个加速引擎，传输路径完全取决于特定流量的处理需求，与是否使用CPU 核心无关。
举例来说，可先将以太网接口接收到的流量发送至解密引擎以对加密的流量进行解密，再直接路由至内容检查引擎对包含病毒/垃圾邮件或其他恶意内容的流量进行过滤。如果认为流量是安全的，则可直接将其发送到背板端口，无需通过CPU 核心。此外，我们也可根据需要将流量从输入端口或加速引擎路由至CPU 核心进行进一步处理。 
根据对每个数据包制定的各种分类决策，每个数据包或通讯媒体流在离开ACP 之前都可经过引擎与CPU 核心的任意路由组合。这种灵活性非常强大与便捷，有利于设计流经器件的通讯流。