(通信与信息系统专业论文)基于多核smp环境的ppp协议设计与实现.pdf_第1页
(通信与信息系统专业论文)基于多核smp环境的ppp协议设计与实现.pdf_第2页
(通信与信息系统专业论文)基于多核smp环境的ppp协议设计与实现.pdf_第3页
(通信与信息系统专业论文)基于多核smp环境的ppp协议设计与实现.pdf_第4页
(通信与信息系统专业论文)基于多核smp环境的ppp协议设计与实现.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着计算机技术、网络技术和微电子技术的不断发展以及嵌入式技术的进步, 嵌入式系统对人类生活产生了巨大的影响。嵌入式系统与i n t e r a c t 网络进一步融合, 于是嵌入式系统代替p c 成为时代的主流。嵌入式网络在更好地利用i n t e r a c t 庞大的 信息资源的同时,也实现了嵌入式系统在功能上的一个飞跃。传统的单核处理器 难以满足嵌入式网络对处理器性能的要求。技术人员将目光投向了一种在物理上 松耦合、逻辑上紧耦合的多核多线程处理器技术。 研究表明,直接将以前为单核网络处理器而开发的程序平滑地移植到多核网 络处理器上,并不能使信息的处理效率得到明显的提高。如何将己开发的程序进 行并行化处理,将会是编程人员的一个研究重点。论文中,在对x l r 系列多核多 线程网络处理器硬件分析的基础上,对p p p 协议的报文处理程序进行并行化分解, 并充分考虑利用快速消息网络进行报文转发,以期达到提高p p p 协议处理效率的目 的。同时实现了基于v x w o r k ss m p 系统的p p p 协议测试环境,实现了网络通信。如 何利用硬件多线程技术对p p p 协议进行并行化分解,以及如何更好的利用快速消息 网络传递报文都是本文的重点。为了测试方便,本文在同一块d e m o 板上实现了 p p p 协议的通信双方,也就是说,将d e m o 板从逻辑上分成两部分。在该测试环境 下,分别测试了多任务p p p 协议的基本功能、扩展功能在s n i p 系统下的吞吐量,以 及分析了不同扩展功能给报文处理效率带来的影响,并分析其原因。 关键字:嵌入式系统对称多处理p p p 协议多核多线程处理器 a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t i n gt e c h n o l o g y , n e t w o r kt e c h n o l o g ya n dm i c r o e l e c t r o n i ct e c h n o l o g y ,觞w e l la l st h ea d v a n c e m e n to ft h ee m b e d d e dt e c h n o l o g y , t h e e m b e d d e ds y s t e m sh a v eb e i n gp l a y e da ni m p o r t a n tr o l ei nh u m a nl i f e t h ee m b e d d e d s y s t e mw i l lb et h em a i n s t r e a mo ft h et i m e si n s t e a do ft h ep cb yc o m b i n i n gw i t ht h e i n t e r n e , n e t w o r k e m b e d d e ds y s t e m sm a k eb e t t e ru s eo ft h ei n t e r a c t sv a s ti n f o r m a t i o n r e s o u r c e s ,a n di ta l s om a k e si t so w nf u n c t i o nb e t t e r t op r o c e s s i n gt h em a s s i v ea n d r e a l t i m en e t w o r ki n f o r m a t i o n ,e m b e d d e dn e t w o r k p r o c e s s o rn e e dt om e e tt h eh i g h e r d e m a n d a st h et u f f c o r ep r o c e s s o r st ob ei m p r o v e dp e r f o r m a n c ei nt h ee m e r g e n c eo fa b o t t l e n e c k ,t e c h n i c i a n sl o o ka tm u l t i - c o r em u l t i - t h r e a d i n gp r o c e s s o rt e c h n o l o g y ,w h i c h i sl o o s e l yc o u p l e dp h y s i c a l l ya n dt i g h t l yc o u p l e dl o g i c a l l y t h er e s e a r c hs h o w st h a tt h ep r o c e d u r e sw h i c ha r ee x p l o i t e df o ru n i c o r en e t w o r k p r o c e s s o r a l e d i r e c t l yt r a n s f e r r e dt om u l t i - c o r en e t w o r kp r o c e s s o rw i t hl i t t l e i m p r o v e m e n t so nt h ep r o c e s s i n ge f f i c i e n c yo fi n f o r m a t i o n h o wt oh a v et h ed e v e l o p e d p r o c e d u r ec a r r i e do np a r a l l e lp r o c e s s i n g ,i tw i l lb ea r e s e a r c hf o c u so f p r o g r a m m e r s i n t h i sp a p e r ,o nb a s i so f t h ea n a l y s i so f t h eh a r d w a r eo f x l rs e r i e sm u l t i - c o r e m u l t i - t h r e a d i n gn e t w o r kp r o c e s s o r , t h em e s s a g eh a n d l i n gp r o c e d u r e so ft h ep p p p r o t o c o la l ed i s a s s e m b l e d t h ef 1 nm u s tb ef u l lu s e dt ot r a n s m i tt h ep 妇g e sa n d c o m m u n i c a t e 谢也a n o t h e rv c p u h o wt ou s eh a r d w a r em u l t i - t h r e a d i n gt e c h n o l o g yo n t h ep p pp r o t o c o lf o rp a r a l l e ld e c o m p o s i t i o n ,a n dh o wt om a k eb e t t e ru s eo ft h ef a s t m e s s a g en e t w o r k t ot r a n s m i tt h ep a c k a g ea l et h ef o c u so ft h i sa r t i c l e i no r d e rt o f a c i l i t a t et h et e s t i n g ,t h eb o a r di sl o g i c a l l yd i v i d e di n t ot w op a r t st oa c c o m p l i s h i n t e r c o m m u n i c a t i o nb e t w e e nt w oh o s t s i nt h et e s te n v i r o n m e n t , t h ed i f f e r e n t p e r f o r m a n c ef o rs m ps y s t e mb e t w e e nd i f f e r e n te x t e n s i o nf u n c t i o n sa n db a s i cf u n c t i o n o fp p pp r o t o c o li st e s t e da n da n a l y z e d k e y w o r d :e m b e d d e ds y s t e ms y m m e t r i c a lm u l t i - p r o c e s s i n g p p pp r o t o c o l m u l t i - c o r em u l t i - t h r e a d i n gp r o c e s s o r 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获褥西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:雌日期掣 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。( 保密的 论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 日期 第一章绪论 第一章绪论 1 1 课题背景 随着计算技术、网络通信技术和软件开发技术的快速发展,基于嵌入式软件 的数字化产品在全球范围内得到了突飞猛进的发展,人类越来越融入到了信息化 时代p 。信息时代的最大特点就是信息的海量性,为了满足处理信息的需要,就必 须提高处理器的性能。但是传统的单纯依靠提高c p u 主频来提升c p u 的处理能力出 现了瓶颈,所以人们转而寻求其他的途径以解决这一问题。先后出现了i n t e l 公司的 超线程技术和m i p s 公司的多执行就绪队列( 多硬件线程) 技术。技术人员在引入这 两种技术的同时,由于半导体技术的发展,使得在单芯片集成多个c p u 核心成为 可能。对于单核面临的种种问题,可以通过采用多核结构予以减轻。它通过在单个 芯片上集成多个c p u 核心来运行并行的多个任务,可在不提高频率和功耗的基础 上显著提高处理器的性能。相对于传统的单核c p u ,多核c p u 具有性能高、功耗低、 设计和验证周期短、通信延迟低等诸多优点:同时它还带来了c p u 设计方式的变 革,提供了一种新的发展模式。 一般而言,多核处理器按照处理器核心结构是否相同分为同构和异构两种。 本文中所用的r m i 公司的x l r 7 3 2 网络处理器就属于同构多核处理器。它共有8 个 核,每个核有4 个硬件线程。处理器从单核向多核的转变,给软件设计人员带来了 更重的任务,提高了对程序并行性和可重入性的要求。编程人员只有提高程序的 并行度,才能最大发挥多核的优势。 嵌入式系统是面向特定应用的可计算设备【2 】。随着信息技术的发展,嵌入式已 经融入到了人类生活的方方面面。而随着技术的发展和需求的增多,人们对嵌入 式系统的处理能力也提出了更高的要求,所以多核处理器应用于嵌入式系统也将 成为信息技术发展的主流。 相对于多核技术而言,对称多处理( s m p ) 技术并不是一个新的概念,它早在很 久以前就得到了研究和应用。以前的s m p 技术主要是基于多c p u 的,通过互联结 构将多个单c p u 进行互联以达到提高信息处理速度的目的,是一种松耦合结构。 而将s m p 系统跟多核处理器相结合,则是近几年的研究热点。它通过将底层的多 个c p u 核心看成一个虚拟的单c p u 核心,由操作系统将工作均匀的分配到各个c p u 核心上,以达到负载的均匀,而不需要人为的分析任务以期获得c p u 的负载均衡。 编程人员只需要关注任务的分解,尽量将任务分解为并行任务,并减少任务之间 的相关性,从而减少了编程人员的负担,所以将s m p 技术跟多核处理器相结合应 用于嵌入式领域将会是嵌入式领域的研究热点。 2 一 基于多核s m p 环境的p p p 协议设计与实现 1 2 研究意义 随着信息技术的发展,嵌入式系统越来越追求数字化、网络化和职能化。单 核环境下的嵌入式系统越来越难以满足人们对信息处理量和速度的要求,于是人 们转而寻求在多核环境下的解决之道。与多核环境下的其他嵌入式操作系统相比, s m p 系统具有很大的优势,它使程序员不必关心任务具体在哪个核上运行,而只 专注于任务的并行设计即可,由操作系统完成对任务进行调度,从而避免了系统 资源的浪费。 随着信息时代的到来,i n t e r n e t 技术已进入了人们日常生活中的各个领域,嵌 入式网络应运而生,从而在更好地利用i n t e r n e t 庞大的信息资源的同时,也实现了 嵌入式系统功能上的一个飞跃【3 】。目前,嵌入式系统和网络已是一种不可分割的结 合体。多核嵌入式处理器潜力的发挥与具体应用中的可并行性密切相关。相对于 其他应用,网络设备的可并行性是比较高的,因此多核网络处理器在网络应用方 面必然有更加广阔的前景。 嵌入式多核环境下的任务并行性,不仅仅指各个设备所运行任务的并行性, 而且也包括任务内部的并行性,即通过将任务划分成更小的、具有并行性的细粒 度任务。各模块任务之间的并行性是显而易见的,而任务内部的细粒度并行性任 务划分则是多核性能提升的重点和难点。p p p 协议是目前广域网上应用最广泛的协 议之一,对p p p 协议在多核s m p 环境下的并行化多任务处理具有重要的指导意义。 本论文通过对p p p 协议报文的多任务并行化处理,来探讨多核s m p 环境下任务细粒 度并行化的分解,以期达到提高p p p 协议处理速度的目的;同时探讨在多核多线程 处理器环境下,如何利用多核和多线程的优势,为多核多线程处理器的应用做出 探索性的研究工作。 1 3 论文结构 论文章节安排如下: 第一章绪论主要介绍了本论文的研究背景、研究意义以及论文的组织结构。 第二章主要介绍了嵌入式系统和对称多处理技术。一是嵌入式系统的软件特 点和硬件特点及主要应用现状;二是简要介绍了对称多处理技术的架构和特点以 及v x w o r k ss m p 对多核c p u 支持的新特性。 第三章主要介绍了用于实现的系统硬件及相关技术。主要介绍了r m i 公司的 x l r 系列多核多线程处理器的基本概念和技术优势;x l r 7 3 2d e m o 板的硬件架 构,x l r 系列处理器所能采用的核间通信技术。 第四章详细p p p 协议的基本概念、p p p 协议的工作原理、p p p 链路的建立过程 第一章绪论 和p p p 的扩展协议( m p 协议) 的相关知识。 第五章详细叙述了多核s m p 系统的移植,包括s m p 系统的启动引导过程, c a c h e 的一致性保护的相关机制,v x w o r k ss m p 操作系统下任务的调度与管理以及 s m p 系统下中断的调度和f m n 消息的收发机制。5 2 和5 3 节则重点讲述多核s m p 环 境下p p p 协议的实现过程及各模块的设计和p p p 协议报文的多任务设计及其实现。 第六章将给出了多核s m p 环境下多任务并行化分解后的p p p 协议的吞吐量测 试,并分析其原因。 第二章嵌入式系统与对称多处理技术 第二章嵌入式系统与对称多处理技术 关于嵌入式系统( e m b e d d e ds y s t e m ) 并没有一个明确的定义,一般把除了大型 计算机、服务器和典型的个人台式计算机、笔记本电脑之外的各种可计算设备都 称为嵌入式系统【2 j 。包括网络路由器、交换机、已有多年历史的单片机等都可以称 之为嵌入式系统,从这个角度出发,就可以把嵌入式系统定义为面向特定应用的 可计算设备。嵌入式系统主要分为两个部分:嵌入式硬件部分和嵌入式软件部分。 嵌入式硬件部分主要由嵌入式处理器、嵌入式外围设备等构成;嵌入式软件部分 主要由嵌入式操作系统、嵌入式开发调试环境和嵌入式应用软件构成。本章主要 介绍嵌入式系统和对称多处理技术,并重点介绍了v x w o r k ss m p 操作系统。 2 1 嵌入式系统的特点与应用 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适 用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统【3 1 。 它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序 等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统 组成如图2 1 所示。 2 1 1 嵌入式系统的特点 图2 1 嵌入式系统组成 在嵌入式系统中,具体的应用将决定硬件和软件的需求,量体裁衣,去除冗 余,尽量以最小的系统、最低的成本去实现软硬件设计【3 1 。下面分别从软件和硬件 角度来分析嵌入式的特点。 ( 1 ) 嵌入式系统软件的特征 6 一 基于多核s m p 环境的p p p 协议设计与实现 嵌入式处理器的应用软件是实现嵌入式系统功能的关键。对嵌入式处理器系 统软件和应用软件的要求也和通用计算机有所不同。 1 ) 软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件 一般都固化在存储器芯片或单片机本身中( 如f l a s h 中) ,而不是存贮于磁盘等 载体中。 2 ) 软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高、 片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,同时 还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序 二进制代码长度、提高执行速度。 3 ) 系统软件的高实时性是基本要求。在多任务嵌入式系统中,对重要性各不相同 的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提 高处理器速度是无法实现的,这种任务调度只能由优化编写的系统软件来完 成,因此系统软件的高实时性是基本要求。 4 ) 多任务操作系统是知识集成的平台和走向工业标准化道路的基础。 5 ) 嵌入式系统软件需要实时多任务操作系统开发平台( r t o s ) ;通用计算机具有 完善的操作系统和应用程序接口( a p i ) ,是计算机基本组成不可分离的一部分, 应用程序的开发以及完成后的软件都在o s 平台上面运行,但一般不是实时的。 6 ) 在嵌入式系统的软件开发过程中,采用c 语言将是最佳和最终的选择。由于汇 编语言是一种非结构化的语言,对于大型的结构化程序设计已经不能完全胜任 了,这就要求我们采用更高级的c 语言去完成这一工作。 ( 2 ) 嵌入式系统的硬件特性 嵌入式系统总是面向特定应用的,与通用p c 的硬件相比,它的硬件系统具有 以下特性: 1 ) 体积小,集成效率高。嵌入式系统总是去除冗余,力争用最小的系统实现最终 的目标功能。 2 ) 面向特定应用的特性。具体嵌入式系统只能适合某一特定应用,针对另一应用 就需要重新设计硬件系统。 3 ) 低功耗,电磁兼容性好,能在恶劣环境下工作,即使死机也要求能够快速重启。 2 1 2 嵌入式系统的应用 嵌入式系统的应用前景是非常广泛的,人们将会无时无处不接触到嵌入式产 品。嵌入式系统是面向应用的,其应用领域十分广泛,可应用在现代化工业及社 会生活的各个领域【3 】。嵌入式系统应用领域可以概括为以下几个方面: ( 1 ) 民用电子装备及机电一体化设备:各种测量仪器仪表;数控装置、工业控制机、 第二章嵌入式系统与对称多处理技术 机器人等工业电子设备;汽车、民航及船舶电子设备;办公自动化设备;计算 机外部设备;通讯控制器及通讯设备;医疗电子设备等。 ( 2 ) 家用电器及消费类电子产品:数字电视机机项盒;录像机、d v d 、手机、可视 电话;掌上电脑、个人数字助理( p d a ) ;家庭网络设备、洗衣机、电冰箱等。 ( 3 ) 国防应用领域:武器控制、军事电子设备、军事通信及指挥系统。 2 2 对称多处理技术 对称多处理( s y m m e t r i c a lm u l t i p r o c e s s i n g ) 是指在一个系统中汇集了一组处理 器,各c p u 之间共享内存以及各种总线结构【l 】。这是最常见的一种多处理器结构, 因为它很容易就可以支持能够保持单处理器外部编程模型的操作系统实现。图2 2 给出了s m p 体系结构的逻辑框图。对于这种类型的体系结构来说,主要有以下几 个特点。 ( 1 ) 所有的c p u 、存储器和y o 都是紧密耦合的【5 1 。做到紧密耦合有几种方法, 但是最简单也是最常用的方法就是用一个公共高速总线把所有的单元都直接互联 起来。这里的总线是基于广播的通信介质,它能够一次传输一个字或者更多个字 的数据,这就可以让连接到总线上的任何单元和任何其它单元进行高速通信。因 为总线高速并行传输许多位数据,所以它的长度是非常有限的。紧密耦合的另一 个含义是指所有的部件彼此都在很短的距离之内。 c p u 朦澜 目隧貔笼施毪缢 c p u 圈 c p u 懑蕊 图2 2s i v i p 结构模型 ( 2 ) 从图2 2 中可以容易地看出共享存储的特点:所有c p u 和y o 设备共用一个 能够全局访问到的存储模块1 1 。c p u 本身没有局部存储器( 1 0 c a lm 锄。呦( 高速缓存 除外) ,它们把其全部的程序指令和数据都保存在全局共享存储器( g l o b a ls h a r e d 基于多核s m p 环境的p p p 协议设计与实现 m e m o r y ) 中。这里最重要的一点在于,一个c p u 保存到主存储器中的数据,所有其 它c p u 都可以立即访问到。也许每个c p u 都有自己的局部高速缓存( 1 0 c a lc a c h e ) , 但没有其它的非共享存储器( n o n s h a r e dm e m o r y ) 。 ( 3 ) s m p 体系结构中最后一个重要的方面是对存储器访问是对称的,这意味着 所有的c p u 和i o 设备都能平等地访问全局共享存储器【l 】。存储器中的内容是完全 共享的,只要是引用相同的数据,那么所有的c p u 和设备都使用相同的物理地址。 对总线和存储器的访问要进行仲裁,从而保证所有的c p u 和设备都能有平等的访 问权利。此外,它们的访问不会互相干扰。y o 设备由于其位置原因,也会以一种 对称的方式由所有c p u 共享,这就让所有的c p u 可以根据需要发起i o 操作。最后, 出于d m a 的目的,y o 设备仍然能够完整地访问全部存储器。这意味着c p u 写的任 何数据都可以借助d m a 被发送到i o 设备,而且所有的c p u 都能访问从设备到存储 器执行d m a 操作的结果。因为i o 设备是通过同样的共享总线来访问存储器的,所 以上面有关c p u 如何对存储器进行访问的所有讨论都可以直接运用到基于d m a 的 y o 设备上。 总之,s m p 的体系结构是单处理器结构在逻辑上的一种扩展:两者的总线、 存储器和i o 结构都是相同的【l 7 1 。通过增加更多的c p u ,就把单处理器系统转变成 了s m p 系统,就像是给系统增加了额外的i o 卡一样。在s m p 系统中可以投入实际 工作的最大c p u 数目受到共享总线和存储器的带宽限制。这个带宽在设计系统的 时候就固定下来了,它必须足以满足系统中所有c p u 和i o 设备的需要,否则系统 的整体性能就会受损。在高性能系统的设计中,设计s 系统的总线和主存储器 子系统能够向c p u 和i o 设备提供适当的带宽是一个很重要的方面。 2 3v x w o r l ( ss m p 概述 v x w o r k s6 6s m p 是风河公司为支持多核处理器实现对称多处理( s m p ) 而开发 的嵌入式操作系统。v x w o r k s 是全球市场上应用最广泛的商用实时操作系统 ( r t o s ) ,风河公司推出支持对称多处理( s ) 的v x w o r k s6 6 版本,全新的 v x w o r k s6 6 版本针对多核处理器s m p 的支持将使开发人员能够进一步在设备产品 中充分发挥多核处理器优势,降低开发的风险、人力投入和投资成本【4 】。另外,风 河还将在w o r k b e n c h 开发套件和w o r k b e n c hf o ro n - c h i pd e b u g g i n g 解决方案中提供 s m p 支持,使客户能够更快速地部署各种复杂的多处理器解决方梨4 】。 v x w o r k ss m p 具备了单处理器r t o s 的显著特性,并且他们之间的区别仅限于 是否支持对称多处理。介绍v x w o r k s 嵌入式操作系统的书或者资料比较多,本文 主要对v x w o r k ss m p 与之前支持单c p u 的v x w o r k s 相比较,重点强调v x w o r k s 8 m p 系统的一些新特性。下面主要介绍v x w o r k ss m p 相对于v x w o r k s6 6 以前的操 第二章嵌入式系统与对称多处理技术 9 一 作系统所独有的些特点。 除了一些特例外,s m p 和u p ( 单处理器) 版的v x w o r k s 的配置共用相同的a p i 函 数。在s m p 的内核和r t p 应用中调用这些a p i 函数跟在u p 下的作用一样。而在u p 的v x w o r k s 配置下,一些a p i 函数不能用于s m p 系统中,所以在s m p 系统中并不提 供该a p i 函数。同样,s m p 系统也提供了一些u p 系统中所没有的a p i 函数。 v x w o r k ss m p 的特性: 1 ) 多任务处理 s m p 改变了传统的单处理器基于优先级的任务抢断式多任务编程技术。这是 因为它允许t a s l d 眼i s r ( 中断服务程序) 的真正并行运行。也就是说在同一个操作系统 的控制下,同一时刻,有多个任务在多个c p u 核心上同时得到运行。单处理器的 多任务处理并不是真正意义上的并行处理,而是并发处理,即在同一时刻,只有 一个任务能得到系统资源而得以运行。任务之间的切换取决于任务调度器的调度 策略和中断的到来。 2 ) 任务调度 和v x w o r k su p ( m - p r o c e s s o r ) - - 样,v x w o r k ss m p 也提供了基于优先级的抢占 式任务调度机制。但是,v x w o r k ss m p 与v x w o r k su p 的不同之处在于,它必须管 理在不同c p u 核心上运行任务的并行性。 3 ) 互斥机制 由于s m p 支持任务的真正并行,因此在单处理器下,为保护重要的代码段所 使用的屏蔽中断和防止任务抢占的机制并不适用于s m p 系统。这些机制会严重影 响多核上任务的并行性,从而降低s m p 系统的性能。v x w o r k ss m p 提供了多核上 特殊的任务与中断之间的互斥机制。 4 ) c p u 的亲和性 一般情况下,t a s k 可以运行在系统中的任何一个c p u 核上,也可以将中断路由 至i j c p uo ( b o o t s t r a pc p l 0 上。然而在一些情况下,我们可以指定特定的任务或者中 断在确定的c p u 上运行,这就是c p u 的亲和性。v x w o r k ss m p 就具有这一能力。 同时c p u 的亲和性具有继承性,即一个任务在运行的过程中,启动了另一个任务, 那么该子任务就继承了其父任务的c p u 亲和性,在运行时也在该c p u 上运行。 第三章系统硬件相关 第三章系统相关硬件 多核处理器即在一个芯片内封装了多个处理器内核,这意味着以前单纯比拼 处理器主频的时代已经过去【l7 1 。多核处理器将更强调多个任务的并行处理能力, 而不是以前所追求的单任务处理能力。多核多线程处理器是通过支持单芯片多处 理器( c m p ) 和同时多线程( s m t ) 技术来实现的。它与通过硬件来提取指令级的并行 的超标量处理器不同,而是通过编译器的支持来提供线程级的并行。本章将对m i p s 多线程技术和m i p s 的多核技术、基于m i p s 核的x l r 7 3 2 多核多线程网络处理器做 一些简单的介绍;并介绍x l r 系列多核多线程处理器可采用的核间通信技术。 3 1 多核多线程处理器的基本概念 目前支持并行处理技术除指令级并行、数据级并行外,比较流行的是线程级 并行2 3 1 。线程级并行主要是指通过运行多个线程程序,充分利用多个c p u 的处理 性能。目前的线程级并行技术分为超流水线技术及多核技术。下面主要介绍r m i 公司的基于m i p s 架构的多线程技术和多核技术。 3 1 1 基于m i p s 核的多线程技术 随着芯片制成工艺的不断进步,从体系结构来看,传统的处理器体系结构技 术已面临瓶颈,晶体管集成度已经过亿,很难通过提高主频来提升性能;从应用 需求来看,日益复杂的多媒体、科学计算、虚拟化等多个应用领域都呼唤更为强 大的计算能力【l 引。在这样的背景下,各主流处理器厂商纷纷将产品战略从提高芯 片的时钟频率转向多线程、多内核【6 】。在持续提高处理器性能的情况下,为满足下 一代系统及其应用的需求,新的处理器设计必须融合创新的架构思想。多线程技 术是孕育新一代处理器最有潜力的技术之一。 随着多核处理器研究的深入,基于m i p s 核的r i s c 多线程处理器得到迅猛发 展。m m s 公司推出的具有4 个硬件线程的3 4 km i p s 核,每一个硬件线程都有自己 独立的寄存器组和m m u ( 存储管理单元) 以及a l u ( 算术逻辑单元) ,可以运行独立的 任务;属于同一个核的硬件线程共享l 1 数据缓存与l 1 指令缓存,而所有核共享l 2 c a c h e 7 】。对于编程人员来说,每个硬件线程类似于一个c p u ,我们称之为虚拟 处理器单元( v c p 。与h t ( 超线程) 技术不同的是,同一时间只能有一个硬件线程 得到运行,剩余的硬件线程得不到运行资源。可以把时钟周期分为4 段,采用r o u n d r o b i n 方式,由硬件进行调度,以使每一v c p u 获得运行资源。如图3 1 所示具有4 个 硬件线程的单核处理器结构 2 1 】。 旦 基于多核s m p 环境的p p p 协议设计与实现 图3 1 具有4 个硬件线程的m i p s 3 23 4 k 核结构示意图 传统单线程处理器执行流水线会被诸如以下的原因阻塞:缓存缺失,分支预 测错误及其流水线互锁事件的发生。而多硬件线程对系统性能的提高来自于能够 最大限度的利用每个时钟周期的计算能力【2 5 1 。由于实际中处理器处理数据的时间 往往很短,而等待f o 等的操作时间却很长,从而降低了c p u 的利用率。在多硬件 线程的情况下,当一个v c p u 数据处理完数据,等待i o 操作或者被阻塞后,在下一 个时间片的到来时,通过硬件切换到下一个v c p u 以运行其他任务,这意味着处理 器的资源使用效率比传统的单核系统要高的多,同时更容易提高系统的性能。图 3 2 显示了单核单线程处理器的流水线运行情况,图3 3 显示了单核多硬件线程处理 器的流水线的运行情况【l 引。 图3 2 内存缺失对流水线的影响 图3 3 采用r o u n dr o b i n 调度法的单核四个硬件线程的运行情况 发挥出任何处理器核性能的关键在于控制流水线中线程的执行方式,使线程 被循环调度执行,以获取最大效率田】。当一个线程停下来等待访问内存时,其它 的线程开始运行以确保共享的硬件资源能够获得最大效率使用( 图3 3 ) ,减d 、c p u 的空闲时钟周期,从总体上提高了c p u 的利用率。由图3 2 可知,单核上每一个硬 件线程并不能充分利用流水线资源;而图3 3 中通过r o u n dr o b i n 调度法调度单核上 的四个硬件线程,从而核的总体流水线资源得到了充分利用。 第三章系统硬件相关 单线程微处理器在等待存储器存取时浪费了很多周期,在相当程度上限制了 系统性能【l5 1 。而多线程技术从根本上解决了这个问题,通过增加处理器的利用率 以减少存储器存储操作带来的影响。当一个线程停止时,其它线程会立刻进入流 水线开始执行,使系统吞吐能力显著增加。目前,多线程已经成为高性能c p u 发 展的一个趋势,i n t e l 、m m 都在开发多线程产品。多核技术并不能从根本上解决存 储器的瓶颈问题,相反处理器多了以后,反而增加了面积和功耗。就共享存储而 言,技术人员更倾向于多线程技术,而不是多核技术。 3 1 2 基于m i p s 核的多核技术 集成电路技术的飞速发展,使芯片的集成度愈来愈高。与其花费巨额成本改 造c p u 核的体系结构,不如像“复制”那样,同时使用多个相同的c p u 核,以很低 的开发成本获得较高的运算性能【1 8 1 。 多核处理器可以看作一个集成了多个c p u 核的s o c 芯片。目前比较流行的r m i x l r 7 3 2 多核多线程网络处理器结构如图3 4 所示。r m ix l r 7 3 2 芯片上集成了8 个 m i p s 核,每一个核有自己的l 1c a c h e ;各个核共享l 2c a c h e ,其同步通过硬件来 实现;每一个核上具有4 个硬件线程,每个硬件线程都有完全独立的寄存器组、 m m u 和a l u t l 4 】。从编程的角度来看,x l r 7 3 2 可以看成共有3 2 个v c p u 的芯片,每 个v c p u 都是一个独立的运行单元,可以独立的调度,互不影响;对于核上多个硬 件线程,在同一时刻只能有一个硬件线程在运作。v c p u 之间可以通过f m n 或者 i p i ( 处理器间中断) 等核间通信技术进行通信。一个c p u 内核上可以运行几个硬件可 以根据实际情况设定,如果一个核上的计算密度比较大,可以只设置一个硬件线 程运行;而对于计算密度比较小的核,可以设置多个硬件线程运行。 x l r 7 3 2 的网络报文处理能力也非常强,它通过网络加速器( n e t w o r k i n g a c c e l e r a t o r ) 将报文进行分类以采用不同的调度算法,使报文在各个核之间以最快 的速度处理。x l r 7 3 2 芯片上还集成了许多功能模块:安全加速引擎、流分类引擎 及大量的高速网络接口。为了加速核间通信,r m i 公司引入了快速消息网络 f m n ( f a s tm e s s a g i n g n e t w o r k ) 机制以达到消息的快速传递。通过快速消息网络 ( f m n ) 将各个内核和网络接口互连,以满足高速通信的需要。 x l r 系列多核处理器与对称多处理器s m p 并没有本质上的差别,只不过多核 处理器将多个c p u 集成到一个芯片上【2 0 】。多核处理器同样面临着对称多处理器 s m p 面临的数据同步和核间通信的问题。 基于多核s m p 环境的p p p 协议设计与实现 图3 4r m ix l r 7 3 2 多核多线程网络处理器结构示意图 3 2x l r 7 3 2d e m o 板硬件平台 本课题是在以m i p s 为内核的r m i 公司的x l r 7 3 2d e m o 板上开发的,其主要构 件有: x l r 7 3 2 多核处理器( 共8 个m p s 6 4 内核,3 2 个线程处理器) ; 4 个d d i 也s d 黜蝴插槽: 4 m 字节的q d r 2s 洲; 4 个吉比特以太网网口; 一个6 4 b i t 的钟频为1 3 3 m h z 的p c i x 接口; 两个p c i e x p r e s s 接1 3 ; 两个s p i - 4 2 接口; 两个串口; 1 2 c 总线接口; 一片3 2 m 的f l a s h ; 用于调试和测试用的e j t a gh e a d e r ; 1 0 个l e d 状态灯; 标准的a t xc 勰e 和功率支持以及n i c 卡。 第三章系统硬件相关 内存 : i e e p r o ml 蕞一 jl j 1r 1r 1 2 i p c i - x 内存控制器 r g m u a p c i xj u lp c i 习“ 插槽 j g m i l b p h y 一 一 四路g e p h y翻 fr g m i i c( v s c 9 2 2 4 h g ) p c i - e x l 一一 l l i t l r g m i l d 插槽j 一 一 ,l o b u s u a r t ; 研删器一了 一丐, 丐 e 呦j ,lb 0 0 7 t f l a s h 一- f _ j t a g , 图3 5x l r 7 3 2d e m o 板结构图 x l r 7 3 2 处理器是r m i 公司开发的基于m i p s 架构的多内核、多硬件线程、高性 能6 4 位微处理器,最高主频为1 g h z 。每个内核不仅实现了标准的m i p s 6 4 架构指令 集,而且增加了r m i 自己对m i p s 指令集的扩展指令,并对多核系统运行时出现的 部分瓶颈做了优化【1 4 1 。x l r 7 3 2d e m o 板上的d d rs d r a m 既可以是内存条,也可 以是焊接在电路板上的s d r a m 芯片,即内存就有灵活的扩展性。该系统平台具有 可靠性高、通信接口多、扩展性强和占用空间小等优点。 3 3x l r 处理器的核间通信技术 多核处理器的各个c p u 核之间需要数据共享和同步通信,因此其核间通信机 制是否高效至关重要。目前,片上高效通信机制主要有两种,一种是通过连接核 心的总线进行通信,以斯坦福大学的h y d r a 处理器为代表;另一种是基于片上的互 连结构,以麻省理工学院的r a w 处理器为代表。下面主要介绍x l r 系列多核处理 器可采用的核间通信技术。 3 3 1f m n ( f a s tm e s s a g i n gn e t w o r k ) n 络 快速消息网络( f m n ) 是r m i 公司为了在其多核多线程网络处理器上实现消息 的快速传递所采用的一种互连结构。f m n 是一个高性能、低延迟的消息传送网络, 它可以实现核与核之间,端口与核之间的消息传递f 1 3 】。f m n 网络结构图如图3 6 所 示。 。 1 6 基于多核s m p 环境的p p p 协议设计与实现 图3 6x l r 7 3 2 网络处理器f m n 结构图 由图3 6 可以看出f m n 互连网络是一个单向环形结构,每一个关键功能模块都 连接到一个f m ns t a t i o n 上。f m n 消息从一个站传递到相邻站只需要花费一个核心 时钟频率的时间,它是面向点对点通信而设计的。有关网络端口的数据包和软件 通信都可以在f m n 上传递,而且不消耗互连的带宽资源,也不会用到v c p u 间通信 所用到的自旋锁( s p i n l o c k ) 和信号量( s e m a p h o r e s ) 。x l r 系列处理器采用了基于信用 ( c r e d i t ) 的消息传递机制和r o u n dr o b i n 调度法来保证各个f m ns t a t i o n 之间的公平性 f 1 3 】。这一机制能保证待传消息被快速地传递到目的地,而且能确保f m ns t a t i o n 不 会因为长时间收不到f m n 消息而出现“饿死( s t a r v e d ) ”现象。在f m n 上所传递的数 据包并不是消息本身,而是指向消息在存储器中存储位置的指针以及相关信息。 这些消息本身则通过分布式存储互连同步存储到存储器上。 3 3 2 内存共享机制 在s m p 的体系结构中,多个处理器共享一个内存空间,多个任务在共享内存 机制下独立运行并相互通信【卅。共享内存机制堪称s 系统的精髓,s m p 中绝大 多数机制都建立在这个基础上。而有意思的是,s 的显著优点( 高速) 和弱点( 缺 乏可测量性) 都源于共享内存这一最突出的特性。共享内存的设计常见的分两种机 制:全共享和部分共享阉。两种机制都允许处理器通过在共享内存中的存取进行 第三章系统硬件相关 通讯。其区别在于全共享将共享所有的数据结构,而部分共享要求用户明确制定 要共享和隶属于唯一处理器的数据结构。全共享的主要缺点在于任一处理器所产 生的动作将影响其他处理器的运行。某些非共享数据结构( 如u n i x 中记录错误返回 值的变量e r m o ) 被共享将会导致处理器与进程之间相互干扰,而部分共享的问题在 于难于确定到底哪些东西需要共享。 r m i 公司的x l r 系列处理器提供了共享内存机制以实现核间通信,一般分为两 种形式:同步机制和异步机制。在同步机制下,例如核1 要与核2 进行通信,在共 享内存中预留一部分空间留给核1 用于向核2 通信。当需要通信时,核1 将要发给核 2 的信息写入给内存中,通过i p i 中断通知

温馨提示

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

评论

0/150

提交评论