RISC指令集的五个周期
RISC指令集的五个周期
RISC(reduced instruction set computer,精简指令集计算机)简称为精简指令集。RISC把执行指令的精力主要放在了经常使用的指令上面。本文主要介绍了在RISC指令集中一条指令的五个主要执行CC(Clock Cycle,时钟周期)的主要涵义以及内容。
这五个时钟周期分别为:IF(Instruction fetch,取指令),ID(Instruction decode/register fetch cycle,指令解码),EX(Execution/effective address cycle,执行),MEM(Memory access,内存访问), WB(Write-back cycle,写回)。
IF:根据PC(program counter,程序计数器)中所存储的内存地址,在内存中找到该地址所指向的指令,并将该指令存储在寄存器中。同时,PC指向下一条指令,完成这个操作要求PC加4(以32位指令集为例,如果是64位则要加8)。
ID : 操作从IF阶段获取来的指令。将指令解码,最终找到指令所需要的寄存器中存储的数据。如果该指令只一条跳转指令,那么在这一阶段需要根据跳转指令的意义对获取的值进行比较,如果比较结果为true则执行跳转,如果比较结果为false则不执行跳转,继续下一条指令的执行;如果指令需要对指令中某些位进行填充,也在ID阶段完成,比如对高四位进行填充以满足指令结果是32位;计算可能跳转的指令的地址。
EX : ALU(Arithmetic Logic Unit,算术逻辑单元)对ID阶段的结果进行计算。在ID阶段已经获得了指令计算所需要的寄存器的值,那么在EX阶段需要根据指令的意义对这些寄存器的值进行计算。计算根据指令的不同变得不同。主要有三种类型的ALU计算:1. ALU根据ID中补充的地址,对有效的地址单元进行计算,最终得到所需要的内存的地址;2. 根据指令的意义,对从寄存器中获取的值,进行操作,比如对两个寄存器的值进行相加;3. 根据寄存器的值以及补充的值,计算出立即数的结果。
MEM:如果当前指令是Load指令,那么,根据EX计算出的内存地址,从内存中获取对应的值;如果当前指令是store,那么,根据EX计算出的内存地址和寄存器的值,将寄存器的值存入该内存地址中。其他的指令一般不会设计内存的访问。
WB:将计算出来的最终的寄存器的值写入到register file(寄存器文件)中。这部操作包括从内存中获取的值以及通过算术运算得到的结果。
以上五个时钟周期便是一条RISC指令执行的主要步骤。
RISC指令集的五个周期的更多相关文章
- 计算机指令集CISC与RISC
当接触一新CPU时商家会首先描述它是RISC指令集,这意味着什么,从这个描述你能了解多少CPU特性信息? 复杂指令集计算机(CISC) 长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集 ...
- ARM汇编指令集_学习笔记(1)
一.什么是ARM汇编? 运行在ARM处理器上的汇编语言就叫ARM汇编. C程序运行在X86平台,底层就是X86汇编:运行在ARM平台,底层就是ARM汇编.ARM汇编与X86汇编有显著区别. X86属于 ...
- CISC, RISC 探究
iPhone Simulator Intel iPhone ARM 区别很大, Intel目前的处理器主要为IA架构, IA-32即俗称x86,包括桌面处理器系列(赛扬,奔腾,酷睿等)以及服务器处 ...
- LLVM 笔记(五)—— LLVM IR
ilocker:关注 Android 安全(新手) QQ: 2597294287 LLVM 的 IR (Intermediate Representation) 是其设计中的最重要的部分.优化器在进行 ...
- CPU指令集
cpu作为一台电脑中的核心,它的作用是无法替代的.而cpu本身只是在块硅晶片上所集成的超大规模的集成电路,集成的晶体管数量可达到上亿个,是由非常先进复杂的制造工艺制造出来的,拥有相当高的科技含量. C ...
- 16位CPU多周期设计
16位CPU多周期设计 这个工程完成了16位CPU的多周期设计,模块化设计,有包含必要的分析说明. 多周期CPU结构图 多周期CPU设计真值表 对应某一指令的情况,但仅当对应周期时才为对应的输出,不是 ...
- 那些年的那些事CISC和RISC发展中的纠缠
本文来自http://www.cnbeta.com/articles/224544.htm ARM.ARM.ARM,没错ARM仿佛一夜之间就火了,平板.手机等领域随处可见它的影子,甚至已经有人预言未来 ...
- 常见的CPU指令集介绍
本文摘自网络 一.X86 是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,属于CISC. 1.1.简介 X86指令集是美国Intel ...
- CPU 指令集(Instruction Set Architecture, ISA)
本文摘自网络 概念 指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序,用来引导CPU进行加减运算和控制计算机操作系统的一系列指令集合.拥有这些指令集,CPU就可以更高效地运行.系统所下达的 ...
随机推荐
- 关于GeoWebCache的部署说明
最近因为工作需要学习了GeoWebCache,有了一些实战经验跟大家分享一下. 废话不多说,直接上问题! 1.切片的缓存问题 当地图服务(这里默认指WMS)的数据更新时,GeoWebCache的切片如 ...
- 数据结构图文解析之:AVL树详解及C++模板实现
0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...
- 【poj2065】 SETI
http://poj.org/problem?id=2065 (题目链接) 题意 题意半天看不懂..给你一个素数P(P<=30000)和一串长为n的字符串str[].字母'*'代表0,字母a-z ...
- C#环境
- js分页小结
今天解决了JS分页的问题1 页码 给每页的内容套一个相同的类名 通过选择器加上.length或者.size() 来获得总页数2当前页的页码可以使用each(function(index,DOMsss ...
- windows安装mysql5.7
1下载mysql http://dev.mysql.com/downloads/mysql/2解压后,新建一个data文件夹,复制my-default.ini,并改名为my.ini,添加下面内容[cl ...
- Java Persistence with Hibernate
我们在Java中谈到持久化时,一般是指利用SQL在关系数据库中存储数据. ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系, 框架据此将实体对象 ...
- 一个类似宣传的H5页面
趁着闲置 做了一个H5的页面 感觉不错. 具体效果如下 框架上我选择 zepto(其实这个可有可无,推荐用原生的最好) FullPage (感觉挺好用的一个全屏滚动插件 ) pageResponse ...
- PAT mooc DataStructure 4-2 SetCollection
数据结构习题集-4-2 集合的运用 1.题目: We have a network of computers and a list of bi-directional connections. Eac ...
- 微信"流量红包"的玩法攻略 广东移动用户有福啦
前面我们说了广东移动联合微信正式推出流量红包业务,移动终于hold不住了,想要借此挽回一些些损失.只可惜,现在只是广东小范围测试,其他地区的用户暂时还没有这等福利.那么微信"流量红包&quo ...