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

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

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

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

存储系统

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

  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. 可靠性:存储器在规定条件下持续正确执行其功能的能力,包括错误检测和纠正能力。

在这里插入图片描述

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

在这里插入图片描述

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

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

相关文章

vue实现的商品列表网页

一、商品列表效果如下 二、代码&#xff1b; vue实现的商品列表网页 &#xff0c; 图片在vue项目的Public文件夹里的 imgs中 <template><div class"common-layout"><!-- el-container:外层容器。 当子元素中包含 <el-header> 或 <el-foo…

mysql:简单理解mysql mvcc的可重复读

# 原理 假设有这样的sql begin select&#xff08;或update、insert、delete&#xff09; ... commit当执行【begin】的时候&#xff0c;标记有一个新事务要开始&#xff0c;但是事务还没有真正开始&#xff0c;事务id还没有产生当执行事务里面的第一个sql语句时&#xff08;…

java之url任意跳转漏洞

1 漏洞介绍 URLRedirect url重定向漏洞也称url任意跳转漏洞&#xff0c;网站信任了用户的输入导致恶意攻击&#xff0c;url重定向主要用来钓鱼&#xff0c;比如url跳转中最常见的跳转在登陆口&#xff0c;支付口&#xff0c;也就是一旦登陆将会跳转任意自己构造的网站&#xf…

Xshell7免费版下载安装使用

​一、下载安装​ 1.打开官网下载 https://www.xshell.com/zh/free-for-home-school/ 2.选择合适的下载路径&#xff0c;点击下载按钮&#xff0c;然后按照提示完成安装。 二、Xshell7的使用&#xff0c;Xhell连接Linux 1.连接之前&#xff0c;确保在Linux中开启SSH。参考&a…

YOLOv8中的C2f模块

文章目录 一、结构概述二、模块功能 一、结构概述 C2f块:首先由一个卷积块(Conv)组成&#xff0c;该卷积块接收输入特征图并生成中间特征图特征图拆分:生成的中间特征图被拆分成两部分&#xff0c;一部分直接传递到最终的Concat块&#xff0c;另一部分传递到多个Botleneck块进…

QT基础 - 文本文件读写

目录 零. 前言 一.读取文件 二. 写入文件 三. 和二进制读写的区别 零. 前言 在 Qt 中&#xff0c;对文本文件进行读写操作是常见的任务之一。这对于保存和加载配置信息、处理数据文件等非常有用。 Qt 提供了多种方式来读写文本文件&#xff0c;使得文件操作变得相对简单和…

SwiftUI 6.0(iOS 18)ScrollView 全新的滚动位置(ScrollPosition)揭秘

概览 在只有方寸之间大小的手持设备上要想体面的向用户展示海量信息&#xff0c;滚动视图&#xff08;ScrollView&#xff09;无疑是绝佳的“东牀之选”。 在 SwiftUI 历史的长河中&#xff0c;总觉得苹果对于 ScrollView 视图功能的升级是在“挤牙膏”。这不&#xff0c;在本…

spire.Pdf 将pdf转成image

一、nuget安装 <ItemGroup><PackageReference Include"Spire.PDF" Version"10.6.7" /></ItemGroup> 二、直接上代码 using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.IO;namespace …

乱弹篇(35)掩耳盗铃与两三十年

成语“ 掩耳盗铃 ”&#xff0c;比喻自己欺骗自己&#xff0c;明明是掩盖不住的事情偏要想法子掩盖。它多用来讽刺那些做事不想让别人知道&#xff0c;却偏偏又引起他人注意的人。 现在网络上以新浪微博和邪恶的“800727”为典型的自媒体平台和其掌控者&#xff0c;就是现代版…

提升研发效率:三品PLM解决方案在汽车汽配行业的实践

随着全球汽车市场的快速发展&#xff0c;中国汽车汽配行业迎来了前所未有的发展机遇。然而&#xff0c;在这一过程中&#xff0c;企业也面临着诸多挑战&#xff0c;如研发能力的提升、技术资料管理的复杂性、以及跨部门协作的困难等。为了应对这些挑战&#xff0c;三品产品生命…

模式分解算法-满足3NF的无损且保持函数依赖的分解算法、满足BCNF的无损连接分解算法

一、引言 1、对指定的关系模式&#xff0c;若范式级别较低&#xff0c;为第一范式或第二范式&#xff0c;由于存在数据冗余或更新异常问题&#xff0c;在实际中一般是不可用的&#xff0c;关系模式的规范化就是将满足低一级的关系模式分解为若干满足高一级范式的关系模式的集合…

Python轻松设置Excel单元格数字显示格式

Excel作为强大的数据处理与分析工具&#xff0c;不仅能够存储大量数据&#xff0c;还支持复杂的数据处理与可视化功能。而如何恰当地展示Excel表格中的数据是Excel文件制作的关键之一。这便涉及到Excel单元格数字格式的设置。数字格式不仅关乎数据的美学呈现&#xff0c;如货币…

聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例

前言 dynamic 是一种有别于传统变量类型的动态类型声明&#xff0c;刚开始接触可能在理解上会有些困难&#xff0c;可以简单地把它理解为一个盲盒&#xff0c;你可以任意猜测盒子有什么东西&#xff0c;并认为这些东西真正存在而进行处理&#xff0c;等到真正打开时&#xff0…

网上的流量卡真的可以免费领取吗?

网上的流量卡真的可以免费领取吗&#xff1f;当然可以&#xff0c;目前运营商推出的流量卡都是可以免费领取的。 有很多朋友私信给小编&#xff0c;听说流量卡是免费领取的就觉得不太靠谱&#xff0c;其实这种想法是不对的&#xff0c;首先大家要换位思考一下&#xff0c;如果我…

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…

细说MCU定时器模块的输入捕捉功能的实现方法

目录 一、工程背景 二、建立工程 1、配置GPIO 2、选择时钟源和Debug 3、 配置定时器TIM1 4、 配置定时器TIM13 5、配置串口 6、配置中断 7、配置系统时钟 三、代码修改 1、使能TIM1输入捕捉功能和TIM3的PWM输出功能 2、自定义变量 3、重定义回调函数 4、输出到…

【国际化I18n使用方法】vue2使用i18简单实现多语种切换,刷新保持,动态数据处理

效果图 使用流程 总结就是&#xff0c;安装好插件后&#xff0c;配置几个语言的js文件&#xff0c;每个词都要在每个js内写一遍对应的语言&#xff0c;然后通过切换js文件拿到对应的语言&#xff0c;实现翻译的效果。然后当前使用什么语言保存到本地&#xff0c;这样刷新就可以…

【进阶篇-Day4:使用JAVA编写石头迷阵游戏】

目录 1、绘制界面2、打乱石头方块3、移动业务4、游戏判定胜利5、统计步数6、重新游戏7、完整代码&#xff1a; 1、绘制界面 上述思路是&#xff1a;使用一个二维数组存放图片的编号&#xff0c;然后在后持遍历即可获取对应的图片。 代码如下&#xff1a; package com.itheima.s…

取代煤气灶,新能源电燃灶真有那么牛吗

在当今社会&#xff0c;能源问题日益凸显&#xff0c;能源危机的警钟不断敲响。与此同时&#xff0c;人们对于生活品质和安全环保的要求也越来越高。在这样的背景下&#xff0c;一种号称能取代燃气灶和电磁炉的新能源电燃灶——华火电燃灶进入了人们的视野。 华火电燃灶的出现似…

SpringBoot整合justauth实现多种方式的第三方登陆

目录 0.准备工作 1.引入依赖 2.yml文件 3. Controller代码 4.效果 参考 0.准备工作 你需要获取三方登陆的client-id和client-secret 以github为例 申请地址&#xff1a;Sign in to GitHub GitHub 1.引入依赖 <?xml version"1.0" encoding"UTF-8&quo…