RISC设计原则及基本技术
CISC的特点:
- 指令系统庞大,指令功能复杂,指令寻址方式多,指令格式多
- 绝大多数指令须要多个机器周期完毕
- 各种指令都能够訪问存储器
- 採用微程序控制
- 有专用寄存器,少量
- 难以用优化编译技术生成高效的目标代码程序
RISC特点:
- 大多数指令在单周期内完毕
- LOAD/STORE结构
- 硬布线控制逻辑
- 降低指令和寻址方式的种类
- 固定的指令格式
- 注重编译的优化(三地址指令格式、较多的寄存器、对称的指令格式)
*我觉得RISC与CISC的不同之处在于指令精简、寻址方式降低以及注重编译优化,这要得益于二八法则(CISC中,大约20%的指令占领了80%的处理机时间。其余80%指令使用频度仅仅占20%的处理机执行时间)。RISC比CISC快3倍左右。主要取决于CPI(每条指令执行的平均周期数)。
在RISC中CPI近乎1。
RISC的设计原则:
- 使用频度非常高的指令
- 大大降低寻址方式
- 全部指令在一个机器周期内完毕
- 扩大通用寄存器个数
- 採用硬联控制实现
- 通过精简指令和优化设计编译程序,以简单有效的方式支持高级语言
RISC结构採用的基本技术:
- 在逻辑上採用硬联实现和微程序固件实现相结合的技术
- 在CPU中设置数量较大的寄存器组,并採用重叠寄存器窗体的技术
- 指令的运行採用流水和延迟转移技术
- 採用优化编译技术。优化寄存器的分配和使用
- 指令少。加重汇编程序猿的负担
- 浮点运算和虚拟存储器支持不足
- 编译程序难写
- 是一种显式指令级并行指令系统
- 一条VLIW指令含有多个同样或不同的操作字段(每一个操作字段的功能相当于一般处理机中的一条指令)
- 每一个操作字段可以分别独立地控制各自的功能部件同一时候执行
- 二维程序结构
- 指令级并行度高
RISC设计原则及基本技术的更多相关文章
- javascript的api设计原则
前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...
- SOLID 设计原则
SOLID 原则基本概念: 程序设计领域, SOLID (单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期 引入的记忆术首字母缩略字,指代了面向对象编程和面向对象 ...
- Java程序员应该了解的10个面向对象设计原则
面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...
- AngularJS_01之基础概述、设计原则及MVC设计模式
1.AngularJS: 开源的JS框架,用来开发单一页面应用,以及数据操作频繁的场景:2.设计原则: ①YAGNI原则:You Aren't Gonna Need It! 不要写不需要的代码! ②K ...
- UML类图与面向对象设计原则
1. 引言 从大一开始学习编程,到如今也已经有两年了.从最初学习的Html,Js,JaveSe,再到JavaEE,Android,自己也能写一些玩具.学习过程中也无意识的了解了一些所谓的设计模 ...
- SOA 实现:服务设计原则
http://www.ibm.com/developerworks/cn/webservices/ws-soa-design/ 引言 面向服务的体系结构(Service-Oriented Archit ...
- Apple、Google、Microsoft的用户体验设计原则
轻巧的Apple 注重设计过程: 在设计过程中引入用户交互的5个目标: 了解您的目标客户 分析用户的工作流 构造原型系统 观察用户测试 制定观察用户准则 做出设计决定 避免功能泛滥 80% 方案 优秀 ...
- GOTO Berlin: Web API设计原则
在邮件列表和讨论区中有很多与REST和Web API相关的讨论,下面仅是我个人对这些问题的一些见解,并没有绝对的真理,InnoQ的首席顾问Oliver Wolf在GOTO Berlin大会上开始自己的 ...
- Sql Server系列:索引设计原则及优化
1. 索引设计原则 索引设计不合理或缺少索引都会对数据库的性能造成障碍,高效的索引对于获得良好的性能非常重要. 设计索引时的一些原则: ◊ 索引并不是越多越好,一个表中如果有大量的索引,不仅占用大量的 ...
随机推荐
- 洛谷1417 烹调方案 dp 贪心
洛谷 1417 dp 传送门 挺有趣的一道dp题目,看上去接近于0/1背包,但是考虑到取每个点时间不同会对最后结果产生影响,因此需要进行预处理 对于物品x和物品y,当时间为p时,先加x后加y的收益为 ...
- myeclipse导入工程 Some projects cannot be imported because they already exist in the workspace
问题描述: 1 第一次从外部导入工程或者新建工程,成功: 2 删除该工程,但是没有选择delete project contents on disk 3 再次需要该工程,导入该工程时出现警告:Some ...
- POJ——T1125 Stockbroker Grapevine
http://poj.org/problem?id=1125 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36045 ...
- LeetCode104_MaximumDepthofBinaryTree Java题解
题目: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...
- c++ STL unique , unique_copy函数
一.unique函数 类属性算法unique的作用是从输入序列中"删除"全部相邻的反复元素. 该算法删除相邻的反复元素.然后又一次排列输入范围内的元素,而且返回一个迭代器(容器的长 ...
- bzoj5204: [CodePlus 2018 3 月赛]投票统计(离散化+暴力)
5204: [CodePlus 2018 3 月赛]投票统计 题目:传送门 题解: 谢谢niang老师的一道sui题 离散化之后直接搞啊(打完之后还错了...) 代码: #include<cst ...
- MLPclassifier,MLP 多层感知器的的缩写(Multi-layer Perceptron)
先看代码(sklearn的示例代码): from sklearn.neural_network import MLPClassifier X = [[0., 0.], [1., 1.]] y = [0 ...
- Linux进程精讲
进程相关概念 程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu.内存.打开的文件.设备.锁....) 进程,是一个抽象的概念,与操作系统原理联系紧密.进程是活跃的程序,占用系 ...
- 如何实现内核旁路(Kernel bypass)?
转到 :http://blog.jobbole.com/94976/ 在前两篇文章中,我们讨论了<如何生成每秒百万级别的HTTP 请求?> 以及 如何减少往返时间 .我们在 Linux 上 ...
- 在网页html中嵌入特殊字体
1.字体格式 .EOT,适用于Internet Explorer 4.0+ .TTF或.OTF,适用于Firefox 3.5.Safari.Opera .SVG,适用于Chrome.IPhone 最常 ...