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

存储系统,总线系统,输入输出系统和可靠性 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.hqwc.cn/news/485107.html

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

相关文章

C2-1.4(L1,L2)正则化

C2-1.4(L1,L2)正则化 参考书籍 1 正则化的概念 正则化(Regularization) 是机器学习中对原始损失函数引入额外信息,以便防止过拟合和提高模型泛化性能的一类方法的统称。也就是目标函数变成了原始损失函数额外项,常用的额外项一般…

代码随想录第二十三天 回溯算法 77.组合 216.组合总和 17.电话号码的字母组合

回溯算法 LeetCode 77 组合 题目描述 思路 递归函数的返回值以及参数 在这里要定义两个全局变量&#xff0c;一个用来存放符合条件单一结果&#xff0c;一个用来存放符合条件结果的集合。 代码如下&#xff1a; vector<vector<int>> result; // 存放符合条件…

Docker容器与虚拟化技术:kylin 部署 docker容器应用

目录 一、实验 1.环境 2. kylin 部署 docker及版本升级 3.kylin 部署docker镜像加速 4.kylin 部署 nginx容器应用 5.kylin使用docker容器部署mysql实现数据持久化 6.kylin使用docker容器部署nginx实现配置文件持久化到本地 7.kylin 使⽤ docker 部署容器可视化平台porta…

【论文解读】Uncertainty Quantification of Collaborative Detection for Self-Driving

Uncertainty Quantification of Collaborative Detection for Self-Driving 摘要引言方法问题定义方法概览Double-M 实验结论 摘要 在联网和自动驾驶汽车(CAVs)之间共享信息从根本上提高了自动驾驶协同目标检测的性能。然而&#xff0c;由于实际挑战&#xff0c;CAV 在目标检测…

【LeetCode: 106. 从中序与后序遍历序列构造二叉树 + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

shell脚本实现Mysql分库分表备份

一.数据库的分库分表&#xff1f; 12张图把分库分表讲的明明白白&#xff01;阿里面试&#xff1a;我们为什么要分库分表https://mp.weixin.qq.com/s?__bizMzU0OTE4MzYzMw&mid2247547792&idx2&sn91a10823ceab0cb9db26e22783343deb&chksmfbb1b26eccc63b784879…

UIKit 在 UICollectionView 中拖放交换 Cell 视图的极简实现

概览 UIKit 中的 UICollectionView 视图是我们显示多列集合数据的不二选择&#xff0c;而丰富多彩的交互操作更是我们选择 UICollectionView 视图的另一个重要原因。 如上图所示&#xff1a;我们实现了在 UICollectionView 中拖放交换任意两个 Cell 子视图的功能&#xff0c;这…

PYQT5-自定义事件

from PyQt5.QtCore import QEvent, QObject from PyQt5.QtWidgets import QApplication import sys# 自定义事件类 class CustomEvent(QEvent):# PYQT5 预留给用户自定义事件类型的起点为 QEvent.User1000custom_event_type QEvent.registerEventType()# 也可以这样写# custom…

OpenCV人脸检测案例实战

人脸检测是一种计算机视觉技术&#xff0c;旨在识别图像或视频中的人脸。这项技术的基本内容包括使用特定的算法和模型来定位和识别人脸&#xff0c;通常涉及在图像中寻找面部特征&#xff0c;如眼睛、鼻子、嘴巴等&#xff0c;以便准确地确定人脸的位置和边界。人脸检测技术的…

【青龙】快速搭建青龙面板,部署属于你自己的应用!

青龙面板是一个支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台。 废话不多说&#xff0c;直接开始。 这里使用一台 雨云 的云服务器作为演示。雨云注册地址&#xff1a;https://www.rainyun.com/ 优惠码&#xff1a;lz932 使用优惠码注册后绑定微信可获得8折…

蓝桥杯:C++模运算、快速幂

模运算 模运算是大数运算中的常用操作。如果一个数太大&#xff0c;无法直接输出&#xff0c;或者不需要直接输出&#xff0c;则可以对它取模&#xff0c;缩小数值再输出。取模可以防止溢出&#xff0c;这是常见的操作。 模是英文mod的音译&#xff0c;取模实际上是求余。 取…

基于SpringBoot的在线拍卖系统设计与实现(源码+调试+LW+PPT)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的在线拍…