文章目录

  • 复杂指令集计算机(CISC)
  • 精简指令集计算机(RISC)
  • CISC与RISC的区别
  • 参考文章

RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。

复杂指令集计算机(CISC)

长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能 ,傲处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Complex
Instruction Set Computer-CISC)结构.一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条.

精简指令集计算机(RISC)

采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法:IBM公司没在纽约Yorktown的JhomasI.Wason研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能.1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把CISC的全部硬件做在一个芯片上,这也妨碍单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(Reduced Instruction Set Computer-RISC)结构.简称RISC.

CISC与RISC的区别

我们经常谈论有关"PC"与"Macintosh"的话题,但是又有多少人知道以Intel公司X86为核心的PC系列正是基于CISC体系结构,而 Apple公司的Macintosh则是基于RISC体系结构,CISC与RISC到底有何区别?-

  • 从硬件角度来看CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。而RISC执行的是等长精简指令集,CPU在执行指令的时候速度较快且性能稳定。因此在并行处理方面RISC明显优于CISC,RISC可同时执行多条指令,它可将一条指令分割成若干个进程或线程,交由多个处理器同时执行。由于RISC执行的是精简指令集,所以它的制造工艺简单且成本低廉。
  • 从软件角度来看,CISC运行的则是我们所熟识的DOS、Windows操作系统。而且它拥有大量的应用程序。因为全世界有65%以上的软件厂商都理为基于CISC体系结构的PC及其兼容机服务的,象赫赫有名的Microsoft就是其中的一家。而RISC在此方面却显得有些势单力薄。虽然在RISC上也可运行DOS、Windows,但是需要一个翻译过程,所以运行速度要慢许多。
  • 目前CISC与RISC正在逐步走向融合,Pentium Pro、Nx586、K5就是一个最明显的例子,它们的内核都是基于RISC体系结构的。他们接受CISC指令后将其分解分类成RISC指令以便在遇一时间内能够执行多条指令。由此可见,下一代的CPU将融合CISC与RISC两种技术,从软件与硬件方面看二者会取长补短。
  • 复杂指令集CPU内部为将较复杂的指令译码,也就是指令较长,分成几个微指令去执行,正是如此开发程序比较容易(指令多的缘故),但是由于指令复杂,执行工作效率较差,处理数据速度较慢,PC 中 Pentium的结构都为CISC CPU。
  • RISC是精简指令集CPU,指令位数较短,内部还有快速处理指令的电路,使得指令的译码与数据的处理较快,所以执行效率比CISC高,不过,必须经过编译程序的处理,才能发挥它的效率,我所知道的IBM的 Power PC为RISC CPU的结构,CISCO 的CPU也是RISC的结构。
  • 咱们经常见到的PC中的CPU,Pentium-Pro(P6)、Pentium-II,Cyrix的M1、M2、AMD的K5、K6实际上是改进了的CISC,也可以说是结合了CISC和RISC的部分优点。
  • RISC与CISC的主要特征对比
    比较内容 CISC RISC
    指令系统 复杂,庞大 简单,精简
    指令数目 一般大于200 一般小于100
    指令格式 一般大于4 一般小于4
    寻址方式 一般大于4 一般小于4
    指令字长 不固定 等长
    可访存指令 不加限制 只有LOAD/STORE指令
    各种指令使用频率 相差很大 相差不大
    各种指令执行时间 相差很大 绝大多数在一个周期内完成
    优化编译实现 很难 较容易
    程序源代码长度 较短 较长
    控制器实现方式 绝大多数为微程序控制 绝大多数为硬布线控制
    软件系统开发时间 较短 较长

参考文章

risc指令集是什么
百度百科
维基百科

RISC和CISC的区别相关推荐

  1. 带你一步步了解S5PV210-I~ARM历史,RISC和CISC的区别,ARM与三星,华为,高通这些的关系

    首先我们比较直观的对S5PV210的了解就是它的外观,如下图: 这个上面直观的看到几个字母: SAMSUNG(三星,生产厂) S5PV210AH-A0(型号) ARM (内核厂家) 那首先我们就对三星 ...

  2. (计算机组成原理)RISC与CISC的区别

    RISC全称Reduced Instruction Set Compute,精简指令集计算机. CISC全称Complex Instruction Set Computers,复杂指令集计算机. CI ...

  3. CPU的RISC和CISC架构的区别

    CPU的RISC和CISC架构的区别 有关RISC和CISC的区别方面, 之前就有一些零零碎碎的理解, 这里再次做一次总结, 以求深入. CISC架构的代表: x86, C51 RISC架构的代码:a ...

  4. 启明云端分享|ESP32-C3(ESP32­C3­MINI­1)使用的RISC与CISC有什么区别

    马上ESP32-C3(ESP32-­C3-­MINI­-1)就量产出货了,今天我们来说说乐鑫在ESP32-C3上使用的RISC与CISC有什么区别呢? RISC -精简指令集计算机(RISC:Redu ...

  5. RISC 和 CISC 区别

    RISC 和 CISC 是目前设计制造微控制器的两种典型技术,虽然它们都是试图在体系结构.操作运行. 软件硬件.编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同, 因此 ...

  6. 说明 RISC 和 CISC 指令系统的区别?

    说明 RISC 和 CISC 指令系统的区别? CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架 ...

  7. RISC与CISC区别

    一.CISC复杂指令集CPU(300条左右) CISC(complex instruction set computer)体系的设计理念用最少的指令来完成任务,譬如计算乘法或乘加(a乘b+c)只需要一 ...

  8. RISC和CISC,究竟有何不同?

    关注+星标公众号,不错过精彩内容 转自 | 半导体行业观察 关于RISC和CISC处理器的区别,大多数人会认为是一些特性.指令,或者是晶体管数量的差异.但实际上两者之间的差别不能简单的一概而论. 少量 ...

  9. 科普 | 处理器RISC和CISC架构分析对比

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 CISC(复杂指 ...

最新文章

  1. Android自定义EditText去除边框并添加下划线
  2. Git强制覆盖还原本地救火命令
  3. mongodb修改数据语句_mongodb之一些简单的增删改查语句
  4. 查看android手机原生app包名的方法
  5. Linux查看tar实用程序,linux tar指令常用选项
  6. 基于VMware Workstation创建虚拟机,以Ubuntu16.04为例
  7. matlab实验与系统信号实验二,信号与系统上机实验-matlab(第一第二次实验课)new
  8. 权限控制_多租户系统设计之权限控制
  9. hashCode方法的使用
  10. ubuntu软件中心打不开Python error
  11. 漫画:不止于存储的智能云相册
  12. 第三方支付3(易宝支付)
  13. Java中的跨站请求伪造
  14. [CATARC_2017] 第一周
  15. Thinkphp仿众图网图片素材/资源下载站源码 自适应手机端
  16. PL7501C原厂双节锂电池充电管理芯片
  17. 【MicroPython ESP32】超低功耗协处理器(ULP):睡眠模式示例详解
  18. spring batch的原则(避免停不下来)
  19. 操作系统复习——进程同步与通信
  20. 1146 mysql_MySQL错误处理--1146错误

热门文章

  1. 外强中干? -- 中国制造业的软肋(转载)
  2. Python-06 数据结构之列表
  3. Study13(从小白到大佬)
  4. Apache入门 篇(二)之apache 2.2.x常用配置解析
  5. Chrome源码剖析 【五】
  6. 没时间解释了快上车!0.04折老司机建站节福利来了
  7. html5 商品分类页面效果zepto
  8. 音乐精灵 - Bandari
  9. fiddler拦截模拟器中app的请求设置方法
  10. 入门 redux 和 @connect 装饰器