存储系统概述
目录
层次结构
存储器的分类
存储器的编址和端模式
存储器端模式
存储器的技术指标
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 此命令会搜索到系…...

轻松解决Android复杂数据结构序列化
问题描述 当我编写quickupload库时,因为需要在 Service中进行上传任务,向Service传递时我发现需要传递的数据很多并且结构复杂,如果处理不好就会导致以下几个问题 耗时: 需要更多时间进行开发和测试以确保正确的数据处理。容易出错: 由于手…...

解析PDF文件中的图片为文本
解析PDF文件中的图片为文本 1 介绍 解析PDF文件中的图片,由两种思路,一种是自己读取PDF文件中的图片,然后用OCR解析,例如:使用PyMuPDF读取pdf文件,再用PaddleOCR或者Tesseract-OCR识别文字。另一种使用第…...

微信小程序表单
在我们的课程中,我们深入探讨了微信小程序表单的开发和应用。以下是我们课程的主要内容和收获: 一、课程目标 本课程旨在帮助学生掌握微信小程序表单的基本概念、开发流程和最佳实践。学生将学习如何创建和配置表单组件,处理表单数据…...

Javascript高级程序设计(第四版)--学习记录
var关键字:定义变量同时可以进行赋值 var message"hello" message 10 可以改变保存的值,也可以改变值的类型,但是不推荐这样写。 var声明的变量会成为包含它的函数的局部变量。 function test(){ var message "hello";…...

DVWA-CSRF-samesite分析
拿DVWA的CSRF为例子 接DVWA的分析,发现其实Impossible的PHPSESSID是设置的samesite1. 参数的意思参考Set-Cookie SameSite:控制 cookie 是否随跨站请求一起发送,这样可以在一定程度上防范跨站请求伪造攻击(CSRF)。 下面用DVWA CS…...

代码随想录训练营Day48
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、买卖股票的最佳时机4二、买卖股票的最佳时机含冷冻期三、买卖股票含手续费 前言 提示:这里可以添加本文要记录的大概内容: 今天是…...

React进阶(五):导航守卫_renderroutes
在《React进阶(四):路由介绍》博文中,介绍了React路由相关知识,在实际项目开发过程中,路由之间的跳转必定涉及权限、用户是否登陆等限定条件的判定,故需要导航守卫来完成这一事项。 在实现reac…...

Python基础系列教程:从零开始学习Python
Python有很多功能强大的机器学习和大数据分析包,适合对大数据和人工智能感兴趣的同学学习。要想了解一门语言,首先需要了解它的语法。本文将介绍Python的一些基础语法,包括数据类型、变量类型、条件控制、循环结构等内容。废话少说࿰…...

deepl翻译的PDF文档保护密码解除
1、首先将后缀名(.docx)修改为压缩包格式(.zip)。 2、修改解密word加密.py里zip的位置,和新生成的zip的位置和名称 import zipfile import xml.etree.ElementTree as ET import os import shutil# 定义文件路径 zip_file_path rC:\Users\Administrator\Desktop\新…...

LeetCode 算法:二叉树的直径 c++
原题链接🔗:二叉树的直径 难度:简单⭐️ 题目 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由…...