存储系统概述
目录
层次结构
存储器的分类
存储器的编址和端模式
存储器端模式
存储器的技术指标
1. 存储容量
示例:
2. 访问速度
访问速度的表现形式:
示例:
3. 功耗
示例:
4. 可靠性
可靠性指标:
示例:
5. 成本
成本组成:
示例:
综合考虑
数据中心:
高性能计算(HPC):
消费电子设备(如智能手机、平板):
在计算机系统中,存储器发挥的关键作用,它负责存储数据和指令,供处理器执行和使用。存储系统是一个复杂的层次结构,由各自的存储器组成,共同确保数据和程序的正确运行。我们将讨论存储系统的层次结构、存储器分类、编址和端模式,并了解一些重要的技术指标。
层次结构
为了平衡性能、容量和成本,现代计算机系统通常采用多级存储层次结构,从速度最快、成本最高、但容量最小的存储器,到速度最慢、成本最低、但容量最大的存储器依次排列。这种层次结构旨在在保证数据访问速度的同时,尽可能降低存储成本。
1. 寄存器 (Registers)
- 位置: 位于处理器核心内部。
- 速度: 速度最快,能够在单个 CPU 时钟周期内完成数据访问。
- 容量: 容量最小,通常只有几百字节到几千字节。
- 作用: 用于临时存储 CPU 正在处理的数据和指令,例如指令地址、操作数、运算结果等。
2. 高速缓存 (Cache)
- 位置: 位于处理器和主内存之间,比主内存更接近处理器。
- 速度: 速度比主内存快,但比寄存器慢。
- 容量: 容量比寄存器大,但比主内存小,通常为几兆字节到几百兆字节。
- 作用: 用于存储处理器近期频繁访问的数据和指令,利用程序的局部性原理,减少处理器访问主内存的次数,从而提高程序运行速度。
- 分类: 根据距离 CPU 的远近,高速缓存通常分为 L1、L2、L3 等多个级别,级别越低速度越快,容量越小。
3. 主内存 (Main Memory)
- 别称: 随机存取存储器 (RAM)
- 位置: 位于主板上,直接与处理器连接。
- 速度: 速度比高速缓存慢,但比辅助存储器快得多。
- 容量: 容量比高速缓存大,通常为几吉字节到几百吉字节。
- 作用:
- 存储当前正在运行的操作系统、应用程序和数据。
- 为处理器提供高速数据交换的通道。
4. 辅助存储器 (Secondary Storage)
- 别称: 外存储器
- 位置: 通常位于计算机内部或外部,通过数据线或网络与主内存连接。
- 速度: 速度最慢,比主内存慢 several 个数量级。
- 容量: 容量最大,可以达到几兆兆字节甚至更大。
- 作用: 用于长期存储大量数据和程序,即使断电后数据也不会丢失。
- 常见类型:
- 硬盘驱动器 (HDD): 利用磁性存储数据,价格较低,容量较大,但速度较慢。
- 固态驱动器 (SSD): 利用闪存芯片存储数据,速度快,抗震性能好,但价格相对较高。
- 其他可移动存储介质: 例如 U 盘、光盘等,用于数据备份、传输等。
存储器的分类
存储器可以根据不同的标准进行分类,以下列举几种常见的分类方式:
1. 按存储介质分类
- 半导体存储器: 利用半导体材料存储数据,具有速度快、体积小、功耗低等优点,是现代计算机系统中最主要的存储器类型。
- 例如:RAM、ROM、闪存(Flash Memory)等。
- 磁存储器: 利用磁性材料存储数据,具有容量大、价格低廉等优点,常用于大容量数据存储。
- 例如:硬盘 (HDD)、磁带等。
- 光存储器: 利用光学技术存储数据,具有可移动性强、存储寿命长等优点,常用于数据备份和多媒体存储。
- 例如:CD-ROM、DVD-ROM、蓝光光盘 (BD) 等。
2. 按存储方式分类
- 位存储器: 每个存储单元只存储一位二进制信息(0 或 1)。
- 字存储器: 每个存储单元存储一个计算机字,字长可以是 8 位、16 位、32 位等。
3. 按读写方式分类
- 只读存储器 (ROM): 数据预先写入存储器中,只能读取,不能修改,即使断电后数据也不会丢失。
- 例如:BIOS ROM、嵌入式系统中的程序存储器等。
- 随机存取存储器 (RAM): 可以随机读写数据,断电后数据会丢失。
- 例如:DRAM、SRAM 等。
- 一次性可编程存储器 (OTP ROM): 数据只能写入一次,写入后不能修改,断电后数据也不会丢失。
- 例如:某些芯片的配置信息存储器。
- 可编程只读存储器 (PROM): 数据可以写入多次,但需要特殊的编程设备,写入后不能修改,断电后数据也不会丢失。
- 可擦除可编程只读存储器 (EPROM): 数据可以写入多次,需要特殊的编程设备,可以通过紫外线照射擦除数据。
- 电可擦除可编程只读存储器 (EEPROM) 和 闪存 (Flash Memory): 数据可以写入多次,不需要特殊的编程设备,可以通过电信号擦除数据。闪存是 EEPROM 的一种,具有速度快、容量大、成本低等优点,被广泛应用于 U 盘、固态硬盘等存储设备中。
补充说明
- 实际应用中,存储器往往根据多种分类标准进行区分,例如,我们可以说闪存是一种半导体存储器,同时也是一种可擦除可编程只读存储器。
- 随着技术的不断发展,新的存储技术和存储器类型层出不穷,例如相变存储器 (PCM)、磁阻式随机存取存储器 (MRAM) 等,这些新型存储器有望在未来得到更广泛的应用。
存储器的编址和端模式
存储器的编址是指为每个存储单元分配一个唯一的地址,以便处理器能够访问和修改数据。编址的过程涉及以下几个方面:
- 地址空间:地址空间是指所有可能的存储单元地址的集合。地址空间的大小通常由处理器的地址总线宽度决定。例如,一个32位地址总线可以支持4GB的地址空间。
- 地址分配:每个存储单元都有一个唯一的地址,这个地址用于标识该存储单元在存储器中的位置。地址可以是物理地址,也可以是逻辑地址(虚拟地址)。
- 地址映射:逻辑地址和物理地址之间的映射。现代计算机系统通常使用虚拟内存技术,通过页表将逻辑地址映射到物理地址。
- 编址模式:根据存储器的访问粒度不同,编址模式可以分为字节编址、字编址和块编址等。
存储器端模式
存储器端模式是指存储器与处理器之间的连接方式,决定了数据在存储器和处理器之间的传输粒度和方式。常见的存储器端模式包括:
-
字节端模式(Byte Addressable Mode):
- 定义:存储器以字节为单位进行编址和访问。每个地址表示一个字节的数据单元。
- 特点:这种模式下,处理器可以按字节访问存储器中的数据,灵活性较高,适用于需要经常操作单个字节数据的应用。
- 应用:大多数现代计算机系统都使用字节端模式,因为它支持对数据的精细控制和操作。
-
字端模式(Word Addressable Mode):
- 定义:存储器以字(通常为2字节或4字节)为单位进行编址和访问。每个地址表示一个字的数据单元。
- 特点:这种模式下,处理器每次读取或写入的数据量较大,但不如字节端模式灵活,需要处理对齐问题。
- 应用:适合需要高效读取或写入较大数据块的应用,如数值计算和数据处理。
-
块端模式(Block Addressable Mode):
- 定义:存储器以块(通常为固定大小的多个字节)为单位进行编址和访问。每个地址表示一个数据块。
- 特点:这种模式下,数据传输效率较高,但灵活性较低,适用于顺序访问或大数据量传输的场景。
- 应用:常用于磁盘存储和其它大容量存储设备,如硬盘和固态硬盘。
存储器的技术指标
在选择和评估存储器时,有几个关键的技术指标需要考虑。这些指标不仅影响存储器的性能,还影响其应用场景和成本效益。以下是存储器的主要技术指标:
1. 存储容量
存储容量表示存储器可以存储的数据量,通常以字节(Byte)、千字节(KB)、兆字节(MB)、千兆字节(GB)或太字节(TB)为单位。容量是决定存储器能否满足应用需求的基本指标。
示例:
- 一条现代的 DDR4 内存条的容量可能为 8GB 或 16GB。
- 一块固态硬盘(SSD)的容量可能为 256GB、512GB 或 1TB。
2. 访问速度
访问速度表示从存储器中读取或写入数据的速度,通常以纳秒(ns)或毫秒(ms)为单位。访问速度是影响系统性能的重要因素,尤其在需要频繁数据访问的应用中更为关键。
访问速度的表现形式:
- 随机访问时间:表示在存储器的任意位置进行数据存取所需的时间,常用于描述 RAM 的性能。
- 顺序读写速度:表示数据按顺序读写的速度,常用于描述存储设备(如 SSD)的性能。
示例:
- DDR4 RAM 的典型访问延迟为 10-15ns。
- 高性能 SSD 的顺序读取速度可能超过 500MB/s,而写入速度可能超过 450MB/s。
3. 功耗
功耗表示存储器在运行过程中消耗的电能,通常以瓦特(W)为单位。功耗影响系统的能源效率和散热设计,尤其在数据中心和移动设备中至关重要。
示例:
- 一条 DDR4 内存条的典型功耗约为 1-1.5W。
- SSD 的功耗通常低于机械硬盘(HDD),典型的 SSD 闲置功耗为0.5W,活动功耗约为 2-5W。
4. 可靠性
可靠性表示存储器正确存储和读取数据的能力。常用的可靠性指标包括平均无故障时间(MTBF)和位故障率(BER)。
可靠性指标:
- 平均无故障时间(MTBF):表示存储器在一段时间内平均无故障运行的时间,通常以小时为单位。
- 位故障率(BER):表示每读取或写入多少位数据会产生一个错误,通常以每比特的故障概率表示。
示例:
- 企业级 SSD 的 MTBF 通常超过 1,000,000 小时。
- 高可靠性的存储器(如 ECC 内存)的 BER 通常低于 10^-9。
5. 成本
成本包括存储器的初始购买成本和后续维护成本。成本是选择存储器时必须考虑的实际因素,尤其在大规模部署和长期使用中更为重要。
成本组成:
- 初始购买成本:存储器的购置价格。
- 维护成本:包括能耗成本、冷却成本、故障维修成本等。
示例:
- DDR4 内存条的价格通常在每 GB 几美元到几十美元之间。
- SSD 的价格通常高于 HDD,但后续功耗和维护成本可能较低。
综合考虑
在选择存储器时,需综合考虑上述技术指标,以满足应用需求并优化成本效益。以下是一些具体应用场景中的考虑因素:
数据中心:
- 需要高容量、高可靠性和较低的功耗。
- 访问速度和整体成本也非常重要。
高性能计算(HPC):
- 需要极高的访问速度和可靠性。
- 成本和功耗也需在考虑范围内。
消费电子设备(如智能手机、平板):
- 需要较低的功耗和高访问速度,以延长电池寿命和提高用户体验。
- 可靠性和成本也是重要考虑因素。
最重要的是,存储系统是计算机系统的关键,其层次结构和各种存储器的组合确保了数据和程序的快速、高效、安全地存储和访问。在选择和设计存储系统时,需要综合考虑存储器的分类、编址和端模式,以及各种技术指标,满足特定应用的需求。
相关文章:
存储系统概述
目录 层次结构 存储器的分类 存储器的编址和端模式 存储器端模式 存储器的技术指标 1. 存储容量 示例: 2. 访问速度 访问速度的表现形式: 示例: 3. 功耗 示例: 4. 可靠性 可靠性指标: 示例:…...

Trilium windows上修改笔记目录,创建多个笔记空间方法
一开始使用trilium会非常的不舒服,不像是obsidian可以创建多个笔记空间,指定多个笔记目录。这里摸索到了解决方案 修改目录的方法一 ——修改系统环境变量 打开控制面板-系统-高级系统设置 新增如上条目 修改目录的方法二——直接写bat脚本运行 新建位…...

<Rust><iced>在iced中显示gif动态图片的一种方法
前言 本文是在rust的GUI库iced中在窗口显示动态图片GIF格式图片的一种方法。 环境配置 系统:window 平台:visual studio code 语言:rust 库:iced、image 概述 在iced中,提供了image部件,从理论上说&…...

【Unity设计模式】状态编程模式
前言 最近在学习Unity游戏设计模式,看到两本比较适合入门的书,一本是unity官方的 《Level up your programming with game programming patterns》 ,另一本是 《游戏编程模式》 这两本书介绍了大部分会使用到的设计模式,因此很值得学习 本…...
圆的面积并三角形面积并
三角形面积并 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<vector> using namespace std; const int maxn 110; #define x first #define y second typedef pair<double, double> PDD; const d…...
Spring Data JPA介绍与CRUD实战演练
文章目录 一、Spring Data JPA 简介二、Spring Data JPA 与 MyBatis Plus 比较设计哲学和抽象层次SQL 控制学习曲线和技术要求性能与优化综合考虑 三、SpringDataJpa实战演练1. 创建user表2. 搭建Spring Boot开发环境3. pom.xml文件内容4. application.yml文件内容5. Applicati…...

Python网络爬虫实战6—下一页,模拟用户点击,切换窗口
【前期提要】感兴趣的可以看看往期文章哈~ Python网络爬虫5-实战网页爬取 Python网络爬虫4-实战爬取pdf Pyhon网络爬虫3-模拟用户点击 Python网络爬虫实战2-下载url下的pdf Python网络爬虫基础1 1.需求背景 针对长虹美菱电器说明书网页形式,编写爬虫代码ÿ…...

Notepad++插件 Hex-Edit
Nptepad有个Hex文件查看器,苦于每次打开文件需要手动开插件显示Hex,配置一下插件便可实现打开即调用 关联多个二进制文件,一打开就使用插件的方法,原来是使用空格分割!!!...

Matlab要这样批量读取txt数据!科研效率UpUp第10期
假如我们有多组txt格式的数据: 其数据格式是这样的: 想要批量读取这些数据,并把他们画在一张图上,该怎么操作呢? 之前有分享load函数的版本,本期进一步分享适用性更强的readtable函数的实现方法。 首…...

buuctf----firmware
- -一定不能再ubutu22进行,我是在18(血泪教训) binwalk安装 buuctf firmware(binwalk和firmware-mod-kit的使用)_buu firmware-CSDN博客 参考博客 指令 sudo apt-get update sudo apt-get install python3-dev python3-setuptools python3-pip zlib1g-dev libmagic-dev pi…...

ssl证书90天过期?保姆级教程——使用acme.sh实现证书的自动续期
腾讯云相关文档相关参考-有的点不准确 前言 最近https到期了,想着手动更新一下https证书,结果发现证书现在的有效期只有90天,于是想找到一个自动更新证书的工具,发现了acme.sh,但是网上的文章质量参差不齐࿰…...

由于bug造成truncate table卡住问题
客户反应truncate table卡主,检查awr发现多个truncate在awr报告期内一直没执行完,如下: 检查ash,truncate table表的等待事件都是“enq: RO - fast object reuse”和“local write wait” 查找“enq: RO - fast object reuse”&am…...

Charles抓包工具系列文章(二)-- Repeat 回放http请求
一、什么是http请求回放 当我们对客户端进行抓包,经常会想要重试http请求,或者改写原有部分进行重新请求,都需要用到回放http请求。 还有一种场景是压力测试,对一个请求进行重复请求多少次,并加上适当的并发度。 这里…...

jemeter基本使用
后端关验签,设置请求头编码和token 配置编码和token...

【Golang】Steam 创意工坊 Mod 文件夹批量重命名
本文将介绍一个使用Go语言编写的脚本,其主要功能是解析XML文件并基于解析结果重命名文件夹。这个脚本适用于需要对文件夹进行批量重命名,并且重命名规则依赖于XML文件内容的情况。 脚本功能概述 Steam创意工坊下载的Mod文件夹批量重命名为id名称 运行前…...
求职刷题力扣DAY33--贪心算法part04
DAY 33 贪心算法part04 1. 452. 用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可…...

aws的eks(k8s)ingress+elb部署实践
eks(k8s)版本1.29 ingress 版本1.10.0 负载均衡elb 1. 创建Ingress-Nginx服务 部署项目地址【点我跳转】推荐自定义部署 可绑定acm证书什么的自己属性 这里就是aws上面Certificate Manager产品上面创建证书 导入 创建都行 对应集群版本推荐阵列GitH…...
大数据面试题之YARN
目录 1、介绍下YARN 2、YARN有几个模块 3、YARN工作机制 4、YARN有什么优势,能解决什么问题? 5、YARN容错机制 6、YARN高可用 7、YARN调度器 8、YARN中Container是如何启动的? 9、YARN的改进之处,Hadoop3.x相对于Hadoop 2.x? 10、YARN监控 1…...
最小生成树模板(prim,heap-prim,kruskal)
prim 出圈法,时间复杂度 O ( n 2 ) O(n^2) O(n2) #include<iostream> #include<vector> using namespace std; #define MAX_N 5000 #define inf 100000000 struct edge{int v,w; }; vector<edge>e[MAX_N5]; int d[MAX_N5],vis[MAX_N5]; int n,m…...
Centos 7 或 8配置国内yum源及epel源-1
官方教程 Yum工具详解 清理Yum缓存:[rootqfedu.com ~]# yum clean all缓存软件包信息: 提高搜索/安装软件的速度[rootqfedu.com ~]# yum makecache查询yum源信息: [rootqfedu.com ~]# yum repolist 查找软件:[rootqfedu.com ~]# yum search mysql 此命令会搜索到系…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...