




已阅读5页,还剩51页未读, 继续免费阅读
(计算机科学与技术专业论文)多核多线程处理器环境下软件系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 多核多线程处理器环境下软件系统的设计与实现 摘要 信息网络的飞速发展,要求有高性能网络设备的支持;而高性能 的网络设备要求高的处理器性能。为满足这种需求,处理器的设计需 要引入创新的架构思想。多核多线程是目前提高处理器性能的最有前 途的技术之一。 多核技术在体系结构、软件模型、核间通信技术、操作系统设计、 安全性设计等诸多方面存在巨大挑战,同时也存在巨大的潜能。本文 结合当今主流的基于m i p s 核的r m ix l r 系列多核多线程网络处理 器,介绍了多核多线程处理器的基本特点,重点探讨了多核多线程环 境下软件系统的架构问题。 本文的主要工作和贡献如下: 1 重点研究了多核多线程处理器技术,对目前情况下多核多线 程环境的软件系统进行了介绍,分析了非对称多处理、对称 多处理和混合多处理这三种架构模式的优缺点。 2 根据所用硬件平台,实现了多核多线程环境下的软件系统, 着重针对网络通信应用领域进行了设计,对整个系统启动运 行流程进行设计,主要完成如下三部分工作:b o o t l o a d e r 的 设计与实现,l i n u x 系统的移植和v x w o r k sb s p 的移植。 3 针对系统性能出现瓶颈的部分,本文对该系统间的同步及通 信机制进行了分析,并提出了改进意见。 关键字:多核多线程处理器非对称多处理对称多处理 b o o t l o a d e rl i n u xv x w o r k s 北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 s o f r 吼r a r es y s t e md e s i g na n d i m p l e m e n ti nm u i t i c o r ea n d m u 珊t h r e a d i n ge n r o n m e n t a b s t r a c t m u l t i c o r et e c h n o l o g yi sc h a l l e n g e di na r c h i t e c t u r e ,s o f t w a r em o d e l , c o m m u n i c a t i o nt e c h n o l o g yb e t w e e nd i f f e r e n tc o r e s ,o p e r a t i o n s y s t e m d e s i g na n ds e c u r i t yd e s i g nf i e l d ;a tt h es a m et i m e ,h u g ep o t e n t i a le x i s t si n p r o m o t i n gt h ep r o c e s s i n gp e r f o r m a n c e t h i sp a p e ri n t r o d u c e st h em o s t p o p u l a rm u l t i - c o r en e t w o r kp r o c e s s o r - r m ix l rs e r i a l sn pb a s e do n m i p sc o r et e c h n o l o g ya n di t sn e wc h a r a c t e r i s t i c s t h es o f t w a r es y s t e m a r c h i t e c t u r eb a s e do nm u l t i - c o r ei sa l s op r e s e n t e d f o l l o w i n g i st h em a i nw o r ka n dc o n t r i b u t i o no ft h i sd i s s e r t a t i o n 1 t of o c u s0 1 1t h et e c h n o l o g yo fm u l t i - c o r ea n dm u l t i t h r e a d i n g ,i t i n t r o d u c e st h em a i nt h r e es o f t w a r e s y s t e m a r c h i t e c t u r ea n d a n a l y s e st h ea d v a n t a g ea n dd i s a d v a n t a g eo ft h ea s y m m e t r i c m u l t i p r o c e s s i n g ,s y m m e t r i cm u l t i p r o c e s s i n g a n db o u n d m u l t i p r o c e s s i n gm o d e 2 b a s e do nt h eh a r d w a r ep l a t f o r m , i tr e a l i z e dt h es o f t w a r es y s t e m f o rn e t w o r kt e l e c o m m u n i c a t i o n s ,w h i c hc o n s i s to fb o o t l o a d e r d e s i g na n di m p l e m e n t ,l i n u xa n dv x w o r k sp o r t 吨 3 i nt h ee n d ,t h i s p a p e ra n a l y s e ss y n c h r o n i z a t i o n a n d c o m m u n i c a t i o nf o rt h en e c kb o t t l eo ft h es y s t e m i ts u p p l i e sa n a d v a n c e ds o l u t i o nt ot h i sk i n do fp l a t f o r m k e yw o r d s :m u l t i c o r ea n d m u l t i t h r e a d i n g ,a s y m m e t r i c m u l t i p r o c e s s i n g ,s y m m e t r i cm u l t i p r o c e s s i n g ,b o o t l o a d e r , l i n u x , v x 肋r k s 北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计j 实现 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 申请学位论文与资料若有不实之处, 本人签名: 本人承担一切相关责任。 日期:! :盔:! :! 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校攻读 学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部门或机构送交 论文的复印件和磁盘,允许学位论文被查阅和借阅:学校可以公布学位论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守 此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围, 本人签名: 刍羔趾 导师签名: 适用本授权书。 日期:丝:堡:! :! ! 北京邮电大学工学硕士学位论文 多核多线程处理器环境下软件系统的设计与实现 1 1 课题研究背景 第一章绪论 随着计算机硬件技术的迅速发展和现代社会对信息网络处理速度要求的提 高,网络设备供应商希望能够持续增加系统的处理能力;处理器厂商希望能够提 供具有更强处理能力的c p u 。但是传统的依靠提高处理器主频来提升整个系统 的性能已经不可行,而且还会造成投资的浪费。面对凸显出的性能需求矛盾,在 这种情况下提高处理器的总体处理能力是一个亟需解决的问题。 并行性技术成为提高计算机系统性能的主要方案。实时嵌入式领域的迅速发 展,对并行性技术要求愈来愈高。现在基于w e b 的许多应用都要求并行进行; 尤其在网络和服务器方面,对于i o 的处理能力有很高的要求,如高端安全 g a t e w a y v p n i p s e c 等,需要大量的并行计算。这些领域对性能要求的增长速度 远非单个c p u 处理能力所能及的。所有这些都要求处理器朝着多核多线程的并 行性技术方向发展。在嵌入式领域,并行性技术应用对于提高各种多媒体、网络 及通信产品的性能和可扩展性都有重要的意义。并行性技术通过使用多指令流水 线、减少共享资源( 流水线、总线) 的空闲时钟周期以及在多个核上进行负载分 担来提高系统的性能。 研究人员提出过两种不同的处理器结构来实现并行性:一种是多核处理器; 另一种是同时多线程处理器,这两种处理器结构可以充分利用应用的指令级并行 性和线程级并行性,从而显著提高了这些应用的性能。 多核多线程技术的出现,给软件系统结构、软件模型、操作系统设计、核间 通信技术等诸多方面带来巨大挑战,同时也存在巨大的潜能。传统的软件系统越 来越难发挥多核多线程处理器的卓越性能,这就需要软件系统在多核多线程环境 下进行变革。 1 2 选题的意义与价值 当今的网络应用日趋复杂,对性能的要求不断提高。为了实现高性能的网络 设备要求的处理器性能,处理器的设计引入创新的架构思想。多核多线程就是目 前提高处理器性能的最有前途的技术之一。 多核多线程处理器技术的迅速发展,为软件工业带来了新的考验和挑战。多 核多线程处理器在体系结构、软件设计、功耗、安全设计方面都面临着巨大的挑 战,也隐藏着巨大的潜能。 由于目前针对多核多线程处理器的产品设计还主要集中在服务器和高性能 北京邮电大学工学硕:l :学位论文多核多线程处理器环境下软件系统的设计与实现 网络设备上。关于多核多线程产品设计并没有太多的经验可以借鉴,如何发挥出 多核多线程处理器的巨大潜能还需要积极探索。在多核多线程处理器环境下,软 件系统的设计需要开发者了解底层硬件的特点,根据具体的应用环境进行软件系 统的设计,这无疑给开发者带来了挑战。 本论文结合当今主流的多核多线程处理器的特点,为充分利用多核多线程处 理器的硬件资源,对多核多线程处理器环境下的软件系统进行了分析,针对网络 环境应用的特征,设计并实现了a m p 结构方式的软件系统,从而有效提高了整 个系统的性能,具有良好的应用前景。 1 3 论文的主要工作 本文主要对多核多线程处理器系统进行研究,采用基于m i p s 体系结构的 r m ix l r 7 3 2 作为处理器,在硬件平台设计开发完毕的基础上,完成了主要的理 论研究、软件系统设计与系统实现方面的工作。 在深入分析r m ix l r 7 3 2 处理器多核多线程技术、地址空间、虚实地址转 换、异常和中断以及虚拟模式的理论基础上,针对网络应用领域,对软件系统进 行了设计,并对软件系统的各部分给予实现。主要包括b o o t l o a d e r 的设计与实现, m i p s l i n u x 系统的移植,v x w o r k sb s p 的移植三部分,重点设计并实现了多核 多线程环境下整个软件系统的加载运行流程。最后针对多核多线程处理器环境下 系统性能出现瓶颈的部分进行了分析,并提出改进的方法和手段。 1 4 论文组织 本文的组织方式如下: 第一章简介了本文工作进行的背景、研究意义和主要完成的工作;第二章分 析了多核与多线程两种多处理技术,考察了其指令级并行的特点,分析其中的关 键性技术,介绍了m i p s 多核多线程处理器体系结构以及硬件开发平台的基本情 况;第三章对多核多线程处理器环境下软件系统进行了设计,重点分析不同的软 件架构的优缺点,针对网络应用领域提出了具体的架构;第四章以第二、三章的 内容为基础,进行了处理系统原型的实现,该章详细地介绍了系统组件,实现流 程,实现过程中采取的软件系统架构以及实现技术;第五章总结了本文主要的工 作,并对未来进行了展望。 1 5 本章小结 本章首先对多核多线程技术进行了概要性介绍,提出本文的选题背景。其次, 2 北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 对选题的意义与价值进行阐述,并介绍了论文的主要工作。最后给出论文的组织 结构。 3 北京邮电大学工学硕上学位论文 多核多线程处理器环境下软件系统的设计与实现 第二章m i p s 多核多线程处理器系统分析 2 1 多核多线程处理器系统简介 随着集成电路c m o s 制造工艺的持续提高,单个门电路的尺寸都在不断变 小,基于半导体的微电子技术的物理极限问题成为一个重要的设计所关心的问 题。物理极限的影响造成了散热及数据同步问题。对于更复杂、处理能力更强的 处理器的需求促使处理器设计人员利用各种各样的可行方案提高处理器的性能 超标量( s u p e r s c a l a r ) 和流水线( p i p e l i n i n g ) 技术对于包含不可预测代码的应用 场合并不适合。在性能提升方面,处理器主频,内存访问速度以及i o 访问速度 的发展是十分不平衡的。处理器的主频每两年就要翻一番,内存访问的速度要每 六年才能提高一倍,而i o 访问的速度要提高一倍的话需要八年的时间。所以处 理器与i o 的发展不均衡已经成为很大的瓶颈,单纯依靠提高处理器主频来提升 整个系统的性能已经不可行,而且还会造成投资的浪费。高频处理器的设计对工 艺要求非常高,生产难度大,成品率也较低,因此造成生产的成本居高不下。 在这种情况下,并行计算技术成为解决这一问题的唯一方案。线程级并行 t l p ( t h r e a dl e v e lp a r a l l e l i s m ) 计算技术对于很多应用场合都是合适的,它通过 利用多个独立的c p u 来提高系统的性制。时至今日,集成电路技术的发展及 减少系统占用面积的要求最终促使了多核处理器的出现。 对于线程级并行,研究人员又提出过两种不同于传统的单核处理器的结构: 单片多处理器( c h i pm u l t i p r o c e s s o r ,c m p ) 与同时多线程处理器( s i m u l t a n e o u s m u l t i t h r e a d i n g ,s m t ) 【2 1 ,这两种处理器结构可以充分利用这些应用的指令级并 行性和线程级并行性,从而显著提高了这些应用的性能。 多核多线程处理器是通过支持单片多处理器( c m p ) 和同时多线程( s m t ) 的组合来实现的。多核多线程处理器由多个简单的同时多线程处理器核构成,它 提供了一种更加简单有效的方法去提高集成度。它不同于超标量处理器通过硬件 来提取指令级的并行,是通过编译器的支持,多核多线程处理器可以提供一种线 程级的并行。由于它由多个简单的同时多线程处理器,所以它就可以拥有单片多 处理器主频高、设计和验证时间短的优势,又拥有同时多线程资源利用率高的优 势,从而大大提高程序的运行效率。目前,越来越多的芯片生产商和研究机构都 将注意力放在了多核多线程处理器的研究上。 正是因为多核与多线程技术的大量使用,使得处理器处理能力能跟上时代发 展,因此从i n t e l 到s u n ,再到m m ,没有一个不重视多核多线程技术的发展, 并且力推多核多线程处理器的使用,如今商用的多核多线程处理器也越来越多, 4 北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 下业界具有典型意义的多核多线程处理器主要有i n t e l 的p e n t i u m ,s u n 的 u l t r a s p a r c 和异构多核的c e l l 。 1 x 8 6 :在基于x 8 6 架构的多核这方面,起领导地位的厂商主要是a m d 和i n t e l 这两家。其中,i n t e l 拥有自己的s m t 技术超线程。超线程 ( h y p e rt h r e a d i n g ) 从本质上来说是同时多线程技术( s m t ) 的一种, 超线程处理器被应用程序视为两个分离的逻辑处理器,每个逻辑处理器 都可独立响应中断,有效避免了一个线程执行的同时另一个线程闲置的 状况。 2 s p a r e :s u n 公司研发代号为n i a g a r a2 的u l t r a s p a r ct 2 处理器也许 是目前集成度最高的处理器了,新一代u l t r a s p a r ct 2 处理器带有8 个 核心,每个核心支持8 个线程,这使得一颗处理器便具有6 4 个逻辑处理 器,是目前处理器之最。目前处理器由1 1 负责制造,采用s o c 设计, 共推出1 2 g i - i z 与1 4 g h z 两种频率。n i a g a r a2 在架构与性能上相较第一 代n i a g a r a 处理器都有相当多的提升,并且是目前业界浮点运算量最高 的处理器。到今年下半年s u n 还将推出1 6 核心的r o c k 处理器。s u n 公 司的多核多线程处理器设计反映了整个业界的发展趋势。 3 c e l l : c e l l 是i b m 、t o s h i b a 和s o n y 共同研发的处理器,这款处理器是 以多功能平行架构设计,具备多工、多效以及庞大的浮点运算功能,最 高频率达4 6g h z 。c e l l 处理器的用途广泛,能用于各种不同的层面。 c e l l 具有许多不同于传统c p u 的独到之处,比如它的异构的多核架构、 实时处理技术、高速并行数据传输技术和并行编译技术,正推动着计算 机体系结构的发展。c e l l 是一款典型的a m p 架构的处理器,它包含9 个核心:1 个“位的p p e 控制核心和8 个完全一样的s p e 运算核心。 第一代的c e l l 未实现多线程技术,新一代的c e l l 针对p p e 的部分进行了 双线程扩展。 此外对于m i p s 体系结构,比较重要的有r m i 的x l r 与x l s 系列的多核多 线程网络处理器。本论文将重点以r m ix l r 7 3 2 处理器为例,探讨多核多线程 处理器系统的实现。 2 2 硬件平台概况 2 2 1r m ix l r 7 3 2 处理器 r m ix l r 7 3 2 是r m i 公司开发的基于m i p s 架构的多内核、高性能6 4 位 m i p s 微处理器,最高主频1 g h z 。芯片集成了8 个内核,每个核又具备4 个硬 5 北京邮电大学工学硕上学位论文 多核多线程处理器环境下软件系统的设计j 实现 件线程。每个内核不仅实现了标准的m i p s 6 4 指令集架构,而且增加了部分专用 扩展指令,针对多核系统运行时出现的部分瓶颈做出了优化【3 j 。图2 - 1 介绍了 r m ix l r 7 3 2 处理器的概况。 图2 - 1r m ix l r 7 3 2 处理器概览 r m ix l r 7 3 2 是一种紧耦合共享内存对称式多处理器( s m p ) 。s m p 系统定 义为通过一个公共高速总线,将多个相同的处理器与内存和i 0 设备等一系列外 围设备连接起来的系统。“对称”意味着每个处理器在访问共享内存和外围设备 时,访问机制相同。所谓“紧耦合 是指各内核个体之间距离很近,并通过一个 通用高速总线实现物理互连。这些内核通过公共高速总线共享一个全局内存模块 ( 即共享内存) 以及诸多外围设备。因此,多核处理器可以看作一个集成了多个 核的s o c 芯片。r m ix l r 7 3 2 多核处理器结构如图2 2 所示。 6 北京邮电丈学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 图2 - 2r m ix l r 7 3 2 内部结构框图 主要特点如下。 1 r m ix l r 7 3 2 芯片上集成了8 个m i p s 核。每一个核有自己的l 1 级数据缓 存( c a c h e ) 与指令缓存( c a c h e ) :各个核共享l 2 级缓存,并通过硬件实 现同步;每一个核上具有4 个硬件线程。每一个核都是一个独立的运行 单元,可以独立的调度,互不影响:对于核上多个硬件线程,在同一时 刻只能有一个硬件线程执行。可以根据每一个核上计算密度来对核上的 硬件线程进行设置。对于计算密度比较大的核,可以只设置一个硬件线 程运行;对于计算密度比较小的核,可以设置多个硬件线程运行。 2 8 个内核共享2 m b 二级高速缓存( l 2c a c h e ) ,支持 d d r l d d r 2 r l d r a m 。 3 为了加速网络报文的处理速度,r m ix l r 7 3 2 芯片上还集成了许多功能 模块:安全加速引擎、流分类引擎及大量的高速网络接口。为加速核间 通信,引入快速消息网络f m n ( f a s tm e s s a g i n gn e t w o r k ) 机制。通过快 速消息网络f m n 将各个核和网络接口互连,以实现高速通信的需要。 7 北京邮电大学工学硕一t 学位论文 多核多线程处理器环境下软件系统的设计与实现 对于软件系统来说,多核处理器本质上与对称多处理器s m p 并没有本质上的 差别,只不过多核处理器将多个c p u 集成到一个芯片上。多核处理器同样面临着 对称多处理器s m p 面临的数据同步和核间通信的问题。 2 2 2 硬件平台系统设计框图 图2 - 3r m ix l r 7 3 2 的应用框图 图2 - 3 是r m ix u t 7 3 2 的应用框图,配合不同的外围器件,构成多种应用方 式。d d rs d r a m 既可以是内存条,也可以是焊在电路板上的s d r a m 芯片。 本平台的s d r a m 芯片为焊接在板上的方式。串行设备有e e p r o m 和实时时钟 芯片等,其它设备有u s b 控制器等。本系统平台具有可靠性高、扩展性强、通 信接口多、占用空间少,适用于大型路由器、v o l p 网关、交换机、无线基站等 网络通信领域。 8 北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 2 3x l r 处理器的多核与多线程结构 2 3 1 多核与多线程技术分析 多核,即多微处理器核心,是将两个或更多的独立处理器封装在一个集成电 路( 1 c ) 中的方案。一般说来,多核微处理器允许一个计算设备执行某些形式的 线程级t l p 并行处理,这种形式的并行处理通常被认为是芯片级别多处理c m p ( c h i p 1 e v e lm u l t i p r o c e s s i n g ) 。通过利用多指令流水线,减少共享资源( 流水线、 总线) 的空闲时钟周期以及在多个核上进行负载分担来提高系统性能。通过在多 个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。 操作系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分 利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与目 前对称多处理( s m p ) 系统的设计流程相同,并且现有的单线程应用也将继续 运行。得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充 性,此类软件包括多媒体应用( 内容创建、编辑,以及本地和数据流回放) 、工 程和其他技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应 用。 多核处理器主要具有以下几个显著的优点: 1 控制逻辑简单:相对超标量微处理器结构和超长指令字结构而言,单芯 片多处理器结构的控制逻辑复杂性要明显低很多。相应的单芯片多处理 器的硬件实现必然要简单得多。 2 高主频:由于单芯片多处理器结构的控制逻辑相对简单,包含极少的全 局信号,因此线延迟对其影响比较小,因此,在同等工艺条件下,单芯 片多处理器的硬件实现要获得比超标量微处理器和超长指令字微处理 器更高的工作频率。 3 低通信延迟:由于多个处理器集成在一块芯片上,且采用共享c a c h e 或 者内存的方式,多线程的通信延迟会明显降低,这样也对存储系统提出 了更高的要求。 4 低功耗:通过动态调节电压频率、负载优化分布等,可有效降低c m p 功耗。 5 设计和验证周期短:微处理器厂商一般采用现有的成熟单核处理器作为 处理器核心,从而可缩短设计和验证周期,节省研发成本。 总之,单芯片多处理器通过在一个芯片上集成多个微处理器核心来提高程序 的并行性。每个微处理器核心实质上都是一个相对简单的单线程微处理器或者比 较简单的多线程微处理器,这样多个微处理器核心就可以并行地执行程序代码, 9 北京邮电大学,t 学硕十学位论文多核多线程处理器环境下软件系统的设计与实现 因而具有了较高的线程级并行性。由于c m p 采用了相对简单的微处理器作为处 理器核心,使得c m p 具有高主频、设计和验证周期短、控制逻辑简单、扩展性 好、易于实现、功耗低、通信延迟低等优点。此外,c m p 还能充分利用不同应 用的指令级并行和线程级并行,具有较高线程级并行性的应用如商业应用等可以 很好地利用这种结构来提高性能。目前单芯片多处理器已经成为处理器体系结构 发展的一个重要趋势。 在本论文中,多线程技术均指同时多线程( s m t ) ,也称为硬件线程。这种 技术着重挖掘了线程级和指令级的并行性,在提高c p u 性能方面走出了一条新 路。 同时多线程( s m t ,s i m u l t a n e o u sm u l t i t h r e a d i n g ) 技术挖掘了线程级和指令 级的并行。在s m t 处理器中,线程级的并行可以是一个多线程程序中的多个线 程并行、一个程序内并行进程的并行或者相互独立的程序间的并行。指令级并行 来自于线程或程序内部。由于开发了两种类型的并行,s m t 处理器可以更有效 地利用资源,并可以提高指令吞吐率和运算加速比。 同时多线程处理器综合了多发射的超标量处理器和多线程处理器的特性。同 时多线程处理器可以在一个时钟周期内发射多条指令,这是继承于超标量处理的 特性;和多线程处理器类似,s m t 处理器为多个线程保留了硬件现场。 硬件现场的保留,使得硬件线程得以快速切换,从而最大限度地利用每个时 钟周期的计算能力。这意味着处理器的资源使用效率比传统的单核系统要高的 多,同时更容易提高系统的性能。原因在于传统单线程处理器执行流水线会被诸 如以下的原因阻塞:缓存缺失,分支预测错误及其流水线互锁事件的发生。图 2 4 与图2 5 显示了单核和具有多硬件线程的核的流水线的运行情况。 线程 i o l dm i s sm i s s p r o ci _ p d ml o o p m i d m i s sm i s sm i s sm i s sm i s s m i s s | l - - 。j l - - - - - - - l - - - - - - l j ,- j - j - 、j 一- - - - - - l - - i l j 图2 4 内存缺失对流水线的影响 线程l 匡正丑三匝王习互正习三正丑三庄瑁 线程2 匡正丑三庄工丑三正习三正丑三庄咽 线程3 匡正丑亘庄王习三正丑三匡工习三正丑丑 核匡正丑三叵王圈三正丑三叵王丑亘压丑丑 图2 - 5 具有3 个硬件线程的运行情况 发挥出任何处理器核性能的关键在于控制流水线中线程的执行方式,使线程 被循环调度执行,以获取最大效率。当一个线程停下来等待访问内存时,其它的 1 0 北京邮电大学工学硕:t 学位论文多核多线程处理器环境下软件系统的设计与实现 线程开始运行以确保共享的硬件资源能够获得最大效率使用( 图2 5 ) ,减小c p u 的空闲时钟周期,从总体上提高了c p u 的利用率。在图2 5 中显示了单核上每 一个硬件线程并不能充分利用流水线资源,但通过调度单核上的三个硬件线程, 该核的总体流水线资源得到充分利用。 然而在目前情况下,超标处理时加大并行发射的指令的宽度一般不会带来显 著的性能提高,这是因为现有的应用程序指令级并性度( 1 l p ) 很低。多线程处 理器试图每时钟周期每个线程发射一条指令。对于某些线程级并行度( t l p ) 很 低的应用程序,c p u 的性能会因此而显著降低,且由于线程内部指令并行度的 限制,某些线程存在零指令发射周期。 s m t 技术提高了功能部件的利用率,从而获得高指令吞吐率和加速比。处 理器为各个线程动态分配资源,为功能部件的高利用率提供了可能。如果某个进 程有较高的指令级并行度,这种特性可以得到满足;如果多个进程中每个的i l p 都较低,多线程并行执行就会补偿这种指令级并发度的缺陷。这样,s m t 从水 平和垂直两个方向覆盖了运算资源的浪费。 s m t 技术提高了功能部件的利用率,从而获得高指令吞吐率和加速比。处 理器为各个线程动态分配资源,为功能部件的高利用率提供了可能。如果某个进 程有较高的指令级并行度,这种特性可以得到满足;如果多个进程中每个的i l p 都较低,多线程并行执行就会补偿这种指令级并发度的缺陷。这样,s m t 从水 平和垂直两个方向覆盖了运算资源的浪费。 当然这种结构也对设计上带来不少挑战,如寄存器文件需要支持比以往更多 访问请求,更高的访问带宽:如何处理多个运算请求:如何将指令分配到各个功 能单元等。 2 3 1x l r 处理器的多核与多线程结构 多核处理器可以看作一个集成了多个核的s o c 芯片。r m ix l r 7 3 2 芯片上集 成了8 个m i p s 核。每一个核有自己的l 1 级数据缓存( c a c h e ) 与指令缓存( c a c h e ) ; 各个核共享l 2 级缓存,并通过硬件实现同步;每一个核上具有4 个硬件线程。 每一个核都是一个独立的运行单元,可以独立的调度,互不影响:对于核上多个 硬件线程,在同一时刻只能有一个硬件线程在运作。可以根据每一个核上计算密 度来对核上的硬件线程进行设置。对于计算密度比较大的核,可以只设置一个硬 件线程运行;对于计算密度比较小的核,可以设置多个硬件线程运行。 为了加速网络报文的处理速度,r m ix l r 7 3 2 芯片上还集成了许多功能模 块:安全加速引擎、流分类引擎及大量的高速网络接口。为加速核间通信,引入 快速消息网络f m n ( f a s tm e s s a g i n gn e t w o r k ) 机制。通过快速消息网络f m n 北京邮电大学工学硕上学位论文 多核多线程处理器环境下软件系统的设计与实现 将各个核和网络接口互连,以实现高速通信的需要。 _ 。i o r y u 一绋删 b 哺艚c ol l 一。 ll 。l 。审申,申申申审申茸 图2 - 6r m i x l r 7 3 2 多核结构示意图 图2 6 显示了r m ix l r 7 3 2 多核以及f m n 结构。对于x l r 处理器,每一 个核拥有4 个硬件线程,每一个硬件线程都有自己独立的寄存器栈,可以运行独 立的任务;属于同一个核的硬件线程共享u 数据缓存与u 指令缓存。 每一个硬件线程类似于一个虚拟处理器单元( v c p u ) 。与超线程h t 技术不 同的是,同一时间只能有一个硬件线程得到运行,剩余的硬件线程得不到运行资 源。为了让每一硬件线程( v c p u ) 得到运行时间,可以通过时间片轮转的方式 由硬件进行调度或者由操作系统的调度程序来进行调度。具有4 个硬件线程的单 核结构如图2 - 7 所示【4 j 。 3 2 kl 1d c a c h e 3 2 kl 1l - c a c h e x l rc o r e 图2 - 7 具有4 个硬件线程的m i p s 核结构示意图 2 4x l r 处理器体系结构 r m ix l r 7 3 2 是r m i 公司开发的基于m i p s 架构的多内核、高性能6 4 位 m i p s 微处理器,芯片集成了8 个内核,每个核又具备4 个硬件线程。每个内核 1 2 量 北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 实现了标准的m i p s 6 4 指令集架构。 在众多类型的r i s cc p u 体系中,m i p s ( m i c r o p r o c e s s o rw 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 ) 是相当成功的一种。自从1 9 8 3 年j o h nh e n n e s s y 在斯坦福大学 成功地完成了第一个采用r i s c 理念的m i p s 微处理器以来,基于m i p s 架构的 c p u 在网络、通信、多媒体娱乐等领域得到了广泛应用。r m ix l r 7 3 2 便是r m i 公司针对网络应用领域开发的一款多核多线程处理器。 为实现基于m i p s 多核多线程处理器的软件系统,必须对其处理器系统结构 深入了解,因此这部分重点阐述处理器体系结构相关内容。 2 4 1 虚拟地址空间分配 x l r 处理器可供选择的操作模式有内核模式、超级用户模式和用户模式三 种,对于不同的操作模式,其地址空间访问权限是不同的。 在3 2 位地址模式下,x l r 7 3 2 处理器的虚拟地址空间分配如表2 1 所示【5 1 : 表2 - 1m i p s 处理器虚拟地址分配表( m i p s 3 2 ) 物理地址空间大小( 字节)说明 0 x 0 0 0 0 0 0 0 0 0 x 7 任f f f f fk u s e g2 g ( 使用t l b 映射)三种模式都可访问 o x 8 0 ( ) 0 0 0 0 0 o x 嘶掰髓k s e g o5 1 2 m ( 不使用t l b ) 仅内核模式可访问 0 x a 0 0 0 0 0 0 0 0 x b f ! f ! i j 6 fk s e g l5 1 2 m ( 不使用1 1 卫) 仅内核模式可访问 0 x c a l 0 i d o 0 0 0 0 x d f 田珏k s s e g5 1 2 m ( 使用t l b ) 内核模式与超级用户 模式可访问 0 x e 0 0 0 0 0 0 0 0 x f e 咄k s e g 35 1 2 m ( 使用t l b )仅内核模式可访问 其中k s e g 0 可以使用c a c h e ,k s e g l 不能使用c a c h e 。因此对于同样的操作, 使用k s e g 0 地址空间进行操作的效率要高于使用k s e g l 地址空间。 2 4 2 虚拟地址与物理地址转换 x l r 7 3 2 处理器对于虚拟地址与物理地址之间的转换是通过t l b 机制来实 现的,由表2 1 可以看出,不同的地址空间决定是否选择使用t l b 映射机制。 如对于k s e g 0 和k s e g l 两个地址空间来说,不选择使用t l b 映射,因而也就 不使用t l b 映射机制来实现虚拟地址到物理地址的转换,直接利用虚拟地址= 物理地址+ k i b a s e ( 或者k o b a s e ,k 1 b a s e 为0 】【a 0 0 0 0 0 0 0 ,k o b a s e 为 0 】【8 删0 ) 实现转换。而对于k u s e g ,k s s e g ,k s e g 3 三个地址空间都使 用t l b 映射,所以需要通过t l b 机制来实现虚拟地址向物理地址的转换1 6 l 。 图2 8 描述了虚拟地址向物理地址通过t l b 转换的过程。 北京邮电大学工学硕上学位论文 多核多线程处理器环境下软件系统的设计与实现 1 v p n ( 虚拟负晒号,虚拟地址的 南垃1 ) 与丁l b l l l 的棚廊城进 n 匕较 2 姻粜匹配从t l b 巾输:l 【f n ( 页鲥顿号,物理地址的高位) 3 偏移值0 f f s e t 部分直接与 洲链接即可获得物理地址 虚拟地址 物理地址 图2 1 8 虚拟地址与物理地址通过t l b 进行转换的过程图 2 4 3 协处理器o ( c p 0 ) c p 0 寄存器是c p u 的核心部分,支持存储系统管理、地址转换、异常处理 和基于优先级的操作。x l r 7 3 2 所包含的c p 0 寄存器如表2 2 所示 7 1 : 表2 2c p 0 寄存器表 寄存器 寄存器名描述种类 号 0索引( i n d e x )索引t l b 入口时使用m s m 1随机( r a n d o m )索引t l b 入口时使用m s m 索引t l b 入口低位部分( b i t 0 3 1 ) 2低a , n0 ( e n t r y l o o )m s m 的偶数虚拟页面 索引t l b 入口低位部分( b i t 3 2 6 3 ) 3 低入口1 ( e n t r y l o d m s m 的偶数虚拟页面 4上下文 指向存储页面入口表的指针e p 5页面屏蔽控制t l b 入口页面大小m s m 6w i r e d 控制固定t l b 入口的数量m s m 7 保留 非法虚拟地址 8 存放最后一次出现地址异常的地址 e p ( b a d v a d d r ) 9时钟计数器( c o u n t )时钟计数e p 1 0 高入口( e n t r y h i ) 索引t l b 的高位部分( b i t6 4 9 5 )m s m 1 1 比较( c o m p a r e ) 时钟中断控制 e p 1 4 北京邮电大学工学硕士学位论文多核多线程处理器环境下软件系统的设计与实现 1 2状态( s t a t u s ) 处理器状态和控制 e p 1 3原因( c a u s e ) 最后一次产生异常的原因 e p 1 4异常程序计数器( e p c )最后一次产生异常的程序计数器e p 1 5处理器版本号( p r i d ) 处理器版本号m s m 1 6 配置( c o n f i g ) 配置寄存器m s m 1 7装载链接地址( l l a d d r )保留m s m 1 8低监控( w a t c h l o ) 存储结构陷入低地址e p 1 9高监控( w a t c h h i )存储结构陷入高地址e p 2 06 4 位上下文( x c o n t e x t )6 4 模式内核虚拟p t e 指针e p 2 1 2 5保留 奇偶校验错( p a r i t y 2 6奇偶校验e p e r r o r ) 高速缓存错( c a c h e 2 7c a c h e 操作错误e p e r r o r ) 2 8 低标签( t a g l o ) c a c h e 标签低位m s m 2 9 高标签( t a g h i ) c a c h e 标签高位m s m 错误异常程序计数器 3 0 最后一次错误的程序计数器 e p ( e r r o r e p c ) 3 1保留 其中:m s m 指存储系统管理;e p 指异常处理;e p 指异常处理。 2 4 4 协处理器2 ( c p 2 ) c p 2 是m i p s 标准中留给片上系统使用的,x l r 系列处理器对c p 2 进行了 扩展,主要用于核问通信,通过x l r 实现的专有的快速消息网络( f m n ) 进行 信息交互。表2 3 为c p 2 寄存器表,主要有如下重要的寄存器: 表2 3c p 2 寄存器表 寄存器号寄存器名描述 0传输缓冲( t r a n s m i tb u f f e r ) 消息环形网络传输缓冲 1接收缓冲( r e c e i v e rb u f f e r )消息环形网络接收缓冲 2 消息状态( m s g s t a t u s )最近一次传输与接收的消息状态 2消息状态1 ( m s g s t a t u s l ) 附加的消息状态 3 消息配制( m s g c o n f i g ) 消息中断的配置状态 3 消息配制( m s g c o n f i 9 1 )附加的消息配制状态 北京邮电大学工学硕十学位论文 多核多线程处理器环境下软件系统的设计与实现 4消息桶大小( m s g b u c k e t s i z e ) 每个消息桶的大小 5 1 5保留 保留 1 6 3 1计数器( c r e d i tc o u n t e r s )信用计数器 2 4 5 异常和中断理论分析 任何一个c p u 都要提供一个详细的异常和中断处理机制。一个软件系统, 如操作系统,就是一个时序逻辑系统,通过时钟,外部事件来驱动整个预先定义 好的逻辑行为。系统调用( s y s t e mc a l l ) 其实就是一段e x c e p t i o n 处理程序。对 于m i p s 体系的c p u ,中断就是异常的一种。在异常发生之前的一切行为都会结 束,在异常发生之后的一切行为都将不予考虑。 m i p s 的异常来源有多种,包括t l b 未命中、算术溢出、输入输出中断和 系统调用等。当c p u 检测到有异常产生时,当前执行的正常指令序列将被挂起, 处理器进入内核模式。如果在执行m i s p l 6 指令时出现异常,将切换到3 2 位指 令模式。然后处理器屏蔽中断,并将处理控制权移交异常处理函数。异常处理函 数保存处理器状态,包括程序计数器( p c ) 、当前的操作模式和一些足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年司法行政考试试题及答案
- 2025湖南省湘西民族职业技术学院公开招聘工作人员45人考前自测高频考点模拟试题及一套完整答案详解
- 2025恒丰银行成都分行春季校园招聘6人模拟试卷及参考答案详解一套
- 2025辽宁沈阳市政府国资委市属国有企业外部董事人才库拟入库人员模拟试卷附答案详解
- 2025年渭南光明电力集团有限公司招聘(3人)考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年台州三门县医疗卫生单位公开招聘卫技人员12人考前自测高频考点模拟试题含答案详解
- 2025黑龙江青冈县中小微企业服务中心招聘公益性岗位2人考前自测高频考点模拟试题及答案详解1套
- 2025广东东莞市谢岗镇政府第一食堂招聘厨师长、副厨2人考前自测高频考点模拟试题附答案详解
- 2025年泉州德化阳山铁矿有限责任公司招聘劳务派遣人员模拟试卷及答案详解(名师系列)
- 2025江西上饶市信州区投资控股集团有限公司第一次招聘6人模拟试卷及答案详解(全优)
- 2025至2030年中国电动场地车行业竞争战略分析及市场需求预测报告
- 胖东来考勤管理制度
- 公司举办台球赛策划方案
- DZ 53-1987沉积岩分散有机质中镜质组反射率测定方法
- 小区物业管家管理制度
- T/DZJN 168-2023废旧动力电池有价金属回收率计算与检测方法
- 超市水产合作商协议书
- 第三届全国技能大赛竞赛-无人机驾驶(植保)选拔赛备考试题库(附答案)
- 市场营销合同协议书
- 危险性较大的分部分项工程专项施工方案严重缺陷清单(试行)2025解读
- 数控装调与维修实训安全教育
评论
0/150
提交评论