




已阅读5页,还剩51页未读, 继续免费阅读
(微电子学与固体电子学专业论文)面向asic处理器的指令多发射技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安理工大学硕士学位论文 设计思想。整个设计采用cl a n g u a g e 建立结构模型,v e r i l o g h d l 进行了结构描述。用s m i c o 1 3 9 m 标准单元库进行逻辑综合,达到系统工作频率3 0 0 m h z 。 关键字:流水线超标量技术并行发射吞吐率m i p s a b st r a c t t i t l e :a s i cp r o c e s s o rf o rm u l t i - i s s u et e c h n o l o g yo fi n s t r u c t i o n m a j o r :m i c r o - e l e c t r o n i c sa n ds o l i ds t a t ee l e c t r o n i c s n a m e : w a n gqi - y i n g s u p e r v i s o r :p r o f n i n g m e i y u a b s t r a c t s i g n a t u r e :坳良? p 学 s i g n a t u r e :洳n 卜帅n 卜研m m i c r o p r o c e s s o r - d r i v e n ,h i g h t h r o u g h p u tc o m p u t i n gt e c h n o l o g i e s a n dt h eb a s i sf o rt h e d e v e l o p m e n to ft h ei n d u s t r y , t h ed e s i g no ft h ec p u r e l a t e dr e s e a r c ha n dd e v e l o p m e n to fg r e a t a c a d e m i cs i g n i f i c a n c ea n dp r a c t i c a ls i g n i f i c a n c e h i g h p e r f o r m a n c em i c r o p r o c e s s o r sa n d h i g h t h r o u g h p u t ( h i g ht h r o u g h o u t ) d a t ap r o c e s s i n gc h i pm a r k e tp r o s p e c t s ,s u c ha sl a r g e i n t e r n e td a t ap r o c e s s i n gr e q u i r e m e n t s h i g h d e f i n i t i o nv i d e os u r v e i l l a n c e ”c l o u dc o m p u t i n g ” m o d e la n do t h e ra p p l i c a t i o n sr e q u i r eh i g hp e r f o r m a n c ea n dh i g hd a t ap r o c e s s i n gc a p a b i l i t yo f t h es y s t e mi c l a k ea sas t r o n gb a s et oc e n t r a l i z e dd a t ap r o c e s s i n g t or e d u c et e r m i n a lh a n d l i n g b u r d e n t h e r e f o r e t h et w of e a t u r e si n t oo n ed e s i g ni d e aa n dt h er e a l i z a t i o no ff o r w a r d l o o k i n g m o d e lh a sg r e a ts i g n i f i c a n c e f i r s t l ys u p e r s c a l a rp i p e l i n et e c h n o l o g yr e s e a r c h s t u d yo ft h es u p e r s c a l a rp i p e l i n e o f t e c h n o l o g i e s c o m b i n e dw i t h t h i s p r o j e c t s o v e r a l ls t r u c t u r ea n df u n c t i o nt os e l e c tt h e a p p r o p r i a t et e c h n o l o g y ,m a k i n gt h em a x i m u md a t at h r o u g h p u t ,l i m i t a t i o n sm i n i m i z e d 。p a r a l l e l l a u n c hm u l t i p l ei n s t r u c t i o n sa tt h es a m et i m ei n t ot h ec a l c u l a t i o nu n i tt oc a l c u l a t et h e c o r r e s p o n d i n gf u n c t i o n b r e a k i n gs c a l a rc a no n l y1 a u n c ha1 i n eo fi n s t r u c t i o np e rw e e kl i m i t s e c o n d l y , t h ec o m b i n a t i o no ft h ef u n c t i o n a lr e q u i r e m e n t sd i r e c t i v et r a n s m i t t e rm o d u l eb y i t sf u n c t i o n w i t hm a n yk i n d so fi n s t r u c t i o n s ,d a t ap r o c e s s i n g ,h i g h e rf r e q u e n c yo fl a r g ep r o je c t d e s i g na n di m p l e m e n t a t i o no fr e q u i r e m e n t s 。f r o mp l a n n i n gt h es t r u c t u r eo f t h em o d u l e ,f u n c t i o n d i v i s i o n ,e t c ,g r a d u a li n t e g r a t i o no fp a r a l l e le x e c u t i o n ,m u l t i p l ec o n f i g u r a t i o ns u p e r s c a l a r t e c h n o l o g y , m a k i n gt h ed e s i g nt om e e tp r o je c tr e q u i r e m e n t s ,t om e e tp e r f o r m a n c et a r g e t sa tt h e s a m et i m e d i v e r s i f i c a t i o no ft h ef u n c t i o no ft h ei n s t r u c t i o nt r a n s m i t t e rm o d u l ec o n f i g u r a t i o n t h em a i nf u n c t i o no ft h em o d u l ei sd i v i d e di n t of r o mt h r e eb l o c k s ,r e s p e c t i v e l y , i n s t r u c t i o n c a c h e i n s t r u c t i o na n dd a t aw r i t e 。b a c kl a u n c h e a c hf u n c t i o nm o d u l ei t s e l fe m b o d i e san u m b e r o fi n s t r u c t i o n se x e c u t e di np a r a l l e la n di n d e p e n d e n t l yi nas h o tc l o c kc y c l ei n s t r u c t i o n a m o n g t h e m t h er e a l i z a t i o no ff u n c t i o n a lm o d u l e si na d d i t i o nt ot r a n s m i t t i n gc o m m a n d st oa c h i e v e t h e i rp r o p e rf u n c t i o n b u ta l s on e e dt oi n t e r a c tw i t ht h ec o m p u t i n gc o m p o n e n t sf o rd a t aa n dd a t a r e i s s u e d ,p e n d i n gc o m p l e t i o no ft h ev a r i o u sc o m p u t i n gc o m p o n e n t sc a l c u l a t i o n ,t h e d a t a w r i t t e nb a c kt ot h er e s u l t so ft h ec a l c u l a t i o nm o d u l ew i l lw r i t eb a c kt or e g i s t e rf i l ef o rl a t e ru s e f i n a l l y , t h ep r o p o s e di n n o v a t i v e 3 2 南i tm i p s b a s e da s i cp r o c e s s o ra r c h i t e c t u r ef o r p i p e l i n e d8 1 a u n c hp l a n n i n ga n dd e s i g n t h r o u g h t h ei n s t r u c t i o nc a c h e ,l a u n c ho u to fo r d e r , t h e o r d e ro ft h r e em o d u l e so ft h es t r u c t u r eo fw r i t e b a c kr & d ,s t r a t e g i cp l a n n i n g ,l a y o u t i i i 西安理工大学硕士学位论文 o p t i m i z a t i o n ,c l o c kc y c l et oa c h i e v eas i n g l es h o tf i r e df o u ri n d e p e n d e n tp a r a l l e li n s t r u c t i o n , a n dt os e ta s i d e8i n s t r u c t i o n si np a r a l l e lt oa c h i e v ee m i s s i o ns t r u c t u r e i na d d i t i o n ,a c c o r d i n gt o t h ep r o p o s e dp l a t f o r mc a nb ee q u i p p e dw i t he m i s s i o nm o d el a u n c ha d a p t i v ea r c h i t e c t u r ed e s i g n t h ew h o l ed e s i g ni st oe s t a b l i s hm o d e lc l a n g u a g e ,v e r i l o g h d ls t r u c t u r e sw e r ed e s c r i b e d u s i n gs m i c o 13p ms t a n d a r dc e l ll i b r a r yf o rl o g i cs y n t h e s i s ,t ot h es y s t e mo p e r a t i n gf r e q u e n c y o f3 0 0 m h z k e yw o r d s :p i p e l i n es u p e r s c a l a rt e c h n o l o g y p a r a l l e le m i s s i o n t h r o u g h p u tr a t e m i p s 目录 目录 1 绪论l 1 1 研究背景1 1 2 国内外研究现状2 1 3 研究内容3 1 4 论文结构安排4 2 基于3 2 位m i p s 架构a s i c 处理器流水线方案研究5 2 1 标量流水线简介与局限性分析5 2 1 1 标量流水线简介5 2 1 2 局限性分析5 2 2 超标量技术综述7 2 2 1 超标量流水线7 2 3 基于超标量流水线a s i c 处理器9 2 3 1 面向a s i c 处理器整体架构介绍9 2 3 2 架构中的指令发射模块10 2 4 运用超标量流水线技术的指令发射模块1 1 2 4 1 提高执行并行度1 1 2 4 2 多配置1 2 2 5 本章小结12 3 基于超标量技术指令多发射模块设计13 3 1 指令发射模块体系架构13 3 1 1 结构设计13 3 2 指令队列及其维护1 3 3 2 1 指令缓存机制及顺序维护一13 3 2 2h e a d 和t a i l 指针更新15 3 2 3 相关性判断1 9 3 3 指令发射及其策略制定2 3 3 3 1 指令发射成功的条件2 3 3 3 2 资源相关性判断及数据准备2 4 3 3 3 乱序发射机制2 6 3 3 4 指令复发机制2 7 3 3 5 源操作数寻址策略及数据传送一2 7 3 4 数据写回2 9 3 4 1 数据写回的条件2 9 3 4 2 写回顺序维护3 0 3 4 3 数据写回使能3 2 i i i 西安理工大学硕士学位论文 3 5 本苹小结3 4 4 指令发射模块功能测试3 5 4 1 测试方法简介3 5 4 2c 语言建模测试3 5 4 2 1 各模块建模测试,3 5 4 3r t l 功能测试3 9 4 3 1 指令缓存模块3 9 4 3 2 指令发射模块4 0 4 3 3 数据写回模块4 0 4 4 本章小结4l 5 指令发射模块可配置技术展望4 2 5 1 可配置技术简析4 2 5 2 指令发射模式可配的必要性4 2 5 3 可配置在指令发射模块中的实现试想4 3 5 4 本章小结4 6 6 总结与展望4 7 致谢4 9 参考文献5 0 l 绪论 1 绪论 1 1 研究背景 进入2 l 世纪,微处理器是现代生活的“芯脏”,是集成电路信息产业的核心技术之一。 在国家全力发展半导体产业的的政策下,为迎接“4 c ”,即计算机( c o m p u t e r ) 、通信 ( c o m m u n i c a t i o n ) 、消费类电子( c o n s u m e re l e c t r o n i c s ) 、汽车电子( c a re l e c t r o n i c s ) 以及 “3 g ”时代的到来f 1 ,科技工作者不懈奋斗,日夜艰辛,在国家半导体行业的大好发展 形势下,形成了自主i c 设计,制造,封装,测试完整的一体化产业链。但是我们在欣喜 取得进度的同时,也要看到我们的不足。国内大部分芯片设计公司的设计能力普遍不强, 市场占有率低,且市场份化的芯片大多集中在低端的电子产品上。直至目前,尤其在微处 理器,d s p ,g p u 等高复杂度芯片的设计上,仍然成品率较低,设计实现难度较大,与 国际上发达国家之间还有很大的差距1 。 微处理器设计的关键技术一直掌握在欧美等发达国家,在全球他们占有较多的市场份 额,形成长期的全球垄断格局,发展中国家要想在短时间内突破各项处理器设计的尖端技 术是相当困难的。随着人们以及工业制造对信息数据的多样化处理需求,对数据处理芯片 的专业性及特殊性又有了多种要求哺1 。如面向专用数据领域和应用下的数据处理芯片,也 同通用处理器一样采用了提高处理器指令平均执行周期,即c p i ( c y c l e sp e ri n s t r u c t i o n ) 来实现指令并行执行提高数据处理吞吐率的流水线技术。在处理器整个流水线中,指令流 水线位于数据通路上,并由指令中不同操作码分别控制数据在整个流水线上的流动。首先, 从指令缓存( i - c a c h e ) 中取出指令进行译码解析,形成各种即将送入功能计算单元的 控制信号,将处理后的各种数据写回到数据缓存( d c a c h e ) 中,指令流水线及其应用 的技术是微处理器的核心部件及技术1 。 指令流水线简略示意如图1 1 所示。 图1 1 指令流水线示意图 f i g u r e1 1s c h e m a t i cd i a g r a mo f t h ei n s t r u c t i o np i p e l i n e 由图1 1 可以看出,假设指令1 ,2 ,3 ,4 ( i n s l ,2 ,3 ,4 ) 的执行阶段分为四个步骤, 在第一条指令执行到s t e p 4 时,第二条指令执行到s t e p 3 ,第三条指令执行到s t e p 2 ,第四 西安理工大学硕士学位论文 条指令执行到s t e p l 。在3 t 4 t 同一时刻,可以执行不同指令的不同执行阶段,从而实现指 令的并行执行提高吞吐率。从3 t 时刻开始,第一条指令执行完成,输出相应的结果,这 样在接下来的每一个相隔t 时刻都会有指令完成执行,输出一结果。根据上述分析,运用 流水线技术的微处理器,虽然单条指令的执行周期没有缩短,但同一时刻不同指令的某一 阶段都在同时执行,这样每个时钟周期都有新指令执行完毕,大大的提高了指令的执行效 率。 但是我们知道,真正功能完备的处理器中的流水线并不像图1 1 这么简单。由于处理 器中配置功能计算单元是有限的,指令与指令的相关结构和寄存器读写相关性,先后的数 据依赖性等,使得流水线在某种相关性发生时会导致其停顿,出现“断流”现象,这样就 不能像上文中分析的那样,每个时钟周期就不能完成一条指令的执行。所以,本文的重点 工作之一就是在分析现有流水线技术的同时,根据本项目的整体需求和目标,研究制约流 水线执行效率的各种因素,设计出适合当前整体项目结构设计的高效流水线。 本项目是面向a s i c 的微处理器设计,该款处理器的最终定位是既融合了专用集成电 路a s i c 可靠性高,数据处理专业性强等特点,也综合了微处理器指令集执行种类多,应 用广泛等特点,大大增加了该芯片的实用性。本课题主要运用超标量流水线各项技术实现 项目中指令发射模块的结构设计与功能测试,主要负责将每拍指令的指令操作码和数据, 并行准确传送至相应的功能计算单元,将其计算结果写回寄存器堆以备后用。 1 2 国内外研究现状 高性能微处理器及高吞吐( h i g ht h r o u g h o u t ) 数据处理芯片的市场前景广阔,现有 技术成熟,因此已成为国内各大i c 设计公司和科研院校的研究热点。 面向a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) 的微处理器的指令系统相对简单,和 r i s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) 类似,只要求硬件实现的基础上执行有限且最常用的 指令集,以方便执行和指令流水。指令流水线技术是提高微处理器性能以及数据吞吐量的 最常用的技术之一,几乎应用于所有处理器的结构设计以及策略制定瞄2 | 。通过上文中的介 绍以及简图示意,在指令结构不发生相关的前提下,指令流水线非常适合应用于顺序指令 的执行场合,主要是因为每个时钟周期可以同时发射指令数多于一条的新指令,与此同时, 并行流水线中不同指令执行阶段也在运行指令,这样就能在最短时问内完成指令操作,最 大程度的提高指令执行效率,突显流水线技术的优越性。但是,由于处理器中的硬件资源 有限,指令执行行为复杂,程序并不是严格按照顺序执行,指令问寄存器的读取相关以及 写回数据的前后依赖等因素,使得设计中指令流水线的执行效率总比理论执行效率低n 1 。 最早运用流水线技术可追溯到2 0 世纪6 0 年代的早期,在一些高端机器中第一次使用 了流水线技术。流水线分为算术流水线和指令流水线,第一个采用指令流水线的是 i b m 7 0 3 0 ,又称做s t r e t c h 计算机。之后的c d c 6 6 0 0 同时采用了流水线和多功能部件,一 定程度上提高了效率。到了2 0 世纪8 0 年代,流水线技术成为r i s c 处理器设计方法中最 2 l 绪论 基本的技术之一,且以高效流水线为设计目标。此外流水线技术也有运用到c i s c 处理器 的设计,i a 3 2 体系结构中,i n t e li 4 8 6 是第一个实现流水线的版本。取得成功的流水线版 本还有d i g i t a l 的v a x 和m o t o r o l a 的m 6 8 k 1 。 为了提高指令流水线的执行效率以及相应数据处理能力,就要分析和研究如何降低 寄存器相关,资源相关和控制相关所导致流水线“断流”的可能性。此外,还有许多方式 能提高流水线的效能,如超流水,和超长指令字和超标量。其中,超长指令字是将多条指 令连在一起,形成指令组合来增加运算速度。超标量流水线技术是在一个时钟周期内发射 多条指令;超流水则是将流水线细化。超标量技术和超流水技术通常是结合在一起使用。 而在超长指令字的微处理器中,由于不同执行需求的指令链接在一起,同样也需要将多个 功能部件相连,来支持并行多配置技术在流水线中的应用。因此该方式较其他两种流水线 技术而言,它的控制比较复杂,主要运用于服务器领域n 。 1 3 研究内容 在面向a s i c 处理器设计这一项目中,本文完成了指令多发射模块的c 语言功能建模, 测试以及r t l 语言编写与功能测试。对造成流水线停顿的原因以及流水级划分等相关问 题进行了研究,制定相关问题的解决策略,并验证了该模块的结构合理性和功能正确性。 设计出指令8 发射功能模块,并根据现有项目应用背景及性能指标,验证通过指令4 发射 功能模块,并用s m i co 1 3 9 m 标准单元库进行逻辑综合,工作频率达3 0 0 m h z 。 论文所做的主要工作如下: l 、对3 2 位m i p s 现有的五级流水线结构进行分析,比较t y p 流水线和超标量流水 线优劣,总结流水线执行效率的瓶颈因素,并进一步分析多发射结构中有利提高流水线执 行效率的可行性。 2 、对基于超标量技术的8 发射流水线的指令发射策略、控制相关、寄存器相关和匹 配策略等流水线结构的重要问题进行深入研究。 3 、几大动态维护策略设计:指令发射队列维护( 蓄水池) ,指令发射序列维护,指令 复发维护,“多对一”地址选通维护,数据顺序写回维护。 4 、以c 语言为基础的软件平台,对8 指令发射模块进行建模工作,模拟硬件环境并 对其逻辑功能进行验证,以逻辑与、逻辑或、算术与、算术或以及选择运算方式实现来提 高代码可移植性,节省开发周期。 5 、对发射4 发射顶层模块进行d c 综合,并以工作频率3 0 0 m h z 为性能指标进行逻 辑布局及延迟调整。在s m i c0 1 3 9 m 工艺标准下,最终调至工作频率为3 0 0 m h z 。 6 、对可配置技术进行分析研究,并在上述已实现的指令8 发射功能为基础的架构平 台上,植入可配置思想,给出8 指令发射在特定应用场景下自适应调整为4 指令发射,关 闭没有执行需求的功能计算单元及屏蔽相关逻辑,以减少此时冗余消耗。 西安理工大学硕士学位论文 1 4 论文结构安排 本文研究了指令发射模块在面向a s i c 处理器的设计中完成多指令并行发射,提高数 据吞吐率的问题,基于基本的提高流水线执行效率的技术,介绍了流水线的种类,以及现 有的相关标量与超标量流水线的技术,分析比较了上述两种流水线技术;分析了在指令发 射模块中上述技术在运用中的各自特点,用c 语言建立了完整功能的行为模型,验证了 其可行性与正确性,将超标量技术以及验证后的行为逻辑相结合移植至r t l 级描述,使 得指令发射模块在提高指令发射并行度的同时,不带来额外的时耗,增加了i p c 。并对指 令发射模块进行了r t l 级功能验证、d c 综合。在以上的工作基础上还提出了发射模式可 配的设计思想。 论文安排如下: 第l 章介绍了在设计指令发射模块中所运用的流水线技术的发展和现状,提出了本 文的研究目的和内容。 第2 章对流水线的种类和相关技术做简单的介绍,并对超标量技术在执行指令发射 功能和配置多样化方面所带来的优势进行了分析,为接下来的讨论奠定了基础。 第3 章对构成指令发射模块的三大模块( 指令缓存、乱序发射和顺序写回) 的实际 应用需求出发,分别从结构设计、策略制定和功能优化入手详细介绍了整个模块的实现过 程,深入的研究和分析了各种避免流水线停顿的相关性判断以及数据预取技术的应用。 第4 章给出指令发射模块功能测试结果。 第5 章结合a s i c 处理器的整体要求以及阶段性应用到的功能,以降低指令发射模 块的功耗、延迟为前提,创新性的提出指令发射模式可配的设计思想,并对模式调整后的 逻辑进行综合评定,给出相关比较数据。 第6 章结论 4 2 基于3 2 位m i p s 架构a s i c 处理器流水线方案研究 2 基于3 2 位川p s 架构a s ic 处理器流水线方案研究 2 1 标流水线简介与局限性分析 2 1 1 标量流水线简介 标量流水线是指只有一条流水线,多个流水级的一条数据处理流,因此所有的指令 都要流经每个流水级。在某个时刻,一个流水级内最多容纳一条指令,而整个流水线内的 所有指令都必须前后紧接、步调一致地在时钟上升沿到来时一步步向前移动。指令在一个 流水级停留的一个时钟周期且不能超过一个时钟周期的时间,这样的动作是连贯的,除非 流水线发生了停顿。5 级标量流水线如图2 - 1 所示h 1 。 图2 - l5 级标量流水线 f i g u r e2 1s c a l a rp i p e l i n e5 一个典型的指令周期可以划分为5 个流水级,分别为取指( i f ,i n s t r u c t i o nf e t c h ) 、 译码( i d ,i n s t r u c t i o nd e c o d e ) 、取操作数( o f ,o p e r a n df e t c h ) 、执行( e x ,i n s t r u c t i o n e x e c u t i o n ) 、写回( w b ,w r i t eb a c k ) 。在流水线执行过程中,指令周期通常从指令的取 指开始,然后进行译码器的译码,决定改指令进行什么样的操作,进入哪个功能计算单元, 运算需要提交什么样的操作数。通常一条指令带有一个或者多个操作数,这些操作数通常 存放在寄存器或者存储器中,还有一些直接以立即数的形式参与运算。一旦检测到所需要 的操作数的有效位有效,就可以执行这条指令规定的操作,即e x 阶段。最后将执行结果 保存起来,即w b 阶段,当下指令周期就结束了。下一条指令将重复整个过程,如果接下 来的指令的运算需求需要用到前列指令的运算结果,那么根据寻址模式取出该值参与运 算,否则该数据没有准备好,当前指令将处于等待重发,整个流水线将处以停顿状态。 2 1 2 局限性分析 流水线技术是提高系统吞吐率的一项强大的实现技术。根据上节分析,我们知道, 标量流水线最大的吞吐率不会超过每周期一条指令,即i p c 不会大于1 ,且将众多类型的 指令送入一条功能有限的流水线中处理更导致了效率的低下,同时也可以想象,当产生流 水线停顿时产生的气泡是不可避免的。因此,标量流水线的性能势必会下降。下面从一个 公式具体分析标量流水线的吞吐率心1 。如图2 一l 所示。 西安理工大学硕士学位论文 性能= ( 1 指令数) 枣( 指令周期) 木( 1 周期时间) = i p c 木频率指令数 图2 一i标量流水线性能公式 f i g u r e2 1f o r m u l as c a l a rp i p e l i n ep e r f o r m a n c e 首先,从上述公式得知,通过减少各个流水级逻辑门的级数可以降低时钟周期以提高主频。 但势必带来大量的硬件开销,将在面积和功耗上不同程度影响设计的合理性和成本的节 约,比如为保持数据而增加的中间级缓存寄存器,再加上处理指令各种相关所带来的时钟 周期的损失,潜在地就降低了处理器平均每条指令执行的周期数。这样,提高主频所带来 的优势便抵消了。其次,在每个时钟周期内标量流水线最多只能流入一条指令进行相应的 操作,所以标量流水线的i p c 不会超过1 。 我们知道,不同类型的指令需要进行的运算需求不同,相关的操作也不同,若将其集 中在一条流水线中执行,不但其实现的可行性低,比较困难而且执行效率也非常低。如图 2 2 所示。 一日曰锢,一卧 图2 2 违反r i s c 殴计原则的浮点运算 f i g u r e2 2v i o l a t i o no fp r i n c i p l e so fr i s cd e s i g no ff l o a t i n g p o i n to p e r a t i o n s 在典型的标量流水线中,每条指令中待执行的操作在i f ,i d 和r d 阶段的操作都是一样的, 但在e x 阶段( a l u 和m e n ) 则会互不相同,包含多种操作,比如浮点运算、定点运算等等。 由于浮点类指令的特殊性,其相应的操作很难与其它指令统一,比如浮点指令和部分定点 指令,尤其在遇到有f a l u 操作时,除了需要多个时钟周期来执行外,其执行操作的延时 还不确定,因此不得不设置多种专用执行部件满足不同指令的执行需求,甚至需要在f u 功能部件的逻辑中插入中间级数据寄存器。 造成流水线停顿的原因有许多,但每次停顿的标量流水线每一级向后传时会导致流水 线气泡,从而搁置了某些流水级。标量流水线中的指令是严格按照时钟节拍,步调一致向 下一级传递,如果流水线不发生停顿,整个指令的执行顺序将不会被打乱,但一旦某条指 令由于和前导指令之间产生了相关性而导致停顿,将搁置了当前指令的后续指令,也因此 必须多出停顿周期的时耗。示意如图2 3 心1 。 6 2 基于3 2 位m i p s 架构a s i c 处理器流水线方案研究 上 图2 3 严格流水线中不必要的停顿周期 f i g u r e2 - 3p a u s es t r i c t l yu n n e c e s s a r yp i p e l i n ec y c l e s 综合上述分析,标量流水线的局限性大大降低了流水线的吞吐率,远远不能满足指令 执行多样化需求,因此从标量流水线衍化到超标量流水线便势在必行,相应的超标量技术 便应运而生。 2 2 超标量技术综述 2 2 1 超标量流水线 超标量流水线是并行执行指令的流水线,某个时刻有多条不同类型的指令在各个流水 级中执行相应操作,从某种意义上出发,超标量流水线可以看做是标量流水线的衍生,它 具备了标量流水线所不具备的优势,消除了标量流水线的各种限制。超标量流水线是并行 的流水线,每个时钟周期可同时独立执行多条指令,大大提高了并行度。由于指令执行需 求越多,势必要求功能计算单元的计算种类越多,即超标量流水线也是多配置的流水线。 其框架模型如图2 - 4 。并行流水线体现在时间和空间上的并行,即在时间上,同一时刻不 同的流水级同时在执行不同的指令操作,不同的流水线之间相同的流水级互不干涉。在空 间上,通过并行配置多个功能计算单元,满足计算需求。显然,时间并行和空间并行相比 较,空间并行要更消耗硬件资源。整个流水线分为5 级流水,和标量流水线中的划分类似, 也存在i f ,i d ,r d ,e x ,w b 阶段,但绝对不是标量流水线简单的叠加,不光流水线的深 度有所增加,并行度也增加了船8 | 。 咽圈骨1v132 i 叫飞刮 l 飘b 4i 图2 - 4 多配置并行流水线 f i g u r e2 - 4c o n f i g u r em u l t i p l ep a r a l l e lp i p e l i n e 从流水线的加速比最终来分析超标量流水线的资源消耗情况,标量流水线的加速比通 常是有针对性来衡量的,是取决于流水线深度的。并行多配置流水线或者超标量流水线的 西安理工大学硕士学位论文 加速比不是光取决于流水线的深度,而是相对标量流水线的加速比来计算,并最终取决于 并行流水线的宽度。假设宽度为x 的流水线,在每个时钟周期内,每个流水级同时可执行 x 条指令,在此基础上,若相对标量流水线的深度一样,则该并行流水线的加速比就为x 。 如图2 5 所示,该并行流水线为深度为6 ,加速比为4 的并行流水线。从分析可知,相对 于标量流水线而言,在并行流水线的每一级流水中处理指令的数量增加了x 倍,相应的每 l f田rda l um e m s v b 图2 5x = 4 的并行流水线 f i g u r e2 - 5 x 2 4p a r a l l e ll i n e s 一级的逻辑复杂度也增加x 倍。从硬件接口和数据选择通路的选择器所需要的硬件消耗方 面考虑,最复杂的情况下,某条指令某一信号的选择范围在l x 2 内变动,因此电路的开 销也将达到0 ( x 2 ) 量级。由于指令的执行判断逻辑是复杂的,多样化的,需要比较选择的, 在硬件实现的过程中,处理各种指令时可能出现的逻辑都必须体现在硬件的物理结构上, 这样才不会导致逻辑判断的失误,造成逻辑功能的缺失。因此,超标量流水线实现其并行 度需要增加大量的硬件资源【14 | 。 多配置流水线本质上是通过增加功能计算单元的数量以及种类来完成指令执行需求。 集中体现在e x 段,该段中对每个功能单元f u 的配置是灵活的,着重根据指令需求从f u 的种类和f u 自身的流水深度出发,可以更高效,更有针对性的配置。配置e x 段的流水级 以及流水深度可根据一类指令特定的计算需求来规划。由上文的分析可知,通过配置多个 f u ,并行流水线解决了单一流水线所造成的低效性n 引。如图2 6 所示。 - - - - - - 1 叫 i fi d r de xw b 图2 - 64 条多配置并行流水线 f i g u r e2 - 6o v e rf o u rp a r a l l e lp i p e l i n ec o n f i g u r a t i o n 多配置流水线也将相关控制的复杂度分散到了各个流水线中。有上述框架图可知,若在分 派缓存前将不同指令间的相关性判断问题解决,那么指令一旦进入各自配置的f u ,就不 2 基于3 2 位m i p s 架构a s i c 处理器流水线方案研究 会因为某些流水线中指令间的相关性而导致停顿。 2 3 基于超标量流水线a s i c 处理器 2 3 1 面向a s i c 处理器整体架构介绍 b r e b a a c h ( i v a i l d 3 2 p c ) 图2 7 面向a s i c 处理器结构框架 f i g u r e2 7a s i cp r o c e s s o ra r c h i t e c t u r ef r a m e w o r k 本次项目的整体结构框架如图2 7 所示。全局结构融合了超标量流水线的并行执行和 多配置的技术,将其优势体现在流水线作业的各个环节。1 、n e x t _ p cc o m p u t e 模块是在整 体模块中的最前端位置( 流水级最浅处) ,用来计算下拍中要取指令的地址,根据这个地 址,就向i c a c h e 中取指。2 、根据p c 中存放的指令地址,将指令有内存取到指令寄存器 中,此过程称为“取指令”。与此同时,p c 中的地址或自动加l 或由转移指针给出下一条 指令的地址。p c 的作用就是控制下一条指令的位置,包括控制跳转。3 、经由i c a c h e ( 即 高速缓冲存储器,它位于c p u 和d r a m 主存之间规模小的速度快的存储器,通常由s r a m 组成。可看作主存与c p u 之间的缓冲适配器,可以高效地完成d r a m 内存和c p u 之间 的速度匹配) 取出到达i t a g c m p 模块。4 、进行i c a c h e 的t a g 比较,最终索引出一条c a c h e l i n e 中的某条指令,若i c a c h e 中没有p c 地址的指令,则发生i c a c h em i s s ,从内存中取出此地 址的指令。5 、经由i r ( 指令寄存器,存储正在执行的指令) 到达d e c o d e 模块,即指令 9 西安理工大学硕士学位论文 解码器。通过译码器才能把这一段机器码转化为控制核心电路工作的信号微码,即把 二进制的程序代码( 软件) 变为硬件的电路控制信号。6 、译码后的8 条指令存入i q ( 指 令队列) ,即分派缓存队列,该队列最多可同时容纳1 6 条指令,也就是可以缓存一拍的时 间。指令在缓存的同时,会进行指令顺序维护、取指指针更新、相关性判断,将选出的不 相关的指令以及从r f ( 寄存器堆) 取出的操作数送往i s s u e 模块。7 、在i s s u e ( 指令发射) 模块中,通过指令f c ( 功能单元号) 来选择将要进入运算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海上风能资源评估技术及深远海风电项目布局策略报告
- 2025年电商绿色物流与物流人才培养报告
- 解析卷-人教版(五四制)6年级数学下册期末试题附参考答案详解(精练)
- 2025至2030年中国办公系统自动化行业发展趋势预测及投资战略咨询报告
- 2025至2030年中国房地产厨卫行业运行态势及未来发展趋势预测报告
- 押题宝典高校教师资格证之《高等教育法规》考试题库带答案详解(a卷)
- 2025年度肉类产品线上线下销售渠道合作协议范本
- 2025版高效节能清包工施工合同文本
- 2025年度环保设备集中采购框架协议范本
- 2025年能源设备采购合同书范本
- 丹凤县棣花镇生活垃圾填埋场建设监理规划
- HG-T 6038-2022 聚乙烯蜡微粉
- 全册(教案)人教精通版英语五年级下册
- 2024年山东高速投资控股限公司校园招聘9人重点基础提升难、易点模拟试题(共500题)附带答案详解
- 中石油吊装安全经验分享
- 法院结案书样本合集3篇
- 游标卡尺使用培训课件
- 《国际中文教育概论》课件 第三章 国际中文教育与跨文化教育
- pvc板材生产工艺流程图
- 进行性肌营养不良症
- 软件使用授权书
评论
0/150
提交评论