(计算机应用技术专业论文)基于网络处理器的路由器高速数据预处理模块的实现.pdf_第1页
(计算机应用技术专业论文)基于网络处理器的路由器高速数据预处理模块的实现.pdf_第2页
(计算机应用技术专业论文)基于网络处理器的路由器高速数据预处理模块的实现.pdf_第3页
(计算机应用技术专业论文)基于网络处理器的路由器高速数据预处理模块的实现.pdf_第4页
(计算机应用技术专业论文)基于网络处理器的路由器高速数据预处理模块的实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)基于网络处理器的路由器高速数据预处理模块的实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆邮电大学硕士论文a b s t r a c t 摘要 随着互联网络宽带化和综合化的发展,基于通用处理器或a s i c 专用芯片的 传统路由器已经难以满足实际应用中的网络数据处理的需要,前者处理性能不 够,后者贝i j 灵活性差,为了弥补这两方面的不足,近年来,网络处理器n p ( n e t w o r kp r o c e s s o r ) 在路由器的设计中得到了应用。本文中所研究的“基于 i x p 2 4 0 0 网络处理器和通用处理器的路由器”正是有效的利用了网络处理器的 强大性能和高度灵活性,在功能和性能上,对传统路由器进行了改进。 本文首5 电x , j - i x p 2 4 0 0 网络处理器的系统结构进行了介绍,剖析了其中的各 硬件组成部分,然后重点分析和设计了“基于i x p 2 4 0 0 网络处理器和通用处理 器的路由器”系统,并对系统的各个组成部分进行了阐述和分析,然后详细的 讨论了系统快通道中的高速数据预处理模块,并对构成该模块的r e c e i v em b 和 t r a n s m i tm b 两个功能子模块进行了设计与实现。 在此基础上,本文还给出了系统快通道中高速数据预处理模块的调试和测 试方案,对模块的功能的正确性等进行了验证。最后,本文还对“基于网络处 理器的路由器”的设计中未来可作的工作进行了展望。 关键词:网络处理器n p ,i x p 2 4 0 0 ,通用处理器,路由器,快通道,高速数据 预处理 重鏖塑皇盔堂堡主鲨塞垒! 墅型 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e m e t , t r a d i t i o n a lr o u t e r sb a s e do ng e n e r a lp u r p o s e c p uo ra s i cc a n n o tm e e tt h ed e m a n d o fd a t ap r o c e s s i n gi nn e t w o r k s t h ef o r m e ri s o fl o wp e r f o r m a n c ew h i l et h el a t t e ri so fb a df l e x i b i l i t y n p ( n e t w o r kp r o e e s s 0 0i s d e s i g n e dt oa c h i e v et h eb a l a n c eb e t w e e nh i 曲p e r f o r m a n c ea n ds t r o n gf l e x i b i l i t yi n r o u t e r s w i t ht h e s ea d v a n t a g e s ,t h e “r o u t e rb a s e do ni x p 2 4 0 0a n dg p c p u i s a n a l y s e da n dd e s i g n e d f i r s t ,t h ea r c h i t e c t u r eo fi x p 2 4 0 0i si n t t o d u c e da n dt h eh a r d w a r ec o m p o n e n t s a r es t u d i e d ,f o l l o w e db yt h ea n a l y s i sa n dd e s i g no ft h e “r o u t e rb a s e do ni x p 2 4 0 0 a n dg p c p u ”s y s t e ma n dt h ei n t r o d u c t i o na n da n a l y s i so fd i f f e r e n tm o d u l e s t h e n t h eh i g h s p e e dd a t ap r e p r o c e s s i n gm o d u l eo ff a s tp a t hi se m p h a s i z e d t h em o d u l e i s c o m p o s e d w i t hr e c e i v em ba n dt r a n s m i tm b w h i c ha r e d e s i g n e da n d i m p l e m e n t e d b a s e do nt h er e s e a r c ha b o v e ,t h ed e b u g g i n ga n dt e s t i n gs c h e m e sa r e p r e s e n t e d ,w h i c hp r o v e dt h ef u n c t i o n a l i t yo ft h eh i g h s p e e dd a t ap r e - p r o c e s s i n g m o d u l e f i n a l l y , t h ef u t u r ew o r k si nt h e r e s e a r c ho f r o u t e rb a s e do nn p i s d i s c u s s e d k e yw o r d s :n p ( n e t w o r kp m c e s s e r ) ,i x p 2 4 0 0 ,g e n e r a lp u r p o s ec p u ,r o u t e r , f a s t p a t h ,h i g h s p e e dd a t ap r e p r o c e s s i n g i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得 的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得重废唑电太堂或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名 薹未卧i l 签字日期:肿石年月8 日 学位论文版权使用授权书 本学位论文作者完全了解 重废邮电太堂有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文 被查阅和借阅。本人授权重庆塑鱼太堂可以将学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:茎互孙 签字日期:7 卯5 年6 月g 日 导师签名: 龟东多乏 签字日期:_ 年易月g 马 i i 重庆邮电大学硕士论二贮 第一章绪论 1 1 研究背景 第一章绪论 传统的路由器等通信网络设备都是基于通用处理器( g p c p u ) 设计的,这样的 路由器功能灵活,冉2 够对多种网络业务进行处理,并且可以根据功能需要而通过 软件升级进行改进。但通用处理器的处理速度较慢,不能胜任高速网络的要求。 而随着技术的进步,网络飞速的朝着宽带化和综合化发展。网络传输技术特别是 光纤传输技术的发展和成熟,使得网络传输速度越来越高,这就使得通用处理器 的处理速度越来越压裂不上传输速度的发展。路由器数据处理速度达不到线速就 成为了网络进一步发展的瓶颈。于是,针对通用处理器低速的不足,人们开始把 专用处理器芯片a si c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) 投入路由器 等通信网络设备的设计和应用中。a s i c 将一些特定的网络数据处理功能采用硬 件的形式实现,在硬件上针对网络传输的特点进行了最大程度的优化,使得其数 据处理速度能够和线速匹配,以适应高速的网络数据处理需要。但同时这也带来 了新的问题,那就是a s i c 功能单一,不具备可编程性,为适应新的业务而需要 的每一点小的功能上的改进,都会造成a s i c 芯片硬件结构的重新设计和制造, 而这个设计周期又比较长,设计制造的成本投入也会比较大,市场周期也比较短, 这些都在很大程度上也限制了网络的进一步发展。于是,为了弥补通用处理器和 a s i c 芯片各自的不足之处,需要在可编程的灵活性上和高处理速度的性能上找 到一个平衡点,以促进网络设备的进一步发展,在这种情况下,结合通用处理器 和a s i c 芯片各自的优势,网络处理器( n p ,n e t w o r kp r o c e s s o r ) 就应运而生了”1 。 基于网络处理器的路由器打破了传统的基于通用处理器路由器的性能不高 以及基于a s i c 路白器的功能不灵活的缺点,在网络处理的功能和性能之间找到 了较好的平衡,现在已越来越被广大的设备制造商和网络运营商认可和接受,其 市场价值也逐步显露出来。其一方面有专为网络数据处理而优化设计的硬件结 构,另一方面又具备完全可编程网络处理模式,适应了网络宽带化和综合化发展 需要。 1 2 选题意义 由于网络处理中对处理器的性能和灵活性两方面的高要求,使得传统的通用 处理器和专用处理器成为了制约网络处理进一步发展的瓶颈,于是同时具备高性 重庆邮电大学硕士论文第一章绪论 能和高度的灵活性的网络处理器应运而生。网络处理器的设计、应用目前已被认 为是推动网络向高性能、高度灵活性方向发展的核心技7 r 。于是,对网络处理器 应用的研究,也逐渐成为热点,也将会越来越受到广泛的关j 生。因此,对能够满 足下一代网络处理要求的高速数据处理路由器具有非常重要的学术价值和现实 意义。 基于上述考虑,本文所述“基于网络处理器的高速数据处理路由器”选择了 i n t e li x p 2 4 0 0 高性能网络处理器及具备高度灵活性的通用处理器来进行设计和 实现,并且在系统框架结构上采取了控制面和数据面的分层结构。 同时,采用i n t e li x p 2 4 0 0 网络处理器及通用处理器共同来设计和实现路由 器的硬件平台,可以充分的将这二者的优势发挥出来,方面,有效的利用了i x p 2 4 0 0 网络处理器强大的网络数据处理能力,使得整个路由器的性能得到了很大 提高,另一方面,有效的利用了通用处理器的高度灵活佳,同时由于控制面和数 据面的分层系统结构,使得整个路由器的模块化程度和可。移植性得到了很大的提 高。 1 3 国内外研究现状 网络处理器在通用处理器的灵活性和a s i c 的强大女e 理性能两方面取得了很 好的平衡,既能达到很高的处理速度,又具备良好的可靠亳程岔皂力。这两方面的特 点决定了网络处理器具有强大的生命力和发展前景。从1 9 9 9 年到现在,i n t e l 、 m o t o r o l a 、m m c 、l u c e n t 、c o n e x a n t 、s i t e r a 等公司陆续推蛙j 了自己的网络处理 器产品。到目前为止,已有超过3 0 家网络处理器厂商完成丁超过5 0 0 个的网络 处理器设计,其产品主要针对的是2 5 g b p s 和1 0 g b p s 的网络应用。而现在市场 上,4 0 g 的网络处理器也正在开始投入使用。这里简要介绍一下几种较为典型的 网络处理器产品。 i n t e l : 在i n t e l 公司收购了d e c 公司的a l p h a 处理器音b 门以后,其获得了 s t r o n g a r m 技术,在此基础上开始了对i x p1 x x x 系列网络处理器的研发和制 造。目前,i n t e l 公司的网络处理器主要有i x p l x x x 系歹u 、e x p 2 x x x 系列等。 为了满足开发人员对网络处理器灵活性、高性能、可扩展啦徊软件可移植性方面 的要求,i n t e l 公司提出了i n t e li x a ( i n t e m e te x c h a n g ea r c h i t e c t u r e ,因特网交换 体系构架) 。其是i n t e l 公司提出的基于i x p 系列网络处理器设:计下一代网络设备 的完整硬件和软件解决方案,主要包括i x p 系列网络处理器莉i n t e li x a 软件可 移植性框架两个部分。目前,i x p 2 x x x 系列产品是i n t e l 的主:要网络处理器。 c p o r t ( m o t o r o l a ) :作为平台网络处理器中集成度最高的产品之一,c - p o r t 公司的c 5 处理器具备1 6 个r i s c 芯核,3 2 个串接数据处理器以及5 个经过针 对不同作业的需要,可实现优化的处理器负载。其可以执行第七层以下的分组分 类作业、速度可达到5 g b p s 。在此基础上,c p o r t 公司还十分重视软件平台和开 发工具的提供,为第三方开发人员使用c 5 提供了方便。 m m c : m m c 公司所提供的网络处理器解决方案的性价比具有一定优势。 其网络处理器产品目前有n p 7 0 2 0 、n p 7 1 1 0 、n p 7 1 2 0 、n p 7 1 5 0 等,其中比较典 型的是集成了4 g b p s 交换结构的n p 3 4 0 0 ,它在第三层进行分组交挺处理速度达 到o c 4 8 。由于其第三方开发不够成熟,在一定程度上制约其进一步推广应用。 a g e r e ( l u c e n t ) :a g e r e 公司的网络处理器芯片组是一种平台处理嚣的解决方 案,其包括快速图形处理器( f p p ) ,路由交换处理器( 1 i s p ) 和a g e r e 系统接1 2 1 ( a s l ) 等几个部分。a g e r e 网络处理器的体系结构是非r i s c 构造的。其是为了满 足包处理应用的需要而完全重新设计的。a g e r e 网络处理器能处理多项二层协议, 并且处理速度可达到o c 4 8 。 m a k e r ( c o n e x a n t ) :m a k e r 公司的产品主要应用领域是在a t m 领域,其网络 处理器主要有m x t - 4 0 0 0 和m x t - 5 0 0 0 系列。这两个系列的网络处理器可作为 a t ms a r 处理器使用,也可以用于帧中继,m a c 等二层应用中以及i p 等三层 应用中。 s i t e r a :s i t e r a 公司提供网络处理器解决方案,其中使用其公司自己开发的平 台网络处理器和市场上供应的通用处理器。s i t e r a 公司自己的网络处理器负责执 行快通道处理功能,市售通用处理器负责执行控制层中的慢通道处理动能。s i t e r a 公司生产的网络处理器命名为p r i s m ,其共包括四个嵌入式专用r i s c 芯核,以 及针对不同作业进行优化的协处理器。其r i s c 指令集经过优化,可更好的执行 针对分组处理应用的操作。s i t e r a 公司的网络处理器解决方案,其网络处理速度 可达o c 4 8 。其所提供的软件开发平台能够对第三方开发商进行有效支持。 以上我们对网络处理器的一些主要生产商进行了简要的介绍。可以看出,现 在正在有越来越多的生产厂商对网络处理器加大了关注的力度。而在这些厂商对 网络处理器的开发和应用中,i n t e l 公司暂时走在了前列。i n t e l 公司现已开发的 网络处理器产品已经进入了第二代。其第一代的产品系列有i x p l 2 x x :系列,在 此基础上,进行了第二代的产品i x p 2 x x x 系列的开发,这一系列产品以 i x p 2 4 0 0 、i x p 2 8 0 0 及i ) 0 2 8 5 0 为代表。而在本文中所设计实现的基于网络处理 器的路由器高速数据预处理模块,也正是基于i n t e li x p 2 4 0 0 网络处理器的。 以上所阐述的是国外目前网络处理器的发展情况。而在国内,目前网络处理 器的研究和开发还暂时处于起步的阶段,其范围主要是集中在国内各大网络设备 制造商以及一些重点高校,而且其研究领域主要在于新的开发结构在网络技术上 的开发及应用,而对网络处理器本身的研究却相对较少。 重庆邮电大学硕士论文第一章绪论 1 4 论文结构 本艾共分六章,各章的内容安排如下: 第一章绪论。介绍了网络处理器的发展和研究现状,分析了网络处理器出 现的意义和其对网络发展的趋动作用,并且阐述了对基于网络处理器的高速数据 处理路由器进行研究具有十分重要的学术价值和现实意义。 第二章网络处理器简介。介绍了网络处理器的基本组成,并以i n t e l i x p 2 4 0 0 为例,具体叙述了典型的网络处理器的硬件结构、以及基于i x p 2 x x x 网 络处理器系列的并行处理技术,并且分析了基于i x p 2 4 0 0 的典型的硬件构架方案 和软件处理流程,突出了从中可以看出i x p 2 4 0 0 网络处理器的处理优势。 第三章基于i n t e li x p 2 4 0 0 网络处理器和通用处理器的路由器设计。从整 体上分析了基于网络处理器和通用处理器的路由器系统结构和各个模块的概要 设计。 第四章高速数据预处理模块的设计与实现。首先对高速数据预处理模块所 属的快通道部分进行了宏观上的概要设计和阐述,然后分析了其中的高速数据预 处理模块,之后对其中的具体模块进行了概要分析、数据结构设计、操作流程分 析,最终得出实现方案。 第五章系统调试与测试。对高速数据预处理模块及快通道整体的调试进行 了分析和阐述。 第六章总结与展望。总结了本论文所做的工作,并探讨了将来进一步的研 究方向。 重庆邮电大学硕士论文第二章网络处理器简介 第二章网络处理器简介 网络处理器( n p ,n e t w o r kp r o c e s s o r s ) 是一种新兴的高速可编程网络处理设 备,其专门用于执行包处理和包转发。网星各处理器的设计综合了通用处理器的 灵活性和专用处理器a s i c 的优点,在:灵活性和处理性能两方面取得了很好的 平衡,其同时具备了可编程性和线速处理自勺能力。 网络处理器一般位于数据通路物理接口和背板之间,其主要完成和网络数 据传输有关的控制,以及网络数据转发相乡毛的数据处理。其可以在o s i 七层协 议栈中的2 7 层实现数据处理。具体而言,网络处理器的主要功能包括以下几 个方面:首先,对协议进行识别和分类:;其次,修改数据包中的相关字段;第 三,对数据包进行拆分和重组;第四,队歹“管:理;第五,流量整形和流量工程: 最后,差错检测u ,。 网络处理器的主要特点为:具备完全的可编程能力,编程模型简单,具备 强大的处理能力,灵活性高,功能高度集威,具备开放式的编程接口,以及具 备很好的第三方支持的开发环境。1 。这些都为网络处理器在网络中的应用打下 了很好的基础。 2 1 网络处理器的基本组成 网络处理器的组成分为两个方面,一个是硬件方面,另一个是软件方面。 网络处理器的上述优点正是来源于其在硬件结构和软件组成方面的特殊设计, 尤其是硬件结构方面,网络处理器采用了与传统处理器相异的策略,很好的适 应了网络数据处理的需要。网络处理器的硬件结构如图2 1 所示“1 。 图2 1 网络处理器自9 硬件结构 如图所示,网络处理器主要由两个功台模块组成一网络处理器单元和专 用智能协处理器单元。其中,网络处理器马皇元( 在一个网络处理器中一般有一 个或多个) 通常采用多线程的结构。网络处理器单元可以完成高速、大容量的 智能数据处理功能,如数据包的接收、转发、包头的处理和路由查询冬笋。而智 能协处理器单元则是网络处理器的核心,它通常需要嵌入式操作系统i 白留支持, 其主要功能是对网络处理器单元以及其他硬件单元进行操作和控制。雀,能协处 理器通过运行其操作系统上的路由协议软件包,从而完成相关路由信息自q 接收、 处理和发送,生成路由表并对其更生维护等。 网络处理器采用了这样的硬件结构,使得其处理速度得到很大盼捷高,具 体表现在这样几个方面:多处理器并行处理结构,这样的结构能够使:网【络三出理 器的处理能力得到很大提高:单个处理器内部实现硬件多线程结构,这= 样帕| 勺结 构能够使数据处理时访问存储器所花费的平均时间得到降低,从而提:7 每芯片的 效率;实时性的要求,使得不同的任务必须交给不同的处理器来完成:,这就从 一定的程度上减小了数据包的处理延迟。同时,从系统的灵活性角度来看,一 方面,智能协处理器单元具有可编程性,另一方面,网络处理器单元通常是由 多个r i s c 芯核组成的,其中的r i s c 芯核也具备可编程性。这就使得整个网络 处理器都是可编程的,从而充分保证了网络处理器的灵活性。 网络处理器的软件包括这样几个部分:板级支持包( b s p ,b o a r ds u p p o r t p a c k e t ) 、嵌入式操作系统、路由协议软件包以及微代码( 或标准语言代码) 四 个部分。前三个部分都运行在智能协处理器单元上。其中,板级支持龟记录着 智能协处理器单元所需要管理的硬件信息以及它们的主要配置信息,嵌入式操 作系统是路由协议或其他应用程序运行的基础,路由协议软件包的运彳亍使彳寻智 能协处理器能够生成并维护路由表,从而为网络处理器单元对数据包j 进彳亍转发 建立基础。微代码( 或标准语言代码) 则运行在网络处理器单元上,j 用于对数 据包进行相应的处理及转发m 。 从以上内容可以看出,网络处理器之所以具备高速的处理能力,三主要是采 用了上述的硬件结构而实现的,也即通过在一个网络处理器芯片中集威多个微 处理器单元,同时在一个微处理器单元中设计多个硬件线程而实现的。# 且, 在网络处理器中,还采用了其他的一些硬件加速技术来提高其处理速度。从灵 活性的角度来看,主要通过智能协处理器单元与网络处理器单元均实觋三完全可 编程而实现了网络处理器的完全可编程性。 2 2i n t e ii x p 2 4 0 0 的硬件结构 i x p 2 4 0 0 作为i n t e l 公司的第二代网络处理器产品i x p 2 x x x 系列和向一员, 其具备强大的网络处理性能、灵活的网络处理功能、以及高度的可编程f 生。其 主要应用范围为o c 3 o c 1 2 等中、低端速率场合。i x p 2 4 0 0 的硬件鸯右看勾如图 2 2 所示州。 图2 2i x p 2 4 0 0 内部结构 如图2 2 所示,i x p 2 4 0 0 由微引擎( m e ,m i c r o e n g i n e ) 、x s c a l ec o r e 单元、 媒质和交换结构接口m s f ( m e d i e s w i t c hf a b r i c ) 、g r a m 控制器、d r a m 控制 器、s h a c 单元、p c i 控制器、c h a s s i s 总线结构等八大部分组成。下面将对这 八个部分进行简要介绍。 2 2 1 微弓l 擎m e ( m i c r o e n g ir e ) 微引擎是网络处理器中的重要组成部分。在i n t c l 公司的i x p 系列网络处理 器中,微引擎也称为m i c r o e n g i n e ,简称m e “1 。在i n t e li x p 2 4 0 0 中,微引擎 是核心部件,网络处理任务中的绝大部分都由其负责。在i n t e li x p 2 4 0 0 中,一 共有8 个微引擎m e ,分为两组:c l u s t e r 0 和c l u s t e r l ,其中,m e 0 m e 3 属于 第一组c l u s t e r 0 ,m e 4 m e 7 属于第二组c l u s t e r l 。微引擎内部包括很多存储单 元和指令执行单元,例如:存储单元有g p r s 、x f e rr e g 、n n r 、l o c a lm e m o r y 等,指令执行单元有e x e c u t i i l gd a t a p a t h 、c a m 、c r cu n i t 、b y t ea l i g n e r 等。 而且,微引擎中还包括l o c a lc s r ( 微引擎内部的控制状态寄存器) 等寄存器 单元。 下面对这些单元中很重要的两个进行简要介绍: n n r :n e x tn e i g h b o rr e g i s t e r ( 邻居寄存器) 。在i x p 2 4 0 0 中,相邻微引擎 之间的通信和至变互j 常重要,因此用n n r 来作为相邻微引擎之间的高 速数据通道,能电多有效的提高数据交互速度,提高整个i x p 2 4 0 0 的数据 处理速度。 c a m :c o n t e x t a c e - e s sm e m o r y ( 内容访问存储器) 。在i x p 2 4 0 0 中,需要对 数据结构进行高速的缓存和访问。c a m 与微引擎中的本地存储器l m ( l o c a lm e m o r y ) 、s r a m 控制器( s r a mc o n t r o l l e r ) 中的队列数组 q a r r a y 等配合。使用,能够实现对数据结构的高速缓存和快速操作,从 而从整体上提高k x p 2 4 0 0 的数据处理速度。 微引擎m e 的高速:数据处理功能和强大性能得益于其强大的指令执行单元 和可快速访问内部存储单元自勺设计。在每个微引擎m e 内部都有8 个硬件线程 ( 此处可称为c o n t e x t ) 。每个c o n t e x t 都可以用两种方式使用存储器资源,一种 是共享微引擎的内部存储器j 冬源,另一种是专用单独的存储器资源。通过在多 个线程之间进行线程交:换( c o n t e x ts w a p ) 的方式,可以将存储器的访问时延 ( m e m o r yl a t e n c y ) 隐藏在指令执行周期后面,从而提高微引擎的处理性能, 这是i x p 2 4 0 0 网络处理器二在网络数据处理方面性能高于通用处理器的一个关键 因素,同时也是i x p 2 4 0 0 网络处理器与通用处理器的显著区别之一。并且, i x p 2 x x x 系列的网络处鼍曼器中,其微引擎采用的是m e v 2 的新硬件结构,在第 一代i x p 网络处理器i x p l 2 0 0 的m e v l 基础上,又新增加了一些重要的硬件加 速设备,现简述如下: g t s :g e n e r a l i z e dt h r e a ds i g n a l s ( 通用线程信号) ,用来在线程之间进行通 信; c r cg e n e r a t o r :c r c 计算单元,提供误码检测,工作在a t m 和e t h e m e t 等2 层协议中; g l o b a lt i m e r & l o c a lt i m e r s :全局及本地计时器,用于实现定时功能,如 时间戳等: p s e u d or a n d o m n u r m b e rg e n e r a t o r :伪随机数产生器,用来生成伪随机数, 以用于拥塞控带u 算:法等: r e f l e c t o r :反射机带l j ,一种高速数据通信机制,用作不相邻的微引擎之间的 高速数据通道。 微引擎一般可能通过分立式的高速数据总线来进行访问,这些总线如:s o p u s hb u s 、s op u l lb u s 、s 1p u s hb u s 、s 1p u l lb u s 、dp u s hb u s 、dp u l lb u s 等。 通过这样的访问,可能对i x p 2 4 0 0 网络处理器中的其他功能单元进行操作,这 些控制单元包括:s r a mc o n t r o l l e r 、d r a mc o n t r o l l e r 、p c ic o n t r o l l e r 、s h a c u n i t 、m s f 等。 如前所述,微引擎是完全可编程的,可以通过编程来决定其工作模式。控 制微引擎以什么样的工作模式运行的程序存储在徽引擎内部的控制存储区 ( c o n t r o ls t o r e ) 内。在系统启动时,x s c a l e 单元会控制完成将程序载入控制存 储区的操作。 在i x p 2 4 0 0 网络处理器中,控制存储区的容量勾4 1 ( x 4 0b i t 。由于控制存储 区属于微引擎的内部存储资源,因此可以在单周期内完成对其程序指令的存取 操作,从而可能提高微引擎的指令执行速度,进而提高微引擎整体的数据处理 性能。 控制存储区中的程序是从i x p 2 4 0 0 网络处理器中的只读存储器r o m 中读 入的。在将程序装入控制存储区时,x s c a l e 单元先在u s t o r ea d d r 寄存器 中写入程序在控制存储区中的存储地址,然后将一e 乏程序从只读存储器读入到 u s t o r ed a t a 寄存器中,最后再将u s t o r ed a i a 寄存器中的程序载入到 控制存储区中指定地址处,并且将u s t o r ea d d r 寄存器中的地址递增。如 此循环反复,直到程序装载完毕。采用这样的方式,就可以将所需要的程序装 载进控制存储区中。 2 2 2x s c al e 单元 x s c a l e 单元也是网络处理器中的重要组成部分。在i n t e l 公司的i x p 系列 网络处理器中,x s c a l e 单元称为x s c a l ec o r e “,箕负责处理网络处理器中的 控制面( c o n t r o lp l a n e ) 中的处理任务,主要用于执行系差充芯片的初始化配置、 以及系统控制和管理等操作。 此外,x s c a l e 单元还负责对系统中的异常数据包进行处理。由于网络数据 中的异常数据包数量不会太多,并且要求的处理速度也不会太高,因此在网络 处理器中,x s c a l e 单元又被称作数据包的慢通道( s l o w p a t h ) 。 9 重庆邮电大学硕士论文 第二章网络处理器简介 2 2 3 媒质和交换结构接口m s f ( m e di e s n i t o hf a b ri c ) 在i x p 2 4 0 0 网络处理器中,媒质和交换结构接口m s f m “1 ( m e d i a a n ds w i t c h f a b r i ci n t e r f a c e ) 是i x p 2 4 0 0 与外部物理层设备p h y 、交换结构s f 的接1 3 单元, 也是数据出入i x p 2 4 0 0 的窗口。媒质和交换结构接口通过一些协议如u t o p i a 、 s p i 等与外部物理层设备接口,通过c s i x 等协议与交换结构接口。u t o p i a 、 s p i 、c s i x 这些协议都是经过标准化的,通过这些标准协议,媒质和交换结构 接口能够非常方便的实现与其他厂家的产品进行接口,从而保证系统很好的兼 容性。 在i x p 2 4 0 0 网络处理器中,媒质和交换结构接口利用接收缓存r b u f ( r e c e i v eb u f f e r ) 来对接收数据进行缓存这样可以平滑微引擎的数据处理速度 与网络数据速度( l i n er a t e ,即线速) 之间的差异。媒质和交换结构接口在将 网络数据接收下来之后,并不直接将其送入专门的数据存储区( d r a m 存储设 备) ,而是先将数据缓存在接收缓存r b u f 中,然后再将其移送到d r a m 或微 引擎中。这样的操作过程使得微引擎的数据读取过程在i x p 2 4 0 0 内部进行,即 微引擎能够直接将数据从i x p 2 4 0 0 内部的媒质和交换结构接口读入微引擎内 部,避免了从i x p 2 4 0 0 外部的d r a m 存储设备将数据读入微引擎内部。这就可 以避免过大的外部存储器访问时延。同样的道理,媒质和交换结构接1 2 1 也利用 发送缓存t b u f ( t r a n s m i tb u f f e r ) 来对发送数据进行缓存,这也可以起到平滑 微引擎的数据处理速度与网络数据速度之间的差异的作用,较大程度的减小了 外部存储器的访问时延。 在1 x p 2 4 0 0 网络处理器中,接收缓存r b u f 、发送缓存t b u f 可以划分为 不同尺寸的缓存单元r b u fe l e m e n t 和t b u fe l e m e n t ,根据其尺寸的划分可以 与不同协议格式的数据包的尺寸相匹配,这样就可简化操作,从而有效地进行 数据包的接收和发送。 媒质和交换结构接口单元有如下特征: 1 有相互独立的数据接收接口和发送接1 3 ,接口总线宽度为3 2b i t ; 2 3 2b i t 的接收、发送总线可以配置为多种通道模式:1 3 2b i t 通道,2 1 6 b i t 通道,4 8b i t ,通道、l x l 6b i 以砬道+ 2 x 8b i t 通道,且每一个可通道独 立的进行配置、工作; 3 发送、接收总线的时钟频率为2 5 1 2 5 m h z : 4 支持u t o p i a l 2 3 、p o s p h y 2 3 、c s i x 等标准工业接1 3 。其中, u t o p i a 、p o s p h y 可采用8b i 们直道,1 6b i 们直道,3 2b i t 通道等模式, 而c i s x 只能工作在3 2b i t 通道模式下: 5 支持多个虚拟通道,如当接收、发送总线为3 2b i t 时最多可支持3 2 个 虚拟通道,当接收、发送总线为1 6b i t 时最多可支持3 1 个虚拟通道。 多个虚拟通道通过时分复用共享同一套总线; 6 支持c _ b u s 用于流量控制; 7 与c o m m a n db u s 、sp u l l p u s hb u s 、dp u l l p u s hb u s 等内部总线直接相 连。 2 2 4s r a m 控制器 在d 2 4 0 0 网络处理器中,s r a m 控制器( s r a mc o n t r o l l e r “】【”) 是i x p 2 4 0 0 与外部s r a m 存储设备的接口单元,主要用于管理和控制微引擎、x s c a l e 单元、 p c im a s t e r 等主控单元对s r a m 存储设备的读写操作。s r a m 存储设备采用 q d r 存储技术,以提高数据存取速度。与d r a m 控制器相比较,s r a m 控制 器有着复杂的硬件功能结构,除了支持一般的数据读写之外,还支持原子操作、 r _ i m w ( 读,修改写) 操作等,另外,由于集成了q a r r a y 等功能强大的硬件结 构,s r a m 控制器还支持对于对链表( l i n k e dl i s t ) 、环缓冲区( r i n gb u f i e r ) 等复杂数据结构的自动操作。因此,s r a m 存储设备通常用于存储诸如发送队 歹i j ( t r a n s m i tq u e u e ) 、数据包描述符( p a c k e td e s c r i p t o r ) 、缓冲区链表( b u f f e r l i s t ) 等重要而复杂的数据结构。除此之外,为了提高数据传输、处理的并行性, 在i x p 2 4 0 0 中,s r a m 控制器还支持2 个s r a m 存储通道,并且有2 组相互 独立的数据总线( 即s o b u s 和s 1b u s ) 与其他功能单元相连。除了接口s r a m 存储设备,s r a m 控制器还可以连接符合q d r 规范的协处理器,提供路由查 询、安全管理等高级网络功能。 在i x p 2 4 0 0 网络处理器中有2 个s r a m 控制器,支持两个s r a m 存储通 道。s r a m 控制器通过命令总线和数据总线与i x p 2 4 0 0 中的微引擎、x s c m e 单 元、p c im a s t e r 等主控单元相连,并且数据读总线和数据写总线( 即sp u s hb u s 和sp u l lb u s ) 分开。此外,对应于两组微引擎m ec l u s t e r 0 和m ec l u s t e r l ,又 将s p u s h b u s 分为两组:s o p u s h b u s 和s 1p u s h b u s ,将sp u l l b u s 分为两组: s op u l lb u s 和s 1p u l lb u s 。命令总线相应的也分为两组:c o m m a n db u s 0 和 c o m m a n db u s l 。采用这样的分立的总线结构,使得针对d r a m 的数据读,写操 作可同时进行,增强了i x p 2 4 0 0 的并行处理能力。 为了减小s r a m 的访问时延,p 2 4 0 0 网络处理器的s r a m 控制器中集成 了复杂的硬件功能结构,自动执行复杂的数据结构操作,节省微引擎的指令开 销,节省命令总线( c o m m a n d b u s ) 的带宽。 s r a m 存储设备的数据逻辑宽度为4 字节,物理宽度为2 字节,支持b y t e 重庆邮电大学硕士论文 第二章网络处理器简介 p a r i t yb i t ( 字节奇偶校验比特,l b i t b y t e ) 。i x p 2 4 0 0 的s r a m 控制器支持2 个 s r a m 通道。i x p 2 4 0 0 中的s r a m 控制器的地址总线为2 4b “,最大地址空间 为6 4 m b ,可支持多种规格的q d r 存:储设备,最高频率可达2 0 0 m h z 。s r a m 控制器支持一般数据读写操作、原子操作、以及对于对链表( l i n k e dl i s t ) 、环 缓冲区( r i n gb u f f e r ) 等复杂数据结构的操作,这使得它具有很强的适应性。 2 2 5d r a m 控制器 在i x p 2 4 0 0 网络处理器中,d r a m 控制器( d r a mc o n t r o l l e r ) 主要用 于接口d r a m 存储设备,控制和管理i x p 2 4 0 0 中的主控单元对d r a m 存储设 备的访问,如x s c a l e 单元、微引擎、p c im a s t e r 等。在i x p 2 4 0 0 中,d r a m 控 制器支持1 个d r a m 通道,存储器数据宽度为6 4b i t ( 当采用误码检测e c c 时, 数据宽度为7 2b i t ) ,最大地址空间为2 g 。d r a m 主要用于存储数据包、路由 表等大型数据结构。 存储器d r a m 、s r a m 、s c r a t c h 一起构成了i x p 2 4 0 0 的3 大存储资源。其 中,d r a m 的主要特点是存储空间大,但访问时延也比较大,主要用于大型数 据结构的存储;s r a m 的主要特点是访问时延较小,除了支持一般的数据读 写操作外,还集成了复杂的硬件结构支持原子操作,以及对链表( l i n k e dl i s t ) 、 环缓冲区( r i n gb u f f e r ) 等复杂数据络构的自动操作和管理。s r a m 主要用于 存储数据包描述符、环缓冲区、数据包发送队列( 链表的一种形式) 等数据结 构;s c r a t c h 是i x p 2 4 0 0 的片上存储单元,存储空间较小但访问速度快,主要用 于进程之间的通信。 将存储资源分为不同的类别,采用分布式的组织结构,针对网络数据处理 的不同方面的特点进行有效的处理,这种资源细分、分类处理、分布式处理的 思想也是网络处理器相对于通用处理器的优势之一。另外,将存储资源划分为 不同的类别也使得对于不同存储资源的访问操作可同时进行、并行处理,从而 提高了系统的数据处理能力。 d r a m 控制器位于主控单元与d r _ a k d 存储设备之间,负责控制、管理主 控单元对d r a m 存储设备的访问。d r a m 控制器通过c m db u s 、p u s hb u s 、 p u l lb u s 与1 x p 2 4 0 0 中的主控单元( 如微引擎、x s c a l e 单元、p c im a s t e r 等) 相 连,支持一个通道的d r a m 存储设备。d r _ a m 控制器使用c m db u s 接收来自 主控单元的存储器访问命令,使用p u s hb u s 将d r a m 中的数据推送到主控单 元,使用p u l lb u s 将主控单元中的数据拉入d r a m 存储设备。 d r a m 控制器有如下主要特征: 1 支持1 个d r a m 通道,d r a m 存储设备的数据宽度为6 4b i t ; 1 2 重压墅皇丕堂堡主堡壅蔓三童堕堑箜! 里堡笪佥 2 支持高达3 0 0 m t s ( 每秒3 0 0 兆次传输操! 作) 的d d r 存储设备; 3 支持容量为6 4 m b 、1 2 8 m b 、2 5 6 1 r i b 、5 12 m b 、1 g b 等不同规格自q 字储 设备。这些存储设备的数据宽度可以是8b i t 或1 6b i t : 4 所有支持存的储设备都有4 个b a n k : 5 支持交织( i n t e r l e a v i n g ) 操作,允许跨越相邻的b a n k 进行数据读写操 作,提高数据并行传输能力; 6 支持误码检测( e c c ) 功能。此时,d r a ! m 存储器的数据宽度为7 2b i t : 7 最大d r a m 存储空间为2 g b 。 微引擎、x s c a l e 单元、p c im a s t e r 等主控单元都可以通过d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论