第十四章Intel网络处理器概述.doc

上传人:bao****ty 文档编号:144712269 上传时间:2020-09-13 格式:DOC 页数:53 大小:1.19MB
返回 下载 相关 举报
第十四章Intel网络处理器概述.doc_第1页
第1页 / 共53页
第十四章Intel网络处理器概述.doc_第2页
第2页 / 共53页
第十四章Intel网络处理器概述.doc_第3页
第3页 / 共53页
第十四章Intel网络处理器概述.doc_第4页
第4页 / 共53页
第十四章Intel网络处理器概述.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第十四章Intel网络处理器概述.doc》由会员分享,可在线阅读,更多相关《第十四章Intel网络处理器概述.doc(53页珍藏版)》请在金锄头文库上搜索。

1、第十四章 Intel网络处理器概述前面我们讨论了网络处理器的一般问题,从本章开始我们将深入讨论一个特定的网络处理器-Intel网络处理器,以便对前面介绍的一般概念提供一个具体的说明。(1)IXA术语IXA(Internet eXchange Architecture)泛指Intel网络处理器体系结构以及相关的支持芯片。尽管IXA主要集中在网络处理器硬件,它也包括软件体系结构,因为如果不预想使用硬件的软件,可编程硬件是无法定义的。IXA包括控制面(慢路径)和数据面(快路径)处理,定义了硬件抽象、应用编程接口和互连机制,但是没有给出细节,IXA只是给出了概念组织。IXA中有如下三个重要组成部分:l

2、 微引擎(Microengine,ME):微引擎是Intel网络处理器的核心部件,也是Intel处理器取得线速处理性能的关键,在其它功能单元的支持下执行快路径上的包处理。l XScale Core:XScale核是Intel网络处理器的高层控制和管理单元,是与Strong ARM兼容的一种微处理器,负责控制面的处理任务以及异常数据包的处理,上面运行VxWorks、嵌入式Linux等实时操作系统。l IXA可移植框架(IXA Portability Framework):为基于Intel网络处理器的软件开发提供应用编程接口和硬件抽象,使得运行在XScale核和微引擎上的软件具有良好的可移植性和可

3、重用性。开发者对新一代网络处理器的要求包括四个方面:灵活性,高性能,可扩展性和可移植性。IXA能够满足这四个方面的要求。l 灵活性:在IXA架构的网络处理器中,微引擎完全可编程,在低层硬件设备的支持下可实现许多复杂的网络处理功能,具有较好的功能灵活性。l 高性能:IXA架构的网络处理器使用多个可并行操作的微引擎,通过增加微引擎的数目、提高微引擎和XScale核的时钟频率、采用新技术减小存储器访问延时以及增加专用硬件功能单元,可使网络处理器线速处理高达OC-192的网络数据,具备了网络宽带化所要求的高性能。l 可扩展性:通过增加微引擎的数目以及提高微引擎和XScale核的时钟频率,可使网络处理器

4、达到OC-192的高端处理速率,具有良好的可扩展性。l 可移植性:IXA可移植框架提供了应用编程接口和硬件抽象,使得基于该框架开发的软件与底层硬件实现松耦合,具有良好的可移植性和重用性。(2)IXP术语IXP(Internet eXchange Processor)指实现了IXA架构的网络处理器芯片。尽管每一种IXP设计必须遵循IXA架构,但是不同的IXP可以定义自己的细节,比如片上功能单元的数量和种类、处理器的并行程度、存储器的大小以及内部数据带宽等。IXP网络处理器典型地包括一个XScale核、多个微引擎、存储器、若干硬件功能单元、与各种外部连接的接口、内部总线等。Intel提供了多种IX

5、P网络处理器芯片,目前已是第二代产品。第一代产品与第二代产品的区别包括并行程度(即片上处理器的数量)、物理接口、芯片封装、功率消耗、硬件功能特性(如用于加密的硬件加速器)等方面的差异。图14-1列出了三款第二代IXP网络处理器。IXP2400主要面向OC-12到OC-48/2.5Gbps的网络接入和边缘网应用,有8个微引擎,每秒可完成超过50亿次的操作,可应用于WAN多服务交换、DSLAM、基站控制器和网关、47层交换、VoIP网关、多服务接入平台、高端路由器和VPN等。IXP2800主要面向OC-48么OC-192/10Gbps的边缘网和核心网应用,有16个微引擎,每秒可完成超过250亿次的

6、操作,可应用于骨干网的路由与交换、无线设备、IPSec和VPN、10Gbps的企业交换和路由等。IXP2850在IXP2800的基础上增加了加密单元,可达到10Gbit/s的加/解密速度,可用于IPSec、VPN、QoS Router等场合。通常用IXP2xxx泛指其中的任何一款网络处理器芯片。图14-1 Intel 第二代IXP网络处理器(3)IXP2xxx的主要部件一个IXP网络处理器是一块独立的芯片,它包含了一组复杂的可编程及不可编程的处理器和功能单元。以下是IXP2xxx芯片中的主要部件:l 一个嵌入式RISC处理器l 8到16个可编程包处理器l 多条独立的片上总线:提供芯片内部各功能

7、单元之间的高速通道,包括多组单向高速数据总线和命令总线;l 处理器同步机制l 共享和不共享的片上存储器:每个微引擎内部有专用的本地存储器,芯片内部还有共享的Scratchpad存储器;l 一个低速串行接口:连接到XScale核,主要用于控制和管理;l 多个外部存储器接口:连接外部SRAM、DRAM及ROM(或Flash ROM)等;l 多个外部I/O总线接口:PCI总线接口及MSF接口;l 计算哈希和加密的协处理器l 其它功能单元(4)外部连接图14-2给出了IXP2xxx支持的主要外部连接。IXP2xxx有四类外部连接:一个串行接口,三个外部I/O总线接口,两个外部存储总线接口,一个低速设备

8、接口。图14-3列出了IXP2400主要连接的速度。每个IXP2xxx芯片包含一个通用异步收发器(UART)硬件,提供到传统串行线路的接口,串行线连接到嵌入式RISC处理器。由于串口主要用于控制和管理功能,因此它并不像其它I/O接口那样运行在高速度。所以,尽管程序员可以选择通过它传输数据,串口并不适合用于快路径。IXP2xxx芯片中的PCI(Peripheral Component Interconnect)总线提供两个主要功能。第一,允许一个IXP2xxx连接到I/O设备(如磁盘);第二,允许设计者使用传统的CPU作为通用控制处理器。由于PCI技术非常流行,许多I/O设备遵循这个标准。尽管P

9、CI技术非常流行,但是其整体的吞吐量限制在大约2.2Gbps。为处理更高的数据速率,IXP2xxx使用了一个媒体或交换结构(Media or Switch Fabric Interface,MSF)接口。MSF是IXP2xxx与外部物理层设备(PHY)及交换结构的接口单元,是数据出入IXP2xxx的窗口。MSF通过Utopia、SPI协议与PHY接口,通过CSIX与交换结构接口。Utopia、SPI和CSIX都是标准化协议,Utopia用于接收ATM格式的包,SPI用于接收POS格式的包,CSIX是IXP2xxx与交换结构进行数据接收/发送时使用的接口协议,其数据包格式为Cframe。通过这些

10、标准协议MSF能够方便地与其它厂家的产品进行接口。图14-2 IXP2xxx的主要外部连接图14-3 IXP2400外部连接的速度MSF接口有两个主要目的。第一,它构成了IXP2xxx与高速网络接口之间的快路径;第二,MSF接口提供了一种通信机制,允许两个或多个IXP2xxx芯片互连。第二个目的非常重要,因为可以将两个芯片连接起来处理较高的吞吐量。MSF接口的关键特性是可配置,可配置性使得MSF接口的灵活性足以连接几乎任何物理硬件。像图14-2指示的那样,MSF接口有两个外部连接:一个用于输入,另一个用于输出。这两个外部连接使用不同的管脚,并且可以被独立配置,因此可以配置输入和输出使用不同的接

11、口标准。比如配置输入使用SPI协议,而输出使用CSIX协议。DRAM总线的任务只有一个,提供对外部DRAM的访问。IXP2400使用一条总线访问DRAM,而IXP28x0使用多条总线来获得较高的吞吐量。在IXP中,DRAM提供低成本、高带宽的存储,主要用于存储块数据(如完整的包或帧)。除了64位数据线,DRAM总线还包括传输地址、控制存/取操作、以及传输时钟信号的线路。存储器使用时钟信号来使取或存操作与处理器时钟同步。访问SRAM的接口与访问DRAM的接口是完全分开的。尽管图14-2中只画出一条SRAM总线,事实上,IXP2xxx使用多条SRAM总线以获得较高的吞吐量。SRAM总线除了提供对外

12、部SRAM的访问以外,与协处理器的交互也是通过SRAM总线进行的。除了存储器总线,IXP2xxx还有一个慢端口(Slowport)连接。与存储器总线不同,慢端口连接是共享的,连接提供了对若干个外部硬件单元的访问。比如,在启动过程中慢端口总线提供对ROM或FlashROM的访问。正像名字指示的一样,慢端口总线不是为高速数据传输而设计的。(5)内部组件IXP2xxx的内部结构很复杂,因为芯片包含了总线、存储器、处理器、接口和其它功能单元。下面列出了主要的功能单元。数量组件目的1嵌入式RISC处理器控制、高层协议和例外8/16包处理引擎I/O、基本包处理和包转发1+SRAM访问单元协调对外部SRAM

13、总线的访问1+DRAM访问单元协调对外部DRAM总线的访问1MSF访问单元协调对外部I/O设备的访问1PCI总线访问单元协调对外部PCI总线的访问1SHaC单元存储中间结果、计算哈希值等1加密单元加解密操作1系统底盘(chassis)提供内部控制和数据传输的通道嵌入式RISC处理器负责执行网络处理器中的控制面处理任务,如进行芯片初始化配置、芯片控制/管理、运行路由协议、更新路由表等,另外还负责对异常数据包的处理。包处理引擎是IXP的核心部件,能够访问IXP中的所有共享资源,负责绝大部分的包处理任务,是IXP取得线速处理性能的关键。IXP2400中包含8个32位包处理引擎,IXP28x0包含16

14、个32位包处理引擎。SRAM访问单元用于和外部SRAM接口,控制和管理IXP中其它功能单元对外部SRAM的访问。SRAM访问单元还可用于和符合相应接口规范的协处理器接口,执行特定的包处理操作。IXP2400中有两个SRAM访问单元,IXP28x0中有四个SRAM访问单元。不同的SRAM访问单元相互独立,可并行工作。DRAM访问单元用于和外部DRAM接口,控制和管理IXP中其它功能单元对DRAM的访问。IXP2400有一个DRAM访问单元,而IXP28x0有三个DRAM访问单元。PCI总线访问单元用于和主控CPU、其它IXP网络处理器以及PCI以太网卡等符合PCI规范的设备接口。SHaC单元其实

15、包括了三个部分:用于存放中间结果的片上Scratchpad存储器,支持48比特、64比特及128比特哈希运算的哈希单元,以及用于对IXP中的控制和状态寄存器进行访问操作的单元(称为CAP)。加密单元是IXP2850特有的,负责进行加解密操作。系统底盘是IXP中各功能单元之间的内部高速通道,由多组单向高速数据总线、命令总线以及相应的总线仲裁单元组成。正是由于系统底盘的分立式多总线结构和高带宽的数据总线,使得IXP的并行处理优势得以充分发挥,取得较高的性能指标。图14-4是IXP2xxx的高层结构视图,给出了内部组件和外部单元之间的连接。图14-4 Intel IXP2xxx的概念组织图14-5 IXP2400硬件结构框图图14-5是IXP2400的内部硬件结构图。总体上来看,IXP采用了多主控+系统底盘+多目标的硬件体系结构。多主控是指IXP的多个主控单元,包括XScale核、微引擎、PCI控制单元等硬件功能单元。多目标是指IXP中的多个从属单元,包括存储访问单元、MSF、SHaC等。主控单元发起和控制对多个目标的操作,目标执行主控单元规定的操作,而底盘提供了主控单元与目标之间的数据传输通道和命令传输通道。具体而言,IXP的硬件体系结构具有如下主要特征:1)采用分立的内部总线结构,将不同存储单元的数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号