RISC和CISC的区别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RISC和CISC的区别
RISC的简介
RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器(如下图)
起源于80年代的MIPS主机,RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
RISC的简单使得在选择如何使用微处理器上的空间时拥有更多的自由。
比起从前,高级语言编译器能产生更有效的代码,因为编译器使用RISC机器上的更小的指令集。
RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。
如:1987年Sun Microsystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。
而SGI公司推出的MIPS处理器则采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。
RISC处理器是当今UNIX领域64位多处理机的主流芯片。
其特点主要有:一,由于指令集简化后,流水线以及常用指令均可用硬件执行;二,采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;三,采用缓存-主存-外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因存储器存取信息而放慢处理
速度。
由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。
RISC芯片的工作频率一般在400MHZ数量级。
时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。
单一指令周期容纳多部并行操作。
在RISC微处理器发展过程中。
曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。
VLIW处理器的基本模型是标量代码的执行模型,使每个机器指令内有多个操作。
有些RISC处理器中也采用少数VLIW指令来提高处理速度。
Pentium 4微处理器体系结构完全采用RISC体系结构。
CISC的简介
CISC是复杂指令系统计算机(Complex Instruction Set Computer)的简称,微处理器是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。
指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。
复杂指令集计算机(Complex Instruction Set Computer,CISC)早期的计算机部件比较昂贵,主频低,运算速度慢。
为了提高运算速度,人们不得不将越来越多的复杂指令加入到指令系统中,以提高计算机的处理效率,这就逐步形成复杂指令集计算机体系。
为了在有限的指令长度内实现更多的指令,人们又设计了操作码扩展。
然后,为了达到操作码扩展的先决条件--减少地址码,设计师又发现了各种寻址方式,如基址寻址、相对寻址等,以最大限度地压缩地址长度,为操作码留出空间。
Intel公司的X86系列CPU是典型的CISC体系的结构,从最初的8086到后来的Pentium系列,每出一代新的CPU,都会有自己新的指令,而为了兼容以前的CPU平台上的软件,旧的CPU的指令集又必须保留,这就使指令的解码系统越来越复杂。
CISC可以有效地减少编译代
码中指令的数目,使取指操作所需要的内存访问数量达到最小化。
此外CISC 可以简化编译器结构,它在处理器指令集中包含了类似于程序设计语言结构的复杂指令,这些复杂指令减少了程序设计语言和机器语言之间的语义差别,而且简化了编译器的结构。
为了支持复杂指令集,CISC通常包括一个复杂的数据通路和一个微程序控制器。
微程序控制器由一个微程序存储器、一个微程序计数器(MicroPC)和地址选择逻辑构成。
在微程序存储器中的每一个字都表示一个控制字,并且包含了一个时钟周期内所有数据通路控制信号的值。
这就意味着控制字中的每一位表示一个数据通路控制线的值。
例如,它可以用于加载寄存器或者选择ALU 中的一个操作。
此外每个处理器指令都由一系列的控制字组成。
当从内存中取出这样的一条指令时,首先把它放在指令寄存器中,然后地址选择逻辑再根据他来确定微程序存储器中相应的控制字顺序起始地址。
当把该起始地址放入MicroPC中后,就从微程序内存中找到相应的控制字,并利用它在数据通路中把数据从一个寄存器传送到另一个寄存器。
由于MicroPC中的地址并发递增来指向下一个控制字,因此对于序列中的每个控制器都会重复一遍这一步骤。
最终,当执行完最后一个控制字时,就从内存中取出一条新的指令,整个过程会重复进行。
由此可见,控制字的数量及时钟周期的数目对于每一条指令都可以是不同的。
因此在CISC中很难实现指令流水操作。
另外,速度相对较慢的微程序存储器需要一个较长的时钟周期。
由于指令流水和短的时钟周期都是快速执行程序的必要条件,因此CISC体系结构对于高效处理器而言不太合适的。
CISC存在的问题:指令系统庞大,指令功能复杂,指令格式、寻址方式多;执行速度慢;难以优化编译,编译程序复杂;80%的指令在20%的运行时间使用;无法并行;无法兼容;
导致CISC指令系统复杂的主要原因:减少语义差距减少存储空间,提高速度为了向上兼容带来的后果电路复杂,编译效率低无法并行;无法兼容典型的CISC产品项目VAX11/780 1978年Intel80386 1985年MC68020 1984年指令条数304 111 101寻址方式24 11 16指令格式变长(2-57byte)变长(1-
17byte)
RISC和CISC的区别
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。
它们的区别在于不同的CPU设计理念和方法。
早期的CPU全部是CISC 架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。
RISC 和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有:
(1)指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。
对不常用的功能,常通过组合指令来完成。
因此,在RISC机器上实现特殊功能时,效率可能较低。
但可以利用流水技术和超标量技术加以改进和弥补。
而CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。
因此,处理特殊任务效率较高。
(2)存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作指令多,操作直接。
(3)程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序社设计相对容易,效率较高。
(4)中断:RISC机器在一条指令执行的适当地方可以响应中断;而CIS C 机器是在一条指令执行结束后响应中断。
(5)CPU:RISCCPU包含有较少的单元电路,因而面积小、功耗低;而CISCCPU包含有丰富的电路单元,因而功能强、面积大、功耗大。
(6)设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC微处理器结构复杂,设计周期长。
(7)用户使用:RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
(8)应用范围:由于RISC指令系统的确定与特定的应用领域有关,故RISC机器更适合于专用机;而CISC机器则更适合于通用机。
从CISC到RISC CISC指令系统存在的问题:20%与80%规律CISC中,大约20%的指令占据了80%的处理机时间。
其余80%指令:使用频度只占20%的处理机运行时间VLSI技术的发展引起的问题VLSI工艺要求规整性,RISC正好适应了VLSI工艺的要求主存与控存的速度相当,简单指令没有必要用微程序实现,复杂指令用微程序实现与用简单指令组成的子程序实现没有多大区别;由于VLSI的集成度迅速提高,使得生产单芯片处理机成为可能。
软硬件的功能分配问题复杂的指令使指令的执行周期大大加长一般CISC处理机的指令平均执行周期都在4以上,有些在10以上CISC增强了指令系统功能,简化了软件,但硬件复杂了,设计周期加长。