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

news2024/9/20 22:39:18

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

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

相关文章

远程连接 vscode 出错 “远程主机可能不符合 glibc 和 libstdc++ VS Code 服务器的先决条件”

原因: vscode 版本是 1.86,服务器上的 glibc 和 libstdc 版本不满足 要求(2.28 和 3.4.25)。 解决: 1、下载 1.85.2,解压直接运行 Code.exe。 2、回退 Remote-ssh 到 0.107.1。 参考: vscode 1.86版本远程ssh不兼容旧…

开源图表库Echarts 简介与基本使用

ECharts 是一个使用 JavaScript 实现的开源可视化图表库,由百度团队开发。它提供了丰富的图表类型,如折线图、柱状图、饼图、地图、雷达图等,并且可以轻松地与其他前端框架和库集成。ECharts 的设计目的是为了满足复杂数据的可视化需求&#…

CleanMyMac X2024破解版Mac系统优化和清理软件

CleanMyMac X2024全面介绍作为一名软件分析师,我深入研究了CleanMyMac X这款Mac系统优化和清理软件。CleanMyMac X以其丰富的功能、独特的特点、显著的优势以及广泛的适用场景,赢得了市场和用户的青睐。 CleanMyMac X2024绿色永久全新版下载如下: https…

Vulnhub靶机:DC8

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:DC8(10.0.2.61) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entry/dc-8,367/…

全球游戏市场回暖,Flat Ads推动海外获客增长

摘要:热门游戏品类分析,解读新兴市场与赛道 近日,中国音数协游戏工委发布了《2023年中国游戏出海研究报告》,据报告数据显示,2023年,全球游戏市场规模11773.79亿元,同比增长6.00%,呈现增长回暖趋势。 图源:伽马数据 1.SLG和RPG游戏热度居高不下,休闲游戏增长势头强劲 目前,S…

MacBook安装Ansible

MacBook安装Ansible Ansible介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于…

《多线程并发控制:选择正确的锁策略》:互斥锁、自旋锁、读写锁、乐观锁、悲观锁

各类锁的概念回顾 互斥锁 互斥锁加锁失败后,线程会释放 CPU ,给其他线程;自旋锁加锁失败后,线程会忙等待,直到它拿到锁; 互斥锁是一种「独占锁」,比如当线程 A 加锁成功后,此时互…

ubuntu22.04@laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module

ubuntu22.04laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module 1. 源由2. 应用Demo2.1 C应用Demo2.2 Python应用Demo 3. 使用 OpenCV DNN 模块进行图像分类3.1 导入模块并加载类名文本文件3.2 从磁盘加载预训练 DenseNet121 模型3.3 读取图像并准备为模型输…

第2.1章 StarRocks表设计——概述

注:本篇文章阐述的是StarRocks-3.2版本的表设计相关内容。 建表是使用StarRocks非常重要的一环,规范化的表设计在某些场景下能使查询性能有数倍的提升。StarRocks的表设计涉及到的知识点主要包括数据表类型、数据分布(分区分桶及排序键&#…

【DDD】学习笔记-发布者—订阅者模式

在领域设计模型中引入了领域事件,并不意味着就采用了领域事件建模范式,此时的领域事件仅仅作为一种架构或设计模式而已,属于领域设计模型的设计要素。在领域设计建模阶段,如何选择和设计领域事件,存在不同的模式&#…

通信入门系列——锁相环、平方环、Costas环

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、锁相环 1、压控振荡…

探索分布式强一致性奥秘:Paxos共识算法的精妙之旅

提到分布式算法,就不得不提 Paxos 算法,在过去几十年里,它基本上是分布式共识的代名词,因为当前一批常用的共识算法都是基于它改进的。比如,Fast Paxos 算法、Cheap Paxos、Raft 算法等。 由莱斯利兰伯特(L…

AI Agent深入浅出——以ERNIE SDK和多工具智能编排为例

在过去一年里,通用大语言模型(LLM)的飞速发展引起了全球的关注。百度等科技巨头推出了各自的大模型,不断提高语言模型性能的上限。然而,业界对LLM所设定的目标不再局限于基本的问答功能,而是寻求利用大模型…

mysql入门到精通007-基础篇-事务

1、事务简介 事务是一组操作的集合,它是一个不可分割的事物单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 2、操作演示 开始张三和李四账户表中都是2000元&#xf…

发布订阅模式:观察者模式的一种变体

发布-订阅模型(Publish-Subscribe Model)的底层机制通常基于观察者模式。 发布-订阅模型是观察者模式的一种变体。 在观察者模式中,主题(或被观察者)维护了一组观察者,当主题的状态发生变化时&#xff0c…

uni-app 人脸识别 App端

文章目录 背景介绍开发前准备基础版获取视频流人脸识别版本这时候就可以开心的调试了背景介绍 本文介绍如何制作人脸打卡等类似功能的实现。 使用nvue+live-pusher来实现。在App端这是成本较低的可以控制样式的方案了 实现了两个版本 基础版本:视频流 => 抓拍照片 => 传…

信钰证券午评:沪指震荡微涨,券商、银行板块拉升,Sora概念再爆发

23日早盘,沪指盘中强势拉升,一度克复3000点大关,随后震荡回落;深成指、创业板指、科创50指数等均走低;北向资金大幅流出。 截至午间收盘,沪指微涨0.02%报2988.87点,深成指跌0.48%,创…

一、网络基础知识

1、IP地址和端口号 1.1、IP地址 定义:用于在网络中唯一标识设备的地址。格式:通常由四个数字组成,以点分十进制表示,例如:192.168.0.1。(IPv4)作用:允许网络中的设备相互通信,通过IP地址可以定…

navicat导出数据库表结构信息

需求阐述 要求导出某一数据库表中的所有表的结构,汇总成一个word 准备工作 拿到所有表名,在navicat中执行sql语句:show tables;然后点击导出结果,选择excel格式进行导出。 拿到该数据库所有表名后,在navicat中执行如…

vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet

问题 CMD下载完yarn可以查看到yarn版本,但是进入到vscode控制台报错无法识别,报错内容如下: vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径&#xff…