RISC 精简指令集

CISC复杂指令集

CISC架构的代表: x86, C51

RISC架构的代码:arm, mips,powerpc, avr, pic

指令集的区别

首先从字面上理解就能知道, CISC(Complex Instruction SetComputer)架构的指令数肯定是远远多于RISC(ReducedInstruction Set Computer)架构的.另外, RISC架构下,不同指令opcode的长度是相等的, 而x86下不同的指令的长度差别很大.

寄存器的区别

CISC架构一般都提供通用寄存器a(x86下为eax),来支持大部分运算指令,但是由于指令太过复杂的原因,并不是所有的寄存器都能支持全部指令的运算,所以汇编代码中会有各种针对eax的mov操作,影响性能.

指令执行所需要的时钟周期

在CISC架构中,不同指令所需要的时钟周期是不同的(比如乘法和加法的周期就不太可能相同).而RISC架构的处理器,大部分的指令都可以在一个时钟周期内完成,这应该可以降低指令流水线设计的复杂度. CISC架构的很多复杂指令都通过CPU内的微码来完成, 这样那些微码比较复杂的指令就需要多个时钟周期才能完成. 指令执行需要的时钟周期不同, 会增加指令流水线优化的难度.

访问内存的区别

RISC在结构设计上是一个载入/存储(load/store)的构架,只有载入和存储指令可以访问内存,数据处理指令只对寄存器的内容进行操作。为了加速程序的运算,RISC会设定多组的寄存器,并且指定特殊用途的寄存器。CISC架构则允许数据处理指令对内存进行操作,因此需要的寄存器数量会比较少.另外X86架构支持cpu对非对齐的内存地址的访问,这在RISC架构的处理器中通常会引起CPU产生异常.其实像类似非对齐内存地址访问的功能, X86也是通过CPU内微码来实现的,效率会大大降低.

寻址方式和IO空间

X86架构下IO空间和内存空间是分开的, IO空间使用完全不同的指令来访问(in, out). RISC架构则不区分IO空间和内存空间,都是直接把IO空间映射到内存空间,直接用内存空间的访问方式来操作. RISC架构下对于寻址方式同样做了精简,几乎所有的指令都使用寄存器寻址.

编译的区别

CISC的指令丰富的优势,使得它的编译器可以少做很多事情,编译器的设计更简单.而RISC在实现一个功能的时候,需要的指令条目数会更多一些,程序也会更大.

总结:

RISC相对于CISC架构来说,是一种较新的技术,由于没有历史负担,不需要考虑向下兼容,所以它的设计可以做的相当的简单而优雅. RISC架构的指令,寄存器和流水线特征使它非常适合于并行计算.可以遇见,未来RISC架构将会越来越大放异彩.

APARC,x86  ARM

sun有自己的cpu 是基于SPARTC, 其实就是一款RISC的CPU

硬件:cpu

最核心的软件产业

1.操作系统

2.编译器

3.数据库

RISC与CISCCPU构架的更多相关文章

  1. risc与cisc

    RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成 ...

  2. 【转帖】MIPS构架:曾经是英特尔的“眼中钉”

    MIPS构架:曾经是英特尔的“眼中钉” https://www.eefocus.com/mcu-dsp/363953 <处理器史话>之十一 2016-06-17 08:02 作者:付丽华预 ...

  3. 【转帖】你知道X86构架,你知道SH构架吗?

    你知道X86构架,你知道SH构架吗? https://www.eefocus.com/mcu-dsp/363100   前面我们讲到了 8 位处理器,32 位处理器,以及 X86 构架,那么除了这些还 ...

  4. .a静态库构架合成

    一.如果类库生成的构架和对应设备的构架不一致,会链接报错 如果项目中使用类库后,遇到形似Undefined symbols for architecture x86_64(x86_64架构下有未定义的 ...

  5. ARM概论(Advanced RISC Machines)

    简介 ARM7是32 位通用微处理器ARM(Advanced RISC Machines)家族中的一员,具有比较低的电源消耗和良好的性价比, 基于(精简指令)RISC结构,指令集和相关的译码机制与微程 ...

  6. Web系统开发构架再思考-前后端的完全分离

    前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...

  7. RISC指令集的五个周期

    RISC指令集的五个周期 RISC(reduced instruction set computer,精简指令集计算机)简称为精简指令集.RISC把执行指令的精力主要放在了经常使用的指令上面.本文主要 ...

  8. 【6集iCore3_ADP触摸屏驱动讲解视频】6-1 工程及程序构架介绍

    视频简介: 该视频由银杏科技有限公司基于iCore3应用开发平台推出,包含 触摸屏驱动工程文件的介绍与程序构架的介绍等.   源视频包下载地址: http://pan.baidu.com/s/1dFz ...

  9. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-2 工程及程序构架介绍

    视频简介: 该视频介绍iCore3应用开发平台出厂源代码中ARM部分程序构架. 源视频包下载地址: http://pan.baidu.com/s/1jHGnc7k   银杏科技优酷视频发布区: htt ...

随机推荐

  1. openstack--7--创建一台虚拟机

    回顾下前几节用到的东西 MySQL:为各个服务提供数据存储RabbitmQ:为各个服务之间提供通信提供交通枢纽Keystone:为各个服务之间通信提供认证和服务注册Glance:为虚拟机提供镜像管理N ...

  2. linux配置 ssh 免密 登录

    1:第一步给每一台电脑生成公私钥 使用   在 root 目录下面 使用  ssh-keygen -t rsa ,然后不停敲回车.就可以生成公私钥.默认放在  .ssh 目录下面. 2:进入.ssh ...

  3. C# 委托、lambda表达式和事件

    什么是委托?委托就是持有一个或多个方法的对象,并且该对象可以执行,可以传递. using System; using System.Collections.Generic; using System. ...

  4. 大数据离线分析平台 用户数据Etl

    Etl目标  解析我们收集的日志数据,将解析后的数据保存到hbase中.这里选择hbase来存储数据的主要原因就是: hbase的宽表结构设计适合我们的这样多种数据格式的数据存储(不同event有不同 ...

  5. WebService安全性的几种实现方法【身份识别】

     转:http://blog.csdn.net/yongping8204/article/details/8619577 WebService安全性的几种实现方法[身份识别] 标签: webservi ...

  6. HTML和CSS的静态页面

    链接:https://pan.baidu.com/s/1fGajigyQJDLIHqxJn2LXsQ 提取码:7sry 复制这段内容后打开百度网盘手机App,操作更方便哦 设计思路,把网页分成几个模块 ...

  7. Winfrom窗体无法关闭问题--检查是否存在重写

    问题描述: Winfrom窗体无法关闭问题----点击关闭/最大/最小化无法正常相应. 问题来源: 老版本的程序要求使用无边框的Form窗体(实现功能——设置为无边框窗体并重写窗体的关闭.最大.最小化 ...

  8. js的命名空间 && 单体模式 && 变量深拷贝和浅拷贝 && 页面弹窗设计

    说在前面:这是我近期开发或者看书遇到的一些点,觉得还是蛮重要的. 一.为你的 JavaScript 对象提供命名空间 <!DOCTYPE html> <html> <he ...

  9. maven使用配置

    一.maven常用的命令 maven通过命令对工程进行编译.测试.打包.发布.运行(基本的顺序) mvn compile:编译 mvn clean:清理,将target下的class文件清理 mvn ...

  10. python3 urllib模块使用

    urllib模块使用 urllib.request urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=N ...