




文档简介
电子科技大学 硕士学位论文 基于多核系统的内存管理研究 姓名:何进仙 申请学位级别:硕士 专业:计算机系统结构 指导教师:李毅 20090501 摘要 摘要 随着半导体工艺的发展以及应用的推动,片上多处理器( c h i p m u l t i p r o c e s s o r , c m p ) 已成为构造现代高性能微处理器的唯一技术途径。传统超标量指令发射技 术无法从典型程序指令流中发掘出足够多的并行性,使得单核微处理器的性能再 也无法有效扩展。另外,处理器的功耗与散热问题日趋严重,除非使用水冷散热 系统,否则很难继续依靠简单提高时钟频率的方法来改善微处理器性能。传统单 核处理器架构面临挑战,取而代之的多核处理器应运而来。 微处理器体系结构的变化,对操作系统的设计者提出了新的挑战,操作系统 需要为多核处理器提供与其计算性能相适应的设计决策。内存管理子系统是系统 内核中最重要的组成部分之一,是整个系统得以存在和运行的基础。拥有一个强 大和完备的内存管理子系统是构建一个具有高可靠性以及可伸缩性系统的必备条 件。多核系统在不同的处理器上可以并发执行不同的任务,实现真正意义上的并 行执行。多个任务共享内存,除了要求互斥访存之外,还要求对有限的内存资源 充分利用。因此,需要对l i n u x 操作系统内核的某些数据结构和算法进行优化, 以满足多核应用的要求。 l i n u x 操作系统采用分页式内存管理方式,它的内存管理算法是经典的伙伴 算法。伙伴算法中对于伙伴内存块的定义要求互为伙伴块的两个内存块大小相等、 地址连续并且出自同一个更大的内存块。这样的要求使得l i n u x 操作系统在整个 内存的管理上十分简洁,动态分配和回收内存算法简便。然而,在一些情况下会 出现系统中存在着足够大的连续内存,但是这样的连续内存却不符合伙伴算法要 求,因此无法得到合并利用,在一定程度上影响到了整个系统的内存利用率。本 文对伙伴算法进行改进,修改原伙伴算法的分配和释放,改进的内存管理算法不 仅可以使l i n u x 对原有伙伴内存块进行维护、管理,同时还可以对放宽的伙伴块 进行管理,在一定程度上提高了l i n u x 对于内存资源的利用率。最后针对多处理 器环境的特点,对改进之后的伙伴算法提出针对多处理器系统的改进思路,使改 进之后的伙伴算法能更好的适应于多处理器系统的处理环境,实现页面分配和回 收的真正并行,使得l i n u x 操作系统真正适用于性能要求更高的多核应用。 关键词:多核处理器,对称多处理器,l i n u x 内存管理,伙伴算法 a b s t r a c t a st h ed e v e l o p m e n to fs e m i c o n d u c t o rt e c h n i c sa n di t sa p p l i c a t i o n , ab r a n dn e w c h i pm u l t i p o r c e s s o r , o rc m ph a sb c c x y m ot h es i n g l ew a yt o c o n s t r u c tt h em o d e m m i c r o p r o c c s s o ro fh i g hp e r f o r m a n c e t h ec o n v e n t i o n a lo m i s s i o nt e c h n o l o g yo fs u p e r s c a l a ri n s t r u c t i o n sc a nn o te x c a v a t et h ep a r a l l e l i t ym o r ee n o u g hf r o mi n s t r u c t i o n s t r e a m si nat y p i c a lp r o g r a m m e ,w h i c hi nt u r nc o n s t r a i n st h ei m p r o v e m e n to ft h e p m o r m a n c o nt h es i n g l em i c r o p r o s s o r t om a k et h i n g sw o r s e t h ep r o b l e m so f e n e r g y - c o n s u m i n ga n dh e a td i s s i p a t i o na r cm o r es e r i o u s u n l e s sa w a t e rc o o l i n gs y s t e m i su s e d , t h ep e r f o r m a n c eo ft h em i c r o p r o c e s s o rc a l lh a r d l yb ep r o m o t e db ym e a n so f m e r e l yi n c r e a s i n gt h ec l o c kf t e q u e n c y t h u s ,t h em u l t i - p r o c e s s o ro o m e st oi t sb i r t h 诵m t h ec h a l l e n g e sm e n t i o n e da b o v e t h ev a r i a t i o no fm i c r o p r o c e s s o ra r c h i t e c t u r ec h a l l e n g e st h ed e s i g n e r so ft h e o p e r a t i n gs y s t e m s t h eo p e r a t i n gs y s t e ms h o u l dp r o v i d ec o r r e s p o n d i n gs t r a t e g i e sf o r m u l t ip r o c e s s o r st oa c c o r dw i t ht l l e i rc o m p u t i n ga b i l i t y t h em e m o r ym a n a g e m e n t s u b s y s t e mi so n eo f t h em o s ti m p o r t a n tp a r t si nt h es y s t e mk e m df o ri ti st h ef o u n d a t i o n o fw h o l es y s t e m as t r o n ga n dc o m p l e t em e m o r ym a n a g e m e n ts u b s y s t e mi st h e p r e r e q u i s i t ef o ras y s t e mo fr e l i a b i l i t ya n ds c a l a b i l i t y i na m u l t i c o r es y s t e m , m o r et h a n o n et a s k sc a nb e 饥村e do nd i f f e r e n tp r o c e s s o r sa tt h es a m et i m e ,w h i c hi st h ea u t h e n t i c i m p l e m e n t a t i o no fp a r a l l e l i s m w h e ns h a r e db yt h o s et a s k s ,t h em e m o r y i sa c c e s s e d e x c l m i v d ya n di ts h o u l db em a d et h eb e s to ff e ri t sf i r d t y t h e r e f o r e ,s o m ec r i t i c a ld a t a s t r u c t u r e sa n da l g o r i t h m ss h o u l db eo p t i m i z e dt om e e tt h e s es p e c i f i cr e q u e s t s l i n u xo p e r a t i n gs y s t e ma d o p t st h ep a g i n gm e t h o dt om a n a g ei t sm e m o r ya n du s e s t h ec l a s s i cb u d d ya l g o r i t h m , i nw h i c ht w om e m o r yb l o c k sr e g a r de a c ho t h e ra sb u d d y w h e nt h e ya l ee q u a li ns i z e , c o m e e u t i v ei na d d r e s sa n dd e r i v ef r o mt h es a m eb i g g e r b l o c k t h i sr e q u i r e sac o n c i s em e m o r ym a n a g i n ga n das i m p l em e m o r ya l l o c a t i n ga n d d e a l l o c a t i n gi nl i n u xo p e r a t i n gs y s t e m h o w e v e r , t h e r ec o u l db es e v e r a lc o n s e c u t i v e m e m o r yb l o c k si ns o m ec 嬲,b i ge n o u g h , n o ta p p l i c a b l et ob u d d ya l g o r i t h m t h o s e b l o c k su n a v i a b l ef o rc o m b m a f i o n a f f e c tt h eu s a b i l i t yt os o m e 蚁t e n t t h i sp a p e r i m p r o v e st h eb u d d ya l g r i t h e m , e n h a n c e st h eo l dm e t h o d so fa l l o c a t i n ga n dd e a l l o c a t i n g n a f t e rt h ee n h a n c e m e n t , t h ea l g r i t h o mc a nn o to n l ym a i n t a i nt h e s eb u d d yb l o c k s ,b u t a l s ot h o s en o n - b u d d yb l o c k s t h eu s a b i l i t yo fm e m o r yi st h e r e f o r ei m p r o v e d f i n a l l y , t h ep a p e rp r o p o s e sa r ta l t e r n a t i v ei d e af o rb u d d ya l g r i t h o mi nt h em u l t i - p r o c e s s o r s y s t e m sg i v e nt h e i rc h a r a c t e r s ,s ot h a tt h ea l g r i t h o mc a nb em o r es u i t a b l ei nt h e m u l t i - p r o c e s s o re n v i r o n m e n ta n dt h ea l l o c a t i n ga n dd e a l l o c a t i n go fp a g e sa let r u l y p a r a l l e l w i 血t h i sa b i l i t y , l i n u xo p e r a t i n gs y s t e mc a l lp l a yac r u c i a lr o l ei nt h e a p p l i c a t i o no f h i g hp e r f o r m a n c em u l t i - c o r ep r o c e s s o r k e yw o r d s :m u l t i p r o c e s s o r , s y m m e t r i cm u l t i p r o e e s s o r , l i n u xm e m o r ym a n a g e m e n t , b u d d ya l g o r i t h m i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:堑亟塾坐 日期:渺7 年月二日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:遂型导师签名: 垂教 日期:7 年1 6 月名日 第一章引言 1 1 课题研究的背景 第一章引言 早在上个世纪的1 9 6 5 年,前英特尔( i n t e l ) 创始人之一的戈登摩尔( g o r d o n m o o r e ) 经过长期观察,提出了众所周知的摩尔定律【l 】:认为i c 上可容纳的晶体 管数目,约每隔1 8 个月便会增加一倍,其性能也将提升一倍。至今,摩尔定律产 生已有4 0 多年,一直被视为计算机发展的第一定律。在过去4 0 多年的时间里, 摩尔定律不但印证了集成电路技术的发展,而且也印证了计算机技术的发展。随 着单核处理器芯片上集成的晶体管数量呈几何级数增长,处理器主频不断提高且 接近4 g b ,其处理性能也越来越强,产生了很多流行的高性能商业处理器芯片。 但是,处理器芯片的面积毕竟是有限的,按照摩尔定律预测的速度发展下去,芯 片集成度将很快达到极限,同时,不断提高处理器的主频,也会增加成本,并且 造成功耗越来越大,散热问题越来越严重,如果这些问题得不到解决,单核处理 器的性能提升将很快达到瓶颈。业界已有专家预计,芯片性能的增长速度将在今 后几年内趋缓,一般认为,摩尔定律能再适用1 0 年左右。 传统单处理器结构的发展接近极限,迫切需要一种革新的处理器架构。如果 处理器的体系结构不从根本上变革,将难以解决摩尔定律继续发展下去所带来的 问题。相对于变得越来越复杂的单处理器结构,未来的处理器芯片需要的是一种 简单的、分布式控制的结构,即芯片的体系结构越来越强调结构上的层次化、功 能部件的模块化和分布化,让每个功能部件都相对简单,而部件内部则尽可能保 持连线的局部性【2 】。目前,构建高性能微处理器的唯一技术途径就是多核微处理 器或简称片上多处理器( c m p ,c h i pm u l f i p r o c e s s o r ) 。所谓的多核处理器就是将 两个或多个独立的处理器核封装在一个芯片内部,从而能以较低的主频而获得较 高的处理器性能。从理论上讲,由于将两个或多个运算核集成在一个芯片内部, 首先节省了大量的晶体管和封装成本,同时还能显著提高处理器的性能。另外, 由于多核处理器对外的“界面一还是统一的,所以整个计算机系统需要为此做出 的改变很有限,这意味着用户不会在主板、硬件体系方面做大的改变,从兼容性 和系统升级成本方面来考虑有诸多优势。 多核处理器体系结构的出现势必将引起计算机工业的一场革命。一方面,将 电子科技大学硕士学位论文 引发系统结构设计的新局面;另一方面,还将引起程序设计语言、编译器以及操 作系统等一系列技术的变革【3 1 。操作系统是支撑计算机系统运行的基础软件,对 操作系统的研究和改进是目前多核研究的热点之一。通常情况下,操作系统指的 是在整个系统中负责完成最基本功能和系统管理的部分,包括内核、设备驱动程 序、启动引导程序、命令行s h e l l 或者其他种类的用户界面、基本的文件管理工 具和系统工具。但是,从操作系统设计者的角度来看,。系统一指的是操作系统和 所有运行在它之上的应用程序,这里的操作系统特指内核,系统其他部分必须依 靠内核这部分软件提供的服务,比如管理硬件设备,分配系统资源等等,内核有 时候也被称作是超级管理者或者是操作系统核一c , , t 4 1 。通常一个内核由负责响应中 断的中断服务程序,负责管理多个进程从而分享处理器调度时间的调度程序,负 责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组 成。对于提供保护机制的现代操作系统来说,内核处于系统态,运行在内核空间; 应用程序处于用户态,运行在用户空间,应用程序通过系统调用和内核通信来运 行。如图1 - 1 所示为l i n u x 系统的内核框图。 用户程序 善 函数库 1r + 系统调用接口 善 善 - ,i 文件子系统 进程间通信 高速缓冲 进程控制 善0 子系统 调度程序 i字符设备:块设备l i 设备驱动程序 l 内存管理 害s 硬件控制 。 弋夕 硬件 用户级 内核级 内核级 硬件级 图1 - 1l i n u x 系统内核框图 l i n u x 操作系统的两个最基本的子系统是内存管理子系统和进程管理子系 统,它们是l i n u x 操作系统的核心组成模块,这两个子系统的实现性能直接影响 着l i n u x 操作系统的整体性能。本文针对多核处理器的结构特点和性能需求对 l i n u x 操作系统的内存管理子系统进行优化,主要关注内存管理子系统底层经典 2 第一章引言 的内存分配和回收机制伙伴算法进行优化,使得内存这种宝贵的系统共享资 源在多核系统中得到更加有效的利用,满足多核系统的多个c p i j 核心同时执行多 个线程对内存页面频繁地分配和释放请求,提高分配的成功率,优化内存资源的 利用率,提高多核系统的吞吐量和性能。 1 2 国内外研究现状 在上一小节。课题研究的背景中,介绍了多核处理器代替单核处理器的是 综合多种因素之后的必然发展趋势,同时指出体系结构的转交首当其冲的就是对 计算机软件开发尤其是操作系统的开发带来冲击。为了适应多核架构,充分发挥 多核处理器的并行处理能力,必须要研究和改进现有的操作系统设计,更好地为 多核系统服务。多核处理器较之传统的单核处理器,在很多方面都体现除了优越 性,多核处理器拥有更高的并行处理能力,计算密度也比单核处理器高,同时时 钟频率却在降低,从而获得了较好的散热性能,大大降低了处理器的功耗。虽然 多核处理器已经出现了不短的时间,但是直到现在仍然没有真正意义上的专为多 核系统开发的操作系统,并且现有的绝大多数软件也是在单核系统上开发的,如 果转移到多核系统上运行,也还不能发挥多核系统的性能优势【5 1 。因此,无论是 操作系统设计本身还是实际的软件开发的编程模型,都应该转移到针对多核处理 器上来。 l i n u x 操作系统通过支持对称多处理机( s m p ,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 ) 来支持多核系统【6 l ,所以理论上其针对对称多处理机的优化可以平移到多核系统, 但是由于s m p 和c m p 在结构上存在一定的差异,所以目前l i n u x 在多核系统上还 没有显现出所期望的效率。深入研究l i n u x 对s m p 的支持机制以及s m p 与c 归的 异同,进一步改进l i n u x 对c m p 的支持,对l i n u x 操作系统未来在多核系统上的 应用和普及意义深远。本文第三章将对l i n u x 对s m p 的支持机制进行详细介绍和 分析。 l i n u x 操作系统通过设置c o n f i gs m p 编译选项对内核进行重新编译来启动 对s m p 的支持,并且l i n u x 的内存管理也针对s m p 进行了许多改进,例如,增 加了每c p u 页框高速缓存机制,以及改进原来的s l a b 系统为新的s l u b 系统等等 【7 1 。在目前的多核系统中,内存是作为共享资源存在的,各个核心必须互斥地访 问共享内存,这样就不免要涉及各个核心对内存访问之前要进行加锁,访问完成 之后还要进行解锁,并且某一处理器核心在对内存进行访问时,其它核心只能处 电子科技大学硕士学位论文 于忙等状态,无法对内存进行操作,这在一定程度上降低了多核系统的并行处理 性能和系统的吞吐率。此外,在多核系统中,由于多个核心同时执行进程线程, 对内存的分配和释放也将比单核系统更为频繁,这导致处理器和主存之间的速度 差异进一步扩大,更加凸显访存瓶颈【引。所以,对作为全局共享资源的内存的访 问进行优化是提高多核系统性能的有效途径之一。内存管理子系统是操作系统最 为重要的子系统之一,操作系统的其它模块会频繁地调用内存管理提供的服务, 因此内存管理子系统的效率对提升多核系统的性能是极为关键的。 目前针对多核系统内存管理的优化思路主要有三个方面:第一,尽量减少多 核处理器各个核心的共享数据,使得各个核心尽量使用私有数据;第二,在对共 享数据进行操作时,尽量减少锁的开销,即尽量减少同步互斥的开销;第三,提 高对私有数据的访问性能,相当于提高每个处理器核心的单核性能,这样也就提 高了多核系统的整体性斛9 】。本文就从第一点和第三点思路着手,对l i n u x 内存 管理子系统底层基本页框分配的伙伴算法进行改进,首先改进每个c p u 核心私有 的伙伴系统的性能,这和单核处理器系统上的改进思路是一致的,其次再针对多 核系统提出改进思路,这样进行两级优化之后将在整体上对多核系统的内存管理 子系统的性能进行改善,达到对多核系统内存管理进行优化的目的。 1 3 本文组织结构 本文共分六章。 第一章为引言,简要介绍了课题的研究背景以及国内外研究现状。 第二章为多核处理器概述,主要介绍了目前多核处理器使用的相关技术,以 及多核处理器的体系结构和流行商用多核处理器芯片、多核处理器操作系统特点。 第三章为l i n u x 对s m p 的支持机制,主要介绍了对称多处理机系统的概念、 体系结构,以及l i n u x 内核的s m p 启动。 第四章为l i n u x 内存管理机制分析,分模块介绍了l i n u x 的内存管理模型。 第五章为l i n u x 内存管理伙伴算法的改进,主要介绍了对伙伴算法的改进措 施,以及针对多核系统的改进思路。 第六章对本文的工作进行了总结,并对今后的研究工作进行了展望o 4 第二章多核处理器概述 2 1 多核相关技术 第二章多核处理器概述 微处理器是现代计算机系统的核心。从2 0 世纪7 0 年代微处理器问世至今, 在过去的许多年中,其性能都在不断提升,一直呈指数级增长。微处理器性能快 速增长的主要原因有两点【1 0 1 。首先,在摩尔定律的作用下,作为处理器和存储芯 片的基本单元的晶体管的速度越来越快,从而使由众多晶体管搭建的处理器性能 得到迅速的提升;其次,利用芯片上数量众多的晶体管,现代微处理器设计者能 从软件代码中挖掘更多的并行性来改善程序性能,因此微处理器的实际增长速度 甚至比摩尔定律预测的还要快。 目前,高性能的单核处理器主要是使用超流水线和超标量技术来提高性能。 超流水线是指通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多 个操作,其实质是以时间换取空间;而超标量是指通过内置多条流水线来同时执 行,其实质是用空间换取时间。使用超标量技术的微处理器因此又成为超标量处 理器。超标量处理器由于存在多条指令流水线,则在每一个时钟周期内,指令发 射部件可以同时发射多条指令到相应的功能部件上执行,因此大大提高了应用程 序的指令级并行性。 但是,指令之间的数据和控制是息息相关的,因此可开发的指令级并行性也 十分有限,当指令发射部件每周期发射指令数超过4 条时,超标量处理器对应用 性能的改善效果非常有限。因此,在横向上盲目增加发射带宽并不能得到预期的 效果,也不可取。而如果在纵向上通过提高时钟频率来增加流水线的级数,则会 随之增加转移预测失败和c a c h e 失效的代价,另外提高时钟频率也会使功耗增加, 造成冷却的代价的不断增长,芯片封装成本也增大。 总之,超标量处理器中有限的指令并行性、流水线的物理极限,以及冷却手 段与成本的限制所造成的“功耗天花板矽等因素混合在一起,致使传统处理器内 核未来的性能增长再也无法与摩尔定律所预测的晶体管数量增长速度相匹配【l 。 尽管使用更大的缓存可加快存储器的访问速度,在某种程度上改善处理器性能, 但显而易见的是,如果处理器设计方面没有更为深刻的变革,未来微处理器的性 能提升速度将会急剧下降,除非处理器设计者能找到有效利用高端硅片上大量晶 电子科技大学硕士学位论文 体管的新途径,可以在减少额外功耗与设计复杂度的同时提升处理器性能。 因此,由上述的分析可知,如果不从根本上改变处理器的体系结构,现在微 处理器设计者几乎已不再可能设计出更大更快的单核处理器。而实际应用中,一 些主流的商业应用却具有很高的线程级并行性,例如,在线数据库事务处理和 w e b 网络服务器等等。如果能够充分利用这些应用程序的线程级并行性,则处理 器的性能将会大大提升。现在,研究人员提出了两种与传统超标量处理器不同的 体系结构方案:同时多线程处理器结构和片上多处理器结构,充分利用了程序的 指令级并行性和线程级并行性【1 2 】。 2 1 1s m t 技术 1 9 9 5 年,加利福尼亚大学的t u l l s e n 提出同时多线程处理器( 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 处理器对线程的这种调度与操作系统的线程调度不同, 操作系统的线程调度是由软件调度程序负责的,而s m t 处理器的线程调度是由 处理器硬件负责的。正是因为采用了大量的硬件支持,所以s m t 处理器的线程 切换速度非常快,甚至可以在个时钟周期内就完成线程的切换工作【1 3 1 。 s m t 结构的优势是:同时结合了超标量和多线程处理器的特点,允许在一个 时钟周期内执行来自不同线程的多条指令,因此在一个时钟周期内,s m t 能够同 时利用程序的t l p 和i l p 来消除水平浪费,提高处理器发射槽以及功能部件的利 用率。理论上来说,s m t 允许任何活动线程的组合来发射指令。当由于在长延迟 操作或者资源冲突导致有一个活动线程时,该线程能够使用所有可获得的发射槽。 这使得可以通过使用其他线程的未阻塞指令来消除垂直浪费【l 钔。 s m t 存在的主要问题是:使得指令发射阶段变得比较复杂;随着指令发射宽 度的增加,模块和电路的延迟越来越大,不易获得较高的主频;另外,多个线程 共享同一个一级c a c h e 、t l b 和分支预测逻辑,将会导致冲突,使得c a c h e 不命中 和分支预测错误率增加,限制了整个处理器性能的提升【1 5 1 。 2 1 2c 肝技术 6 第二章多核处理器概述 1 9 9 6 年,斯坦福大学的研究人员提出了片上多核处理器( c m p ,c h i p m u l f i p r o c e s s o r ) 结构的概念,这是继同时多线程处理器( s m t ) 结构之后出现的 又一新型的体系结构方案,斯坦福大学对c m p 进行了系统的研究,设计和实现 了颇具代表性的s t a n f o r dh y d r a 处理器。 c m p 结构的基本思想是:通过简化超标量结构设计,在单个处理器芯片上利 用丰富的晶体管资源集成多个相对简单的超标量处理器核心,从而避免了线延迟 的影响。并且,多核处理器的多个处理器核心同时并行执行,使得应用程序的指 令级并行性和线程级并行性得到充分开发,通过开发这样各个层次的并行度,提 高了系统的性能和吞吐量【1 6 】。 c 即结构的优势是:通过简化单核处理器结构设计,在一个处理器芯片上集成 多个单处理器核心,使多个单处理器核心作为一个整体工作,不仅有利于避免线 延迟的影响,而且由于单处理器核可以很简单,从而易于获得较高的主频,也缩 短了处理器设计和验证的时间周期。而且,c 仲结构能够适应工艺尺寸比例缩放, 具有较好的可扩展性【l 丌。 c m p 存在的主要问题是:将多个单处理器核心集成在同一个处理器芯片上, 这多个单处理器核心要共享资源,而c m p 对资源的共享是采用划分方式的,当 没有足够的线程时,资源就浪费了。 c m p 结构必定会成为当前和未来微处理器发展的主要方向。c m p 处理器的更 新换代所需工程量相对较小,只需将多个相同处理器内核像贴邮票一样放在芯片 上,然后对处理器内核间的慢速连线逻辑进行适量修改以满足处理器内核的通信 带宽与延迟需要即可 1 8 】。因此,相对重新设计一个拥有高速流水线逻辑的处理器, c m p 处理器的升级换代所需的工程量要小很多。此外,与在芯片中封装单个处理 器不同的是,不同代c m p 处理器间惟的真正区别是,随着c m p 处理器规模的 扩展,其主板需要提供更高的内存与f o 带宽,并能逐渐采用那些新出现的f o 技术标准。当硅工艺发生几代变革之后,基于c m p 的处理器设计能节省不菲的 工程代价,因为处理器的升级换代设计只需多贴几个处理器内核,这相对较为容 易。而且共性工程工作可以分摊到一系列相关处理器家族的设计工作中,处理器 数目与时钟频率的变化就可使几乎相同的硬件满足不同的价格与性能需求。 2 1 3s m t 和c 御的区别 作为多核处理器系统的两种典型技术解决方案,s m t 和c m p 较之传统的超 7 电子科技大学硕士学位论文 标量单核处理器都不同程度地提高了系统的性能和吞吐量,这是通过充分利用线 程的并行性实现的,但是二者也存在明显的区别,具体来说,有以下三个方面: 从体系结构设计的角度来看,s m t 的设计比c m p 更为灵活,但是随着半导 体工艺的发展和集成电路技术的不断进步,阻碍处理器性能提升的主要障碍不再 是门延迟而是线延迟,因为芯片内部的线延迟现在越来越大于门延迟。c m p 的设 计是一种分布式的设计,而s m t 的设计是一种长导线集中式设计,这两种设计 方式相比较而言,在克服线延迟影响方面,显然c m p 比s m t 更有优势,因为其 芯片连线比s m t 更短。 如果在程序的执行过程中,程序的线程级并行性是动态变化的,那么s m t 比c m p 更具有性能优势。这是因为$ m t 的设计更为灵活,不仅允许多个活动线 程的组合一起发射指令,提高发射槽和功能部件的利用率,而且如果只有一个活 动线程时,也允许该活动线程使用所有的可获得的发射槽和功能部件,发射槽和 功能部件仍然得到有效的利用。但是对于c m p 来说,如果某些应用的线程级并 行性较低时,则c m p 运行这些应用有可能使得资源利用率较低,最直观的就是 多个c p u 资源有可能没有充分被利用,存在某些c p u 闲置的可能【1 9 1 。 c m p 和s m t 相比较而言,最大的优势是其模块化的设计,从而更加简洁, 并且可扩充性强,具有灵活的可伸缩性,指令的调度也比较简掣刎。而在对共享 资源的争用上,在s m t 中,如果有多个线程争用共享资源,则可能会导致s m t 处理器性能下降,而相反的c m p 对共享资源的争用则较少,所以,在应用程序 的线程级并行性比较低时,s m t 比c m p 有优势,而在应用程序的线程级并行性 比较高时,是c m p 要优于s m t 。 2 2 多核体系结构 在前面的内容中,我们主要讨论了从单核微处理器架构转向多核处理器架构 是微处理器的必然发展趋势,这是因为传统单核处理器的性能提升已经接近瓶颈, 如果不从体系结构上进行根本的变革,微处理器的性能将很难得到更大的改善, 并且介绍了多处理器体系结构采用的两种普遍的技术,同时多线程处理器( s m t ) 和片上多核处理器( c m p ) 。由s m t 和c m p 的介绍和比较可知,在实际应用中, c m p 对于处理高线程级并行的应用更有优势,c m p 必将成为现在或将来多核处 理器发展的方向,所以本章的后续部分涉及多核处理器的内容将以c m p 为主进 行介绍。 第二章多核处理器概述 关于片上多核处理器( c ) 的概念,在本文第一章“引言刀部分中的“课 题研究背景一小节中已经有过叙述,在讨论多核处理器的体系结构分类之前, 让我们来再来回顾一下关于片上多处理器的概念。目前阶段所谓的多核处理器, 通常指的是片上多核处理器( 简称c ) ,也就是在一个芯片内部集成多个微处 理器核心,像贴邮票一样贴在同一块处理器芯片内部,每个核心其实就是一个单 线程的微处理器,这样的单处理器核心都相对比较简单,所有的处理器核心可以 并行地执行指令代码,实现真正的线程级别的并行性( t l p ) 。c m p 的线程级并 行性不是在多个物理上独立的芯片上实现的,而是在一个单独的芯片内实现的, 所以这样的多处理器又叫做单芯片多处理器或片上多处理器。具有较高的线程级 并行性的应用可以使用c m p 结构来获得更高更好的性能。 片上多核处理器实现方式的异同主要在于几个方面,包括核心的数目、核心 同构与异构、各级c a c h e 的独立与共享、c a c h e 大小、所使用的工艺、芯片集成 度等等。选择不同的依据,c m p 有多种分类的方法。下面我们就介绍两种c m p 的常用分类方法,也即c m p 的体系结构分类方法。 根据组成多核处理器的处理器核心类型是否相同,c m p 体系结构可以分为两 类:同构c m p 和异构c m p 2 1 1 。同构c m p 指的是处理器内核的类型相同,并且 处理器内核的地位是对等的多核处理器,同构c m p 大多数采用通用处理器来作 为核心。异构c m p 指的是处理器内核类型不同,并且处理器内核的地位是不对 等的多核处理器,异构c m p 采用的是“主处理器核+ 协处理器核”的设计,主处 理器核采用通用处理器,协处理器核则采用一些针对特定应用的计算部件,例如, a s i c 、v l i w 处理器、d s p 和媒体处理器等等。 作为同构c m p 的典型代表,1 9 9 6 年美国斯坦福大学( s t a n f o r du n i v e r s i t y ) 研制的h y d r a 多核处理器就属于一种典型的同构多核处理器。h y d r a 处理器使用4 个m i p s 内核构造了一个片上多核处理器,每一个内核具有自己的指令和数据缓 存,同时所有的内核都共享一个统一的大小为1 m 的片上二级缓存,并且多个核 心之间数据的一致性采用基于监听的一致性协议来进行维护。这些处理器内核除 了支持通常的读取和保存操作之外还支持m i p s 指令集中的l l ( l o a dl o c k e d ) 和s c ( s t o r ec o n d i t i o n a l ) 指令,以实现同步原语【翻。如图2 1 所示为h y d r a 多核 处理器的总体结构图。 9 电子科技大学硕士学位论文 集中化总线仲裁机制 c p u oc p u lc p u 2 c p u 3 fifi ifi 一级指一级指一级指一级指 令缓存 一级数据缓存 一级数据缓存 一级数据缓存一级数据缓存 令缓存 令缓存令缓存 c p u o 内存控制器 i - c p u i 内存控制器 厂 c p u 2 内存控制器- _c p u 3 内存控制器 i 。 i jl i 。 ir 写通过总线( “位) 1,ii 读,替换总线( 砒) i 片上二级缓存 主存接口| 一 i o 总线接口 d r a m 主存i o 设备 图2 - ih y d r a 多核处理器结构图 作为异构c m p 的典型代表,索尼、m m 和东芝联合研发c e l l 处理器就属于 一种典型的异构多核处理器。c e l l 处理器的设计目标是为多媒体应用带来高性能 的优化处理器,包含1 个由p o w e r p c 9 7 0 简化而来的主处理器核心p p e 和8 个称 为s p e 的协作处理器,它们通过一个高速的内存一致的互联总线进行连接( e r a ) 。 c e l l 处理器的工作频率超过4 g h z ,未来c e l l 处理器将依照应用领域增加或者减 少计算核心数目。m m 和c e l l 处理器合作伙伴,将为c e l l 处理器编程,提供开放 源代码的工到2 3 1 。如图2 2 所示为c e l l 多核处理器的总体结构图。 s p es p es 陀s p es p es 陀s 阼s 距 s p us p us p us p us i l ts 阿s p u 1i s p u 1 33: + +0+ 本地存储本地存储本地存储本地存储本地存储本地存储本地存储本地存储 ( l s )( l s )( l s )( l s )( l s )( l s )( l s )( l s ) 工0: : 工 高速总线( e m e l e m e n ti n t e r f a c eb u s , 2 0 4 8 g b s ) - : 内存控制器接口 l 2 缓存i o 控制器 ( m j c ) i ?工 l l 缓存i h ip x n w x p l ,e 主存f o 设备 图2 - 2c e l l 多核处理器结构图 根据多核处理器在哪一级c a c h e 上进行共享分类,多核处理器又可以分为三 类,分别为:共享一级缓存的多核处理器、共享二级缓存的多核处理器和共享主 l o 第二章多核处理器概述 存的多核处理器【2 4 】。在多核处理器系统中,处理器和主存之间的速度矛盾更为突 出,访存成为制约系统性能的主要瓶颈,为了缓解二者之间的矛盾,多核处理器 通过设置多级c a c h e 层次来缓解,利用程序访问的局部性原理将多核处理器最近 访问或频繁访问的指令和数据缓存在各级c a c h e 中,减少了多核处理器直接访问 主存的频率,提高了系统的访存效率。通常情况下,大多数多核处理器选在二级 缓存进行共享,每个处理器核心拥有自己私有的一级缓存,而在二级缓存处有的 多核系统是共享的,有的多核系统是私有的,即所有的处理器核心共享二级缓存 或者每个处理器核心仍然拥有自己私有的二级缓存。据此,我们又可以将多核系 统划分为共享二级缓存的多核处理器与私有二级缓存的多核处理器两种基本结 构,如图2 3 所示即为按对二级缓存是否共享来进行划分的多核体系结构分类。 处理器 核心 一级缓存 处理器 核心 一级缓存 处理器 核心 一级缓存 处理器 核心 一级缓存 互联线( i n t e r c o n n e c t ) 共享二级缓存( s h a r e dl 2c a c h e ) 片外存储通道 ( o f f - c h i pm e m o r yc h a n n e l ) 共享二级c a c h e 学ll 嚣l i 嚣l i 瓣i 一级缓存l i 一级缓存l l 一级缓存i i 一级缓存l 3: 私有 i i 私有 i l 私有 l i 私有 i 二级缓存l l 二级缓存| l 二级缓存i l 二级缓存i : 互联线( i n t e r c o n n e c t ) l - 片外存储通道 ( o f f - c h i pm e m o r yc h a n n e l ) 私有二级c a c h e 图2 3 共享二级缓存的c l i p ( 左) 和私有二级缓存的c 肝( 右) 综上,我们通过从不同的角度对多核处理器进行分类,阐述了多核处理器的 两种基本的体系机构分类方法。片上多核处理器( c m p ) 总的来说,比传统的单 核处理器有许多的优点,其主要特点包括【2 5 1 : ( 1 ) 易扩展。多核处理器使用在单个芯片内部集成多个单处理器核心,这些 基本的处理器核心不仅可以使用复杂的微处理器核,也可以使用简单的微处理器 核,并且控制逻辑简单,可扩展性好,是一种灵活的和可伸缩的处理器结构。 ( 2 ) 开发周期短。因为多核处理器的多个处理器核心一般采用的是现在已经 成熟的单核处理器,所以其设计和验证的周期可以大大缩短,从而降低了多核处 理器的研发风险,并大大节省了研发成本。 电子科技大学硕士学位论文 ( 3 ) 低功耗。传统超标量单核处理器为了改善性能,常用的方法是不断提高 处理器的主频,但是提高主频并不是一劳永逸的解决办法,只会带来愈发严重的 功耗问题,因为处理器的功耗与主频是成正比关系的。而多核处理器并不追求高 主频,其提高性能的方法仅仅是靠集成多个处理器核心来达成,因此比追求高主 频的单核处理器具有更低的功耗优势。并且,多核处理器还可以实时监控各个处 理器核心的负载分配状况,平衡各个处理器核心的负载,进行调度优化,同时可 以动态地调节电压频率,有效地降低其自身的功耗。 ( 4 ) 高主频。多核处理器比较容易实现高主频,因为对于多核处理器来说, 绝大部分信号都属于局部信号,处于各个处理器核心内,全局信号比较少,所以 线延
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京第二外国语学院中瑞酒店管理学院《工程图学B(1)》2023-2024学年第二学期期末试卷
- 上海电子信息职业技术学院《计算机组成原理与汇编语言程序设计》2023-2024学年第二学期期末试卷
- 郑州幼儿师范高等专科学校《资本运营与公司治理》2023-2024学年第二学期期末试卷
- 河北石油职业技术学院《阅读与欣赏唐诗宋词》2023-2024学年第二学期期末试卷
- 浙江科技学院《风险投资运作与管理》2023-2024学年第二学期期末试卷
- 漳州卫生职业学院《英语阅读(3)》2023-2024学年第二学期期末试卷
- 人教版角的分类
- 2024年高导热石墨材料资金筹措计划书代可行性研究报告
- 食品试验设计方法第五讲
- 我国幼儿园教育的目标任务和原则
- 医院建设项目医疗专项工程医用气体工程技术参数及要求
- 运维经理培训
- 2025年西城二模化学试题及答案
- 2025年1月浙江省普通高校招生选考化学化学试题(解析版)
- 主播语音与发声知到课后答案智慧树章节测试答案2025年春上海电影艺术职业学院
- 屋面换瓦施工方案
- 招投标意向书(7篇)
- 视障人群智能出行产品设计研究
- 2017年高考生物试卷(新课标Ⅰ)(解析卷)
- 《相变储热供暖工程技术标准》
- 《消防检查指导手册》(2024版)
评论
0/150
提交评论