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

CPU架构是厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示

早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。比如对于乘法运算,在CISC架构的CPU上,您可能需要这样一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中。将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。这种架构会增加CPU结构的复杂性和对CPU工艺的要求,但对于编译器的开发十分有利。比如上面的例子,C程序中的a*=b就可以直接编译为一条乘法指令。今天只有Intel及其兼容CPU还在使用CISC架构。

RISC架构要求软件来指定各个操作步骤。上面的例子如果要在RISC架构上实现,将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作都必须由软件来实现,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。这种架构可以降低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指令 
各种指令使用频率 相差很大 相差不大 
各种指令执行时间 相差很大 绝大多数在一个周期内完成 
优化编译实现 很难 较容易 
程序源代码长度 较短 较长 
控制器实现方式 绝大多数为微程序控制 绝大多数为硬布线控制 
软件系统开发时间 较短 较长

【软件硬件】精简指令集和复杂指令集的区别相关推荐

  1. 精简指令和复杂指令计算机,CPU精简指令集和复杂指令集的区别

    经常看到计算机课程上介绍PowerPC是采用精简指令集的CPU,酷睿CPU是复杂指令集.那么到底精简指令集和复杂指令集有什么区别呢? 以下内容摘自百度百科: 在计算机指令系统的优化发展过程中,出现过两 ...

  2. 复杂指令集linux,精简指令集和复杂指令集区别

    精简指令集概述 精简指令集计算机(RISC:Reduced Instruction Set Computing RISC)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RIS ...

  3. 计算机体系结构-精简指令集和复杂指令集

    精简指令集(CISV)和复杂指令集(RISC) 一.Intel和AMD可以认为是CISC的典型代表.一条复杂的指令实现复杂的功能,对于编译器的要求低,只需一条指令就可以解决问题.ARM必须将数据加载到 ...

  4. 软件_视频rtmp,rmvb,h265区别

    原创博客地址: 软件_视频rtmp,rmvb,h265区别 h265,h264 视频压缩算法,原始视频是图片流,意味着[[r,g,b],[r,g,b],,]等等,极其占用空间,所以这种数据只能出现内存 ...

  5. 一牛网:MTK软件,硬件芯片资料集锦(datasheet,规格书,原理图,参考设计,SDK等)二

    为了方便大家使用和便捷的找到资料,一牛网论坛把MTK系列芯片资料,整理集成了一个词条页面(http://bbs.16rd.com/citiao.html),小编也在不断的完善此页面,希望能为MTK工作 ...

  6. 企业数超500万家,钉钉宣布进入软件硬件智能化融合的4.0时代

    阿里巴巴钉钉19日晚间在深圳召开2017秋季战略发布会,宣布进入软件硬件智能化融合的钉钉4.0时代.钉钉CEO陈航(花名无招)在会上宣布,截至2017年9月30日,钉钉企业组织数量超过500万家,成为 ...

  7. 趋高智能机器开发工业相机ccd视觉检测系统定制软件硬件

    趋高智能机器开发工业相机ccd视觉检测系统定制软件硬件 视觉处理器集采集卡与处理器于一体.以往计算机速度较慢时,采用视觉处理器加快视觉处理任务.采集卡传输图像到存储器,进而计算分析.当前主流配置的PL ...

  8. 适女化科技(二):让女性更安全的两条技术路径:软件硬件化与硬件软件化...

    在本系列第一篇中,我们从生物性别和社会性别的角度,简要归纳了一些女性在马斯洛需求层次中的不同诉求. 按照该理论,高级需求出现之前,必须要先满足低级需求,既生理和安全需求.尽管生存需求被认为是低级需求, ...

  9. 硬件中断和软中断的区别

    中断 中断指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程.即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情 ...

最新文章

  1. android 获取图片
  2. 浙江大学人工智能研究所:AI+X驱动科学发现
  3. 电气实现:蒙特卡洛法 模拟多台电动汽车有序充放电负荷和(python实现)
  4. K8S集群Master高可用实践
  5. Redis与关系型数据库的同步问题
  6. python爬取百度翻译返回:{'error': 997, 'from': 'zh', 'to': 'en', 'query 问题
  7. Windows版Mysql5.6.11的安装与配置
  8. 基于html5 Canvas图表库 : ECharts
  9. c++ 调用meshlab程序慢_从Meshlab学架构
  10. EPLAN教程——工具栏详解(1)自定义工具栏
  11. 集成Ueditor秀米
  12. MacBook Pro App Store无法下载和更新软件解决方案
  13. oracle11g 空闲时间,ORA-02396: 超出最大空闲时间, 请重新连接
  14. portraiture4图片修图磨皮滤镜插件支持Win和Mac
  15. Word文档中插入的图片显示不全、嵌入式图片显示不全解决方法,仅设置图片为单倍行距方法
  16. “圣母”程心VS“暴君”维德
  17. 大学物理电磁学——磁场两条定理
  18. 今天端午节了,哈哈。。。
  19. 单片机程序烧录的3种方式(ISP、ICP、IAP)是什么?
  20. Word转CHM方法

热门文章

  1. Vue中router-view和子路由的使用方法
  2. CSS gradient渐变之webkit核心浏览器下的使用
  3. 康瞳新零售护眼产品新系统 零售商城
  4. 《转》禅意设计:网络简洁设计的缘起和未来
  5. AirDisk存宝 【S3和S6后面的USB口是用来干嘛的?有什么作用?】
  6. applewatch与服务器连接中断,千万不要买AppleWatch的5个原因!
  7. 数据分析6_视频游戏销售分析_kaggle入门
  8. ArcGIS中统计渔网中栅格人口密度
  9. ubuntu16.04安装xmind8
  10. 两性离子洗涤剂的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告