(计算机应用技术专业论文)面向网络处理器的资源调度研究.pdf_第1页
(计算机应用技术专业论文)面向网络处理器的资源调度研究.pdf_第2页
(计算机应用技术专业论文)面向网络处理器的资源调度研究.pdf_第3页
(计算机应用技术专业论文)面向网络处理器的资源调度研究.pdf_第4页
(计算机应用技术专业论文)面向网络处理器的资源调度研究.pdf_第5页
已阅读5页,还剩102页未读 继续免费阅读

(计算机应用技术专业论文)面向网络处理器的资源调度研究.pdf.pdf 免费下载

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

文档简介

西北工业大学硕士学位论文摘要 摘要 传统的网络设备大多采用基于g p p 或a s i c 的嵌入式处理器。 随着网络流量 的 迅速增长和网络业务的日 益多 样,它们在性能或灵活性上已 难以满足应用需 要。在这种背景下,兼具高速处理能力和灵活编程能力的网络处理器 ( n p , n e t w o r k p r o c e s s o r ) 为下一代通信产品的设计提供了 一种灵活的解决方案。目 前,网络应用系 统的设计越来越多 地采用高 速、灵活的网 络处理器。 网络处理器是典型的多r i s c 内 核的并行实时处理结构, 担负 着数据包的处 理和网 络带宽管理等实时 任务。 在系 统结构上, n p 一般由一个通用处理器和多 个并行或流水的数据包 处理引擎( p e , p r o c e s s i n g e n g i n e ) 组成, 每个处理引 擎内 部支 持多个线程. 如何在多个p e 上进行有效的资源分配和调度以 提高系 统 吞吐量、 降低数据包 时延和应用程序开发时间、 保证系 统服务质量( q o s , q u a l i t y o f s e r v i c e ) 要求是当 前网 络处理器 研究的一个热点问 题。 论文以8 6 3 计划 ( 国家高科技技术研究发展计划) 资助课题 面向网 络处 理器结构的新型操作系统核心技术为基础, 研究了网 络处理器软件开发平台 中 有关资源 调度的问 题。主要涉及两个方面: 对于流水组织模式的网 络处理器, 其处理任务到各个p e的分配目 前主要 由 手工完成, 开发效率低且对开发人员 素质要求较高, 形成产品开发的瓶 颈。为 解决这一问 题, 本文首先提出 一种任务到 p e的自 动分配方法。给 定划分好的应用任务集和处理流水线级数, 应用该方法可以 迅速得到近似 最优的分配方案。 网络服务形式的日 益多样使得用户对于q o s 的 要求越来越高。 网 络设备的 功能由 传统的 存储一 转发模式到存储一 处理一 转发模式的转换, 使得 q o s 的保证不再仅仅限于网 络带宽的分配, 还要求处理资源 按照q o s 的 要求进 行分配。因此,本文研究了 链路调度和多 p e调度问 题,给出 有效的调度 策略,保证调度会平、时延等特性。 工么 论文的 硬件开发环境使用i n t e l i x p 2 4 0 0 网 络处理器 开发平台, 开发板是 r a d i s y s 公司开发的e n p - 2 6 1 1 ,它是一个完整的可设计开发的 设备, 具有非常 灵活的可编程性。软件开发平台包 括基于x s c a l e 的开发工具链 ( l i n u x g n u ) 和微代码开发工具 ( i n t e l 为i x p 2 4 0 0 提供的d e v e l o p e r w o r k b e n c h ) 。 关键词:网 络处理器, 处理引擎, 服务 质量, 任务分配, 遗传算法, 链路调度, 多p e 调度 西北z业大学硕士学位论文摘要 ab s t r a c t i n c re a s i n g r e q u i r e m e n t s o f n e t w o r k r a t e s a n d s o p h i s t i c a t e d n e t w o r k i n g s e r v i c e s m a k e t h e t r a d i t i o n a l n e t w o r k i n g d e v i c e s b a s e d o n g p p o r a s i c a b o tt l e n e c k o f n e t w o r k i n g a p p l i c a t i o n s . a s a s o l u t i o n , n e t w o r k p ro c e s s o r ( n p ) , w h i c h h a s h i g h p r o c e s s i n g r a t e a n d f l e x i b l e p r o g r a m m i n g a b i l i t y , i s a d o p t e d in t h e d e s i g n o f n e t w o r k i n g a p p l i c a t i o n s y s t e m s m o r e a n d m o r e w i d e l y . n p g e n e r a l l y c o n s i s t s o f m u l t i p l e p a r a l l e l re a l - t i m e p ro c e s s i n g r i s c s , c a l l e d p r o c e s s i n g e n g i n e s ( p e s ) , e a c h o f w h i c h s u p p o r ts m u lt i p l e t h r e a d s . p e s a r e r e s p o n s i b l e f o r p a c k e t p r o c e s s i n g , n e t w o r k i n g b a n d w 记 由m a n a g i n g , a n d s o o n . a f o c u s o f a tt e n t i o n i s h o w t o a l l o c a t e a n d s c h e d u l e r e s o u r c e s e ff e c t i v e l y t o i m p r o v e s y s t e m t h r o u g h p u t , r e d u c e p a c k e t d e l a y a n d d e v e l o p in g t im e , e n s u r e s y s t e m r e q u i r e m e n t o f q u a l i t y o f s e r v i c e ( q o s ) . t h i s p a p e r i s b a s e d o n t h e p r o j e c t n e t w o r k p r o c e s s o r a r c h i t e c t u re f a c e d n e w - t y p e o p e r a t i n g s y s t e m c o re t e c h n i q u e s p o n s o re d b y t h e n a t i o n a l h i g h - t e c h d e v e l o p m e n t p l a n ( 8 6 3 p l a n ) . t w o p ro b l e m s a r e a d d r e s s e d in t h e p 叩e r : . a p r o b l e m t h a t m u s t b e f a c e d w h e n d e s i g n i n g s y s t e m s b a s e d o n n p s i s h o w t o a s s i g n t h e p a c k e t - p r o c e s s i n g t a s k s t o t h e p r o c e s s o r p i p e l i n e s c o n s i s t i n g o f m a n y p r o c e s s i n g e n g in e s . n o w a d a y s , t h i s w o r k is d o n e m a n u a l l y , w h i c h i s e r r o r - p ro n e a n d in e f f i c i e n t . t o a l l e v i a t e t h i s , t h i s p a p e r p r o p o s e s a g e n e t i c a l g o r i t h m - b a s e d m e t h o d t o as s i g n p r o c e s s i n g t a s k s t o p r o c e s s i n g e n g i n e s a u t o m a t i c a l ly . . t h is p a p e r t h e n a d d re s s e s t h e p ro b l e m o f q o s s c h e d u l i n g o f p r o c e s s i n g r e s o u r c e s o n n p . w e f i r s t p r e s e n t a p a c k e t s c h e d u l i n g a l g o r i t h m s f q + b a s e d o n s f q a n d d wc s , w h i c h i m p r o v e s t h e f a i rn e s s s h a r i n g o f b a n d w i d t h . a s n e t w o r k p r o c e s s in g w o r k l o a d s a r e h i g h l y r e g u l a r a n d p re d i c t a b le , w e p r e s e n t a p r o c e s s o r s c h e d u l i n g a l g o r it h m c a l l e d f o r e c a s t i n g - b a s e d f a i r q u e u i n g ( f f q ) w h i c h u s e s t h e s e e s t i m a t e s a n d p r o v i d e s s i g n i f i c a n t l y b e tt e r d e l a y g u a r a n t e e s t h a n p r o c e s s o r s c h e d u l i n g a l g o r i t h m s w h i c h d o n o t t a k e p a c k e t e x e c u t i o n t i m e s i n t o c o n s i d e r a t i o n . r e s e a r c h e s a r e b a s e d o n t h e h a r d wa r e o f i n t e l i xp 2 4 0 0 . e x p e r i m e n t s o f th i s p a p e r a r e b a s e d o n t h e e v a l u a t io n b o a r d , e n p - 2 6 1 l , a p r o d u c t o f r a d i s y s c o r p o r a t i o n . s o ft w a r e i s l i n u x g n u t o o l wo r k b e n c h c h a i n s f o r xs c a l e a n d i n t e l 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 roc e s s i n g e n g i n e , q u a l it y o f s e r v i c e , t as k a l l o c a t i o n , g e n e r i c a l g o r i t h m , l i n k s c h e d u l i n g , m u l t i - p e s c h e d u l i n g 西北工业大学硕士学位论文前言 月 u舌 随着网络规模和接口 速度的不断增加, 基于通用 r i s c技术的网络设备无 法 在 性能 上 满 足线 速处 理要 求; 另 一方 面新的网 络 通信 协议、 标准不 断出 现或 变化,用户的需求也在不断变化之中,使得数据通信产品的更新换代周期迅速 缩短。在这种背景下,兼具高速处理能力和灵活编程能力的网络处理器 n p ( n e t w o r k p r o c e s s o r )为下一代通信产品的设计提供了一种灵活的解决方案。 网络处理器是一种专用于网络通信设备的通用芯片,是一种开放式的、多 样化的、可编程的开发环境,允许不同的设备供应商采用同样的芯片制造出各 自 不同功能和特色的网络设备。 n p综合了r i s c和a s i c的优点:既像r i s c 可以软件编程、提供足够的灵活性来适应数据通信市场高速的发展,又具有 a s i c 那样的高性能, 但又不像a s i c 那样需要很长的开发周期。 n p 在兼顾r i s c 的灵活性和 a s i c的 执行效率的同时,为第二层到第七层的多种应用提供良 好 支持。 通过下载不同的程序,同样的硬件平台可以支持v l a n 交换机、 路由器、 宽带接入服务器、 n a t 、 防火墙、 we b交换机等, 支持各种速率的以太网、 a t m, p o s 等接口,升级非常方便。 与此同时, 围 绕着n p应用展开的相关研究也得到了 飞速的发展, 一些企业 和学校也给予了 足够的重视。 比如i n t e l 公司专门投资支持全球1 0 0 所大学进行 n p 及 其相关应用的 研究, 并每年召 开一次w o r k s h o p 进行交流与总结。 华盛 顿州 立大学2 0 4 2 年专门召开了以网 络处理器为主题的学术会议, 并在网络处理器硬 件体系结构和性能评价分析等方面作了 深入的探讨。 国 家的“ 8 6 3 高新技术发 展计划也将n p 的研发作为一个重要项目 , 研发自己 的n p 软件开发平台具有重 要意义。 网络处理器是典型的多r i s c内核的并行实时处理结构, 担负着数据包的处 理和网络带宽管理等实时任务, 其内部的组成一般由 一个通用处理器和多个并 行或 流水的 数据包处理引 擎p e ( p r o c e s s i n g e n g i n e ) 组成, 每 个处理引 擎内 部 支持多个线程。 网络处理器的多 p e实时并行调度问题就是当一个待处理的数据包到达时 交由 哪一个p e 服务以 及如何服务的问 题。 如何高效地调度一组并行/ 流水的p e 集合,目 前是 一个挑战 性的 研究课 题, 需要 考虑包 括系统负 载和流量特性 在内 西北s业大学硕士学位论文前言 的多种信息,同时追求不同数据流之间公平共享处理资源,并使处理资源利用 率达到最大双重目 标。 目前网络处理器各 p e内的多线程调度基本上采用基于硬件的静态调度, 由 硬件仲裁器决定下一个可激活的线程:在此基础上,还需要研究多 p e调度 算法及其软件实现机制,结合硬件线程静态调度,实现软硬件结合的n p资 源 优化管理。 n p 的应用模式一般分为三类: a ) 并行模式: 在多个p e 上 执行 相同的 处理功能, 一个包 可以由 其中 任何一个p e 进行 处理,需要研究的 是如何将处理资源和桩路资源进行合理的分配,即多p e 调度和 链路调度的问 题; b ) 流水模式: 每个p e 完成一个功能 模块,多个p e 共同完成总的处理任务, 每个待处 理的包必须经由 每一个p e ,如何合理的将任务映射到p e 以达到最大包处理速度是 一个关健问题; c ) 并行与 流水混合模式: 根据任务的特 性选择是流水 还是并行, 可以 在某些阶 段使 用并行,而 在另一些阶段使用流水。 由 于传统的分组处理系统仅执行存储 转发的处理过程,仅涉及到链路 调度器,因此己 有一些带宽调度算法 ( 如p f q , p a c k e t f a i r q u e u i n g ) 可以 用于 链路调度器中。 但由 于带宽调度算法依赖于分组长度, 分组使用带宽接口 的时 间很容易提前知道, 可以 计算出公平有效的调度方式, 而一个任意指令集的处 理时间难以 提前确定。也就是说分组处理时间难以 预测, 导致己 有的带宽调度 算 法 难以 用 于 处 理 器 调 度 器 中 。 目 前 的 多p e 调 度 大 部分 采 用f c f s ( fi r s t c o m e f i r s t s e r v e ) . t - o p t ( th r o u g h p u t - o p t i m a l ) 等 算 法, 不 能 做到 资 源的 优化 管 理, 更 不能 对综合q o s 策略提供 支持。 因此,本文主要研究流水模式下的 任务到 p e自 动映射技术, 并行模式下 的多p e 实时调度技术和链路调度技术。 本文所依托的 课题为国 家高科技技术发展计划 ( 8 6 3计划)支持的高新技 术课题,其研发基于i n t e l i x p 2 4 0 0 网络处理器开发平台,开发板是r a d i s y s 公司开发的e n p - 2 6 1 1 , 它是一个完整的可设计开发的设备, 具有非常灵活的可 编程性。i n t e l i x p 2 4 0 0 网 络处理器主要包括8 个完全可编程的4 线程微引擎 和 1 个x s c a l e 内核。此外,还有用于连接外部ma c设备的ms f单元、 连接 西北工业大学硕士学位论文 前言 s r a m的s r a m单元 ( 2 个)以及连接 s d r a m设备的s d r a m单元 ( i 个) 等等。这些单元通过内部高速的数据和控制总线彼此协作。软件开发平台包括 基于 x s c a l e 的开发工具链 ( 如 t o r n a d o g n u, l i n u x g n u等) 和微代码开发工 具 ( i n t e l 为i x p 2 4 0 0 提供的d e v e l o p e r w o r k b e n c h ) . 本文结构如下:第一章介绍网络处理器的基本状况,包括其产生、典型体 系结构、编程环境、应用领域、研究现状和发展趋势等,重点介绍了 i x p 2 4 0 0 的体系结构和仿真环境。 基于网 络处理器多处理引 擎的体系结构, 第二章给出 流水组织模式下任务自 动分配的算法, 试验结果证明该算法可以 优化代码分配, 提高系统吞吐量,降低开发难度,加速开发进程。对于网络处理器的并行应用 模式, 为保证系统q o s 方面的需求, 第三章提出 一种新的分组调度算法, 这种 算法基于己 有的s f q和d w c s 算法, 考虑网 络处 理器 特殊体 系结构, 综合两 种算法,在保证系统公平性和时延的同时,降低了系统的丢包率。第四章针对 研究较少的处理资源调度,提出一种多 p e调度算法。该算法根据常规网络处 理程序的特性: 处理时间与包的长度呈线性关系, 根据预测时间来调度p e , 试 验证明该算法性能很好。最后一章对全文进行总结。 西北工业大学硕士学位论文 网络处理器研究与发展 第一章 网络处理器研究与发展 网络设备的基本功能是实现网络通信业务流的控制和转发, 处于网络边缘的 设备需要将来自 不同物理链路的各种业务流复用到统一的传输链路上, 传统的方 法是在网络边缘设备上采用通用的处理器来完成协议栈处理、 路由选择以及包头 的剥离等功能。 随着传输线速率的增加, 通用处理器无法维持和传输速率一样的 处理速度, 于是用专用芯片完成包的处理成为一种趋势。 利用专用集成电 路( a s i c ) 来完成特定包的处理工作, 性能得到很大的改善, 但是a s i c 缺乏灵活性, 给网 络设备的升级和功能 扩展改 进带来很 大麻 烦。 随 着传输线速率的 高速增长和高 层 协议处理复杂度的日 益增加, 以及各种网络应用需求的灵活多变, 高速和灵活地 完成各种协议层上包处理显得更为迫切, 而微电子集成技术的 进步则为这种要求 提供了 坚实的物理基础,网络处理器就是在这样的背景下诞生的,它同时具有 r i s c的灵活性和a s i c的高速处理的能力。 1 . 1 网 络处理器典型体系结构 在 1 9 9 9 年初,网络处理器刚兴起时,市场主要被一些新兴的小公司占领, 如c - p o r t , a g e r e , s it e r a , e z c h ip 等, 它 们的 产品 基本 都 定 位 在网 络处 理 器或 其 它专用通信芯片上, 1 9 9 9 年9 月i n t e l 和i b m公司宣布正式进入网络处理器市场, 标志着网 络处理器从此在半导体设备市场真正拥有一席之地。 国内目 前只有少数 几家领先的通信设备制造商如中兴微电子、 华为技术等自 主开展了网络处理器的 研制项目,可以 预见的是在不远的将来,网络处理器必将成为i c设计尤其是片 上系 统( s o c : s y s t e m o n c h ip ) 设 计 领 域的 研究 热点。 目 前已 面市的 主流网 络处理器产品 一般都能达到o c - 4 8 ( 2 . 5 g b p s )的 处理 能力, 且很快将升级到o c - 1 9 2 ( 1 0 0 b p s )的 水平: 支持在第二、三、四 层上的 线速数据处理; 支持各种q o s 应用 如d i ff s e r v , r e d , m p l s 等; 基于硬件的队 列管理、 调度机制: 可通过专用汇编语言编程甚至支持高级语言c + + 语言编程如 m o t o r o la c - 5 系列; 将交换单元、 m a c单元与网 络处理器单元集成到一块芯片 提高处理速率也是进一步发展的 趋势, 而a m c c n p 3 4 0 0 己 经做到了 这一点。 作为世界上最大的微处理器厂商, i n t e l 在处理器领域有着无与伦比的技术优 势和丰厚的技术积累。 i x p 2 4 0 0 网络处理器是i n t e l 公司推出的广泛应用于网络、 西北工业大学硕士学位论文 网络处理器研究与发展 第一章 网络处理器研究与发展 网络设备的基本功能是实现网络通信业务流的控制和转发, 处于网络边缘的 设备需要将来自 不同物理链路的各种业务流复用到统一的传输链路上, 传统的方 法是在网络边缘设备上采用通用的处理器来完成协议栈处理、 路由选择以及包头 的剥离等功能。 随着传输线速率的增加, 通用处理器无法维持和传输速率一样的 处理速度, 于是用专用芯片完成包的处理成为一种趋势。 利用专用集成电 路( a s i c ) 来完成特定包的处理工作, 性能得到很大的改善, 但是a s i c 缺乏灵活性, 给网 络设备的升级和功能 扩展改 进带来很 大麻 烦。 随 着传输线速率的 高速增长和高 层 协议处理复杂度的日 益增加, 以及各种网络应用需求的灵活多变, 高速和灵活地 完成各种协议层上包处理显得更为迫切, 而微电子集成技术的 进步则为这种要求 提供了 坚实的物理基础,网络处理器就是在这样的背景下诞生的,它同时具有 r i s c的灵活性和a s i c的高速处理的能力。 1 . 1 网 络处理器典型体系结构 在 1 9 9 9 年初,网络处理器刚兴起时,市场主要被一些新兴的小公司占领, 如c - p o r t , a g e r e , s it e r a , e z c h ip 等, 它 们的 产品 基本 都 定 位 在网 络处 理 器或 其 它专用通信芯片上, 1 9 9 9 年9 月i n t e l 和i b m公司宣布正式进入网络处理器市场, 标志着网 络处理器从此在半导体设备市场真正拥有一席之地。 国内目 前只有少数 几家领先的通信设备制造商如中兴微电子、 华为技术等自 主开展了网络处理器的 研制项目,可以 预见的是在不远的将来,网络处理器必将成为i c设计尤其是片 上系 统( s o c : s y s t e m o n c h ip ) 设 计 领 域的 研究 热点。 目 前已 面市的 主流网 络处理器产品 一般都能达到o c - 4 8 ( 2 . 5 g b p s )的 处理 能力, 且很快将升级到o c - 1 9 2 ( 1 0 0 b p s )的 水平: 支持在第二、三、四 层上的 线速数据处理; 支持各种q o s 应用 如d i ff s e r v , r e d , m p l s 等; 基于硬件的队 列管理、 调度机制: 可通过专用汇编语言编程甚至支持高级语言c + + 语言编程如 m o t o r o la c - 5 系列; 将交换单元、 m a c单元与网 络处理器单元集成到一块芯片 提高处理速率也是进一步发展的 趋势, 而a m c c n p 3 4 0 0 己 经做到了 这一点。 作为世界上最大的微处理器厂商, i n t e l 在处理器领域有着无与伦比的技术优 势和丰厚的技术积累。 i x p 2 4 0 0 网络处理器是i n t e l 公司推出的广泛应用于网络、 西北工业大学硕士学位论文网络处理器研究与发展 通信和其他数据传输终端的一种高度集成的网络设备, 采用并行处理器结构实现 了数据的线速转发。现己经被公司、高校和研究机构广泛使用和研究。 1 . 1 . 1 i n t e l i x p 2 4 0 0 体系结构 i x p 2 4 0 0 是i n t e l 公司继i x p i 2 0 0 之后推出的又一个基于i x a ( i n t e l e x c h a n g e a r c h i t e c t u r e ) 体系结构的网络处理器。它支持2 . 5 g b p s 应用, 具有8 个6 0 0 m h z 的 微引擎、 6 0 0 m h z 的处理核心x s c a l e ,可外接i 块d d r d r a m和2 块q d r s r a m, 支持标准的ms f 接口标准s p i - 3 或c s i x - l i 。 微引擎的处理能力适用于 数据包转发等功能,8 个微引擎能 够在每秒钟转发3 层数据包3 百万个。 x s c a l e 处理器可用于处理更加复杂的 任务, 如地址学习建立和维护转发表以及网络管理 等。 me d i a s wi t c h f a b r i c ( ms f ) s 凡4 m co n t r o l l e r 0 dr am co n t rol l e r 俩 固 国 c ij o n 国 a me c l u s t e r 0 m e0 x 1 1m e0 x 10m e0 x 0m ed x l m e0 x 13med x 1 2m e0 x 3m e0 x 2 i n t e i la xs c a l e t m c0r e 图 1 . 1 i x p 2 4 0 0 体系结构图 i x p 2 4 0 0 网络处理器是一个高度集成的综合数据处理器。 它提供高性能并行 处理能力,具有各种层次的可扩展性。它结合x s c a l e 微处理器以及8 个独立的 3 2位 r i s c数据包转发微引擎,加上硬件的多线程支持可达到每秒 5 .4 g次操 作。它支持各种各样的w a n和l a n应用。通过改进微引擎的系统结构达到高 性能和可扩展性, 这些改进包括多线程的分配和使软件具有流水特性的高速缓存 系统结构。 i x p 2 4 0 0 包含8 个可编程的3 2 位r i s c处理器、 称为微引擎 1 1 , 专用于网络 通信处理。 每个微引擎可执行4 个线程, 有4 个程序计数器能在一个时钟周期完 成a l u和移位操作。 微引擎的指令集是专门为网络和通信应用设计的能快速有 西北工业大学硕士学位论文网络处理器研究与发展 通信和其他数据传输终端的一种高度集成的网络设备, 采用并行处理器结构实现 了数据的线速转发。现己经被公司、高校和研究机构广泛使用和研究。 1 . 1 . 1 i n t e l i x p 2 4 0 0 体系结构 i x p 2 4 0 0 是i n t e l 公司继i x p i 2 0 0 之后推出的又一个基于i x a ( i n t e l e x c h a n g e a r c h i t e c t u r e ) 体系结构的网络处理器。它支持2 . 5 g b p s 应用, 具有8 个6 0 0 m h z 的 微引擎、 6 0 0 m h z 的处理核心x s c a l e ,可外接i 块d d r d r a m和2 块q d r s r a m, 支持标准的ms f 接口标准s p i - 3 或c s i x - l i 。 微引擎的处理能力适用于 数据包转发等功能,8 个微引擎能 够在每秒钟转发3 层数据包3 百万个。 x s c a l e 处理器可用于处理更加复杂的 任务, 如地址学习建立和维护转发表以及网络管理 等。 me d i a s wi t c h f a b r i c ( ms f ) s 凡4 m co n t r o l l e r 0 dr am co n t rol l e r 俩 固 国 c ij o n 国 a me c l u s t e r 0 m e0 x 1 1m e0 x 10m e0 x 0m ed x l m e0 x 13med x 1 2m e0 x 3m e0 x 2 i n t e i la xs c a l e t m c0r e 图 1 . 1 i x p 2 4 0 0 体系结构图 i x p 2 4 0 0 网络处理器是一个高度集成的综合数据处理器。 它提供高性能并行 处理能力,具有各种层次的可扩展性。它结合x s c a l e 微处理器以及8 个独立的 3 2位 r i s c数据包转发微引擎,加上硬件的多线程支持可达到每秒 5 .4 g次操 作。它支持各种各样的w a n和l a n应用。通过改进微引擎的系统结构达到高 性能和可扩展性, 这些改进包括多线程的分配和使软件具有流水特性的高速缓存 系统结构。 i x p 2 4 0 0 包含8 个可编程的3 2 位r i s c处理器、 称为微引擎 1 1 , 专用于网络 通信处理。 每个微引擎可执行4 个线程, 有4 个程序计数器能在一个时钟周期完 成a l u和移位操作。 微引擎的指令集是专门为网络和通信应用设计的能快速有 西北工业大学硕士学位论文 网络处理器研究与发展 效地转发数据包数据类型, 有位、字节和长字。 微引擎中采用一种硬件多线程的 特征, 线程的切换没有时间开销。 每个微引擎具有4 个程序计数器,分别用于4 个线程。 每个线程有自己的 线程标识, 使得对于访存的结果能够直接返回给请求 的线程。 在微引擎中的一个线程发出访存请求时, 这个线程把自己切换出去使得 其他线程得到运行, 等到存储器返回结果时再切换到该线程。 线程的切换不是采 用中断机制, 而是在微指令的控制下进行。 这种线程切换机制可以充分利用访存 间隙,提高微引擎的利用率和吞吐率。 1 . i .2结构特征 . 多处理器: 八个 微引擎, 加上x s c a l e 弥补了1 x p 2 4 0 0 的计算资源。 他们共享了 一 系列的资源:s d r a m , s r a m , m s f , 1 x b u s , s c r a t c h p a d r a m ,和一些其它的功能. 0 分布式的 数据存储结 构: 每个 徽引 擎都 有可编 程的4 x 指令存储区、 2 “个 通用寄 存器、5 1 2 个传输寄存器、1 2 8 个邻居寄 存器 及6 4 0 个3 2 h i t 的本地存储器. 微引 擎 有一个下载 一 存储结 构. 一个 微引 擎不能够 访问 位于它 外部的 数 据。它必须 把这 些 数据 放入它的 传 输寄 存器, 对该数据进行操 作, 然 后将数据写回 位于 传输寄 存器 外 部的目 的 地址( 例如dr a m ) . 一旦数 据位于 传精寄存器 后, 一个 微引 李 有一个 周期的时间 访问, 这大大的 提高了 它的处理能力。如果数据没有在传愉寄存器中, 微引 擎 可以 发出 一 条引用 命令来 取得所需 要的 数据, 然 后 “ 进入睡眠” , 等待所需 数据的 到来。 这时 候硬件的多线 程开始工 作. . 硬件多 线程: 每个 橄引 擎实 际上 有四个程 序计 数器, 设计成可以支 持四 个线 程( 称 为上下丈 。当 其中 一个线 程等待数据的时候,它可以 “ 入睡”并且允许其它在同 一 微引 擎上的 线 程运 行。 这样的 话, 就可以 在一个徽引擎上 运行四个线 程, 以 一种 更 为有效的 方式 使用 微引 李的 计算资源. 这 样的方式 也获 得了 更 好的 芯片 利用率, 比实 现更多 的 橄引 擎, 但 是没 有多 线 程的 方法的消 耗更 低。 在无多线 程的 设计中 , 微引 擎 在等持数 据的时间内 仅仅是等 待. i x p 2 4 0 0 的 多线 程是硬件中实 现的, 但是 由 软件拉制. 硬件中 实 现多 线 程使上下文 切换的 零消 耗成为可能, . 动态的内 存 优化: d r a m 和s r a m 单元 有一 些队 列和 优化. 这九 许八个 微引 擎( 实 际上的3 2 个微引擎线程) 和x s c a l 。 从内 存单元请求读或者写, 并且内 存单元可以 智能的决定执行这些请求的优化的顺序 控制的在指令基础上的动态的内 存优化 。 通过这些, 实 现了 在硬件级别, 并由 软件 西北工业大学硕士学位论文 网络处理器研究与发展 效地转发数据包数据类型, 有位、字节和长字。 微引擎中采用一种硬件多线程的 特征, 线程的切换没有时间开销。 每个微引擎具有4 个程序计数器,分别用于4 个线程。 每个线程有自己的 线程标识, 使得对于访存的结果能够直接返回给请求 的线程。 在微引擎中的一个线程发出访存请求时, 这个线程把自己切换出去使得 其他线程得到运行, 等到存储器返回结果时再切换到该线程。 线程的切换不是采 用中断机制, 而是在微指令的控制下进行。 这种线程切换机制可以充分利用访存 间隙,提高微引擎的利用率和吞吐率。 1 . i .2结构特征 . 多处理器: 八个 微引擎, 加上x s c a l e 弥补了1 x p 2 4 0 0 的计算资源。 他们共享了 一 系列的资源:s d r a m , s r a m , m s f , 1 x b u s , s c r a t c h p a d r a m ,和一些其它的功能. 0 分布式的 数据存储结 构: 每个 徽引 擎都 有可编 程的4 x 指令存储区、 2 “个 通用寄 存器、5 1 2 个传输寄存器、1 2 8 个邻居寄 存器 及6 4 0 个3 2 h i t 的本地存储器. 微引 擎 有一个下载 一 存储结 构. 一个 微引 擎不能够 访问 位于它 外部的 数 据。它必须 把这 些 数据 放入它的 传 输寄 存器, 对该数据进行操 作, 然 后将数据写回 位于 传输寄 存器 外 部的目 的 地址( 例如dr a m ) . 一旦数 据位于 传精寄存器 后, 一个 微引 李 有一个 周期的时间 访问, 这大大的 提高了 它的处理能力。如果数据没有在传愉寄存器中, 微引 擎 可以 发出 一 条引用 命令来 取得所需 要的 数据, 然 后 “ 进入睡眠” , 等待所需 数据的 到来。 这时 候硬件的多线 程开始工 作. . 硬件多 线程: 每个 橄引 擎实 际上 有四个程 序计 数器, 设计成可以支 持四 个线 程( 称 为上下丈 。当 其中 一个线 程等待数据的时候,它可以 “ 入睡”并且允许其它在同 一 微引 擎上的 线 程运 行。 这样的 话, 就可以 在一个徽引擎上 运行四个线 程, 以 一种 更 为有效的 方式 使用 微引 李的 计算资源. 这 样的方式 也获 得了 更 好的 芯片 利用率, 比实 现更多 的 橄引 擎, 但 是没 有多 线 程的 方法的消 耗更 低。 在无多线 程的 设计中 , 微引 擎 在等持数 据的时间内 仅仅是等 待. i x p 2 4 0 0 的 多线 程是硬件中实 现的, 但是 由 软件拉制. 硬件中 实 现多 线 程使上下文 切换的 零消 耗成为可能, . 动态的内 存 优化: d r a m 和s r a m 单元 有一 些队 列和 优化. 这九 许八个 微引 擎( 实 际上的3 2 个微引擎线程) 和x s c a l 。 从内 存单元请求读或者写, 并且内 存单元可以 智能的决定执行这些请求的优化的顺序 控制的在指令基础上的动态的内 存优化 。 通过这些, 实 现了 在硬件级别, 并由 软件 西北工业大学硕士学位论文网络处理器研究与发展 . 并发:i x p 2 4 0 0 内 部的几个相互独立的数据和控制总线可以使数据同时 被移动: 岔s d r a m 毕 元和澎引 翁成者i x b u s 翼 元之 阿 伺时岔两价才 冲, 梦 11 写夕 , 注 s r a m 毕元和澎影裁之 1 1 7 c 伺时左 两产 方! 7 ;涝和写 夕 : 注s d r a m 毕元和 p c i 毕元之m r , 岔i x b u s脚 御引攀之凤 所 有以 上的各条都可以同时而 且互相独立的 发生。 在软件拉制下但是在硬件的 基础 上实 现,所以程序员不用考虑细节问 题. . 块传输: 每个 微引 擎上 都有大寄 存器, 这 样的 话一个指今就可以 使6 4 字节的 数据 从一个功能单元到另一个功能单元, 或者 1 2 8 字节的 数据通过 i x b u s 。 这样就更 好的利用了 微引擎的计算资源,同时也减小了 代码规模. . 可扩展性:工 x p 2 4 0 0结 构在不同的层次上实现了 可扩展性.首先,这样的结构使 i x p 2 4 0 。 系 列的 成员 可以 增加额外的 微引 擎,同 时 仍保持同 样的编 程模型. 其次, u p 特性网 络处理器可以 在徽引擎内 增加指令的 存储. 第三, 多个i x p 2 4 0 。 可以简 单的设计连接在一起, 提高 处理能力和带宽. 1 . 1 . 3 i x p 2 4 0 0 功能模块 图1 . 1 显示了i x p 2 4 0 0 主要功能单元的简化块状图, 这些功能单元在下面给 出简要的描述。 . x s c a l e 核心: 完全的3 2 b i t r i s c处 理器, 具有高性能、 低功耗和紧凑设计 等特点, 适用于与其它专用的可执行单元集成在同一个芯片中。 它带有综合的缓存, 可以用 来实现管理功能,运行路由 协议, 例外处理和其他的功能。 . 八个微引擎: 如图1 .2 容的探测, 数据处理, 器组的完全可编程3 2 快速的上下文切换。 所示, 这些高效的r i s c引擎可以 用于任何要求快速的包内 或数据传输的 任务。 他们是具有5 级执行流水的一个大寄 存 位引 擎。 硬 件多 线 程, 和 上下文敏感的寄 存器窗口 可以 进行 . s d r a m单元: 一个共享的, 智能存储器接口, 可以由x s c a l e 核心 s d r a m和微引擎或者i x b u s 单元间, , 微引擎不 1 1 p c i 总线上的设备接入。 可以 在 数据块。 p c i 总线间移动 西北工业大学硕士学位论文网络处理器研究与发展 . 并发:i x p 2 4 0 0 内 部的几个相互独立的数据和控制总线可以使数据同时 被移动: 岔s d r a m 毕 元和澎引 翁成者i x b u s 翼 元之 阿 伺时岔两价才 冲, 梦 11 写夕 , 注 s r a m 毕元和澎影裁之 1 1 7 c 伺时左 两产 方! 7 ;涝和写 夕 : 注s d r a m 毕元和 p c i 毕元之m r , 岔i x b u s脚 御引攀之凤 所 有以 上的各条都可以同时而 且互相独立的 发生。 在软件拉制下但是在硬件的 基础 上实 现,所以程序员不用考虑细节问 题. . 块传输: 每个 微引 擎上 都有大寄 存器, 这 样的 话一个指今就可以 使6 4 字节的 数据 从一个功能单元到另一个功能单元, 或者 1 2 8 字节的 数据通过 i x b u s 。 这样就更 好的利用了 微引擎的计算资源,同时也减小了 代码规模. . 可扩展性:工 x p 2 4 0 0结 构在不同的层次上实现了 可扩展性.首先,这样的结构使 i x p 2 4 0 。 系 列的 成员 可以 增加额外的 微引 擎,同 时 仍保持同 样的编 程模型. 其次, u p 特性网 络处理器可以 在徽引擎内 增加指令的 存储. 第三, 多个i x p 2 4 0 。 可以简 单的设计连接在一起, 提高 处理能力和带宽. 1 . 1 . 3 i x p 2 4 0 0 功能模块 图1 . 1 显示了i x p 2 4 0 0 主要功能单元的简化块状图, 这些功能单元在下面给 出简要的描述。 . x s c a l e 核心: 完全的3 2 b i t r i s c处 理器, 具有高性能、 低功耗和紧凑设计 等特点, 适用于与其它专用的可执行单元集成在同一个芯片中。 它带有综合的缓存, 可以用 来实现管理功能,运行路由 协议, 例外处理和其他的功

温馨提示

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

评论

0/150

提交评论