(微电子学与固体电子学专业论文)32位mips构架的流水线的逻辑设计.pdf_第1页
(微电子学与固体电子学专业论文)32位mips构架的流水线的逻辑设计.pdf_第2页
(微电子学与固体电子学专业论文)32位mips构架的流水线的逻辑设计.pdf_第3页
(微电子学与固体电子学专业论文)32位mips构架的流水线的逻辑设计.pdf_第4页
(微电子学与固体电子学专业论文)32位mips构架的流水线的逻辑设计.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(微电子学与固体电子学专业论文)32位mips构架的流水线的逻辑设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 r i s c 技术是上世纪8 0 年代发展起来的处理器设计新技术,它的产生对整个 计算机界产生了巨大的影响。目前有r i s c 和c i s c 两大主流技术,而现今使用r i s c 技术的越来越多,其中一个特点就是指令简单,容易译码,使用流水线技术使得 其性能提高很多。m i p s 就是r i s c 的一个很好的版本,它十分适合流水线技术的 运用。 本文对m i p s 构架进行介绍,详细地讨论了寄存器堆、指令集、c a c h e 的设计、 存储单元管理的结构和性能,中断异常的处理。提出解决流水线中结构相关、数 据相关和控制相关问题的有效方法,增加硬件资源来解决流水线中的结构相关问 题,用数据前推法解决了流水线中的数据相关问题,用后退法和动态分支预取技 术( b t b ) 解决了流水线中的控制相关问题,这些方法都能有效地提高流水线的 性能。将流水线设计为五级,合理安排流水线中每级的任务,并对流水线中每个 执行阶段的设计给出了详细的说明和讨论。使用硬件描述语言v e r i l o gh d l 设计出 五级的流水线,并且通过综合,功能仿真和时序仿真。结果表明设计的五级流水 线的功能正确,使得流水线每一周期执行的指令数接近于1 ,其性能也得到提高。 关键词:m i p s 流水线c p u r l s c a b s t r a c t a b s t r a c t r i s ci st h en e wc p ud e s i g nt e c h n o l o g yt h a td e v e l o p e di n1 9 8 0 s ? i t st h ew h o l e c o m p u t e ri n d u s t r yh a v eh a dat r e m e n d o u si m p a c t a tp r e s e n t ,t h e r ea r et w om a i nl i n e s o fr i s ca n dc i s ct e c h n o l o g y , a n dt o d a yt h er i s ct e c h n o l o g yi su s e dm o r ea n dm o r e , w h i c hi sac h a r a c t e r i s t i co fi n s t r u c t i o n ss i m p l e ,e a s yt od e c o d e ,t h eu s eo fp i p e l i m n g t e c h n o l o g ye n a b l e sg r e a t l yi m p r o v e di t sp e r f o r m a n c e m i p sr i s ci sag o o dv e r s i o n ,i t i sv e r ys u i t a b l ef o rt h eu s eo f p i p e l i n i n g m i p sa r c h i t e c t u r ei si n t r o d u c e di nt h i sp a p e r , i n c l u d i n gad e t a i l e dd i s c u s s i o no ft h e r e g i s t e rf i l e ,t h ei n s t r u c t i o ns e t , t h ed e s i g no fc a c h e ,t h es t r u c t u r ea n dp e r f o r m a n c eo f m e m o r ym a n a g e m e n tu n i t , i n t e r r u p t e x c e p t i o n sh a n d l i n g t h e e f f e c t i v ew a y st os o l v e s t r u c t u a lh a z a r d ,c o n t r o lh a z a r d sa n dd a t ah a z a r d sa r eo f f e r e d t h ew a yo fi n c r e a s i n gt h e h a r d w a r er e s o u r c e si su s e dt os o l v et h es t r u c t u r eh a z a r d si nt h ep i p e l i n e ,t h ew a yo fd a t a f o r w a r d si su s e dt or e s o l v ed a t ah a z a r d si nt h ep i p e l i n e ,t h ew a yo fd a t ab a c k f o r w a d sa n d t h ew a yo f b r a n c ht a r g e tb u f f e ra r eu s e dt or e s o l v ec o n t r o lh a z a r d si nt h ep i p e l i n e ,a n d t h ep e r f o r m a n c eo ft h ep i p e l i n ei se f f e c t i v e l yi m p r o v e db yt h e s ew a y s t h en u m b e r s t a g e so fp i p e l i n ei sd e s i g n df o rf i v e ,t h et a s k si ne a c hs t a g eo ft h ep i p e l i n e a r e r e a s o n a b l ya r r a n g e d ,a n dt h ed e s i g no f e a c hs t a g ei nt h ep i p e l i n ei sd e t a i l e d l yd i s c u s s e d a n ds h o w e d t h ed e s i g no ft h ef i v es t a g e sp i p e l i n ei su s e db yh a r d w a r ed e s c r i p t i o n l a n g u a g ev e r i l o gh d l t oa c h i e v e , a n di ti sp a s s e di nt h ep r o c e s so fs y n t h e s i s ,f u n c t i o n a l s i m u l a t i o na n dt i m i n gs i m u l a t i o n t h er e s u l t sa r es h o w e dt h a tt h ef u n c t i o no ft h ed e s i g n o ff i v es t a g e sp i p e l i n ei sc o r r e c t , t h en u m b e ri n s t r u c t i o ne x e c u t e do fe v e r yc y c l ei nt h e p i p e l i n ei sc l o s ea p p r o a c h e dt oo n e ,a n dt h ep e r f o r m a n c eo ft h ep i p e l i n ei si m p r o v e d k e yw o r d :m i p sp i p e l i n e c p ur i s c 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个 人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加 以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研 究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用 过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确 的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:鱼! 塑丝日期2 竺星:! :丝 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 日期2 1 昼:! :! 兰 日期2 丝重! ! :2 第一章绪论 第一章绪论 1 1r i s c 技术 随着集成电路设计和工艺技术的发展,嵌入式系统( s o c ) 已经在p d a 、机 顶盒、手机等信息终端中被广泛应用。它不仅减小了电路尺寸,而且具有成本低 廉,可靠性高,功耗低等优点。可以说嵌入式系统是未来集成电路发展的方向。 而作为嵌入式系统核心的微处理器,是s o c 不可或缺的“心脏 ,微处理器的性 能直接影响整个s o c 的性能。为了提高c p u 的效率和指令执行的并行性,现代微 处理器已经广泛采用流水线设计,对于一些较高性能的c p u 更是采用了多发射的 超流水技术等。所以,c p u 流水线的设计,将成为决定其性能的关键。 r i s c 的设计原则是使系统设计达到最高的有效速度,将那些能对系统性能产 生净增益的功能用硬件实现。其余大部分都用软件实现。它排除了那些实现复杂 功能的复杂指令,所谓“精简”并不是简单的减少,而是保留经验证明的能提高 机器性能的指令,另外还将编译器作为机器的功能。而且r i s c 微处理器使编译器 能够直接访问基本的硬件功能,r i s c 设计的基本目的在于使计算机结构更加简单、 更加合理、更加有效。指令经过精简后,计算机体系结构自然趋于简单。在这个 基础上,还必须克服c i s c 的许多缺点。使得计算机速度更快,程序运行时间缩短。 这样,r i s c 才能以崭新的面貌出现。自从8 0 年代中期r i s c 结构的计算机商品化 以来,全世界几乎所有计算机系统制造厂商都竞相采用,半导体厂商也不断研制 性能越来越强、集成度越来越高的r i s c 微处理器,甚至一向以发展c i s c 而著称 的m o t o r 0 1 a 和i n t e l 公司也同时发展m s c 微处理器产品系列。r i s c 不是一个产 品而是一种设计技术。人们可以根据不同要求选择使用这些设计技术用于各类计 算机系统中,以利于改善和提高机器性能。r i s c 技术的主要设计技巧及其特点分 述如下: ( 1 ) 短周期时间g 为了指令的快速执行,就必须快速选择译码和减小寄存器 存取时间,尽量采用先进工艺技术以缩短机器周期时间,也即提高机器的工作频 率。 ( 2 ) 单周期执行指令:由于r i s c 微处理器的指令经过精选,所有指令长度 都相同。大多数指令都能在一个机器周期内执行完。实际上,大多数r i s c 微处理 器在没有增加并行技术时,平均每条指令执行时间为1 2 5 2 个机器周期时间,而 c i s c 微处理器在相同工艺技术条件下平均执行每条指令需5 8 个机器周期时间, r i s c 微处理器力求达到每一个机器周期时间执行一条指令。单周期执行指令是 2 3 2 位m i p s 构架的流水线的逻辑设计 r i s c 微处理器性能增强的基础,必须简化指令系统和采用流水线技术。 ( 3 ) 1 0 a d ( 取) s t o r e ( 存) 结构:每当一条指令得要访问主存信息时,机器 的执行速度将会降低。r i s c 的l o a d s t o r e 指令只有在访问内存时才使用,所有其它 的指令都是在寄存器内对数据进行运算。一条存取数指令( 1 0 a d ) 从内存将数据取 出放到寄存器中,在那里可以对数据进行快速处理,并把它暂存在寄存器里,以 便将来还要使用。在适当的时候,一条存数指令( s t o r e ) 可将这个数据送回到它 在内存中的地址中去。c i s c 微处理器支持那些直接从内存处理信息的指令。这些 指令需要多个机器周期时间才能完成。r i s c 的设计技术与c i s c 的设计技术相比, 有大量寄存器。由于允许数据在寄存器中保留较长的时间,这样就减少了存取指 令对内存访问的需要。在寄存器中,每当再被使用时不必再次访问内存。这种 l o a d s t o r e 结构通过寄存器对寄存器进行操作的方式乃是获得单周期执行的关键。 ( 4 ) 简单固定格式的指令系统:所有指令采用3 2 位固定长度,寻址方式不 超过三种,简化了逻辑和缩短译码时间。确保单周期执行指令,同时也有利于流 水线操作的执行。这是由于指令的固定格式保证指令译码和取操作能同时进行。 ( 5 ) 不用微码技术:由于r i s c 的设计采用简单。合理的指令系统和简化的 寻址方式。所以排除微代码设计技术,也即不采用微码只读存贮器( r o m ) ,而是 直接在硬件中执行指令,这意味着省去将机器指令转换成原始微码这一中间步骤, 这也就减少了执行一条指令所需要的机器周期个数,这也就节省了芯片的空间使 得可以利用这些节省下来的芯片空间扩展微处理器功能。 ( 6 ) 大寄存器堆:r i s c 微处理器中大量的计算都在a l u 高速寄存器中执行。 由编译器产生、分配和优化寄存器的使用。从而简化流水线结构和使指令周期降 到最小,同时又不访问内存。允许调用的嵌套执行,但这也增加a l u 周期中的寄 存器存取时间和一些选址机构。因此在任务变换中需要较高的开销。 ( 7 ) 哈佛( h a r v a r d ) 总线结构:采用指令和数据高速缓存( c a c h e ) ,利用双总 线动态访问机构。填入执行程序有利于单周期执行指令,又可双倍增加数据带宽 以提高数据吞吐置。在片高速缓存容量的增加将占较大芯片空间,而脱片c a c h e 也 将增加存取延迟时间。 ( 8 ) 高效的流水线操作:当前不论什么结构的微处理器都毫无例外地采用流 水线技术,以达到高速执行指令的能力,因为流水线的每一级都负责执行一个单 个的操作段。比如:指令译码或取操作数。实际上一个流水线微处理器是在同一 时刻对数条指令进行操作。c i s c 微处理器执行指令时效率低,甚至有时会使执行 过程处于短暂的停滞状态。例如,当处理器遇到一条执行时间比预定时间要长的 指令,它必须延长这条指令的操作。这样就要阻止其它指令在流水线中正常执行 流水线操作,直到这条长指令的完成。这种状态除了降低了执行指令效率外,还 迫使设计者将处理器的微结构在硬件上设计得更加复杂,以便对付这些问题。而 第一章绪论 在r i s c 微处理器设计中,它具有对指令执行时间的预测能力,因此它能使流水线 在高效率状态下运行。 ( 9 ) 延迟转移:这可解决指令转移相关问题,它把转移指令与前一条指令交 换位置以避免浪费一个机器周期时间,这不是靠程序员去完成,而是由r i s c 的编 译程序自动完成。这也是r i s c 设计技术一个重要特性。 ( 1 0 ) 硬连线控制:采用少量、简单、固定的硬连线控制逻辑替代微码以实 现减少指令系统。保证短周期、单周期执行指令,但不能处理复杂指令,除在特 定状态机( s t a t e m a c h i n e ) 或使用垂直微码外,不能处理多个l o a d s t o r e 指令。 ( 1 1 ) 重叠寄存器窗口技术:为了简单有效地支持高级语言,r i s c 设计中把 大寄存器堆分成多个重叠寄存器窗口,用以在执行高级语言中的过程调用和返回 于程序的直接转换参数,这样就减少了调用和返回访问主存所消耗的计算时间。 在r i s c 机器中,复杂指令是用子程序来实现的。因此r i s c 程序中的调用数量必 然大大超过c i s c 程序中的调用数量。帕克莱分校的巴斯克特( f o b s s k c t t ) 提出用 重叠寄存器窗1 :3 ( o v e r l a p p i n gr e g i s t e rw i n d o w ) 技术的设计思想。这样就大大减 少调用和返回子程序访问的次数,这是一个极其有效的设计技术。不少砒s c 微处 理器都采用这种技术。 ( 1 2 ) 优化编译程序:编译程序能够分析数据流和控制流,并在这个基础上 调整指令的执行顺序,巧妙安排寄存器的用法。在r i s c 的设计中,内存访问和条 件转移都可能出现与流水线相关的问题,而优化编译器可以替代用复杂、昂贵的 硬件来解决的难题,例如:在访问内存引起的时间延迟,可以通过合理地利用寄 存器使之达到最小影响程度。当一个寄存器的内容要为随后的运算所利用,而又 无须重新从内存那里去取时,优化编译程序可以识别出这种状态。当遭到这样一 些指令,访问内存不可回避时,编译程序能够重新排列这些指令,使得微处理器 在等待把数据调入寄存器的这个时间里,其它有效工作照样执行,并不需要等待 取数据时间。类似地,一个优化编译程序也可以通过使用“延迟转移的方法来 处理无法预期的条件转移,这个技术也是重新安排指令顺序。当微处理器在判断 转移条件时,允许在条件转移后面的指令先执行。虽然流水线和优化编译程序并 不是r i s c 技术所独有,但是这个技术与r i s c 相结合比与c i s c 相结合更加有效。 例如,c i s c 编译程序的设计者必须开发复杂的结构才能保证编译程序从正在被编 译的程序的各个不同点上选择最有效的寻址方式和指令,它们不能像r i s c 可以对 设计相关联的大寄存器进行存取。r i s c 设计的大量寄存器,少而精的指令系统及 单一寻址方式使得它比较容易做到一个较低限度地访问内存的,能够识别顺序计 算的和最有效地利用流水线指令的编译程序。对于r i s c 机器的优化编译程序能够 比较简单的测算由优化带来的节省,因为所有指令执行都只得一个机器周期时间。 另一方面c i s c 机器的优化不得不将指令分成若干种可选择的指令顺序,而每一种 4 3 2 位m i p s 构架的流水线的逻辑设计 顺序的执行都对应不同的执行周期时间。总之,对面向寄存器的指令,l o a d s t o r e 指令和转移指令的简单指令系统由优化编译程序处理非常合理。通过优化使用寄 存器,减少访问内存时间或使寄存器间的操作和访问内存并行执行。优化编译程 序可以解决流水线中的相关处理,同时还可提前执行检验条件,可节省许多不必 要的测试操作。 ( 1 3 ) 增强存贮管理功能:由于r i s c 设计提高了c p u 的性能,这就非常有 必要提供一个快速有效存储管理部件( m h 缸7 ) 来使各存贮层次与处理器的效率相 匹配。在r i s c 设计中存贮层次由大量的芯片寄存器,用于分离数据存贮区和指令 区的高速缓冲存贮器( c a c h e ) ,写缓冲区以及芯片内存管理等部分组成。随着半导 体存贮器的价格下降,密度和速度的提高,促使要设计高性能的存贮层次来支持 r i s c 处理器的速度。存贮管理的目的不仅要处理地址变换和提高缓存的命中率, 而且要能支持多任务环境下的大虚拟空间。 ( 1 4 ) 面向高级语言在r i s c 设计中。不用微码,高级语言可直接由硬件实现。 通过一次编译直接生成由硬件执行的机器代码,这样可提高执行速度。不过程序 员没有可读的汇编语言,适合人工编码。“。 以上列举的r i s c 技术的设计原则和设计技巧,已广泛用于现有的微处理器 中。虽然应用的程度不完全一样,但这些设计方法的选用对提高机器的性能是有 效的。它们已逐渐被越来越多的人所接受,而且已渗透到c i s c 计算机结构中。 1 2m i p s 发展史 m i p s 是世界上很流行的一种r i s c 处理器。m i p s 的意思是“无内部互锁流水 级的微处理器”( m i c r o p r o c e s s o rw i t h o u ti n t e r l o c k e dp i p e ds t a g e s ) ,其机制是尽量利 用软件办法避免流水线中的数据相关问题。它最早是在8 0 年代初期由斯坦福 ( s t a n f o r d ) 大学h e n n e s s y 教授领导的研究小组研制出来的。m i p s 公司的r 系列 就是在此基础上开发的r i s c 工业产品的微处理器,这些系列产品为很多计算机公 司采用构成各种工作站和计算机系统。m i p s 技术公司是美国著名的芯片设计公 司,它采用精简指令系统计算结构( 砒s c ) 来设计芯片。和英特尔采用的复杂指 令系统计算结构( c i s c ) 相比,r i s c 具有设计更简单、设计周期更短等优点,并 可以应用更多先进的技术,开发更快的下一代处理器。 m i p s 是出现最早的商业r i s c 架构芯片之一,新的架构集成了所有原来m i p s 指令集,并增加了许多更强大的功能。1 9 8 6 年推出r 2 0 0 0 处理器,1 9 8 8 年推出 r 3 0 0 0 处理器,1 9 9 1 年推出第一款6 4 位商用微处理器r 4 0 0 0 。之后,又陆续推出 r 8 0 0 0 ( 于1 9 9 4 年) 、r 1 0 0 0 0 ( 于1 9 9 6 年) 和r 1 2 0 0 0 ( 于1 9 9 7 年) 等型号。1 9 9 9 年,m i p s 公司发布m i p s3 2 和m i p s6 4 架构标准。2 0 0 0 年,m i p s 公司发布了针 第一章绪论 对m i p s3 24 k c 的新版本以及未来6 4 位m i p s6 42 0 k c 处理器内核。在m i p s 芯片 的发展过程中,s g i 公司在1 9 9 2 年收购了m i p s 计算机公司,1 9 9 8 年,m i p s 公 司又脱离了s g i ,成为m i p s 技术公司。m i p s 3 24 k c t m 处理器是采用m i p s 技术 特定为片上系统( s y s t e m o n a - c h i p ) 而设计的高性能、低电压3 2 位m i p sr i s c 内 核。采用m i p s 3 2 t m 体系结构,并且具有r 4 0 0 0 存储器管理单元( m f r i7 ) 以及 扩展的优先级模式,使得这个处理器与目前嵌入式领域广泛应用的r 3 0 0 0 和r 4 0 0 0 系列( 3 2 位) 微处理器完全兼容。新的6 4 位m i p s 处理器是r m 9 0 0 0 x 2 ,从“) 【2 这个标记判断,它包含了不是一个而是两个均具有集成二级高速缓存的6 4 位处理 器。r m 9 0 0 0 x 2 主要针对网络基础设施市场,具有集成的d d r 内存控制器和超 高速的h y p e r t r a n s p o r ti o 链接。处理器、内存和i o 均通过分组交叉连接起来 的,可实现高性能、全面高速缓存的统一芯片系统。除通过并行处理提高系统性 能外,r m 9 0 0 0 x 2 还通过将超标量与超流水线技术相结合来提高单个处理器的性 能。6 4 位处理器m 口s6 42 0 k c 的浮点能力强,可以组成不同的系统,从一个处理 器的o c t a n e 工作站到6 4 个处理器的o r i g i n2 0 0 0 服务器,这种c p u 更适合图形工 作站使用。m i p s 最新的r 1 2 0 0 0 芯片已经在s g i 的服务器中得到应用,目前其主 频最大可达4 0 0 m h z 。m i p s 处理器是八十年代中期r i s cc p u 设计的一大热点。 m i p s 是卖的最好的r i s cc p u ,可以从任何地方,如s o n y ,n i n t e n d o 的游戏机, c i s c o 的路由器和s g i 超级计算机,看见m i p s 产品在销售。 目前随着r i s c 体系结构遭到x 8 6 芯片的竞争,m i p s 有可能是起初r i s cc p u 设计中唯一的一个在本世纪盈利的。和英特尔相比,m i p s 的授权费用比较低,也 就为除英特尔外的大多数芯片厂商所采用。m i p s 的系统结构及设计理念比较先 进,其指令系统经过通用处理器指令体系m i p si 、m i p si i 、m i p si i i 、m i p si v 到 m i p sv ,嵌入式指令体系m i p s l 6 、m i p s 3 2 到m i p s 6 4 的发展已经十分成熟。在 设计理念上m i p s 强调软硬件协同提高性能,同时简化硬件设计。中国龙芯2 和前 代产品采用的都是6 4 位m i p s 指令架构,它与大家平常所知道的x 8 6 指令架构互 不兼容,m i p s 指令架构由m i p s 公司所创,属于r i s c 体系。过去,m i p s 架构的 产品多见于工作站领域,索尼p s 2 游戏机所用的“e m o t i o ne n g i n e 也采用m i p s 指令,这些m i p s 处理器的性能都非常强劲,而龙芯2 也属于这个阵营,在软件方 面与上述产品完全兼容。 1 3 1 什么是流水线 1 3 流水线技术 6 3 2 位m d s 构架的流水线的逻辑设计 借鉴了工业流水线制造的思想,现代c p u 也采用了流水线设计。在工业制造 中采用流水线可以提高单位时间的生产量,同样在c p u 中采用流水线设计也有助 于提高c p u 的频率。先让我们以汽车装配为例来解释流水线的工作方式。假设装 配一辆汽车需要4 个步骤: 1 冲压:制作车身外壳和底盘等部件; 2 焊接:将冲压成形后的各部件焊接成车身; 3 涂装:将车身等主要部件清洗、化学处理、打磨、喷漆和烘干; 4 总装:将各部件( 包括发动机和向外采购的零部件) 组装成车。 同时对应地需要冲压、焊接、涂装和总装四个工人。如果不采用流水线,那 么第一辆汽车依次经过上述四个步骤装配完成之后,下一辆汽车才开始进行装配, 最早期的工业制造就是采用的这种原始的方式。但是,某个时段中一辆汽车在进 行装配时,其它三个工人处于闲置状态,显然这是对资源的极大浪费! 有什么办 法让四个工人一起工作呢? 那就是流水线! 在第一辆汽车经过冲压进入焊接工序 的时候,立刻开始进行第二辆汽车的冲压,而不是等到第一辆汽车经过全部四个 工序后才开始。之后的每一辆汽车都是在前一辆冲压完毕后立刻进入冲压工序, 这样在后续生产中就能够保证四个工人一直处于运行状态,不会造成人员的闲置。 这样的生产方式就好似流水川流不息,因此被称为流水线。 c p u 的工作我们也可以大致分为指令的获取、解码、运算和结果的写入四个 步骤,采用流水线设计之后,指令( 好比待装配的汽车) 就可以连续不断地进行 处理。在同一个较长的时间段内,显然拥有流水线设计的c p u 能够处理更多的指 令。 1 3 2 流水线和频率的关系 以上面的例子来说明。假如冲压、焊接、涂装和总装四个过程各自需要1 个 小时,现在我们把这四个工序细化:冲压分为冲压1 ( 外壳) 和冲压2 ( 底盘) 两 个子工序,另外三个工序同样各自分成两个子工序,一共八个子工序。这样一来, 完成每个子工序平均只需要半个小时,因此每隔半个小时就有一辆汽车完成装配, 下线速度提高了一倍! 如果再迸一步细化,一分为二,那么完成每个工序平均只 需要1 5 分钟,即每隔1 5 分钟就有一辆汽车下线,速度又提高了一倍( 单辆汽车 的生产时间仍是4 个小时,但是两辆汽车的生产间隙更小了) 。所以工序分得越细, 单位时间内( 例如8 个小时) 生产的汽车就越多。正是这样,c p u 厂商才试图不 断加长流水线,以利于频率的提升。“” 第一章绪论 7 1 3 3 长流水线的问题 首先,由于现有芯片制造工艺的限制,频率的提升带来高功耗、高发热量的 问题。尽管流水线增长,频率提升的空间相应增大,但是处理器频率提升的其它 瓶颈却无法解决。而且过长的流水线意味着更加复杂的内部结构,生产的良品率 也难以保证。 其次,在c p u 的工作中,指令往往不是孤立的,许多指令按一定的顺序执行 才能完成一个任务。而一旦某个指令在运算过程中发生了错误,或者执行了没有 用的指令,那么其后与之相关的指令就都没有用了。这些指令必须清除掉,然后 再执行其它的指令,c p u 相当于做了许多无用功! 流水线越长,一旦出错影响也 就越大,比如一个指令在最后一级出错,那么可能在后续流水线中的所有指令都 要被清除,n o r t h w o o d 核心处理器要浪费2 0 级工序的时间,而p r e s c o t t 核心处理 器就要浪费3 1 级工序的时间! 再者,由于任何电导体都会产生延时,流水线越长、级数越多就会导致延迟 次数越多,总延时就越大,c p u 完成单个任务的时间就会越长。基于以上两个原 因,人们才常常说p r e s c o t t 核心处理器的效率低下,需要用更大的缓存和更先进的 技术加以弥补。因此我们可以看到低频率p r e s c o t t 核心处理器与同频的n o r t h w o o d 核心处理器相比在性能上比没有什么优势,只有在p r e s c o t t 核心处理器的频率不断 提升之后才能抵消长流水线带来的负面影响并发挥出自身的优势。 1 4 国内c p u 发展情况 我国对c p u 的发展起步较晚,落后于国际水平,技术也不成熟,但是随着国 家近些年来对芯片设计和集成电路设计的大力推动和支持,也取得了不错的成绩。 以下是我们国家研制c p u 的历程: 2 0 0 1 年7 月,由方舟科技研制向公众发布的“方舟1 号 ,其主频为2 0 0 m h z 。 并且更被称为国内首枚具有自主知识产权的3 2 位实用化微处理器( c p u ) 芯片。 2 0 0 2 年9 月2 8 日,中科院计算所宣布中国第一个可以批量投产的通用c p u “龙芯1 号 芯片研制成功。它的成功问世,标志着我国已经结束了在计算机关 键技术领域的“无芯历史,打破了我国长期依赖国外处理器产品的尴尬局面。 其指令系统与国际主流系统m i p s 兼容,定点字长3 2 位,浮点字长6 4 位,最高主 频可达2 6 6 m h z 。此芯片的逻辑设计与版图设计具有完全自主的知识产权。采用该 c p u 的曙光“龙腾服务器同时发布。 2 0 0 2 年1 1 月2 5 日高性能嵌入式3 2 位微处理器神威l 号在上海复旦微电子公 3 2 位m i p s 构架的流水线的逻辑设计 司研制成功,并一次流片成功。 2 0 0 2 年1 2 月,由方舟科技研制向公众发布的“方舟2 号 ,它是一款高性能、 低功耗、高集成度的c p u 芯片。它的主要指标均已达到国际最先进的嵌入式微处 理器产品的水平。这是方舟科技有限公司( 原北京中芯微系统有限公司) 继成功 推出“方舟1 号 之后在c p u 技术上的又一重大突破。 2 0 0 3 年4 月9 日,由苏州国芯、南京熊猫、中芯国际、上海宏力、上海贝岭、 杭州士兰、北京国家集成电路产业化基地、北京大学、清华大学等6 1 家集成电路 企业机构组成的( 中国芯) 产业联盟在南京宣告成立,谋求合力打造中国集成电 路完整产业链。 2 0 0 3 年1 2 月9 日,联想承担的国家网格主节点“深腾6 8 0 0 ”超级计算机正 式研制成功,其实际运算速度达到每秒4 1 8 3 万亿次,全球排名第1 4 位,运行效 率7 8 5 。 2 0 0 5 年4 月1 8 日,“龙芯二号”正式亮相。由中国科学研究院计算技术研究 所研制的中国首个拥有自主知识产权的通用高性能c p u “龙芯二号正式亮相。 “龙芯2 号 是国内首款6 4 位高性能通用c p u 芯片。“龙芯2 号 仍采用0 1 8 微 米c m o st 艺制造,最高频率可达到5 0 0 m h z ,功耗3 5 w ,支持6 4 位l i n u x 操作系统和x - w i n d o w 视窗系统,s p e cc p u 2 0 0 0 分值可达到3 0 0 分以上,是“龙 芯一号实测性能的1 0 到1 5 倍,完全可以媲美i n t e lp c n t i u m3 ,超过1 3 g h z 的 威盛处理器的2 至3 倍。龙芯2 号的主要应用目标是l i n u x 桌面网络终端、低端服 务器、网络防火墙、路由器交换机、多媒体网络终端机、无盘工作站等。最近研 制的龙芯二号增强型c p u ,性能已经达到中低档“奔四 水平。 2 0 0 6 年9 月1 3 日,“6 4 位龙芯2 号增强型处理器芯片设计 ( 简称龙芯2 e ) 通 过科技部验收,该处理器最高主频达到1 0 0 h z ,实测性能超过1 5 g i - i z 奔腾处 理器的水平。同日,其成果“龙芯2 号增强型处理器 通过了科技成果鉴定。 据悉“龙芯3 号将采用6 5 纳米工艺,具有1 6 个核心。2 年开始规划,2 0 0 7 年至2 0 0 9 年进入实施阶段,计划在2 0 1 0 年验收,“争取成为业内第一个1 6 核处 理器 。它是一款多核处理器,至少也是一款四核的产品,并增加专门服务于j a v a 程序的协处理器,以提高l i n u x 环境下j a v a 程序的执行效率,指令缓存追踪技术 等。“龙芯3 号 最终将实现对内峰值每秒5 0 0 1 0 0 0 亿次的计算速度。 1 5 本文所做的工作和内容安排 本文首先对3 2 位m i p s 构架进行了分析,找到了解决流水线中常遇到的结构 相关、数据相关和控制相关的方法。通过硬件描述语言v e r i l o g 实现了5 级流水线 的设计,采用的是指令集是m i p s 3 2 ,并且对本设计进行了综合和仿真验证。 第一章绪论 9 一 另外,本课题由本人在广州鸿芯微电子有限公司所承担的工作所决定的,在 实习的期间,自己去研究m i p s 系统架构以及流水线设计。下面对本课题的内容 安排做简要的描述。本文共分五章: 第一章主要介绍了本文的技术背景和发展情况,如r i s c 技术、m i p s 的发展 史、流水线技术、国内c p u 发展情况等,作为绪论; 第二章对3 2 位m i p s 体系构架进行了介绍,包括m i p s 寄存器堆、指令集、 c a c h e 的设计、协处理器c p 0 以及存储管理单元等; 第三章提出解决流水线中结构相关、数据相关和控制相关的方法,并且对五 级流水线设计的整个过程进行了详细的说明; 第四章对设计出的五级流水线的各个执行阶段进行了时序仿真; 第五章对全文进行总结,得出结论。 第二章3 2 位m i p s 系统结构 2 1 1m p s 处理器 第二章3 2 位m i p s 系统结构 2 13 2 位m i p s 处理器系统结构 3 2 位m i p s 处理器和其它处理器的结构不同,它一共由两个处理部件组成, 一个是3 2 位r i s c 核心c p u ,1 3 另一个是用软件来实现的系统协处理器c p 0 。它 的组成有浮点运算单元、整数运算单元、支持虚拟地址转换的t l b 和c p 0 寄存器、 指令c a c h e 和数据c a c h e 等。如下图2 1 所示: 一 一 i s y s t e m, s - c a c h e d a t ac a c h e , , , i p - - - - p - c a c p , e+k t s t r u c u o n c o n t r o lc o n t r o lc 饼l 嘲 c a c h e 一 二。 王c p u王 f p u王 一 e x c e a t t o n c o n t m i c p ur e g s t e mf p ur e g i s t e m r e g i s m m a l u p i i i n bb y p a s s m e m o r ym a n a g e m e n t r e c j m m m l 粼n i g h e r s t o r ed f w e rf p 醵嚏铆i 譬 t 隆f 荡妇t i o n l i n g e rm 珊峰蜘既刃啊珏凹 f p 踊_ i ,i b 舅 l o o k a s k t e b u f f e 玛 啦c l r e l l 6u n i t l f pa d d ,c o n v m t s q u a r er o o t p c 如c r e m e n t e r +牛 一i 2 1 2m i p s 寄存器堆 2 1 2 1c p u 通用寄存器 图2 1m i p s 系统结构图 1 6 1 2 _ 一 3 2 位m i p s 构架的流水线的逻辑设计 m i p s 3 2 架构中有3 2 个通用寄存器,其中$ 0 ( 无论你怎么设置,这个寄存器中 保存的数据都是o ) 和$ 3 1 ( 保存函数调用j a l 的返回地址) 有着特殊的用途,其它的寄 存器可作为通用寄存器用于任何一条指令中。虽然硬件没有强制性的指定寄存器 使用规则,在实际使用中,这些寄存器的用法都遵循一系列约定。这些约定与硬 件确实无关,约定如下: 5 表2 2 寄存器堆约定 寄存器编号寄存器名用法 0$ z 啪 永远返回值为0 1s a t 保留给汇编器,通常用做汇编器的临时变量 2 3$ v 0 $ v l 表达式计算或者过程调用返回结果 4 7$ a o $ a 3 过程调用参数1 3 8 1 5$ t o - $ t 7 临时变量,过程调用时不需要保存和恢复 1 之3$ s o $ s 7 过程寄存器变量。在过程返回之前,必须保存和恢 复使用过的变量,从而保证调用过程的这些寄存器 值没有变化 2 4 一也5$ t 8 $ t 9 临时变量,过程调用时不需要保存与恢复 2 6 之7 $ k 0 $ k l保留给操作系统核心,通常被中断或例外处理程序 用来保存一些系统参数 2 8 s g p全局指针,一些运行系统维护这个指针来更方便地 存取“s t a t i c “和”e x t e r n ”变量 2 9 s s p 堆栈指针 3 0 $ s 8 $ f p 第9 个过程寄存器变量。过程调用时用做桢指针 3 1 s r a过程的返回地址 2 1 2 2c p u 特殊寄存器 c p u 包含以下3 种特殊寄存器: l 、p c ( p r o g r a mc o u n t e r r e g i s t e r ) :程序计数寄存器,用来保存当前指令地址; 2 h i ( m u l t i p l y a n d d i v i d e r e g i s t e r h i g h e l r e s u l t ) :用来保存乘法指令或者除 法指令的高位结果; 3 l o ( m u l t i p l ya n d d i v i d er e g i s t e rl o w e rr e s u l t ) :用来保存乘法指令或者除 法指令的低位结果。“。 第二章3 2 位m i p s 系统结构 2 1 2 3f p u 寄存器 m i p s 3 2 体系结构中定义了如下几种f p u 寄存器 1 3 2 个3 2 - b r 的浮点寄存器( f p g s ) 2 5 + f p u 控制寄存器用于识别和控制f p u 3 8 个浮点条件代码,它们是f c s r 寄存器中的一部分。 除了c p u 通用寄存器,特殊寄存器外,系统控制协处理器( c p 0 ) 也有很多 专用的寄存器用于存储管理系统和例外情况处理等方面。 2 1 3 指令集 每一条m i p s 指令是一个3 2 位字。m i p s 指令集中共包括三种格式的指令,分 别是立即数类型( i 类型) 指令,跳转类型( j 类型) 指令和寄存器类型( r 类型) 指令。指令集的这种设计方法简化了指令译码,一些复杂的很多使用的操作和寻 址方式可以通过编译器利用一组简单指令来合成。m i p s 的指令格式如图2 3 ,表 2 4 是对指令域的说明。 7 i3至昏2 232 垒 3 垦,3 互套。 l 黎囊l :!i:!i! ! ! 竺!| 65516 3 12 62 52 12 a1615111d6 5d r 囊蠹e 互 三工二 ! 二二圈 囊l 匿| a p l r 暑 r tl r d l 譬a i f u n c l 65 5 556 3 12 62 5a j 樊爨i! !i! :! ! ! !| 6 2 6 图2 3 指令格式 表2 4c p u 指令格式域说明 域 说明 o p 6 位指令主操作码 r d 5 位目的寄存器号码 1 s 5 位源寄存器号码 r t5 位目标( 源目的) 寄存器号码,或在分支指令和其它一些 指令中用来确定指令的功能 1 4 _ 一 3 2 位m i p s 构架的流水线的逻辑设计 i m m e d i a t e1 6 位立即数,用做无符号的逻辑操作数、有符号的算术操作 数、数据加载数据保存指令的数据地址字节偏移量和分支指 令中相对程序计数器的有符号偏移量 t a r g e t2 6 位,在向左移动两位后提供j u m p 指令目标地址的低2 8 位 s a 5 位偏移量 f u n c 6 位功能码,在寄存器类型指令中用来指定指令的功能 m i p s 3 2 指令分为如下几类: ( 1 ) 存储器访问指令( l o a d s t o r e ) :用于在存储器和通用寄存器之间传递数 据,r i s c 体系结构的共同特点是所谓的l o a d s t o r e 结构,即访问存储

温馨提示

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

评论

0/150

提交评论