(电路与系统专业论文)基于FPGA的32位RISC处理器设计与实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于FPGA的32位RISC处理器设计与实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于FPGA的32位RISC处理器设计与实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于FPGA的32位RISC处理器设计与实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于FPGA的32位RISC处理器设计与实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(电路与系统专业论文)基于FPGA的32位RISC处理器设计与实现[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

中文摘要 随着s o c 技术、i p 技术以及集成电路技术的发展,r i s c 软核处理器的研究 与开发设计开始受到了人们的重视。基于f p g a 的r i s c 软核处理器在各个行业 开始得到了广泛的应用,特别是在一些基于f p g a 的嵌入式系统中有着越来越广 泛的应用前景。 本论文在研究了大量国内外技术文献的基础上,总结了r i s c 处理器发展的 现状与水平。认真分析了r i s c 处理器的基本结构,包括总线结构,流水线处理 的原理,以及流水线数据通路和流水线控制的原理;并详细分析了本设计采用的 指令集m i p s 指令集的内在结构。设计出了一个3 2 位r i s c 软核处理器,这 个软核处理器采用五级流水线结构,能完成加法、减法、逻辑与、逻辑或、左移 右移等算术逻辑操作,以及它们的组合操作。通过软件仿真和在a l t e r a 的f p g a 开发板上进行验证,证明了所设计的3 2 位r i s c 处理器能准确的执行所选用的 m i p s 指令集,运行速度能达到3 0 m h z ,功能良好。 通过对所设计对象特点及其可行性的研究,选用了a l t e r a 公司q u a r t u s i i 软 件作为设计与仿真验证的环境。在设计方法上,本课题采用了自顶向下的设计方 法。在设计过程中采用了边设计边验证这种设计与验证相结合的设计流程,大大 提高了设计的可靠性。本课题在设计过程中还提出了两个有效的设计思路,第一 是在3 2 位寄存器的设计中利用f p g a 的内部r a m 资源来设计,减少了传输延 时,提高了运行速度,并大大减少了对f p g a 内部资源的占用;第二是在系统架 构上采用了柔性化的设计方法,使得设计可以根据实际的需求适当的增减相应的 部件,以达到需求与性能的统一。这两个方法都有效地解决了设计中出现的问题, 提高了处理器的性能。 关键词:r i s c 软核处理器m i p s 指令集数据通路流水线控制 a b s t r a c t w i t ht h ed e v e l o p m e n to fs o ct e c h n o l o g ya n di pa p p l i c a t i o n ,t h es t u d ya n d d e v e l o p m e n tf o rr i s es o f tp r o c e s s o r si sb e i n ga t t a c h e dm o r ea n dm o r ei m p o r t a n c eb y p e o p l e t h er i s es o f tp r o c e s s o r sb a s e df p g ai sg e t t i n g a b r o a da p p l i c a t i o n s , e s p e c i a l l yi nt h ea r e ao f e m b e d d e ds y s t e m sb a s e df p g a o nt h eb a s i co fs t u d y i n ga v a i l a b l er e l a t e dr e f e r e n c e s ,t h ed e v e l o p m e n ts t a t u sa n d a p p l i c a t i o nl e v e lo fr i s ei sc o c l u d e d t h eb a s i ca r c h i t e c t u r eo fr i s ei sc a r e f u l l y a n a l y s e d ,i n c l u d i n gt h eb u ss t r u c t u r e ,t h ec o c e p to fp i p e l i n i n ga n dt h ep r i n c i p l eo f p i p e l i n e dd a t a p a t ha n dp i p e l i n e dc o n t r 0 1 t h es t r u c t u r eo fm i p s i n s t r u c t i o ns e ti sa l s o p a r t i c u l a r l ya n a l y s e d ,a n du s e da st h ei n s t r u c t i o ns e to ft h i sd e s i g n i nt h i sp a p e r , a 3 2 - b i t sr i s cs o f tp r o c e s s o rw i t hf i v ep i p e l i n es t a g e si sd e s i g n e d t h i sp r o c e s s o rc a n r u nt h eo p e r a t i o n so fa d d i t i o n ,s u b t r a c t i o n ,l o g i ca n d ,l o g i co r , s h i f tl e f t ,s h i rr i g h t , a n dt h e i rc o m b i n a t i o n s t h ed e s i g n e dp r o c e s s o ri sv e r i f i e db ys o t h v a r es i m u l a t i o na n d r e a l i z e di nt h ef p g ad e v e l o p m e n tb o a r d t h e s ev e r i f i c a t i o n st ot h ed e s i g n e ds o f t p r o c e s s o rh a v ep r o v e dt h a tm i p si n s t r u c t i o ns e tc a nb er i g h tl u l la n di t so p e r a t i n g s p e e dc a nr e a c h3 0 m h z a c c o r d i n gt ot h ef e a t u r e sa n dr e q u i r e m e n t so ft h ed e s i g n ,q u a r t u s l l ,t h ef l a g s h i p s o f t w a r eo fa l t e r a ,i si n t r o d u c e da st h ed e s i g na n dv e r i f i c a t i o ne n v i r o n m e n t t h e t o p d o w nd e s i g nm e t h o di su s e da st h em a i nd e s i g nw a yo f t h i sr i s cp r o c e s s o r i nt h e d e s i g np r o c e s s ,s i m u l a t i o na n dv e r i f i c a t i o ni sa p p l i e dt oe v e r yd e i s i g ns t a g e t h i s m e t h o dc a nh e a v i l yi n c r e a s et h er e l i a b i l i t yo ft h ed e s i g n e dp r o c e s s o r t w op r a c t i c a l m e t h o d sw a sd e v e l o p e di nt h ed e s i g np r o c e s s t h ef i r s ti st h a tr a m so ff p g a i s u s e dt od e s i g n3 2b i t sr e g i s t e r s ,w h i c hr e d u c e st h et i m ep r o p a g a t i o nd e l a yo ft h e r e g i s t e r sa n di n c r e a s e st h eo p e r a t i n gs p e e d ,w h a t sm o r e ,c u t t i n gd o w nt h eu s a g eo f t h er e s o u r c ei nf p g a t h es e c o n di st h a tt h ef l e x i b l ed e s i g nw a yw a si n t r o d u c e dt o t h ed e s i g np r o c e s s i n g ,w h i c hb r i n g st h a ts o m ec o m p o n e n t so ft h ed e s i g n e dp r o c e s s o r c o u l db ea d d e do rc u td o w nt om e e tp a r t i c u l a rr e q u i r e m e n t t h e s em e t h o d sc a ns o l v e t h ea p p e a r e dp r o b l e m sa n di n c r e a s et h ep e r f o r m a n c eo f t h es o f tp r o c e s s o r k e yw o r d s :r 1 s cs o f tp r o c e s s o r , m 1 p si n s t r u c t i o ns e t ,d a t a p a t h ,p i p e l i n e d c o n t r o l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤生蠢茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的况明并表示了谢意。 学位论文作者签名:1 r 广二磊 签字同期:缈乡哞月,护日 学位论文版权使用授权书 本学位论文作者完全了解:墨鲞盘堂有关保留、使用学位论文的规定。 特授权叁生盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权况明) 学位论文作者躲矿7 欲 签字同期:勿柝月0 同 导师签名 j 象芽肜饼 j 签字同期:二铆步年,月护日 第一章绪论 第一章绪论 1 1r i s c 技术的发展与现状 长期以来,计算机性能的提高往往是通过增加硬件的复杂性来获得。随着集 成电路技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师 采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式,致使硬件 越来越复杂,造价也相应提高。这种设计的型式被称为复杂指令集计算机 ( c o m p l e xi n s t r u c t i o ns e tc o m p u t e r ) 结构,简称c i s c 【l 】。一般c i s c 计算机所含的 指令数目至少3 0 0 条以上,有的甚至超过5 0 0 条。 采用复杂指令系统的计算机有着较强的处理高级语言的能力,这对提高计算 机的性能是有益的。当计算机的设计沿着这条道路发展时,有些人没有随波逐流, 他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法。i b m 公司设 在纽约y o r k t o w n 的j h o m a s i w a s o n 研究中心于1 9 7 5 年组织力量研究指令系统的 合理性问题。因为当时已感到,日趋庞杂的指令系统不但不易实现,而且还可能 降低系统性能。1 9 7 9 年以帕特逊教授为首的一批科学家也开始在美国加州大学 伯克莱分校开展这一研究。结果表明c i s c 存在许多缺点:首先,在这种计算机 中各种指令的使用率相差悬殊,如在一个典型程序的运算过程所使用的8 0 指 令只占一个处理器指令系统的2 0 。【i 】事实上最频繁使用的指令是取、存和加法 运算这些最简单的指令。这样一来,长期致力于复杂指令系统的设计,实际上是 在设计一种难得在实践中用得上的指令系统的处理器,同时复杂的指令系统必然 带来结构的复杂性。这不但增加了设计的时间与成本,还容易造成设计失误。因 而针对c i s c 的这些弊病帕特逊等人提出了精简指令的设想,即指令系统应当只 包含那些使用频率很高的少量指令,并提供一些必要的指令以支持操作系统和高 级语言。按照这个原则发展而成的计算机被称为精简指令集计算机( r e d u c e d i n s t r u c t i o ns e tc o m p u t e r ) 结构,简称r i s c 。 r i s c 技术是计算机体系机构发展史上的一次重大变革。r i s c 体系结构为计 算机系统带来了巨大的性能价格比优势,深刻地改变了整个计算机工业的面貌。 从8 0 年代中期至今,单r i s c 处理器的计算机每隔1 2 至1 8 个月运算速度就翻 一番,从8 6 年的1 0 m i p s 发展到9 0 年代初的5 0 m p i s ,而且现在的超过1 0 0 0 m i p s , 这是计算机发展史上性能增长最快的时期。目前,r i s c 系统的性能己全面超过 第一章绪论 了c i s c 系统。j 7 0 年代末至8 0 年代初是r i s c 处理器的早期发展阶段,也就是第一代r i s c 处理器。第一代r i s c 处理器的结构比较简单,速度比较慢,只有几个m i p s 。 主要以i b m8 0 1 、r i s c i 和m i p s 等为代表,其实这些r i s c 处理器均未形成商 品化,但正是这些处理器勾画出新一代r i s c 处理器的基本轮廓,后来推出的各 种r i s c 产品都直接或间接的受到它们的影响。 8 0 年代出现了第二代r i s c 处理器,但从实现技术的角度看,第二代r i s c 处理器与第一代并没有明显的区别,只是由于半导体工艺的改进,提高了器件的 速度和集成度,从而使处理器的性能从原来的几个m i p s 提高到了几十m i p s 。 第二代r i s c 产品很快实现了商品化,并在工作站领域取得了成功,逐步取代了 以c i s c 处理器为核心的工作站。 进入9 0 年代,r i s c 技术的发展势头依然不减,主要的r i s c 公司继续投入 了大量的人力、资金进行开发,在1 9 9 1 年底都先后推出了第三代r i s c 微处理 器,其主要技术特征是采用超级流水线,超标量等指令级并行技术,使整数运算 部件和浮点运算部件各自的指令流水线在每个时钟周期内执行两条指令,使单片 c p u 的运算速度达5 0 至15 0 m i p s 。第三代r i s c 微处理器芯片把r i s c 的性能 价格比推向了新的水平。 现在r i s c 处理器正处于第四代发展阶段,r i s c 处理器的种类也极其繁多, 从低端的r i s c 单片机到应用广泛的a r m 嵌入式处理器,再到功能强大的第四 代s p a r c 处理器a v i v - 9 6 0 0 ,r i s c 技术头体现出了它的强大的生命力。r i s c 处理器的应用范围也从单一的工作站应用延伸到了工业控制、汽车电子、家用电 器、及航空航天等广泛的应用领域。值得一提的是在世纪之交,x i l i n x 和a l t e r a 公司先后推出了各自的r i s c 软核处理器【3 2 】,这种处理器是一种可配置的处理器, 对基于f p g a 的系统开发具有极好的应用价值,现在这种软核处理器已经商品 化。 1 2 研究r i s c 软核处理器的现实意义 随着可编程逻辑芯片与基于i p ( 知识产权) 的s o c 片上系统技术的发展, r i s c 软核处理器的研究与设计越来越受到人们的重视。研究r i s c 软核处理器 的现实意义有以下几方面: ( 1 ) 对基于f p g a 的嵌入式系统的开发具有现实意义。现在f p g a 在各种 嵌入式系统中发挥着越来越大的作用,f p g a 的内部逻辑也越来越复杂,导致了 开发难度的增加。而应用r i s c 软核处理器来没计f p g a 的内部逻辑就可以大大 第一章绪论 降低设计的难度,并可以代替嵌入式系统中的硬处理器,从而可以把系统的大部 分,甚至全部功能都做到一片f p g a 中,使整个系统变得紧凑、小巧,并能提高 系统的稳定性。 ( 2 ) 对基于i p 的s o c 的设计开发具有一定的实用价值。s o c 芯片的设计开 发一般是基于i p 模块的复用来设计的,一个s o c 芯片往往会包括一个内嵌的 r i s c 处理器,用来完成其核心处理功能。r i s c 软核处理器的设计可以很方便的 转化成相应的i p ,从而可以用来设计s o c 芯片。 ( 3 ) 对商用r i s c 处理器的开发具有指导意义。r i s c 软核处理器包括了所 有r i s c 的基本技术,给商用r i s c 处理器的开发提供了一个很好的框架。由于 r i s c 软核处理器在验证与修改上比较方便,并且软核处理器设计完成后,可以 很方便的转化成相应硬处理器的前端设计,因此可以用r i s c 软核处理器的设计 替代原来硬处理器的前端设计,从而节省开发时间,并降低设计难度。 由上可知,研究r i s c 软核处理器是很有现实意义的。 1 3 本课题研究的内容 本课题研究的内容是:通过对r i s c 体系结构的研究,设计一个基于f p g a 的3 2 位r i s c 软核处理器。它采用5 级流水线结构,包括流水线的分支预测结 构以及例外处理等结构。并且它采用了与m i p s 指令集相兼容的指令系统,基本 实现r i s c 处理器的一般功能。本设计的主要内用有: ( 1 ) 顶层逻辑框图的设计。这部分主要是设计顶层的逻辑关系,采用图形 化的设计方法。 ( 2 ) 流水线数据通路模块的设计。这部分主要设计流水线数据通路中各模 块的内部逻辑,包括指令存储器,数据存储器,通用寄存器,算数逻辑单元,以 及流水线寄存器等。 ( 3 ) 流水线控制的设计。这部分主要设计流水线控制各模块的内部逻辑, 包括冒险检测单元,数据转发单元,以及主控单元等。 ( 4 ) 综合验证与性能分析。这部分主要是验证处理器能否正确地执行各种 指令,并分析处理器的整体性能。 本课题研究的目的是希望通过r i s c 处理器软核的设计与实现,来最大限度 的了解r i s c 的核心技术,掌握r i s c 处理器的设计方法,以及掌握r i s c 的指 令系统。为我国能研制出更多的有自主核心技术的芯片做出一点贡献。 第一章绪论 1 4 设计方法与设计工具简介 本课题采用了自顶向下( t o p d o w n ) 的设计方法,也就是先从概念出发设 计出顶层的系统框图,再划分功能模块,然后对各个模块的具体功能分别进行设 计的一种层次化设计方法。 这种设计方法相对于传统的设计方法有很大的优越性。传统的电子系统设计 基本上采用自底向上( b o a o m - o p ) 口”的设计方法,这种方法要求设计者具有丰 富的设计经验。大部分电子系统的设计工作需要设计专家人工完成,同时任何一 次设计方案的修改,都意味着一次详细设计过程的重复,再加上模拟验证速度较 慢,因此无论在设计时问还是在设计精度上都不十分令人满意。采用人工的自底 向上设计方法,已很难满足当今电子系统的设计要求。而自顶向下的设计方法则 有效地实现了设计周期、系统性能和系统成本之问的最佳权衡。设计在尽可能高 的层次上开始进行,从而使设计者能在更大的空问内进行设计搜索,理解整个系 统的工作状态,完成设计的权衡和相关的设计决策。自上而下的设计方法,首先 从系统设计入于,从顶层进行功能方框图划分和结构设计。在方框图一级先进行 仿真和纠错,并在系统级进行验证。然后,用逻辑综合优化工具生成具体的门级 逻辑电路的e d i f ( e l e c t r o n i cd e s i g ni n t e r c h a n g ef o r m a t ,电子设计转换格式) 网 表,对应的物理实现级可以是p c b 板或者是a s i c 芯片。设计的主要仿真和调 试过程是在高层完成,这一方面有利于早期发现结构漫计上的错误,避免设计工 作的浪费,同时也减少了逻辑仿真的工作量。自项向下的设计方法方便了从系统 级划分和管理整个项同;简化了设训队伍的管理;减少了不必要的重复;提高了 设计的一次成功率。同时,自顶向下的设计方法还提供整个设计过程中的各设计 阶段的统一规范管理,包括系统的测试和各层次的模拟验证等。 本课题的具体设计流程如图1 1 所示,先从总体上设计出处理器的数据通路 与控制部分,这部分采用图形模块进行设计;再对备模块进行单独设计,这部分 用v h d l 硬件描述语言编写,单模块设计好后再进行单模块的仿真,并针对仿 真出现的不足来修改模块内部逻辑;最后是总体卜的仿真验证,主要通过编写测 试程序来测试总体的性能,并根据出现的问题来修改或是增减顶层逻辑模块。采 用这种循环的设计流程可以有效地排除系统的问题,以使处理器的性能达到最 用这种循环的设计流程可以有效地排除系统的问题,以使处理器的性能达到最 优。 第一章绪论 图1 - 1 设计流程 本课题采用v h d l 作为硬件描述语言,使用a l t e r a 公司的q u a r t u s l l 软件进 行设计、综合与仿真验证。a l t e r a 公司的q u a r t u s l i 软件极好的支持了自顶向下的 设计理念,为自顶向下的设计方法提供了方便而有效的设计工具,并能让设计的 各层衔接得相当的紧密,而又显得层次分明。而且q u a r t u s n 还能很好的支持 v h d l 硬件描述语言,可以对v h d l 描述的实体进行编译仿真验证,并且能把 编译的结果烧录到a l t e r a 的f p g a 中。q u a r t u s l i 软件还提供了一些实用方便的 可配置的模块,使用它们可以大大方便设计的进行。 第二章r i s c 体系结构 第二章r i s c 体系结构 2 1r i s c 体系结构概述 2 1 1r i s c 体系结构的特点 r i s c 体系结构的特点是指令精少、格式规整,操作和控制简捷4 1 。具体有 以下几方而: i ) 采用精简的指令集 r i s c 体系结构采用精简的、长度一致的指令集,使大多数的操作获得了尽 可能高的效率。某些在传统结构中要用到的多周期指令实现的操作,在r i s c 体 系结构中通过机器语言编程,就代之以多条单周期指令了。精简的指令集大大改 善了处理器的性能,并推动了r i s c 的设计。通常r i s c 的指令数很少,一般不 超过1 2 8 条。寻址方式少,一般不超过4 种。指令格式也相当的少,一般不超过 4 种。处理器关于扩充指令的建议是非常慎重的,要经过认真地权衡、验证,再 看它们是否能真正提高计算机的性能。例如,m i p s 采用了一条规则:增加一条 指令必须使眭能在一定的应用范围内得到1 的增益,否则这条指令将被拒绝。 2 ) 所有的指令都在一个周期内完成,且指令长度相等 如果每一条指令要执行的任务既简单又明了,则执行每一条指令的时间可以 被压缩,周期数也可以减少。r i s c 的设计目标是实现一个周期执行一条指令, 使系统操作更加有效。实现这个日标的技术包括指令流水线及特定的装存结构 等。典型的指令可包括取指、译码、执行和存结果等阶段。单周期的操作只有通 过标准长度的指令来实现。标准指令长短应与计算机系统的基本字长相等,通常 与系统中数据总线长度相等。 3 ) 指令流水线 减少执行一条指令所需周期数的方法是重叠执行多条指令。指令流水线将每 6 第二章r i s c 体系结构 条指令的执行分为几个离散部分,然后同时执行多条指令。任何指令的取指和执 行阶段占据相同的时间,理想是一个周期。这可以说是r i s c 体系结构中最重要 的一条设计原则。所有每一条指令都以相同的步调执行,无等待的指令。r i s c 处理器始终都是忙的。 有关流水线结构在2 3 节将会有详尽的阐述,这里就不再赘述。 4 ) 装入和存数( l o a d s t o r e ) 结构 执行与内存有关的操作指令,不是要求增加每个周期的时间,就是要求增加 指令的周期,二者必取其一。因为这些指令要计算操作数的地址,将所需的操作 从内存中读出,计算得出结果,在把结果送回内存,所以它们执行的时间就长得 多。为了消除这种指令的副作用,r i s c 体系结构采用了装入和存数结构:即只 有装入( l o a d ) 和存数( s t o r e ) 指令才能访问内存,所有其它操作只能访问保 存在处理器内部寄存器中的操作数。这样做有以下几个好处: 减少访问内存的次数,降低了对内存带宽的要求。 将所有的操作限制于寄存器,有助于指令集的简化。 取消内存操作可使编译器优化寄存器的分配更容易这种特性 减少对内存的存取,同时也减少了每一任务的指令数。 所有这些都有助于r i s c 实现每个周期执行一条指令的目标。尽管如此,装 入和存数指令仍阻碍着r i s c 设计目标的实现。用优化编译技术处理装入和分支 指令的延迟,有助于问题的解决。编译器要求能分析数据和控制流,并在此基础 上调整指令的执行顺序,巧妙安排寄存器的用法。这样可以提高寄存器中所保存 数据的利用率,减少访问内存次数,缩短数据通路的长度。 5 ) 拥有较大的寄存器组 为了便于实现多数指令在寄存器之间的操作,即所谓的寄存器到寄存器的操 作,处理器中必须有足够量的通用寄存器。足量的寄存器使得在随后操作中所需 的中间变量能暂存于处理器的寄存器中,因而就减少了对内存的装入和存数,加 快了运行速度。工业化的r i s c 系统中至少采用3 2 个通用寄存器。 6 ) 采用硬连线控制 由于微程序设计给设计者提供的灵活性,许多c i s c 系统是微程序控制的。 第二章r i s c 体系结构 不同的指令通常具有不同长度的微程序,这意味着每条指令执行的周期数不一 样,这与所有指令一致的流水线处理原则相矛盾。但这可以由硬连线控制来解决, 而且速度会更快。因此r i s c 体系结构应该是硬连线控制的。采用硬连线控制可 使r i s c 系统控制器变得简单。设计的简单又使机器的布局更加合理,使得设计 者可以集中精力去优化哪些剩下的,为数不多的,但又很关键的处理器特性。简 化的结构使芯片上面积资源紧张的状态得以缓解,一些对性能至关重要的结构, 像大的寄存器单元,转换查找缓存协处理器和乘除单元都可以发挥的更有效。 7 ) 采用哈佛( h a r v a r d ) 总线结构 r i s c 体系结构的总线结构都是采用哈佛总线结构的,即数据总线和程序总 线相分离的总线方式。采用哈佛总线结构是r i s c 体系结构中流水线结构的基础。 关于哈佛总线结构在2 2 节将会有详细阐述。 事实上,r i s c 体系结构并非严格的完全具备上述特点,有些称作r i s c 型 的系统甚至违反了上述的某些方面。上述特点应该被当作一种指导性原则来解释 r i s c 的性质。放宽一点讲,满足这些特点的大部分的系统就能被看作是r i s c 系统。 2 1 2r i s c 体系结构的优缺点 计算机设计者一般有着不同的目标和原则,但下面两条原则对于所有计算机 系统都是适用的,即追求最大的操作速度或最少的执行时间,和追求最低的成本。 而r i s c 体系结构能在保持成本降低的同时能很好的提高速度。r i s c 体系结构 的优点有以下几方面: 1 ) 适用于v l s i ( v e r yl a r g es c a l ei n t e g r a t i o n ) 工艺1 由于r i s c 指令集比较精简,是指只需相对小而简单的控制单元的译码和硬 件执行子系统。这使得控制单元所占的芯片的面积大为减少,如r i s ci i 站1 0 , 而通常c i s c 占5 0 以上。因而,在r i s cv l s i 芯片中留下更多可用空间,使得 整个处理器包括其它部件都可以做在一块芯片上。并且由于控制区域的减少就可 以在芯片上安放大量的寄存器,如r i s ci i 是1 3 8 个。这也_ 有利于使用g a a s ( 砷 化镓) v l s i 芯片的实现技术,适于制造密度较高的芯片。 第二章r i s c 体系结构 2 ) 速度高 r i s c 体系结构的特点之一是指令流水线,而指令长短和执行时间的一致性, 使流水线中等待和保持时间达到最小。这对提高计算速度很有好处。r i s c 体系 结构中的控制单元比较简单,逻辑门较少,这使得控制信号的传送路径较短,使 得操作速度加快。精简的指令集导致译码系统小而简单,这使得r i s c 的译码速 度加快。硬连线所减少的控制单元使r i s c 比通常的微码程序控制系统执行起来 要快。相对大的寄存器减少了处理器与内存间取指、存数等操作的冲突。大的寄 存器组可用来存储调用过程中传递的参数,存储终端程序的有关信息,否则这些 信息只能保存在内存中。这些都节约了大量的计算机处理时间。总的来看,在功 能大致相同的情况下r i s c 一般是c i s c 处理器速度的2 4 倍。【1 2 】 3 ) 降低了设计成本,提高了可靠性 r i s c 处理器相对小而简单的控制单元使得其设计的时间缩短,这使整个设 计成本降低。短的设计时问使最终产品在设计完成时被废弃的可能性减少。简单 而小的控制单元能减少设计错误,从而提高可靠性。由于指令格式很少,所有的 指令都有规范的长度,所以指令不会越过字界限,也不会跨越虚拟内存中不同的 页,这就排除了虚拟内存管理子系统设计中潜在的困难,从而降低了成本,提高 了可靠性。 4 ) 直接支持高级语言1 从c i s c 向r i s c 演变的过程类似于汇编语言向高级语言的发展过程。用汇 编语言写程序要使用一些精心设计的复杂指令,而高级语言的编写几乎不用复杂 指令。r i s c 在追求精简指令的同时,把体系结构和优化编译的设计紧密结合起 来,使综合结果引起整体性能的改善。如果说r i s c 体系结构得以发展是基于 v l s i 技术和编译技术的提高,那么可以理解为是用复杂的编译代替了复杂的指 令系统,也就是将硬件的难题转移给了软件。 5 ) 使编程者对硬件的把握更为准确 一个更为统一的指令集使用起来比较方便,使得编程者对于硬件的把握更为 准确。并且由于指令数和周期数之间有一个比较严格的对应关系,代码优化的真 第二章r i s c 体系结构 实效果就容易度量。 r i s c 体系结构并不是完美的体系结构,它在众多优点的同时也存在着自身 的缺点,而且r i s c 的缺点与其一些优点直接有关。r i s c 体系结构的主要缺点 有以下几方面: 1 ) 编译后指令的长度较长,内存需求较大 由于r i s c 拥有的指令数少,有些在c i s c 中仅由一条指令完成的功能,在 r i s c 结构中则需要两三条甚至更多的指令,这使r i s c 代码较长,因而r i s c 的 程序需要更多的内存,内存与处理器问的指令冲突也会增加。研究表明,平均丽 言执行同样的功能,一个r i s c 程序要比一个c i s c 程序长3 0 。 同时r i s c 对编译器的要求较高,优化编译器的设计是一项极其复杂而且技 术要求很高的工作,它又必须由r i s c 特定的结构来专门编制,因为没有r i s c 详细的原始资料是不可能产生编译程序的目标代码的。这样第三方公司提供新版 本的软件比较困难,用户选择余地较小,从而增加了软件费用。 2 ) 大寄存器组使寻址复杂,速度降低 r i s c 系统一个有争议的特点是使用了较大的寄存器组。大寄存器组有前述 的优点,但另方面电有缺点。大寄存器组会使寻址时间增加,从而降低了r i s c 系统的速度。处理器的寄存器组到底应该多大还有待讨论,大寄存器组还可以由 高速缓存( c a c h e ) 代替。大寄存器的不足主要表现为:存取时间长i 寄存器组 占用的芯片面积较大;不适应先进的编译技术等。 3 ) 硬连线控制不够灵活 许多r i s c 中的硬连线控制不够灵活,出现错误的可能性较大,不易发现和 修改错误,处理复杂指令也比较困难。 由上可知,r i s c 既有优点也有缺点。对于r i s c ,一开始就有反对意见,争 论也已延续多年。尽管如此,现在商用化的r i s c 处理器已过百种。确实它们中 的许多并非具有r i s c 体系结构的全部特性,但是它们都致力于所有指令的一致 和流水线的处理。 第二章r i s c 体系结构 r i s c 体系结构的诸多优点和较高性能是多方面协调综合的结果。从定制的 v l s i 处理器到编译器,以致操作系统的设计,r i s c 结构的设计都不必太多顾虑 上一代机器软件的兼容性,而通常c i s c 的设计常为兼容性而牺牲了其它许多性 能。 2 2 总线结构 2 2 1 冯诺曼结槲6 】 1 9 4 5 年,冯诺曼首先提出了“存储程序”的概念和二进制原理,后来,人 们把利用这种概念和原理设计的电子计算机系统统称为“冯诺曼型结构”计算 机。冯诺曼结构的处理器使用同一个存储器,经由同一个总线传输,如图2 1 所示: 图2 1 冯诺曼结构 冯诺曼结构处理器具有以下几个特点: 必须有一个存储器; 必须有一个控制器; 必须有一个运算器,用于完成算术运算和逻辑运算; 必须有输入和输出设备,用于进行人机通信。 冯诺曼的主要贡献就是提出并实现了“存储程序”的概念。由于指令和数 据都是二进制码,指令和操作数的地址又密切相关,因此,当初选择这种结构是 自然的。但是这种指令和数据共享同一总线的结构,使得信息流的传输成为限制 计算机性能的瓶颈,影响了数据处理速度的提高。 在典型情况下,完成一条指令需要3 个步骤,即:取指令、指令译码和执行 指令。举一个最简单的对存储器进行读写操作的指令,如图2 2 所示,指令l 至 第二章r i s c 体系结构 指令3 均为存、取数指令,对冯诺曼结构处理器,由于取指令和存取数据要从 同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完 成后再进行下个。 时钟厂j 1 j 1 _ 厂厂乙厂l 厂 _ _ l ,h 指令1l 取指令译码执行lli 指令2l 取指令译码执行i 指令3 i; 取指令译码执行:i 图2 - 2 冯诺曼结构处理器指令流的定时关系示意图 2 2 2 哈佛结构 传统的计算机大多采用冯诺曼总线结构,但这种总线结构不支持流水线操 作,效率比较低。所以现代的r i s c 处理器以及数字信号处理器等大多采用哈佛 总线结构。如图2 - 3 所示。它是r i s c 体系结构中流水线结构的基础。 程序总线数据总线 i 厂i 斗 豳曲豳 图2 - 3 哈佛结构 与冯诺曼结构处理器比较,哈佛结构处理器有两个明显的特点: 使用两个独立的存储器模块,分别存储指令和数据,每个存储模块 都不允许指令和数据并存; 使用独立的两条总线,分别作为c p u 与每个存储器之间的专用通信 路径,而这两条总线之间毫无关联。 在典型情况下,完成一条指令需要3 个步骤,即:取指令、指令译码和执行 指令。从指令流的定时关系也可看出冯诺曼结构与哈佛结构处理方式的差别。 对于图2 2 所示的例子采用哈佛结构处理同样的3 条存取数指令,其流程如图2 4 第二章r i s c 体系结构 所示,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条 指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。 时钟 指令1 指令2 指令3 。厂 广 厂 厂 厂 厂 : : : j : :取指等译硎执行 : l;取措辞译刊执钱 l 取指令译码执行 图2 4 哈佛结构处理器指令流的定时关系示意图 2 3m i p s 指令系统 2 3 3m i p s 指令集概述 指令集是衔接硬件与软件的桥梁,指令集的好坏直接影响着计算机的性能及 其开发成本。在众多类型的r i s c 体系结构中,m i p s 指令集( m i c r o p r o c e s s o r w i t h o u ti n t e r l o c k e dp i p e l i n es t a g e s 无互锁流水线级的微处理机) 是相当成功的 种。自从1 9 8 3 年j o h nh e n n e s s y 在斯坦福大学成功地完成了第一个采用r i s c 理 念的m i p s 微处理器以来,基于m i p s 构架的c p u 在网络、通信、多媒体娱乐等 领域得到了广泛应用。c i s c o 的路由器,i b m 的网络彩色打印机,h p 的4 0 0 0 、 5 0 0 0 、8 0 0 0 、9 0 0 0 系列激光打印机及扫描仪,s o n y 的p l a y s t a t i o n 和p l a y s t a t i o n2 游戏机等等,都是应用了m i p s 指令集的微处理器的产品。【明 m i p s 指令集是规整的3 2 位结构,即每条指令的长度都是3 2 位的。这种简 单规整的结构适合流水线操作,使处理器的执行效率得到提高。m i p s 指令集的 指令格式很少,只有3 种,分别是r 型,i 型和j 型。它只有取数( 1 0 a d ) 和存 数( s t o r e ) 两个指令才能访问内存,其它所有的算术逻辑操作所用到的变量都从 寄存器中提取,而不直接访问内存。m i p s 指令集的结构决定了它可以访问3 2 个通用寄存器。这些寄存器的名称和功能如表2 1 所示。 表2 - 1m i p s 通用寄存器名称与用途 寄存器名寄存器序号用途 $ z e r o o常数0 i $ v o 一$ v l2 0结果数值 第二章r i s e 体系结构 $ a 0 - $ a 3 4 7参数 s t 0 一$ t 78 1 5临时变量 $ s 0 $ s 71 6 2 3存储数值 $ t 8 一$ t 92 4 2 5临时变量 $ k o $ k l2 6 2 7操作系统用途 $ g p 2 8全局指针 $ s p 2 9堆栈指针 s f p 3 0结构指针 $ r a 3 1返回地址 2 3 4m i p s 指令的类型与结构 m i p s 的指令类型只有3 种,分别是r ( r e # s t ) 型,i ( i m m e d i a t e ) 型和j ( j u m p ) 型。下面将分别说明这3 种指令的结构和用途,并将对本课题用到的 指令作详细说明。 1 ) r 型 r 型指令主要是一些对寄存器进行操作的指令,包括a d d ( 寄存器加法指令) 、 s u b ( 寄存器减法指令) 、a n d ( 寄存器逻辑与指令) 、o r ( 寄存器逻辑或指令) 、s l l ( 寄存器左移指令) 和s r l ( 寄存器右移指令) 等。r 型指令的格式为: 3 1 2 62 5 2 12 0 1 61 5 1 11 0 一65 0 o p :6 b i t s r s :5b i t sr t :5b i t sr d :5b i t ss h a m t :5b i t sf u n t :6 b i t s 符号说明: o p :操作码,r 型指令的操作码为“0 0 0 0 0 0 ”; r s :第一源操作数寄存器; r t :第二源操作数寄存器; r d :目的寄存器; s h a m t :移位数值( 移位指令专用) ; f u n t :功能码,用以对r 型指令的不同功能进行编码; 下面将通过举例说明本课题用到的r 型指令的具体结构: 寄存器加法指令( a d d ) : 例子:a d d $ 1 ,$ 2 ,$ 3意义:$ 1 ;$ 2 + $ 3 指令具体结构: 1 4 第二章r i s c 体系结构 指令格式o pr sr tr ds h a m tf u n t 十进制编码 0231o3 2 二进制编码0 0 0 0 0 00 0 0 1 00 0 0 1 1 0 0 0 0 10 0 0 0 01 0 0 0 0 0 寄存器减法指令( s u b ) : 例子:s u b $ 1 ,$ 2 ,$ 3意义:$ l = $ 2 - $ 3 指令具体结构: 指令格式o p r sr tr ds h a m tf u n t 十进制编码o23lo3 4 二进制编码0 0 0 0 0 00 0 0 1 00 0 0 1 10 0 0 0 10 0 0 0 01 0 0 0 1 0 寄存器逻辑与指令( a i l d ) : 例子:a n d $ 1 ,$ 2 ,$ 3意义:$ 1 = $ 2a n d $ 3 指令具体结构 指令格式o p r sr tr ds h a m tf u n t 十进制编码023103 6 二进制编码0 0 0 0 0 00 0 0 1 00 0 0 1 10 0 0 0 10 0 0 0 01 0 0 1 0 0 寄存器逻辑或指令( o r ) : 例子:o r $ 1 ,$ 2 ,$ 3意义:$ l = $ 2o r $ 3 指令具体结构: 指令格式o pr sr tr ds h a m tf u n t 十进制编码0 2 31o3 4 二进制编码0 0 0 0 0 00 0 0 1 00 0 0 1 10 0 0 0 10 0 0 0 01 0

温馨提示

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

评论

0/150

提交评论