已阅读5页,还剩68页未读, 继续免费阅读
(电路与系统专业论文)opensparctm+t1处理器的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南开大学学位论文使用授权书 根据南开大学关于研究生学位论文收藏和利用管理办法,我校的博士、硕士学位 获得者均须向南开大学提交本人的学位论文纸质本及相应电子版。 本人完全了解南开大学有关研究生学位论文收藏和利用的管理规定。南开大学拥有在 著作权法规定范围内的学位论文使用权,即:( 1 ) 学位获得者必须按规定提交学位论文 ( 包括纸质印刷本及电子版) ,学校可以采用影印、缩印或其他复制手段保存研究生学位论 文,并编入南开大学博硕士学位论文全文数据库;( 2 ) 为教学和科研目的,学校可以将 公开的学位论文作为资料在图书馆等场所提供校内师生阅读,在校园网上提供论文目录检 索、文摘以及论文全文浏览、下载等免费信息服务;( 3 ) 根据教育部有关规定,南开大学向 教育部指定单位提交公开的学位论文;( 4 ) 学位论文作者授权学校向中国科技信息研究所和 中国学术期刊( 光盘) 电子出版社提交规定范围的学位论文及其电子版并收入相应学位论文 数据库,通过其相关网站对外进行信息服务。同时本人保留在其他媒体发表论文的权利。 非公开学位论文,保密期限内不向外提交和提供服务,解密后提交和服务同公开论文。 论文电子版提交至校图书馆网站:h t t p :2 0 2 11 3 2 0 1 6 1 :8 0 0 1 i n d e x h t m 。 本人承诺:本人的学位论文是在南开大学学习期间创作完成的作品,并已通过论文答 辩;提交的学位论文电子版与纸质本论文的内容一致,如因不同造成不良后果由本人自负。 本人同意遵守上述规定。本授权书签署一式两份,由研究生院和图书馆留存。 作者暨授权人签字:张勇 2 0 1 0 年6 月3日 南开大学研究生学位论文作者信息 论文题目 o p e n s p a r c 硼t i 处理器的研究与实现 姓名张勇学号2 1 2 0 0 7 0 2 0 4答辩日期2 0 1 0 年5 月2 9 日 论文类别博士口学历硕士团硕士专业生位口高校教师口同等学力硕士口 院系所信息技术科学学院电子科学与技术系 专业电路与系统 联系电话e m a i l p u r l v i n g m a i l t o m 通信地址( 邮编) :南开大学电子科学与技术系( 3 0 0 0 7 1 ) 备注:是否批准为非公开论文 否 注:本授权书适用我校授予的所有博士、硕士的学位论文。由作者填写( _ 式两份) 签字后交校图书 馆,非公开学位论文须附南开大学研究生申请非公开学位论文审批表。 m 3煳 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下进行研究工作所 取得的研究成果。除文中已经注明引用的内容外,本学位论文的研究成果不包 含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所 涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本 学位论文原创性声明的法律责任由本人承担。 学位论文作者签名: 韭勇2 0 1 0 年6 月3 日 非公开学位论文标注说明 根据南开大学有关规定,非公开学位论文须经指导教师同意、作者本人申 请和相关部门批准方能标注。未经批准的均为公开学位论文,公开学位论文本 说明为空白。 论文题目 申请密级 口限制( 2 年)口秘密( 41 0 年)口机密( 2 0 年) 保密期限 2 0 年 月日至2 0 年 月日 审批表编号批准日期 2 0 年月日 限制2 年( 最长2 年,可少于2 年) 秘密1 0 年( 最长5 年,可少于5 年) 机密2 0 年( 最长1 0 年,可少于1 0 年) 摘要 摘要 随着高性能计算应用需求的大量涌现和微处理器设计水平的日益提高,微 处理器多线程技术和片上多处理器系统已愈加受到人们的重视。在此背景下, s u n 公司发布了开源的6 4 位多核多线程处理器o p e n s p a r c t m ,本文即对其进行 了研究,以求有助于提高国内多线程处理器的设计水平,从而更好地实现商用 环境下的大吞吐量计算。 根据o p e n s p a r ct 1 处理器开放的源代码,本文对其体系结构进行了研究。 其中主要关注了s p a r c t m 处理器核内的取指单元、装载存储单元、执行单元、内 存管理单元和异常逻辑单元的结构,以及o p e n s p a r ct 1 处理器片内互联结构的 设计和实现方法,重点研究了交叉互联开关c c x 模块中p c x 和c p x 接口的通信协 议和接口时序。在此基础上,使用改进的分布式算法设计了声像定位协处理器, 并根据实现环境对其进行了若干优化,最终实现了该协处理器与s p a r c 处理器 核的互联。除此之外,基于m l l i n x 公司3 2 位的软核m i c r o b l a z e t m 处理器的嵌入式系 统平台,构建 o p e n s p a r ct 1 处理器与m i c r o b l a z e 处理器协同工作的嵌入式系 统架构,并使用软硬件的协同设计方法实现了二者的互联。通过m i c r o b l a z e 处理 器固件的协助,o p e n s p a r ct 1 处理器可以顺利读取并执行内存中的s p a r c 指 令,并实现对其它外设的访问。基于x u p v 5 一l x l1 0 tf p g a 评估板的硬件平台, o p e n s p a r ct 1 处理器最终在f p g a 上得以实现和验证。 关键词:o p e n s p a r ct 1多线程处理器互联结构f p g a a b s t r a c t a b s t r a c t m i c r o p r o c e s s o rm u l t i - t h r e a d i n gt e c h n o l o g ya n dm u l t i p r o c e s s o rs y s t e mo na c h i pa r em o r ea n dm o r ec o n c e r n e dw i t hl o t so fh i 。g hp e r f o r m a n c ec o m p u t i n g a p p l i c a t i o n se m e r g i n ga n dm i c r o p r o c e s s o rd e s i g nt e c h n o l o g i e si m p r o v i n g i nt h i s b a c k g r o u n d ,s u nr e l e a s e do p e n s o u r c e d6 4 - b i tc m to p e n s p a r cp r o c e s s o r , w h i c h w a sr e s e a r c h e db yt h i sd i s s e r t a t i o na i m i n gt op r o m o t et h ed o m e s t i cd e v e l o p m e n to f m i c r o p r o c e s s o r ,a n d t ob e t t e r i m p l e m e n th i g hp e r f o r m a n c ec o m p u t i n g i nt h e c o m m e r c i a le n v i r o n m e n t s t i l i sd i s s e r t a t i o nr e s e a r c h e da r c h i t e c t u r eo fo p e n s p a r ct 1b a s e di t so p e n s o u r c e ,b yf o c u s i n go nt h ea r c h i t e c t u r eo fl o a ds t o r eu n i t ,e x c u t i o nu n i t ,m e m o r y m a n a g e m e n tu n i t ,t r a pl o g i cu n i ta n de t c r e s i d e di ns p a r cc o r e ,a n dm e t h o d o l o g y o fd e s i g na n di m p l e m e n t a t i o no fo p e n s p a r ct 1i n t e r c o n n e c t i o no nt h e c h i p , e s p e c i a l l ys t u d i e dc o m m u n i c a t i o np r o t o c o la n dt i m i n go fp c xa n dc p x i n t e r f a c ei n i n t e r c o n n e c t i o nm o d u l ec c x a f t e rt h a t ,a l li m a g el o c a l i z a t i o nc o p r o c e s s o rb a s e d i m p r o v e dd i s t r i b u t e da l g o r i t h mw a sd e s i g n e d ,o p t i m i z e da n di n t e r c o n n e c t e dt o s p a r cc o r ew i t l lt h ec o n s i d e r a t i o n so fi m p l e m e n t a t i o ne n v i r o n m e n t b a s e do n x i l l i n x s3 2 - b i tm i c r o b l a z ee m b e d d e d s y s t e mp l a t f o r m ,a ne m b e d d e ds y s t e m i n v o l v i n go p e n s p a r ct 1a n dm i c r o b l a z e dc o w o r k i n gw a sb u i l t o p e n s p a r ct 1 a n dm i c r o b l a z e dw e r ei n t e r c o n n e c t e db yc o - d e s i g n i n go fs o f t w a r ea n dh a r d w a r e , w h i c hm a d ei tp o s s i b l ef o ro p e n s p a r ct 1t of e t c ha n de x e c u t ei n s t r u c t i o n si n s i d e m e m o r ya n da c c e s so t h e rp e r i p h e r a l sw i mt h ea s s i s t a n c eo fm i c r o b l a z e sf i r m w a r e t h ef u n c t i o n so fo p e n s p a r cw e r e e v e n t u a l l yi m p l e m e n t e da n d v e r i f i e do n x u p v 5 l x l l0 tf p g ae v a l u a t i o nb o a r d k e yw o r d s :o p e n s p a r ct 1 ,c m tp r o c e s s o r , i n t e r c o n n e c t i o na r c h i t e c t u r e , f p g a i i 目录 目录 第一章引言1 第一节研究背景1 1 1 1 计算机性能的瓶颈1 1 1 2 并行计算的结构2 1 1 3c m t 处理器的优势3 第二节研究意义4 第三节研究内容与论文结构5 第二章o p e n s p a r ct 1 处理器结构6 第一节t r a s p a r c 结构6 2 1 1u i t r a s p a r c 特性6 2 1 2 处理器结构7 2 1 3 二进制代码兼容8 第二节o p e n s p a r ct 1 结构9 2 2 1o p e n s p a r ct 1 简介9 2 2 2o p e n s p a r ct 1 组件1 0 第三章s p a r cv 9 处理器核与验证14 第一节s p a r c 处理器核的结构1 4 3 1 1 取指单元( i f u ) 1 4 3 1 2 装载存储单元( l s u ) 1 7 3 1 3 执行单元( e x u ) 侣 3 1 4 内存管理单元( m m u ) 2 0 3 1 5 异常逻辑单元( t l u ) 2 1 第二节s p a r c 处理器核的验证2 3 i i i 目录 第四章片内互联结构与协处理器互联2 5 第一节o p e n s p a r ct 1 的片内互联2 5 第二节c c x 数据包传输2 6 4 2 1p c x 数据包传输2 6 4 2 2c p x 数据包传输2 7 第三节c c x 数据包格式2 8 4 3 1p c x 数据包格式2 8 4 3 2c p x 数据包格式3 1 第四节c c x 接口时序3 4 4 4 1p c x 接口时序3 4 4 4 2c p x 接口时序3 5 第五节声像定位协处理器的互联3 6 4 5 1 声像定位协处理器3 6 4 5 2 协处理器的互联3 9 第五章f p g a 的昂w 工程实现4 1 第一节f p g a 实现的结构4 1 第二节s p a r c 处理器核的实现4 2 5 2 1s p a r c 处理器核的开源资源4 2 5 2 2s y n p i i 彤工具综合4 4 5 2 3 肟厂工具综合4 6 第三节蒯工程的硬件实现4 7 5 3 1 硬件系统结构4 7 5 3 2c c x 2 m b 组件4 8 5 3 3s p a r c 处理器核组件5 0 5 3 4 整体互联5 1 第四节脒工程的软件实现5 5 5 4 1 软件系统结构5 5 i v 目录 5 4 2g u n z i p 解压缩5 6 5 4 3o p e n s p a r ct 1 请求处理5 8 第五节f p g a 实现结果6 0 总结与展望6 1 参考文献6 2 致谢6 4 个人简历6 5 v 第一章引言 第一章引言 本文主要介绍了开源6 4 位多线程o p e n s p a r ct 1 处理器的体系结构设计, 以及在该体系结构上添加声像定位协处理器的方法,o p e n s p a r ct 1 处理器最终 在f p g a 上以嵌入式系统的方式得以实现并验证。 第一节研究背景 1 1 1计算机性能的瓶颈 摩尔定律指出半导体芯片上集成的晶体管数量将每1 8 个月翻一番,该定律 直接作用于计算机领域体现为计算机微处理器的时钟频率迅速不断攀升。然而 事实证明,微处理器频率的提高并不能显著地提升计算机的运算能力,并且时 钟的频率也不可能被无限制地提高。 微处理器频率的快速提高将首先面临能耗的考验。微处理器的功耗可近似 由c m o s 集成电路功耗的计算公式得出:p = c v 2 f 。由此可见,总能耗将随 微处理器频率而快速增加。按这一趋势,微处理器能耗产生出热量所需的冷却 费用将大大增加计算的成本,并很快会达到无法承受的地步。 更为重要的是微处理器运算能力很大程度上受到了存储器速度的约束。就 当前技术发展的现状,存储器速度提高得相对迟缓。内存的速度每6 年才会提 升一倍,而微处理器的速度几乎每2 年就会有一倍的提高。鉴于存储器的限制, 目前单线程微处理器实际的平均利用率仅为1 5 - - - - 2 5 错误蛛矧引脓。随着时间推 移,其利用率还会越来越低,微处理器绝大多数的时间都将浪费在等待访问存 储器之上。 除此之外,随着频率的提高,传统单线程微处理器的复杂度也日益增大。 这就给设计带来了更多的困难,从而导致设计成本的提高和推向市场速度的减 缓。并且随着网络的广泛使用,大量基于网络的应用也已不再适合传统处理器 单线程串行运算的模式。因此不需要很高运算速度却同样可以很好地提高性能 的,基于并行计算结构的微处理器设计得以快速发展。 第一章引言 1 1 2 并行计算的结构 近些年来,用于高性能计算的并行微处理器结构被广泛地研究错误昧煳引用潭【2 】。 在该研究领域中,主要有以下几类常见的并行结构技术: 对称多处理结构 2 1 3 ( s y m m e t r i cm u l t i p r o c e s s i n g ,s m p ) s m p 是指在一个计算机系统中汇集多个微处理器,微处理器间彼此共享内 存和总线系统的结构。该结构中,各微处理器都运行操作系统的一个复本,并 且都可以平等地访问内存、i o 和外部中断等资源,从而极大地提高了计算机的 运算性能。但s m p 结构的可扩展性较差,一般只能支持8 至1 6 个微处理器。 而且s m p 结构可靠性也相对较差,多个微处理器共享一个操作系统和存储器, 一旦二者中任何一个出现问题,就将导致整个计算机系统完全瘫痪。该结构多 用于早期商业服务器中。 单芯片多处理结构【3 4 ( c h i pm u l t i p r o c e s s i n g ,c m p ) c m p 由美国斯坦福大学提出,其核心思想是将原本多个分离微处理器构建 的s m p 结构集成到单一芯片内,每个微处理器的内核就是一个相对简单的单线 程处理器。多个微处理器内核可以在处理器内部共享缓存,从而提高了缓存利 用率,与此同时也简化设计的复杂度。c m p 允许线程在多个内核上并行执行, 从而利用线程级并行性来提高系统性能。目前一般而言,由i n t e l 和a m d 推出 供个人所使用的多核处理器即采用该结构。 同步多线程结构【4 j 1 5 j i 酬( 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 源于充分挖掘超标 量结构处理器的潜力,相对复制整个微处理器内核的c m p ,s m t 仅复制取指令 缓冲、返回地址堆栈、寄存器、控制逻辑、重排序缓冲、s t o r e 队列等资源,以 此实现多线程的同步运行。i b m 公司的p o w e r 5 、6 处理器即采用该结构。 硬件多线程结构【7 1 ( h a r d w a r em u l t i t h r e a d i n g ,h m t ) h m t 强调以硬件的方式独立维护每个线程的状态,可以在遇到延迟事件时 迅速切换线程,避免将时间浪费在延迟等待之上。根据切换机制的不同,h m t 又可细分为流水线停顿切换的粗颗粒( c o a r s e g r a i n e d ) 和时钟周期切换的细颗粒 ( f i n e g r a i n e d ) 。不同于s m t ,h m t 每个时钟只执行一条指令,因而其结构更为 简单,易于维护和高度集成。i b m 公司的s t a r 系列处理器即采用该结构。 片上多线程结构【8 j 例( c h i pm u l t i t h r e a d i n g ,c m t ) 2 第一章引言 c m t - - c m p + h m t ,即在一块芯片上集成多个h m t 处理器内核,而每个 h m t 又可以支持多个线程的处理。c m t 技术采用相对简单的h m t 多线程处理 结构,线程会一直保持运行直到被耗时事件阻塞。一旦阻塞发生,将会立即切 换到另外一个就绪的线程继续执行,从而保证了其利用率。每个芯片中又包含 了多个h m t 内核,以此实现物理上并发地执行多个线程,进一步提升了运算性 能。s u n 公司的u l t r a s p a r c 处理器就采用该结构 1 1 3c m t 处理器的优势 一直以来,微处理器主要都被设计成了针对桌面环境,设计厂商纷纷采用 超深流水线和指令级并行( i n s t r u c t i o n l e v e lp a r a l l s l i s m ,i l p ) 1 0 j 的技术,以求尽可 能地发挥单个线程的运算能力。即使进入并行计算时代,该设计理念依旧被绝 大多数的设计厂商所遵循。 然而对于许多的商业应用以及当下大量出现的网络应用而言,微处理器大 部分时间都会处于等待内存访问的闲置状态,而真正所用来执行指令的时间仅 仅是很小的一个时间片断。因而与其构造一个超深流水线、规模很大、又非常 复杂、利用率却很低的i l p 处理器,反倒不如另辟蹊径,构造许多个规模很小 的、又很简单的线程级并行( t h r e a d l e v e lp a r a l l s l i s m ,t l p ) t 1 1 儿1 2 j 处理器。t l p 与 i l p 二者机理的区别如图1 1 所示。 t h r e a d1 t h r e a d2 t h r e a d3 滋爨强疆匿爨疆疆匿鼍睡澄疆叠翟翻霞圈 t h r e a d4 疑强霾覆题圈匿瑟强强滋团豳眶盔逶强霾圈 t 泸s i n g 删l ei :孑h r 利鬣鋈噩覆鋈蓬疆爱鍪圈 t w o e ) c e c u t i n g 圜s t a l l e d o nm e m o r y 图1 1t l p 与i l p 的对比 t l p 采用多个线程并行执行。每个线程的执行能力不是最强,但多个线程 彼此交叠,可以充分利用存储器访问的延时,最大限度提高了微处理器的使用 效率,从而使整体运算性能得以提高。而i l p 则是在指令集层面上的并发。单 第一章引言 个线程一次可以处理多条的指令,宏观上缩短执行的时间、提高运算的性能。 但指令执行之间存储器访问的延时依旧无法避免,其整体使用效率同样很低。 早先计算机整体的性能是因为受到了微处理器运算速度的制约,超深流水 线和i l p 技术才被广泛应用。但随着处理器运算能力的不断提高,在达到数g h z 的运算速度时,计算机性能的瓶颈已经转移到了存储器和i o 子系统之上。t l p 技术为此应运而生,无需很高的运算速度即可满足绝大多数的商业应用。 c m t 处理器以t l p 技术为核心,将多个h m t 处理器核整合于同一芯片内。与 传统结构的微处理器相比,c m t 处理器更是具有诸如以下的优点【1 3 】【1 4 】【1 5 l : 研发周期短。处理器结构简单,易于设计和验证; 高集成度。控制逻辑简单,扩展性好,易于实现,可大规模集成; 功耗低。不存在高主频引起的高功耗,更可动态调节工作频率、逻辑单 元电压和负载分布,有效降低其功耗; 高带宽。信号大多位于处理器内,全局信号极少,线延迟影响较小。 第二节研究意义 微处理器的设计水平日益提高,而大量高性能计算应用的需求更是不断涌 现。传统单核单线程微处理器的结构早已无法满足目前应用的要求,片上多处 理器系统和微处理器多线程技术也就成为了当今微处理器和s o c 设计领域的最 新热点,为计算机体系结构研究带来了全新的挑战。 在当今的大多数商用环境中,利用多线程并行机制优势的大吞吐量计算已 被广泛应用。与个人应用的桌面环境不同,大吞吐量计算所面临的问题是大量 小规模进程的并发地执行,因而大多数商业应用都需要一个很大规模的线程池 以保证其运作的正常。采用c m t 技术的处理器能够提供大量的线程支持,从而 很好地满足商业环境下的应用需要。本文即以此为契机,对s u n 公司所提供的 开源c m t 处理器o p e n s p a r c 1 6 儿1 7 j 进行了研究。 o p e n s p a r ct 1 是s u n 公司商用处理器u l t r a s p a r ct 1 的开源版本,为6 4 位的多核多线程处理器。单芯片最多可包括8 个处理器内核,提供多达3 2 个线 程的支持。o p e n s p a r ct 1 是当今业内最先进的、开放源代码的多线程处理器之 一。对开源o p e n s p a r ct 1 的研究,可了解到当今世界微处理器设计领域的最 前沿。并在自由开发知识产权的框架下,以更高的起点从事微处理器及s o c 的 4 第一章引言 研究,有助于我国在相关领域开发出具有自主知识产权的产品,进而与世界最 新技术保持同步。 第三节研究内容与论文结构 本文的研究围绕o p e n s p a r ct 1 所公开的源代码展开,包括了对 o p e n s p a r ct 1 处理器的体系结构、s p a r c 处理器核的结构、片内互联系统的 结构、声像定位协处理器的设计与互联、f p g a 的实现等内容。具体将重点围 绕下面三个方面展开: s p a r c 处理器核结构的研究; 片内c c x 互联结构及协处理器互联的研究; o p e n s p a r ct 1 处理器f p g a 嵌入式系统平台的实现。 本文共分为六章: 第一章,简要介绍o p e n s p a r ct 1 处理器研究的背景、意义和内容。 第二章,简单介绍o p e n s p a r ct 1 处理器的系统结构。 第三章,介绍s p a r c 处理器核的研究及验证。 第四章,介绍o p e n s p a r ct 1 处理器的片内互连结构及声像定位协处理器 的设计和互联方法。 第五章,介绍o p e n s p a r ct 1 处理器在f p g a 上的实现方法。 第六章,对已完成的研究进行总结,并对未来的工作做出展望。 第二章o p e n s p a r ct l 处理器结构 第二章o p e n s p a r ct 1 处理器结构 s u n 公司于2 0 0 5 年1 2 月推出了c m t 处理器u i t r a s p a r ct 1 ,并于2 0 0 6 年 3 月将该处理器的源码公开,命名为o p e n s p a r ct 1 ,成为业界内第一款开源的 6 4 位c m t 处理器。又于2 0 0 7 年推出更加先进的后续处理器u l t r a s p a r ct 2 , 其开源版本o p e n s p a r ct 2 也随之公布。 o p e n s p a r ct 1 处理器的开源资料在网站w w w o p e n s p a r c , n e t 上直接提供下 载,其内容包括:处理器的硬件描述语言源码( r t l 级v e r i l o g 代码) 、编译验证 的脚本和软件、芯片仿真的平台、s o l a r i s 操作系统启动镜像、超特权级的软件 源码以及丰富的相关文档。 第一节t r a s p a r c 结构 o p e n s p a r ct 1 是u l t r a s p a r c 硼t 1 的开源,而u l t r a s p a r c 的结构则继承 于s p a r cv 9 结构,并且全面兼容s p a r cv 9 的l e v e l1 ( 非特权级) 的规范。 u l t r a s p a r c 结构主要支持的数据类型为3 2 位、6 4 位整数和3 2 位、6 4 位、 1 2 8 位浮点数。其中3 2 位、6 4 位的浮点数类型遵循i e e es t d7 5 4 1 9 8 5 标准,1 2 8 位浮点数类型遵循i e e es t d1 5 9 6 5 1 9 9 2 标准。u l t r a s p a r c 结构定义了通用整 数、浮点数和特殊状态寄存器指令,所有指令均为3 2 位宽的格式,其中l o a d s t o r e 指令可访问存储器的线性6 4 位虚地址空间。 2 1 1t r a s p a r c 特性 u l t r a s p a r c 结构与其前代的s p a r cv 9 相似,同样具备如下主要特性: 线性6 4 位地址空间,提供6 4 位地址寻址; 所有指令都被限制为3 2 位,仅有l o a d s t o r e 指令可以访问内存及控制i o ; 很少的寻址方式。内存地址只能通过两种寻址方式得到:寄存器+ 寄存 器或寄存器+ 立即数; 三元的寄存器地址。绝大多数运算指令都使用2 个寄存器,或1 个寄存 器和1 个常数,并将运算结果存放在第3 个寄存器中; 大窗口的寄存器组。任一时刻程序都可以访问8 个全局寄存器和1 个窗 6 第二章o p e n s p a r ct 1 处理器结构 口大小为2 4 个寄存器的大寄存器组。按窗口划分的寄存器组可以被用 作函数调用参数、临时变量以及返回值的缓存; 兼容i e e e7 5 的浮点数指令集。该指令集使用含有3 2 个单精度( 3 2 位) , 3 2 个双精度( 6 4 位) 以及1 6 个四精度( 1 2 8 位) 的独立寄存器组; 快速的异常处理,异常通过向量表可直接定位; 多处理器同步指令,支持多种形式内存读写的原子操作; 提前预测的分支结构,带有预测信息的分支指令使得编译器或汇编语言 编程者可预先给硬件以提示,分支是否将会发生; 分支消除指令,有助于超标量和超流水线的实现; 硬件异常堆栈,提供硬件异常堆栈用于处理一系列接连发生的异常,该 堆栈包括系统所有的必要状态,以用于返回之前的异常。 除此之外,u l n a s p a r c 结构还包括以下s p a r cv 9 所不具备的特性: 管理模式,该模式简化了操作系统的移植,具备更好的特权级软件移植 性,支持多操作系统的同时运行,并提供更强健的错误条件处理能力; 多级全局寄存器,u l t r a s p a r c 结构提供了多个寄存器集,每个异常级别 可独享一个寄存器集,取代了s p a r cv 9 结构中的8 个全局寄存器; 扩展指令集,u l t r a s p a r c 结构提供了如用于向量数据( s i m d ,单指令多 数据流) 操作的v i s 指令集,以及许多其它指令集的扩展; 更加详细、具体的描述,u l t r a s p a r c 结构提供了诸如每条指令会产生怎 样的异常及产生的特定条件等许多更加具体的细节描述; 更细节的m m u 结构,u l t r a s p a i 规范中还提供了一个包括软件层面 ( t r e 和t s b ) 和硬件控制寄存器的u l t r a s p a r cm m u 蓝本; 片上多线程,u l t r a s p a r c 结构具有一个高度线程化处理器实现所需要的 硬件控制结构。 2 1 2 处理器结构 一个虚拟处理器是包含有一个软件线程执行所需状态的硬件。一个物理处 理器内核是能够执行一个或多个软件线程指令的硬件,同时还包括虚拟处理器 间彼此共享的资源。一个完整的处理器由一个或多个物理处理器内核组成。 o p e n s p a r c 的虚拟处理器可以运行在非特权模式、特权模式和超特权模式。 7 笙三童q 旦竺! 坠垦竺! ! 丝堡墨笙塑 超特权模式下,处理器可以执行包括特权级的所有指令:特权模式下,处理器 可以执行非特权级和特权级的指令;非特权模式,处理器只能执行非特权级的 指令。在非特权和特权模式下,一旦需要执行比自身级别高的指令时,会产生 一个交由超特权级软件处理的异常。 u l t r a s p a r c 结构处理器,抑或说是o p e n a s p a r c 处理器,在逻辑上都包含 一个整数单元( i n t e g e ru n i ,i u ) 和一个浮点数单元( f l o a tp o i n tu n i t ,f p u ) ,每个单 元都拥有各自的寄存器。该组织结构可实现整数和浮点数指令的并行执行。整 数寄存器为6 4 位宽,浮点数为3 2 、6 4 或1 2 8 位宽。指令操作数可为单个寄存 器、寄存器对、四寄存器组或者立即数。 整数单元 u l t r a s p a r c 结构中所实现的整数单元包含有对通用寄存器及所有虚拟处理 器操作的控制。i u 执行整数的算术运算和读写内存所需地址的计算,同时也还 负责维护程序计数器和f p u 单元内指令执行的控制。 u l t r a s p a r c 结构中可包含有7 2 到6 4 0 个6 4 位的通用寄存器,对应于分组 的全局寄存器组和nr e gw i n d o w s 个寄存器窗,每个寄存器窗由1 6 个寄存 器组成。通常nr e gw i n d o w s 在3 至3 2 之间,o p e n s p a r ct 1 和t 2 中默认 n 上e g w i n d o w s = 8 o 浮点数单元 u l t m s p a r c 结构中f p u 有3 2 个单精度浮点数寄存器,3 2 个双精度浮点数 寄存器和1 6 个四精度浮点数寄存器,其中部分为重叠复用。 如果f p u 未被启用,却又由浮点数指令被要求执行,则会产生一个彦d i s a b l e 异常。用于处理加d i s a b l e 异常的软件必须开启f p u 并重新执行引起异常的指 令,或者用以软件模拟该浮点数指令的执行。 2 1 3 二进制代码兼容 u l t r a s p a r c 结构中一个很重要特性即提供了对从应用程序( 非特权级) 到二 进制代码的兼容。虽然不同的u l t r a s p a r c 结构系统可以在不同的速率下执行非 特权级程序,但只要是在一个相同的内存模型下运行就会得到相同的结果。 当所有u l t r a s p a r c 结构的操作系统都提供了标准的执行环境后,其上二进 制代码执行于非特权级时的结果应是完全一致。此类的标准环境有u l t r a s p a r c 8 第二章o p e n s p a r ct 1 处理器结构 v 9 的应用二进制接口( a p p l i c a t i o nb i n a r yi n t e r f a c e ,a b i ) 等。 第二节o p e n s p a r ct 1 结构 2 2 1 o p e n s p a r ct 1 简介 o p e n s p a r ct 1 处理器是第一款完整实现s u n 高吞吐量计算方案的单芯片多 线程处理器。o p e n s p a r ct 1 基于6 4 位s p a r cv 9 体系架构,针对诸如应用服务 器、数据库服务器之类的商业应用而设计。 o p e n s p a r ct 1 处理器包含有8 个s p a r c 处理器核。每个s p a r c 处理器核都 可在硬件上支持4 个线程,并含有一个指令缓存、数据缓存和一个完整的辅助 指令、数据旁路转换缓存( t r a n s l a t i o nl o o k a s i d eb u f f e r s ,t l b ) 。8 个s p a r c 处理器核彼此间通过一个交叉开关( c r o s s b a r ) 与片外的l 2 缓存相连【1 8 】。 4 个片内的动态随机访问存储( d r a m ) 控制器直接与双倍数据速率异步 d r a m ( d d r 2s d r a m ) 相连。除此之外,片内还有一个j - b u s 控制器可以提供 o p e n s p a r ct 1 处理器与i o 子系统的连接。 简而言之,o p e n s p a r ct 1 处理器包括了如下特性【1 9 】: 8 个s p a r cv 9 处理器核,每个核内有4 个线程,共计3 2 个线程; 互联结构可与片外以1 3 2 g b 秒的速率通信; 每个s p a r c 处理器核有1 6 k bl 1 指令缓存和8 k bl 1 数据缓存; 3 m bl 2 缓存,每4 路一组,共1 2 路被所有处理器核共享; 4 个d d r 2d r a m 控制器,每通道为1 4 4 位接口和2 5 g b 秒峰值带宽; 浮点单元兼容i e e e7 5 4 标准,为所有处理器核共享; 用于i o 的j - b u s 接口可支持最高2 5 6 g b 秒的峰值带宽,1 2 8 位复用的 地址数据总线; 支持p r o m 启动的串行系统接口。 o p e n s p a r ct 1 处理器的结构如图2 1 所示。 9 第二章o p e n s p a r ct i 处理器结构 o p e n s p a r g1 1 图2 1 o p e n s p a r ct 1 结构框图 2 2 20 p e n s p a r ct 1 组件 s p a r c v 9 处理器核 每个o p e n s p a r ct 1 的处理器核都支持最多4 个线程的硬件并发执行。执 行每个线程的虚拟处理器都包含有一个完整的寄存器集【2 0 1 ( 8 个寄存器窗) ,大部 分的地址空间标识( a d d r e s ss p a c ei d e n t i f i e r s ,a s i ) 和辅助状态寄存器( a n c i l l a r y s t a t er e g i s t e r s ,a s r ) ,以及每个线程特权级寄存器的备份。4 个线程处理器共享 指令、数据缓存和t l b ,并允许多个线程处理器无需加锁直接更新t l b 。 s p a r c 处理器核的流水线共有6 级:取指、线程选择、译码、执行、内存 访问和回写。如图2 2 所示,在线程选择级中,每个线程处理器都有一个独立的 指令寄存器。且与单线程r i s c 处理器的执行类似,其它各级的流水线会依次执 行被调度的指令。指令在译码单元被译码,并修改寄存器组。执行单元中,所 有的算术和逻辑运算被执行,并计算将访问的内存地址。内存访问单元中,数 据缓存被访问并受回写单元的控制写回内存,所有异常信号都在该单元产生。 l o 第二章o p e n s p a r ct l 处理器结构 图2 2s a p r c 核流水线结构框图 s p r a c 处理器核所执行的指令都被分为短延时和长延时两类。当某一个线 程执行长延时指令或者遇到其他停止条件,线程调度器就会阻塞该线程的执行。 直到长延时指令被完成或停止条件被清除,调度再次发生使其继续执行。 c p u 缓存交叉开关 8 个s p r a c 核,4 个l 2 缓存组,i o 桥以及浮点数运算单元等都是通过交 叉开关彼此互联在一起,如图2 3 所示。 l 掣c o r e 0 伊c ;o r e li “弹i rj 丌 c o r et ol 2c a c h e ,s h a r e df p u c r i 糊一基h 驴耋0 、 弘 乙鼍,l 二鼍j ”瓷 l 2c a c h e , f p u 。c r t o c e r e o 善 一r 1 ,;= 。 。砉土嵋曰镰 _ _ 1 0 乏:o v 磊q 亳: i l iii | 篙。卜蔺阉| 哲| 图2 3c c x 结构框图 l l 第二章o p e n s p a r ct i 处理器结构 c p u 缓存交叉开关( c p u c a c h ec r o s s b a r ,c c x ) ,具有如下特性: 每个请求都为每个目的地提供最多两个数据包的队列; 三级流水线:请求、仲裁和传输; 根据请求优先级集中仲裁处理; 处理器核到缓存总线针对地址双字节存储优化; 缓存到处理器核总线针对1 6 字节线填充优化; 浮点数运算单元。 所有8 个s p r a c 核共享1 个浮点数单元。在大多数的商业应用中只有不到 百分之一的指令需要进行浮点数运算,共享的浮点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年危险废物管理培训效果评估考核试卷
- 2025年交通运输行业Cybersecurity资格考试全链条安全防护考核试卷
- 2025年公共服务行业城市智慧化创新研究报告及未来发展趋势预测
- 光电探测器材料响应度测试考核试卷
- 2025贵州民族大学采用简化考试程序招聘工作人员 (第二批)笔试考试参考题库及答案解析
- 招24人!2025年达日县紧密型医共体自主招聘编外(临聘)人员考试笔试模拟试题及答案解析
- 2025广东佛山市顺德区水藤小学语文学科临聘教师招聘考试笔试备考试题及答案解析
- 2026年中国铁路郑州局集团有限公司招聘全日制普通高等院校大专(高职)学历毕业生1288人考试笔试备考题库及答案解析
- 2025年甘肃开放大学引进高层次人才笔试考试参考试题及答案解析
- 2025北京广播电视台招聘200人考试笔试备考题库及答案解析
- 中药不良反应监测报告管理制度
- (2025)入党积极分子培训班考试试卷与答案
- 钢格栅安全管理制度
- 合作利润分成合同协议书
- 人教版五年级英语上册Recycle-3-测试卷-附答案
- 医学生职业生涯规划与发展路径
- 赠予汽车使用权合同
- 2024年东北大学辅导员考试真题
- 如何做好病人的护理查房
- 《基础工程教学课件》基础工程
- 《股票形态分析》课件
评论
0/150
提交评论