




已阅读5页,还剩58页未读, 继续免费阅读
(微电子学与固体电子学专业论文)网络处理器微引擎总线仲裁器设计与验证研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在网络系统中,数据的处理是一项非常重要的任务,为达到高速协议处理和 包处理,高性能的网络核心网络处理器出现了。微引擎核是网络处理器的通信核 心部件之一,是影响网络处理器性能的关键因素。网络处理器中微引擎采用同构 多核的结构,多个同构微引擎间的仲裁器对于微引擎处理网络数据包的效率有决 定性的影响,研究设计网络处理器微引擎仲裁器的仲裁机制具有重要的研究意义 和应用价值。 本文从理论上分析了网络处理器结构、分类、技术原理和应用。研究了微引 擎的工作原理和功能特点,阐释了微引擎内部传输寄存器、通用寄存器、五级流 水线等核心模块功能特点和关键技术。 网络处理器x d n p 中6 个同构的微引擎与外部接口电路通信时占用共享命令 总线,本文提出了微引擎间总线仲裁器的协议规范和模块框架结构,设计了总线 仲裁器的有限状态机,提出了仲裁器仲裁算法中关键的轮优机制,进而解决了同 构微引擎总线争用的问题。完成了状态机r t l 级的代码编写和逻辑综合。 验证的主要任务是保证设计与功能描述相符合,本文完成了总线仲裁器验证 平台的搭建,针对仲裁器对接口电路固定优先级、同一接口级别微引擎轮流优先 的仲裁特点提出了对仲裁器的验证策略,并使用m o d e l s i m 工具对所设计的总线 仲裁器状态机进行了功能验证,结果证实了设计的正确性。 关键词:总线仲裁器设计验证微引擎网络处理器 a b s t r a c t a b s t r a c t i nt h en e t w o r ks y s t e m ,d a t ap r o c e s s i n g i sav e r yi m p o r t a n t t a s k h i g h - p e r f o r m a n c en e t w o r kc o r e n e t w o r kp r o c e s s o ra p p e a r si no r d e rt oa c h i e v e h i 曲一s p e e dp r o t o c o lp r o c e s s i n ga n dp a c k e tp r o c e s s i n gs p e e d m i c r o 。e n g i n ei st h ec o r e c o m p o n e n to fc o m m u n i c a t i o ni nn e t w o r kp r o c e s s o ra n d ak e yf a c t o ro fi m p a c t i n gt h e p e r f o r m a n c eo fn e t w o r kp r o c e s s o r t h em i c r o e n g i n e si nn e t w o r kp r o c e s s o ra d o p tt h e s t r u c t u r eo fm u l t i c o r ea n di s o m o r p h i s m an u m b e ro fm i c r o e n g i n et h ea r b i t e r b e t w e e ni s o m o r p h i cm i c r o - e n g i n eh a v ead e c i s i v ei m p a c to nd e a l i n gw i t ht h en e t w o r k p a c k e t se f f i c i e n t l y i th a si m p o r t a n ts i g n i f i c a n c ea n dv a l u et or e s e a r c ha n dd e s i g nt h e a r b i t r a t i o nm e c h a n i s mo fn e t w o r kp r o c e s s o rm i c r o - e n g i n ea r b i t e r i nt h i sp a p e r , t h es t r u c t u r eo fn e t w o r kp r o c e s s o r , c l a s s i f i c a t i o n ,p r i n c i p l ea n d a p p l i c a t i o no ft e c h n o l o g yw a si n v e s t i g a t e di nt h e o r y t h ef u n c t i o n a lf e a t u r e sa n dk e y t e c h n o l o g i e s o na c c o u n to ft h em i c r o - e n g i n ei n t e r n a lt r a n s f e rr e g i s t e r s ,g e n e r a l r e g i s t e r s ,f i v e s t a g ep i p e l i n ec o r em o d u l ew a se x p l a i n e da n d e l a b o r a t e d t h es i xi s o m o r p h i cm i c r o e n g i n e si nn e t w o r kp r o c e s s o rx d n pr e q u e s to c c u p y i n g t h es h a r i n gc o m m a n db u sw h e nc o m m u n i c a t i n gw i t he x t e r n a li n t e r f a c ec i r c u i t i nt h i s p a p e r , t h ep r o t o c o ls p e c i f i c a t i o na n dm o d u l ef r a m es t r u c t u r eo f b u sa r b i t e rw a sp u t f o r w a r d t h ef i n i t es t a t em a c h i n eo ft h eb u sa r b i t e rw a sd e s i g n e d r o t a t i n gp r i o r i t y , t h e k e ya r b i t r a t i o na l g o r i t h m i ct e c h n i q u e s ,w a sb r i n gf o r w a r da n dt h e ns e t t l e dt h c s i ) 【 i s o m o r p h i s mm i c r o - e n g i n e b u sc o n t e n t i o ni s s u e s t h er t l l e v e lc o d i n ga n dl o g i c s y n t h e s i sw a sc o m p l e t e d t h em a i nt a s ko fv e r i f i c a t i o ni st oe n s u r et h a tt h ed e s i g ni sm o s t l yi nl i n e 、析t l l f u n c t i o nd e s c r i p t i o n t h ep a p e rc o m p l e t e dt h eb u i l do fb u sa r b i t e rv e r i f i c a t i o n p l a t f o r m a i m e da tt h ea r b i t r a t i o no faf i x e dp r i o r i t y f o ri n t e r f a c ec i r c u i t ,r o t a t i n g p r i o r i t yi nt h es a m ei n t e r f a c el e v e l ,t h ep a p e rb r i n gf o r w o r dt h ev e r i f i c a t i o ns t r a t e g y , t h e nu s em o d e l s i ms o f t w a r et ov e r i f yt h ef u n c t i o no fb u sa r b i t e rf i n i t es t a t em a c h i n e t h er e s u l t sc o n f i r m e dt h ec o r r e c t n e s so ft h ed e s i g n k e y w o r d s :m i c r o e n g i n e ,b u sa r b i t e r , d e s i g n ,v e r i f y , n e t w o r kp r o c e s s o r 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导 师指导下进行的研究工作及取得的研究成果。尽我所知,除了文t l ,特别加以标注 和致谢i i - 所罗列的内容以外,论文t l i 不包含其他人已经发表或撰写过的研究成果: 也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使川过的材 料。与我同t 作的同志对本研究所做的仟何贡献均已在论文- i t 做了明确的说明 并褒示了谢意。 申请学位论 本人签名: 不实之处,本人承担一切的法律责仟。 日期粤盟 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使j l j 学位论文的规定,即:研究生 在校攻读学位期间论文丁作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采川影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合 学位论文研究课题冉攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适刚本授权书。 本人签名: 导帅签 e l 期 醐郅。厂汐 么卯7 乞。厂汐 第一章网络处理器概论 第一章网络处理器概论 1 1 网络处理器背景 在网络系统中,数据的处理是一项非常重要的任务,为了达到高速协议处理 和包速率,出现了使用专用协处理器硬件的第二代网络系统【l 】,系统使用分类代 替多路分解来处理大多数的数据包,高速的内部互连机制为在接口之间传输数据 提供快速数据通路,包可以从一个接口直接移动到另一个接口。将协议处理任务 移交给网卡减轻了c p u 的负担。 第二代系统既有先进性,也有局限性。第二代体系结构的缺陷在于使用一个 通用处理器完成某些包处理任务。如果系统具有很高的聚合包速率,c p u 就可能 会称为系统瓶颈。为了进一步减轻c p u 的负担,第三代网络系统使用嵌入式处理 器来处理高层协议,使用a s i c 解决更高的聚合包速率。但嵌入式处理器不能处 理来自最高速度的网络数据包速率,a s i c 硬件需要高昂的成本,且不易实现。 这就促使了下一代网络系统的诞生。 网络处理器( n e t w o r kp r o c e s s o r , 以下简称n p ) 是构成这代网络系统的基础。 n p 是面向网络应用领域的应用特定指令处理器,是一种可编程器件1 2 j 。可以接管 很多原来主c p u 完成的控制和管理功能。主要用于通信领域的各种任务,比如包 处理、协议分析、路由查找、声音和数据的汇聚、防火墙等它具有软件可编程的 能力,是对分组处理流程的优化,以满足线速处理的要求【3 】。根据设计思想和目 的,目前有如下几类网络处理器:适用于网络边缘的处理器,如a l c h e m y , i n f i n e o n , b r o a d t o m 等;用于流管理的n p ,a c o r nn e t w o r k s ,l u c e n t ,c o n e x a n t 等;专用于 分组管理的n p ,i b m ,i n t e l ,m m c ,x s t r e a m 等;使用与安全管理的n p ,p h i l i p s , c h r y s a l i s i t c 等1 4 1 。 网络设备的核心处理部件随着应用需求的变化大致经历了3 个阶段的发展过 程:c p u ,a s i c ,网络处理器n p 1 1 。表1 1 是网络处理器与c p u 、a s i c 的比较。 表1 1n p 与c p u 、a s i c 的特点 具有一般化的体系结构和指令集,以求支持复杂的运算并容易添 n p 与c p u加新的功能。但处理速度一般相对较慢,可扩展性差,很难满足网络 c p u 高速发展的需要。 n p 专为进行网络分组处理而开发,具有优秀的体系结构和指令集, 因此它有比c p u 更好的处理性能,能够满足网络高速发展的需求。 作为硬件集成电路,具有高速的处理能力。但编程能力有限,灵 2 网络处理器微引擎总线仲裁器设计与验证研究 n p 与 a s l c a s i c活性差。仅能支持有限的应用和j 服务,很难满足网络业务多样化的需 求。研制周期长,成本高,市场存活时间短。 有专门的指令集和配套的软件开发系统,具有很强的编程能力, 方便开发各种应用,支持可扩展的服务,能够很好满足网络业务多样 化发展的趋势。研制周期短,成本低,市场存活时间长。但依赖于软 件的运行,因此,处理性能较a s i c 相对差一些。 新一代的n p 集成了许多小的、高速处理器c o r e 来完成分组处理任务,通过优 化每个处理器核来使用其分组处理功能,克服了原来r i s c 的局限,使得n p 处理 能力提升。除此之外,还优化了n p 的指令系列和数据通道。这样,完成特定的 网络分组处理任务只需要原来r i s c 的1 1 0 5 1 。 1 2 网络处理器体系结构 对交换机智能与线速处理的要求导致了n p 的产生,可编程的n p 给系统提 供了极大的灵活性,同时还具有数据发送的高速性,被认为是新一代交换机的核 心部件1 5 一。n p 有一些基本的结构,主要的构件有以下几种: 高速的i o 接口单元:网络处理器有丰富的网络i o 接口单元,包括物理链 路接口、交换接口、存储器接口以及其他外部处理单元接口等。 内部高速总线:多组处理器和i o 接口单元通过内部高速总线连接在一起, 组成优化的数据通路结构,从而提供很强的硬件并行处理能力。 存储器:包含多种不同性能的存储结构,以适应不同的应用目的。例如f l a s h 用于存放硬件启动引导程序;s r a m 存放路由表、队列结构等各种查询表格; s d r a m 作为缓冲区存放分组数据1 6 1 。 专用指令集:片内转发引擎一般具有专用的精简指令集,这些指令经过针对 网络数据处理的优化,例如数据读写,状态判断,堆栈操作,哈希查找等。 专用组件( 协处理器) :要求高速处理( 线速) 的通用功能模块可以用硬件来 实现以提高性能。例如路由查找和数据加密等。 当前n p 按结构特点可划分为以下三种l7 】: 1 基于通用s c 结构: 2 配置上硬件加速器的r i s c 结构; 3 网络专用处理器。 第一种是单处理器核,这种结构集成有各类网络接口,还设计有专用协处理 器,如分类器、流量管理器等。第二种结构用于分组分类,第三种是并行处理的 结构,具有大规模并行流水线处理功能,采用多处理器、超长指令结构v l i w 、 第一章网络处理器概论 多线程处理( m u l t i t h r e a d ) 等。 前两种对于快速以太网来说足够了,但在高速端口应用时不能提供多层的线 速处理。相对于c i s c 来说,r i s c 复杂度要低很多,只需维护定长指令,避免了 间接寻址模式,很多指令均是在一个机器周期内完成,执行速度很快。但由于其 指令的简单性,在完成复杂任务时,就需要很长的指令组合完成,在时效性上无 法得到保证。因此它们在高速路由器中无法有效的胜任工作。 增强的r i s cn p 主要是给r i s c 增加了网络处理功能部件和硬件加速器,后 者能以线速拷贝帧因而性能有所增加,但是不具有灵活性和编程能力。在将r i s c 和a s i c 结合起来的结构中,r i s c 作用是c o r e ,而确定的任务放于专门部件中去 完成,这种结构的缺点是a s i c 部件无法更新l 7 1 。 x d n p 是本文的知识背景,本文研究的总线仲裁器是在x d n p 的背景下提出 的。图1 1 是x d n p 网络处理器的内部体系结构图,途中列出了各主要模块之间 可以进行的操作关系。 ls 雾e 栅r a m | 渊1 lt z 币u 翟 图1 1x d n p 内部体系结构图 1 s t r o n g a r m 核【l 】( s t r o n g a r mc o r e ) s t r o n g a r m 是3 2 比特的r i s c 处理器,它的显著特点是高性能、低功耗和紧 凑设计,与其他专用的可执行单元可以集成在同一个芯片中。s t r o n g a r m 核处理 器和6 个r i s c 微引擎为x d n p 提供了每秒转发3 0 0 万以上个数据包的处理能力。 多个x d n p 构成的系统实现了处理规模的线性增长,如8 个x d n p 构成的系统每 秒能够实现超过2 4 0 0 万数据包的处理能力。 s t r o n g a r m 核的工作频率可以通过设置相关的寄存器来实现,目前x d n p 可 选工作频率为16 6 m h z ,2 0 0 m h z ,2 3 2 m h z 。 2 微引擎( m i c r o e n g i n e ) 岫鞔一一一一刚一 一一一一一一一一一一一一一一 4 网络处理器微引擎总线仲裁器没计与验证研究 6 个3 2 比特多线程的r i s c 微引擎可以独立的实现数据的处理和转发,每一 个微引擎拥有4 个独立的程序计数器,零开销的上下文切换和硬件信号量机制确 保了每一个微引擎都能得到充分利用。指令集为网络和通信应用的需要特别提供 了b i t ,b y t e ,w o r d 和l o n g w o r d 的操作,为快速、高效地转发数据提供了保证。 每个微引擎都包含了大量的局部存储空间和寄存器:为程序运行提供的4 k 字节 ( 1 0 2 4 3 2 比特) 的高速r a m 控存、1 2 8 个3 2 比特的通用目的寄存器( g p r ) 和1 2 8 个服务于s r a m 和s d r a m 单元的传输寄存器( t r a n s f e rr e g i s t e r ) 。微引擎 以s t r o n g a r m 核的工作频率运行。 3 f b i 单元和i x 总线 f b i 单元主要为i x 总线的快速外设,如m a c 层设备提供服务,包括在x d n p 的接收和发送f i f o 之间转移数据,i x 总线向外设提供一个简单、高效的4 4 g b p s 的接口,其最大工作频率为1 0 4 m h z 4 。两个x d n p 设备可以采用共享i x 总线模 式,这种模式只能在6 4 比特单向模式下实现。 f b i 单元包括发送和接收f i f o 单元、控制和状态寄存器( c s r ) 、一个4 k b 的s c r a t c h p a dr a m 和一个能够产生4 8 位和6 4 位哈希关键字的哈希( h a s h ) 单元。 4 s d r a m 和s 删单元 x d n p 支持两种存储单元:s d r a m 和s r a m 。s r a m 单元提供快速存储功 能,用于存储转发表;s d r a m 单元提供慢速存储功能,用于存储转发信息和发 送队列。s d r a m 单元主要用于高带宽、大批量数据的存储,最大地址空间可达 2 5 6 m b 。工作频率为s t r o n g a r m 核的1 2 9 】。 s r a m 单元主要用于存储查找表提供高带宽以及存储微引擎处理数据包用到 的数据。s r a m 单元接口的工作频率为x d n p 核心频率的1 2 。两种单元均附加 了存储优化组织,以提高带宽利用率。 5 p c i 单元 p c i 单元提供了一个标准的3 2 位p c i 总线接口以连接如h o s t 处理机和m a c 设备,p c i 单元主要包括:支持3 个p c i 总线主设备的仲裁逻辑;p c i 只能i o 接口;2 个d m a 通道;4 个2 4 比特的计时器。 p c i 接口可以实现0 6 6 m h z 的操作,大于3 3 m h z 的操作,只能支持两个p c i 设备,如x d n p 和另一个p c i 设备。在高速p c i 总线上实现p c i 设备的增加或者 在总线上添加连接器,则需要p c i t o p c i 桥设备。 从以上x d n p 的体系结构不难看出,x d n p 的结构特点表现在以下几个方面: 1 并行处理器结构 x d n p 网络处理器提供了微引擎技术,主要包含的6 个微引擎均为r i s c 处 理器,是可编程的r i s c ,有各自独立的控制存储器和局部存储器,访问外部资源 的机会均等。 第一章网络处理器概论 2 微引擎和微码 微引擎的指令即微码是一种符号化的编程语言,类似于汇编语言,代码效率 高而且具有可重载性,为系统升级提供了极大的方便。微码指令的运行采用5 级流水线机制,为提高微引擎的利用效率,采用硬件多线程,即每个微引擎同时 运行4 个线程,采用内部线程通信机制实现线程同步,提高了系统效率。 3 分布式数据存储结构1 4 】 为提高x d n p 网络处理器的处理能力,采用了分布式数据存储和内存组织优 化机制,x d n p 提供了多个存储单元接口,利用专用的读写寄存器实现对s r a m 和s d 删的访问,简化了编程模型,提高了存储效率。同时,s 洲和s d r a m 均支持多个读写队列进行优先级排队,以优化带宽。如图1 2 所示。 s r a m 队i l 列仲裁i s a 核队列 p c i 队列 偶b a n k 奇b a n k u e n g i n e r e f e r e n c e s 顺序 优先级 s d r a m 数据 s a 核队列 读 顺序,写 优先级 读锁失败 u e n g i n e r e f e r e n c e s s r a m 数据 图1 2 分布式存储组织结构 1 3 网络处理器技术特点 现代网络处理器有很多技术特点,保证了网络处理器在数据传输领域广泛的 应用。主要特点如下: 1 可编程性:执行一个任务处理程序时,并行处理、多线程之间调度、延时隐藏 都很重要。这是程序要解决的问题,也是决定n p 系统性能的关键【引。网络处理 器的本质在于其可编程性,从而改变a s i c 灵活性差的缺点。这是通过提供界面 友好而功能强大的编程、调试和性能评价等软件环境实现的。 2 操作系统:很多n p 在数据平面处理单元里甚至不运行o s 。操作系统对控制 兰 6 网络处理器微引擎总线仲裁器没计与验证研究 平面单元是必需的,如存储器管理和有限的v o 管理就要用o s 完成p j 。 3 并行处理:网络处理器能够实现不同级别的并行处理,通过流水线实现指令级 的并行,通过硬件线程实现线程级的并行,通过片内处理器结构实现处理器级的 并行。 4 高速数据处理:网络处理器需要具有线速处理能力,以避免设备成为瓶颈,它 的硬件结构为此提供了保证。 5 深层数据处理:也叫智能处理( i n t e l l i g e n tp r o c e s s i n g ) ,就是根据不同的服务 要求可对分组( 帧) 进行不同深度的处理。例如路由查找只需要处理第三层( i p 头部) ,分类需要处理到第四层【2 1 ( t c p u d p 协议) ,安全则需要处理到应用层【1 0 l ( 分组携带的有效载荷) 。 6 模块化设计:网络处理器体系结构的模块化也包含不同的层次,硬件层面和软 件层面的模块化。通过模块化设计力图在保持高性能的基础上获得很好的可扩展 性和灵活性,并能使设备厂商容易研发不同性能和不同特性的设备。 7 可扩展性:网络处理器的可扩展性同样包括硬件可扩展性和服务可扩展性。前 者指网络处理器除了可以用来研制小型设备,还可以通过交换机构的连接研制大 型设备。后者是指可以在对原有软件结构做很小改动的基础上加入新的服务和功 能。 基于网络处理器成功构建一个网络系统的关键在于网络处理器软件系统的设 计与开发,其核心问题就是要软件系统充分发挥网络处理器灵活性和高性能的特 点。网络处理器软件系统实现的一个挑战在于软件设计与网络处理器的硬件结构 关系非常紧密,必须面向网络处理器的硬件体系结构编程,通过合理分配和使用 网络处理器为优化数据包处理的各种硬件资源,如多处理引擎、专用硬件处理单 元、各类寄存器、片上内存和其它硬件单元,才能得到一个高性能的系统。通常 情况下,在微引擎上运行的应用软件包含多个线程,多个线程运行在多个微引擎 上。需要考虑并行程序设计问题。 1 4 网络处理器应用和发展现状 网络处理器单元是网络处理器核心,它提供高速、大容量智能处理数据包功 能,包括数据解析、分类和转发等等,因此网络处理器单元常常被称为数据包处 理引擎。不同的协处理器则实现帧分段重组、加速查表、队列缓冲区管理、顺 序管理、存储器控制和多播支持等功能l l 。 网络处理器的应用领域很广泛,根据不同需求,可以采用n p 灵活构造不同 规模的处理平台,如单个n p 构成的小型单板设备,多个n p 构成的中型单板设 第一章网络处理器概论 7 备和多个线卡通过交换组织构成多板大型设备1 6 1 。除此之外,网络处理还应用在 如下几个方面1 4 1 : 1 在l a n 企业网中: 入侵检测系统、数据加密、网络监控、i n t r a n e t 防火墙等安全控制,防御内部和 外部的恶意行为; 进行分组分类,识别关键业务流,提供优先传输服务,实现用户在网络服务上 的各种管理策略,保证服务质量q o s 提供虚拟专用网v p n ; 掌流量工程; 2 在广域边缘接入网络:主要是支持多种新型业务和多种网络接入,并进行服 务质量控制,其中包括: 分组分类、聚合和调度; 实现基于业务等级协议( s l a ) 的服务质量管理,提供带宽和时延保证,支持 动态带宽管理; 母提供v p n ; 幸实现负载均衡; 分解和装配各种类型的协议数据单元,执行协议转换,支持多种传输媒体接入; 安全与网络监控。 3 在广域核心网络: 在核心网中,网络处理器用在o c - 4 8 到o c 1 9 2 甚至更高速率下实现对聚合 流的分类识别和转发,支持服务质量控制和流量工程,支持多协议标号转换 ( m p l s ) 、区分服务( d i f t s e r v ) 等协议【1 2 】。 网络处理器中的微引擎是网络通信中的核心器件,主要用在快速数据通路上 进行数据处理。m e 用于处理入口和出口的协议处理任务。通常,它主要负责完 成来自物理层硬件的包入口处理,校验和验证,包头处理和分类,包在存储器中 的缓存,表查找和转发,包头修改,校验和计算,对物理层硬件的包出口处理方 面【1 3 , 1 5 。 1 5 论文内容与结构 本文针对网络处理器微引擎总线仲裁器进行了设计和功能验证,x d n p 网络 处理器的关键技术研究是本文研究的课题背景,在x d n p 中6 个同构的微引擎处 理器共享一条命令总线,主设备微引擎处理器通过发布访问外部接口电路的指令 来与外部设备通信。网络处理器微引擎总线仲裁器对于微引擎访问外部接口电路 有优先策略的划分,而每一级别的外部访问,仲裁器对微引擎的仲裁机制又是轮 8 网络处理器微引擎总线仲裁器设计与验证研究 流优先的,每个微引擎处理器访问外部资源机会均等。 论文的结构如下: 第一章网络处理器:从理论上分析研究了网络处理器的发展历程和结构特 点,并从网络处理器的技术优势方面列举了应用的意义,阐释了网络处理器的发 展现状。 第二章微引擎工作原理:微引擎处理器是总线仲裁器的主设备,本章研究分 析了微引擎的模块单元与微引擎的工作机制。从结构和数据通路上对微引擎内部 模块诸如微码存储区、数据通道寄存器、逻辑运算单元a l u 和移位器单元做了 详细分析并对关键模块进行了网表级仿真,深入理解了m e 的工作机制。归纳出 了微引擎的主要工作特点:5 级流水线、硬件线程切换、微码指令集。最后分析 研究了支持线速宽带数据处理的同构多核的关键技术。 第三章总线仲裁器的设计:首先从指令出发,分析研究了微引擎与外设的接 口,深入分析了微引擎通过发布r e f e r e n c e 指令请求访问外部接口电路的机制。提 出了总线仲裁器的协议规范和模块框架结构,构思了仲裁器仲裁机制的有限状态 机,提出了仲裁器仲裁算法中关键的轮优机制,并完成了r t l 级的代码编写和逻 辑综合。 第四章总线仲裁器的验证:首先从理论上论述了验证方法和验证流程,接着 针对本文网络处理器微引擎总线仲裁器的功能特点和仲裁机制提出了总线仲裁器 的验证策略,搭建了仲裁器的验证平台,提出了仲裁器的验证方案,最终对验证 方案中的功能点做了仿真验证。 第五章结束语,总结全文。 第二章微引擎r :作原理 9 第二章微引擎工作原理 网络处理器是典型的r i s c 内核的并行实时处理结构,担负着数据包的处理 和网络带宽管理等实时任纠m j 。在系统结构上,网络处理器一般由一个通用处理 器和多个并行或流水的数据包处理引擎构成。本文微引擎正是这样的包处理引擎。 微引擎( m i c r o e n g i n e s ,以下简称m e ) 是3 2 比特可编程的的r i s c 处理器, 这些处理器与通常意义上的微处理器正在特性上有所不同。它是网络处理器的核 心部件,负责绝大部分的网络处理任务。每个微引擎内部支持多个线程,并且采 用了流水线技术提高处理能力【l 引。本章分析研究了微引擎处理器内部各模块的结 构、工作机制和外部接口电路。 2 1 微引擎处理器功能 为了加速快速通路处理,x d n p 含有6 个并行操作的微引擎。并行性能使 m e 能达到更高的总吞吐量。m e 主要用在快速数据通路上进行数据处理。 m e 用于处理入口和出口的协议处理任务。通常,它主要负责完成来自物理 层硬件的包入口处理,校验和验证,包头处理和分类,包在存储器中的缓存,表 查找和转发,包头修改,校验和计算,对物理层硬件的包出口处理方面【1 6 j 。 微引擎有强大的指令执行单元,可快速访问内部存储单元,使得微引擎的数 据处理能力和性能得以大大增加和提高。每个微引擎内部有4 个硬件线程 ( c o n t e x t ) ,每个c o n t e x t 可以共享微引擎内部存储器资源,也可以专用单独的存 储器资源。通过在多个线程之间进行线程切换( c o n t e x ts w a p ) ,可以将存储器的 访问时延( m e m o r yl a t e n c y ) 隐藏在指令执行周期后面,充分发挥微引擎的性能。 这是x d n p 在网络处理器方面优于通用处理器的关键因素之一。 微引擎是网络处理器中用于处理入口和出口协议处理任务的可编程包处理 器。是n p 的底层设备【l 引。它不提供任何算术运算的本机硬件指令,也没有直接 内存访问的寻址模式。相反,运行在微引擎上的程序控制和使用芯片上的功能部 件访问存储器和执行操作。 x d n p 网络处理器提供了微引擎技术,利用微引擎编程的灵活性和高效的处 理能力,使智能网络服务的开发非常快捷。通过扩充微引擎,可以支持线速宽带 数据处理。微引擎的高性能和可扩充性是通过多处理器、多线程和软件流水线的 机制实现的。微引擎提供强大的处理器能力在完成传统任务时相当于高速的 a s i c ,但是,微引擎与a s i c 相比具有灵活编程的优点【7 j 。微引擎的指令集专门 用于在网络和通信中转发数据。微引擎特殊的硬件体系结构适用于支持高性能的 数据平面的处理而无须核心处理器的干预1 1 6 1 。 l o 网络处理器微引擎总线彳i ,裁器没计与验证研究 x d n p 包含6 个3 2 比特可编程的r i s c 处理器,这些处理器与通常意义上的 微处理器特性上有所不同,这就是本文所描述的微引擎单元( m i c r o e n g i n e s ) 。微引 擎支持3 2 比特的r i s c 指令集,特别适合应用于网络通信。微引擎可以独立地实 现数据处理和转发,每一个微引擎拥有4 个独立的程序计数器,零开销的上下文 切换和硬件信号量机制确保了每一个微引擎都能得到充分利用,指令集为网络和 通信应用的需要提供了b i t ,b y t e ,w o r d 和l o n g w o r d 操作,为快速、高效地转发数据 提供了保证。微引擎以s t r o n g a r m 核的工作频率运行。每条指令的执行时间为一 个时钟周期。每个微引擎具有4 个程序计数器,分别用于4 个线程,线程切换不 需要保存程序寄存器的值。线程切换不需要中断,而是在微引擎指令的控制下进 行。这种线程切换机制大大提高了微引擎的利用率和吞吐率。 2 2 微引擎处理器模块单元 微引擎处理器模块的结构如图2 1 所示。 s d r a m 。s r a m ,f b i ,p c s r a m _ f b lp u l l 3 1 :0 到s r a m ,f b 单元l s d 哺m p u f 3 1 :o 】 一 。 到s d r a m 单元isdram_一push31:0sram p u s h 3 1 m i:o i 命令f i f 0 v o l u n t a r y s e q # te v e n t s e q # 1e v e n t 微引擎控制硼,l 羊征硎丽3 2 s ra m 读3 2 s d f【a m 写 p c ie v e n t 其他本地 传输i 存器 传输f 存器 s t a r tr e ce v e n t c s r 单元事件 a u t o p u s he v e n t i n t e rt h de v e n t 信号事件 仲裁器 3 2 s d r a m 读3 2 s r a m 写 倒e v e n t( 每单元) 传籀i f 存器 传犏i 存器 = ;d r a me v e n t 卜 ,_ 、 m me v e n t 程序计数 来自各个 器( 每单 己 歹。元) 徽引擎 l a - 边带l6 4 b 边带l 译码j 杏樘f g p rg p r 总线 i b 泌l + 请求 l 逻辑i 输入 l s r m 单元 滁l j 弋 ,儿 、,0 上0 命令 ailb ;d r a m 单元 队列 p c i 单元 全部 总线 状态授权 毽韫嚣 刚单元输入 输出 刭各弋a l u 引擎 徽引擎( 6 个中的1 个) 图2 1微引擎m e 的框图结构 微引擎采用硬件支持多线程的方式,每个微引擎运行4 个独立的线程。这4 个线程在运行时间上共享一个微引擎,在任一时刻,微引擎上只能运行其中一个 第二章微引擎r 作原理 线程,4 个线程之间通过线程切换( s w i t c hc o n t e x t ) 来分配微引擎的运行时间。当其 中某个线程不运行时,它的运行状态可以通过独立的程序指针,信号事件状态及 相关的寄存器,包括g p r 和传输寄存器,在硬件中保留下来;当某个线程进入休 眠状态( s l e e p ) 时,线程切换使另一个线程开始运行,线程切换的时间最多为一个 时钟周期。 当某个线程进入休眠状态时,线程切换依靠仲裁逻辑判断允许哪个线程进入 运行状态。仲裁器根据其他功能单元的信号或时间( e v e n t ) 做出判断。 2 2 1 微代码存储区 1 微代码存储 微引擎是完全可编程的,每个微引擎有独立的微代码程序存储区,4 个线程 的代码共享这个存储区。存储区的空间为1 0 2 4 3 2 比特,最多支持1 k 条微码指 令,用于存放四个线程执行的程序代码。在系统初始化时由s t r o n ga r m 核将微 码程序写入微代码程序存储区【l 】( c o n t r o ls t o r e ) 。由于微代码程序存储区属于微 引擎内部存储资源,所以可以单周期对其中的程序指令进行存取,提高微引擎的 指令执行速度,进而提高微引擎的处理性能。 c o n t r o ls t o r e 中的程序在被写入前,s t r o n ga r m 核先在u s t o r ea d d r e s s 寄存器中写入程序在c o n t r o ls t o r e 中的存储地址,然后将一段程序读入 u s t o r ed a t a 寄存器中,最后再将u s t o r ed a t a 中的程序载入c o n t r o ls t o r e 指定的地址处,并将u s t o r ea d d r e s s 中的地址递增。如此循环往复,直到程 序装载完毕为止。 2 2 2 数据通道寄存器 数据通道寄存器是微引擎中数据流通的存储区,可以用作微引擎执行数据通 道的源地址寄存器( s o u r c er e g ) 和目标地址寄存器( d e s tr e g ) 。数据通道寄存 器主要包括以下部分: 1 通用寄存器( g p r ) : 每个微引擎支持1 2 8 个3 2 比特的通用寄存器g p r ,用于存放程序中需要使 用的数据。g p r 分为a b a n k 和b b a n k 两部分,各有6 4 个g p r 。每个b a n k 支持 对逻辑运算单元a l u 和移位器s h i f t e r 的读写操作,读写操作通过独立的端口进 行,微引擎就可以在一个时钟周期内同时执行读和写的操作。 在微引擎当中,g p r s 有两种寻址模式:相对寻址和绝对寻址。相对寻址在 微引擎的4 个线程间分配g p r ,每个线程拥有自己专用的一组g p r ( 最多3 2 个) , 线程不能访问其他线程相对寻址方式的g p r ,绝对寻址使一个g p r 在微引擎的4 个线程间共享,线程间可以通过绝对寻址方式的g p r 传递信息。 1 2 网络处理器微引擎总线仲裁器设计与验证研究 线程相对寻址方式逻辑上将1 2 8 个通用寄存器g p r 平均分为4 组,每组3 2 个g p r 供一个c o n t e x t 使用,分别是1 6 个ab a n kg p r s 和1 6 个bb a n kg p r s , ab a n k 与bb a n kg p r s 分开编址,从o 1 5 为一个c o n t e x t 所专用。相对寻址方 式的优点是每个线程都拥有自己独立的数据区,在线程切换的时候无须保存寄存 器,从而消除了线程切换引起的额外开销川。在绝对寻址方式时,将1 2 8 个g p r s 统一编址,ab a n kg p r s 和bb a n kg p r s 分开编址,从0 - - 6 3 为4 个c o n t e x t 所共 享。寻址方式如图2 2 所示。 绝对寻址 0 0 相对寻址 l1 6c o n t e x t 30 1 5 r 1 一1 j 1 6 c o n t e x t 2 0 - 1 5 = = = = = = = = = = = 爿 1 6 c o n t e x t l 0 1 5 臣堕囹。一1 5 l1 6 c o n t e x t 3 ;0 - 1 5 1 6 c o n t e x t 2 0 - 1 5 f 1 6 c o n t e x t l f0 - 1 5 1 6 c o n t e x t 0 0 - 1 5 1 2 8 通用寄存器( g p r ) 图2 2g p r s 寻址 2 传输寄存器( x f e rr e g i s t e r ) : 微引擎与其他单元交换数据要通过传输寄存器完成,是微引擎和其他功能单 元进行数据交换的窗口【1 7 】。每个微引擎支持1 2 8 个3 2 比特的传输寄存器,分为 x f e r i nr e g 和x f e r o u tr e g 两大类。 x f e rr e g i s t e r 分为3 2 个s r a m 读,3 2 个s r a m 写,3 2 个s d r a m 读和3 2 个s d r a m 写传输寄存器,每种传输寄存器通过专用的3 2 比特数据总线连接到 其他功能单元。s d r a m 传输寄存器在s d r a m 和微弓l 擎之间传递数据,s r a m 传输寄存器在s r a m 单元或f b i 单元和微引擎之间传递数据。例如从s r a m 中 读取数据时,数据只能先读到s r a m 读传输寄存器中,然后进行运算。向s r a m 中写入数据时,必须先将数据放在s r a m 写传输寄存器中,然后用写指令将数据 写入s 洲。s d r a m 也是如此。 传输寄存器的寻址也有相对寻址和绝对寻址两种方式。x f e r 的相对寻址方式 和g p r s 相同,在x f e r 的相对寻址模式中,将x f e rr e g 分为四种:s d r a mr e a dx f e r 、 s d r a mw r i t ex f e r 、s r a mr e a dx f e r 、s r a mw r i t ex f e r 。这四种是单独进行编址 的,从o 7 。在微引擎的4 个线程线程间分配传输寄存器,每个线程拥有自己专 用的传输寄存器:绝对寻址方式中,将1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孝感桥墩施工方案(3篇)
- 娱乐直播活动策划方案案例(3篇)
- 室外猜灯谜活动方案策划(3篇)
- 618活动策划方案目的(3篇)
- 名校教师考试题库及答案
- 北京市昌平区2024-2025学年八年级下学期期末考试道德与法制题目及答案
- 安徽省六安市舒城县2023-2024学年高一下学期期末考试地理考试题目及答案
- 感知艺术:初中美术欣赏与实践活动教案
- 定制家居产品销售及安装合同
- 叙事作文小小推销员250字(8篇)
- 2024年中国人寿:养老险总公司招聘笔试参考题库含答案解析
- 知识产权风险预警项目分析报告
- 南城一中高三年级工作计划
- 企业重组改变组织结构以提高效率
- 污水处理设施运维服务投标方案(技术标)
- 围术期高钾血症的识别与救治
- 微信点餐系统小程序的设计与实现
- 行业标准项目建议书
- 订单评审表-模板
- 夏米尔350Pedm火花机快速入门操作
- 人教新版高中物理必修说课实验练习使用多用电表
评论
0/150
提交评论