【DAY03 软考中级备考笔记】存储系统,总线系统,输入输出系统和可靠性

news/发布时间2024/5/16 5:22:46

存储系统,总线系统,输入输出系统和可靠性 2月22日 – 天气:阴转晴

济南下大雪,居家办公两天。

1. 计算机存储器的分类

  • 根据存储位置划分:
    • 内存/主存:用来保存当前正在运行的程序所需要的数据,速度快,容量小
    • 外存/辅存:用于保存当前不参与运行的程序,容量大但是速度慢

请添加图片描述

  • 按照材料可以划分:
    • 磁存储器:例如磁带和磁盘
    • 半导体存储器:MOS,高速缓存
    • 光存储器:光盘💿

请添加图片描述

  • 按照工作方式划分:
    • RAM:随机存储器,支持读取和写入。断电后内容消失
    • ROM:只读存储器,通常由厂家生产的时候写入固定的数据,一般用于存储程序的BIOS信息和微程序控制
      • RPOM:可编程的ROM,只允许用户写入一次数据,之后就不能再次修改
      • EPROM:可擦除可编程的只读存储器。允许写入和读取数据,通过紫外线照射可以清除信息
      • EEPROM:电子可擦除可编程的只读存储器。和上面的类似,数据通过电擦除的方式进行擦除
      • FLASH:删除存储器,比如U盘,速度要快于EPROM

请添加图片描述

2. 高速缓存Cache

高速缓存利用了程序的局部性原理,所谓程序的局部性原理是指:

  • 空间局部性:程序执行过程中,将来要用到的程序和数据很有可能和现在正在使用的程序在存储空间上是临近的。比如顺序执行的程序
  • 时间局部性:在程序的执行过程中,现在用到的信息,将来也可能要用到。例如程序中的循环语句。

3. Cache和主存之间的地址映射

我们知道,cache中保存的是主存中数据的部分副本,因此存在一种映射关系将主存的数据映射到cache中。映射的方式主要有三种:

3.1 直接映射

直接映射就是将主存的块和cache中的块的对应关系是固定的,比如主存中的第一块就只能映射到cache中的第一块中。

这种方式的优点是地址映射比较简单,但是灵活性差。

请添加图片描述

3.2 全相连映射

这种方式允许主存中的任意一块空间映射到cache中的任意一块空间。优点是主存中的块存入cache中不受限制,非常灵活。缺点是无法通过主存直接获取到其对应在cache中的块号,地址变换比较复杂,因此速度比较慢。

在这里插入图片描述

3.3 组相连映射

这种方式综合了前两种方式,具体操作是将cache进行分块,块内部采用的是全相连的方式,而对于块与块之间还是采用的是全相连的模式。

请添加图片描述

注意这三种方式的主存地址结构

4. 缓存的替换算法

当缓存已满的时候,如果有新的内容要写入缓存,则必须遵循一定的缓存替换策略,下面是常用的几种策略:

  • 随机替换算法(RAND):使用随机数发生器随机生成一个要替换的块号,然后替换出去。
  • 先进先出(FIFO):根据进入cache的先后进行替换
  • 最近最少使用(LRU):选择cache中最近最少使用的块替换出去
  • 优化替换(OPT):首先先执行一边程序,了解何时需要替换哪一个块,然后基于这个结构,在第二次执行该程序的时候可以使用最有效的方式进行替换。

在这里插入图片描述

5. Cache相关计算题

在这里插入图片描述

6.Cache相关习题和总结

请添加图片描述
请添加图片描述

Cache知识点总结

  • 位于CPU和主存之间,由硬件来实现

  • 容量较小,一般在几KB到几MB之间

  • 速度一般会比主存快5到10倍,由快速的半导体存储器制成

  • 保存的内容是主存内容的副本,因此cache无法用来扩充主存的容量

  • 对于程序员来说,是透明的

  • cache既可以存放程序,也可以存放数据

  • 当CPU访问数据时,会首先到cache中寻找数据,如果找到了数据,则为命中。如果找不到时且命令为读取数据操作,则需要从主存中获取。若此时缓存已满,则需要根据一定的缓存替换策略进行替换。如果是写入操作,则直接将数据写入主存即可。高速缓存的特点

  • 位于CPU和主存之间,由硬件来实现

  • 容量较小,一般在几KB到几MB之间

  • 速度一般会比主存快5到10倍,由快速的半导体存储器制成

  • 保存的内容是主存内容的副本,因此cache无法用来扩充主存的容量

  • 对于程序员来说,是透明的

  • cache既可以存放程序,也可以存放数据

  • 当CPU访问数据时,会首先到cache中寻找数据,如果找到了数据,则为命中。如果找不到时且命令为读取数据操作,则需要从主存中获取。若此时缓存已满,则需要根据一定的缓存替换策略进行替换。如果是写入操作,则直接将数据写入主存即可。

7. 主存的编址

在这里插入图片描述

关于字扩展和位扩展

  • 字扩展实际上增加了存储单元的数量,上图中最右边采用的就是字扩展,字扩展实际上是增加了存储字的数量
  • 位扩展实际上是扩展了存储字长,由之前的4位扩展到了8位

相关资料https://blog.csdn.net/redRnt/article/details/83503547

主存编址涉及到的相关计算题:

https://blog.csdn.net/qq_40572023/article/details/124286318

8. 硬盘

硬盘考的比较少,设计的考点主要是硬盘存取时间的计算。

请添加图片描述

9. 总线

总线的分类主要有:

  • 片内总线:片内总线主要负责芯片内部通讯。他是CPU芯片内部寄存器与寄存器之间,寄存器与ALU之间进行数据交换的连接线
  • 系统总线:是计算机内部各个部件之间进行传输数据的通讯线路。根据传输的信息不同,可以分为以下三类:
    • 数据总线 传输地址信息,包括主存单元或I/O端口的地址
    • 控制总线 传输各功能部件之间的数据信息,包括指令和操作数。
    • 地址总线 一根控制线传输一个控制信号
  • 通信总线:计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线或设备总线。

10. 输入输出技术

在这里插入图片描述

程序查询和中断方式的区别是:

  • 程序查询需要CPU每隔一段时间就是访问输入输出设备,看看是否已经准备好可以使用
  • 中断是输入输出设备就绪后发送消息给CPU
  • 也就是说第一种是CPU主动询问,第二种是CPU被动接收

11. 可靠性的计算

在这里插入图片描述

这里主要掌握可靠性的计算公式即可

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

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

直接查看电脑几核芯几线程的方法

之前查看电脑几核芯几线程时都是点击 此电脑->属性->设备管理器->处理器 但是这样并不能判断是否有多线程 譬如这里,是2核芯2线程还是4核芯? 实际上,打开任务管理器后点击性能查看核芯线程数即可 所以示例这台电脑是4核芯而不是2…

分类预测 | Matlab实现CWT-DSCNN-MSA基于时序特征、cwt小波时频图的双流卷积融合注意力机制的分类预测

分类预测 | Matlab实现CWT-DSCNN-MSA基于时序特征、cwt小波时频图的双流卷积融合注意力机制的分类预测 目录 分类预测 | Matlab实现CWT-DSCNN-MSA基于时序特征、cwt小波时频图的双流卷积融合注意力机制的分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab…

GEE数据集——30 米全球年度烧毁面积地图 (GABAM)(更新)

30 米全球年度烧毁面积地图 (GABAM) 迄今为止,全球烧毁面积(BA)产品只有较高的空间分辨率,因为目前大多数全球烧毁面积产品都是在主动火灾探测或密集时间序列变化分析的帮助下生成的,这需要非常高的时间分辨率。不过&a…

【conda环境 安装 tensorflow2.2】 解决方案

1.检查anaconda安装:在cmd输入 conda --version 2.检测已经安装的环境:conda info --envs 3.新建一个python3.5的环境,tensorflow: ###conda create -n xxx python3.5 xxx为虚拟环境名 ###conda create -n xxx python3.6 xxx为虚拟…

Go语言基础总结

一、Go语言结构 包声明 引入包 函数 变量 语句&表达式 注释 下面简单给出hello.go文件。 package src /*定义包名*/import "fmt" /*引入包*/func hello() { /*函数*/fmt.Println("Hello,World!") /*语句&表达式*/fmt.Println("菜鸟教…

TCP 三次握手和四次挥手

为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。 1 TCP 三次握手漫画图解 如下图所示,下面的两个机器人通过3次握手确定了对方能正确接收和发送消息(图片来源网络)。 简单示意图: 客户端–发送带有 SYN 标志的数据包–一次握手…

智慧城市|SHARE 孪影F2 PRO 在数字化城市平台中的应用。

在数字化时代背景下,乌审旗政府积极响应实景三维中国建设工作,以数字乌审作为全旗智慧城市总框架、总平台,致力提升城市治理现代化水平,结合互联网、云计算、人工智能等信息技术建设新型智慧城市,推进城市发展新理念。…

聊聊 Git SubModule(子模块)

比如在公司不同开发团队中,有一个基础共享库,同时被多个项目调用。若要保证基础共享库的动态更新,那么就需要把共享库独立为一个代码库,但是分别把共享库中的文件拷贝到各自的项目中会造成冗余,而且再次更新共享库就会…

MySQL报错:sql_mode=only_full_group_by解决方法

Linux环境 ubuntu 22.04 MySQL是8.0.35版本 问题描述 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column auth_system.t_class_temp_config.id which is not functionally dependent on columns in GROUP BY clause; this is inco…

ffmpeg的pcm、yuv小知识点

ffmpeg的pcm、yuv小知识点 pcm、yuv保存调用,写个通用工具方法,平时快速保存,和调用方便查看自己bug ffmpeg的AVFrame存储 yuv 调用方法 保存方法 void save_yuv420p_file(unsigned char *y_buf , unsigned char *u_buf,unsigned char *…

深入理解flinksql执行流程,calcite与catalog相关概念,扩展解析器实现语法的扩展

深入理解Flink Sql执行流程 1 Flink SQL 解析引擎1.1SQL解析器1.2Calcite处理流程1.2.1 SQL 解析阶段(SQL–>SqlNode)1.2.2 SqlNode 验证(SqlNode–>SqlNode)1.2.3 语义分析(SqlNode–>RelNode/RexNode&#…

仿12306校招项目-前后端运行

目录 1.git 克隆 2.设置JDK版本 3.sql脚本导入数据 4.启动中间件 5.运行后端 6.运行前端 1.git 克隆 打开 IntelliJ IDEA,菜单栏顶部找到 Git -> Clone 选项。找到 Clone 这个按钮输入 gitgitee.com:nageoffer/12306.git或者https://gitee.com/nageoffer/…

ELK 简介安装

1、概念介绍 日志介绍 日志就是程序产生的,遵循一定格式(通常包含时间戳)的文本数据。 通常日志由服务器生成,输出到不同的文件中,一般会有系统日志、 应用日志、安全日志。这些日志分散地存储在不同的机器上。 日志…

探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架

探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架 进入2023年以来,ChatGPT的成功带动了国内大模型的快速发展,从通用大模型、垂直领域大模型到Agent智能体等多领域的发展。但是生成式大模型生成内容具有一定的不可控性&#xff0c…

ETL数据集成工具DataX、Kettle、ETLCloud特点对比

ETL数据集成工具 对于数据仓库,大数据集成类应用,通常会采用ETL工具辅助完成。ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract) 、交互转换(transform) 、加载(load)至的端的过程当前的很多应…

(3)(3.6) 用于OpenTX的Yaapu遥测脚本

文章目录 前言 1 安装和操作 2 参数说明 前言 这是一个开源 LUA 脚本,用于在使用 OpenTX 2.2.3 的 Horus X10、X12、Jumper T16、T18、Radiomaster TX16S、Taranis X9D、X9E、QX7 和 Jumper T12 无线电设备上显示 FrSky 的直通遥测数据(FrSky passthrough telem…

【递归】:原理、应用与案例解析 ,助你深入理解递归核心思想

递归 1.基础简介 递归在计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集 例如 递归遍历环形链表 基本情况(Base Case):基本情况是递归函数中最简单的情况,它们通常是递…

Rabbitmq入门与应用(六)-rabbitmq的消息确认机制

rabbitmq的消息确认机制 确认消息是否发送给交换机 配置 server:port: 11111 spring:rabbitmq:port: 5672host: 192.168.201.81username: adminpassword: 123publisher-confirm-type: correlated编码RabbitTemplate.ConfirmCallback ConfirmCallback 是一个回调接口&#xf…

Http改为Https后该如何测试

需要了解Http和Http之间的关系,他们之间都有哪些优点,哪些缺点,如果使用的产品进行了更改,该如何进行测试等等,Https提供了一个安全层(SSL/TLS),这个安全层在客户端和服务器之间提供…

(十一)【Jmeter】线程(Threads(Users))之jp@gc-Ultimate Thread Group

简述 操作路径如下: 作用:提供了高级的线程组控制选项,支持更复杂的场景模拟。配置:设置多种线程控制参数,如启动延迟、启动线程数、并发压测持续时间、关闭线程时间等。使用场景:针对特定需求进行高级的并发访问模拟,如流量控制、延迟启动等。优点:提供了丰富的控制…
推荐文章