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. Having用法

    HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELECT 的交互方式类似.WHERE 搜索条件在进行分组操作之前应用:而 HAVING 搜索条件在进行分组操作之后应用 ...

  2. NHibernate3剖析:Mapping篇之集合映射基础(3):List映射

    系列引入 NHibernate3.0剖析系列分别从Configuration篇.Mapping篇.Query篇.Session策略篇.应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种 ...

  3. HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException

    HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException type ...

  4. [windows+cocos2dx]CCSprite精灵类

    序言 回想cocos2dx,之前在mac+Xcode平台学习了一遍cocos2dx,一年时间不接触cocos了.一直在搞Unity3d.如今还是就之前所学温故温故,但不再用Xcode来写.用经常使用的 ...

  5. android:异步任务asyncTask介绍及异步任务下载图片(带进度条)

    为什么要用异步任务? 在android中仅仅有在主线程才干对ui进行更新操作.而其他线程不能直接对ui进行操作 android本身是一个多线程的操作系统,我们不能把全部的操作都放在主线程中操作 .比方 ...

  6. linux下面增加磁盘空间

    1.先看看情况 [root@localhost tmp]# fdisk -l Disk /dev/sda: 3221 MB, 3221225472 bytes 255 heads, 63 sector ...

  7. [JZOJ 5465] [NOIP2017提高A组冲刺11.9] 道路重建 解题报告 (e-dcc+树的直径)

    题目链接: http://172.16.0.132/senior/#main/show/5465 题目: 小X所居住的X国共有n个城市,有m条无向道路将其连接.作为一个统一的国家,X 城的任意两个城市 ...

  8. vue 组件来回切换时 记住上一个组件滚动位置(keep-alive)

    记住组件滚动状态: 使用场景:从某列表组件进入详情页,在返回的时候需要保留列表组件状态,包括滚动的高度.这个时候需要keep-alive配合. 方法一:如下情况导航在做普遍用法.前提是使用keep-a ...

  9. avalon过滤

    <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    ...

  10. Activiti BPMN 2.0 designer eclipse插件安装

    官方网是这样说的: https://www.activiti.org/userguide/index.html#springSpringBoot The following installation ...