网络工程师 (4)存储系统

news2025/1/30 13:03:31

一、多级存储结构

(一)组成

  1. 寄存器

    • 寄存器是与CPU直接协调工作的高速存储器,用于加速存储器的访问速度。
    • 它通常用于存放操作数或作为地址寄存器,以加快地址转换速度。
    • 寄存器的数量有限,一般在几个到几百个之间。
  2. 高速缓存(Cache)

    • 高速缓存位于CPU和主存之间,用于存放主存中经常访问的信息。
    • 它基于程序执行的局部性原理,通过减少访问主存的次数来提高程序执行速度。
    • Cache通常由高速SRAM组成,其速度比主存高1到2个数量级。
    • Cache还分为一级Cache和二级Cache,一级Cache通常集成在CPU内部,二级Cache则可能位于CPU外部或主板上。
  3. 主存储器(主存)

    • 主存储器是计算机的主要工作存储器,用于保存进程运行时的程序和数据。
    • 它与CPU和外围设备交换的信息一般依托于主存储器地址空间。
    • 主存储器通常由DRAM(动态随机存取存储器)组成,其存储密度高且成本相对较低。
  4. 辅助存储器(辅存)

    • 辅助存储器包括磁盘(如固定磁盘和可移动磁盘)、磁带等大容量存储设备。
    • 它用于长期保存数据和程序,并在需要时将其加载到主存中。
    • 辅存的容量大且价格低,但访问速度相对较慢。

(二)优势

  1. 速度匹配

    • 通过引入寄存器和高速缓存,多级存储结构能够缩小CPU与主存之间的速度差距。
    • 寄存器直接与CPU协调工作,速度非常快;而高速缓存则基于程序执行的局部性原理,将主存中经常访问的信息存放在其中,从而减少了访问主存的次数。
  2. 容量扩展

    • 辅助存储器提供了大容量的存储空间,解决了主存容量不足的问题。
    • 通过将不常用的数据和程序保存在辅存中,并在需要时将其加载到主存中,多级存储结构能够确保计算机系统的正常运行。
  3. 成本降低

    • 多级存储结构结合了不同价格水平的存储器,从而降低了存储系统的整体成本。
    • 高速缓存和寄存器虽然成本高,但容量小;而主存和辅存则具有较大的容量和较低的成本。
  4. 灵活性

    • 多级存储结构允许计算机系统在运行时根据需要动态地分配和管理存储空间。
    • 这使得计算机系统能够灵活地应对不同的应用需求和工作负载。

(三)工作原理

  1. CPU访问存储器

    • 当CPU需要访问某个存储单元时,它首先会在寄存器中查找该单元的地址或数据。
    • 如果寄存器中没有找到所需的信息,CPU会尝试访问高速缓存。
    • 如果高速缓存中也没有找到所需的信息,CPU最终会访问主存或辅存。
  2. 存储层次间的数据交换

    • 当CPU从主存或辅存中读取数据时,它通常会将数据同时加载到高速缓存和寄存器中,以便后续快速访问。
    • 同样地,当CPU向主存或辅存写入数据时,它也会先更新高速缓存和寄存器中的相应信息。
  3. 存储管理

    • 多级存储结构需要有效的存储管理策略来确保数据的正确性和一致性。
    • 这包括地址映射、替换策略、缓存一致性等方面的管理。

二、主存

(一)概念

       主存,又称为主存储器或内存,是计算机中用于存放当前运行程序和数据的存储设备。它是CPU能够直接访问的内存,对于提高计算机的运行速度至关重要。

(二)分类

  1. 随机存取存储器(RAM)

    • RAM是最常见的主存类型,用于临时存储正在执行的程序和数据。
    • RAM的特点是读写速度快,但断电后数据会丢失。因此,RAM通常用于存放操作系统、正在运行的软件、输入和输出数据等临时信息。
    • RAM还可以进一步分为DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)。DRAM需要不断刷新电路以保持数据,而SRAM则不需要。因此,SRAM的速度更快,但价格也更高。
  2. 只读存储器(ROM)

    • ROM的特点是数据只能读出,不能写入。计算机关闭电源后,ROM内的信息仍然保存。
    • ROM通常用于存储固定的系统软件和字库等,如BIOS(基本输入输出系统)就存储在ROM中。
    • ROM还可以细分为MROM、PROM、EROM和闪存等类型。其中,闪存因其可擦写和可编程的特性,在现代计算机中被广泛应用。

(三)工作原理

  1. 地址译码电路:负责将CPU送来的地址信号翻译成对应的控制信号,以便选择特定的存储单元进行读写操作。
  2. 数据寄存器:用于存放从存储体读出或准备写入存储体的数据。数据寄存器的位数反映了存储字长。
  3. 数据总线:用于在CPU和主存之间传送数据。

(四)重要性

  1. 提高数据访问速度:主存的读写速度快,能够迅速响应CPU的读写请求,从而提高计算机的运行速度。
  2. 支持多任务处理:主存能够同时存储多个程序和数据,支持计算机进行多任务处理。
  3. 作为程序和数据的临时存放场所:主存为程序和数据的运行提供了必要的存储空间。

(五)发展趋势

       随着技术的发展,主存储器的容量不断增大,速度也在不断提升。这主要得益于半导体技术的不断进步和制造工艺的改进。未来,主存还有望采用更先进的存储材料和技术,如相变内存、忆阻器等,以进一步提高密度、速度和功耗性能。

三、Cache

(一)基本概念

       Cache位于CPU和主存之间,起到了桥梁的作用。它的主要目的是减少CPU访问主存的次数,通过存储CPU近期可能会访问的数据和指令,从而加快数据的访问速度,提高系统的整体性能。Cache通常采用静态随机访问存储器(SRAM)实现,因为其访问速度比主存中的动态随机访问存储器(DRAM)更快。

(二)工作原理

       Cache的工作原理基于局部性原理,即程序在执行过程中,往往会在一段时间内频繁访问某些特定的数据和指令。Cache会将这些数据和指令存储在自身内部,以便CPU更快地获取所需信息。当CPU需要访问数据或指令时,首先会去Cache中查找,如果找到则可以直接取出,避免了对主存的访问。如果在Cache中没有找到需要的数据,则需要从主存中获取,并将数据存储到Cache中,以备后续访问。

(三)映射关系

  1. 全相联映射:主存中的任意一块都可以被放到Cache中的任意位置。为了区分Cache中存放的是哪个主存块,需要给每个Cache块增加一个“标记”,记录对应的主存块号,还需要增加“有效位”来标记是否有效。这种映射方式的优点是Cache存储空间利用充分,命中率高;缺点是查找“标记”最慢,有可能需要对比所有行的标记。
  2. 直接映射:每个主存块只能放到Cache中的一个特定位置。这种映射方式的优点是查找速度快,因为对于任意一个地址,只需对比一个“标记”;缺点是Cache存储空间利用不充分,命中率相对较低。
  3. 组相联映射:Cache被分为若干组,每个主存块可以放到特定分组中的任意一个位置。这种映射方式是前两种方式的折中,综合效果最好。

(四)替换算法

  1. 随机算法:随机选择一个Cache块进行替换。这种算法实现简单,但没有完全考虑局部性原理,因此命中率较低,实际效果很不稳定。
  2. 先进先出算法:替换最先被调入Cache的块。这种算法实现简单,但也没有完全考虑局部性原理,最先调入Cache的块也有可能是被频繁访问的。因此,可能会出现频繁的换入换出现象(抖动现象)。
  3. 近期最少使用算法:为每一个Cache块设置一个“计数器”,用于记录每个Cache块最近一次被访问的时间。替换最近最少被使用的Cache块。这种算法考虑了局部性原理,因此命中率较高。

(五)分类

  1. 统一Cache:指令预取时和数据读写时使用同一个Cache。
  2. 独立的数据/程序Cache:指令预取时使用一个Cache(指令Cache),数据读写时使用另一个Cache(数据Cache)。这种分类方式可以进一步提高Cache的命中率和性能。

(六)应用与重要性

       Cache在计算机系统中具有广泛的应用,几乎成为了现代计算机系统中不可或缺的一部分。它不仅可以用于存储频繁访问的指令和数据,减少CPU访问主存的次数,提高系统的整体性能;还可以用于加速文件系统的访问速度、提高数据的读写效率;在数据库系统中,Cache被用于存储热点数据,以减少数据库的访问压力,提高查询速度。此外,Cache还被广泛应用于网络通信、图形处理、视频编码等多个领域。

四、硬盘

(一)定义与分类

       硬盘,也被称为硬盘驱动器,是一种用于存储数据的计算机存储设备。它由一个或多个旋转的磁盘组成,每个磁盘都有一个磁性表面,可以读写数据。硬盘通常安装在计算机的内部,也可以用作外置设备。根据存储介质和技术的不同,硬盘主要分为以下几类:

  1. 固态硬盘(SSD):采用闪存颗粒来储存数据,无需机械运动部件,实现了电子方式的读写操作。这使得SSD在读写速度上表现出色,同时具备良好的抗震性能。然而,与机械硬盘相比,其容量限制和相对较高的价格也是不容忽视的缺点。
  2. 机械硬盘(HDD):采用磁性碟片来储存数据,通过磁头读写至磁盘。尽管机械硬盘的读写速度较慢,但其大容量与亲民的价格仍让它占有一席之地。
  3. 混合硬盘(HHD):把磁性硬盘和闪存集成到一起的一种硬盘,旨在结合SSD和HDD的优点,提供更快的读写速度和更大的存储容量。

(二)工作原理

       硬盘的工作原理基于电、磁的精妙转换。它主要由一个或多个金属或玻璃盘片构成,这些盘片表面覆盖着磁性物质。每个盘片都装有磁头,它们在控制电路的指挥下,能在盘片上径向移动至指定位置,从而实现数据的存储与读取。

  1. 写入数据:磁头中的电流会产生磁场,改变盘片表面磁性物质的状态,即便电流消失,这种改变仍能保留,从而完成了数据的存储。
  2. 读取数据:磁头经过指定区域,盘片表面的磁场会感应出电流或改变线圈阻抗,经电路处理后即可还原成数据。

(三)性能指标

  1. 容量:硬盘的容量以兆字节(MB)或千兆字节(GB)为单位,是硬盘最主要的参数。硬盘的容量越大,能存储的数据就越多。
  2. 转速:转速是硬盘内电机主轴的旋转速度,以每分钟多少转(RPM)来表示。转速越快,硬盘寻找文件的速度就越快,相对的硬盘的传输速度也就得到了提高。
  3. 平均访问时间:平均访问时间是指磁头从起始位置到达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间。它包括了硬盘的寻道时间和等待时间,体现了硬盘的读写速度。
  4. 传输速率:传输速率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)。它包括了内部数据传输率和外部数据传输率,前者反映了硬盘缓冲区未用时的性能,后者标称的是系统总线与硬盘缓冲区之间的数据传输率。
  5. 缓存:缓存是硬盘控制器上的一块内存芯片,具有极快的存取速度。它是硬盘内部存储和外界接口之间的缓冲器,能够大幅度地提高硬盘整体性能。

(四)应用场景

  1. SSD

    • 个人计算机:提升系统启动速度、软件加载速度以及文件传输效率。
    • 游戏设备:加快游戏的加载时间,减少卡顿现象,降低延迟。
    • 服务器和数据中心:提高数据处理和访问速度,增强整体性能和稳定性。
    • 创意工作:如视频编辑、图形设计、3D建模等,需要快速读取和写入大型文件。
    • 工业控制和嵌入式系统:对可靠性和稳定性有极高要求。
    • 移动设备:如智能手机、平板电脑等,提高读写速度和续航时间。
  2. HDD:因其大容量和亲民价格,仍广泛应用于需要存储大量数据的场景,如家庭娱乐、数据存储备份等。

  3. HHD:适用于需要兼顾速度和容量的场景,如企业级应用、高性能计算等。

五、存储系统的存取方式

(一)顺序存取

  1. 定义:顺序存取是指数据以记录的形式进行组织,对数据的访问必须按特定的线性顺序进行。

  2. 特点

    • 访问数据所需要的时间与数据所在的存储位置相关。
    • 读写装置需要按照顺序逐个访问数据块,不能跳跃访问。
  3. 应用:典型的顺序存储器是磁带。磁带存储器常用于备份和归档大量数据,因为它具有容量大、成本低的特点,但访问速度相对较慢。

(二)直接存取

  1. 定义:直接存取是指使用一个共享的读写装置对所有的数据进行访问,但每个数据块都拥有唯一的地址标识,读写装置可以直接移动到目的数据块所在位置进行访问。

  2. 特点

    • 介于顺序存取和随机存取之间的一种寻址方式。
    • 存取时间可变,因为数据块间的物理距离不同。
  3. 应用:磁盘存储器采用直接存取方式。磁盘包括硬盘和软盘,广泛应用于计算机系统中,用于存储操作系统、应用程序和数据文件等。

(三)随机存取

  1. 定义:随机存取是指存储器的每一个可寻址单元都具有自己唯一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问,而与先前的访问序列无关。

  2. 特点

    • 访问任何一个存储单元所需的时间是相同的。
    • 提高了数据访问的灵活性和速度。
  3. 应用:主存储器(如DRAM和SRAM)采用随机存取方式。主存储器是CPU直接访问的存储器,用于暂存CPU正在处理的程序和数据。

(四)相联存取

  1. 定义:相联存取也是一种随机存取的形式,但选择某一单元进行读写是取决于其内容而不是其地址。

  2. 特点

    • 每个单元都有自己的读写装置,读写时间是一个常数。
    • 可以对所有的存储单元的特定位进行比较,选择符合条件的单元进行访问。
  3. 应用:为了提高地址映射的速度,Cache(高速缓冲存储器)通常采用相联存取方式。Cache位于CPU和主存之间,用于存储CPU近期可能会访问的数据和指令,以加快数据访问速度。

 结语  

人生不迷于表象

不计较得失

!!!

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

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

相关文章

oracle比较一下统计信息差异吧

统计信息发生了哪些变化? 从上次收集到最近一次收集有什么不同? set long 999999 longc 99999 line 100 select report, maxdiffpct from table(dbms_stats.diff_table_stats_in_history(SYS,T1,to_timestamp(2025-01-22 09:01:46,YYYY-MM-DD hh24:mi:s…

Hive:内部表和外部表,内外转换

内部表和外部表 内部表示例 给表添加数据 外部表示例 给表添加数据 外部表示例 用location指定表目录位置,那么表的位置在实际指定的位置,但是可以被映射 外部表和内部表的区别 删除表后使用show tables in shao; 已经没有被删除的表,说明元数据已经被删除(mysql里面存放),但是…

P1030 [NOIP2001 普及组] 求先序排列(c++)详解

题目链接:P1030 [NOIP2001 普及组] 求先序排列 - 洛谷 | 计算机科学教育新生态 思路: 1.先确定跟节点 2.根据根节点,划分出左右子树 中:BADC 后:BDCA 分析: 根据后序遍历&#xff0…

Mac cursor设置jdk、Maven版本

基本配置 – Cursor 使用文档 首先是系统用户级别的设置参数,运行cursor,按下ctrlshiftp,输入Open User Settings(JSON),在弹出的下拉菜单中选中下面这样的: 在打开的json编辑器中追加下面的内容: {"…

提升企业内部协作的在线知识库架构与实施策略

内容概要 在当前快速变化的商业环境中,企业对于提升内部协作效率的需求愈显迫切。在线知识库作为信息存储与共享的平台,成为了推动企业数字化转型的重要工具。本文将深入探讨如何有效打造与实施在线知识库,强调架构设计、知识资产分类管理及…

Vue3.5 企业级管理系统实战(三):页面布局及样式处理 (Scss UnoCSS )

本章主要是关于整体页面布局及样式处理,在进行这一章代码前,先将前两章中的示例代码部分删除(如Home.vue、About.vue、counter.ts、App.vue中引用等) 1 整体页面布局 页面整体布局构成了产品的框架基础,通常涵盖主导…

Excel中LOOKUP函数的使用

文章目录 VLOOKUP(垂直查找):HLOOKUP(水平查找):LOOKUP(基础查找):XLOOKUP(高级查找,较新版本Excel提供): 在Excel中&…

美创科技获浙江省网络空间安全协会年度表彰

近日,浙江省网络空间安全协会第二届理事会第三次会议在杭州隆重召开,会议总结部署工作、表彰先进、分享创新实践成果。 会上,省委网信办副主任马晓军出席会议并致辞、宋皆荣理事长向第二届理事会报告2024年协会工作、常务副理事长单位浙江联通…

游戏引擎介绍:Game Engine

简介 定义:软件框架,一系列为开发游戏的工具的集合 可协作创意生产工具,复杂性艺术,注重realtime实时 目的 为艺术家,设计师,程序员设计工具链 游戏引擎开发参考书 推荐:Game Engine Archite…

[A-29]ARMv8/v9-GIC-中断子系统的安全架构设计(Security/FIQ/IRQ)

ver0.1 前言 打开这篇文章的时候,我们已经为每一个中断信号规划一条路径,在外设和PE-Core之间建立了消息通道,外设有紧急的情况下可以给SOC中的大哥打报告了。下面就把接力棒就交到了CPU手里了,但是PE-Core要交给那个Exception Level以及Security下运行的软件处理呢?本文…

能够对设备的历史数据进行学习与分析,通过与设备当前状态的比对,识别潜在故障并做出预判的名厨亮灶开源了。

明厨亮灶视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。AI技术可以24小时…

Linux进程调度与等待:背后的机制与实现

个人主页:chian-ocean 文章专栏-Linux 前言: 当一个进程发起某种操作(如I/O请求、信号、锁的获取等),但该操作需要的资源暂时不可用时,进程会被操作系统挂起,进入“等待队列”或“阻塞状态”。…

寒假1.25

题解 web:[极客大挑战 2019]Upload 打开环境 上传一个一句话木马试试 只能上传图片那就再上传一次&#xff0c;bp抓包修改type-content为image/jpeg试试 不行 看来是文件后缀被绕过了&#xff0c;上传一个.html然后抓包改类型试试 上传成功了&#xff0c;但是提示‘<&…

C++/stack_queue

目录 1.stack 1.1stack的介绍 1.2stack的使用 练习题&#xff1a; 1.3stack的模拟实现 2.queue的介绍和使用 2.1queue的介绍 2.2queue的使用 2.3queue的模拟实现 3.priority_queue的介绍和使用 3.1priority_queue的介绍 3.2priority_queue的使用 欢迎 1.stack 1.1stack…

【Java】微服务找不到问题记录can not find user-service

一、问题描述 运行网关微服务与用户微服务后&#xff0c;nacos服务成功注册 但是测试接口的时候网关没有找到相关服务 二、解决方案 我先检查了pom文件确定没问题后查看配置文件 最后发现是配置里spring.application.namexxx-user里面服务的名字后面多了一个空格 三、总结…

QT:图像上绘制图形

需求描述 1、展示一张图像 2、在图像上可以使用数据绘制图像&#xff1a;矩形、不规则图形、线条 3、有按键可以选择 概要设计 规划布局如下 1、左边是Qlabel 用于展示图片 2、右边是三个按钮 具体实现 1、 首先设计 UI 界面&#xff0c;对控件进行布局 在 mainwindow.u…

基于java线程池和EasyExcel实现数据异步导入

基于java线程池和EasyExcel实现数据异步导入 2.代码实现 2.1 controller层 PostMapping("import")public void importExcel(MultipartFile file) throws IOException {importService.importExcelAsync(file);}2.2 service层 Resource private SalariesListener sa…

日志收集Day007

1.配置ES集群TLS认证: (1)elk101节点生成证书文件 cd /usr/share/elasticsearch ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650 (2)elk101节点为证书文件修改属主和属组 chown elasticsearch:elasticsearch con…

群晖docker获取私有化镜像http: server gave HTTP response to HTTPS client].

群晖docker获取私有化镜像提示http: server gave HTTP response to HTTPS clien 问题描述 层级时间用户事件Information2023/07/08 12:47:45cxlogeAdd image from xx.xx.31.240:1923/go-gitea/gitea:1.19.3Error2023/07/08 12:47:48cxlogeFailed to pull image [Get "http…

ResNeSt: Split-Attention Networks论文学习笔记

这张图展示了一个名为“Split-Attention”的神经网络结构&#xff0c;该结构在一个基数组&#xff08;cardinal group&#xff09;内进行操作。基数组通常指的是在神经网络中处理的一组特征或通道。图中展示了如何通过一系列操作来实现对输入特征的注意力机制。 以下是图中各部…