




已阅读5页,还剩68页未读, 继续免费阅读
(计算机科学与技术专业论文)基于“龙腾r2”微处理器的smt结构的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本论文的研究内容基于国家某预研课题,目的是研究i u s c 微处理器的体系 结构和设计方法,设计兼容于p o w e r p c 指令集的嵌入式微处理器。 课题组设计的3 2 位嵌入式l u s c 微处理器“龙腾r 2 ”芯片,指令系统和接 口时序与m o t o r o l a 公司的p o w e r p c 7 5 0 微处理器兼容,微体系结构采用自主设计 的技术路线,采用自顶向下的设计方法,目前芯片已经流片成功,主频达到 2 3 3 m h z 。本文作者在课题研究中,参与完成了该处理器的定点流水线的设计和 验证工作。在该项目的基础上,对同时多线程结构的取指策略和分支预测算法进 行了深入的研究。作者的主要工作以及取得的研究成果如下: 1 通过对p o w e r p c 7 5 0 体系结构的研究,完成“龙腾r 2 ”微处理器的定点流水 线设计方案,指令集与p o w e r p c 兼容。基于对微处理器速度、面积和性能综 合考虑,采用包括取指、译码、取操作数、执行、异常检测和写回在内的6 级流水结构。 2 对“龙腾r 2 ”的异常进行分类,实现“龙腾r 2 ”流水线的精确异常处理, 在保证处理器时序的前提下,合理的解决了该流水线中的数据相关,控制相 关以及资源相关。 3 完成“龙腾r 2 ”处理器中包括分支处理单元和取指单元在内的流水线前端 组织结构的详细设计。其中分支处理单元可支持静态和动态分支预测算法, 同时该单元中利用分支目标地址缓冲区( b t i c ) 加快分支处理速度。取指策 略主要采用适合于“龙腾r 2 ”的多取指低频度方法。 4 针对超标量技术的局限性,为了进一步提高“龙腾r 2 ”处理器的处理能力, 提出了“龙腾r 2 ”同时多线程处理器的流水线结构,并对该结构进行了仿真 分析。仿真结果表明,“龙腾r 2 ”s m t 结构的i p c 比“龙腾r 2 ”超标量结 构平均提高了3 0 8 6 。 5 分析同时多线程的研究热点,重点研究取指策略和分支预测算法,进而选取 适合的取指策略和分支预测算法,构造“龙腾r 2 ”s m t 处理器的取指控制 部件模型并进行仿真分析。新的取指策略能使指令队列中有效指令的比例上 升2 1 4 ,新的分支预测算法的预测精度也比原来提高了5 6 。 关键字:流水线,分支预测,取指策略,同时多线程处理器 a b s 譬薹键e 重 t b 呔i l l 瓶sd i 謇s e 渤t i o 藏i sp 积o fn 撕。蒯p 删e c t 僦谴l e d 撕l i e 积o n s 辨e i 蠡越糍醢魏哟黥熊蠡霉醚稔醐粼瑚s 避 鳓群l 糯就只艇秘鬈婶辩鳍妇; 州嘲妇i c o 如s i g ne m b o d d e d3 2 耪馏商e 戮磅站e 霪s 鸭w h o s 尊i 援曲| c t i o n 舄躐重s e o i n p 撕b l e 喇_ l hp o 黼撑| e ,b ys 眦螂鹪耻s ca h i t e c n a 戚鼎p l o r i n g 如8 i 印 趣如。莲q b 塞麓 趸童瓣赫她璎l i o 魏蒜躐剃疆瓣瓤渤惩 蠛赫瑟彗心豢隐e 脚莲 3 窑南嚣 m i c r o p r o e e 8 s o r “l o n 鲥啪r 2 ” i s e o m p a 曲l ew i mm o 协m i 巍sp o w e 撑e7 5 0 i i l i c r o p 糊s s 弧1 k 巍鹣h i t e c 抛r ei 蠡触l l p y r i g h t & u s i n gm e 髓l 一d o 嘲礴棼赫辨 裁施。酗l 蛰鹱黔震褥a s _ 堇e 醢碴魏越套麟姗潞襄热l l y 筏攀醴臻蠛,霹l e 襄聪城缮i 霪 勰s p o 燃獭i o 稻f 镬。d 煳i g n 嬲di 激p l e 瑚程墩溢。毂o f 也j ep 抛蝴s o r 毽散靠辨蕊 e x e c u t i n 感聃飘i t b a s e do nt i l a _ i ,n l ea 嗽rp e r f o r m 孰一d e p 恤r e s e a 鹪ho nt h e 惫憾b 玉n g 勰耋e 鲜糍蘸& a n 吐p 瓣d i e l i io f 谯瓣s 触零鑫粥董l i ! 耋e e 镪怒。 戳s 琏i s 燃燃疆i 啦s 髓斌融懿惫i l 鳓瓣 1 黎y 咖d y 吨龇p o 玳f p e h “e c _ t l 如霸辨龇“l a n 鲥姗r 2 ”巍辫融 p i p e l i n e ,w m e hh 躯6s 媳萨s 。u s ;et h ei s 8 u 戆q l | :e u e 觚d m p i e t i o n 印i 醪协 鼯瓣黜。瞧e 爹黜砌糕 2 + s o 戒衄婶镬鳓o f l o 飘群i 糊蛋眨气 c o 戤p i 曲e 赫孵e i 鞠e x 群i 雌 p l e e s s i n ga n d 如p e n d e n c yp 雾o e e s s i n go f 岫“i o n g t i u m 熏毪”p i p e l i n e 。 3 。婶l e t e 艟毓躐一e n d 揪燃t o 咖托o f 溉鲤垂i 脯越”觚p o 越势瓣驻嫉 魏瓣l 波8 戳j 黎聪i 鲻魏避i 勰静随漫i 端翻i 。豫嚣p 誓毽勰热瞧遗器蘸哿髓黼i e b 啪c 量lp 他d i e 髓o n 甜9 1 0 蝴o p c i o n 觚l 鞴麟a n w h i l e 蟠e 舭稳料e 协 l e r a t e 饿e 即e e do fb i 铷鹂hp 】c e s s n g 。 碡。恕翻殍e 德霉熬瓣i 穗i 鼹s 妞“至懿痊l 糕瓣薹:泛”霪弹哿戮鑫l 嚣雾撵霪减 幽i 越n g 瓣w 罄。内硝挖f 赫警v 霉斑嚣船n 耄m o 毅枣溉罩呓”p 紫。滟s s o 驾 p p o s e l o 髓瓣i _ u i nr 2 ”s m 1 p i p e l i n e 趣糯撕t e c t u r e 黩骢d 矗n a l l yr u 媳t 1 1 e 黻e 址诧煎勰m l 删零l 盛m u l 赫触姆s m s 蹦簿i 瓢娃霆 鬟 翩瑚醺辩s 霉蛐g 甜溉献馥霪轾蝴剃蕊汹删稔薮惑藏祥簿瓣 a 端b i t e c t l 鹏,妇s i g n “l o n 甜i 御r 2 , ,s m tp r o c e s s o r 8 瓤打u c 醢o n 论姒潮n g 曲o l l e ra n d 煳s o m en 麟髂8 s 哪s i m u l 觚蝴b ys m t 8 蝴s 蛔u l a _ t 睨 薹( 侧秘删:确,e l j n e ,赫黼幽刚i 蕊峨瓤矗瓣a 确融s 淞芦鹪黟随 n 西北工业大学业 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属于西北工业大学。学校有权保留并向国家有关部门或机构送交论文的复印件 和电子版。本人允许论文被查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时本人 保证,毕业后结合学位论文研究课题再撰写的文章一律注明作者单位为西北工业大学。 保密论文待解密后适用本声明。 学位论文作者签名: 矽年弓月7 日 指导教师签名: 夕年弓月7 日 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所呈交的学位论文,是本人 在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容和致 谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果,不包 含本人或其他已申请学位或其他用途使用过的成果。对本文的研究做出重要贡献的个人和 集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任。 学位论文作者签名: 畛月7 日 蕊l 耘一“魏丈学磁士警静渔文第一章绪淦 1 1 课题背景疑来源 第一章绪论 霆i 邀纪人类将垒蕊进入德息纯社会,蔼电予技恭是赞慧社会鹣基蓉,实蕊薅 惠纯麴瓣络爱冀美键郝辞不篝是冬静计算枫还蹙遥讯甄予装裔,它黼的基础郝燕 集成瞧褥。豫为德患通讯产她的棱心和蒸鹅,集成逛路鹩发展藏瓣娄务之急,园 就赛圈豢熬娃十一蠢秽趣划孛挺集藏毫路裂菊第一个霜家来来5 l s 年中重煮发震 斡搜术。现代离辩技战争,很大程度上抒静蹩“芯膀战艏。攮美蓬煮荚方面数据, 攀舰、战车、飞橇、导弹耧航天器孛,所用l e 占装蒋和武器成本的滤重,分裂这 戮忿、2 碡、3 3 、4 s 冁耩6 蕊。美匿毽防颈黧孛抟魄予禽量盛鑫描半壁汪融。 露以说,撵舞镑惠产业基础鸯臼集成电路,霆2 l 世纪冒塞生存与发震晌物质与技术 基础,摄国家的战略产业。 微处理器设计技术是集成电路中最复杂和燕键的设计技术之一。作为信息处理 棱心的徽处理器愁渗透裂计黧梳,通信,囊动能黻爱太翻拍网常生涯密切相关的 各抒蚤监。鑫轶改革开艘戳来,裁蓉的瓣搠螫和产量死乎平均戳簿年2 骚的速度 在同步增长,世界l e 市场鹃中;0 正在不断胰羹鳓、默洲、鞫本等隧家囱中国转移, 愆麴生产中心也在不断缝姨蒸链阉家或邋区转移飘誊凝。在国内瓣产鳖蓬勃发展 丽时我粥瞧要瀵意剩,我鹫徽瞧子技术荨发达麓家蓬霄一定的差鼹,在一些棱心 技拳土惩依赖藕受制予国舞。我们国家禳糗意谖剽这个| ;霹越,粟鞭了一系对振兴 电子舔感产犍的政策措施。进入娃十五”缴来,在簿寨瓣支持下,我蘑的芯片设 计领蠛墩褥了一批蹙蒋盘耋翔谖产权的攘术和产品开发成聚,麴中辩院牵头开发 的掰龙芯艘通用艚u 系列,以及由海归学者剖如的科投公司开发的“方舟 系列 和“星光 系列等。西北工业大学航空微电子中心在“十五 期间,也先后研制 成功两款蕊向航燮领域的谶入式处理器“麓麟r r 翮蒯龙腾勉”。其中“龙腾 魏| 舻与醚移细麴l 魏公镯麴黝蝴冀p c 6 0 3 e 兼容,群麓腾黼静与漱翻狐公司戆 p o 姆豢撑凹5 蒸容。其孝巍藏瓣勉帮是属于超撅黧体暴继鞠熬楚瑾器。通过这蕊 款葱片豹讶蓑,戴空徽电子中心在设计毙避搬处理器方躐积累了丰富靛经验。 翘糠量处理嚣程每个辩锩阕麓发射多条辫令剽动麓都髂上执行,其矮熬是剩溺 程序盼辫令缀并行性蠹撼锰搬娃。建k 谨l 蕊l 纛i 瓣,l 潍) 来提高懂髓。但是单个 两乾丁监大学鞭卡学静论文 第一章绪论 程序的有限l l p 导致了超标鬟处理器购资源剽用率不离,进一步增加指令发射宽 瘦其念加重这种情况。隧着徽电子麴工技术和半导体搜术的艇展,单芯片上能够 集成的晶体管数量不断增长。到2 0 0 8 年,单片上将可以放置l o 亿个晶体管鸭可以 在处耀器中集成更复杂蠢勺葫熊。这就沟体系结构研究者翻提粥了很大的挑战:如 何设讲更优越的体系缡构来宽分利用这些晶体管满足来来应用的需求。传统的处 理器设计技拳,翔超稼量技术、超流拳线技术等,主要关注的是处理器主频糯指令 级并行。为了进一步挖掘处理器的并行性能,计算帆体系结构研究誊们提出了许 多设计方案,蕉孛煮代表性的骞多线程处理嚣结构秘翮、同时多线糕s 羲程爱激镒。 t 舡l e o u sm u l t i 触譬a d i n g ) 体系结构 1 】【4 】嘲、单片多处理器技术e m p ( c h 蚺m u 婚 即e 霉8 辍鼬闷1 7 l 等。 线程级并行将会是下一代高性能处理器的核心技术,多线程体系结构有望在未 来十年中占支醚地缀溯。露越,在毫缝成功磷制超标曩处理器昀基瓣主,我躺挺出 了“基于龙腾r 2 的同时多线程结构的研究”的论文课题,结合参加的微处理器研 究方褥的预磷课题,镥对裹糕麓徽楚理器系统结构中彀撂鼙嚣韵关键润趣,对瀛 水线的前端组织结构,包括取指策略和影响墩指单元有效带宽的分支预测等问题 进行了潆入熬讶究和舆俸设计,取褥了预期昀研究藏果,并簿进一步开展圊辩多 线程处理器体系结构的研究打下了壁寞的基础。 1 2 多线程技术的研究 超标量处理器的瓣想是允许在一个时钟阕期内发射多祭搬令以提高处理器的 平均礤c ,更好地利耀处理器的功能部件。提高超标量处理器资源利用率的荚键 润题避:麴蔼在程序中找到足够的指令缀并符性。 超标量处理器在每个时钟周期发射由硬件动态调度的指令。是依赖硬件米发现 至王磐鹩,僵憝超标曩殿能挖掘网一个线程的l h 来摊高处理器资源利爝率。当超 标量处理器不能发现足够的指令来填满发射槽时,水平浪费( 辩o r i z o 谯僦w 勰坛) 就 发生了。就辨娄资源冲突造成多发射簸理器在接下来的时钟髑麓中不麓发射指令, 则造成了垂感浪费( v e r t i c a i ) 。如图l l 馥所示为多发射处理器中可能造成的 垂直浪费韶水平浪费情况。鬣1 1 中窑鑫块表示该指令发射擒l 豁鹳s l 髓) 滚费 了,不同的填充色表示不同线程。 对于下一栈离性麟处理器丽畜,帮发麴并行性不纛该受隰于萃个纛霸内鳃缀粒 度的指令级弗行性。猩许多工作负载中,存在多种形式的粗粒度的线程级并行性【9 】。 倒翔,瓣于多遴编糕麴负载,存在多个独立逛行豹斑焉;丽并行程廖掰可能毽括 多个线程或者进程。 西北工业大学硕士举位论文 第一鬻绪论 多线程技术燕要通过在一个芯片上执行多个不同的线程,利用不同线程之间的 指令互不相美,用不同的线程的指令来填充指令槽,如图l 。l b 、c 、乱群所示, 减小求平浪赞翱垂童浪费,醚此撼离处理器麴处理熊力。这类技术根据多个线翟 是否共罔同条漉拳线又可戳分为簿个子类;其中一类是共蔫褥一条流水线麓缨 粒度多线程f i 魏伊g 嘶n e dh 仇l 鲢妇蟹越i 矬g ) 、粗粒度多线程( e o a r s e l g 蜥麟蘸羚垂娃i t i _ 缸e 枷n g ) 和同时多线程s m t ;男一类是每个线程备斑拥有一条完整流水线的单 芯片多处理器技术c m p 。 1 2 。l 多线程处理器 鞠l 。1 发射槽剩罔情况 多线程处理器的目的是减少长延迟操作对处理器效率的影响,例如减少e a c 抽 不命中和执行时间长的指令对处理器效率的影响。多线程处理器通常为每个线程 维护独立鹩隧翻骞存器。豳予筑够糗速地甥换线程上下文,透就多线糕憝蘧器能 在每个时钟周期发射一个独立线程的攒令。多线覆魅壤嚣叉分舞纲粒度多线稷糯 粗粒度多线稳处理器。 细粒度雾线程处理器【2 】在每个时钟周期都进行线程上下文切换,线程切换的方 式是按照一种围定的、细粒度的调度薰略,从一个线程切换到下一个线程。粗粒 度多线程处理器溺网样也在处理嚣梭内提供多个线程上下文,但是与麴鹣度多线程 不同麴是,糖藕度多线翟只有在当蓊雾活跃酶线程遇载暴霄较长延迟鲶誊襻藤停顿 时才进行切换,例如出现c a c k 失效。 由于存在多个独立的线程上下史可供取指,参线程处理器能够利用线糍缀并行 来提高处理器资源的利用率。但是多线程处理器不能消除水平浪费。随着发射宽 3 西北工业大学硕士学位论文 第一章绪论 度的增加,多线程处理器也会受到指令级并行性的制约。 1 2 2 同时多线程结构 同时多线程【l 】【4 j i 纠最先由华盛顿大学的t u l l s e n 等人提出,并在i n t e lp e m i 啪4 处理器当中得到了实现。传统的超标量处理器和多线程处理器都没有充分利用程 序中可能存在的指令级并行和线程级并行,不能动态的挖掘最大的并行,而同时 多线程处理器正是为了解决这个问题而提出的。同时多线程处理器有两个显著的 特征:一是每拍发射多条指令( 与传统的超标量处理器相同) ,二是保持多个线程 的硬件现场( 与多线程处理器相同) 。同时多线程系统结构的概念模型如图1 2 所 示,多个线程现场连接到共享的执行部件上。 同时多线程结合了超标量和多线程处理器的特点,在一个时间周期内发射来 自多个线程的多条指令。同时多线程处理器为每个线程都保存其相关的上下文信 息,例如p c ,通用寄存器和系统控制寄存器等。每一个时钟周期,可以选择多个 线程的p c 值从指令c a c h e 中进行取指,同时从发射队列中选择任意线程的数据 准备好的指令进行发射,多个功能部件同时执行不同线程的指令。这样,同时多 线程处理器能够利用不同线程间的指令不相关,找到更多可以并行执行的指令, 而且当某一线程遇到长延迟的指令时,可以从其它的线程中寻找数据准备好的指 令执行,避免了长延迟指令导致处理器长时间处于闲置状态。同时多线程处理器 中的每一个线程除了保存有各自的上下文外,共用同一条流水线,共用包括c a c h e 、 指令队列、物理寄存器文件和执行单元的功能部件,因此整个同时多线程处理器 和原来的超标量处理器相比,硬件资源增加的并不多,芯片面积也增加不大。同 时多线程处理器最大的优点就在于只增加很少的芯片面积,使得资源利用率很高, 用较少的成本换取较大的并行性能,充分挖掘了线程级的并行。 图1 2 同时多线程系统结构模型吲 西l 把t 业大学硕士学位论文 第一章绪论 同嚣霉多线稷麓不足之处在于;在s 醚善处理器皆需婺大量翡寄存爨,穗淹寄存 器的延时可能会增加;随着流水线深度的增加,线程的切换代价和延时都会增大i 对于多道程序负载,一些共枣的部件如b 硼、c a c i l e 、盹b 等是整个系统的瓶颈; 对于劳行性强的爨载程序,瑰熊部件的数爨将是影畴糕能的最大国素。 闾时多线稷辩优势在于;s 叁程院传统韵超标量处纛器、多线疆缝淫器秘多簸 理器的性能要高,因为它可以充分利用程序中可能的指令级并行和线程级并行, 把二者紧密结合超来,最大限度地开发执行的并行,丽且与多处理嚣辐比,实现 的爱襻栽徐要小熬多。 l 。2 3 单芯片多处理器结构 攀芯片多缝遴器( e 醚p ) 爨耪是壶蓑阂斯嬗福大学提出的鄹避,冀懋想是将臻 统的对称多处理器( s m p ) 集成到同一芯片内,各个处理器并行执行不同的进程。 图l m 3 显示了新坦福大学的蚤玲d 黼c m p 结构,该处理器凼4 个m 礤s 处理器核心 缉威,每个徽处遴嚣拔心攒嚣蠢邃的一缀辫令c 魏e 翻一缀数据e 嚣棼狳,所有酶缝 理器核心共事一个片上二缀e 溅e 。 圈l 。3 斯坦福的鞴蜘r ac m p 结构 单芯片多处理器由于是程原来的处理器内核的基础上,不修改处理器内核的主 要缮秘,只是修改韪理器访存的攘墨达到多个处理器内撩共享郝凳窿髓子系统, 逡缝褥整个设计魄较简单,设计周鞴较短,整个设计的可扩展性较好。并且多个 内棱都处在同个芯片上,墼进行数据交换或者同步也比较容易。不过,单芯片 多处理器的不足媳在于由于复制了多个完整的处理器内棱,所使用的资源很大, 丽肇芯片多缝毽蕤系统的瓷灏蹩采焉楚分方式酶,粪不存在足够线狸瞬,资源就 浪赞了。而且与超标量处理器相比,相同赘源的利用率提高不大。 5 巍:l 基_ 二延大学硕士学营谂文 繁一牵绪论 i 。2 。4 同时多线程处理器与单芯片多处理器 蔫时爹线程s 瓣和单片多处理器c 氛 遮两个结构韵麓标都是隧辩剩爝指令 缀并行和线程级并行,使用多线程提高吞吐量。 献体系缝梅酶霸鏖来看,舞时多线摆要佬予单片多处理器。多线糕缝理器熊 够在每拍阉时利用线箨级并行饿和指令缀并行性,随着应用程序的不同,程序审 指令缀并行和线程级游行也是动态变化的,同时雾线程可以缀好地调熬逮两种并 行之阉的动态变纯,镬褥执行单元的剩雳率达到最离;单片多处理器燕将线程静 态地分到不阀处理器上,当线程因为相蓑丽停顿或者线程数冈不多时,都会造成 瓷源昀浪费,处理器饿麓会下降。 从结构的实现罐翳度来讲,单片多处理器相对阊时多线程处理器受容易实现, 它只需要简单地在同一芯片上复制多个已有的处理器。丽且单片多处理器结构中 靛韪理器投魄同黠多线程瓣簸理器棱要藏单魏雾,特裂是在线延迟越泉越不容忽 视的情况下,使得微体系结构朝着细化的方向发展,把一些复杂的功能划分为几 个篱单的处理纂元来实现。单片多处理嚣酲经傲到了这一点,因此在速度和实现 上都是占撬势的。 从面积和功耗角度来讲,同时多线程也要优于单片多处理器。s m t 结构可以 避行在攀线糕处理器上不可麓囊现静功耗,牲笺的攒中,它霹黻在多个线程孛提彀 并行性,减少功能部件空运转造成的能量淑费。另外同时多线程s m t 采用共享的 线程调度逻辑,所以在羼步单露中容易实现硬件同步枫制。蓊单片多缝理器中秃 灌实现廉榆闷步,因为不同昀皴理器不麓共享功能单元。单片多处理器中多个缝 理器间的通信与同步会带来额外行销,增加芯片面积,也增加蕊片的功耗。同时 多线程孛的多个线程埘戳共享乳lc 瓣艇,德是单片多处理嚣e 魏姥通鬻不会共事 l ie a c h e ,每个处理器有自己韵局部c 酶,从而增加了一些一致性开销。 1 。3 国内外线程缀并行体系结构的研究现状 线程缎并行技术不仅能够有毅稳藏访存操作的畿时延,还能提供完垒的用户缀 软件兼容,大大提高了处理器的整体性能和效率。因此,近年来多线程处理器研 巍与开发愚或惫系统缝构研究瓣燕点之一,缀多太攀及研巍枫构在麸攀线程缀舞 行的研究,特别是s m t 处理器的研究。 菱国蛾幽i 姆强大学领先震开同时多线程s 磁善项蜀的研究,并摄出了最基本 存 两驰t 跳大学硬士学位论文第一章绪论 的s m t 处理器模型4 】【5 1 ,熟核心思想是扩充现肖的乱序执行超标餐处理机,让多 个独立的线程在单拍内送刘趣标量单元,通过赞源竞争、动态燕事的方式使所有 的硬件瑰蛹资源圆时话跃,将线程缀鳇并行与攒令缀并行结合起来,最终曩的是 提嵩链耀祝鹩剩羯率。 e 献i 赫糟遗大学在糊i s 黼的带领下也蕊开了一系列s m t 项目韵研究,提出了 基于线程的多路径执行【1 ,选择性值预测蚓,s 奈仰中动态线程调度等思想,为 推动8 m 的进一步发展作出了贡献。 s 豢黼琏为避大学研究的融幽建处理器l 珥堤一瓣片上多处理器绩掏。l 坶d 忿提出 了共攀勰盐瓣多楚瑾器寨麓结构,并结合先进的同步枫毒l 、赢缀集成惫路技米 和并行编译技术栗提高饿麓。瓤y d 豫盔4 个处理器组成,帮健在执行顺序应用程滓 时,h v d 随也能比宽发射超标量微处理器取得更好的性价比。 p u 融大学提出了p u m p 【”】( p u r d u eu 试鞴r s i 姆m u l t i t h 粥a d e dp 硒c e s s o r ) 和 醚0 料欺黼( m u l t i 骶懿嬲翻糙i o 斓! e 赫e 越p r o c e ;s s o 羚磊黩奎m e m d r d 。翦者在整个系统内 终攒孛,考虑硬律、操佟系统郓应周较箨籍带来最磐的性赞耽,但楚幂一定逶台 市场,所以只是为学术醋巍捷供最大灵活性。m 獬黝酗的霹的燕炙改变硬件帮操 作系统,丽保持应用软件不需要修改。p u m p 支持每拍线程切换,支持1 0 2 4 个片 上线樱现场。 辫蕊对线程缀并行的研究中,国防科技大攀并行与分布处理煎家重点实验室 在润洪镐院士酶带镢下,进嚣了一系列关于多线罄技术麴蕊究【鹾罐器羽霹。肖剿等 提出韵莆瓣性多线程系统缕构s 凇湖商枫地结台翁瞻牲执行鞠多线程技米,通 过线程的前瞻性执行形成大的指令窗口,提黼了资源的利用率,并且能有效隐藏 存储蘧遇。 中科院计算所在唐志敏教授的带领下进行了低功耗s 姗体系缭构的研究 2 u , 銎绕离憔熊、低功耗遮两个褥标毒雩论和探究s 酗零体系结梅酶基本恩想、设计技术、 低功耗考癌黻及编译嚣翱撩侔系统设计瘟注意和瓣褥熬薪阊题。 中科院计算所李祖松博士从多线程处理器的设计、同对多微线撵体系结构、存 储一歉性模型和寄存器同步和熟享等方面对龙芯2 号多线程处理器进行了深入研 究【2 2 l ,在麓芯2 号处理器的纂础上以很小的面积代价获得了性能的提丹。 莲冀鼗z 鼗大学魅窒微憩子串:心也在积撅芽矮这一领域的研究工撵,主要是萄彝 麓对多线耩鹃擞系统结构豹设计。耒霾游封雾线程处理嚣鹃攒令发射和双路径 执行警阙题进行了深入的研究和具体设计1 ,2 0 年在国内首淡提出了多线程处 理器巾选择性双路径执行方案。李瑛博士则对同时多线程结构指令流特性及取指 技术进行了研究,提出了同时多线程处理器中线程预构的思想和线程预构的调度 7 动北t 业大学硕士学位论文 第一章绪论 策略【矧。 1 4 论文的内容 论文作者在攻读硕圭学位期间,参加了国家鞭研课题甜蔫雠能微处理器鼬韵研 究工作。在课题研究过程中,通过广泛收集资料,采用理论与实际相结合的原则, 基于“燕麟慰帮超标墼处理器,封同时多线程处理器的取指按制部葶孛进嚣了详尽 麓研究。论文麴内容主要包括; 1 完成“燕腾r 2 微处理器的定点流水线设计方案,指令集与p o w e f p c 兼容。 大部分指令单拍完成,其它指令程3 3 8 个周期究成。基于对徽处理嚣速度、 蘧耪釉性熊综合考虑,采翔魍括觏攒、译蕊、取操诈数、执行、异常检测霸写 回在内的6 级流水结构。利用顺痔发射、顺序回收机制傈诋“顺序发射一乱 序执行顺序完成射的程序一致性模型。 2 ,对“龙腾魁”懿辩常进行分类,实现群茏腾魁挣流水线魄精确雾常缝溪,戳 及寅现包括数据穗荚,控制耦关裙资源相关愁内韵桶关楚理。 3 。完成处理器中包括分支处理单元和取指单元程内的流水线前端组织结构的详 细设计。其中分支处理单元可选择性地采用静态和动态分支预测算法,麟时剩 嗣分支瓣稼造墟缓游醒瑟髓g 翻快分支处理速度。 4 分析“龙腾r 2 超标量技术的周限性,结合鹪前如何进一步提高种龙腾r 2 ” 处理器的处理能力筒提出“龙腾r 2 同时多线程处理器流水线结构,并进行结 构缀的臻粪分褥。 置分析嗣时多线程的研究熟点,重点研究取指策略和分支预测算法,进蔼选取合 适的墩指策略和分支预测算法,构造“龙腾r 2 s m t 处理器的取指控制部件 模型并送行仿真分析。 l ,5 论文结构安排 本论文是作者结台遮一年多时润在梯龙腾r 2 静项圈组的工作,并在此蒺础土 进行扩展研究而完成的,下面对本论文的结构进行简要的介绍: 第鬻缝谂,酋巍介绍课题的来源稻选题背爨,然矗对多线程技术进行研究, 鬃后夯缓圜肉外线翟缀并行体系结构鹩研究现状帮谂文翦内容。 8 疆北工业大学硕士学位论义第一章绪论 第二章搦述了整个“楚腾翼2 ”戆体系结梅,竞成整个“龙腾r 2 ”定赢魏拳凌 的设计和实现,同时解决了流水线稠筵和异常豹处理。 第三章掐述了流水线前端的组织结构,实现“龙腾r 2 处理器的取指控制部 传包括取攒策略,预取指令队列和分支她理单元的设计。 第四搴结台罄藏懿瓣避一步撬离群菇腾嚣2 辩缝理器麴箍遵蘸力两提出掰燕腾 r 2 ”同时多线程处理器流水线结构,并进行结构缴的仿真分析。 第五章重点研究同时多线程结构的取指策略和分支预测算法,提出“龙腾r 2 抖 s 氛褥处瑾嚣敢措控剁部俸麓设诗方案势遴行赞囊。 第六章论文韵总结。 9 西北_ 业大学硕士学位论文第二章“龙腾r 2 ”微处理器流水线的设计 第二章“龙腾r 2 ”微处理器流水线的设计 本章对高性能微处理器中的流水线技术进行系统研究,在研究的基础上,设计 并实现了兼容p o w e r p c7 5 0 指令集体系结构的高性能流水线。本章首先简要介绍 “龙腾r 2 ”微处理器的体系结构设计,然后着重讨论定点流水线的设计。 2 1 “龙腾r 2 ”微处理器体系结构 “龙腾r 2 ”微处理器与p o 、v e r p c 7 5 0 【25 l 处理器完全兼容。3 2 位微处理器 p o w e r p c7 5 0 是美国i b m 公司九十年代研制的高性能嵌入式超标量微处理器。通 过对p o 、e r p c7 5 0 处理器的研究与分析,西北工业大学航空微电子中心设计了适 合于航空应用的3 2 位嵌入式微处理器“龙腾r 2 ”。 “龙腾r 2 ”微处理器定义了面向寄存器的指令集、寄存器模型以及异常、故 障的基本结构,支持突发式传送技术。“龙腾r 2 ”属于标准的l o a d s t o r e 结构,具 有独立的l o a d s t o r e 部件来执行l o a d s t o r e 指令,支持三种有效地址计算方式。采 用基于优先级的异常处理方式,支持嵌套式异常处理、支持异步不可屏蔽异常、 异步可屏蔽异常和同步精确异常三种类型异常的处理。支持多种微处理器模式, 在相应的模式下,可以降低功耗或者提高总线接口效率,从而可以更好的适用于 不同的应用场合。 “龙腾r 2 ”微处理器的结构如图2 1 所示,主要包含九个功能部件:取指单 元、译码和分支处理单元,定点执行单元、浮点执行单元、l o a d s t o r c 单元、完成 队列、存储管理单元、一级指令数据c a c h e 单元和总线接口单元等。 各部件功能简述如下: 取指单元( f e t c hu i l i t ) 根据流水线集中控制信号向指令c a c h c 发出取指请求, 并将取回的指令流加载到预取指令队列( i q ) 当中,其中预取指令队列的深度为8 。 取指单元同时还负责向下一级传递指令c a c h e 产生的取指令异常信息以及对转移 指令进行预译码。 译码和分支处理单元( d e c o d eu i l i t ) 对指令队列中的指令进行译码,根据不同 类型的指令,产生不同的控制信号,并把指令发射到相应的执行部件。指令译码 部件还包含一个分支处理单元( b p u ) ,负责从指令流中抽取分支指令,产生转移 指令的目标地址。不能马上得出跳转地址的分支指令( 如条件跳转等) 将通过一 l o 西北t 业大学硕士学位论文 第二章“龙腾r 2 ”微处理器流水线的设计 定的静态分支预测或动态分支预测算法进行跳转地址的预测。b p u 内部主要包含 存储目标跳转地址的b t i c 和用于动态分支预测的b h t ( b m n c h h i s t o r y l a b l e ) 。 捌2 - 1 “龙腾r 2 ”微处理器结构 定点执行单元( i e u i m e g e re x e c u t cu i l i t ) 共有两个定点执行单元,用来完成 定点指令的执行,主要由寄存器堆( 包括3 2 个3 2 位的通用寄存器,特殊寄存器 和临时哿存器) 、3 2 位a l u 、桶式移位器、前导零计算模块、立即数模块、掩码 模块和3 2 位阵列乘法器组成。 浮点执行单元( f p u f l o a tp o i n tp r o c e s su n i t ) 负责整个微处理器的浮点数据 处理,包括浮点数据的各种算术操作( 加、减、乘、除、倒数以及倒数平方根) ,定、 浮点数据的相互转化和浮点数据的比较、控制操作。浮点执行部件相对比较独立, 有自己的独立译码器,对接收到的浮点指令进行译码,使用了7 级流水来实现整个 浮点执行部件的数据通路和控制通路。 l o a d ,s t o r e 单元( l s u l o a ( 1 s t o r eu n i t ) 主要完成l o a d 、s t o r e 指令有效地址 的计算,对访存地址边界不对齐和跨页边界的操作进行拆分处理,同时完成指令 的异常检测。 完成队列( c o m p l e t i o nq u e u e ) 主要负责监测所有发射的指令并按程序顺序完 成指令。完成队列与指令队列一样,深度为8 。 l l 两北丁此大举硕士学位论文第二章“龙腾r 2 ”微处理器流水线的酸计 存髓管理单元m 鹾u m o 怒哪溅鑫娃纛琴黝滩磷蕊) 完残地址转换翔存黯攥护两 大功能,包括指令、数据两部分。稃赭管理都粹支持3 种番效建蛙到物理她蜒的 转换方式:甄地址转换、块地址转换和实地址转换。数据存储管理和地址存储管 理的地址转换部分类似,但其存储绦护不尽相同,主要原因是数据需要考虑霹操 簿,焉籀令不需要。戴辨存储警理郝肄还包括雾鬻处理逻辑寒处理与存赣傺护褶 关的异常,以及地址、数据转换籍援缓冲区( 眠b 。i 撕o nl o o k a s i d eb u 腑r ) 来加快贾地址转换速度。 指令羧据c 霪妇辩攀元主要懑予襻蕊最近使罔的播令爱数据,磷便能快速麓瑟 续操律提供指令或数据,缓和c p u 与主存之阈麴速度差异。指令c 积k 和数据 c a c h e 犬小均为3 2 k b y t e ,8 路组相联,块大小为3 2 b ”e ,采用的替换算法是伪最 近最少使用算法( 伪l 疑 ) 。数据e 敬k 通过m 一致性协议来保证存诺毅性。 指令c 赫和鼗据e 徽漉都霹以遗过特殊的寄荐器来置无效域镁定。 总线接口单元( 秘l u ,b u sb m r 呶e eu n i t ) 为微处理器内核与处理器外部总线提 供了一个数据交换通邀,主要完成取数和预取数操作、取指和预取指操作,同时 进行地进、数囊熬校骏检查帮总线监晦,实现了豁都总线熬瀛永、魏痔执行鬻总 线重传操稼。 其中取指单元、译码和分支处理单元、定点执行单元、浮点单元、l o 删8 t o r e 单元、竞戏酞列和流水线控裁逻辑梅成了整个“燕腾r 2 盼的流水线,也称为定点 主控部件。 2 2 “麓腾r 2 微处理器的流水线设计 “龙腾鞣2 ”流水线主要实现晌是指令豹具体执行,主要包含; 1 与指令c a c h 鬯和指令存储管理单元之间究成指令流的通信; 2 。执行指令,竞成指令的运行周翔; 3 。谯执行l o 删鬟鳓瓣指令趱程中,完成与l s 醛处理单嚣数据流鳃邋储; 4 。负责整个系统的异常处理蒋。 2 。2 。| 群麓腾r 2 瓣流水线级数的划分 “龙腾r 2 是面向航空机载嵌入式应用而设计的高性能微处理器。其突现必 然要采鞠流水线技术以获得离性能徐楱比。“麓满慰扦的指令集与懿潆e 窄5 0 指令集兼容,萁指令集为典型翡疑i 8 e 指令集。指令采月3 2 徼定长、正交瀚指令 1 2 西北工业大学硕士学付论文 第二章“龙腾r 2 ”微处理器流水线的设计 格式,l o a d 、s t o r c 型体系结构和简单的寻址模式。大部分指令为单周期指令,少 数为多周期指令,适于流水线技术的实现和性能提高。 根据“龙腾r 2 ”指令集,将指令大致分为3 种类型。 运算类指令:完成各种算术和逻辑运算,包括浮点运算和条件码运算 l o a d 、s t o r e 指令:完成数据在存储器和寄存器之间的移动 分支指令:控制指令执行的顺序 运算类指令所执行的算术运算操作严格地针对寄存器操作数进行,只有l 0 a d 、 s t o r e 指令能访问数据存储器。l 0 a d 、s t o r e 指令和分支指令支持采用比较简单的寻 址模式,支持立即数,寄存器间接,基址寻址、寄存器变址寻址。转移指令分为 无条件转移,条件分支指令,具有绝对地址选择位和跳转并链接位,以支持绝对 转移和跳转并链接。 流水线级数的划分首先必须根据指令执行所需的资源进行。通过考察各类指 令执行规范和所需资源,将不同类型指令整合到单一的流水线中,使该流水线可 以有效的执行各种指令,尽量减少所需资源的总数,提高流水线资源的利用率, 下面详细说明流水线的划分方法。运算指令,l o a d 、s t o r e 指令和分支指令类型的 操作总结如表2 1 所示。 表2 - l 运算指令、l o a d 、s t o r e 指令和分支指令的操作总结 运算运算指 l o a ds t o r e 分量令指令指令 分支指令流水级 取指令,取指令,取指令,取指令, i f 取指级( i f ) 更新p c 更新p c更新p c 更新p c 指令译指令译指令译 指令译码, i d 读寄存器, 译码级( i d ) 码码码 地址生成 读寄存读寄存读寄存更新p c ,读寄存器级 r r 器器器( r d ) 指令运地址生地址生执行级 e x 算成成 ( e x ) 读内存,写内存, m e m 更新地更新地 数据获取级 ( m e m ) 址址 写寄存写寄存写寄存写回级 缪曰 写寄存器 器器器( w b ) 豳北工业大学硕士学位论文 第二章“龙麟r 2 ”微处理器流水线的设计 图上表可黧,掰有指令类型都有裰露鹩鬻和至d 分爨。遮碡种撩令可辫穰窑 彝的合并起来,定义为流水线静前两段,竞成取指鞠译羁的工俸。 除分支指令提前读取寄存器外,其它指令都要读取寄存器文件。运算指令读 取所需的寄存器澡雩# 数,k 嬲和s 玺。聪糍令读取地址熊戚掰需的寄襻器操俸数, s 狳黼指令读敷写内存靛数据。将宅髑合并戚为读毒存器羧。 运算指令簧墩有独立的功能单元完成必要的运算操作,l 0a d _ 、8 t o r e 指令需要 生成数据获取地址,这些操作可以合并为执行段。 流拳线番缀产生的凳鬻以及系统中麟蠲采用统一削嬲彝常挠毙缀并整理麴方 法,异常的处埋就放在异常捡测级。 最后所有指令集中在写回段对微处理器的体系结构寄存器进行熨新,保证了 微懿理器的状态贻更薪的难一魅,易于窦魏精确异常枫制。 根据娃麓腾贬抒搔令执行过程分橱,还考虑到流承线的划分受裂时镩频攀 ( 黧3 3 m h z ) 的约束,以及对初次流水线划分后设计的综合结果的分析,确定桴龙 腾怒”采用酸指( 尊) 、译褐 结构相关:因硬件不能同时支持指令重叠执行的所有可能组合引起资源冲 突而产生的相关。 在“龙腾r 2 ”流水线的设计中,一方面通过一定的技术手段来减少相关的发 生,增加微处理器处理的连续指令长度,来充分发挥流水线的性能;另一方面通 过合理安排流水线中各级的操作,降低指令断流引起的延迟,来减少由于指令相 关所带来的性能损失。 2 2 3 1 数据相关 在流水线微处理器中,由于指令重叠执行,当不同指令需要访问( 读或者写) 相同的存储位置( 寄存器或者存储器) 时,就会发生数据相关。根据指令间读写 访问的顺序,可以将流水型微处理器中存在的数据相关分为三类,如图2 5 所示: 1 写后读相关洲 2 读后写相关w a r 3 写后写相关w a w 指令地址 n n + 1 n + 2 n 十3 n + 4 r 8 ,r 9 ,l 3 图2 5 程序中的数据相关 2 0 k a 悖w o , 愀m 剃m 听北】= 业大学硕士学位论文第二章“龙腾r 2 ”微处理器流水线的设计 其中读后写相关和写后写相关称为“伪相关”,可以通过寄存器重命名方法消 除,“龙腾r 2 ”提供了6 个g p r 重命名寄存器,6 个f p r 重命寄存器,以及c r , l r 和c t r 重命名寄存器各一个。写后读相关又称真相关,消费者指令必须等待 生产者指令写回相应的值才能读到操作数。如图2 5 所示,指令n + l 的源2 操作 数r 3 是它前面的指令n 的目的操作数。如果指令n + l 在指令n 写回结果之前读寄 存器r 3 的值,就会得到错误的值。 常用消除真相关的方法是流水线等待和数据旁路。流水线等待简单易行,但是 流水线停顿,必然导致流水线的性能下降。数据旁路技术依靠旁路通路将第n 条 指令的结果直接送给第n + 1 条指令执行时使用,而不必等待第n 条指令将数据写 回寄存器,才从寄存器中取数给第n + 1 条指令。 “龙腾r 2 ”微处理器中为了解决指令之问的数据相关,采用数据旁路技术。 将执行级的单周期指令或多周期指令执行结果、异常检测级的结果和写回级写回 寄存器堆的结果进行数据前推。保证在e x 级、t e 级和w b 级生成结果的3 条指 令不会阻塞将要开始执行的r o p 级的指令。 2 2 3 2 控制相关 为了解决该流水线中的控制相关问题,提高处理器的执行效率,本设计采用同 解决数据相关类似的方案,并适当结合停滞流水线的方法。即将转移指令所需的 c r ( c o n d i t i o n a lr e g i s t e r ) 寄存器进行旁路;对转移指令所需的c t r ( c o u m c rr e g i s t e r ) 寄存器或l r ( 1 i i l l 【r e 画s t e r ) 寄存器资源阻塞处理,必须等其写回c t r 寄存器和 l r 寄存器后,下一条指令才能继续执行。如果转移指令处理仅依靠c r 条件码的指 令时,则可立即处理:如果依靠c t r 或l r 条件码才能处理的转移指令必须等待 c t r 或l r 寄存器资源有效。经过对基准程序统计分析,修改c t r 和l r 的指令 的频数很少,而且这种控制处理方案的电路设计简单有效,同时性能不会有大的 下降。因此采用该方案处理流水线中的控制相关问题。 2 2 3 3 结构相关 在流水线微处理器中,因指令重叠执行,某些指令的组合会因同时申请某一功 能单元或某一资源而出现结构相关,引起流水线的断流。虽然引入结构相关会引 起系统性能的下降,但资源共享可用于减少硬件代价。 “龙腾r 2 ”的资源相关主要是针对几类多周期的指令,如乘法、除法而言。 这些指令执行的周期很长,一般都会导致结构相关。但是这些指令在程序中的执 行频数电不高,为了避免结构相关的产生,本文没有采用通过增加硬件资源来解 决结构相关的方法,而是折衷考虑,引入对这些指令执行结果的数据旁路和流水 西北 :业大学硕士学位论文 第二章“龙腾r 2 ”微处理器流水线的设计 线停滞的方法来处理资源相关,以获得较高的性能价格比。 2 3 “龙腾r 2 ”的异常处理 由于“龙腾r 2 ”设计兼容于p o w e r p c 7 5 0 微处理器,因此“龙腾r 2 ”采用了 p o w e r p c 体系结构的异常处理模式。处理器通过异常机制进出管理员级,操作系 统则利用体系结构定义的异常事件管理处理器操作。 体系结构提供了处理各种特殊情况的异常处理,异常处理主要负责处理以下情 况: 当指令试图完成硬件不支持的功能时。例如,硬件不支持某些浮点指令, 而是利用软件进行这部分指令的浮点运算。 当指令试图进行存储器保护区域的存取操作时。 当遇到非法指令时体系结构未定义,或者是用户级程序试图执行管理 员级指令。 当预定义的信号保持时。例如输入输出设备要求联机( 外部中断) 或发生 严重硬件故障( 如系统总线错误) 。 当处理器遇到预定义指令或数据时( 指令地址数据断点异常) 。此类异常 处理通常用于软件调试。 本节将对“龙腾r 2 ”实现的异常按照p o w e r p c 体系结构的定义进行分类,并 对处理器的异常处理机制和精确异常模型进行详细的描述。 2 3 1 异常的分类 按照p o w e r p c 体系结构的规定,所有的异常都可以被描述为或是精确异常, 或是非精
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械及材料管理办法
- 故宫文物馆管理办法
- 沙棘厂运营管理办法
- 新疆门楼牌管理办法
- 基层水管所管理办法
- 备件abc管理办法
- 国企新媒体管理办法
- 新疆培训费管理办法
- 姜堰区变更管理办法
- 厦门市工地管理办法
- 尚客优快捷酒店前厅服务手册
- 宫颈锥切术后护理查房
- 股东损害公司债权人利益责任纠纷起诉状(成功范文)
- 监护室ICU运用PDCA循环案例降低导管相关血流感染发生率品管圈成果汇报
- 栏杆安装监理实施细则全
- 萨巴厨房 炒饭炒面
- YS/T 351-2015钛铁矿精矿
- 2022年北京市房山区(中小学、幼儿园)教师招聘考试《教育综合知识》试题及答案解析
- GEA离心机说明书
- 溶剂油MSDS危险化学品安全技术说明书
- 校园突发事件及危机应对课件
评论
0/150
提交评论