计算机组成原理之指令周期[通俗易懂]

计算机组成原理之指令周期[通俗易懂]指令周期基本概念基本概念指令周期取出并执行一条指令所需的全部时间每条指令的周期不同由于各指令的功能不同,他们的周期也是不尽相同的。eg:NOP(空操作):只有取指周期ADD(加操作):指令周期有取指周期和执行周期两个阶段具有间址寻址的指令周期取指周期:把指令地址从内存中取出间址周期:把操作数地址从内存中取出执行周期:把操作数从内存中取出指令周期流程…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

基本概念

  1. 指令周期
    取出并执行一条指令所需的全部时间
  2. 每条指令的周期不同
    由于各指令的功能不同,他们的周期也是不尽相同的。
    eg:
    NOP(空操作):只有取指周期
    在这里插入图片描述

ADD(加操作):指令周期有取指周期和执行周期两个阶段
在这里插入图片描述

  1. 具有间址寻址的指令周期
    在这里插入图片描述
    取指周期:把指令地址从内存中取出
    间址周期:把操作数地址从内存中取出
    执行周期:把操作数从内存中取出
  2. 指令周期流程
    在这里插入图片描述
  3. CPU工作周期的标志
    CPU访存有四种性质对应CPU的四个工作周期
  • 取指令:取指周期
  • 取地址:间址周期
  • 存取操作数或者结果:执行周期
  • 存程序断点:中断周期

指令周期的数据流

取指周期的数据流

在这里插入图片描述

取指周期从PC开始,因为PC知道要取的指令的内存单元的地址,PC要把地址传送给存储器,要先把地址传给MAR,再由MAR传给地址总线,再由地址总线传给存储器。CU把读操作这个控制信号送到控制总线上,再由控制总线送到存储器,存储器执行读操作,把相应的数据送到数据总线,数据总线再送到MDR,最后送到IR当中,此时,我们还要为取下一条指令做准备,要把下一条指令的地址保存在PC里,由CU控制PC进行PC+1操作,使PC指向下一条要取的指令的地址。这样一个完整的取值周期就完成了。(注意:这里的+1操作不是单纯的+1而是是加上下一条指令的地址)

间址周期的数据流

在这里插入图片描述

操作数所在的内存单元的地址IR和MDR中都有,所以间址周期可以从IR开始,也可以从MDR开始,假设从MDR开始,MDR会把操作数中的地址码部分发送给MAR,MAR会把地址送给地址总线,再由地址总线送给存储器,然后CU发出读操作,操作信号先送给控制总线,再由控制总线送到存储器当中,存储器完成读操作,把数据送到数据总线上,再由数据总线送到MDR当中,这个时候MDR才真正保存了我们所需要的操作数的真正的地址。

执行周期数据流

不同指令的执行周期数据流不同。

中断周期的数据流

在这里插入图片描述

因为CU知道程序断点应该保存在哪个位置,所以中断周期从CU开始,CU给出地址,把地址放进MAR中,MAR再送到地址总线,地址总线送到存储器,因为保存断点是一个写操作,所以CU会发出一个写命令,并把写命令送到控制总线,再由控制总线送到存储器,保存断点即返回到程序中断之后的那个位置,也即中断之后要执行的下一个命令地址,中断之后的下一条命令保存在PC当中,所以保存断点即保存当前PC的值,PC会把值送到MDR当中,MDR送到数据总线,数据总线再保存到存储器中。中断服务程序的入口地址是由CU给出,CU会把这个地址写入PC,中断服务程序的入口就给了PC,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182323.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • JavaScript Scripting.FileSystemObject FSO属性大全

    JavaScript Scripting.FileSystemObject FSO属性大全
    什么是FSO?
    FSO即FileSystemObject文件系统对象,是一种列表Windows磁盘目录和文件,对目录和文件进行删除、新建、复制、剪切、移动等操作的技术。使用FSO网站的好处:直接读取目录下的文件和子目录,方便维护,如需要添加任何内容,将文件放在相应的目录下即可;FSO网站类似Windows操作界面,易于使用,会使用Windows就会使用FSO网站。
    试想一下,很方便的就可以将您硬盘中的文件和文件夹制作成网站,并且日后只要把内

  • lunix常用命令「建议收藏」

    lunix常用命令「建议收藏」文件管理命令ls      显示文件或目录   -l     列出文件详细信息l(list)   -a     列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir    创建目录   -p     创建目录,若无父目录,则创建p(parent)cd   

  • 二叉树层序遍历 java

    二叉树层序遍历 java层序遍历1.把根结点放到队列中2.循环直到?1.从队列取出队首元素2.孩子入队列​publicstaticvoidlevelOrder1(TreeNoderoot){if(root==null){return;}Queue<TreeNode>queue…

  • hive优化大全-一篇就够了[通俗易懂]

    hive优化大全-一篇就够了[通俗易懂]1.概述  在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍。2.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是mapreduce作业初始化的时间是…

  • 如何在WEBIDE个人版中添加其它版本的资源库「建议收藏」

    如何在WEBIDE个人版中添加其它版本的资源库「建议收藏」SAP资源库不断的在更新,怎么在本地的WEBIDE中使用新版本中的控件呢?答案就是添加相应版本的SDK到本地的resource库1.下载所需要版本的源这里下载所需要的SDK2.添加源到WEBIDE只需要解压resource和test-resource这两个文件夹到本地WEBIDE路径下,参照本地orion所在的目录路径在这个路径下对应下载的SDK的版本新建一个文件夹,我下的…

    2022年10月10日
  • make menuconfig makefile kconfig详解

    make menuconfig makefile kconfig详解前面有一片文章分析makemenuconfig执行过程:http://blog.csdn.net/xinyuan510214/article/details/50964808今天,将一下makemenuconfigmakefilekconfig等几个容易混淆的关键操作。===1、内核Makefile概述(linux2.6)Linux内核的Makefile分为5个部分

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号