CISC和RISC的基本概念

2022.08.23

指令系统朝两个截然不同的方向的发展:一是增强原有指令的功能,设置更为复杂的新指令实现软件功能的硬化,这类机器称为复杂指令系统计算机(CISC),典型的有采用 x86 架构的计算机:二是减少指令种类和简化指令功能,提高指令的执行速度,这类机器称为精简指令系统计算机(RISC),典型的有 ARM、MIPS 架构的计算机。

复杂指令系统计算机(CISC)

随着 VLSI 技术的发展,硬件成本不断下降,软件成本不断上升,促使人们在指令系统中增加更多、更复杂的指令,以适应不同的应用领域,这样就构成了复杂指令系统计算机(CISC),

CISC 的主要特点如下:

  1. 指令系统复杂庞大,指令数目一般为200条以上。
  2. 指令的长度不固定,指令格式多,寻址方式多。
  3. 可以访存的指令不受限制。
  4. 各种指令使用频度相差很大。
  5. 各种指令执行时间相差很大,大多数指令需名个时钟周期才能完成。
  6. 控制器大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连线控制。
  7. 难以用优化编译生成高效的目标代码程序。

如此庞大的指令系统,对指令的设计提出了极高的要求,研制周期变得很长。后来人们发现,一味地追求指令系统的复杂和完备程度不是提高计算机性能的唯一途径。对传统 CISC 指令系统的测试表明,各种指令的使用频率相差悬殊,大概只有 20%的比较简单的指令被反复使用,约占路个程序的 80%:而 80%左右的指令则很少使用,约占路个程序的 20%。从这一事实出发,人们开始了对指令系统合理性的研究,于是RISC 随之诞生。

精简指令系统计算机(RISC)

精简指令系统计算机(RISC)的中心思想是要求指令系统简化,尽量使用寄存器-寄存器操作指令,指令格式力求一致。RISC 的主要特点如下:

  1. 选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现。
  2. 指令长度固定,指令格式种类少,寻址方式种类少。
  3. 只有Load/Store(取数/存数)指令访存,其余指令的操作都在寄存器之间进行。
  4. CPU 中通用寄存器的数量相当多
  5. RISC 一定采用指令流水线技术,大部分指令在一个时钟周期内完成。
  6. 以硬布线控制为主,不用或少用微程序控制
  7. 特别重视编译优化工作,以减少程序执行时间。

值得注意的是,从指令系统兼容性看,CISC 大多能实现软件兼容,即高档机包含了低档机的全部指令,并可加以扩充。但 RISC 简化了指令系统,指令条数少,格式也不同于老机器,因此大多数 RISC 机不能与老机器兼容。由于 RISC 具有更强的实用性,因此应该是未来处理器的发展方向。但事实上,当今时代Intel 几乎一统江湖,且早期很多软件都是根据 CISC 设计的,单纯的 RISC 将无法兼容。此外,现代 CISC 结构的 CPU 已经融合了很多 RISC 的成分,其性能差距已经越来越小。CISC 可以提供更多的功能,这是程序设计所需要的。

CISC 和 RISC 的比较

和 CISC 相比,RISC 的优点主要体现在以下几点:

  1. RISC 更能充分利用 VLSI 芯片的面积。CISC 的控制器大多采用微程序控制,其控制存储器在 CPU 芯片内所占的面积达 50%以上,而 RISC 控制器采用组合逻辑控制,其硬布线逻辑只占 CPU 芯片面积的 10%左右.
  2. RISC 更能提高运算速度。RISC 的指令数、寻址方式和指令格式种类少,又设有多个通用寄存器,采用流水线技术,所以运算速度更快,大多数指令在一个时钟周期内完成。
  3. RISC 便于设计,可降低成本,提高可靠性。RISC 指令系统简单,因此机器设计周期短:其逻辑简单,因此可靠性高。
  4. RISC 有利于编译程序代码优化。RISC 指令类型少,寻址方式少,使编译程序容易选择更有效的指令和寻址方式,并适当地调整指令顺序,使得代码执行更高效化。
 CISCRISC
指令系统复杂、庞大简单、精简
指令数目一般大于200一般小于100
指令字长不固定定长
可访存指令不加限制只有Load/Store
各种指令执行时间相差较大绝大多数一个周期内
各种指令使用频度相差很大都很常用
通用寄存器数量较少
优化编译成高效目标代码
控制方式绝大多数微程序对大多数组合逻辑
指令流水线可通过一定方式实现必须实现

例题

  1. 以下叙述中()是正确的。 A. RISC 机一定来用流水技术 B.来用流水技术的机器一定是RISC 机 C. RISC 机的兼容性优于 CISC 机 D. CPU配备很少的通用寄存器

    【答案】:A

  2. 下列描述中,不符合 RISC 指令系统特点的是() A.指令长度固定,指令种类少 B. 寻址方式种类尽量減少,指令功能尽可能强 C. 增加寄存器的数目,以尽量減少访存次数 D. 选取使用频率最高的一些简单指令,以及很有用但不复杂的指令

    【答案】:B。指令功能尽可能简单

  3. 以下有关 RISC 的描述中,正确的是()。 A. 为了实现兼容,新设计的 RISC 是从原来CISC 系统的指令系统中挑选一部分实现的 B.采用RISC 技术后,计算机的体系结构又恢复到了早期的情况 C. RISC 的主要目标是減少指令数,因此允许以增加每条指令的功能的方法来减少指令系统所包含的指令数 D.以上说法都不对

    【答案】:D

  4. 【2009 统考真题】下列关子 RISC的说法中,错误的是()。 A. RISC 普遍采用微程序控制器 B. RISC 大多数指令在一个时钟周期内完成 C. RISC 的内部通用寄存器数量相对 CISC 多 D. RISC 的指令数、寻址方式和指令格式种类相对 CISC 少

    【答案】:A

  5. 【2011 统考真题】下列指令系统的特点中,有利于实现指令流水线的是( ) I. 指令格式规整且长度一致 II.指令和数据按边界对齐存放 III. 只有 Load/Store 指令才能对操作数进行存储访问 A..仅I、II B.仅II、III C仅I、III D. I、II、III

    【答案】:D