(计算机系统结构专业论文)同时多线程处理器前端系统的研究.pdf_第1页
(计算机系统结构专业论文)同时多线程处理器前端系统的研究.pdf_第2页
(计算机系统结构专业论文)同时多线程处理器前端系统的研究.pdf_第3页
(计算机系统结构专业论文)同时多线程处理器前端系统的研究.pdf_第4页
(计算机系统结构专业论文)同时多线程处理器前端系统的研究.pdf_第5页
已阅读5页,还剩113页未读 继续免费阅读

(计算机系统结构专业论文)同时多线程处理器前端系统的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 同时多线程处理器( s m r ) 通过在每个时钟周期从多个同时运行的线程取指令执行, 充分挖掘了线程内的指令级并行性和线程间的线程级并行性,减少了指令槽的水平浪费 和垂直浪费,从而极大地提高了处理器的指令吞吐率,成为目前主流的微处理器体系结 构之一。 s m t 的前端系统( 包括:取指部件、1 级c a c h e 和分支预测器) 是影响其性能的关 键,也是目前学术界研究s m t 的重点。本论文分别从其前端系统的三个部件出发,就 取指策略、c a c h e 的压缩存储技术及分支预测器进行了研究,提出两个有效的取指策略、 一种简单的c a c h e 压缩技术,以及一种基于值的分支预测方法,将这些研究成果结合起 来构成一个新的前端系统,使其总体性能得到了大幅度的提高。具体的研究成果如下: 一种有效的s m 取指策略口c b f p :该策略分析了目前性能最好的i c o u n t 策略的取指特点,发现其存在线程指令分配不适当的问题,针对该问题提出一 种新的取指策略i p c b f p ,该策略通过很少的硬件支持即可使s m t 的总体性能 得到很大的提高,同时对系统中其他资源的利用也更加有效; 一种具有q o s 特性的取指策略:目前对在s m t 中支持线程的q o s 需求的研究 非常少,仅有的一个策略其实现复杂度很高,不利于物理上的实现。本研究只 从取指的角度来实现线程q o s 的需求,提出一种新的取指策略,该策略在一定 精度的范围内可以同时满足多个线程的q o s 需求,与前人的研究成果相比,该 策略的实现更加简单,但精度稍差; 一种简单的c a c h e 压缩存储技术和一种覆盖存储结构:在s m t 的研究中,因多 个线程竞争c a c h e 导致c a c h e 失效率大幅度增加和单线程性能下降的问题一直 没有得到很好的解决,本研究从c a c h e 压缩存储的角度来解决该问题,提出一 种简单的c a c h e 压缩存储技术和一种覆盖存储方法,获得了较好的研究结果, 使c a c h e 的潜在容量大大提高,有效地减少了c a c h e 失效次数,提高了s m t 的 总体性能:该研究同时给出了关于c a c h e 压缩技术在s m t 下应用的一些结论; 一种基于数据值的分支预测器v b b p :多线程共享分支预测器的空间导致分支 预测命中率大幅度下降,极大地影响了单线程的性能,本研究从数据值的角度 提出一种新的分支预测器,并作为一个辅助部件与传统的分支预测器共同使用; 初步研究表明,该预测器有效地提高了分支预测的命中率: 结合上述研究成果提出的一种新的s m t 前端系统组成方式:新的前端系统有效 地提高了s m t 的总体性能。与传统的基于i c o u n t 取指策略和g s h a r e 分支预 测器的前端结构相比,其性能得到了大幅度的提高,加速比达到了5 5 。 除此之外,本论文对目前最新的基于神经元网络的分支预测器在s m t 下的性能也作 h 时多线程处理器前端系统的研究:摘要 了一些研究,并提出了一种改进的策略。 最后,论文对s m t 前端系统的研究进行了总结。并提出了未来的研究方向。 关键词:s m t :前端系统;取指策略:q o s :分支预测器;c a c h e 压缩:神经元 i i r e s e a r c ho ns i m u l t a n e o u sm u l f i t h r e a d e dp r o c e s s o rf r o n t - e n d h el i q i a n g ( c o m p u t e r a r c h i t e c t u r e ) d i r e c t e db yl i uz h i y o n g s i m u l t a n e o u sm u l t i t h r e a d e d ( s m t ) p r o c e s s o r si m p r o v et h ei n s t r u c t i o nt h r o u g h p u tb ya l l o w i n g f e t c h i n ga n dr u n n i n gi n s t r u c t i o n sf r o ms e v e r a lt h r e a d ss i m u l t a n e o u s l ya ta s i n g l ec y c l e i ns m t p r o c e s s o r s ,f u n c t i o n a lu n i t st h a tw o u l db ei d l ed u e t oi n s t r u e t i o nl e v e lp a r a l l e l i s m ( r a p ) l i m i t a t i o n so f as i n g l et h r e a da r ed y n a m i c a l l yf i l l e dw i t hu s e f u li n s t r u c t i o n sf r o mo t h e rr u n n i n g t h r e a d s b ya l l o w i n gf e t c h i n gi n s t r u c t i o n sf r o mo t h e rt h r e a d s ,a ns m tp r o c e s s o rc a nh i d eb o t h l o n gl a t e n c yo p e r a t i o n sa n dd a t ad e p e n d e n c i e si na t h r e a d t h e s ea d v a n t a g e si n c r e a s eb o t h p r o c e s s o ru t i l i z a t i o na n di n s t r u c t i o n st h r o u g h p u t i ns m t p r o c e s s o r s ,t h ef r o n t - e n di sa c r i t i c a lp a r tt h a ti n c l u d e st h ef e t c hc o n 仃o l l e r , b r a n c h p r e d i c t o r , a n dl e v e l1c a c h e t h ep e r f o r m a n c eo f a ns m tp r o c e s s o ri sl a r g e l yd e p e n d e do n t h e d e s i g na n di m p l e m e n t a t i o no f t h ef r o n t - - e n & i nt h i st h e s i s ,s o m ei m p o r t a n ti s s u e sa r o u n dt h e f r o n t - e n da r ei n v e s t i g a t e d - a n dt h er e s u l t sa r el i s t e da sf o l l o w s i n s t r u c t i o n f e t c h p o l i c y :a n e w i n s t r u c t i o n f e t c h p o l i c y , i p c b f p , i s p r o p o s e d t o u l t i l i z e t h ef e t c hb a n d w i d t hm o r ee f f i c i e n t l y c o m p a r i n gw i t l lt h ee x i s t e di c o u n tp o l i c yt h a t m a y b ef e t c ht o om u c h i n s t r u c t i o n sf o rt h ef i r s ts e l e c t e dt h r e a dw h e r e a st o ol e s sf o rt h e s e c o n d , i p c b f pp o l i c yc o m p u t e st h en u m b e ro f n e e d e di n s t r u c t i o n so f t h et h r e a d sa n d f e t c h st h e ma c c o r d i n gt ot h ec o m p u t i n gr e s u l t s w i t hi p c b f pp o l i c y , as i g n i f i c a n t i m p r o v e m e n to f p e r f o r m a n c ei so b t a i n e d e x e c u t i o n - d r i v e ns i m u l a t i o nr e s u l t ss h o wt h a t t h ea v e r a g es p e e d u pi su pt o2 8 f o rt h et w oa n df o u rt h r e a d sw o r k l o a d s f e t c h p o l i c y w i t h q o s :t h er e q u i r e m e n t s o f a d e m a n d e d q u a l i t y o f s e r v i c e a r e a l w a y s c l a i m e db yt h em u l t i - m e d i aa p p l i c a t i o n sa n ds o m et i m ec r i t i c a lp r o g r a m s t i l ln o w , o n l y s e v e r a lr e s e a r c h e sh a v ea d d r e s s e dt h i si s s u ei ns m tp r o c e s s o r s ,a n dh a v ep r o p o s e ds o m e s o l u t i o n st h a ta r ea l lt o oc o m p l e xt ob ei m p l e m e n t e d an e ws o l u t i o nt ot h i si s s u e ,aq o s c a p a b l ef e t c hp o l i c y , i sp r o p o s e di nt h i st h e s i s t h ep o l i c yu s e sa t h r e a dp r i o r i t ya n da f l o ws p e e dt oc o n t r o lt h en u m b e ro f i n s t r u c t i o n sb e i n gf e t c h e df o rat h r e a d u s i n gt h i s m e c h a n i s m , t h eq o sr e q u i t i n gt h r e a d sc a nf u l f i l lt h e i rd e s i r e ds e r v i c e s ,w h i l et h eo t h e r t h r e a d sc a l la l s oo b t a i nat r y - m y - b e s ts e r v i c ef r o mt h ep r o c e s s o r s i m u l a t i o nr e s u l t ss h o w t h a tt h i sp o l i c yi sa ne f f e c t i v eq o s c a p a b l ef e t c hp o l i c yf o rs m tp r o c e s s o r s c a c h ec o m p r e s s i o n :i ns m tp r o c e s s o r s w i t ht h en u m b e ro f r u n n i n gt h r e a d si n c r e a s i n g , t h eu s a b l ec a c h eo f as i n g l et h r e a dd e c r e a s e sc o n t i n u a l l y , a n dt h en u m b e ro f c a c h em i s s e s i n c r e a s e s , t h u sd e g r a d i n gt h ep e r f o r m a n c eo f t h et h r e a d as i m p l ec a c h ec o m p r e s s i o n 1 1 1 h 时多线程处理描前端系统的研究:a b s t r a c t s c h e m ea n da l lo v e r r i d i n gs t o r a g es c h e m ea r ep r o p o s e df o rt h es m tp r o c e s s o r s n e o v e r r i d i n gs c h e m ei ss u i t a b l ef o rt h ec a c h ew i t hl e s sc a p a c i t y , a n dt h ec o m p r e s s i o n s c h e m ei sf o rt h el a r g e ro n e s i m u l m i o ne x p e r i m e n t ss h o wt h a tt h e ya r ev e r ye f f e c t i v e , a n da l s oi n d i c a t et h a tas i m p l ec o m p r e s s i o ns c h e m ei ss u f f i c i e n tf o ra l ls m t p r o c e s s o r b r a n c h p r e d i c t o r :t h eb r a n c hp r e d i c t o rp l a y sa ni m p o r t a n tr o l ei ni m p r o v i n gt h e p e r f o r m a n c eo f a ns m tp r o c e s s o r ap r e d i c t o rw i t hh i 曲a c c u r a c yc a n r e d u c et h e n u m b e ro f w r o n gp r e d i c t e di n s t r u c t i o n sa n dl e s s e nt h em i s p r e d i c t i o np e n a l t y av a l u e b a s e db r a n c hp r e d i c t o r , v b b p , i sp r o p o s e dt op r e d i c tb r a n c ho u t c o m ea c c o r d i n gt oi t s r e f e r e n c e dd a t av a l u e s 1 1 1 i sp r e d i c t o ri su s e da sa na u x i l i a r yc o m p o n e n tt ot h et r a d i t i o n a l b r a n c hp r e d i c t o r s i m u l a t i o nr e s u l t ss h o wt h a tv b b pp r e d i c t o ri sa ne f f e c t i v ep r e d i c t o r f o rt h es m t p r o c e s s o r s i na d d i t i o n , t h ep e r f o r m a n c eo f a n o t h e rc l a s so f b r a n c hp r e d i c t o r s ,p e r c e p t r o nb a s e dp r e d i c t o r s t h a ta r et h eb e s tp r e d i c t o r sf o rs u p e r s c a l a rp r o c e s s o ri nl i t e r a t u r e ,a r ee v a l u a t e di nt h i st h e s i s t h e e x p e r i m e n ts h o w ss o m ed i f f e r e n tr e s u l t si ns m t e n v i r o n m e n lt oi m p r o v et h ep r e d i c t i o n a c c u r a c yf u r t h e r , an e wp r e d i c t o rf u s i n gt e c h n i q u ei sp r o p o s e d i ti st of u s eat r a d i t i o n a lb r a n c h p r e d i c t o r t oa p e r c e p t r o np r e d i c t o r , a n da l s ot of u s ean o n - t r a i n e dp r e d i c t o rt oa t r a i n e dp r e d i c t o r t h i st e c h n i q u ei sf i r s t l yu s e di nt h i st h e s i s ,a n dh a sb e e n p r o v e dt h ee f f e c t i v e n e s si nt h e e x p e r i m e n t a tl a s t ,al l e ws m tf r o n t - e n di sp r o p o s e dt h r o u g hc o m b i n i n ga l lt h et e c h n i q u e si nt h i st h e s i s , a n das i g n i f i c a n ti m p r o v e m e n to fp e r f o r m a n c e ( 5 5 ) i so b t a i n e db yt h en e wf r o n t - e n d t h i s t h e s i sm a k e sac o n c l u s i o no f t h er e s e a r c ha n d p r e s e n t st h ef u t u r ew o r k sa tt h ee n do f i t k e y w 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 e dp r o c e s s o r , s m t , i n s t r u c t i o nf e t c hp o l i c y , b r a n c h p r e d i c t o r , c a c h ec o m p r e s s i o n , f r o n t e n d , q o s ,p e r c e p t r o np r e d i c t o r i v 图目录 图表1 1 不同体系结构下指令槽发射情况的比较。 图表1 2s m t 的组织结构。 图表1 3 超标量处理器( 上) 和s m t ( 下) 的流水线设置。 图表2 1i f c b f p 取指策略的硬件实现 2 。3 图表2 2 程序负载的性能随参数p 值变化的情况。 图表2 3 珊躔f p 和i c o u n t 策略的指令吞吐率性能。 1 6 1 9 图表2 4 在i c o u n t 和d c b f p 策略下两线程负载运行时各线程独立的口c 性能2 0 图表2 5 在i c o in 盯和m c b f p 策略下四线程负载运行时各线程独立的p c 性能。2 1 图表2 61 级指令c a c h e 在i c o in 盯和口c b f p 策略下失效率的比较2 1 图表2 7l 级数据c a c h e 在i c o u n t 和i p c b f p 策略下的失效率比较2 2 图表2 8 二级c a c h e 在i c 0 1 m 盯和口c b f p 策略下的失效率比较。2 2 图表2 9 三级c a c h e 在i c o u n t 和m c b f p 策略下的失效率比较2 3 图表2 1 0 d t l b 在i c o i m 和p c b f p 策略下的失效率比较2 3 图表2 1 li c o u 盯和i p c b f p 策略在占用定点指令队列项方面的比较2 4 图表2 1 2i c o i n 叮和i p c b f p 策略在占用浮点指令队列项方面的比较2 4 图表2 1 3i c o i n 盯和i p c b f p 策略在通用寄存器使用冲突率方面的比较2 5 图表2 1 4 i c 吼n 盯和p c b f p 策略在浮点寄存器使用冲突率方面的比较2 5 图表2 1 5i c o u n t 和i p c b f p 策略在分支误预测率方面的比较2 6 图表2 1 6i c 0 1j l 叮和p c b f p 策略在误预测路径取指率方面的比较2 6 图表2 1 7i c o u n t 和i f c b f p 策略在误取指率方面的比较 图表2 1 8i c o i 盯和口c b f p 策略在误预测路径上的指令执行率2 7 图表3 1 两线程负载在i c o u n t 2 8 策略、轮询法( r o u n d - r o b i n ) 和具有q o s 特性的 取指策略( q o s ) 下的指令吞吐率:其中,横轴上的1 - 9 分别表示o o s ( 3 ,2 ) 、q o s ( 5 ,4 ) 、 q o s ( 7 , 6 ) 、q o s ( 8 ,6 ) 、q o s ( 8 ,7 ) 、q o s ( 9 , 7 ) 、q o s ( 9 ,8 ) 、q o s ( 1 0 ,8 ) 和q o s ( 1 0 ,9 ) ;( a ) 到( f ) 子图分别对应负载a r t - p e r l b m k 、p e r l b m k - a r t 、c r a f r y - m c f 、m c f - c r a f t y 、 m g r i d - a m m p 和a m m p m g r i d ,( g ) 到( j ) 分别对应负载a r t - s w i m 、s w i m - a r t ) 、m e s a m c f 和m c f - m e s a 在每个子图中,从左到右分别为:负载总的指令吞吐率、第l 和第2 线程独立的指令吞吐率性能 图表3 2 两线程负载采用i c o u n t 、轮询法( r o u n d - r o b i n ) 和具有q o s 特性取指策略 ( q o s ) 下的指令c a c h e 失效率 图表3 3 两线程负载采用i c o u n t 、轮询法和具有o o s 特性取指策略( o o s ) 下的数据 c a c h e 失效率 i x 问时多线程处理器前端系统的研究:豳日录 图表3 4 两线程负载采用i c o u n t 、轮询法和具有q o s 特性取指策略( q o s ) 下的分支 预测失效率3 9 图表3 5 三线程负载采用i c o u n t 、轮询法和具有q o s 特性取指策略( o o s ) 下的总的 指令吞吐率4 0 图表3 6 三线程负载采用i c o u n t 、轮询法和具有q o s 特性取指策略( q o s ) 下的i - c a c h e 失效率4 0 图表3 7 三线程负载采用i c o u n t 、轮询法和具有q o s 特性取指策略( o o s ) 下的 d c a c h e 失效率4 1 图表3 8 三线程负载采用i c o u n t 、轮询法和具有q o s 特性取指策略( q o s ) 下的分支 预测失效率4 l 图表4 1 传统的c a c h e 组织结构“ 图表4 。2 六种可压缩的数据类型和1 种可压缩的地址类型4 5 图表4 3c a c h e 覆盖存储方法的系统结构。4 7 图表4 4c a c h e 覆盖存储结构与传统c a c h e 结构的指令吞吐率性能比较5 0 图表4 5 两线程负载下单线程在c a c h e 覆盖存储结构和传统c a c h e 结构下的性能比较。 图表4 6 四线程负载下单线程在c a o m 覆盖存储结构和传统c a c h e 结构下的性能比较。 5 0 5 l 图表4 7c a c h e 覆盖存储结构与传统c a c h e 结构的d - c a c h e 失效率比较5 1 图表4 8d c a c h e 的压缩存储结构5 3 图表4 9i f 字段中一个字节的编码格式5 4 图表4 1 0 三种d - c a c h e 结构下各程序负载的i p c 性能及平均值5 6 图表4 1 1 两线程负载下单线程在三种d - c a c h e 结构下的i p c 性能及平均值5 6 图表4 1 2 四线程负载下单线程在三种d - c a c h e 结构下的i p c 性能及平均值5 6 图表4 1 3 三种d - c c 把结构下各程序负载的d - c c t m 失效率及平均值5 7 图表4 1 4 两线程负载下单线程在三种d - c a c h e 结构下的c a c h e 失效率比较5 7 图表4 1 5 四线程负载下单线程在三种d c a c h e 结构下的c a c h e 失效率比较5 7 图表5 1 基于值预测的分支预测器6 3 图表5 2 具有单操作数分支指令的v b b p 分支预测器的系统结构6 5 图表5 3v b b p 预测器与g s h a r e 分支预测器的总体指令吞吐率性能6 8 图表5 4 两线程负载实验中单线程在v b b p 预测器与g s h a r e 分支预测器下的指令吞吐 率性能6 8 图表5 5 四线程负载实验中单线程在v b b p 预测器与g s h a r e 分支预测器下的指令吞吐 率性能。6 9 图表5 6v b b p 预测器与g s h a r e 分支预测器的分支误预测率 图表5 7v b b p 预测器与( s h a r e 分支预测器的沿分支误预测路径的取指率 x 向时多线程处理器前端系统的研究:目录 图表6 1 基于神经元网络的分支预测器系统结构。 图表6 2o g e h l 分支预测器系统结构图 图表6 3 一个自适应的神经元分支预测器系统结构。 图表6 42 b c g s k e w 与r h s p 神经元组合的分支预测器系统结构 图表6 5f r a n k e n 预测器的系统结构 7 9 图表6 6 五种神经元分支预测器的总体指令吞吐率性能比较8 3 图表6 7 两线程负载中单线程在五种神经元分支预测器下的指令吞吐率性能8 4 图表6 8 四线程负载中单线程在五种神经元分支预测器下的指令吞吐率性能8 4 图表6 9 五种神经元分支预测器的分支误预测率比较。 图表6 1 0 五种神经元分支预测器下的误预测路径取指率比较。8 6 图表6 1 1 将基于“值预测器”的分支预测结果作为神经元预测器的动态b i a s 输入值。9 0 图表6 1 2o - g e h l 预测器与改进的o - g e 甩预测器的i p c 性能。9 l 图表6 1 3 两线程负载实验中单线程在o - g e h l 预测器及其改进的预测器下的i p c 性能。 图表6 1 4 四线程负载实验中单线程在o g e h l 预测器及其改进的预测器下的 p c 性能。 图表6 1 5o g e h l 预测器与改进的d g 班也预测器的分支误预测率9 2 图表6 1 60 g e 预测器与改进的o g e h l 预测器的误预测路径取指率9 2 图表7 1 新的s m t 前端系统结构图 图表7 2 在两种前端结构下负载的总体指令吞吐率性能 图表7 3 两线程负载中单线程在两种前端结构下的独立 p c 性能。 图表7 4 四线程负载中单线程在两种前端结构下的独立i p c 性能。 图表7 5 两种前端结构下负载占用定点指令队列的平均长度。 图表7 6 两种前端结构下负载占用浮点指令队列的平均长度。 图表7 7 两种前端结构下负载的定点寄存器使用冲突率。 图表7 8 两种前端结构下负载的浮点寄存器使用冲突率 图表7 9 两种前端结构下负载的分支误预测率。 9 7 9 8 9 8 9 9 1 0 0 1 0 1 图表7 1 0 两种前端结构下负载沿分支误预测路径的取指率 x i 表目录 表格1 1 同时多线程模拟器s m t s d 讧体系结构参数列表。7 表格1 2 各程序负载所运行的指令数,f :浮点,i :定点7 表格2 1i p c b f p 与i c o u n t 2 8 取指策略在每时钟周期内取指令条数的区别1 8 表格3 - l 各程序负载的类型和所运行的指令数,其中( m :m e m ,l :i l p ,f :浮点,i : 定点) 表格3 2 三线程负载实验中三种取指策略的平均i - c a c h e 、d c a c h e 失效率和分支预测 失效率 表格缸l 一个示例性的数据编码表示方法。 表格5 1v b b p 预测器与传统分支预测器的配置 表格5 2 v b b p 预测指令数及其所占的比例。 表格6 1 五种神经元预测器及p p m - t a o 预测器的比较8 2 表格6 2 五种神经元预测器及传统的分支预测器的平均指令吞吐率性能比较8 3 表格7 1 两种前端结构下负载运行时的c a c h e 和t l b 失效率( ) 9 9 第一章引言 同时多线程( s i m u l t a n o a u s m u l t i t h r e a d i n g ,s m t ) 技术自1 9 9 5 年提出后,由于充分 挖掘和利用了指令级并行性( 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 ,j ) 和线程级并行性( t h r e a d l e v e lp a r a l l e l i s m ,t l p ) ,使得处理器的指令吞吐率性能大大提高,受到了体系结构研究 领域的广泛重视,许多的研究成果相继问世;此后,工业界也对该技术投入了大量的资 金和人力进行研究与开发,i n t e l 公司率先推出采用该技术的p c n t i u m4 微处理器芯片, 接着m m 、s u n 、h t 等公司也相继提出开发采用该技术的下一代微处理器芯片。这些学 术界和工业界的研究和实践大大推动了该技术的发展,使其成为与o o ( 单片多处理器) 和s m p ( 对称多处理器) 等体系结构并驾齐驱的主流微处理器体系结构之一 s m t 的研究包含诸多方面,从体系结构本身,到软硬件接口,再到具体的应用,每 个方面涉及的问题都很多。就纯体系结构方面而言,大致分为前端和后端两部分s m t 前端系统通常包括:取指部件、片内1 级c a c h e 、分支预测器,后端系统则主要由功能 部件所组成。目前,学术界对s m t 研究的重点为其前端系统,因为该部分结构的组成 和性能对处理器总体性能及运行线程的独立性能的影响都最大,也是影响整个处理器芯 片功耗和延迟最大的一部分,本论文研究的内容也属于该部分。 本论文的研究目标是通过改进和优化s m t 的前端系统来提高处理器总的指令吞吐 率,具体包括:提出一种有效的s m t 取指策略、一种具有q o s 特性的取指策略、一种 简单的c a c h e 压缩存储技术和c a c h e 覆盖存储方法、以及一个基于数据值的分支预测器; 此外,对目前最新的基于神经网络的分支预测器在s m t 处理器上的性能进行了评估和 改进。最后,在这些研究成果的基础上,提出一种新的s m t 前端结构,该结构较目前 常用的s m t 前端结构的性能有较大的提高。在这些研究中,以s m t 总体的指令吞吐率 作为性能衡量和比较的标准,对所带来的功耗和延迟的影响不作定量的分析 作为本论文的引言,本章将在1 1 节首先简单介绍s m t 技术本身,其后,在1 2 节 具体说明本论文的研究内容,接着在1 3 节对本论文中其余各部分的研究实验方法进行 论述,最后,1 4 节概括叙述本论文的主要贡献,论文的组织在最后1 5 节中给出。 在本论文中,术语“同时多线程”和英文缩写“s m t ”彼此通用。 1 1 同时多线程技术 本节简单介绍同时多线程技术,包括:s m t 的基本原理、学术界使用的s m t 模拟 结构、商业的s m t 处理器、s m t 的关键技术、以及s m t 的应用评价 1 1 1 基本原理 同时多线程是一种处理器体系结构,属于m i m d ( m u l t i p l ei n s l r u c t i o ns t r e a m s 。 i 中国科学院博士学位论文一同时多线程处理器前端系统的研究 m u l t i p l ed a t as t r e a 1 s ,多指令流多数据流【p a 】) 结构它结合了超标量和多线程处理器 的特点,允许在一个时钟周期内发射多个线程的多条指令执行,极大提高了处理器的指 令吞吐率性能 s m t 提高处理器的总体性能体现在两个方面: 1 ) 允许在一个时钟周期内执行来自不同线程的多条指令。这样,s m t 能够同时利 用程序的t l p 和i l p 来消除水平浪费。提高处理器发射槽以及功能部件的利用 率。在此,水平浪费是指在一个时钟周期内,因没有足够的可执行指令占用所 有的指令发射槽而导致的部分指令槽浪费现象。 2 ) 从理论上说,s 盯允许任何活动线程的组合来发射指令。当由于长延迟操作或 者资源冲突导致一个线程在一个周期中的指令槽全部空闲时,s 舸可以通过使 用其他线程的未阻塞指令来消除这种垂直浪费现象。 图1 1 描述了s m t 与多发射结构、细粒度多线程结构、粗粒度多线程结构及单片 多处理器结构c m p 在指令槽利用方面的区别。如图所示,尽管多发射结构在一个时钟 周期内能执行多条指令,但当在一个时钟周期内不能找到足够的并行指令时,其执行效 率就会因指令槽的水平浪费和垂直浪费而下降;细粒度和粗粒度的多线程结构尽管可以 减少长延迟操作和资源冲突所带来的垂直浪费,但仍不能避免一个时钟周期内的水平浪 费;单片多处理嚣结构将可用的指令槽分割为两部分,分别用于不同的线程,该结构在 每部分指令槽中仍不能避免浪费现象;s m t 结合了超标量处理器和多线程处理器的优 点,在每个时钟周期中可以从多个线程取指令执行,充分挖掘了线程内的p 和线程问 的1 1 j ,从而极大地提高了处理器的指令吞吐率性能,同时不需要付出很大的代价( 如: 芯片面积、硬件开销、功耗等) 霭爱豳豳霞 豳团团亘 图团豳因 亘圈圜圄0 旦l 圈日鱼旦旦臼 图豳阖僦阂 ( :萎静 ( b ) 细粒度 “) 租粒度 ( d ) 单片多 ( ) s m t 多线程结构多线程结构处理器结构伫线程) 促线程) 咄芄程) 伫处理器) “发射) 图表1 1 不同体系结构下指令槽发射情况的比较 固 i 圈线程2i l 口空指令僧l s m t 通常有两种操作模式:异类多任务模式( h e t e r o g e n e o u sm u l t i t a s k i n gm o d e ) 和 l 司类多任务模式( h o m o g e n e o u s m u l t i t a s k i n g m o d e ) 前者一般运行多道程序运行环境下 的多个程序负载,各程序问彼此独立运行。共享处理器资源,彼此之间少有同步和通信 操作;而后者则运行并行应用程序负载,通常多个线程来自于同一个并行程序。各线程 在运行时经常需要进行同步和通信操作不同操作模式的选取对s m t 的设计和实现, 2 期 嗍i 时 第一牵引言 以及操作系统和编译器【x t 0 2 】的支持都有很大影响从实现的复杂程度看,异类多任务模 式的s m t 由于较少考虑同步和通信,因而实现起来相对简单,对操作系统和编译器的 支持也要求较少。目前学术界的研究和工业界的实践大都集中于此 1 1 2s m t 的模拟结构 一个典型的s m t 模拟结构如图1 2 所示,该结构是基于一个乱序执行( o u t - o f - o r d e r e x e c u t i o n ) 的超标量处理器来实现。为使多个线程同时在处理器上执行,同时多线程处 理器需为每个运行的线程设置一套单独的硬件用于保存其执行的状态,这些硬件称为“线 程上下文( c o n t e x t ) ”,包括:程序计数器、返回地址栈和寄存器文件。除此之外,系统 中其他的部件则可以被多个线程完全共享或通过设置线程d 来识别不同线程进行分区 式共享。本文的研究中将以该结构作为模拟实验的基础。 在图1 2 的结构中,s m t 的工作过程是:在每时钟周期内,取指部件根据多个线程 的p c 值在分支预测器的帮助下依据一定的取指策略从多个线程取得多条指令送到译码 部件,指令经译码部件和寄存器重命名部件后进入到不同的定点孵点指令队列等待发射 执行,队列中执行条件满足的指令被乱序发射到功能部件中执行,执行完成的指令再经 过重排序部件顺序将结果写回到体系结构的寄存器中。 图表1 2s m t 的组织结构 图1 3 为传统超标量处理器和s m t 的流水线设置情况由于s m t 中需要为多线程 运行设置较大的物理寄存器文件,因而需要较长的寄存器存取时间,为了避免延长处理 器的时钟周期,在传统超标量处理器的流水线中增加了两个流水段以实现两个时钟周期 的寄存器读和写操作。 图表1 3 超标量处理器( 上) 和s m t ( 下) 的流水线设置 中国科学院博士学位论文同时多线程处理器前端系统的研究 1 1 3 商业s m t 处理器 c o m p a q 公司曾在1 9 9 9 年公开了a l p h a e v 82 1 4 6 4 的设计【日”a l p h a2 1 4 6 4 是具有 4 个线程上下文的8 发射s m t 处理器。它的特点是乱序执行,芯片上集成有大的二级 c a c h e 、蝴b u s 接口和路由器。路由器用来进行系统互连并支持基于目录的c a c h e 致性协议,使得整个系统构成一个c c - n u m a ( c a c h ec o h e r e n tn o n u n i f o r mm e m o r y a c c e s s ) 多处理器系统c o m p a q 原本计划在2 0 0 3 年推出具有2 5 亿个晶体管的a l p h a 2 1 4 6 4 芯片,但随着a l p h a 处理器技术被出售给i n t e l ,该计划被中止了。 i n t e ih y p e r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论