CISC的特点:

  • 指令系统庞大,指令功能复杂,指令寻址方式多,指令格式多
  • 绝大多数指令须要多个机器周期完毕
  • 各种指令都能够訪问存储器
  • 採用微程序控制
  • 有专用寄存器,少量
  • 难以用优化编译技术生成高效的目标代码程序

RISC特点:

  • 大多数指令在单周期内完毕
  • LOAD/STORE结构
  • 硬布线控制逻辑
  • 降低指令和寻址方式的种类
  • 固定的指令格式
  • 注重编译的优化(三地址指令格式、较多的寄存器、对称的指令格式)

*我觉得RISC与CISC的不同之处在于指令精简、寻址方式降低以及注重编译优化,这要得益于二八法则(CISC中,大约20%的指令占领了80%的处理机时间。其余80%指令使用频度仅仅占20%的处理机执行时间)。RISC比CISC快3倍左右。主要取决于CPI(每条指令执行的平均周期数)。

在RISC中CPI近乎1。

RISC的设计原则:

  • 使用频度非常高的指令
  • 大大降低寻址方式
  • 全部指令在一个机器周期内完毕
  • 扩大通用寄存器个数
  • 採用硬联控制实现
  • 通过精简指令和优化设计编译程序,以简单有效的方式支持高级语言

RISC结构採用的基本技术:

  • 在逻辑上採用硬联实现和微程序固件实现相结合的技术
  • 在CPU中设置数量较大的寄存器组,并採用重叠寄存器窗体的技术
  • 指令的运行採用流水和延迟转移技术
  • 採用优化编译技术。优化寄存器的分配和使用
RISC的不足:
  • 指令少。加重汇编程序猿的负担
  • 浮点运算和虚拟存储器支持不足
  • 编译程序难写
对于不足的最后一条,我感到疑惑——RISC提供直接支持高级语言的能力,应当是简化了编译程序的设计。为什么还要说编译程序难写?希望知道的朋友们留下评论:)


VLIW(超长指令字):
  • 是一种显式指令级并行指令系统
  • 一条VLIW指令含有多个同样或不同的操作字段(每一个操作字段的功能相当于一般处理机中的一条指令)
  • 每一个操作字段可以分别独立地控制各自的功能部件同一时候执行
  • 二维程序结构
  • 指令级并行度高
应用VLIW的有Intel和HP合制的安腾(Intanium)处理机。


RISC设计原则及基本技术的更多相关文章

  1. javascript的api设计原则

    前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...

  2. SOLID 设计原则

    SOLID 原则基本概念: 程序设计领域, SOLID (单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期 引入的记忆术首字母缩略字,指代了面向对象编程和面向对象 ...

  3. Java程序员应该了解的10个面向对象设计原则

    面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...

  4. AngularJS_01之基础概述、设计原则及MVC设计模式

    1.AngularJS: 开源的JS框架,用来开发单一页面应用,以及数据操作频繁的场景:2.设计原则: ①YAGNI原则:You Aren't Gonna Need It! 不要写不需要的代码! ②K ...

  5. UML类图与面向对象设计原则

    1. 引言     从大一开始学习编程,到如今也已经有两年了.从最初学习的Html,Js,JaveSe,再到JavaEE,Android,自己也能写一些玩具.学习过程中也无意识的了解了一些所谓的设计模 ...

  6. SOA 实现:服务设计原则

    http://www.ibm.com/developerworks/cn/webservices/ws-soa-design/ 引言 面向服务的体系结构(Service-Oriented Archit ...

  7. Apple、Google、Microsoft的用户体验设计原则

    轻巧的Apple 注重设计过程: 在设计过程中引入用户交互的5个目标: 了解您的目标客户 分析用户的工作流 构造原型系统 观察用户测试 制定观察用户准则 做出设计决定 避免功能泛滥 80% 方案 优秀 ...

  8. GOTO Berlin: Web API设计原则

    在邮件列表和讨论区中有很多与REST和Web API相关的讨论,下面仅是我个人对这些问题的一些见解,并没有绝对的真理,InnoQ的首席顾问Oliver Wolf在GOTO Berlin大会上开始自己的 ...

  9. Sql Server系列:索引设计原则及优化

    1. 索引设计原则 索引设计不合理或缺少索引都会对数据库的性能造成障碍,高效的索引对于获得良好的性能非常重要. 设计索引时的一些原则: ◊ 索引并不是越多越好,一个表中如果有大量的索引,不仅占用大量的 ...

随机推荐

  1. 数人云CTO解读Docker 1.12和金融业容器化

    7月29日 数人云 在上海举办金融沙龙,邀请上交所和近二十家来自银行.保险.证券的IT技术专家一同探讨容器技术在金融业中的最佳实践.数人云CTO肖德时在会上将传统金融行业通过容器可以解决的四大问题做了 ...

  2. linux内核(四)内存管理单元MMU

    1,基本概念 一个程序运行时没必要全部都同时装入内存,只需要把当前需要运行的部分装入内存即可,这样就使得一个大程序可以在较小的内存中运行,也使得内存中可以同时装入更多的程序并发执行,从用户角度看,该系 ...

  3. Windows里正确安装Zookeeper以服务运行

    不多说,直接上干货! 为什么要在Win下来安装Zookeeper呢? 其实玩过大数据的人很清楚,在Linux下我更不说了.在win下,如Disconf .Dubbo等应用. 所以,它的应用是非常广的. ...

  4. debian mysql 定时自己主动备份的脚本

    #!/bin/sh LOG=/var/log/mysql-backup.log # mysql db info USER_ROOT=XXXXXX USER_PWD=XXXXXXX # mysql da ...

  5. IIS身份验证的配置

    前4者配置:localhost applicationHost.config <location path=""> 后2者配置:web.config 要点: 这6项尽管 ...

  6. 同一个TextView设置不同的颜色和大小

    //strategy1是一个TextView SpannableStringBuilder builder1 = new SpannableStringBuilder(strategy1.getTex ...

  7. hdu 4544 湫湫系列故事——消灭兔子 优先队列+贪心

    将兔子的血量从小到大排序,箭的威力也从小到大排序, 对于每仅仅兔子将威力大于血量的箭增加队列,写个优先队列使得出来数位价钱最少.. #include<stdio.h> #include&l ...

  8. 跨域调用接口——WebClient通过get和post请求api

    AJAX不可以实现跨域请求,经过特殊处理才行.一般后台可以通过WebClient实现跨域请求~ //get 请求        string url = string.Format("htt ...

  9. WinForm关于listview的用法介绍

    public Form1() { InitializeComponent(); //控件的行为 listView1.Bounds = , ), , ));//相对位置 listView1.View = ...

  10. 51nod 1445 变色DNA ( Bellman-Ford算法求单源最短路径)

    1445 变色DNA 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有一只特别的狼,它在每个夜晚会进行变色,研究发现它可以变成N种颜色之一,将这些颜色标号为0,1 ...