




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)多核处理器原型验证平台的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 传统单核处理器采用超标量和流水结构提高处理器的主频,充分开发指令级 的细粒度并行以提高性能。但是在当前技术条件下,如果再单纯借助于提高主频 获取性能,会遇到不可逾越的功耗和热量瓶颈。随着集成电路制造工艺水平的迅 猛提高,片上可以集成的晶体管数目r 益增多,体系结构设计者转而在芯片内集 成多个相对简单的处理器核,寻求应用程序的粗粒度并行,进而提高性能。 在芯片设计过程中,仿真和验证最耗时但又非常重要。由于芯片日益复杂, 片上集成的处理器核的数目越来越多,传统的软件仿真验证非常耗时,己不能适 应芯片开发周期同益缩短的趋势。f p g a 为设计人员提供了快速原型建模的条件, 基于f p g a 开发的芯片验证仿真平台的运行速度接近于真实芯片,逐渐成为验证 人员的首选。本文以中国科学院计算技术研究所先进微系统组的片上多核处理器 研究课题( g o d s o n t ) 为背景,对基于f p g a 的多核处理器原型验证平台展开了 研究,并实现了g o d s o n t 原型验证平台的雏形。本文阐述了该平台的原理、设计 思路和设计难点,主要工作如下: 1 针对g o d s o n t 实现了一个程序加载器,其功能是把r u n t i m e 系统和经过 交叉编译后生成的可执行文件下载到f p g a 的硬件设计上。 2 基于p c i 接口实现了原型验证板的驱动程序。作为软件接口和硬件平台之 间的桥梁,设备驱动提供了一系列的调用接口,为软件层的扩展提供了必 要条件,同时在内核的支持下把软件层的命令翻译成硬件信号发送到地址 总线、命令总线和控制总线上传递给硬件。 3 针对g o d s o n t 设计了硬件i o 接口。由于g o d s o n t 相对宿主机而言是一 个独立的系统,拥有自身的处理器、内存和内部总线,因此由宿主机传送 过来的信号必须经过一个转换器解析成g o d s o n t 可识别的数据包。 4 g o d s o n t 原型验证平台为软硬件协同设计和验证提供一个黑盒平台。最 后,在此平台上对g o d s o n - t 进行了从模块级到系统级的验证,目前的工 作进展是可以在此平台上运行并行程序。 处理器的仿真验证是一项极其复杂的工作。本文实现的原型验证平台为后续 的处理器验证工作提供了基础。目前,验证平台已能成功运行规模较小的并行程 序,为了进一步验证处理器的功能,还需进行大量的工作。 关键词:多核处理器;验证;程序加载器;设备驱动;i o 接口 分类号:t p 3 a bs t r a c t t h et r a d i t i o n a lw a yt oi m p r o v ep r o c e s s o rp e r f o r m a n c ei si n c r e a s i n gf r e q u e n c yv i a s u p e r s c a l a ra n dp i p e l i n e ,t h em o t i v a t i o n i st oe x p l o i tf i n e - g r a i n e d p a r a l l e l i s m i n i n s t r u c t i o nl e v e l n o wf r e q u e n c yo fo n e s i n g l ep r o c e s s o r h a sc o m et oam a x i m u mv a l u e w h i c hc a nb ei m p r o v e dh a r d l yb e c a u s ee n e r g ya n dp o w e ra l et w or e s t r i c t i o n st ob o o s t c h i pp e r f o r m a n c ei n c r e a s i n g l yb yt h i sw a y o nt h eo t h e rh a n d ,a sd e v e l o p m e n to f i n t e g r a t e dc i r c u i t ,m o r ea n dm o r et r a n s i s t o r sc a nb ei n t e g r a t e di n t oo n es i n g l ec h i p ,a n d m o r eo n c h i pt r a n s i s t o rr e s o u r c ei sa v a i l a b l ef o ra r c h i t e c t u r ed e s i g n e r t os o l v et h e p r o b l e mo fp o w e ra n de n e r g yp a r t l y , r e s e a r c h e ra n dd e s i g n e rh a v ep r e s e n t e dc h i p m u l t i p r o c e s s o r ( c m p ) a sn e wp r o c e s s o ra r c h i t e c t u r e ,a n dt h em o t i v a t i o ni st oi m p r o v e c h i pp e r f o r m a n c ev i ac o a s t g r a i n e dp a r a l l e l i s mi nt h r e a dl e v e l f o ra v a i l a b l eo n - c h i pt r a n s i s t o ri si n c r e a s i n ga sm o o r e sl a w , c h i pd e s i g ni s b e c o m i n gm o r ea n dm o r ec o m p l e x ,c o r r e s p o n d i n gt oi t ,e m u l a t ea n d v e r i f i c a t i o no fo n e c h i pp r o t o t y p ea r ev e r yt i m ec o n s u m i n ga n df a i r l yi m p o r t a n t ,e s p e c i a l l yw h e nu s i n g t r a d i t i o n a ls o f t w a r es i m u l a t i o n s om a n yr e s e a r c h e r sh a v ee x p l o i t e df p g at od e s i g n p r o t o t y p e ,a n do n eo fm e r i t so f t h ee m u l a t i o na n dv e r i f i c a t i o np l a t f o r mb a s e do nf p g a i si tc a nr u nc l o s et or e a lp r o c e s s o rc h i p ,i n c l u d i n gs p e e da n da c c u r a c y w eh a v eb e e n r e s e a r c h i n ga n dd e s i g n e dt h ee m u l a t i o na n dv e r i f i c a t i o np l a t f o r mb a s e do nf p g ao f m u l t i c o r ep r o c e s s o r p r o t o t y p ei nt h ec o n t e x to fg o d s o n - t ,o n ec h i pm a n y - c o r e p r o c e s s o rw h i c hi sd e s i g n e db yi n s t i t u t eo fc o m p u t i n gt e c h n o l o g y , c h i n e s ea c a d e m y o fs c i e n c e s i nt h i st h e s i s ,w ei l l u s t r a t et h ep r i n c i p l e ,t h e o r ya n dd i f f i c u l t i e st h a ts h o u l d b ec o n s i d e r e ds e r i o u s l yd u r i n gd e s i g n i n gt h i sp l a t f o r m ,a n dt h ec o n t e n tm a i n l y i n c l u d i n gf o l l o w i n ga s p e c t s : 1 w ed e s i g n e da n di m p l e m e n t e das i m p l ep r o g r a ml o a d e ra i m sa tg o d s o n t a n d i t sf u n c t i o ni st od o w n l o a dr u n t i m ea n de x e c u t a b l ef i l e sc o m p i l e db y c r o s s - c o m p i l e ri n t of p g ap l a t f o r mw h i c h i l l u s t r a t e di nt h i st h e s i s 2 w ei m p l e m e n t e dad r i v e ro ft h ep r o t o t y p ev e r i f i c a t i o nb o a r db a s e do np c i i n t e r f a c e a n di t sf u n c t i o ni sa ni n t e r f a c eb e t w e e ns o f t w a r ea n dh a r d w a r e p l a t f o r ml i k eab r i d g e 3 w ed e s i g n e dt h eh a r d w a r ei oi n t e r f a c ea i m sa tg o d s o n - t ,w h i c hb r i d g e sp c i c o n t r o l l e r sa n dg o d s o n - th a r d w a r e ,t h a ti s ,t r a n s l a t i n gs i g n a lc o m i n gf r o m h o s to si n t op a c k e t st h a tc a nb er e c o g n i z e db yg o d s o n - t 1 4 w ei m p l e m e n t e dt h ep r o t o t y p eo fg o d s o n tv e r i f i c a t i o np l a t f o r m ,a n dv e r i f i e d g o d s o n tf r o mm o d u l el e v e lt os y s t e ml e v e lb a s e do ni t ,a n dn o ww ec a n r u n s o m ep a r a l l e la p p l i c a t i o n so nt h i sp r o t o t y p e i ti sv e r yc o m p l e xt oe m u l a t ea n dv e n f yap r o c e s s o r , a n dt h ep r o t o t y p ed e s i g n e di n t h i st h e s i si st h eb a s i st oe m u l a t ea n dv e r i 母m a n y - c o r ep l a t f o r m ,s u c ha sg o d s o n 。t n o wt h ev e r i f i c a t i o np l a t f o r mh a sb e e na b l et or u ns o m es m a l ls c a l ep a r a l l e la p p l i c a t i o n , a n dw eh a v eal o to fw o r k st od of o rt h ep u r p o s eo fv e r i f i n gf u n c t i o n so f g o d s o n - t k e y w o r d s :m u l t i c o r ep r o c e s s o r ;v e r i f i c a t i o n ;l o a d e r ;d r i v e r ;i oi n t e r f a c e c l a s s n o :t p 3 图目录 图目录 图1 1 g o d s o n - t 原型验证平台及验证流程3 图1 2 论文组织结构示意图4 图2 1 h y d r ac m p 结构7 图2 2 c e l lc m p 结构8 图2 3 g o d s o n t 的总体架构9 图2 4 计算节点的内部结构1 0 图2 5 基于仿真的验证结构- 1 2 图2 6 g o d s o n t 原型验证平台13 图3 1 e l f 文件的两种视图1 6 图3 2 编译系统17 图3 3 g o d s o n - t 应用程序及其头表信息2 l 图3 - 4 g o d s o n - t 地址空间布局2 2 图3 5 e l f 程序区段在g o d s o n t 内存中的布局一2 3 图3 - 6 g o d s o n t 程序加载流程图2 5 图3 7 g o d s o n t 程序参数传递2 7 图4 1 用户程序、虚拟文件系统和验证平台驱动关系图2 9 图4 2 g o d s o n t 原型验证平台驱动程序框架3 0 图4 3 用户态访存原理图3 3 图4 4 g o d s o n t 内存访问实现3 5 图4 5 中断处理过程流程图3 6 图4 6 g o d s o n t 中断处理实现3 7 图5 1 d n 8 0 0 0 k 1 0 p c i 实物和结构图3 9 图5 2 g o d s o n - ti o 模块3 9 图5 3 g o d s o n t 数据包格式4 1 图5 4 g o d s o n 。ti o 状态机4 2 图5 5 g o d s o n - ti o 地址转换4 3 图5 - 6 g o d s o n ti o 数据转换4 4 图5 7 g o d s o n o ti os p m 节点和端口号计算4 4 图5 8 g o d s o n ti o 软件仿真4 5 图5 - 9 g o d s o n - ti o 硬件仿真一4 6 图6 1 基于f p g a 的软硬件协同验证流程4 7 图6 2 双核g o d s o n t 模块层次总览4 9 北京交通大学硕士学位论文 图6 3 r o u t e r 验证策略5 1 图6 - 4 c a c h e 验证策略5 2 图6 5 l o c k m a n a g e r 验证策略5 2 图6 6 c o r e 验证策略5 3 图6 7 g o d s o n t 双片互联划片方案5 4 图6 8 g o d s o n - t 矩阵乘并行程序5 5 表目录 表目录 表格3 1 程序头表段类型1 7 表格3 2 程序头表区段类型1 7 表格3 3 g n u 交叉编译工具链1 9 表格3 4 g o d s o n t 地址空间区域说明2 2 表格3 5 g o d s o n t 软件接口函数说明2 4 表格4 1 g o d s o n t 地址空间映射关系说明2 9 表格5 1 g o d s o n - ti o 接口q l 5 0 6 4 端信号一4 0 表格5 2 g o d s o n - ti ,o 接口g o d s o n t 端信号4 l 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:赤春胡 导师签名: 签字日期:汐呓年莎月牛e 1 签字日期:年月日 独创性声明 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:绷通签字日期:如喀年钐, e l4 e 1 致谢 光阴荏苒,紧张而充实的研究生生活即将结束,在硕士论文完成之际,我向 所有支持、关心和帮助过我的人表示最诚挚的谢意。 本文是在我的导师李伟生教授和计算所副研究员范东睿老师的悉心指导和严 格要求下完成的,从论文选题到最后定稿,两位导师自始至终都给予了无微不至 的关怀,提出了宝贵的修改意见,倾注了大量的心血。李老师严禁的治学态度、 渊博的学识和宽厚谦逊的待人方式;范老师锐意进取的工作态度、敏锐的洞察力 和卓越的专业学识,给我留下了深刻的印象,是我终生学习的榜样。 本文是我在中科院计算所前瞻研究中心先进微系统组实习时完成的,在此由 衷感谢范东睿老师给予此次学习的机会,让我在接触前沿技术的同时,感受作为 一名科研人员应有的那份执着和热情。我为能够在先进微系统组这样一个学术氛 围浓厚、团结向上的课题组客座实习而感到骄傲。实习期间,张军超老师、黄河、 袁楠和宋风龙师兄对我的工作给予了莫大的支持和帮助,在此衷心向他们致以谢 意,特别感谢宋风龙师兄在我论文撰写过程中给予的帮助和支持,以及雷峥蒙师 弟协助我完成验证工作。同时,感谢张浩、林伟、周永彬、龙国平、余磊、马啸 宇、范灵俊、包儿固德、刘玉萍、张帅、张伦凯、焦帅等师兄和同事给予的热情 帮助和支持。其中,特别感谢林伟师兄不厌其烦的对我工作的支持,以及范灵俊 同学在生活上给予我的关心。 感谢刘宏亮、王宁和王超等人在研究生学习期间给予的无私帮助。 感谢季长冰和王亚东两位舍友在学习和生活上对我的关心和照顾,与你们共 处的六年将是我一生宝贵的财富。 最后,深深感谢我的家人。感谢我亲爱的父母,多年来你们给予我无限的关 爱、鼓励和支持,为了我的学业,你们付出太多。感谢我的姐姐和哥哥,在你们 无私的照顾和鼓励下,我才能不断成长。 绪论 1 1 研究目的和意义 1 绪论 在过去的几十年中,推动微处理器性能不断提高的因素主要有两个:半导体 工艺技术的飞速进步和体系结构的不断发展。根据摩尔定律,微处理器的速度以 及单片集成度每1 8 个月就会翻一番。集成电路和芯片制造工艺的发展,片上可用 的晶体管资源大大增加。根据预测,到2 0 18 年片上可集成的晶体管数目将超过1 4 0 亿。如何充分利用数目众多的片上晶体管资源,使其发挥最大的能效成了体系结 构研究的热门问题。传统的超标量结构处理器的性能已发挥到极致,性能瓶颈日 益显现。晶体管密度增大,相对而言片上互连线的长度有所增加,从而使得连线 延迟成为芯片性能提升的制约因素,因而未来的芯片更需要一种简单的、分布式 控制的结构,即芯片的体系结构越来越强调结构的层次化、功能部件的模块化和 分布化,让每个功能部件都相对地简单,部件内部尽可能保持连线的局部性,这 使得体系结构研究人员将目光转向了多核处理器体系结构。 s t a n f o r d 在1 9 9 6 年首次提出了基于片上多核处理器( c h i pm u l t i p r o c e s s o r ) 结 构的h y d r a 处理器】,研究表明:执行细粒度线程级并行程序时,单芯片多处理器 能够利用程序的并行性,即使在相同的时钟频率下,单芯片多处理器性能也比多 发射超标量处理器性能高1 0 。在单芯片多处理器条件下,执行大规模并行程序 和多道程序时,单芯片多处理器的性能将会高出5 0 1 0 0 引。随后,i b m 于2 0 0 1 年推出了第一款双核r i s c 处理器p o w e r 4 3 1 ,并于2 0 0 4 年推出了后继产品p o w e r 5 。 s u n 、i n t e l 和a m d 也相继发布了自己的双核产品。2 0 0 5 年,i b m 与索尼、东芝联 合设计开发的c e l l 4 】处理器多达9 个核心。伴随集成电路制造工艺水平的迅猛提高 和计算机体系结构设计技术的发展和创新,微处理器已步入了多核并行的时代。 把握处理器设计发展的前瞻,中国科学院计算技术研究所先进微系统组提出并设 计了自己的片上多核处理器g o d s o n t 。 随着工艺尺寸的缩小和处理器规模的扩大,芯片设计、掩模、电路c a d 软件 使用费用急剧上升,体系结构设计者不能再依靠流片来得到处理器原型和验证体 系结构设计的正确性,取而代之必须在流片之前充分地评估和验证芯片设计的正 确性。专用的s m p 或c l u s t e r 验证系统虽然验证速度快,但造价高,功耗大;软件 模拟器验证成本低,但在多核体系结构的验证时其验证速度慢的缺点变得不可接 受;f p g a 仿真系统在验证成本和验证速度的权衡之中是一个不错的选择1 5 1 。在此 北京交通大学硕+ 学位论文 背景下,本文的工作将基于中科院计算所先进微系统组的g o d s o n t 多核处理器课 题展开对处理器原型验证平台的研究。 1 2 国内外研究现状 j a n i c kb e r g e r o n 对“验证”进行了定义,他指出验证是证明一个设计的功能是 否正确的过程。在整个芯片设计过程中,从前端行为级h d l 设计开始,到后端版 图设计,验证方面的工作如影随形。随着集成电路的发展,芯片设计趋于复杂和 昂贵,流片前的系统验证显得尤为重要。对于前端的功能验证从整体上划分,主 要有软件仿真和硬件仿真两大类。 软件仿真是目前常用的方法之一,它通过使用e d a 工具配合外部激励信号达 到验证设计功能的目的。传统的软件仿真模型启动一个操作系统需要2 0 天时间, 而芯片设计周期日益缩短,显然这种验证技术不能适应芯片发展的趋势。y o u s u n g c h a n g 等人提出了一个改进的验证方法,验证环境在行为参考模型和目标h d l 之 间通过握手协议进行通信,并采用了自动连续校验的方法,同时在整个环境中插 入错误保存点,实现了错误保存点恢复验证的技术。该验证方法有效地缩短了验 证时间,经测试,启动操作系统缩短到了4 0 分钟左右【6 j 。 但由于软件仿真速度和仿真模型的局限性,当芯片复杂到一定程度时,验证 往往难以达到令人满意的效果。为了缩短验证时间,提高验证效率,基于f p g a 的快速原型验证成了设计流程的重要验证手段。f p g a 验证即硬件仿真,本质在于 快速实现处理器设计,使用f p g a 承载硬件设计,让软件在真正的硬件环境中高 速运行,从而实现软硬件协同验证。国外研究机构对于软硬件协同设计与验证的 方法很早就开始进行研究,提出并设计了一些有效的环境【7 】i _ 8 】【9 1 。近年来,基于 f p g a 的验证取得了进一步发展。t a e w c o ns u h 等人提出了一个仿真微架构的软硬 件协同仿真的方法,通过在p e n t i u mi i i 系统的前端总线上连接f p g a 搭建仿真平 台,并在此基础上把s i m p l e s c a l a r 上的一些访存功能移植到f p g a 上进行分析,为 多核处理器结构的研究提供了宝贵的实践经验【l o 】。c h r i s t o p h e rr c l a r k 等人使用了 f p g a 作为多核处理器的仿真验证平台,并针对多核处理器的特性进行应用程序开 发,文献中实现了一个d n a 序列比对算法用于评测多核的性制1 1 】。p i n gh a n g c h e u n g 等人针对嵌入式系统越来越模块化,高可配置的趋势,提出了一种新颖的 基于组件方式的软硬件协同设计的方法,并成功把该方法应用于传感系统案例中, 有效降低了协同设计时的复杂性【1 2 1 。国内的高校和研究机构也开展了相关方面的 工作,如西北工业大学使用f p g a 验证了自己设计的“龙腾r 2 微处理器d 3 i 。 一方面,片上多核处理器体系结构的出现必然也带动了适用于多核结构的编 2 北京交通人学硕士学位论文 论文主要工作如下: 1 ) 调研了片上多核处理器的研究现状,综述了多核处理器设计的关键技术, 剖析了几款多核处理器的内部结构,并在此基础上讨论了验证的相关技术,为研 究和设计原型验证平台和进行验证工作提供了理论基础。 2 ) 针对g o d s o n t 实现了一个程序加载器,其功能是把r u n t i m e 系统和经过 交叉编译后生成的可执行文件下载到f p g a 的硬件设计上。 3 ) 基于p c i 接口实现了原型验证板的驱动程序。作为软件接口和硬件平台之 间的桥梁,设备驱动提供了一系列的调用接口,为软件层的扩展提供了必要条件, 同时在内核的支持下把软件层的命令翻译成硬件信号发送到地址总线、命令总线 和控制总线上传递给硬件。 4 ) 针对g o d s o n - t 设计了硬件i o 接口,它的两端连接的是p c i 控制器和 g o d s o n t 硬件设计。由于g o d s o n t 相对宿主机而言是一个独立的系统,拥有自身 的处理器、内存和内部总线,因此由宿主机传送过来的信号必须经过一个转换器 解析成g o d s o n t 可识别的数据包。 5 ) 最后,在此验证平台上对g o d s o n - t 进行了从模块级到系统级的验证,并 最终成功运行了一些规模较小的并行程序。 1 4 论文组织结构 本文共分七章,章节的组织安排如图1 2 所示。 图l - 2 论文组织结构示意图 f i g u r e l - 2 t h e s i so r g a n i z a t i o ns t r u c t u r es k e t c hm a p 4 多核处理器及其验证技术概述 2 多核处理器及其验证技术概述 2 1 多核处理器研究 半导体工艺的发展和人们对性能无止境的追求是驱动微处理器设计和发展的 重要因素。传统超标量结构处理器的性能已发挥到极致,性能瓶颈日益显现,其 局限性主要体现在以下三方面。 首先,传统的超标量结构处理器通过提高时钟频率来提升处理器性能,但是 这难以适应深亚微米工艺下日益显现的线延迟大于门延迟的负面影响。当处理器 频率提高到4 g h z 后,时钟频率的提高已经非常困难,因而单纯依靠提高时钟频率 提升性能的方法就不再可行。 其次,利用超标量发射、乱序执行、超级流水和动态转移预测等复杂技术挖 掘指令级并行技术( i n s t r u c t i o nl e v e lp a r a l l e l ) 所能获得的性能提升的空间也越来 越小。增加发射宽度,切分流水以及预测失败等所带来的负面影响在一定程度上 抵消了性能的提升,并且复杂的设计使得设计过程越来越难以控制,设计成本不 堪重负。 最后,功耗性能比的问题同益突出,随着单片集成度越来越高,芯片封装技 术和发热问题同益显现。设计者对处理器的评价指标也逐步由原来的成本性能比 过渡到了功耗性能比。 为了获得性能上的极致,体系结构技术主要通过挖掘并行性来提高性能,未 来的主流应用需要处理器具备同时执行更多条指令的能力。一方面,传统超标量 处理器采用超标量和超长指令字结构开发指令级并行,然而复杂的设计和微弱的 性能提升使得设计成本难以承受,这使得从单一线程中已不太可能单纯依靠提高 指令间的并行性获取性能的提高。另一方面,应用程序已经从传统的以s p e c c p u 2 0 0 0 为代表的计算密集型的科学计算应用,发展到了现今的以s p e cj b b 2 0 0 0 为代表的数据密集型应用,应用程序表现出完全不同的执行和数据访问的特征, 诸如在线事务处理、决策支持系统和w e b 服务等主流商业应用具有丰富的线程级 并行性( t h r e a dl e v e lp a r a l l e l ) 。因此,构建高主频、复杂的i l p 处理器,并不能 够解决传统的处理器体系结构中固有的问题。为了提高系统整体的性能,就势必 要求突破传统的思路,开发i l p 之外的更粗粒度的线程级并行性。 于是,研究人员提出了多种利用t l p 来提高处理器资源利用率的处理器体系 结构,包括传统多线程处理器、同时多线程处理器和片上多核处理器结构。 传统多线程处理器通过时间共享的方式支持多线程的执行。专门的硬件机制 5 北京交通火学硕士学位论文 以块或指令为粒度进行线程调度。对于前者,称为粗粒度多线程,指的是处理器 执行来自同一线程的指令,直到遇到某种长延迟的事件发生;后者称为细粒度多 线程,指的是在每个周期都从不同的线程取指执行。 同时多线程( 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 技术提高单核资源的利用率。 片上多核处理器把多个核集成到同一个芯片上,属于层次式、分布式和可复 用性的设计。由于同一个芯片内通信带宽相对而言更高、通信时延相对更低,因 而片上多核处理器特别适用于对应用程序挖掘线程级并行性。 2 1 1 多核处理器设计概述 多核处理器设计主要包括两个方面:单核结构设计和多核之间的互连结构【1 4 】。 1 ) 单核结构设计 单核结构设计解决的主要问题是在单核结构的功能和单核数量之间进行权 衡,以便达到在一定的芯片面积的约束下,获得最佳性能的目标。根据片上处理 器核是否相同可以将多核处理器分为同构c m p 和异构c m p 。同构c m p 的优点是 设计和验证简单,复用性高,斯坦福大学的h y d r a 处理器为此类代表;异构c m p 的优点是提高了多核处理器对应用的适应性,i b m 、索尼和东芝合作开发的c e l l 处理器为此类代表。根据c m p 中每个处理器核同时执行的线程数,把c m p 分成 传统的单线程c m p 和多线程c m p ,传统的单线程c m p 由一些相对简单的处理器 核构成,每个核执行单一线程,如h y d r a ;多线程c m p 也称为片上多线程处理器 ( c h i pm u l t i - t h r e a d ) ,由s u n 公司提出,它通过支持片上多核处理器和s m t 技术 的组合来实现的,n i a g a r a 处理器实现了这种技术,包含了8 个处理器核,每个处 理器核可以同时运行4 个线程。 2 ) 多核组织结构设计 互连结构设计主要解决片上多个核之间的互连和通信机制问题。多核处理器 由同一个芯片内的多个处理器核组成,因此处理器核之间的通信机制直接关系到 c m p 处理器的性能,高效的通信机制是高性能c m p 处理器的重要保障。片上多 核处理器的设计关键就在于片上互连结构的设计。目前比较主流的片上高效通信 机制有两种,一种基于总线共享的c a c h e 结构,以斯坦福大学的h y d r a 处理器为 6 多核处理器及其验证技术概述 代表:一种基于片上的互连结构,以麻省理工学院的r a w 处理器为代表。就目前 的技术而言,处理器访问内存的延迟相对较大,合理的设计片上存储层次有助于 减少访存操作的延迟,因而存储层次的互连非常关键。c a c h e 结构、大小和一致性 协议都直接影响着多核结构的性能。根据多核处理器存储层次的设计,可以将c m p 分为共享一级c a c h e 结构、共享二级c a c h e 结构和共享主存结构。 2 1 2 多核处理器产品 从斯坦福大学的第一个片上多核处理器h y d r a 至今,学术界和工业界一直都 不遗余力地推动着多核处理器的研究和应用,涌现了不少优秀的片上多核处理器 原型和产品。如斯坦福的h y d r a 、s u n 公司的n i a g a r a 、i b m 的p o w e r 5 、i n t e l 的 m o t e c i t o 和a m d 的o p t e r o n ,以及i b m 、索尼和东芝合作开发的c e l l 。 1 ) h y d r a 处理器 h y d r a l 2 1 集成了4 个m i p sr 10 0 0 0 微处理器核,每个处理器核拥有私有一级 c a c h e ,而四个处理器核共享片上的二级c a c h e ,使用1 2 8 位的共享总线连接片外 的三级c a c h e 和主存。h y d r a 属于同构、单线程的c m p 结构,使用了共享c a c h e 的结构来提高多个处理器核之间的通信带宽,降低通信延迟。如图2 1 所示。 图2 - 1 h y d r a c m p 结构 f i g u r e 2 - 1 h y d r ac m p a r c h i t e c t u r e 2 ) c e l l 处理器 c e l l 4 】是为游戏、多媒体、实时响应系统和科学计算等多种应用而开发的一款 多核处理器,它是一种异构的c m p ,由一个顺序双发射的p o w e r p c 核心( p o w e r p r o c e s s o re l e m e n t ) 和8 个辅助处理器( s y n e r g i s t i cp r o c e s s o re l e m e n t ) 构成。其中 p p e 采用了同时多线程技术,s p e 有专用的1 2 8 个1 2 8 位宽寄存器和2 5 6 k b 本地 7 北京交通大学硕七学位论文 s r a m 存储器,每个s p e 通过专用的d m a 通道与p p e 相连。如图2 2 所示。 图2 - 2 c e l lc m p 结构 f i g u r e 2 - 2 c e l lc m p a r c h i t e c t u r e 2 2g o d s o n t 体系结构 g o d s o n t 【1 5 j 是一个面向较大规模并行处理的众核体系结构。目前g o d s o n t 共 有2 5 个节点,其中包含一个专门用于同步管理的中央节点( s y n cn o d e ) 和2 4 个计 算节点( t i l en o d e ) ,如图2 3 所示。每个计算节点内部包含4 个处理器核,片上 共有9 6 个处理器核。每个计算节点内的4 个处理器核共享两块数据c a c h e 和一块 指令c a c h e ,处理器核与处理器核之间、处理器核与c a c h e 之间通过c r o s s b a r 连接, 如图2 - 4 所示。片上所有处理器核共享片上l 2c a c h e 。 1 ) 处理器核 g o d s o n - t 的每个计算节点包括4 个处理器核。处理器核实现了m i p s 用户态 指令集( 包括c p l ,不包括c p 0 ) 以及扩展实现的同步指令,采取单发射顺序执 行的8 级流水结构。每个处理器核内置一个浮点部件,每拍完成一个乘加操作。 每个处理器核集成1 6 k b 的s p m ( s c r a t c hp a dm e m o r y ) 空间,其中1 2 k b 用于堆 栈数据,其余4 k b 用于在线程之间传递参数。处理器核除了作为计算单元外,还 有一个处理器核专门作为同步管理单元,实现处理器核之间的资源互斥。 2 ) 片上互连结构 g o d s o n t 的片上互连结构采用m e s h + c r o s s b a r 的二级互连网络,即在每个节 点内部通过c r o s s b a r 将处理器核、l 1c a c h e 和r o u t e r 进行局部互联。而在节点与 8 多核处理器及其验证技术概述 节点之间通过r o u t e r ,采用5 x 5 的二维m e s h 结构进行全局互连,实现x y 选路确 定性静态路由策略,进出一个节点内处理器核的所有数据都通过r o u t e r 完成。 3 ) 存储层次 g o d s o n t 的存储层次包括寄存器、s p m 空间、核内l 0c a c h e 空间、l 1c a c h e 空间、l 2c a c h e 空间和d r a m 等,其中程序员可见的空间包括寄存器、s p m 和 d r a m ,其余空间对程序员透明。每个处理器核有私有的l 0c a c h e ;每个节点内 的四个处理器核共享节点内的l 1c a c h e ;所有处理器核共享片上l 2c a c h e ,通过 r o u t e r 互连各个节点和l 2c a c h e 。在设计g o d s o n t 加载器时必须了解存储空问的 功能,d r a m 用于加载r u n t i m e 系统和软件的代码、数据;s p m 用于存放处理器 核的堆栈数据和环境参数,在初始化时加载器会使用程序的参数表初始化第一个 处理器核的s p m 空间,同时初始化p c 和相关的寄存器。 4 ) r u n t i m e 系统 r u n t i m e 系统类似于一个运行在g o d s o n t 处理器之上的m i n i o s ,负责线程 的创建和调度,实现了两个最基本的功能:给用户程序提供必要的运行支持;抽 象底层的实现细节,给程序员提供一个清楚的界面。当运行环境启动后,其中一 个处理器核会加载执行程序员编写的主线程的代码。当执行到线程创建处时,由 r u n t i m e 系统负责自动向子线程传递参数并启动子线程。 图2 3 g o d s o n - t 的总体架构 f i g u r e 2 3 g o d s o n ta r c h i t e c t u r eo v e i v i e w 9 北京交通人学硕士学位论文 图2 _ 4 计算节点的内部结构 f i g u r e 2 - 4 t h ei n t e r n a ls t r u c t u r eo ft h ec o m p u t i n gn o d e 2 3 处理器验证技术 随着工艺能力和设计能力的快速发展,芯片设计日益复杂,规模和功能急剧 膨胀。然而,验证技术却落后于设计和制造能力,验证工作成为整个芯片设计流 程的制约瓶颈,给提高设计生产率造成了障碍。如何构建更快更好的设计验证技 术成为业界普遍关注的问题。 2 3 1 常用验证技术概述 验证的目的是确保设计对象满足在设计规范中所定义的功能要求。目前,验 证技术主要包括功能验证、形式验证、时序验证和物理验证等1 6 1 【1 7 1 。 1 ) 功能验证 功能验证的目的是保证设计实现规则定义的功能特性,保证设计的r t l 描述 与规则定义的功能一致。据统计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030动力电池回收网络布局优化与经济性分析报告
- 2025-2030动力电池回收网点布局密度与退役电池来源预测模型
- 2025-2030动力电池回收利用技术路线与环保合规要求研究
- 建设工程监理合同范本解析
- 企业安全管理体系建立流程
- 五年级数学(小数乘法)计算题专项练习及答案汇编
- 完整版老旧小区维修改造工程施工组织设计方案
- 交通运输行业安全操作流程
- 电影后期视频制作合同模板
- 三年级语文综合知识点总结
- 低空经济产业园产学研融合方案
- 2025年秋季学期安全主题班会教育记录
- 2025年6月浙江省高考物理试卷真题(含答案解析)
- 人教版2024九年级物理全一册新教材解读课件
- 医院保洁院感知识培训
- 医院安全生产检查表范本
- 艺术类院校教学创新计划
- 科学减重与体脂率管理健康讲座
- 新生儿呼吸机应用常规
- 腹壁功能重建生物力学研究-洞察阐释
- 2025年教育心理学课程考试试题及答案
评论
0/150
提交评论