




已阅读5页,还剩97页未读, 继续免费阅读
(计算机科学与技术专业论文)基于超长指令字处理器的同时多线程关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院博士学位论文 摘要 自1 9 9 5 年t u l l s e n 基于超标量处理器提出“同时多线程”技术以来,越来越 多的研究人员开始关注和研究这一技术。同时多线程技术允许多个线程( 逻辑处理 器) 同时共享一套执行部件,不仅避免了线程切换的开销,也更充分地发挥了处理 器的能力。 由于程序本身指令级并行性不足、编译器的能力以及诸多动态因素的影响, 超长指令字处理器尚未发挥出全部潜力。将同时多线程技术引入超长指令字处理 器为进一步提高处理器的性能提供了一条新的技术途径。 本文主要对同时多线程超长指令字处理器的设计和优化进行深入研究,分析 了超长指令字执行语义带来的两种时序约束,研究了突破这些时序约束的方法, 并提出了同时多线程微体系结构m o s i ;针对超长指令字体系结构在m o s i 微体系 结构下呈现出的弊端,提出了新的性能优化方法;解决了同时多线程处理器中线 程性能难以预测的问题;实现了双线程超长指令字处理器原型。本文的主要研究 成果和创新点包括: 1 改进了r u d d 等人为实现精确中断而提出的重放缓冲机制,降低了硬件开销。 2 提出了基于超长指令字处理器的同时多线程微体系结构m o s i 。m o s i 突破了 超长指令字执行语义带来的时序约束,不仅满足了同时多线程技术的基本要 求,也降低了硬件的开销。 3 在m o s i 微体系结构框架下,针对编译器静态指定功能单元带来的弊端,提出 了指令迁移技术。该技术通过硬件动态地自动平衡各功能单元的负载,减少了 功能单元冲突,提高了处理器的吞吐率。 4 基于m o s i 微体系结构模型,针对取指流水中无效取指请求带来的程序c a c h e 冲突问题,提出了一种非阻塞的流水线控制方式。通过减少取指单元载入无效 指令的几率,提高了取指单元以及整个处理器的吞吐率。 5 针对同时多线程处理器中线程性能难以预测的问题,提出了一种线程性能控制 机制。通过不断调整资源分配,使得各线程的性能趋于预先定义的值。 6 设计并实现了基于m o s i 微体系结构的双线程超长指令字处理器原型 f t d s p s m t 0 0 ,并完成了逻辑综合、延时分析以及性能测试,给出了硬件 开销、引入的延迟等参数。扣除延迟的影响,y h f t - d s p s m t 0 0 的吞吐率提 高了1 2 2 6 。 本文的研究成果为在超长指令字处理器中实现同时多线程技术提供了可行的 方案,对于进一步研究如何更好地利用该技术提高超长指令字处理器的实际性能 具有重要的理论和实践意义。 第1 页 国防科学技术大学研究生院博士学位论文 主题词:同时多线程超长指令字精确中断m o s l 功能单元指定无效取指 性能控制 第1 i 页 国防科学技术大学研究生院博士学位论文 a b s t r a c t s i n c et u l l s e n p r o p o s e d s i m u l t a n e o u sm u l t i t h r e a d i n gt e c h n o l o g yb a s e do n s u p e r s e a l a rp r o c e s s o r s a t 1 9 9 5 ,i th a sb e c o m eaf o c u si nt h ef i e l do fp r o c e s s o r a r c h i t e c t u r e as m t p r o c e s s o rp e r m i t sm u l t i p l et h r e a d s ( 1 0 9 i c a lp r o c e s s o r s ) t os h a r et h e s a l n es e to fc o m p u t a t i o n a lu n i t s i tn o to n l yd e v e l o p st h r e a dl e v e lp a r a l l e l i s m , b u ta l s o a v o i d st h ec o s to f c o n t e x ts w i t c h d u et oi n s u f f i c i e n ti n s t r u c t i o nl e v e lp a r a l l e l i s mi na p p l i c a t i o n s ,t h ec a p a b i l i t yo f c o m p i l e r , o rk i n d so fd y n a m i ce v e n t si np i p e l i n e , v l i wp r o c e s s o r sa r en o te f f e c t i v e l y u t i l i z e d c o m b i n i n gv l i wa n ds m tt e c h n o l o g yp r o v i d e sa n e wm e t h o dt oi m p r o v e f u r t h e rt h ep e r f o r m a n c eo f av l i wp r o c e s s o r t 1 1 i sd i s s e r t a t i o nf o c u s e so nt h em i e r o a r c h i t e e t u r ed e s i g na n d o p t i m i z a t i o no fs m t v l i wp r o c e s s o r s a n a l y s e st w ok i n d so ft i m i n gr e s t r i c t i o n sc a u s e db yt h ee x e c u t i o n s e m a n t i c so fv l i wa r c h i t e c t u r e ,i n v e s t i g a t e sm e t h o d st ob r e a kt h e s er e s t r i c t i o n s ,a n d p r o p o s e sab n do fs m tm i c r o a r c h i t e c t u r e ,m o s i ,f o rv l i wp r o c e s s o r s t h e d i s s e r t a t i o np r o p o s e sn e wo p t i m i z a t i o nm e t h o d s s i n c ec h a r a c t e r i s t i c so fv l i w a r c h i t e c t u r ep r e v e n ts m tv l i wp r o c e s s o rf r o ma c h i e v i n gh i g h e rp e r f o r m a n c e t l l i s d i s s e r t a t i o np r e s e n t sam e c h a n i s mf o rc o n t r o l l i n ge a c ht h r e a d sp e r f o r m a n c ei ns m t p r o c e s s o r s a n di m p l e m e n t sad u a l - t h r e a dm o s iv l i wp r o c e s s o rp r o t o t y p e t h em a i n c o n t r i b u t i o n sa r e 够f o l l o w s : 1 n ed i s s e r t a t i o nr e v i s e sr e p l a yb u f f e rm e c h a n i s m w h i c hi m p l e m e n t sp r e c i s e i n t e r r u p ti nn u a lp r o c e s s o r s ,p r o p o s e db yr u d d , r e d u c e sh a r d w a r ec o s to ft h i s m e c h a n i s m 2 1 1 l i sd i s s e r t a t i o np r o p o s e sak i n do fs m tv l i wm i c r o a r e h i t e c t u r e ,m o s i ,w h i c h b r e a k st i m i n gr e s t r i c t i o n sc a u s e db yv l i we x e c u t i o ns e m a n t i c s i tn o to n l y s a t i s f i e st h eb a s i cr e q u i r e m e n to fs m tt e c h n o l o g y b u ta l s or e d u c e sh a r d w a r ec o s t s 3 b a s e do nm o s im i c r o a r c h i t e c t u r e ,t h ed i s s e r t a t i o np r e s e n t sa ni n s t r u c t i o nt r a n s f e r t e c h n o l o g y ,w h i c he l i m i n a t e st h ed e f e c to fs t a t i cf u n c t i o n a lu n i ta s s i g n m e n t i tc a n a u t o m a t i c a l l yb a l a n c e w o r k l o a d sa m o n gf u n c t i o n a l u n i t s ,s oi m p r o v e s t h e u t i l i z a t i o no f f u n c t i o n a lu n i t sa n dt h et h r o u g h p u to f s m tv l i w p r o c e s s o r s 4 t h i sd i s s e r t a t i o np r o p o s e sal ( i n do fn o n - b l o c k i n gp i p e l i n ec o n t r o lm e c h a n i s mo n m o s im i c r o a r c h i t e c t u r e t 1 1 i sm e c h a n i s mr e d u c e si n v a l i di n s t r u c t i o nr e q u e s t si n i n s t r u c t i o nf e t c hu n i t ,s oi m p r o v e st h et h r o u g h p u to fi n s t r u c t i o nf e t c hu n i ta n dt h e w h o l e p r o c e s s o r 5 t or e g u l a t et h ep e r f o r m a n c eo fe a c ht h r e a d t h i sd i s s e r t a t i o np r e s e n t sam e c h a n i s m t h a tm a k e se a c ht h r e a dr u na tap r e d e f i n e ds p e e dr a t i ob yd y n a m i cr e s o u r c e s a l l o c a t i o n 6 n i sd i s s e r t a t i o nd e s i g n sa n di m p l e m e n t sad u a l t h r e a dv l i wp r o t o t y p eb a s e do n 第l i i 页 国防科学技术大学研究生院博士学位论文 m o s im i c r o a r c h i t e c t u r e b yl o g i c a ls y n t h e s i s ,t i m i n ga n a l y s i sa n dp e r f o r m a n c e e v a l u a t i o n ,i ts h o w sh a r d w a r ec o s ta n dt i m ed e l a yo ft h ep r o t o t y p e t 1 l i sp r o t o t y p e a c h i e v e s1 2t o2 6 p e r f o r m a n c es p e e d u pw h e nt i m ed e l a yi n t r o d u c e db ym o s i m i c r o a r c h i t e c t u r ei sc o n c e m e d t h er e s e a r c hi nt h ed i s s e r t a t i o np r o v i d e sat h e o r e t i c a la n dp r a c t i c a ls o l u t i o nf o r i m p l e m e m i n gs m tt e c h n o l o g yb a s e do nv l i wp r o c e s s o r s a n dt h ep r o d u c t i o nc a nb e u s e dt o i n v e s t i g a t ef u r t h e rh o wt oi m p r o v es y s t e mt h r o u g h p u t o fas m tv l w p r o c e s s o r k e yw o r d s : 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 v e r yl o n gi n s t r u c t i o nw o r d p r e c i s ei n t e r r u p t ,m o s i ,f u n c t i o n a lu n i ta s s i g n m e n t 。i n v a l i di n s t r u c t i o nf e t c h p e r f o r m a n c ec o n t r o l 第1 v 页 国防科学技术大学研究生院博士学位论文 图目录 图1 1 分支预测缓冲的大小与错误率之间的关系2 图1 2 二级c a c h e 大小与口c 之间的关系2 图1 3 同时多线程技术与其他技术的比较。3 图1 4x e o n 处理器中乱序执行流水线的结构4 图1 5 两种指令发射方法的比较6 图2 1 动态v l i w 结构示意图1 3 图2 2 同时多线程处理器模型1 5 图3 1 软件调试过程2 2 图3 2r p 缓冲机制的实现结构2 3 图3 3r p 缓冲机制的工作过程2 3 图3 4r p 缓冲的结构2 3 图3 5 中断现场恢复过程被中断时的r p 缓冲机制2 4 图3 6r r p 缓冲的机制2 4 图3 7r r p 缓冲机制的原理2 5 图3 8r r p 缓冲机制的工作过程2 6 图3 9r r p 缓冲的实现2 6 图4 1 指令字的分离发射2 9 图4 2 对应于四条执行流水线的移位缓冲3 l 图4 3 支持四个线程的m o s iv l i w 处理器模型3 3 图4 4 目标处理器的结构3 4 图4 5 目标处理器的流水线3 5 图4 6 取指包与执行包的概念3 5 图4 7 取指包范例3 5 图4 8 二进制文件头给出的信息3 6 图4 9 二进制文件的段信息3 6 图4 1 0 虚拟存储系统3 7 图4 11 文件读操作的工作原理。3 8 图4 1 2 指令的执行模型。3 9 图4 1 3 模拟器的工作流程。4 0 图4 1 4 模拟器的相关数据结构及其操作过程4 0 图4 1 5 处理器的吞吐率加速比。4 2 图4 1 6 最高优先级线程的性能下降比4 3 第v 页 国防科学技术大学研究生院博士学位论文 图5 1 指令子集与功能单元的映射关系4 5 图5 2 功能单元冲突示例4 5 图5 3 指令与功能单元的映射关系4 6 图5 4 目标处理器的数据通路4 7 图5 5m o s iv l i w 处理器中各功能单元的冲突率4 8 图5 6 实现指令从d i 迁移到d 2 所需的硬件4 8 图5 7 在完全指令迁移方案下的功能单元冲突率4 9 图5 8 双线程同时运行时三种方案的吞吐率加速比5 0 图5 9 四线程同时运行时三种方案的吞吐率加速比5 0 图5 1 0 双线程同时运行时三种方案的吞吐率加速比5 0 图5 1 l 四线程同时运行时三种方案的吞吐率加速比5 l 图6 1 取指单元流水线示意5 3 图6 2 目标处理器的流水线5 4 图6 3 取指流水线中的派发暂停5 5 图6 4 非阻塞流水线5 6 图6 5 地址缓冲和取指流水线各站的移动过程5 7 图6 6 基于目标处理器m o s i 微体系结构模型的非阻塞流水线5 8 图6 7 程序c a c h e 读操作次数的相对比率6 0 图6 8 程序c a c h e 失效次数的相对比率6 1 图6 9 处理器( 取指单元) 的相对吞吐率加速比6 l 图7 1 固定优先级分配情况下各线程的性能6 3 图7 2 双线程同时运行时两个线程的性能空间6 3 图7 3 线程性能控制机制的实现6 8 图7 4 资源重分配过程6 8 图7 5 双线程情况下r 和l i ,的关系6 9 图7 6 四线程情况下r 和甲的关系7 0 图7 7 各线程实际运行速率与检测周期的关系( a ) 7 0 图7 8 各线程实际运行速率与检测周期的关系( b ) 7 l 图8 1 f t d s p d 4 的版图和样片7 3 图8 2y i f t - d s p ,d 4 芯片的结构框图7 4 图8 3y h f t d s p s m t d o 的c p u 核。7 5 图8 4 取指流水线的地址产生7 6 图8 5 指令派发单元及派发仲裁7 7 图8 6a l u 写回缓冲区结构7 8 第v i 页 国防科学技术大学研究生院博士学位论文 图8 7m u 单元写回缓冲区结构。7 8 图8 8l s 单元写回缓冲区结构7 8 图8 9l 1 p 失效率的比较。8 l 图8 1 0l 1 d 失效率的比较8 l 第v l l 页 国防科学技术大学研究生院博士学位论文 表目录 表4 1 不同超长指令字处理器的比较3 0 表4 2 基本c a c h e 配置3 4 表4 3 取指包的解压过程3 5 表4 4 测试程序的基本特征参数4 l 表6 。1 分支目标地址进入取指单元的过程5 5 表6 2 非阻塞流水线的无效地址作废过程5 7 表6 - 3 流水站出现排空的极端情况5 8 表6 4 测试程序的基本信息6 0 表8 1y h f t - d s p d 4 的指标7 3 表8 2 高优先级线程的判断7 6 表8 3 单线程与双线程情况下i p c 的比较7 9 表8 4 不同测试程序下各功能单元利用率的增益 表8 5 主线程性能的下降8 0 表8 6 综合优化后的性能加速比比较8 l 表8 7 综合优化后的面积比较8 1 第页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表和撰写过的研究成果,也不包含为获得国防科 学技术大学或其它教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本文研究所做的任何贡献,均已在论文中作了明确的说明并表示 谢意。 学位论文题目: 基王嫠丝堂垒主处堡矍的园盟垒缉程苤毽董盔班蕴 学位论文作者签名:垄兰芏 日期:加6 年矽月,日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本 人授权国防科学技术大学可以保留并向国家有关部门或机构送交论文的 复印件和电子文档,允许论文被查阅和借阅;可以将学位论文的全部或部 分内容编入有关数据库并进行检索,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 基王跫篮指佥主矬堡墨的回盟垒缉捏差毽量苤班窭 学位论文作者签名:苎! ! 鲨日期:州年p 月l l 日 作者指导教师签名:# 拿雄 日期:加。占年p 月,f 日 国防科学技术大学研究生院博士学位论文 第一章绪论 随着微处理器体系结构技术的不断发展,从单一指令流中开发指令级并行性 ( i n s t r u c t i o nl e v e lp a r a l l e l i s m ,i l p ) 已经变得越来越困难 1 】。开发i l 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 ) 等开发任务级并行性( t a s kl e v e lp a r a l l e l i s m ,t l p ) 的技术。 超长指令字( v e r yl o n gi n s t r u c t i o nw o r d ,v l i w ) 处理器目前在高性能微处 理器领域非常流行,但是程序本身指令级并行性不足、编译器的能力以及诸多动 态因素使得v l i w 处理器尚未发挥出全部潜力。现有的同时多线程超标量处理器 已经证明s m t 技术能够有效地提高处理器的吞吐率,因此将s m t 技术引入v l i w 处理器为进一步发挥v l l w 处理器的性能提供了一条新的技术途径。 本课题的主要研究工作集中于s m tv l i w 处理器的设计与优化。本文以研究 v l i w 处理器中的精确中断为起点,分析了v l i w 处理器的n u a l 执行语义产生 的超长指令字之间以及超长指令字内部的时序约束,提出了基于v l l w 处理器的 同时多线程微体系结构m o s i 。针对超长指令字体系结构在m o s i 微体系结构下呈 现出的弊端,提出了进一步提高处理器吞吐率的优化方法。针对同时多线程处理 器中各线程的性能难以预测的问题,提出了一种控制线程性能的方法。本课题组 设计并实现了基于m o s i 微体系结构的双线程超长指令字处理器原型 f t - d s p s m r 0 0 ,验证了m o s i 微体系结构以及优化方法的可行性和有效性。 1 1 研究背景及目标 1 1 1 主频提升以及i l p 开发的瓶颈 微处理器的性能与时钟频率以及微处理器能够开发的i l p 有着密切关系。微 处理器最终能够开发多少i l p 受到三个条件的制约:应用程序中固有的i l p ,编译 器优化阶段可开发的i l p ,以及微处理器硬件最终能够实现的i l p 。应用程序执行 时获得的i l p 不大于这三者的最小值。 自从i n t e l 推出8 0 3 8 6 之后,伴随x 8 6 市场巨大成功的是i n t e l 对处理器主频 的不停提升。依靠工艺和实现技术的改进,处理器工作主频的提高可以直接带动 应用的执行速度。p e n t i u m 到p e n t i u mi i i 依次的性能提升说明了这一点。但是, 在一定工艺水平下,硬件能够实现的i l p 与时钟频率是相互影响和制约的。随着 处理器工作主频的不断攀升,能够同时提高两者的技术少之又少。2 0 0 1 年8 月第 一代p e n t i u mi v 推出时,用户第一次没有感觉到明显的性能加速,同主频的p 4 处 第1 页 国防科学技术大学研究生院博士学位论文 理器在许多测试程序中性能不如p i l l 。而a m d 也停止了同i n t e l 的主频攀比,改 用与i n t e l 处理器主频对应的p 值来命名a t h l o nx p 处理器。 硬件能够实现的i l p 主要取决于微处理器体系结构。从标量到超标量,处理 器的性能得到了大幅提高。但是工业界的实践表明:发射宽度大于4 的超标量技 术在硬件上很难实现,而且应用程序运行时获得的性能提高将越来越小 4 】。同指 令发射部件一样,其他部件也面临同样的问题。如图1 1 和1 2 所示,即使不考虑 硬件设计上的开销和复杂性,增大分支预测缓冲和c a c h e 的容量所能带来的好处 越来越d , 1 0 3 。 预 测 错 误 塞 图1 1 分支预测缓冲的大小与错误率之间的关系 1 捕2 5 6 5 1 2 c a c h e 大d 、( k b y t e s ) 图1 2 二级c a c h e 大小与i p c 之间的关系 1 1 2 新体系结构技术 当超标量处理器通过硬件发掘单个应用的i l p 受阻时,研究者和工业界转而 寻找其它体系结构技术来保证处理器性能的持续提升。多线程技术( m t : m u l t i t h r e a d i n g ) 【2 4 】,单芯片多处理技术( c m p :c h i pm u l t i p r o c e s s o r ) 2 4 】,和超长 第2 页 o 9 8 7 6 s 4 3 2 ,o 国防科学技术大学研究生院博士学位论文 指令字是众多技术中易实现性、通用性和性能收益比较显著的,而且已经逐渐融 合到主流处理器产品中。 ( 1 ) 超长指令字技术 v l i w 体系结构具有硬件上的简单性和性能方面的潜在优势,但在很长一段时 间内,它的两个缺点,代码体积过大和代码兼容性差,导致其仅常见于d s p 等相 对专用、更多地依赖于汇编语言编程和共享库开发的领域。随着体系结构技术和 工艺水平的进步,这两个问题目前已经得到解决。指令字压缩技术克服了代码体 积过大的缺点,而m u l t i o p s 发射语义【1 1 】和l e q 执行语义【l l ,1 2 】则分别解决了 功能单元数目以及指令延迟的兼容性。 近年来,为了进一步开发i l p ,工业界越来越倾向于超长指令字体系结构,纷 纷推出了基于v l i w 构架的商业处理器,例如i n t e l h p 的i t a n i u m 【2 】、 h p s t m i c r o e l e c t r o n i c s 的l xv l i wa r c h i t e c t u r e 3 1 、s u nm i c r o s y s t e m s 的m a j c 4 1 、 t r a n s m e t ac r u s o e 5 、t e x a si n s t r u m e n t s 的t m s c 6 0 0 0 系列d s p 6 1 、t r i m e d i at m 1 【7 】、f u j i t s uf r s 0 0 8 】8 以及s t a r c o r es c l 4 0 【9 】等。 ( 2 ) 同时多线程技术 相对于m u l t i s c a l a r 【2 4 等需要修改编程模式并影响软件兼容性的其它各种多 线程体系结构,同时多线程【2 4 】是目前比较常用的技术。s m t 技术是指在同一个 处理器上虚拟多个逻辑处理器,每个逻辑处理器上运行一个任务( 线程) ,但它 们同时共享一套执行部件。s m t 技术能够利用流水线中由于指令级并行性不足、 c a c h e 失效等问题产生的气泡,从而提升处理器的实际性能。图1 3 显示了s m t 技术与超标量以及其他多线程技术的区别。与周期交叉多线程( 细粒度多线程) 2 5 , 2 6 ,2 7 ,2 8 及块交叉多线程( 粗粒度多线程) 【2 9 ,3 0 ,3 1 ,3 2 技术相比,同时多线程 技术能够更加充分地利用处理器的发射槽。与超标量技术相比,同时多线程技术 还能降低任务切换的开销。 图1 3 同时多线程技术与其他技术的比较 第3 页 国防科学技术大学研究生院博士学位论文 目f j i ,同时多线程技术已经进入商业处理器领域,如i n t e l 公司的x e o n 3 3 3 4 3 5 】,m o n t e c i t o 3 6 和i b m 公司的p o w e r 5 3 7 ,3 8 等。图1 4 展示了x e o n 处理器中 乱序执行流水线的结构 3 4 】,其中各组件内的黑色和白色区域代表了不同线程的活 动。x e o n 处理器中一部分组件采用了复制的方法,即每个线程一个,如寄存器重 命名组件:一部分组件采用了资源划分的方法,即组件被划分为两个不重叠的区 域,而各线程互不干扰地使用各自的区域,如微操作队列、再定序缓冲等;还有 一部分组件采用了资源共享的方法,即各线程竞争使用资源,如执行部件,数据 c a c h e 等。对于常用的服务器应用,如w e b 服务等,x e o n 处理器的性能加速比为 1 6 2 8 ,而芯片面积则增加了5 。 图1 4x e o n 处理器中乱序执行流水线的结构 s m t 有占用芯片面积少,资源利用率高,以及实现方便等优势。但时,多线 程现场引入的开销和延迟以及资源竞争导致的冲突,使得s m t 技术的扩展性较差。 在高性能处理器设计中使用多个s m t 内核来构建c m p 已被证明是一种很好的折 中选择。 1 1 3 同时多线程与超长指令字技术的结合 超长指令字处理器依赖编译器开发应用程序的指令级并行性,因而需要有非 常强大的编译器。尽管编译技术已经取得长足进步,但是现有编译器的能力并不 理想。以t i 公司的t m s c 6 2 1 1 数字信号处理器( d i 【g i t a ls i g n a lp r o c e s s o r , d s p ) 及 其编译器为例,附录a 中给出了1 0 2 4 点f f t 运算的c 程序代码、编译器生成的 最内层循环汇编代码以及手工优化的最内层循环汇编代码。在这些汇编代码中, 指令前的“”表示该指令与上一条指令并行执行。比较编译器生成和手工优化的 代码,后者的并行度大约是前者的3 倍。 第4 页 国防科学技术大学研究生院博士学位论文 尽管i l p 较高的应用程序可以通过手工优化的方法获得较高的性能,但是对 于一个大型应用而言,完全手工优化是不现实的。动态超长指令字技术 1 0 ,1 3 1 通 过引入记分牌等组件得到了强大的动态指令调度能力,能够弥补编译器能力的不 足,进一步开发应用程序的i l p 。但是这种类似于超标量处理器的指令调度能力也 带来了大量的硬件开销。在这种情况下,将多线程技术引入v l i w 处理器为进一 步发挥处理器的性能提供了一条新的技术途径。 1 1 4s m t v l i w 体系结构中的关键技术 尽管目前一些研究工作涉及到多线程v l i w 体系结构 7 5 1 ,甚至涉及到s m t v l i w 体系结构的设计问题 7 4 ,7 7 1 ,但这些工作仍未解除n u a l 执行语义【1 0 】对 s m t 技术施加的限制。结合v l i w 体系结构的特点,对s m tv u w 体系结构进行 性能优化更是从未有人涉及过的领域。 突破n u a l 执行语义产生的两种时序约束 对于超标量处理器,其强大的动态指令调度能力保证了s m t 技术可以从多个 线程中提取大量指令用于填补流水线中的空槽。反观v l l w 处理器,它采用的 n u a l 执行语义极大限制了s m t 技术从多个线程中提取指令的能力。n u a l 执行 语义将指令的延迟暴露给编译器和用户,这使得超长指令字之间以及超长指令字 内部存在严格的时序关系。v l i w 处理器为了维护超长指令字之间的时序关系,在 发生程序或数据c a c h e 失效时处理器的流水线( 包括功能单元的执行流水线) 必 须全部暂停;而为了维护超长指令字内部的时序关系,则要求超长指令字内的所 有指令必须同时发射。 尽管动态超长指令字技术能够解除n u a l 执行语义带来的限制,但是该技术 采用的类似于超标量处理器的指令调度方法也带来了大量的硬件开销。实际上, 由于同时多线程技术能够开发线程级并行性,即便指令调度能力稍弱一些也能够 获得较好的性能。 首先,多线程技术最基本的要求是处理器能够交替执行多个线程中的超长指 令字。交替执行过程使得线程内超长指令字的发射不连续,从而破坏了超长指令 字之间的时序关系约束,因此突破这一约束才能满足多线程技术的要求。 其次,除了上述要求外,同时多线程技术还要求处理器能够从各线程中提取 足够的指令填充流水线中的空槽。为此,v l i w 处理器必须进一步突破超长指令字 内部的时序关系约束,这样才能具备以任意时序从超长指令字中发射任意指令的 能力,从而满足s m t 技术的需要。 结合v l i w 体系结构特点的性能优化 目前,s m t 处理器的性能优化主要是通过调整资源的分配来实现的,基于处 第5 页 国防科学技术大学研究生院博士学位论文 理器体系结构进行的优化则较少,而基于v l i w 体系结构的性能优化更是无人涉 及。 实际上,当s m t 与v l i w 技术之后,v l i w 体系结构原有的特点在新的环境 下呈现出的弊端。例如,v l i w 处理器在发生程序失效时,功能单元的执行流水线 必须全部暂停。由于s m tv l l w 处理器已经突破了超长指令字之间约束,完全没 有必要再暂停功能单元的执行流水线。又譬如超长指令字处理器中各运算部件, 如加法器和乘法器等,均被分配到各功能单元中。超长指令字中的指令与处理器 的功能单元是一一对应的关系,这种关系是编译器通过指令在超长指令字中的位 置或指令的编码决定的。这种静态的、一一对应的关系,使得s m tv l i w 处理器 的指令发射丧失了灵活性。如图1 5 所示,在s m tv l i w 处理器中,线程l 和线 程2 的超长指令字均需要占用加法器l ,而此时加法器2 却处于空闲状态。在s m t s u p e r s c a l a r 处理器中则不会出现上述问题。 s k i tv l i w 处理器的指令发射方法 s m ts u p e “w 处理器的指令发射方法 线程l 臣圃亘玉耍 卜“面圃 线程2 臣固亘玉耍! 卜“互圃 图1 5 两种指令发射方法的比较 线程性能的控制 s m tv l i w 处理器的资源共享一方面提高了处理器的资源利用率以及系统性 能,另一方面也使得各线程之间存在资源竞争,因此任何线程的性能均受到其他 线程的影响。线程的性能与资源分配有着密切的联系,即采用不同的资源分配方 法,各线程的性能也有所不同。现有的资源分配方法大部分以处理器的吞吐率为 目的,而针对控制线程性能的资源分配方法则很少,而且这些方法均不能有效地 控制多个线程的性能。 1 1 5 研究目标及技术路线 由上- - d , 节可知,无论从设计还是优化的角度,s m tv l i w 处理器中仍然存 在许多问题亟待解决。本文力图建立一个代价适中、性能尽可能高的s m tv l i w 体系结构,而要达到这个目标必须逐一解决上- - d , 节提到的问题。本文的研究目 标及技术路线如下, 第6 页 国防科学技术大学研究生院博士学位论文 ( 1 ) 建立s m t v l i w 处理器的基本框架 将s m t 技术引入v l i w 处理器,必须首先突破n u a l 执行语义产生的超长指 令字之间以及超长指令字内部的时序约束。首先,在v l i w 处理器中,中断是唯 一能够造成超长指令字发射不连续( 超长指令字之间时序关系被破坏) 的事件, 因而研究v u w 处理器中的中断处理器机制对于s m t v u w 处理器的设计有借鉴 作用。然后,继续研究突破超长指令字内部时序约束的方法。 ( 2 ) 基于新的处理器框架,优化处理器 基于s m tv u w 处理器框架,分析处理器的性能瓶颈。重新审视v l i w 的特 点,针对v l i w 体系结构原有的特点在新环境下呈现出的弊端,进一步优化处理 器。 ( 3 ) 控制s m tv l i w 处理器中各线程的性能 按照各线程的性能需求分配资源,并通过软硬件结合的性能监控机制,动态地 调整资源分配,从而使各线程的性能收敛于期望值。 ( 4 ) 验证s m tv l i w 处理器框架和优化技术的可行性及有效性 作为主要参研人员,作者设计了 f t d s p d 4 处理器( 2 0 0 4 年投片,并获得 国家科技进步二等奖) 中的指令流水线及部分a l u 单元。本课题组以 f t d s p d 4 处理器的r t l 级代码为基础,按照本文提出的s m tv l i w 处理器 框架和优化技术修改处理器设计,通过逻辑综合、时序分析及性能测试等手段, 验证上述技术的可行性及有效性。 1 2 本文的工作 本文主要对同时多线程超长指令字处理器的设计和优化进行深入研究,分析 了超长指令字执行语义带来的两种时序约束,研究了突破这些时序约束的方法, 并提出了同时多线程微体系结构m o s i ;针对超长指令字体系结构在m o s i 微体系 结构下呈现出的弊端,提出了新的性能优化方法;解决了同时多线程处理器中线 程性能难以预测的问题;实现了双线程超长指令字处理器原型。概括地说,本文 的主要工作包括: ( 1 ) 为了研究如何突破超长指令字执行语义带来的超长指令字之间的时序约束,分 析了r u d d 等人为实现精确中断而提出的重放缓冲机制,并针对该机制的不足 进行了改进,降低了硬件开销。 ( 2 ) 研究了突破超长指令字内部时序约束的方法,提出了基于超长指令字处理器的 同时多线程微体系结构m o s i 。m o s i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论