(微电子学与固体电子学专业论文)网络处理器高带宽数据总线接口性能评估研究.pdf_第1页
(微电子学与固体电子学专业论文)网络处理器高带宽数据总线接口性能评估研究.pdf_第2页
(微电子学与固体电子学专业论文)网络处理器高带宽数据总线接口性能评估研究.pdf_第3页
(微电子学与固体电子学专业论文)网络处理器高带宽数据总线接口性能评估研究.pdf_第4页
(微电子学与固体电子学专业论文)网络处理器高带宽数据总线接口性能评估研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(微电子学与固体电子学专业论文)网络处理器高带宽数据总线接口性能评估研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着数据通信和集成电路技术的飞速发展,出现了专用于大流量、复杂业务 网络应用领域的高性能网络处理器,它用来增强网络分组、转发能力,减轻网络 设备处理负担,从而达到提高处理和传输数据速率,满足带宽需求的目的。网络 处理器的数据传输质量主要受到与外部网络设备相连的总线接口性能的影响。 尽管总线的功能和用途大致相同,但是内部结构和实现机制却是多种多样。 本文力图找到一种客观可靠的评估方法,对交换总线的性能进行测评,也对现有 系统方案的缺陷进行改进。 本文通过分析网络处理器高带宽数据总线接口特性,提出了正确评估总线接 口需要关注以太网与网络处理器两者性能对总线的影响,并对传统单一评估手段 进行了选择和融合,采用基于模型和基于仿真相结合的办法进行总线评估。其中, 以模型为基础的评估应用冲突模型c s m a c d 、二进制指数回退算法、m m 1 排 队模型、吞吐量分析算法和介质利用率模型构造以太网的延时、负载、吞吐量、 利用率等方面的性能参数变化。以仿真为基础的评估考察了接收、发送溢出情况 下,u n b o u n d e d 理想状态下和数据帧从6 4 b 到1 5 1 8 b 不同帧长对总线工作的影响。 结果,总线接口的性能参数在网络处理器正常工作状态下,随着以太网网络发生 动态变化,此变化的范围和规律符合以太网动态趋势,说明本总线接1 2 1 满足网络 处理器用于以太网数据处理的延迟、转发速率、吞吐量、利用率等参数要求,同 时此种基于模型的评估和基于仿真的评估也相互印证了方案的可行性和可靠性。 关键词:网络处理器交换总线以太网模型性能评估 a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n ti n t e c h n o l o g y o fi n t e g r a t e dc i r c u i ta n dd a t a c o m m u n i c a t i o n ,n e t w o r kp r o c e s s o rw h i c hd e v e l o p e du n d e rt h el a r g ef l o wa n d c o m p l e xb u s i n e s so fn e t w o r ka p p l i c a t i o n , i sah i g hp e r f o r m a n c ep r o c e s s o r i ti s d e d i c a t e dt oe n h a n c et h ec a p a c i t yo fn e t w o r kp a c k e ta n dt r a n s f e rd a t aa n da l l e v i a t e s t h eb u r d e no fn e t w o r ke q u i p m e n td e a lw i t hd a t a f u r t h e r m o r e ,i ti m p r o v e st h e p r o c e s s i n ga n dt r a n s m i s s i o nd a t ar a t ea n dm e e t st h eb a n d w i d t hd e m a n d t h eb u s , w h o s ep e r f o r m a n c e sa f f e c tt h eq u a l i t yo fn e t w o r kp r o c e s s o rd a t at r a n s m i s s i o n , c o n n e c t e dt h en e t w o r kp r o c e s s o rt oe x t e r n a ld e v i c e s t h ef u n c t i o na n dr o l eo ft h eb u sa r em o r eo rl e s st h es a n l e ,b u tt h e i ri n t e m a l s t r u c t u r ea n dr e a l i z a t i o nm e c h a n i s ma r ev a r i o u s t h i sp a p e rt r i e st of i n dam e t h o dt o e v a l u a t et h ee x c h a n g eb u so b j e c t i v e l ya n dr e l i a b i l i t y ,w h i l ei m p r o v e st h ed e f i c i e n c i e s i nt h ee x i s t i n gs y s t e m b ya n a l y z i n gt h ef e a t u r e so ft h eh i g h b a n d w i d t hd a t ab u si n t e r f a c e ,t h i sp a p e r p r o p o s e st h a tc o r r e c ta s s e s s m e n to fb u si n t e r f a c en e e dt op a ya t t e n t i o nt ob o t he t h e r n e t a n dn e t w o r kp r o c e s s o rp e r f o r m a n c ew h i c hi m p a c to ni t i ta l s os e l e c t sa n di n t e g r a t e s t h et r a d i t i o n a ls i n g l ea s s e s s m e n t ,c o m b i n e st h em o d e l b a s e da n ds i m u l a t i o n b a s e d a p p r o a c h e st oa s s e s st h eb u sp e r f o r m a n c e t h a ti s ,m o d e l b a s e da s s e s s m e n tb u i l dt h e e t h e r n e t p e r f o r m a n c ep a r a m e t e r v a r i a b l e r a n g e i n d e l a y ,l o a d ,t h r o u g h p u t , u t i l i z a t i o nr a t eb yt h ec s m a c dc o n f l i c tm o d e l ,b i n a r ye x p o n e n t i a lb a c k o f f a l g o r i t h m ,m m 1q u e u i n gm o d e l ,t h r o u g h p u ta n a l y s i sa l g o r i t h m sa n dm e d i u m u t i l i z a t i o nm o d e l s i m u l a t i o n b a s e da s s e s s m e n ts t u d i e st h a tt h ed a t ab u sw o r k su n d e r r e c e i v eo v e r f l o ws t a t e ,s e n do v e r f l o ws t a t e ,u n b o u n d e di d e a ls t a t ea n df r a m el e n g t h f r o m6 4 bt o1518 bs t a t e i na d d i t i o n ,t h eb u si n t e r f a c ep e r f o r m a n c ep a r a m e t e r si nl i n e 、柝t l lt h ee t h e r n e td y n a m i cs c o p ea n dt r e n da tt h en e t w o r kp r o c e s s o ri nn o r m a ls t a t u s i t s h o w st h a tt h eb u ss a t i s f i e dt h er e q u i r e m e n t sa sd e l a y ,l o a d ,t h r o u g h p u t ,u t i l i z a t i o nr a t e e t ci nt h ee t h e m e t s o ,m o d e l - b a s e da s s e s s m e n ta n ds i m u l a t i o n - b a s e da s s e s s m e n t p r o v et h ef e a s i b i l i t ya n dr e l i a b i l i t yb ye a c ho t h e r k e y w o r d s :n e t w o r kp r o c e s s o re x c h a n g eb u s e t h e r n e tm o d e l p e r f o r m a n c ee v a l u a t i o n 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特j | l , j ) j t l 以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果:也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名: 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 本人签名:雄迄一 日期哩:! :! ! , i l 导师签名:二亏翕莎纱日期j 2 7 巴厶名 第一章绪论 第一章绪论 随着半导体技术和光纤传输技术的发展,网络的带宽得到了极大的增长,在 带宽的支持下,网络上衍生出了各种新型的应用。网络中的路由交换设备要能够 在提供充足带宽的同时为应用的各种需求提供支撑,针对不同的应用可进行从第 二层到第七层的分组处理。传统的解决方案已经不能满足新的需求,网络处理器 ( n p ,n e t w o r kp r o c e s s o r ) 的出现为解决高带宽下的服务提供了新的办法,得到 了学术界广泛的关注,被工业界所接受,逐渐成为第六代交换设备的核心f l j 。 1 1 课题背景及意义 集成电路工艺尺寸持续缩小,促使片的性能和集成度按m o o r e 定律每1 8 个月 翻一番迅速提高,如图1 1 所利1 1 。 , 广一一 8 m ”penaum。ium,肜penaum im 8 c! ! l 。, 囊n 克 8 0 8 0 18 0 8 6 ll o ;i; ;i; 图l 。li n t e l 公司c p u 性能增长曲线图 随着集成电路工艺的进步,多核技术为集成电路设计带来了巨大机遇。多核 s o c 综合利用了多处理器的数据并行处理能力以及高度集成能力,在当前高性能 嵌入式系统中获得广泛应用。网络处理器就是在此背景下提出的一种专用于网络 的,并行可编程结构高性能多核处理器。它目标就是增强网络分组、转发能力, 减轻网络设备处理数据负担,从而达到提高处理和传输数据速率的目的。 在集成电路多核技术的发展下,网络系统处理数据速率的高速增长带来了更 多的带宽要求,不论是因特网还是电信通信网,其带宽都呈爆炸性增长:在因特 网方面,计算机的处理速度迅猛增长,相比之下网络的传输速率增长缓慢,因此 网络的传输速率就成为计算机网络的瓶颈,基于通用处理器的软件路由器已无法 奄cooo西ioco一-o:1-西cco= 2 网络处理器高带宽数据总线接口性能评估研究 满足高性能的包转发处理,我们需要寻求支持更高数据带宽的传输技术;在通信 网方面,各国移动通信发展迅猛,第三代移动通信正在成为新的通信主题,它与 第二代移动通信相比,除了基本的话音功能外,最主要的变化是支持强大多媒体 业务( 包括网页浏览、视频浏览、高速下载等) 的接入处理能力,因此如何在3 g 系统中提供高速的数据处理能力及新业务支持能力,是其必须解决的关键技术【3 j 。 高带宽传输是对网络处理器提出的新要求。网络处理器需要在能够满足处理 速率和带宽需求的情况下为各种网络应用提供更多的支持和服务。于是,高数据 带宽的传输技术就落在了连接着和负担着网络处理器与外部设备进行数据交换的 总线接口上。 近年来系统处理能力不断提升,作为芯片与传输信道之间的通信接口也在不 断进步,然而前进的速度仍然落后于芯片处理的发展,逐渐成为制约高速系统性 能的重要因素。所以总线接口是网络处理器中一个结构关键点,总线接口的进步 能够加快网络处理器外部通信的速度和质量。由于网络处理器高带宽数据总线接 口的发展具有重要的现实意义,因此对其的性能评估也就有了更深层的含义。对 总线接口进行性能评估是判定一个总线架构是否合理,时序是否正确,性能是否 达到预期目标,能否准确完成数据交换的基本手段p j 。 1 2 片上总线技术简介 系统芯片的出现给微电子产业带来许多激动人心的机会,但是它的诞生也迫 使传统a s i c 设计技术更新发展。原来的设计技术己无法解决s o c 设计过程中产 生的问题,s o c 庞大的设计规模使得设计者必须采用可复用的i p 核,众多i p 核 相互作用共同实现系统功能,这样必然要求在各i p 核之间存在某种数据交互协议 以及数据交互的通道,如何保证s o c 中各i p 模块通讯的正确进行,如何使系统 性能满足应用的需要,如何更方便的集成i p 核,所有这些问题都是该领域亟待解 决的课题【1 引。 1 2 1 片上总线的发展 在片上总线问世之前,总线主要是指板级的系统总线和处理器的内部总线【4 】。 板级总线技术的关键问题是如何在正确协调各功能单元的前提下,更少的占 用p c b 板的面积,同时传统的板级系统总线为了支持插接技术,大都采用三态控 制信号和多路选择信号。 在系统芯片中,信号的走线仅会影响晶圆面积,而不会影响封装大小及p c b 板上的连接关系。逻辑综合工具的能力直接影响芯片的设计时间和性能,但是综 合工具很难处理三态总线信号【4 】。同样在做静态时序分析中,三态总线的处理也 不理想,唯一验证其时序的方法就是利用电路级的仿真器,如s p i c e 。 第一章绪论 3 传统的c p u 和d s p 本身也具有复杂的、独特的处理器内部总线结构,但是 它们缺乏直接集成的能力,更没有集成i p 核的接口标准【4 】。处理器内部总线结构 仅是为了连接各个寄存器及a l u ,或者是为不同的功能模块提供一条信息通路, 而不具备主动协调各模块之间动作的功能。总线上的设备仅是某些确定的功能模 块,设计总线结构时只需按照各功能模块之间确定的信息交互模式即可,即系统 或功能单元决定总线结构1 4 j 。 s o c 的设计技术要求其总线结构应该可以连接不同的i p 核。只要符合总线协 议的i p 核都可以直接挂在该总线结构上,i p 核之间的通信都通过总线结构来完 成,不存在i p 核与i p 核之间的信号匹配问题,真正实现了i p 核的“即插即用”, 所以设计一个标准的总线结构是s o c 中的总线设计技术的核心【4 】。 可以看出片上总线有别于板级系统和处理器内部总线,因为它所面对的是不 同接口的i p 核,承载的信息也是高速数据流,实现的工艺是深亚微米1 4 j 。 1 2 2 片上总线的结构 片上总线的结构经过了点对点连接,基于总线的互连和基于分组交换网网络 的互连等多个发展阶段。如图1 2 所示。 点对点连接 基于总线的互连 基于分组交换网络的互连 图1 2 片上总线发展图 点对点连接( p o i n tt op o i n tc o n n e c t i o n ) 方式将导致片上每个i p 核的管脚量加 大、面积增长以及不可预测的信号延迟和信号质量等问题【1 2 】。再加上,点对点连 接的系统可知性很差,导致大量连线资源的浪费,并且其中的任何部分都不可重 用【1 2 】。 基于总线的互连( b u sb a s e di m e r c o n n e c t i o n ) 是目前s o c 设计中最常用的,通 过对总线结构的时分复用,可以减少各个i p 核的管脚,简化连线。多重和层次化 的总线架构,给片上众多的i p 核提供了高效、高性能的通讯方式,而且与点对点 连接方式相比,总线方式具有更好的可升级性和其它性能l l 2 。 因特网的成功以及其良好的可扩展性促使芯片设计者将计算机网络体系结构 中基于路由的网络和基于分组交换的通讯等概念引入到s o c 和片上多处理器的系 4 网络处理器高带宽数据总线接v i 性能评估研究 统设计【1 2 。基于分组交换的通讯除了能够提供理论上的无限扩展性之外,还能为 通讯构架的重用和标准化提供了可能。这些特性对芯片设计者而言,在缩短设计 周期,加快新产品的面世方面,无疑具有十分关键的作用【”】。 1 2 3 片上总线的分类 总线接口是指系统内部各模块间及系统与系统问信号传递和交互的公共通 路,通过一组信号线的集合( 即总线) 以及相应的通信协议,来完成相互之间的 信息通信。通信接v i 按不同的方法可以分成不同的种类,通常可以按接口的应用 范围及体系结构来划分i ”】。 图1 3 片内总线接口和局部总线接口 按接口的不同应用范围和功能,片上总线可以分为:片内总线接口和局部总 线接口。如图1 3 所示1 1 3 】。 片内总线接口:在集成电路芯片内部,用来连接各功能单元的信息通路,如 s o c 中的a m b a 总线,连接a r m 和其他单元之间的信息通道。 局部总线接口:在印刷电路p c b 板上,用来连接各芯片之间的通信总线接口, 如c p u 与南北桥芯片之间的通信总线接口i b j 。 按接口的体系架构不同来划分,片上总线可以分为:并行共享总线接口,并 行交换总线接v i ,串行共享总线接口和串行交换总线接口【1 3 】。 并行共享总线接口:时钟数据同步传输,接收端来根据同步时钟接收多路数 据,多个接口共用一条总线,p c i 是最典型的代表i l 3 。 并行交换总线接v i :时钟数据同步传输,接收端根据同步的时钟来接收多路数 据,两个接1 2 1 通过专用的总线进行通信,h y p e rt r a n s p o r t 是并行交换总线中一种 很先进的形式1 1 3 j 。 串行共享总线接1 3 :时钟内嵌在数据流中,通过单一的数据信道传输方式,多 个接口共用一条总线。但是串行共享总线并不能很好的满足未来高带宽,高吞吐 第一章绪论 率,高效率的i 0 接口【1 3 】。 串行交换总线接口:时钟内嵌在数据流中,通过单一的数据信道传输方式, 两个接口通过专用的总线进行通信,p c i e x p r e s s 是最新的总线模式1 3 1 。 1 3 片上总线性能评估 一个完整的网络处理器是由硬件系统和软件系统所构成的整体,而硬件性能 的好坏对于网络处理器的整个性能来说起着非常关键的作用,这也是进行性能检 测的主要原因。不同的应用对网络处理器性能多方面的敏感度往往不同。而当今 各种应用附带的总线种类繁多,各总线组织对其总线特性又各执一词,由于尚无 总线性能评估指标,很难合理地对各种总线的若干关键性能进行有效地评估,从 而阻碍了总线的理论基础研究和产品开发i l 川。对总线接口性能的评估是网络处理 器测评中的重要部分之一,总线接口的性能直接关系着网络处理器对数据传输的 质量和高带宽要求的提供。 评估模型的建立基于网络处理器开发平台及嵌入式i p 核测试芯片的功能平 台,在各种物理条件上更接近于芯片未来实际运行环境,是目前对于复杂s o c 软 硬件设计、调试、模块及系统功能和性能测试的有效手段【l3 1 。现今大多是用评估 模型和评估软件对总线接口的吞吐量,传输速率,丢包率等特性进行测评。 1 4 课题研究内容 本文以研究项目网络处理器为背景,附着于其特有的总线接口单元的结构及 通信方式,重点研究网络处理器高带宽数据总线接口测试评估技术。 网络处理器是一种可以应用于路由器,交换机等网络设备的核心数据处理芯 片,应用网络处理器后可以大大减少网络设备的数据处理压力和总线上的业务量, 轻松实现分组转发。此类系统中,接口卡型的网络处理器仅发送信息包的报头, 通过交换结构送至其中一个转发引擎,由它做出转发决定,并将处理结果返回接 口卡,接口卡再将信息包转发至相应的输出接口i l3 。 本文主要研究以路由器版本4 为基础的网络处理器内核中数据总线接口的特 性,从分析总线通信的实时性、稳定性的要求出发,建立了总线工作环境中以太 网的传送延时模型、介质利用率模型和吞吐量模型。在网络处理器正常工作和以 太网符合建模情况下,对网络性能评估参数进行辨析与界定,对数据总线的性能 做出预测,使用软件手段验证结果是否与预测一致,给出分析网络处理器总线接 口特性的一般方法,并且检测本评估方案是否达到目的。 6 网络处理器高带宽数据总线接口性能评估研究 1 5 论文的组织结构和章节安排 本文的研究重点是网络处理器高带宽数据总线的性能评估方法。本文提出了 选择和融合传统单一评估手段,采用基于模型的评估和基于仿真的评估相结合的 方案对总线进行测评。它结合了计算机体系结构,s o c 设计方法学,总线收发原 理等方面的内容;根据这些内容的特点,论文的组织安排如下: 第一章:绪论。本章分析了网络处理器做为一种解决数据处理、传输,带宽 增加的方案产生的专用网络多核芯片,其中影响芯片数据传输性能的是总线接口。 简述了总线的技术发展演变、分类和性能评估需求,引出了总线接口性能评估的 意义,进而解释了评估的必要性。 第二章:网络处理器数据处理简介。网络处理器是专门用于网络中的数据“接 收一处理一发送 芯片,在网络处理器中微引擎可以直接处理大部分的数据包, 对数据进行多种操作,得出了网络处理器中微引擎的处理能力是影响数据传输速 率的主要因素之一的结论。 第三章:网络处理器数据总线。本章研究了交换总线的多种工作模式,结构 形式和工作原理,指出了总线是网络处理器和以太网之间的桥梁和介质,它的性 能主要依赖以上两者的工作状态。 第四章:网络处理器高带宽数据总线性能评估的方案和工作是本文的重点, 基于一种网络处理器交换总线的架构和总线传输数据的工作环境,提出基于模型 评估和仿真评估相结合的方案。 第五章:总结和展望。最后对全文的网络处理器总线性能评估工作进行了总 结,指出了不足之处,明确了有待探索的方向。 第二章网络处理器数据处理简介 7 第二章网络处理器数据处理简介 网络处理器是一种新型的微处理器类型,专门为满足网络路由和交换设备的 需求而设计。网络处理器是面向数据分组处理的、具有体系结构特征和特定电路 的软件可编程器件【5 】。它的关键特性是通过灵活的软件体系提供硬件级的处理性 能。网络处理器采用“存储一处理一转发 实现复杂的q o s 、安全控制、负载均 衡等功能处理能力,它的出现标志着设备从2 层至7 层,数据分组从低层粗放式 处理过渡到高层细化处理p j 。 2 1 网络系统中的网络处理器 网络处理器是网络系统的主要部件,网络系统中还包括一些链路层和物理层 的器件,如以太网m a c 器件和以太网的电磁隔离器件等5 1 。根据网络系统不同 处理需求和应用环境,网络处理器用多种形式组成网络系统以达到较好网络性能。 举举举 雌c i 姒c l l a c 一t 一t l 刮网络处酚副网络处理器 i 交换结构 l 刚瞅理器 刚网络处理器 南南南南甬南 图2 1 采用网络处理器的路由器 复杂的网络系统可以由多个网络处理器构成,例如图2 1 采用网络处理器构 成的路由器中,每个网络处理器负责一个或几个接口的分组处理,网络处理器之 间通过内部的交换部件连接 6 1 。根据以太网状态,也可以用多个网络处理器处理 一个物理接口的数据流量来提高性能。 网络系统也可以由通用处理器和网络处理器结合构成。通用处理器可以实现 高层的协议处理和网络管理等功能,网络处理器实现低层协议和分组的处理。网 8 网络处理器高带宽数据总线接口性能评估研究 络处理器通过总线接口单元与链路层器件连接。这些链路层器件需要支持总线接 1 :3 ,器件的总线接口将数据帧分成微包后,通过总线传送给网络处理器1 6 j 。微包 m p a c k e t 是一种比较小的数据单元,这样的分割使得多个链路层器件都可以通过同 一条交换总线连接到网络处理器,多个链路层的数据可以交替地向网络处理器传 输,而且可以减少每条链路的数据传输延迟等待时间【6 】。 网络处理器用以上各方式组成的网络系统可以增强网络数据处理能力,减少 网络等待时间,提高网络介质利用率,加大传输吞吐量,对带宽要求和总线接口 性能提供了良好平台背景。 2 2 网络处理器中的微引擎 网络处理器可以通过交换总线接口控制数据的接收和发送。网络处理器的微 引擎对数据的接收、处理和发送的大部分简单操作进行控制,它的内核则处理复 杂数据中的异常情况【6 】。对于内核处理器来说,网络接口就像一般计算机系统中 的输入输出设备一样,绝大部分操作不需要进行具体处理。 网络处理器除了有一个一般的处理器( 内核处理器) 外还包含6 个可编程的 3 2 位r i s c 接口微处理器( 称为微引擎) 。微引擎是专门简单快速处理数据分组的 高速智能接口,具有自己的专用指令系统。在这种结构的网络交换机中,从网络 中收集的数据直接放入存储器中进行排队【6 j 。 6 4 位总线 图2 2 微引擎数据通路结构 系统中由微引擎对数据分组进行接收、缓存、处理和发送。如图2 2 微引擎 数据通路结构图中,微引擎能够直接将接收的数据存储到s d r a m 缓存区中,并 进行队列的管理等处理,这种直接访存功能相当于通用计算机中的d m a 输入输 出功能,不需要c p u 的参与【6 】。在网络处理器构成的系统中,微引擎对分组头进 行扫描,并进行即时的决策,决定数据的转发方式。多个微引擎使得网络处理器 第二章网络处理器数据处理简介 9 能够处理高速网络中同时到达的多个数据流。 微引擎中采用一种硬件多线程的特征,现成的切换没有时间开销。如图2 2 , 每个微引擎具有4 个程序计数器,分别用于支持4 个线程,线程切换时不需要保 存程序计数器的值。6 个微引擎可以运行2 4 个线程,这些线程的功能完全对称 6 1 。 每个线程有自己的线程标识,使得对于访存的结果能够直接返回给请求的线程。 等待存储器完成访问 nn l 线程1 执行l休眠l 线程1 执行l nn l休眠| 线程2 执行l休眠1 j 图2 3 线程交换示意图 在微引擎中的一个线程发出访存请求时,为避免等待,这个线程可以主动把 自己切换出去,如图2 3 线程交换示意图,使其它线程得到运行,等到存储器返 回结果时再切换到该线程。现成的切换不是采用中断机制,而是在微引擎指令的 控制下主动进行。这种线程切换机制是一种高效的机制1 6 j 。 各种操作的延迟隐藏是高效使用网络处理器硬件的一个重要方面。多线程是 实现这一目的办法之一。因为它可以有效地复用多个处理单元硬件。多线程允许 相关硬件在其线程处于等待存储器存取状态时执行其他线程的处理任务【6 】。在一 个线程进行访存等慢速操作时,可以启动线程切换,从而充分利用访存间隙,提 高微引擎的利用率和吞吐率。 在网络系统中,微引擎可用于对分组的处理,包括分组的分类、分组头校验 和修改、分组的缓存、分组的过滤和转发,路由表的查找以及分组队列管理等【6 j 。 微引擎的工作特点和结构原理是为了更好服务于网络处理,充分利用访存间隙提 高网络利用率和吞吐率,隐藏和减少网络延迟。 2 3 微引擎对数据的简单处理 在接收到链路层器件传来的数据后,微引擎会对数据做一番处理,然后把数 据保存在存储器中等待进一步的处理或发送。微引擎可以对数据进行字节顺序转 换、长字对齐、位序逆转、乘法运算、校验和等操作。 l o 网络处理器高带宽数据总线接口性能评估研究 2 3 1 字节顺序转换 字节顺序转换( s w a p ) 的功能是:将长字节顺序进行转换,使其符合本机 的规范。字节顺序有大数端和小数端两种。一个多字节的数据存储在存储器中时, 需要占据存储器中若干字节的存储位置,大数端方式是将高位字节存储在地址较 小的位置,小数端方式则是将高位字节存储在地址较大的位置,这是两种不同的 字节顺序。t c p i p 规定了一种网络字节顺序。发送数据的主机必须将数据转换成 网络字节顺序,接收数据的主机必须将网络字节顺序的数据转换成本机的字节顺 序。网络字节顺序是大数端的顺序,即在网络上传输一个字的时候先传输高位, 后传输低位。而在计算机中可能有大数端和小数端两种数据存储的顺序,所以对 于网络的数据接收和发送需要进行字节顺序的转换。转换时将长字的高位字节和 低位字节相互转换,如将a s c i i 码字符“a b c ”转换成“c b a 。 初始: 百 r 工1 循环左移8 位: 蔓二 】二工二口 取出a ,循环左移8 位: 重二工 二互 装入a - lcibla 图2 5 字节顺序转换过程 2 3 2 长字对齐 长字对齐的功能是进行数据存储位置的调整,将长字对齐后从存储器放到微 引擎的通用寄存器中。a d d r e s s 表示包含字节队列的存储器地址,$ u n a l i g n e d l 至 $ u n a l i g n e d 3 用于保存两个未对齐的长字。a d d r e s s 表示a d d r e s s 的第0 位到第 l 位。判断数据是否对齐的标志是它的低位地址,然后根据判断的结果对数据进 行移位。如从3 个非对齐存储的数据长字中选出两个对齐的数据长字。如果 a d d r e s s = 3 ,则将数据右移3 个字节:如果a d d r e s s = 2 ,则将数据右移2 个字节;如果a d d r e s s = 1 ,则表示数据已对齐。移位时,需要将3 个长字串 联起来进行1 6 1 。 图2 6 长字对齐方式 第二章网络处理器数据处理简介 2 3 3 位序逆转 位序逆转的功能是将3 2 位长字中的每个字节的位序逆转。当网桥在两种协议 之间转发分组时,局域网的4 8 位地址的每个二进制位必须按每个字节逆转。即第 7 位放在第0 位上,第6 位到第l 位,。每次从源数据的每个字节中取出一 位,移位后放入结果寄存器中,经过8 次这样的操作后完成【6 1 。例如: a = 0 x 8 7 6 5 4 3 2 1 ,它按字节顺序逆转的过程的步骤如下: 1 0 0 0 0 1 1 10 1 1 0 0 1 0 10 1 0 0 0 0 1 10 0 1 0 0 0 0 1 1按m a s k 0 x 0 1 0 1 0 1 0 1 取出 0 0 0 0 0 0 010 0 0 0 0 0 010 0 0 0 0 0 010 0 0 0 0 0 01 i 左移7 位到第7 位 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 将m a s k 左移1 位,取出每一 1r 0 0 0 0 0 0 1 00 0 0 0 0 0 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 0 左移5 位到第6 位,并与珞 1 的第o 位进行a i 11 0 0 0 0 0 01 0 0 0 0 0 0 011 0 0 0 0 0 01 0 0 0 0 0 0 0 以后第2 ,3 ,4 ,5 ,6 ,7 位进行类似的操 作,就可以实现长字各个字节的位逆转了 i 图2 7 字节顺序逆转的过程 2 3 4 乘法运算 一个8 位数与一个2 4 位数据的乘法运算会出来一个3 2 位的结果。其中 m u l t i p l i c a n d 是一个2 4 位的被乘数,乘法结束时被左移7 位;m u l t i p l i e r 是一个8 位的乘数。a c c u m u l a t o r = m u l t i p l i e r * m u l t i p l i c a n d 。乘法过程中移 动乘数m u l t i p l i e r ,使得测试位成为最高位,如果测试位为l 则加上被乘数。 如果8 位数m u l t i p l i e r = 0 x 1 1 = 0 0 0 1 0 0 0 1 ,2 4 位数m u l t i p l i c a n d = 0 x 1 2 3 4 5 6 = 0 0 0 1 0 0 1 0 0 0 11 0 1 0 0 0 1 0 1 0 11 0 ,操作执行过程是: ( 1 ) 先将m u l t i p l i c a n d 左移7 位,m u l t i p l i c a n d = 0 0 0 0 1 0 0 1 0 0 0 11 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 。 ( 2 ) 然后将m u l t i p l i e r 分别左移3 1 位和3 0 位,置符号位,反映第0 位和第 1 2 网络处理器高带宽数据总线接口性能评估研究 1 位的情况( 是1 还是0 ) 。 ( 3 ) 再将m u l t i p l i e r 左移2 9 ,2 8 位,同样反映第2 位和第3 位的情况,以此 类推。 这个乘法是利用加法的移位叠加完成的,所以被当乘数的对应位是1 ,则将 该位对应的值加入,否则,只做移位操作【6 j 。 2 3 5 校验和 校验和是i p 、u d p 、t c p 协议所采用的检测错误技术。在i p 协议中,发送 数据分组的主机在产生i p 分组时,先将i p 头中的校验和字段设为o ,再执行校 验和计算,将结果填入该字段,然后送出数据分组。收到数据分组的节点也对数 据分组的分组头进行同样的计算,计算出的校验和符合要求才接受并处理这个数 据分组,否则将数据分组丢弃【6 j 。 i p 分组头的校验和字段长度为1 6 位。当数据分组在网络中移动时,每经过 一个路由器分组头中的一些字段就会发生变化,需要仔细计算校验和。i p 分组头 校验和的计算要求是:将相邻字节成对构成1 6 位的单位长度,计算数据分组所有 数据的模l 加法结果。将这个校验和放入分组头的校验和字段中。检查校验和时, 以同样的组合计算反码累加和1 6 j 。 微引擎对数据所做的一些处理是便于数据更快更好的进行分组和转发传输。 字节顺序转换是为了本机数据传输顺序和网络的大端数一致,对数字进行位序逆 转是鉴于网桥两端协议的不同需要协调,校验和可以检测数据包的丢、错情况, 乘法运算和长字对齐便于数据操作、存储。总之,微引擎是通过网络处理器直接 为网络性能服务的低层器件。 2 4 微引擎对数据的传输 尽管很多分组处理的应用非常复杂,但是大多数的网络处理器应用,其基本 的“接收一处理一发送”框架结构都是类似的,这些应用都要接收、处理,然后 发送数据包。了解网络处理器最基本的就是需要掌握“接收一处理一发送”流程 【6 1 o 2 4 1 数据包接收 ( 1 ) 连接到总线接口的网络物理设备接收到一个数据包。网络设备是一个硬 件芯片,位于网络处理器外部,包括以太网,a t m ( a s y n c h r o n o u s t r a n s f e r m o d e ) 等任何类型。 ( 2 ) 总线接口从有接收缓冲区信息的寄存器检索到一个空闲的接收缓冲区单 元,将个微包m p a c k e t ( 接收、发送的基本单元,6 4 b y t e ) 放到接收缓冲区单 第二章网络处理器数据处理简介 元1 6 1 。 ( 3 ) 总线接1 2 1 从线程表寄存器队列中获得等待处理接收数据的线程。利用来 自线程表寄存器的信息,总线接口把接收状态字写入传输状态寄存器,并向这个 线程发送信号。 ( 4 ) 接收线程被信号激活,从传输寄存器中读取接收状态字,将m p a c k e t 直接从接收缓冲区单元传送到d r a m 存储器。接收一个数据包中的每个 m p a c k e t 都要重复上述四个步骤,直到收到完整的数据包。 ( 5 ) 线程把重组数据包的句柄放到一个s c r a t c h p a d 环中( 或者s r a m 环或 者队列) 以便另一个微引擎处理【6 】。 2 4 2 数据包处理 数据包在d r a m 中重组后,微引擎可以处理这个数据包。数据包的处理通常 包括数据包的分类和修改。 ( 1 ) 微引擎的线程检索s c r a t c h p a d 环是否有数据包。线程从队列中取得这个 数据包的句柄。 ( 2 ) 对数据包分类需要从d r a m 或者接收缓冲区单元中读出数据包的多个 字段,并保存在传输寄存器中。在这里,对数据包的分类通常采用容量适中的 s r a m 或者s c r a t c h p a d 表,以保证检索的速度。还有,可以利用c a m 和本地存 储器存储数据包头或者索引表,并用哈希单元索引这些表格。 ( 3 ) 修改d r a m 存储器中的数据,从而修改数据包【6 】o ( 4 ) 修改后的数据包的句柄放入s r a m 队列中排队,准备进行调度和转发。 2 4 3 数据包发送 从高层角度看,发送过程就是接收的逆向过程。 ( 1 ) 微引擎线程检查s r a m 队列中是否有数据,如果有就把它取出来。 ( 2 ) 线程计算下一个m p a c k e t 的数据在数据包中偏移量,然后从d r a m 将 数据直接放入总线接口单元中下一个空闲的发送缓冲区单元。 ( 3 ) 发送缓冲区单元控制字,表示发送缓冲区中已经包含了有效数据。 ( 4 ) 就像接收过程,每个m p a c k e t 重复上述发送过程。总线接v i 通过检测微 引擎控制状态字中的信息,来判断数据包的结束。 ( 5 ) 最后,总线接口单元接收到e o p 的m p a c k e t ,外部网络设备完成这个 数据包的发送【6 】。 1 4 网络处理器高带宽数据总线接口性能评估研究 微引擎对数据的传输、处理是网络处理器中关键的操作,它的操作处理能力 关系到网络处理器的整体性能和总线接口的传输质量。完整高效的处理可以减少 总线的传输延迟,增大总线的利用率和提高总线反应时间。 2 5 本章小结 本章研究了网络处理器在不同的网络需求和应用条件下,与链路层、物理层 器件构成网络系统的形式:由多个网络处理器处理多个接口器件或者多个网络处 理器处理一个接口器件构成网络系统;由网络处理器负责低层的协议和分组处理, 由通用处理器负责高层协议和网络管理共同构成网络系统。网络处理器用上面所 述方式组成的网络系统可以增强网络数据处理能力,减少网络等待时间,提高网 络介质利用率,加大传输吞吐量,对带宽要求和总线接口性能提供良好平台。 本章分析了网络处理器的微引擎支持多个线程,线程间可以相互切换提高微 引擎的利用率和吞吐率。点出了微引擎的工作特点和结构原理是为了更好服务于 网络处理:字节顺序转换是为了本机数据传输顺序和网络的大端数一致,对数字 进行位序逆转是鉴于网桥两端不同协议需要协调,校验和可以检测数据包的错包 情况,乘法运算和长字对齐便于数据操作、存储。微引擎对数据的操作处理能力 关系到网络处理器的整体性能和总线接口的传输质量。微引擎对数据完整高效的 处理可以减少总线的传输延迟,增大总线的利用率和提高总线反应时间。 第三章网络处理器数据总线 第三章网络处理器数据总线 本文所讲述的网络处理器高带宽数据总线称为交换总线( e x c h a n g eb u s ) ,主 要提供网络处理器与外部链路层器件( 例如a t m 、m p l s 、i p 、以太网和类似的 数据通信设备) 的网络接口。在网络处理器上的交换总线接口能够将数据帧分成 微包,通过m a c 层器件在网络上向外部或者总线上的其他部件发送数据分组或 接收分组i ,j 。 交换总线用途有两种:第一,形成在网络处理器和高速网络接口传送数据的 快速数据通路;第二,提供多个网络处理器互连的通信机制【_ 7 1 。 3 1 交换总线工作模式 交换总线是一个6 4 b i t 并且附带边带信号的总线,在总线上的主从设备之间 用于传输信号。带有交换总线的网络处理器一般可以作为总线上各种从设备( 比 如m a c 和a s i c ) 的主设备【| 丌。交换总线有很多不同的工作模式,包括3 2 b i t 单 向和6 4 b i t 双向操作模式,在数据后面添加可选状态字模式,网络处理器双模式 和其他1 7 j 。 3 1 16 4 b i t 、3 2 b i t 工作模式 交换总线可以组合不同的带宽和数据流向。最基本的模式有6 4 b i t 双向和3 2 b i t 单向总线模式。 在6 4 b i t 双向交换总线模式时,6 4 b i t 的交换总线都用于发送数据或者接收数 据,施行半双工方式,6 4 b i t 双向模式也叫做全总线模式。此时交换总线的仲裁器 分别赋予发送状态机,接收状态机和其他网络处理器芯片交换总线的控制权1 7 j 。 在3

温馨提示

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

评论

0/150

提交评论