【软考中级备考笔记】计算机体系结构

计算机体系结构 2月19日 – 天气:阴转小雪

1. 冯诺依曼计算机体系结构

冯诺依曼将计算机分为了五大部分,分别是:

  • 控制器:主要负责协调指令到执行
  • 运算器:负责算数和逻辑运算
  • 存储器:负责存储在指令执行过程中产生的一些中间变量
  • 输出输出设备:用于接收用户输入并将结果显示给用户

冯诺依曼计算机体系结构由一下特点:

  • 冯·诺依曼计算机主要由五大部件组成,分别是:运算器、控制器、存储器、输入设备和输出设备;

  • 冯诺依曼体系结构的指令和数据均采用二进制码表示;

  • 指令和数据以同等地位存放于存储器中,均可按地址寻访;

  • 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;

  • 指令在存储器中按顺序存放,通常指令是按顺序执行的,特定条件下,可以根据运算结果或者设定的条件改变执行顺序;

  • 机器以运算器为中心,输入输出设备和存储器的数据传送通过运算器。

在这里插入图片描述

其中,控制器和运算器成为CPU,而CPU+主存成为主机。

在这里插入图片描述

2. 主存储器

主存储体有三部分组成:

  • 存储体:实际保存内容的记忆体
  • MAR:地址寄存器。
  • MDR:数据寄存器。

还有一些其他的概念需要知道:

  • 存储单元:用于存储一串二进制的数据,是寻址的最小单元
  • 存储字长:存储单元中二进制数据的位数
  • 存储字:存储单元中存储的二进制的数据
  • 机器字长:CPU一次所能处理的最大二进制位数

其中,MAR的位数决定了存储单元的长度。比如一个长度为4的MAR,那么对应的存储单元的个数就是16个。

MDR决定了每一个存储单元可以存储的二进制的位数。因此对于一个长度为16位的MDR,所对应的存储字长位16。

在这里插入图片描述

3. CPU

CPU主要由运算器和控制器组成,下面是运算器的一些基本结构:

  • ACC:累加器
  • MQ:乘商寄存器,用于在乘除运算时存放操作数和运算结果
  • X:通用操作数寄存器,用于存放操作数
  • ALU:算数逻辑单元,使用复杂电路实现算数和逻辑运算
  • DR:数据缓存寄存器
  • PSW:程序状态字,用于保存程序运行的状态

在这里插入图片描述

对于控制器来说,主要组成由:

  • CU:控制单元,负责分析指令并给出控制信号
  • IR:指令寄存器,存放当前正在执行的指令
  • PC:程序计数器,存放下一条待执行的指令,有自动加一的功能
  • AR:地址寄存器,存放当前CPU所要访问的内存地址
  • ID:指令译码器,对操作码进行分析

在这里插入图片描述

4. Flynn分类法

主要就是记住不同类型的英文缩写。重点掌握第三条的特点是仅仅理论存在,在实际上不可行。

在这里插入图片描述

5. 指令系统

指令指的是计算机执行某一种操作的命令,是计算机运行的最小单位

一台计算机中所有的指令的集合称为指令系统,也叫做指令集

指令建立了计算机软件与硬件之间沟通的桥梁。

在这里插入图片描述

一条指令由两部分构成:

  • 操作码:指定要进行的操作,可以是加减运算,系统中断等等
  • 地址码:指定要操作的对象的,可能是对象本身,也可能是对象在内存中或寄存器中的存储的地址

指令可以没有地址码,但是必须有操作码。比如系统中断指令就不需要地址码

寻找指令的方式由叫做寻址方式,分为一下两步:

  • 指令寻址:指令寻址就是从PC中获取下一条需要执行的指令
  • 数据寻址:当分析完毕需要执行的指令时,如果指令中包含了操作码,则需要根据操作码去获取到真正要操作的数据,这一过程称之为地址寻址。

在这里插入图片描述

常见的七种寻址方式:

在计算机科学中,寻址方式是指计算机处理器中用于获取内存地址的方法。以下是七种常见的寻址方式:

  • 立即寻址(Immediate Addressing):指令中包含要操作的数据本身的值,而不是该数据的地址。例如,ADD #5 意味着将寄存器中的值与立即数5相加。

    • 实际操作的数据即不存储在内存中,也不存储于内存中。
    • 不访问内存和寄存器。
  • 直接寻址(Direct Addressing):指令中包含要操作数据的内存地址。例如,LOAD 500 意味着从内存地址500中加载数据到寄存器中。

    • 实际操作的数据存储于内存中。
    • 访问一次内存。
  • 间接寻址(Indirect Addressing):指令中包含一个地址,该地址存储了要操作数据的内存地址。例如,LOAD (500) 意味着从存储在地址500处的内存中加载数据到寄存器中。

    • 实际操作的数据存储于内存中。
    • 访问两次内存。第一次取地址,第二次根据地址找到操作数。
  • 寄存器寻址(Register Addressing):指令中包含一个寄存器的编号,该寄存器中存储了要操作的数据。例如,LOAD R1 意味着将寄存器R1中的数据加载到另一个寄存器中。

    • 实际操作的数据存储于寄存器中。
    • 只访问一次寄存器。
  • 寄存器间接寻址(Register Indirect Addressing):指令中包含一个寄存器的编号,该寄存器中存储了要操作数据的内存地址。例如,LOAD (R1) 意味着从寄存器R1中存储的内存地址中加载数据到寄存器中。

    • 实际操作的数据存储于内存中。
    • 需要首先访问寄存器获取到内存地址。然后根据内存地址获取操作数。
  • 相对寻址(Relative Addressing):指令中包含一个相对于程序计数器(PC)的偏移量,该偏移量用于计算要操作数据的地址。例如,JUMP 10 意味着将程序控制转移到当前位置加上10的地址处。

    • 实际操作的数据存储于内存中。
    • 需要访问一次内存
  • 基址寻址(Base Addressing):指令中包含一个基址寄存器的编号和一个偏移量,该偏移量用于计算要操作数据的地址。例如,LOAD 10(R1) 意味着从存储在寄存器R1中的基址加上偏移量10处加载数据到寄存器中。

    • 实际操作的数据存储于内存中。
    • 需要首先从寄存器中获取基址,根据基址和偏移量获取内存地址。然后访问内存根据地址取出操作数。

一般计算机的指令系统主要分为了CISC和RISC,下面是一个简答的对比:

在这里插入图片描述

6. 流水线计算题

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7. 存储系统的层次结构

根据距离CPU的远近程度,划分了一下层级:

在这里插入图片描述

其中cache的作用是为了解决CPU和主存不一致的问题而建立的。

在这里插入图片描述

需要注意的问题

  • cache的作用是为了解决CPU和主存不一致的问题而建立的。
  • cache中存储的是内存中的部分数据
  • CPU先去cache中搜索数据,如果存在则直接返回。如果不存在,则到内存中搜索。同时将搜索到的数据存放到cache中

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Javaweb之SpringBootWeb案例之切入点表达式的详细解析

3.3 切入点表达式 从AOP的入门程序到现在,我们一直都在使用切入点表达式来描述切入点。下面我们就来详细的介绍一下切入点表达式的具体写法。 切入点表达式: 描述切入点方法的一种表达式 作用:主要用来决定项目中的哪些方法需要加入通知 …

SOPHON算能科技新版SDK环境配置以及C++ demo使用过程

目录 1 SDK大包下载 2 获取SDK中的库文件和头文件 2.1 注意事项 2.2 交叉编译环境搭建 2.2.1 首先安装工具链 2.2.2 解压sophon-img包里的libsophon_soc__aarch64.tar.gz,将lib和include的所有内容拷贝到soc-sdk文件夹 2.2.3 解压sophon-mw包里的sophon-mw-s…

【Simulink系列】——动态系统仿真 之 连续系统线性连续系统

声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习! 一、连续系统定义 连续系统输出在时间上连续变化,而非间隔采样取值,满足以下条件: ①输出连续变化,变化的间隔…

java中实体pojo对于布尔类型属性命名尽量别以is开头,否则 fastjson可能会导致属性读取不到

假如我们有一个场景,就是需要将一个对象以字符串的形式,也就是jsonString存到一个地方,比如mysql,或者redis的String结构。现在有一个实体,我们自己创建的,叫做CusPojo.java 有两个属性是布尔类型的&#x…

删除有序数组中的重复项 II

题目链接 删除有序数组中的重复项 II 题目描述 注意点 nums 已按升序排列1 < nums.length < 30000原地删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次返回删除后数组的新长度 解答思路 因为数组是按升序排列的&#xff0c;可以使用将某个区间…

[C#]winform基于opencvsharp结合pairlie算法实现低光图像增强黑暗图片变亮变清晰

【低光图像增强介绍】 在图像处理领域&#xff0c;低光图像增强是一个具有挑战性的任务。由于光线不足&#xff0c;这些图像往往呈现出低对比度、高噪声和细节丢失等问题&#xff0c;严重影响了图像的视觉效果和后续分析的准确性。因此&#xff0c;开发有效的低光图像增强方法…

解锁文档处理新境界:ONLYOFFICE编辑功能为开发者带来新机遇

引言 ONLYOFFICE最新发布的文档8.0版本带来了一系列引人注目的功能和优化&#xff0c;为用户提供了更强大、更高效的在线编辑体验。这次更新涵盖了多个方面&#xff0c;包括PDF表单、RTL支持、单变量求解、图表向导以及插件界面设计更新等。这些新功能不仅提升了文档处理的便利…

关于投资,房地产,AI

各位朋友&#xff0c;新年好&#xff01; 过个年&#xff0c;世界发生了很多大事&#xff01; 投资 先是证监会&#xff0c;证监会年前换帅&#xff0c;吴清接棒&#xff0c;吴清何许人也&#xff1f;江湖人称“券商屠夫”&#xff0c;成功处置了2008年的券商风险&#xff0…

【Linux】Linux权限

Linux权限 Linux下用户的分类切换用户su 和 su - 的区别 对命令提权 权限的概念Linux权限管理文件访问者的分类&#xff08;人&#xff09;1️⃣拥有者u→user2️⃣其他人o→others3️⃣所属组group 文件类型和访问权限&#xff08;事物属性&#xff09;文件文件类型文件的基本…

单片机stm32智能鱼缸

随着我国经济的快速发展而给人们带来了富足的生活&#xff0c;也有越来越多的人们开始养鱼&#xff0c;通过养各种鱼类来美化居住环境和缓解压力。但是在鱼类饲养过程中&#xff0c;常常由于鱼类对水质、水位及光照强度有着很高的要求&#xff0c;而人们也由于工作的方面而无法…

齐次方程是否有非零解,和它的系数矩阵行列式的关系

视频来源&#xff1a;https://www.bilibili.com/video/BV1vY4y1J7gd/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 4:22 有这么一句话&#xff0c;如下图 对于齐次方程&#xff0c;若系数矩阵的行列式为零&#xff0c;则方程…

vue-router钩子函数有哪些?都有哪些参数?

Vue.js是一款流行的JavaScript框架&#xff0c;它提供了大量的工具和特性&#xff0c;使得web前端开发更加高效和灵活。其中之一就是Vue-router&#xff0c;它是Vue.js官方路由插件&#xff0c;可以实现前端路由的管理和控制。在使用Vue-router时&#xff0c;我们可以利用钩子函…

VsCode指定插件安装目录

VsCode指定插件安装目录 VsCode安装的默认目录是在用户目录(%HomePath%)下的.vscode文件夹下的extensions目录下&#xff0c;随着安装插件越来越多会占用大量C盘空间。 指定VsCode的插件目录 Vscode安装目录&#xff1a; D:\Microsoft VS Code\Code.exeVscode插件安装目录&a…

Linux搭建JavaEE环境

Linux搭建JavaEE环境 需要在 Linux 下进行 JavaEE 的开发&#xff0c;我们需要安装如下软件 JDKtomcatmysqlidea 安装JDK 安装步骤 首先去官网下载jdk的linux版本 下载地址&#xff1a;https://www.oracle.com/cn/java/technologies/downloads/ 1) mkdir /opt/jdk 2) 通过 …

C语言二级易忘易错易混知识点(自用)

1.数组名不能自加。 因为数组名实际上是一个指针&#xff0c;指向数组的第一个元素的地址。数组名在编译器中被视为常量&#xff0c;它的值是固定的&#xff0c;不能改变。 要访问数组的不同元素&#xff0c;应该使用数组名加上偏移量的方式来访问。 2.共用体只有最后一次赋值…

计算机组成原理----计算机系统

目录 1.计算机的硬件和软件 2.硬件的发展 3.软件的发展 4.计算机硬件的基本组成 &#xff08;1&#xff09;早期冯诺依曼机的结构 &#xff08;2&#xff09;现代计算机的结构 5.各硬件的工作原理 &#xff08;1&#xff09;主存储器 &#xff08;2&#xff09;运算器…

前端|Day2:列表、表格、表单(黑马笔记)

Day2&#xff1a;列表、表格、表单 目录 Day2&#xff1a;列表、表格、表单一、列表1.无序列表2.有序列表3. 定义列表 二、表格1.基本使用2. 表格结构标签(了解)3.合并单元格 三、表单1.input 标签2.input 标签占位文本3.单选框4.上传文件5.多选框6.下拉菜单7.文本域8.label 标…

【论文精读】MAE

摘要 将掩码重建任务从nlp引入到cv&#xff0c;提出非对称掩码自编码器。 框架 概述 如上图&#xff0c;本文提出掩码自编码器&#xff0c;即将给定原始信号的部分观测值的情况下重建原始信号&#xff0c;编码器将观察到的部分信号(没有掩码标记)映射到潜在表示&#xff0c;采…

电大考试哪个搜题软件好用?分享6个可以搜答案的软件 #经验分享#其他#微信

当今社会&#xff0c;技术的发展给我们带来了许多便利&#xff0c;包括了许多实用的学习工具。 1.三羊搜题 这是一个公众号 它支持文本搜索、扫码搜书、拍照搜索&#xff0c;不会的题目直接对准书书本&#xff0c;或手打文字搜索题目&#xff0c;找到的后的题目都有详细的解…

【JVM篇】什么是运行时数据区

文章目录 &#x1f354;什么是运行时数据区⭐程序计数器⭐栈&#x1f50e;Java虚拟机栈&#x1f388;栈帧的内容 &#x1f50e;本地方法栈 ⭐堆⭐方法区 &#x1f354;什么是运行时数据区 运行时数据区指的是jvm所管理的内存区域&#xff0c;其中分为两大类 线程共享&#xf…