专用型 CPU 是指那些为了某种特定的应用而设计的并为这些特殊应用而将内部体系结构与指令集作了专门优化的 CPU,如用于多媒体应用的媒体 CPU(Media Processor,MP),用于路由器等网络通讯产品的网络 CPU(Network Processor,NP),及用于网络安全保障,数据加密解密的安防 CPU(Security CPU),用于用来完成某种信号处理任务的处理器 (Digital Signal Processor,DSPs)等。这类 CPU 的特点是历史短,发展快,变化多,受专利保护、操作系统的限制少。其技术层次属于中高档,并非尖端,可用主流半导体工艺制成。

1. NP
网络处理器(Network Processor,简称 NP),根据国际网络处理器会议(Network Processors Conference)的定义:网络处理器是一种可编程器件,它特定的应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音 / 数据的汇聚、防火墙、QoS 等。


NP 是专门为处理数据包而设计的可编程处理器,能够直接完成网络数据处理的一般性任务。器件内部通常由若干个微码处理器和若干硬件协处理器组成,多个微码处理器在网络处理器内部并行处理,通过预先编制的微码来控制处理流程。而对于一些复杂的标准操作(如内存操作、路由表查找算法、QoS 的拥塞控制算法、流量调度算法等)则采用硬件协处理器来进一步提高处理性能,从而实现了业务灵活性和高性能的有机结合。


(1) NP 的优点
作为网络处理器,相对于 X86 架构和 ASIC(专用集成电路),NP 具有如下的优势,详见 NP 的优势对比表。

NP 在架构上的优势对比表

架构名称

对比架构的特点

NP 的优势

X86 架构

  • 基于 X86 架构的防火墙,由于 CPU 处理能力和 PCI 总线速度的制约。
  • 在实际应用中,尤其在小包情况下,这种结构的千兆防火墙远远达不到千兆的转发速度,难以满足千兆骨干网络的应用要求。
  • 采用 NP 架构的防火墙,各种算法可以通过硬件实现。
  • 在实现复杂的拥塞管理、队列调度、流分类和 QoS 功能的前提下,还可以达到极高的查找、转发性能,实现“硬转发”。

ASIC

  • 纯硬件的 ASIC 防火墙缺乏可编程性,这使得它缺乏灵活性从而跟不上防火墙功能的快速发展。
  • 虽然现代的 ASIC 技术提高了可编程性,但从开发难度、开发成本和开发周期方面看,仍然困难重重。
  • NP 完全支持编程,编程模式简单,一旦有新的技术或者需求出现,可以很方便地通过微码编程进行实现。
  • 提供了更快的技术、功能跟进和更加灵活的扩展能力,特别是在新规格、新标准的支持上


NP 的硬件体系结构大多采用高速的接口技术和总线规范,具有较高的 I/O 能力,包处理能力得到了很大提升,一般具有以下特点:

Intel NP芯片FWIXP422BB实物图

NP 的特点信息表

特点概述

详情

并行处理器

采用多内核并行处理器结构。片内处理器按任务大致分为核心处理器和转发引擎。

专用硬件协处理器

对要求高速处理的通用功能模块采用专用硬件实现以提高系统性能。

专用指令集

转发引擎通常采用专用的精简指令集,并针对网络协议处理特点优化。

分级存储器组织

一般包含多种不同性能的存储结构,对数据进行分类存储以适应不同的应用目的。

高速 I/O 接口

具有丰富的高速 I/O 接口,包括物理链路接口、交换接口、存储器接口、PCI 总线接口等。

通过内部高速总线连接在一起,提供很强的硬件并行处理能力。

可扩展性

多个 NP 之间还可以互连,构成网络处理器簇,以支持更为大型高速的网络处理。

从网络处理器以上特点可以看出,与通用处理器相比,网络处理器在网络分组数据处理上具有明显的优势。


(2) 主要分类
目前,NP 芯片都是由国外厂商设计制造的,从体系结构上主要分为两大类:

Intel 的 IXP 系列产品
一类是以 Intel 的 IXP 系列产品为代表,分为控制和处理(或称数据)两个平面。如 Intel 公司的 IXP1200,控制平面是一个 ARM CORE,负责维护系统信息和协调处理部分工作,处理平面由多个微引擎(Micro Engine)和其他专用硬件组成,负责利用控制平面下发的微代码和命令,直接处理网络数据。


这类产品在对数据包进行简单过滤时性能较好,但是由于体系结构限制,尤其是微代码的开发相对复杂,导致灵活性较差,难以满足复杂多变的市场需求,一般适合 3 层(IP 层)及以下网络数据的处理。

SiByte 代表系列产品
另一类产品以 SiByte(2000 年 11 月 6 日,被高速通讯半导体制造商 Broadcom 收购)的 Mercurian 系列产品为代表,它基于 MIPS CPU 设计,如 SB-1250。它一方面保持了基于通用 CPU 设计的灵活性,另一方面通过 SOC(System On Chip)的方式消除了传统 CPU、总线、设备之间带宽的瓶颈问题。这类产品灵活性较强,易于开发、升级和维护,适于构建速度可与专用 ASIC 相媲美的、完全可编程的网络处理平台。

2016 年 1 月 5 日,Broadcom(博通)全球首发 64 位四核路由器处理器:

BCM4908。该处理器整合了四个 1.8GHz Cortex-A53 CPU 核心,同时搭载博通 Runner 网络数据包处理器,可在不增加 CPU 负荷的情况下,实现超过 5Gpbs 的系统数据吞吐量。


BCM4908 实物图


此外,它还可通过 2.5 千兆以太网物理层接口,支持包括 GoogleFiber、Comcast 2Gbps 在内的更高家庭宽带接入,这也是消费者当前能够享受到的最快宽带网速。


BCM4908 还可与博通的 BCM4366 Wave2 5G Wi-Fi MU-MIMO 配对使用,从而实现超过 3.4Gbps 的同步 Wi-Fi 吞吐量。

(3) NP 芯片厂家
目前提供 NP 芯片的厂家有很多,基本上都符合 NPF 指定的规范。国内使用比较广泛的则是 Intel 公司的 IXP xxx 系列,主要包括 IXP4xx、IXP12xx、IXP24xx、IXP28xx 等。

IXP 系列 NP 处理器从体系结构上看基本上都一样,都是由一个 RISC 处理器加一个微引擎构成的。其中,RISC 处理器主要用于控制微引擎的运行,所以又称为控制层面;微引擎完成对网络数据包的处理,以实现高性能,所以又称为数据层面。不同 IXP 系列处理器的 RISC 型号和主频不同,微引擎的个数也有所不同,在性能上也有很大差别。


IXP 系列 NP 处理器特点及应用对比表

名称

特点及应用

IXP4xx

  • 不能进行微码编程。
  • 市场定位主要在中低端市场。

IXP12xx

  • 软件开发人员根据不同的应用定制微引擎上的微码,以实现不同的功能。
  • 微引擎只有 6 个,每个微引擎上可以存储条 2k×32 位的指令,只能用来做简单的包转发处理和 QoS 处理,不能作为复杂的防火墙处理。

IXP24xx

  • 2003 年开始推出
  • 性能上有了质的变化,开发起来也要复杂得多。使用它们做出的防火墙可能在单纯包转发上到达线速。

IXP28xx

  • 比 IXP24XX 的性能又增加了很大,可以做出千兆线速的网络安全设备。
  • 但 IXP2800 板卡的设计要比 IXP2400 板卡设计要更加复杂

后面我们会继续讲 DSP 和 FPGA 的技术应用。

与非网原创内容,不经允许,不得转载!

本系列更多内容,请参照:处理器史话汇总。