计算机组成原理 —— 存储系统(概述)

计算机组成原理 —— 存储系统(概述)

  • 存储系统
  • 按层次划分
  • 按照存储介质分类
  • 按照存储方式分类
  • 按照信息可更改性分类
  • 根据信息的可保存性分类
  • 存储器性能指标

我们今天来学习计算机组成原理中的存储系统

存储系统

存储系统是计算机系统中用于存放数据和程序的重要组成部分,它确保了数据的安全持久化与高效访问。存储系统包含了多种类型的存储设备和技术,这些设备在速度、容量、成本和耐用性方面各有特点,共同构成了现代计算环境中的多层次存储体系。下面简要介绍存储系统的几个关键组成部分:

  1. 主存储器(RAM):即随机存取存储器,是计算机中最快、最直接的存储形式,可以直接与CPU交换数据。但断电后,其中的数据会丢失。
  1. 辅助存储器(外存)
  • 硬盘驱动器(HDD):传统的机械硬盘,利用磁性材料存储数据,容量大、成本相对较低,但读写速度较慢。
  • 固态硬盘(SSD):使用闪存技术存储数据,没有机械部件,因此读写速度快、响应时间短,但成本相对较高。
  • 混合硬盘(SSHHD):结合了HDD的大容量和SSD的高速度,通过智能缓存技术提升性能。
  1. 存储网络(SAN、NAS)
  • 存储区域网络(SAN):通过专用的高速网络连接存储设备和服务器,提供块级数据访问,适用于大型企业环境。
  • 网络附加存储(NAS):通过标准网络协议(如NFS、SMB/CIFS)提供文件级数据共享,适合中小企业或家庭使用。
  1. 云存储:利用互联网将数据存储在远程服务器上,用户可以通过网络随时随地访问数据。云存储提供了弹性扩展、高可用性和按需付费等优势。
  1. 内存数据库和缓存系统:为了进一步加快数据访问速度,可以使用内存数据库(如Redis、Memcached)或缓存系统来临时存储热点数据,减少对慢速磁盘访问的依赖。
  1. 分布式存储系统:在大规模数据处理场景下,如大数据分析、云计算平台,分布式存储系统(如Hadoop HDFS、Ceph)通过跨多台服务器分布数据,实现数据的高可用性、高扩展性和容错能力。

拿一台手机举例子:

以现代智能手机为例,其存储系统主要包括两大部分:运行内存(RAM)和非运行内存(通常指的是ROM,即只读存储器,但实际上现代手机的ROM更类似于闪存,具有读写功能)。

运行内存(RAM):

运行内存是手机执行多任务能力和流畅度的关键因素。它类似于电脑的内存条,用于暂时存储CPU正在处理的数据和应用程序运行时需要的信息。RAM的大小直接影响到手机能够同时运行多少应用程序以及这些应用运行的流畅程度。例如,一部高端手机可能配备8GB、12GB甚至16GB的RAM,允许用户无缝切换多个大型应用和游戏,而不必担心重新加载或卡顿。

非运行内存(ROM/内置存储/辅存):

虽然传统意义上的ROM是只读的,现代手机中这一部分更多是指内置的闪存存储,用于存放操作系统、预装应用、用户数据(如照片、视频、音乐、文档等)以及下载的应用程序。这部分存储通常是较大的,比如128GB、256GB或更高,且数据在断电后仍能保存。闪存技术(如eMMC、UFS)因其速度快、功耗低被广泛应用于此。UFS 3.1是一种较新的高速存储标准,能显著提升应用加载速度和数据传输效率。

外部存储扩展:

许多手机还支持通过microSD卡进行存储扩展,这为用户提供了额外的存储空间,可以存放更多的媒体文件或应用数据。不过,随着内置存储容量的增大,支持扩展存储的手机逐渐减少。

云存储集成:

除了物理存储之外,现代手机还紧密集成了云存储服务,如Google云端硬盘、iCloud等,用户可以将数据备份到云端,实现跨设备同步,同时也作为本地存储的一种补充。

在这里插入图片描述

按层次划分

存储系统按照层次分类,主要分为以下几个层级,从速度最快到最慢依次排列,同时容量通常也从最小到最大:

  1. 寄存器(Registers):位于CPU内部,是最快的存储层级,容量极小,用于暂存最常用的数据和指令。
  1. 高速缓存(Cache):紧邻CPU,分为多级(L1、L2、L3等),用来存储频繁访问的数据和指令,以减少访问主存的延迟。Cache的访问速度非常快,但容量相对较小。
  1. 主存储器(Main Memory / RAM):即随机存取存储器,是程序运行期间活跃数据的主要存储区域。相比Cache,它的容量更大,但访问速度较慢,断电后数据丢失。
  1. 辅助存储器(Secondary Storage)
  • 固态硬盘(SSD):使用闪存技术,提供快速的数据读写速度,无机械部件,较传统硬盘更耐用,但成本相对较高。
  • 硬盘驱动器(HDD):通过旋转磁盘和移动读写头来存储数据,容量大、成本低,但速度较慢。
  • 其他类型:包括混合硬盘(SSHHD)、光盘、磁带等,依据不同的应用场景选择不同的存储介质。
  1. 离线存储(Offline Storage):如磁带库、光盘库等,主要用于长期归档和备份,访问速度慢,但存储成本低廉,适合不经常访问但需要长期保存的数据。

在这里插入图片描述

这种层次化的结构设计旨在通过将最常用的数据存储在速度更快但成本更高的存储介质上,而将不常访问的数据存储在速度较慢但成本更低的介质上,从而在性能与成本之间取得平衡,优化整体系统效率。此外,多级缓存技术和虚拟内存技术等也被广泛应用于存储系统中,以进一步提升数据访问速度和系统性能。

按照存储介质分类

按照存储介质分类,存储器可以分为以下几类:

  1. 半导体存储器
  • MOS型存储器:包括DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器),是现代计算机中主存储器的主要构成。
  • Flash存储器:如NAND和NOR Flash,常用于USB闪存驱动器、固态硬盘(SSD)和嵌入式系统中的非易失性存储。
  1. 磁表面存储器
  • 硬盘驱动器(HDD):利用旋转磁盘和磁头读写数据,常见于个人电脑、服务器和数据中心。
  • 磁带:通常用于数据备份和归档,具有高容量和低成本,但访问速度较慢。
  1. 光存储器
  • CD/DVD/Blu-ray光盘:利用激光读取盘面上的微小凹坑或改变材料反射率来存储数据。包括只读光盘(CD-ROM, DVD-ROM),可写一次光盘(WORM),以及可重写光盘(CDRW, DVD-RW, BD-RE)。
  1. 磁芯存储器:虽然已基本被淘汰,但在早期计算机系统中曾被用作主存储器,利用磁化状态存储二进制信息。

在这里插入图片描述

每种存储介质都有其特定的优缺点,比如半导体存储器速度快但成本相对较高,磁表面存储器容量大、成本低但访问速度慢,光存储器则通常用于长期存储和分发大量数据。在实际应用中,根据数据访问速度、存储容量、成本效益和数据持久性等需求,会选择不同的存储介质和技术。

按照存储方式分类

按照存储方式分类,存储器可以归纳为以下几类:

  1. 随机存取存储器(Random Access Memory, RAM)
  • 允许在相同的时间内访问任何存储位置的数据,包括动态RAM (DRAM) 和静态RAM (SRAM)。这类存储器通常作为计算机的主存储器,速度快但易失(即断电后数据丢失)。
  1. 只读存储器(Read-Only Memory, ROM)
  • 包括各种类型的ROM,如掩膜ROM、PROM(可编程ROM)、EPROM(可擦除可编程ROM)、EEPROM(电可擦除可编程ROM)和Flash ROM。早期的ROM是永久性地存储数据,后来的变体允许一定程度上的数据修改。
  1. 顺序存储器
  • 这类存储器访问数据时需要按照一定的顺序进行,如磁带。尽管在现代计算中不作为主要存储方式,但在某些特定应用如数据备份和归档中仍有使用。
  1. 直接访问存储器
  • 如硬盘驱动器和固态硬盘,虽然通常不直接以此分类命名,但从原理上讲,它们允许通过寻址直接访问特定数据块,有时也被视为一种“直接访问”的存储方式。
  1. 外存储器或辅助存储器
  • 包括硬盘、固态硬盘、USB闪存驱动器、光盘等,这类存储器特点是容量大、持久存储,但访问速度通常慢于RAM。

在这里插入图片描述

这种分类方式侧重于存储器如何被访问和数据处理的方式,每种存储方式都有其特定的用途和适用场景,为计算机系统提供了多样化的数据存储解决方案。

按照信息可更改性分类

根据信息的可更改性来划分,存储器可以分为以下三类:

  1. 只读存储器(Read-Only Memory, ROM)
  • 这类存储器中的信息一旦写入就无法修改或只能通过特殊手段修改。早期的ROM芯片内容固定,不可更改;后来发展出可编程ROM (PROM)、可擦除可编程ROM (EPROM)、电可擦除可编程ROM (EEPROM) 和一次性编程ROM (OTPROM) 等,其中后者几类虽可修改,但仍保持“只读”这一基本属性,因为修改过程不如RAM那样频繁和直接。
  1. 可读写存储器(Read-Write Memory)
  • 主要包括随机存取存储器(RAM),如动态RAM (DRAM) 和静态RAM (SRAM)。这类存储器中的信息既可以读取也可以随时写入或修改,但通常断电后数据会丢失(易失性存储)。
  1. 半永久性存储器
  • 虽然这不是一个严格的分类术语,但可以用来描述那些数据更改相对不频繁,但又不是完全只读的存储介质,如固态硬盘(SSD)和硬盘驱动器(HDD)。这些存储器允许用户多次读写数据,且断电后数据依然保留,但相比于RAM,它们的写入操作更为复杂且寿命有限。

在这里插入图片描述

综上,存储器的分类依据信息可更改性的不同,反映了存储技术在灵活性、耐用性及应用场景上的多样性。

根据信息的可保存性分类

根据信息的可保存性,存储器可以分为两大类:

  1. 易失性存储器(Volatile Memory)
  • 这类存储器在失去电源供应后,所存储的信息会立即消失。最典型的例子是随机存取存储器(RAM),包括动态RAM(DRAM)和静态RAM(SRAM)。易失性存储器由于其高速读写特性,通常用作计算机的主内存,用于临时存储运行中的程序和数据。
  1. 非易失性存储器(Non-Volatile Memory)
  • 非易失性存储器的特点是在断电后仍然能保持存储的数据不变。这类存储器广泛应用于需要长期或永久保存数据的场景。常见的非易失性存储器包括:
  • 固态硬盘(SSD)和硬盘驱动器(HDD):基于闪存技术或磁性记录技术,用于存储操作系统、应用程序和用户文件。
  • USB闪存盘、存储卡(如SD卡):便携式的非易失性存储设备,广泛用于数据传输和存储。
  • ROM(只读存储器)及其衍生类型如PROM、EPROM、EEPROM等,虽然原始的ROM是严格意义上的只读,但后续的改进允许某种程度上的编程和擦写,同时保持数据的非易失性。
  • 光盘(CD, DVD, Blu-ray):虽然逐渐被数字存储取代,但仍是一种非易失性的数据存储方式,适合长期归档。

在这里插入图片描述

这种分类强调了存储器在断电状态下的数据保持能力,是选择存储解决方案时的一个重要考量因素,尤其是在考虑数据持久性、系统重启后的数据恢复能力等方面。

存储器性能指标

存储器的性能指标是评估存储器工作效率和能力的一系列关键因素,主要包含但不限于以下几点:

  1. 存储容量:这是存储器可以容纳的总数据量,通常以字节(B)、千字节(KB)、兆字节(MB)、吉字节(GB)等为单位表示。存储容量越大,能存储的信息越多。
  2. 存取时间(Access Time):指从发出读取或写入指令到开始读取或写入数据所需的时间,单位通常为纳秒(ns)。存取时间越短,存储器的工作效率越高。
  3. 存取周期(Cycle Time 或 Memory Cycle Time):完成一次读取或写入操作所需的全部时间,包括了存取时间和必要的恢复时间。它是连续两次独立访问存储器操作之间所需的最短时间间隔。
  4. 带宽(Bandwidth 或 Data Transfer Rate):存储器在单位时间内能够传输的数据量,体现为每秒传输的比特数(bps)、字节数(Bps)或字数。带宽越高,数据传输速度越快。
  5. 可靠性:衡量存储器在预期使用时间内无故障运行的概率,通常用平均无故障时间(Mean Time Between Failures, MTBF)来表示。
  6. 功耗:存储器在工作时消耗的电能,对移动设备尤其重要,因为它影响电池寿命。
  7. 集成度:单位体积或单位面积内可以集成的存储单元数量,反映了技术的先进程度。
  8. 单位成本:每位(比特)存储的成本,用于衡量存储器经济性。
  9. 性能价格比:存储器性能与成本之间的比例,是评价存储器性价比的重要指标。
  10. 可靠性:存储器在规定条件下持续正确执行其功能的能力,包括错误检测和纠正能力。

在这里插入图片描述

这些指标共同决定了存储器在实际应用中的表现,设计者和用户会根据具体需求,权衡这些指标来选择合适的存储解决方案。

在这里插入图片描述

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

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

相关文章

css文字镂空加描边

css文字镂空加描边 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>文字镂空</title><style>/* 公用样式 */html,body{width: 100%;height: 100%;position: relative;}/* html{overflow-y: scroll;} */*{margi…

【机器学习 复习】 第1章 概述

一、概念 1.机器学习是一种通过先验信息来提升模型能力的方式。 即从数据中产生“模型”( model )的算法&#xff0c;然后对新的数据集进行预测。 2.数据集&#xff08;Dataset&#xff09;&#xff1a;所有数据的集合称为数据集。 训练集&#xff1a;用来训练出一个适合模…

Android (已解决)Execution failed for task ‘:app:lint‘

文章目录 一、错误原因二、解决方法 一、错误原因 这个错误信息表示在执行 Lint 检查时发现了错误&#xff0c;导致构建过程被中断。Lint 是一个用于检测 Android 项目中潜在问题的工具&#xff0c;比如性能、安全性、可用性等方面的问题。当Lint检查到严重错误时&#xff0c;…

库卡机器人减速机维修齿轮磨损故障

一、KUKA机器人减速器齿轮磨损故障的原因 1. 润滑不足&#xff1a;润滑油不足或质量不佳可能导致齿轮磨损。 2. 负载过重&#xff1a;超过库卡机械臂减速器额定负载可能导致齿轮磨损。 3. 操作不当&#xff1a;未按照说明书操作可能导致KUKA机器人减速器齿轮磨损。 4. 维护不足…

2024年全国青少信息素养大赛python编程复赛集训第四天编程题分享

整理资料不容易,感谢各位大佬给个点赞和分享吧,谢谢 大家如果不想阅读前边的比赛内容介绍,可以直接跳过:拉到底部看集训题目 (一)比赛内容: 【小学组】 1.了解输入与输出的概念,掌握使用基本输入输出和简单运算 为主的标准函数; 2.掌握注释的方法; 3.掌握基本数…

Ubuntu配置ssh+vnc(完整版)

Ubuntu配置sshvnc&#xff08;完整版&#xff09; 1 配置ssh 1. 安装openssh-server&#xff0c;配置开机自启 # 更新包 sudo apt-get update # 安装openssh-server sudo apt-get install -y openssh-server # 启动服务 sudo service ssh start # 配置开机自启 sudo systemc…

Github 2024-06-19 C开源项目日报 Top9

根据Github Trendings的统计,今日(2024-06-19统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目9C++项目1Netdata: 开源实时监控平台 创建周期:4020 天开发语言:C协议类型:GNU General Public License v3.0Star数量:68982 个Fork数量…

可平滑替代传统FTP的国产FTP方案,了解一下

企业在处理数据传输时&#xff0c;效率和安全性是关键。尽管传统FTP曾被广泛采用&#xff0c;然而&#xff0c;随着企业业务需求的增长&#xff0c;传统FTP在传输速度、安全性、稳定性以及可控性方面的不足逐渐显现。许多企业正在寻找更为高效、安全且用户体验更好的的国产FTP方…

在webstorm配置nodejs(从零开始)

在webstorm配置nodejs之前&#xff0c;需要先下载node.js和webStorm。 按下winr&#xff0c;输入cmd打开命令行 输入node -v和npm -v会出现相应的版本&#xff0c;如果报错则需要去下载node.js。 打开webStorm&#xff0c;File—settings 搜索node 选择node.exe安装位置 重启…

Elasticsearch基础(一):阿里云Elasticsearch简介

文章目录 阿里云Elasticsearch简介 一、什么是阿里云Elasticsearch 1、开源Elasticsearch 2、阿里云Elasticsearch 3、阿里云Elasticsearch介绍 4、总结 二、 阿里云Elasticsearch组件 1、X-Pack&#xff08;商业版扩展包&#xff09; 2、 Beats&#xff08;数据采集中…

华为OD机试 - 地图寻宝 - 深度优先搜索BFS(Java 2024 D卷 200分)

华为OD机试 2024D卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;D卷C卷A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测…

秋招突击——6/21——新作{两两交换链表中的节点,K个一组反转链表}

文章目录 引言新做删除有序数组中的重复项个人实现 K 个一组翻转链表个人实现参考代码 总结 引言 上午完全去听讲座了&#xff0c;听了三场&#xff0c;拿了三个讲座单&#xff0c;从九点一直到十二点。笔记本电脑插电才能用&#xff0c;就没带&#xff0c;所以没有进行复习。…

【图解IO与Netty系列】Netty源码解析——事件循环

Netty源码解析——事件循环 Netty事件循环源码解析select()processSelectedKeys()NioMessageUnsafe#read()NioByteUnsafe#read() runAllTasks() Netty事件循环 当Netty服务端启动起来以后&#xff0c;就可以接受客户端发送的请求&#xff0c;接收到客户端发来的请求后就会有事…

Android平台下VR头显如何低延迟播放4K以上超高分辨率RTSP|RTMP流

技术背景 VR头显需要更高的分辨率以提供更清晰的视觉体验、满足沉浸感的要求、适应透镜放大效应以及适应更广泛的可视角度&#xff0c;超高分辨率的优势如下&#xff1a; 提供更清晰的视觉体验&#xff1a;VR头显的分辨率直接决定了用户所看到的图像的清晰度。更高的分辨率意…

微服务改造启动多个 SpringBoot 的陷阱与解决方案

在系统运行了一段时间后&#xff0c;业务量上升后&#xff0c;生产上发现java应用内存占用过高&#xff0c;服务器总共64G&#xff0c;发现每个SpringBoot占用近12G的内存&#xff0c;我们项目采用微服务架构&#xff0c;有多个springboot应用。 一下子内存就不够用了&#xf…

基于SpringBoot+Vue在线考试报名系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

<Rust><iced>基于rust使用iced构建GUI实例:如何将svg格式转为ico格式图片?

前言 本专栏是Rust实例应用。 环境配置 平台&#xff1a;windows 软件&#xff1a;vscode 语言&#xff1a;rust 库&#xff1a;iced、iced_aw 概述 本文是专栏第4篇实例&#xff0c;依旧是一个图像格式转换程序&#xff0c;基于rust的svg库resvg、图像处理库image以及文件处…

Python xlwt库:写excel表格

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

电路仿真实战设计教程--平均电流控制原理与仿真实战教程

1.平均电流控制原理: 平均电流控制的方块图如下,其由外电路电压误差放大器作电压调整器产生电感电流命令信号,再利用电感电流与电流信号的误差经过一个电流误差放大器产生PWM所需的控制电压,最后由控制电压与三角波比较生成开关管的驱动信号。 2.电流环设计: 根据状态平…

C语言:生命周期和作用域,static和extern

关键字static与extern 1.作用域&#xff08;scope&#xff09;&#xff1a;代码中能够访问到变量的范围&#xff08;变量可以被使用的文本区间&#xff09;。&#xff08;分为全局作用域和局部作用域&#xff09; ☺全局作用域&#xff1a;在整个程序中都能访问的变量。通常…