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就可以更高效地运行.系统所下达的 ...
随机推荐
- 【USACO 2.3】Zero Sum(dfs)
按字典序输出所有在123..n之间插入'+','-',' '结果为0的表达式.. http://train.usaco.org/usacoprob2?a=jUh88pMwCSQ&S=zeros ...
- Leetcode 39. Combination Sum
Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique c ...
- Java文件写入,换行
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOExce ...
- XML 架构 (XSD) 参考
https://msdn.microsoft.com/zh-cn/library/ms256235.aspx XML 架构示例 XML 架构元素 XML 数据类型引用 XML 架构正则表达式 XML ...
- Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: 'module' object has no attrib ...
- IBatis 批量插入数据之SqlBulkCopy
public void AddLetters(IList<int> customerIds, string title, string content, LetterEnum.Letter ...
- 程序代码中退出函数exit()与返回函数return ()的区别
程序代码中退出函数exit()与返回函数return ()的区别 exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数 ...
- URL Schemes
APP 被唤醒离不开对URL Schemes的认知. 苹果选择沙盒来保障用户的隐私和安全,但沙盒也阻碍了应用间合理的信息共享,于是有了 URL Schemes 这个解决办法. URL Schemes ...
- [NHibernate]视图处理
目录 写在前面 文档与系列文章 视图 一个例子 总结 写在前面 前面的文章主要讲了对物理数据表的操作,当然了Nhibernate同样可以操作视图,本文将讲nhibernate对视图操作的种种. 文档与 ...
- tyvj1463 智商问题
背景 各种数据结构帝~各种小姊妹帝~各种一遍AC帝~ 来吧! 描述 某个同学又有很多小姊妹了他喜欢聪明的小姊妹 所以经常用神奇的函数来估算小姊妹的智商他得出了自己所有小姊妹的智商小姊妹的智商都是非负整 ...