【计算机组成原理Note】5.2 指令周期的数据流

news2024/11/17 5:47:58
image-20221118205400539

5.2 指令周期的数据流

5.2.1 指令周期

  1. 指令周期:CPU从主存中每取出并执行一条指令所需的全部时间。

  2. 指令周期:常常用若干机器周期来表示,机器周期又叫CPU周期。

    image-20221119112820382
  3. 一个机器周期又包含若干时钟周期(也称为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位,一个节拍,CPU完成最基本的操作。

    image-20221119113354497

    可以发现每个指令周期内机器周期可以不等,每个机器周期内节拍数也可以不等。

    每个指令需要完成的功能不同那么,就需要不同的指令周期,不同的节拍数

    image-20221119130430999
  4. 指令周期流程

    通过对指令判断,来满足不同指令所需的不同指令周期

    image-20221119130704170

    四个工作周期都有CPU访存操作,只是访存的目的不同。取指周期是为了取指令,间址周期是为了取有效地址,执行周期是为了取操作数,中断周期是为了保存程序断点。

    那么系统如何判断当前处于哪一个周期呢,答案是使用四个触发器对应不同的周期。

    image-20221119131111645

5.2.2 指令周期的数据流-取指周期

  1. 当前指令地址送至存储器地址寄存器,记做:(PC)→ MAR
  2. 由CU发出控制信号,经控制总线传到主存,这里是读信号,记做:1→R
  3. 存储器将MAR所指主存中的内容经数据总线送入MDR,记做:M(MAR)→MDR(M表示存储器,将存储器MAR位置数据放入MDR)
  4. 将MDR中的内容(此时是指令)送入IR,记做:(MDR)→IR
  5. CU发出控制信号,形成下一条指令地址,记做:(PC)+1 →PC

下面是工作流程,根据上面的步骤找出下方相应的箭头,体会取指周期(在这个周期内PC开始存放的是当前指令的地址,结束时存放的是下一条指令的地址)

image-20221119133357173

5.2.3 指令周期的数据流-间址周期

  1. 将指令的地址码送入MAR,记做:Ad(IR)→> MAR或Ad(MDR)→ MAR(此时MDR中存储的依旧是指令,但多数使用的是第一种表示形式)
  2. CU发出控制信号,启动主存做读操作,记做:1→R
  3. 将MAR所指主存中的内容经数据总线送入MDR,记做:M(MAR)→MDR
  4. 将有效地址送至指令的地址码字段,记做:MDR→ Ad(IR)。但有些系统就不会放到指令寄存器中,而是直接存储在存储器数据寄存器中,直接下一步当做有效地址寻址。(所以第四步不同的系统操作是不一样的)
image-20221119134403686

5.2.4 指令周期的数据流-执行周期

执行周期的任务是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果。不同指令的执行周期操作不同,因此没有统一的数据流向。

5.2.5 指令周期的数据流-中断周期

中断:暂停当前任务去完成其他任务。为了能够恢复当前任务,需要保存断点。一般使用堆栈来保存断点,这里用SP表示栈顶地址,假设SP指向栈顶元素,进栈操作是先修改指针,后存入数据。

  1. CU控制将SP减1,修改后的地址送入MAR(主存中选择一段空间作为堆栈,是高地址向低地址扩增的,所以入栈sp减,出栈sp加)

    本质上是将断点存入某个存储单元,假设其地址为a,故可记做:a →MAR

  2. CU发出控制信号,启动主存做写操作,记做: 1→w

  3. 将断点(PC内容)送入MDR,通过数据总线放入存储器中,记做:(PC)→MDR

  4. CU控制将中断服务程序的入口地址(由向量地址形成部件产生)送入PC,记做:向量地址→PC

image-20221119140238209

5.2.6 指令执行方案

image-20221119141035070

方案一:单指令周期

对所有指令都选用相同的执行时间来完成。指令之间串行执行;(一条指令执行完,下一条指令继续)指令周期取决于执行时间最长的指令的执行时间。

对于那些本来可以在更短时间内完成的指令,要使用这个较长的周期来完成,会降低整个系统的运行速度。

方案二:多指令周期

对不同类型的指令选用不同的执行步骤来完成。指令之间串行执行;(一条指令执行完,下一条指令继续)可选用不同个数的时钟周期来完成不同指令的执行过程。需要更复杂的硬件设计。

方案三:流水线方案(之后回详细讲解)

在每一个时钟周期启动一条指令,尽量让多条指令同时运行,但各自处在不同的执行步骤中。指令之间并行执行。(利用指令在不同的指令周期使用的硬件资源不同)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/30291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud微服务(十一)——Sentinel服务熔断限流

SpringCloud Alibaba Sentinel服务熔断与限流 简介 github:[https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5](https://github.com/alibaba/Sentinel/wiki/如何使用) 官网:https://spring-cloud-alibaba-group.github.io/github-pages/…

为什么追踪员工的时间和出勤率很重要

监控员工的出勤时间和出勤率对于提高业务绩效和生产力至关重要。实施有效计时策略的组织可以帮助员工跟上项目目标和截止日期,提高客户满意度,并加强对员工产出的整体意识。所以每个企业组织都应该掌握员工出勤时间和出勤数据。 为什么要掌握员工出勤时…

阿里架构师耗时 1 年,把 P8 所需要的整个 Java 体系,都整理到了一起

有人调侃我们说: 程序员不如送外卖。送外卖是搬运食物,自己是搬运代码,都不产出新的东西…… 透支体力,又消耗健康,可替代性极强,30 岁之后就要面临被优化的危险…… 想跳槽,但是更高的平台难…

微信小程序怎么弄?【小程序制作】

微信小程序怎么弄?很多人都会想弄一个微信小程序,因为微信小程序这个轻应用现在的使用频率已经赶上微信了,有如此大的用户群体,企业和商家当然都想在这个庞大流量池里分一杯羹。那么微信小程序怎么弄呢?下面一起来看看…

群签名、环签名、盲签名

文章目录群签名定义安全性构造环签名定义安全性构造盲签名定义安全性构造群签名 定义 群签名方案是算法组 ΠGS(Gen,Sign,Ver,Open)\Pi_{GS}(Gen, Sign, Ver, Open)ΠGS​(Gen,Sign,Ver,Open), Gen(1λ,n)Gen(1^\lambda,n)Gen(1λ,n):密钥生成算法&…

百度Q3财报显AI技术厚度,“慢生意”稳步驶入“快车道”

一周前,笔者参加了一场百度主办的关于AIGC话题的沙龙,因为话题无比火爆,活动延迟到了一点钟才结束,以至于让约定的好友饭局也一等再等。 倒没有丝毫抱怨的意思,正是这个烧脑的活动,让我感受并体验到了当下最…

GEE开发之Modis_LAI数据分析和获取

GEE开发之Modis_LAI数据分析和获取1.遥感卫星数据叶面积指数LAI2.MOD15A2H(500m/8天)2.1 MOD15A2H下的指数2.2 LAI遥感影像查看获取3.LAI日数据下载4.LAI月数据下载5.LAI年数据下载前言:主要介绍LAI的概念,以及GEE下如何获取查看Modis下的LAI指数&#x…

Talk | 清华大学陈晓宇苏黎世联邦理工黄嘉伟 :基于实际应用的强化学习

本期为TechBeat人工智能社区第455期线上Talk! 北京时间11月17日(周四)20:00,清华大学交叉信息研究院在读博士生——陈晓宇与苏黎世联邦理工大学计算机科学在读博士生——黄嘉伟的Talk将准时在TechBeat人工智能社区开播! 他们与大家分享的主题…

NC发布猕猴大脑皮层多组学细胞图谱,助力神经系统疾病研究 | 时空专辑数据库

近日,杭州华大生命科学研究院(以下简称杭州华大)联合昆明理工大学灵长类转化医学研究院、美国艾伦脑科学研究所等国内外多家单位在国际学术期刊《自然通讯》(Nature Communications)在线发表题为《成年猕猴大脑皮层空间…

PyTorch深度学习实践——线性模型、梯度下降算法、反向传播

1、线性回归 参考资料1:https://blog.csdn.net/bit452/article/details/109627469 参考资料2:http://biranda.top/Pytorch%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0003%E2%80%94%E2%80%94%E7%BA%BF%E6%80%A7%E6%A8%A1%E5%9E%8B/#%E7%BA%BF%E6%80%A7%E6%A8%…

PC_多处理器

文章目录多处理器单指令单数据流SISD结构单指令流多数据流SIMD结构向量处理器多指令流单数据流MISD结构多指令多数据流MIMD结构小结硬件多线程细粒度多线程粗粒度多线程同时多线程多核处理器共享内存多处理器多处理器 常规的单处理器属于SISD常规多处理器属于MIMD 单指令单数…

腾格尔十月天传媒联手《巴林塔娜》,2255万粉丝多少买票支持

曾几何时,木桶原理非常流行,意思就是一个木桶能够盛多少水,取决于最短一块板的长度。可是随着社会的发展,木桶原理已经被淘汰,只要你拥有了团队合作,就可以统协作取长补短。 就拿有着“草原歌神”之称的腾格…

你的知识库能提高工作效率的7个原因

知识就是力量。但到目前为止,光有知识是不够的——你使用这些信息的方式让你领先于竞争对手。如果使用正确,知识库软件可以帮助您提供更好的服务,培训您的员工,并成为您的行业权威。拥有一个有效的知识库不仅会影响你在内部开展业…

Android assets

1.应用程序资源管理器assets assets就是apk工程中的一个普通目录,在每个工程的根目录下都可以发现(或者可以自己创建)一个assets目录。 assets目录用于专门保存各种外部文件,比如图像、音视频、配置文件、字体、自带数据库等。它之所以适合用来管理这些…

数据库mysql操作语言, DDL,DML,DQL

文章目录一. 数据库1. 数据库基本概念2. 数据库管理系统3. 数据库与表的概念二. 连接数据库的方式三. 如何操作DBMSSQL语句分类1. DDL 数据定义语言查看DBMS中已有的数据库数据库相关操作新建一个数据库查看数据库信息删除数据库使用一个数据库(切换一个数据库)表相关操作创建表…

HOOPS/MVO技术概述

更多参见:HOOPS学习笔记 MVO 1.引言 HOOPS/MVO是一个C类库,位于HOOPS 3D图形系统(HOOPS/3DGS)之上。它有一个模型/视图/操作员架构,封装了各种HOOPS/3DGS数据结构和概念,并提供了一系列通用应用程序级逻辑…

【无人机】基于粒子群优化干扰受限下无人机群辅助网络附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Xception --tensorflow2.x

简介 Xception和SqueezeNet一样,是一种降低参数量的轻量级神经网络,它主要使用了 深度分离卷积(Depthwise separable convolution)结构,该结构替换了原来的Inception中的多尺寸卷积结构。这里需要弄清深度分离卷积(D…

【创建型设计模式-单例模式】一文搞懂单例模式的使用场景及代码实现的7种方式

1.什么是单例模式 在了解单例模式前,我们先来看一下它的定义: 确保一个类只有一个实例,而且自行实例化并且自行向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法, 单例模式是一种对象的创建型…

微型计算机原理速通期末复习

文章目录微机基础原码、反码、补码、移码溢出实数型功能结构8086/8088内部结构80286内部结构80386/80486内部结构标志寄存器FLAGS寄存器阵列段寄存器寻址标志寄存器EFLAGS分段结构数据寻址方式立即寻址直接寻址寄存器寻址寄存器间接寻址寄存器相对寻址基址-变址寻址基址-变址-相…