浅谈RISC技术
- 格式:doc
- 大小:46.00 KB
- 文档页数:5
浅谈RISC技术发展状况及前景
摘要:精简指令系统计算机(简称RISC)的主要特点是CPU的指令集大大简化,用简单的指令来提高机器的性能,特别是提高CPU执行程序的速度。本文介绍了RISC技术的起源和它的技术要点,并介绍了它的优缺点,以及RISC技术的发展状况和应用前景。
关键词:RISC 技术要点 优缺点 发展状况 应用前景
Abstract:Reduced instruction system computer (RISC) whose main
characteristic is that the set of instructions of CPU is simpliftied ,
use simple simplifies the instructions to improve the performance of the
machine, especially the speed of increase CPU execution procedures. The
paper introduces the origin and the technical key points of RISC, and
introduces its advantages and disadvantages, and status of development
and application prospect.
Key words: RISC, the technical key points , advantages and disadvantages,
status of development, application prospect
一、 RISC技术的起源
传统的CISC结构(复杂指令系统计算机的简称)采用复杂的指令系统来支持高级语言和操作系统,以达到增强机器功能和提高机器速度的目的,但同时也导致机器的结构特别是机器的指令系统变得越来越庞杂。
到了70年代中期,计算机结构设计者开始感到这种日益庞大复杂的指令系统不但实现起来越来越困难,还有可能降低整个系统的性能。国外一些公司和大学开展了对指令系统合理性的研究。IBM公司从1975年就开始组织力量着手于这方面的研究工作,并试探用减少和精简机器的指令系统的思路来设计算机系统。1979年,美国加州大学伯克利分校以David Patterson为首的研究小组对此作了进一步的研究,并发现了CISC结构和思路存在的许多问题:其一,由于指令系统庞大,寻址方式、指令格式和指令长度都多,不利于自动化技术的设计,且设计成本高,还降低了系统的可靠性;其二,指令的操作复杂,使得执行速度很低,难以优化编译生成真正高效的机器语言程序,也使编译程序本身太长.太复杂;其三,指令系统庞大,各种指令使用频度都不会高,增加了机器设计人员的负担,也降低了系统的性能价格比,等等。针对这些问题,Patterson等人提出了精简指令系统计算机的设想,通过精简指令系统来使计算机结构变得简单、合理、有效,并克服了CISC结构的上述缺点。
进入80年代时,特别是在微型机和小型机已开始走向商品化实用阶段,RISC的结构和思路很快就受到许多公司和大学的重视,同时,对RISC技术的研究和应用也进人了一个崭新的阶段。
二、 RISC技术要点
RISC的特点是指令及其格式精少,操作和控制简捷。具体有下列几个方面。
采用精简的指令集
RISC结构采用精简的,长短划一的指令集,使大多数的操作获得了尽可能高的效率。某些在传统结构中要用多周期指令实现的操作,在R1SC结构中,通过机器语言编程,就代之以多条单周期指令了。精简的指令集大大改善了处理器的性能,并推动了R1SC的设计 所有的指令都在一个时钟周期完成,且指令长度相等。
R1SC的设计目标是实现一个机器周期执行一条指令,使得系统操作更加有效。接近这个目标的技术包括指令流水线及特定的装/存结构等。
典型的指令可包括取指、译码、执行和存缝果等阶段。单周期指可通过让所有指令为标准长短来实现。标准指令长短应与计算机系统的基本字长相等,通常与系统中数据线数相等。在任何取指周期,完整的单个指令要传给CPU。例如,如果基字长是32位,且系统总线的数据部分是32线, 则标准指令长度是32位。
要让所有指令的执行时间一致较困难 有些指令,包含简单的在CPU寄存器上的逻辑操作(清寄存器等),则可容易地在一个CPU 时钟周期内执行;其它指令可能包含内存存取(对内存的读写、取数等)或多周期操作(乘、除等),可能无法在单周期内执行。这给设计者提出了这样的要求:让大多数经常使用的指令碍以在一个单周期内执行。
指令流水线
减少执行一条指令所需周期数的方法是重叠执行多条指令。指令流水线采用这样的工作方式:将每条指令的执行分为几个离散部分,然后同时执行多条指令。任何指令的取指和执行阶段占据相同时间,理想的是一个单周期。这可说是RISC最重要的一条设计原则。所有从内存到CPU执行的指令,都遵循一种恒定的流的形式。每条指令都以同样的步调执行,无等待的指令。CPU始终是忙的。达到流水线操作的必要条件是:标准的,固定长短的指令,它与计算机字长和数据线的字长相等;所有指夸的标准执行时间,最好在一个单CPU 周期内。
装人和存数(LOAD/Store)结构
执行与内存有关的操作指令,不是要求增加每个周期的时间,就是要求增加指令的周期数,二者必取其一 因为这些指令要计算操作数的地址,将所需的操作数从内存中读出,计算得出结果,再把结果送回内存,所以它们执行的时间就长得多。为了消除这种指令的负作用,RISC采用了这样的装入和存数结构:只有装入(Load)和存数(Store)指令才去访问内存,所有其它操作只访问保存在处理器寄存器中的操作数 其优点在于:
· 减少访问内存的次数,降低了对内存带宽的要求。
· 将所有的操作限制于只针对寄存器,帮助了指令集的简化。
· 取消内存操作可使编释器优化寄存的分配更容易—— 这种特性减少对内存的存取,同时也减少了每一任务的指令数。
拥有较大寄存器组
为了便于实现多数指令在寄存器之间的操作,即所谓的寄存器到寄存器操作,必须有足够量的CPU 通用寄存器。足量的寄存器使得在随后操作中需作为操作用的中间结果暂存在CPU 寄存器中,固而就减少了对内存的装入和存数,加快了运行速度。工业化RISC系统中至少采用32个通用CPU 寄存器。
采用硬连线控制
由于微程序设计给设计者提供的灵活性,许多CISC系统是微程序控制的 不同的指令通常具有不同长度的微程序,这意味着每条指令执行的周期数不一样,这与所有指令一致的、流线的处理原则相矛盾。但这可由硬连线控制来解决,而且速度会更快。固此RISC应该是硬连接线控制的。当每条指令与一单条徽指令有一对一相相符合的关系时可有例外,也就是每个微程序由一单个控制字组成 这种设计可与用硬连线控制一样快,一样高效,并使设计者得益于微程序设计的优越性。采用硬连线控制 可使RISC系统控制器简单。设计的简单又使机器的布局更加合理,使得设计者可以集中精力去优化那些剩下的.为数不多的,但又很关键的处理器特性。简化的结构使芯片上面积资源紧张的状态得以缓解,一些对性能至关重要的结构,像大的寄存器元件,转换查找缓存(TLBS)协处理器和乘除单元都可以装在同一块芯片上 这些附加的资源又使处理器增加了很大的性能优势。
三、 RISC技术的优缺点
优点
(1)简化指令系统设计,适合超大规模集成电路实现。由于指令条数相对较少,寻址方式简单,指令格式规整,与CISC结构相比,控制器的译码和执行硬件相对简单,因此VLSI片子中用于实现控制器的这部分面积所占的比例明显减少。
(2)可以提供直接支持高级语言的能力,简化编译程序的设计。指令总数的减少,缩小了编译过程中对功能类似的机器指令进行选择的范围,减轻了对各种寻址方式进行选择、分析和变换的负担,也不必进行指令格式的变换,易于更换或取消指令,且编译程序易于调整指令顺序,以提高程序的运行速度。另外,由于主要操作在寄存器问进行及寄存器窗口的采用,直接支持了子程序和过程调用的高级语言处理。
(3)可提高机器的执行速度和效率,降低设计成本,提高系统的可靠性。指令系统的精简可以加快指令的译码,控制器的简化可以缩短指令的执行延时,访程次数的大大减少,等等,这些都可以提高程序执行的速度。另外,采用相对精简的控制器,缩短了设计周期,减少了最终产品在设计完成之前被作废的可能性,减少了设计错误,所有这些都会降低设计成本。提高系统的可靠性。
缺点
(1)由于指令少,加重了汇编语言程序员的负担,增加了机器语言程序的长度,从而占用了较大的存储空间。
(2)早期的RISC结构对浮点运算的支持不够,对虚拟存储器的支持也不够理想。
(3)相对来说,RISC机器上的编译程序要比CISC机器上的难写。正因为指令简单,RISC结构的性能就依赖于编译程序的有效性,也正因为有大量的寄存器,那么寄存器的分配策略也变得更复杂,等等,这一切都增加了编译程序的复杂性。于是,RISC结构的主要缺点是必须有一个编写很好的编译程序,否则,其结构的潜在优势也发挥不出来。
四、 RISC技术的发展趋势
RISC要达到很高的性能,必须有相应的技术支持。目前,在RISC处理机中的发展趋势是对以下几种关键技术方面进行研究。
延时转移技术——在R1SC处理机中,指令一般采用流水线方式工作。取指令和执行指令并行进行。如果取指令和执行指令各需要一个周期,那么在正常情况下,每一个周期就能执行完一条指令。然而,在遇到转移指令时,流水线就可能断流。采用指令延迟转移技术时,指令序列的调整由编译器自动进行,一般不需要人来干预,且是如果要在目标程序中进行,就很容易引起人们的误解 、
指令取消技术—— 采用指令延叫技术,遇到条件转移指令时,调整指令序列非常困难,在许多情况下找不到可以用来调整的指令。有些RISC处理机采用指令取消技术。在使用指令取消技术的处理机中。所有转移指令和数据变换指令都可以决定下面待执行的指令是否应该取消。如果指令被取消,其效果相当于执行了一条空操作指令,不影响程序的运行环境。为了提高程序的执行效率,应该尽量少取消指令,以保持指令流水线处于充满状态。因此,可以采用如下规则:如果是向后转移(转移的目标地址小于当前程序计数器的值),则在转移不成功时取消下条指令,否则,执行下条指令;如果是向前转移,则正好相反,在转移不成功时执行下一条指令,否则,取消下条指令。
重叠寄存器窗口技术。RISC的指令系统较简单,CISC的一条复杂指令在RISC中通常要用一段子程序来实现。因此,RISC程序的CALL和RETURN指令要比CISC程序中的多。在执行CALL指令时,必须把硬件现场(主要包括程序计数器和处理机状态)和程序本身的软件现场(主要指在子程序中要使用的通用寄存器等)保存到主存储器中。另外,还要把执行子程序所需要的参数从主程序传送过上 在执行RETURN指令时.要做相反的工作,最后把运算结果传送回主程序。因此,执行指令时,访问存储器的信息量非常大。为了使RISC处理机中的指令流水线高效率地工作,尽量不断流,优化编译器必须分析程序的数据流和控制流,当发现指令流有断流可能时,要调整指令序列 对有些可以通过变量重新命名来消除的数据相关,要尽最消除。这样,可以提高流水线的执行效率,缩短程序的执行时间。