考研计算机组成原理总结(8)

news2024/12/24 0:17:10

一.计算机工作过程

计算机工作的过程,即一条条指令工作的过程:

取指令:

  • 1.(PC)—>MAR,把PC存放的指令存储地址传送给MAR
  • 3.M(MAR)—>MDR,主存根据地址取出指令存放到MDR中
  • 4.(MDR)—>IR,指令从MDR传到IR中

分析指令:

  • 5.OP(IR)—>CU, 把指令操作码送到CU中

执行指令:

  • 6.Ad(IR)—>MAR,把指令的地址码送到MAR
  • 8.M(MAR)—>MDR,主存再根据地址取出操作数存放到MDR中
  • 9.(MDR)—>ACC,再把操作数送到ACC中进行运算

二.数据通路

同位词:微操作序列、所需控制信号、指令流程

其实这些词都是要你画出数据通路。

例如,基于上面的图,分析ADD (R0),R1的指令流程和控制信号:

取指周期:

时序微操作有效控制信号注释
1(PC)—>MARPCout ,MARin把PC存放的指令存储地址传送给MAR
2M(MAR)—>MDRMemR,MARout ,MDRin E主存通过数据总线将MAR所指单元的内容送至MDR
3(MDR)—>IRMDRout ,IRin将MDR的内容送至IR
4指令译码-操作字开始控制CU
5(PC)+1—>PC-当PC+1有效时,使PC内容加1

间址周期:

时序微操作有效控制信号注释
1(R0)—>MARR0out ,MARin将(R0)中的(形式)地址送至存储器地址寄存器
2M(MAR)—>MDRMemR,MARout,MDRin E主存通过数据总线将MAR所指单元的内容(有效地址)送至MDR中
3(MDR)—>YMDRout , Yin将MDR中数据通过数据总线送至Y

执行周期:

时序微操作有效控制信号注释
1(R1)+(Y)—>Z-R1的内容和Y的内容相加,结果送至寄存器Z
2(Z)—>MDR-将运算结果送至MDR
3(MDR)—>M(MAR)-向主存写入数据

三.指令流水线的影响因素

1.结构相关

由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关。

解决方法:

  • 1.后一相关指令暂停一周期
  • 2.资源重复配置:数据存储器+指令存储器

2.数据相关

数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况,则这两条指令即为数据相关。

解决办法:

  • 1.把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件阻塞(stal)和软件插入“NOP”两种方法。
  • 2.数据旁路技术。
  • 3.编译优化:通过编译器调整指令顺序来解决数据相关。

3.控制相关

当流水线遇到转移指令和其他改变PC值得指令而造成断流时,会引起控制相关。

解决办法:

  • 1.转移指令分支预测。简单预测(永远猜ture或false)、动态预测(根据
    历史情况动态调整)
  • 2预取转移成功和不成功两个控制流方向上的目标指令。
  • 3.加快和提前形成条件码
  • 4.提高转移方向得猜准率

四.指令系统

1.相关概念

  • 指令:指示计算机执行某种操作的命令
  • 指令系统(指令集):一台计算机的所有指令的集合
  • 指令集体系结构(ISA):指令系统是ISA中最核心的部分

IS规定的内容主要包括:指令格式,数据类型和格式,操作数的存放方式,程序可访问的寄存器个数、位数和编号,存储空间的大小和编制方式,寻址方式,指令执行过程的控制方式等。

2.指令的基本格式

操作码字段地址吗字段

通常,把指令长度等于机器字长的指令称为单字长指令,指令长度等于半个机器字长的指令称为半字长指令,指令长度等于两个机器字长的指令称为双字长指令。

(关于机器字长、存储字长和指令字长的关系,可以查看我本专栏的第一篇文章机器字长、存储字长和指令字长的关系

3.指令格式

在计算机程序设计中,指令的地址通常包含了要进行的操作和数据的地址。根据指令所携带的地址数目不同,指令可以分为三类:零地址指令、一地址指令和二地址指令。

  1. 零地址指令: 零地址指令没有任何地址,它们适用于对数据堆栈进行操作的指令。例如,“PUSH”指令将一个值压入堆栈中,“POP”指令将堆栈顶部的值弹出。
  2. 一地址指令: 一地址指令接受一个地址参数,并且在该地址上执行操作。一地址指令通常用于处理数组或结构体。例如,“INC X”指令将X地址处的值增加1。
  3. 二地址指令: 二地址指令接受两个地址参数,第一个参数是源地址,第二个参数是目标地址。它们通常用于进行算术或逻辑运算。例如,“ADD A, B”指令将B地址处的值加到A地址处的值上。

不同的编程语言和指令集架构使用不同的指令格式,具体的指令格式应该参考对应的文档和手册。

五.指令的寻址方式

1.符号理解

  • (A):表示地址为A的数值,括号相当于取值符号
  • A:既可以是寄存器编号也可以是内存地址
  • EA:操作数在存储器中的真实地址

2.常见的数据寻址方式

TbvC.jpg

六.说明

由于时间紧的原因,习题就选择性的更新了,主要是知识点!

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

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

相关文章

[golang gin框架] 28.Gin 发送短信,DES加密解,Cookie加密,解密操作

一.发送短信 1.简介 在用户注册的时候,需要发送短信来校验用户以及手机号,达到用户注册的目的,一般有很多短信接口来达到发送短信的操作,比如:云片短信服务,阿里云短信服务, 腾讯云短信服务等等,这里以腾讯云短信服务来发送短信: 腾讯云短信服务相关网址: 短信介绍 发送短信AP…

【计算机视觉 | 目标检测】Grounding DINO:开集目标检测论文解读

介绍一篇较新的目标检测工作: Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection论文地址为: https://arxiv.org/pdf/2303.05499.pdfgithub 地址为: https://github.com/IDEA-Research/GroundingD…

flask框架之----Flask-Mail邮件

介绍: Web应用程序经常需要向用户、客户端、管理员、运维人员等相关人员发送邮件。在Flask框架中提供了Flask-Mail邮件库来管理电子邮件的收发。 安装:flask-mail: pip3 install flask-mail配置: 服务器信息: Flask-Mail &…

ESP32学习笔记 -- ESP32-S3使用NVS存储数据

什么是NVS? 非易失性存储(Non-Volatile Storage)简称NVS,是用来保存一些设备断电后不能丢失的数据,乐鑫的ESP32-S3芯片使用了一套NVS库函数对外置的SPI FLASH进行读、写、擦除等操作。 ESP-IDF通过分区表的方式,在外部SPI FLASH里面开辟一段存储空间(也称作NVS分区),…

Vue3 基础语法

文章目录 1.创建Vue项目1.1创建项目1.2 初始项目 2.vue3 语法2.1 复杂写法2.2 简易写法2.3 reactive(对象类型)2.4 ref(简单类型)2.5 computed(计算属性)2.6 watch(监听) 3.vue3 生命周期4.vue3 组件通信4.…

程序员应该怎么自学才能入门 ?我来聊聊自己的经历

当你想成为一名程序员,如何自学入门是一个非常重要的问题。在这里我分享一下我的经验,希望能对你有所帮助。 首先,为了制定好你的学习路线,你可以在网上的培训机构网站找到一张基础路线图。这张路线图必须是跟行业对标的&#xf…

Leetcode 42 接雨水

Leetcode42接雨水 题解1:正反两扫(Simple and effect)题解2:DP题解3:单调栈(单调栈存储的是下标,满足从栈底到栈顶的下标对应height的元素呈递减)题解4:双指针&#xff0…

【CSS系列】第六章 · CSS列表、表格、背景、鼠标属性

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

【数据结构】- 链表之带头(哨兵位)双向循环链表(上)

文章目录 前言🌟一、带头双向循环链表🌟二、带头双向循环链表结构图:🌟三、带头双向循环链表代码实现:🌏3.1头插:🌏3.2头插流程图🌏3.3 尾插🌏3.4尾插流程图&…

【CSS系列】第三章 · CSS三大特性和颜色的表示

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

Swagger简单了解

Swagger 介绍 使用swagger你只需要按照它的规范去定义接口及接口相关信息,在通过swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。 官网:https://swagger.io/ knife4j是为javaMVC…

Linux网络——Shell编程之函数

Linux网络——Shell编程之函数 一、概述二、定义函数的格式1.格式一2.格式二 三、函数的查看和删除1.查看 declare2.删除 declare 四、函数的返回值1.return 返回值2.echo 返回值 五、函数的参数传入与变量范围1.函数的传参2.函数变量的作用范围 六、函数的应用1.阶乘2.递归目录…

知识不断分叉,知怎么来,才知怎么去

知识不断分叉,知怎么来,才知怎么去 定位方法论在中国的演化和继承 趣讲大白话:知道什么来,方知怎么去 【趣讲信息科技159期】 **************************** 定位也谈不上是科学意义上的理论 而是商业实践方法 不能神话 但也要有基…

深入了解目标检测技术--从基本概念到算法入门

前言: Hello大家好,我是Dream。 众所周知,目标检测是计算机视觉领域中的重要任务之一,其目的是识别图像或视频中包含的物体实例并将其定位。实现目标检测可以帮助人们在自动驾驶、机器人导航、安防监控等领域中更好地理解和应用图…

K_A37_002 基于STC89C52RC驱动PCF8591模块 串口与OLED0.96双显示

K_A37_002 基于STC89C52RC驱动PCF8591模块 串口与OLED0.96双显示 所有资源导航一、资源说明二、基本参数参数引脚说明 三、驱动说明IIC地址/采集通道选择/时序对应程序: 四、部分代码说明1、接线引脚定义1.1、STC89C52RCPCF8591模块 五、基础知识学习与相关资料下载六、视频效果…

JavaScript的基础语法

目录 一、初识JavaScript(简称JS) 1.JavaScript 运行过程 2.JavaScript 的组成 二、JavaScript的规范与调试 1.JavaScript 的书写形式 1.1 行内式 1.2 内嵌式(建议写在之前) 1.3 外部式(建议写在之前&#xf…

基于 SpringBoot+Vue 的在线学习平台(附源码)

摘 要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括学习平台的网络应用,在外国学习平台已经是很普遍的方式,不过国内的管理平台可能还处于起步阶段。学习平台具有学习信息管理功能的选择。学习平台…

【Java|golang】2437. 有效时间的数目

给你一个长度为 5 的字符串 time ,表示一个电子时钟当前的时间,格式为 “hh:mm” 。最早 可能的时间是 “00:00” ,最晚 可能的时间是 “23:59” 。 在字符串 time 中,被字符 ? 替换掉的数位是 未知的 ,被替换的数字…

大型数据库期末总复习【SQL server 2008 基础教程】

一、概述 1.Microsoft SQL Server系统的体系结构 Microsoft SQL Server 2008系统由4个主要部分组成。这4个部分被称为4个服务,这些服务分别是数据库引擎、分析服务、报表服务和集成服务。这些服务之间相互存在和相互应用,它们的关系示意图如图所示&…

Web安全:AppScan 安装和使用.(渗透常用工具)

Web安全:AppScan 安装和使用. AppScan是一款web安全扫描工具,可以利用爬虫技术进行网站安全渗透测试,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告和修复建议等. 目录: Web安全:AppSc…