(计算机系统结构专业论文)网络处理器中处理单元的设计与实现.pdf_第1页
(计算机系统结构专业论文)网络处理器中处理单元的设计与实现.pdf_第2页
(计算机系统结构专业论文)网络处理器中处理单元的设计与实现.pdf_第3页
(计算机系统结构专业论文)网络处理器中处理单元的设计与实现.pdf_第4页
(计算机系统结构专业论文)网络处理器中处理单元的设计与实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机系统结构专业论文)网络处理器中处理单元的设计与实现.pdf.pdf 免费下载

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

文档简介

中困科学院研究生院硕士学位论文一网络处理器中处理单元的设计与实现 摘要 随着网络带宽的增长以及各种应用不断涌现,网络处理器( n e t w o r kp r o c e s s o r ) 作 为一种采用并行可编程结构的解决方案,能够同时提供高性能和可编程能力,得到了越 来越多的重视和应用。网络处理器通常采用多个同时运行的可编程的处理单元 ( p r o c e s s i n ge l e m e n t ,p e ) 来取得极高的吞吐率和扩展升级能力。处理单元的微结构以 及它们的拓扑组织决定了网络处理器的性能,同时也很大程度上决定了网络处理器的编 程模型。本文主要研究了网络处理器中处理单元的设计和实现。通过对当前网络应用进 行分析,针对网络应用的特征和硬件资源的约束选择了多个处理单元进行并行多处理的 拓扑结构,设计了简洁的处理单元,并采用a s i p ( a p p l i c a t i o ns p e c i f i c i n s t r u c t i o n p r o c e s s o r ,专用指令集处理器) 流程进行了原型实现和验证。同时对f p g a ( f i e l d p r o g r a m m a b l eg a t ea r r a y ,现场可编程门阵列) 以及a s i 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 d c i r c u i t s ,专用集成电路) 实现的硬件开销进行了分析。最后采用部分针对网络处理器的 测试基准程序进行了初步的性能评估。 本文设计的处理单元有以下技术特点:1 ) 采用了m i p si ( m i c r o p r o c e s s o rw i t h o u t i n t e r l o c k e dp i p e l i n es t a g e s ,无互锁流水级微处理器) 指令集,针对网络处理需求进行了 裁剪,削减了部分硬件开销较大的算术逻辑运算指令以及功能部件,保持了处理单元的 简洁;2 ) 设计了类似于m i p sr 2 0 0 0 3 0 0 0 的5 级流水结构,实现了流水级互锁以及气 泡挤压等功能,方便了对长延迟操作进行扩展支持;3 ) 提出了一种共享指令存贮机制, 由多个处理单元共享全局多体交叉伪多端口和局部双端口,降低了冲突的概率,提高了 取指带宽:4 ) 加入了和m a c ( m e d i a a c c e s sc o n t r o l l e r ) 控制器、共享存贮池、s c r a t c h p a d 等部件的接口,增加了和其它处理单元进行通信同步的机制。 采用v e r i l o gh d l 完成r t l ( r e g i s t e r t r a n s f e rl e v e l ,寄存器传输级) 设计之后,我 们采用f p g a 进行了原型验证。单个处理单元在x i l i n x 的2 v p 3 0 平台上占用1 6 8 0 个4 输入l u t ( l o o k u pt a b l e ,查找表) ,运行频率为8 6 8m h z :采用4 个处理单元构成的 网络处理器原型占用3 0 0 万系统门的f p g a 上9 0 的逻辑资源,运行频率可达6 6 7m h z 。 同时我们还对a s i c 实现的开销进行了初步评估,采用u m c 1 趴m 标准单元库进行实 现,综合后频率可达3 5 0m h z ,占用面积为0 2 1 3m m 2 。在片上集成1 8 个这样的处理单 元即可提供o c 4 8 的处理能力,满足未来高速边沿汇聚的需求。 原型验证的结果表明我们提出的处理单元结构简洁,消耗硬件资源较少,同时能够 达到较高的运行频率,适合于采用大量处理单元的多处理结构,可以为高速的深度分组 处理提供充足的处理能力。 关键词:网络处理器,处理单元,流水线,微体系结构,性能评估 i 中闽科学院研究生院硕二l 学位论文一嘲络处理器中处理单元的设计与实现 d e s i g na n di m p l e m e n t a t i o no fp r o c e s s i n ge l e m e n ti nn e t w o r kp r o c e s s o r l ic h e n g ( c o m p u t e ra r c h i t e c t u r e ) d i r e c t e db yl ih u a w e i a l o n gw i t ht h er a p i di n c r e a s ei nn e t w o r kb a n d w i d t ha n dt h ee m e r g e n c eo fv a r i o u s i n n o v a t i v ea p p l i c a t i o n s ,t h en e t w o r kp r o c e s s o r , w h i c ha d a p t s m a s s i v e l yo n c h i pp a r a l l e l c o m p u t i n ga n dw i t hs o p h i s t i c a t e dp r o g r a m m a b i l i t y , i sd r a w i n gp e o p l e sa t t e n t i o na n dw i d e l y d e p l o y e db yi n d u s t r i e s n o w a d a y sm o s tn e t w o r kp r o c e s s o r sc o n s i s to fm u l t i p l ep r o g r a m m a b l e p e s ( p r o c e s s i n ge l e m e n t s ) w o r k i n gi np a r a l l e l t h em i c r o a r c h i t e c t u r ea n dt o p o l o g yo fp e s i g n i f i c a n t l yi m p a c to i lb o t ht h ep e r f o r m a n c ea n dt h ep r o g r a m m i n gm o d e lo ft h en e t w o r k p r o c e s s o r t h i sd i s s e r t a t i o nf o c u s e so nt h ed e s i g na n di m p l e m e n t a t i o no fp ei nn e t w o r k p r o c e s s o r b a s e do na n a l y s i so ft h en e t w o r ka p p l i c a t i o n s ,t h et r a i t so fv a r i o u sa p p l i c a t i o n sa r e a b s t r a c t e da n dm a p p e dt oh a r d w a r er e s o u r c e s w i t ht h o s ef e a t u r e sb e a t i n gi n m i n d ,t h e p a r a l l e lm u l t i - p r o c e s s i n gs c h e m e ,w h i c hc o n s i s t so fa r r a yo fp e s ,i ss e l e c t e da st h eu n d e r l y i n g a r c h i t e c t u r eo fo u rn e t w o r kp r o c e s s o r ac o n c i s ea n de f f i c i e n tp es t r u c t u r ei sd e v e l o p e d ,a n d s p e c i a l i z e df o r t h ea c t u a lr e q u i r e m e n t sa n dd e s i g nc o n s t r a i n t s w et a k et h ea s i p ( a p p l i c a t i o n s p e c i f i ci n s t r u c t i o np r o c e s s o r ) f l o wj np r o t o t y p ei m p l e m e n t a t i o na n dv e r i f i c a t i o n s e v e r a l b e n c h m a r k st h a tf e a t u r et h ep r o c e s s i n gi nn e t w o r ka p p l i c a t i o n sa r ea p p l i e do no u r p r o t o t y p e d e s i g n p e r f o r m a n c ee v a l u a t i o na n dh a r d w a r eb u d g e ta r ea l s od o n et h r o u g ha n a l y s i so fd a t a c o l l e c t e df r o ms i m u l a t i o na n di m p l e m e n t a t i o n t h ep ep r o p o s e di n t h i sd i s s e r t a t i o nh i g h l i g h t sf e a t u r e sa s f o l l o w s :1 1t 1 l em i p si ( m i c r o p r o c e s s o r w i t h o u ti n t e r l o c k e d p i p e l i n es t a g e s ) i n s t r u c t i o ns e ti sr e d u c e da n d c u s t o m i z e df o rn e t w o r k p r o c e s s i n g i nt h ed e s i g n ,w et r i m o f ! ft h e i n t e r r u p t e x c e p t i o n m e c h a n i s m ,c p o ( c o p r o c e s s o ro ) ,m m u ( m e m o r ym a n a g e m e n tu n i t ) a n ds o m ea l u ( a l g o r i t h m i ca n dl o g i cu n i t ) o p e r a t i o n si n v o l v i n gl a r g eo v e r h e a di n t i m i n g ,a r e a a n d c o m p l e x i t y 2 ) a ne f f i c i e n ta n ds c a l a b l ep i p e l i n ei sd e s i g n e dw i t h5p i p es t a g e s ,w h i c hm i m i c s t h es t r u c t u r eo fm i p sr 2 0 0 0 3 0 0 0 t oa i dt h ee x t e n s i o nf o ro p e r a t i o n sw i t hl o n gd e l a ya n dt o g a i nm o r ep e r f o r m a n c e ,w ea d di n t e r l o c ks i g n a l sa n db u b b l es q u a s hm e c h a n i s mt ot h ep i p e s t a g e s 3 ) as h a r e di n s t r u c t i o nm e m o r ys c h e m ei sp r o p o s e dw i t hg l o b a lm u l t i b a n k i n gp s e u d o m u l t i - p o r ta n dl o c a ld u a l p o r t ,t h ep r o b a b i l i t yo fc o l l i s i o ni sd r a m a t i c a l l yr e d u c e da n dt h e b a n d w i d t ho fi n s t r u c t i o ns t r e a mi sa s s u r e d 钔t h ei n t e r f a c e sw i t hm a c c o n t r o l l e r , s h a r e d m e m o r yp o o la n ds c r a t c hp a da r ei m p l e m e n t e dt oe n a b l eac o m p l e t ed e s i g n w ea l s od e v e l o p t h em e c h a n i s mo fc o m m u n i c a t i o na n ds y n c h r o n i z a t i o nb e t w e e np e st oe n a b l ee f f i c i e n tp a c k e t p r o c e s s i n g a f t e rm o d e l i n gt h ep ea n dp r o t o t y p en e t w o r kp r o c e s s o ri n i 玎l ( r e g i s t e rt r a n s f e r l e v e l ) u s i n gv e r i l o gh d lw ev e r i f yt h ed e s i g na n dd e m o n s t r a t et h ef e a s i b i l i t yo ft h e p r o p o s e da r c h i t e c t u r et h r o u g hf p g ap r o t o t y p i n g i nap l a t f o r mb u i l tw i t hx i l i n x2 v p 3 0 ,a s i n g l ep et a k e s1 6 8 04 - i n p u tl u t s ( l o o k u pt a b l e ) a n dc a nr u na t8 6 8m h z t h en e t w o r k p r o c e s s o rw i t h4p e st a k e s9 0 o ft h el o g i cr e s o u r c e si nt h ef p g aw i t hc a p a c i t yo f3m i l l i o n s y s t e mg a t e s ,a n di n n sa t6 6 7m h z w ea l s oe v a l u a t eo u rd e s i g nt h r o u g hp r e l i m i n a r ya s i c h 中国科学院研究生院硕i j 学位论文一网络处理器中处理单元的设汁与实现 i m p l e m e n t a t i o n w h e nu s i n gu m c 1 8 z ms t a n d a r dc e l ll i b r a r y , t h es i n g l ep e w i l lt a k ea n a r e ao f0 2 1 3m m 2a n dc a nr u na t3 5 0m h z ,w h i l et h el o g i cs y n t h e s i st o o lu s e di sd e s i g n c o m p i l e rf r o ms y n o p s y s 。w h e n1 8p e s a r ei n t e g r a t e di n t oan e t w o r kp r o c e s s o r , i tc a np r o v i d e e n o u g hp r o c e s s i n gp o w e rf o r o c - 4 8a n df u l f i l lt h e r e q u i r e m e n to fh i g h s p e e d t r a f f i c c o n v e r g e n c ea tt h ee d g e t h er e s u l t so fp r o t o t y p i n gs h o wt h a tt h ep r o p o s e dd e s i g ni sc o n c i s e ,w i t hl e s sh a r d w a r e r e s o u r c e s ,a n dc a nr e a c hh i g hf r e q u e n c y a tt h es a m et i m e t h es t r u c t u r ei ss u i t a b l ef o r m a s s i v e l yi n t e g r a t i o no nas i n g l ed i ea n dc a np r o v i d ee n o u g hp o w e rf o rh i g hs p e e da n dd e e p p a c k e ti n s p e c t i o n k e y w o r d s :n e t w o r k p r o c e s s o r , p r o c e s s i n ge l e m e n t ,p i p e l i n e ,m i c r o - a r c h i t e c t u r e , p e r f o r m a n c ee v a l u a t i o n 1 1 1 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致诩 的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均己在论文中作了明确的说明并表示了谢意。 作者签名:力獗 日期:嘭一6 f 6 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 作者虢力溉聊豁栅乍嗍少多厄,多 第一章哼f 者 第一章引言 随着半导体技术和光传输技术的发展,互联网络的带宽得到了极大的增长:而在带 宽的支持下,互联网上衍生出了各种新型的应用互联网中的路由交换设备要能够在提 供充足的带宽的同时为应用的各种需求提供支撑,针对不同的应用可进行从第二层到第 七层的分组处理,利用d i f f s e r v ( d i f f e r e n t i a t e ds e r v i c e s ,差别服务) 、i n t e s e r v ( i n t e g r a t e d s e r v i c e s ,集成服务) 等提供o o s ( q u a l i t yo f s e r v i c e ,服务质量) ,对服务进行保障。传 统的解决方案已经不能满足新的需求,近来出现的网络处理器提供了新的解决方案,得 到了学术界的广泛关注,并为工业界接受,已经成为第五代路由交换设备的核心。 随着集成电路工艺发展,特征尺寸不断缩小,线延迟逐渐成为主要因素,片上可提 供丰富的晶体管资源。在这种趋势的推动下,大多数网络处理器都采用了多个并行工作 的可编程处理单元作为系统的核心,为数据平面的深度分组处理提供计算资源并对协处 理器和外围部件进行协调,同时为应用开发人员提供编程配置的灵活性,因此它的实现 方式和性能以及开销的评估值得我们进行深入地研究。本文通过对应用需求的分析,采 用r i s c 核来实现处理单元,对设计的结构进行了性能分析和硬件开销评估,最后实现 了f p g a 原型并采用包含并行工作的多个处理单元的原型网络处理器进行设计的功能 和性能验证。 本章第一节介绍了网络处理器的应用背景,包括带宽驱动和应用驱动两个方面,同 时简述了采用网络处理器的解决方案:第二节简述了当前对网络处理器中处理单元的组 织方式和结构的研究现状;第三节介绍了本文的主要工作,包括处理单元的结构设计和 原型实现、并行多处理单元原型系统以及对系统的验证和性能分析等;第四节介绍了本 文的总体结构 1 1 研究背景 当前,互联网已经成为现代信息社会重要的基础,深入到社会生活的各个层面,例 如通信、娱乐、科研、新闻出版、商业、军事等等从最开始的原型a r p a n e t ( a d v a n c e d r e s e a r c hp r o i e c t sa g e n c yn e t w o r k ) 到今天的i n t e r n e t ,计算机网络的各个层面都经历了 极大的变化【l 】。底层的物理传输媒介已经从电话线发展到双绞线、光纤、无线接入等多 种方式;高层互联拓扑则从最初的简单互联变成了分成核心网络、边沿网络、接入网络 等三个层次的复杂结构1 2 】;网络协议逐渐从i p v 4 协议簇向i p v 6 过渡;网络上承载的应 用则更加广泛,已经从简单的e m a i l 、f t p 、w e b 等业务发展为诸如v o i p ( v o i c e - o v e r - i p , 语音i p ) ,v o d ( v i d e o - o n d e m a n d 。视频点播) 、p 2 p ( p e e r - t o - p e e r ,对等计算) 、v p n ( v i r t u a lp r i v a t en e t w o r k ,虚拟专用网) 、在线游戏等多种复杂的应用【3 】 虽然计算机网络各个方面变化非常巨大,但是其基本上还是由作为骨干核心的通信 ll 中周科学院研究生皖颂i :学位论文一纠结处理器中处理毕兀的设计与实现 予网和各种各样的终端设备构成。通信子网出通过数据链路连接的路由交换节点( 包括 核心骨干节点和边沿汇集、接入节点) 构成,主机( 或者其它设备) 则通过接入设备接 入到子网进行通信,可见各种高性能的路由交换设备仍然是支撑网络运行的核心。原有 的基于g p p 、a s i c 、f p g a 的解决方案针对基于存贮转发( s t o r e f o r w a r d ) 的i p 路由, 但是,基于以下两种因素的推动,这些方案已经不能同时满足灵活性、高性能、低成本、 短面市时间( t i m e t o - m a r k e t ) 等方面的需求f 4 1 。 1 1 1 带宽驱动 自互联网诞生以来其带宽一直按照吉德尔定律( g i l d e r sl a w ) 的速度飞速增长, 即带宽每6 个月就会翻一番,这个速度已经是处理器的计算能力增长速度( m o o r e s l a w ) 的三倍【5 】,如图1 1 所示。随着光传输技术的发展,特别是d w d m ( d e n s ew a v e 一“d i v i s i o n m u l t i p l e x i n g ,密集波分复用) 技术的采用,传输媒介能够提供的带宽已经不再 是制约网络速度和应用的因素。 虽然传输媒介能够提供极大的带宽,这并不意味着这样的带宽可以送到每个用户。 长期以来,网络设备和协议的发展一直为网络带宽所驱动( 例如a t m 等) ,但由于带宽 的增长速度远远超过处理能力的增长速度,带宽增长的瓶颈已经转移到路由交换设备 上以4 0 g b p s 的骨干网为例,假设全部传输最小的4 0 字节i p 分组( 这是因为互联网 流量的处理和通用计算不同,它必须保障最坏情况下的处理【6 】而不是平均情况的处理, 因为网络中突发和时滞的特性,短时的拥塞可能导致网络状况极度恶化) ,其分组速率 则为: 4 0 g b p s 。1 2 5m p p s ( m i l l i o np a c k e t sp e rs e c o n d ) 4 t ,8 如果对一个分组进行处理需要的指令数为5 0 0 条( i n g r e s s 端以及e g r e s s 端共计1 0 0 0 条,复杂的应用可能需要更多的处理) 【7 1 ,则进行全双工的处理需要的处理能力为: 1 2 5m p p s 5 0 0l n s t p a c k e t 2 1 2 5g i p s ( g i g ai n s t r u c t i o n sp e r s e c o n d ) 而当前g p p 最高性能不超过2 0 g 1 p s ,并且g p p 的通用结构并未针对网络应用的特 点进行优化,因此带宽增长的需求远远超出了g p p 的处理能力而采用多个处理部件 ( 如d s m ) 的形式则会导致成本增加,同时更多的功耗将造成散热的问题。在当前核 心网络逐渐转向处理相对规则简单的m p l s ( m u l t i p r o t o c o ll a b e ls w i t c h i n g ,多协议标 签交换) 的趋势下,专用的a s i c 可以满足高吞吐率方面的需求,但在开发成本以及灵 活性上比较欠缺同时核心网络的简化必然要求边沿和汇聚层承担更多的复杂功能【8 】, 例如路由查找更新、标记分发,流量工程、拥塞控制等等。总的来说,高带宽一方面本 身需要更高的处理能力,另一方面它使得边沿汇聚的处理变得更加复杂,从而驱使我们 寻找更好的解决方案。 2 第一章0 i 苦 1 0 0 0 0 1 0 0 0 1 0 0 l o l g i l d e r 定律和h o o r e 定律的比较 ,一 。 尹。 2 0 0 02 0 0 42 0 0 82 0 1 2 2 0 1 6 + 网络带宽的增艮 速度( 6 b p s ) + 微处理器的增长 速度( g f l o p s ) 图i ig i l d e r 定律和m o o r e 定律的比较 1 1 2 应用驱动 如前所述,当前随着互联网的发展,互联网上的业务的种类多样、处理复杂。另外 运营语音业务的传统电信网络以及运营广播电视的有线网络逐渐将和互联网融合【9 】,而 这三种网络上承载的服务具备不同的特征,例如数据传输要求具有较高的带宽;而语音 业务则要求延迟小,稳定可靠,但是对带宽要求较低;视频应用则同时要求很高的带宽 和实时性,但对错误容忍能力较强。这些具有不同特点的应用对网络接入提出了不同的 要求,而运营商更希望能够向用户提供多样化和定制的增值服务,因此当前网络技术的 发展已经从带宽驱动为主转向应用驱动为主。 为了对这些应用提供有效的支持,子网中路由交换节点除了需要进行路由查找维 护、分组转发、信令维护、网络管理等之外,还需要提供业务整形、o o s ,加密解密、 安全处理等,这些就需要对分组进行深度的处理,即不仅需要检查分组的头部( 包括口 头以及t c p 头,在i p t u n n d 中还可能存在多层的头部) ,还需要检查分组的负载,这就 大大的增加了处理的复杂度在当前大量的应用中,o o s 具有非常重要的地位,为特定 的应用提供具有限定延迟、可保证带宽的服务是大量应用得以实现的基础 1 0 1 。 随着网络的发展,网络分成接入、边沿和核心三个层次,在不同的层次针对应用侧 重的处理也不同。在吞吐率较低但是接入协议种类很多的接入网络,主要进行对多种接 入协议的处理,常见的包括a d s l 、d n n 、x 2 5 、c a b l em o d e m 、i s d n 、8 0 2 1 l x 等, 因而要求可以灵活编程处理各种各样的协议,同时由于部署广泛要求成本要低。边沿网 络将接入的通信流量进行汇集,必须具有较高的性能;同时针对应用的需求提供流量整 形、o o s 等,在m p l s 网络中还需要在边沿进行标签的查找、分配以及信息维护工作, 因此也要求具有很高的灵活性核心网络处理则主要进行高速的路由交换,并根据边沿 耗聚处理做出的决策进行流量控制 从上面的分析可以看出,一方面网络应用的多样化要求路由交换设备能够提供各种 定制的服务、易于扩展,从而对新生的各种应用和协议提供支持;另一方面网络本身结 中国科学院研究生院碗i :学位论文一h 络处理器中处理单元的设计与实现 构的变化也使得各种路由交换节点扮演着不同的角色,需要有更加灵活的解决方案,从 而方便网络部署。综合1 1 1 中的分析,我们可以看到g p p 和f p g a 具有很好的灵活性 和可配置能力,为支持多种应用延长t i m ( t i m e - i n m a r k e t ,在市时间) 提供了较好的 解决方案,它们都可方便的进行配置和扩展,但是性能却不能满足新的要求:a s l c 的 解决方案包括路由转发的芯片和各种专用的协处理器,例如分类处理器、查找引擎、安 全协处理器等,它们对各种特定应用提供了高性能的支持,但是缺乏扩展能力以及统一 集成的解决方案,因此应用的驱动也和带宽驱动一起催生着新的解决方案这就是网 络处理器。 1 1 3 网络处理器的解决方案 网络处理器是一种专门针对网络应用的可编程器件,对前述两方面的需求给出了很,m 一 一- 好的解决方案。网络处理器通常运行微码程序以及采用专门的运算部件和协处理部件进 行处理,因此它将r l s c 处理器的低成本和灵活性以及a s i ( 2 的高性能和可扩展性结合 在一起【1 l 】,既能够适应不断变化的协议和应用需求,也能够灵活扩展以提供不同的处 理能力。 当前工业界的网络处理器结构多样,用途广泛,应用范围既包括核心骨干网络,也 涵盖了终端的嵌入式应用;既可以是提供某种特定功能的部件( 如流量整形、防火墙处 理等) 或协议处理器【6 9 】,也可以是提供完备功能的主要核心;其规模可以是简单定制 过的微控制器,也可以是包含上千万门的s o c 本文将研究对象限定为能提供边沿汇聚 网络处理能力同时具有较好扩展性的网络处理器,因为在边沿网络更能够充分的利用网 络处理器的灵活性和高性能相结合的特点【8 】。下面如不特殊说明,网络处理器一词均特 定指用于这一层次的网络处理器。 完整的网络处理器解决方案还包括集成的开发环境以及专用编程语言的支持。通用 计算中的过程化或者面向对象的编程范式( p r o g r a m m i n gp a r a d i g m ) 不能很好的贴近网 络的处理。为了能够有效的利用网络处理器提供的处理能力,必须要有合适的编程模型。 网络处理器中通常的编程模型有1 1 2 】:基于库的,例如c l i c k 和t e j a :基于专用语言的( 包 括d e c l a r a t i v e 和i m p e r a t i v e 两种类型) ,例如a g e r e 的p s l ;基于动态任务调度的,例 如c a l i s t o 等。一般的来说,基于库的编程模型方便使用开发,但是一旦硬件平台有了 变化,那么所有的库都需要重新建立,所开发的软件移植的时候都需要重新链接,移植 性、跨平台性能较差;基于专用语言的编程模型如果抽象级别太高,则容易降低性能, 如果暴露太多细节则会给应用开发造成困难;基于硬件动态调度的编程模型向编程者掩 盖了细节,对开发人员透明,但是需要额外的硬件开销 当前的网络处理器一般采用并发多处理的结构,其核心由多个处理单元构成【1 3 1 。 这些处理单元通过微码的执行对分组进行深度处理,同时配合其它各种专用的部件,例 如校验和处理、队列管理、存贮管理、信号量管理等等。采用并发多处理的结构一方面 4 : i 第一章弓i 者 是可以有效利用分组处理本身具有的并发特性,提高吞吐率;另一方面则是因为随着半 导体工艺的发展,在超深亚微米工艺( v d s m ,v e r yd e e ps u b - m i c r o n ,即小于o m m ) 下,线延迟逐渐成为主要因素,延迟大、串扰严重的全局互连线难于处理,同时集成度 的提高使得片上可提供丰富的晶体管资源,这种形势下多核的分布式结构具有更佳的扩 展性 1 4 1 ,同时多核的重复结构可以有效降低验证丌发的复杂度。另外在当前存贮器的 访问速度远远低于处理器内核运行速度的情况下,为了对存贮访问的延迟进行隐藏,很 多处理单元的实现采用了多线程的结构。 1 2 研究现状 自从网络处理器这种新颖的解决方案提出以来,学术界和工业界都给予了广泛的关 注。计算机体系结构的顶尖会议i s c a ( i n t e r n a t i o n a ls y m p o s i u mo nc o m p u t e r a r c h i t e c t u r e ) 和h p c a ( h i 。g hp e r f o r m a n c ec o m p u t e ra r c h i t e c t u r e ) 分别都设立的专门的 w o r k s h o p 1 5 2 0 1 ,对网络处理器的体系结构【2 1 】、编程模型1 2 2 1 、应用模式和优化 2 3 1 、 性能评估 2 4 1 、功耗分析 2 5 1 、仿真环境f 2 6 】等方面进行了广泛深入的研究。i e e em i c r o 也紧跟这一热点出版了专刊 2 7 1 对网络处理器这一新兴的技术进行讨论。在工业界方面, i b m 、i n t e l 、f r e e s c a l e ( 原m o t o r o l a 半导体部门) 、a g e r e ( 原l e c e n t 半导体部门) 、e z c h i p 等公司都推出了各自的网络处理器【9 2 8 - 3 2 ,同时也为网络处理器的应用开发环境提供 了解决方案。在 3 3 1 e pn i m j 对网络处理器已有的各种结构进行了描述和分析比较。 虽然网络处理器已经在工业界得到广泛地接受,应用在c i s c o1 0 0 0 0 、华为n e 8 0 、 华为n e 5 0 0 0 、j u n i p e r s s g 5 0 0 等接入、边沿以及核心路由器以及防火墙上,但是在 3 3 】 中提到的数十家初创公司中的许多已经和它们各自雄心勃勃的技术方案一起消失了尽 管如此,【3 4 e e 还是对网络处理器的前景给出了乐观的预期,认为随着应用的进一步成 熟以及开发环境的完善,网络处理器的市场将进入稳步发展阶段。 而对网络处理器中处理单元的研究,基本上可以分成两个层面来看。一方面是处理 单元和网络处理器中其它部件之问的关系,包括协作方式、联结方式、功能分配等等; 另一方面则是处理单元本身采用何种结构,实现何种功能下面就这两方面的介绍当前 的研究状况以及工业界的实现方式。 1 2 1 处理单元的拓扑 网络处理器中包含大量的处理单元并不仅仅是硬件资源的简单重复,如何对这些处 理单元进行组织会极大的影响网络处理器的性能以及相应的编程模型【1 2 】通常的组织 方式包括多处理模式( p o o lm o d e l ) 【9 】、流水线模式( p i p e l i n em o d e l ) 1 2 9 以及两者结 合的杂化模式( h y b r i dm o d e l ) 1 3 5 。 处理单元的拓扑结构以及和其它部件的交互关系很大程度上取决于分组处理的模 式设计处理单元的组织方式实际上就是将网络处理的模式向硬件结构进行映射的过 5 中田科学院研究生院顾i 学位论文一州络处理器中处理荦兀的设计崎实现 程当i j 有各种模型来描述分组处理的过程,并将它们映射到不同的硬件结构上,例如 f 2 1 中采用a d a g ( a n n o t a t e dd i r e c t e da c y c l i cg r a p h ,带标注的有向无环图) 来描述应 用的动态行为,包括片上通信以及片外的访存行为,向硬件的映射过程实际上代表了一 种拓扑排序的过程:【1 2 】中采用到达服务曲线和任务模型对各种拓扑配置进行了比较, 同时对可编程性以及可扩展性进行了分析,表明多处理的模式通常具有更高的性能,但, 流水模式具有更高的硬件效率;【3 6 q a 采用事件模型描述网络处理中各种运算和操作, 进而映射到硬件资源。 另外,在通用处理器领域中新近c m p ( c h i pm u l t i p r o c e s s i n g ,片上多处理) 的结 构的发展也可以为我们所借鉴,典型的包括s t a n f o r d 的i m a g i n e 3 7 l 、m i t 的鼢, w 8 0 l 、 u n i v o ft e x a sa ta u s t i n 的t r i p s 3 8 1 结构。这些结构都属于片上多个处理单元并发处理 的结构。而专门用于片上i p 互联的n o c ( n e t w o r k - o n c h i p ) 则存在更多的变化方式, 、 。选用合适的变化方式取决于很多因素,包括延迟、功耗、面积以及效率等等。 1 - 2 - 2 处理单元的结构 由于网络处理器利用多个处理单元并行工作来提供强大的处理能力,因此作为网络 处理器核心的处理单元的实现必须高效、简单。一方面处理单元的面积和功耗需要尽量 的减小,从而才能在集成多个处理单元的时候整体仍然满足面积和功耗的约束:另一方 面处理单元应该针对网络应用的特征提供丰富的操作和较高的频率,从而提供较好的综 合性能。处理单元的实现方式一般可以分成基于r i s c 核、v l i w ( v e r yl o n gi n s t r u c t i o n w o r d ,超长指令字) 核以及数据流处理( d a t a f l o wp r o c e s s i n g ) 等三种类型。 1 。基于r i s c 核。这是目前使用的最为广泛的一种方式,包括p o w e r n p 9 、i x p l x x x 2 x r a 2 9 1 系列、m o t o r o l ac 3 e c 5 e 3 9 等等其中的r i s c 核既有复杂的多 发射超标量结构,也有简单的单发射多周期流水线结构 2 基于v u w 核v u w 结构和超标量结构一样,目标是为了歼发尽量多的i l p ( i n s t r u c t i o nl e v e lp a r a l l e l i s ,指令级并行性) ,但是和超标量的动态开发不同, v l i w 采用编译器进行静态的挖掘,具有低功耗、低复杂度等优点采用这种 结构的包括a g e r ep a y l o a d p l u s 3 1 、c i s c op x f 4 0 等 3 基于数据流处理。数据流处理的思想是所有的计算仅仅依赖于所需要的数据是 否已经准备好。这种模式和传统的顺序编程模型不一样,它不需要显式的控制 流,功能部件接收到数据后对该数据的标签进行检查,确定有效就马上进行处 理1 4 1 。由于和传统的编程模型相差太大,采用这种模式的产品并不多,x e l e r a t e d 的x 1 1 x 1 0 q 【4 2 】是其中一种 原来很多的网络处理器解决方案倾向于搭配很多专门为特定处理优化的异构的协处 理单元,典型的如i b m 的p o w e r n p ,各种协处理器多达十几个,但是这种方式难于使 6 f 第一章哼l 言 用,需要开发人员对这些协处理器的结构和特性非常熟悉以及很大程度依赖于p r o f i l e 工具和编译工具的智能。当前随着片上资源的增加,完全采用多个通用的处理单元逐渐 受到了欢迎,例如b r o a d c o m 的b c m l 4 8 0 【4 3 】包含4 个超标量4 发射的m i p s 6 4 t m , 而r a z am i c r o e l e c t r o n i c s ,l n c 的x l r 4 4 系列中包含了8 个m i p s 6 4 t m 核。 1 3 本文的主要工作 鉴于网络处理器的重要作用以及处理单元在网络处理器当中的核心地位,本文在 8 6 3 项目“并发多线程可重构全程通用网络处理器设计”的支持下,对网络处理器中处 理单元的结构设计、开销和性能评估等进行了较深入地研究并进行了f p g a 原型的实 现。 1 3 1 设计实现处理单元原型 我们采用r i s c 核来实现处理单元的原型。实现的指令为m 1 p si 中的4 4 条指令, 一方面的原因是m i p s 是最典型的r i s c 指令集,其设计得到了广泛的应用和验证,多 个实际的网络处理器都采用了m i p s 指令集,另一方面的原因是具有较完善的开发环境, 包括工具链以及各种库,从而使得应用开发更为容易该处理单元类似于m i p s r 2 0 0 0 3 0 0 0 的结构;削减了中断例外处理、c p 0 、m m u

温馨提示

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

评论

0/150

提交评论