计算机的存储体系

计算机的存储分为内存和硬盘两大类。其中内存属于非持久化的存储设备,用于临时存储数据,设备掉电后数据会丢失;硬盘属于持久化的存储设备,设备掉电后数据不会丢失。

实际上在计算机领域存储的种类是非常多的,业界有时候将存储分为内部存储和外部存储两类。其中内部存储通常是只在设备主板上的存储设备,如个人电脑中的存储BIOS存储和内存;外部存储通常需要某种协议与主板相连的存储设备,如机械硬盘、SSD硬盘和光盘等。如图1是一个简单的存储设备分类图。

在图1需要说明的是ROM是一种只读存储设备,他是Read Only Memory(只读存储器)的缩写。RAM是一种支持随机读写的存储设备,他是Random Access Memory的缩写。

RAM又可以细分为很多种,常见的两大类如SRAM和DRAM。其中SRAM是Static Dynamic Random Access Memory(静态随机访问存储器)的缩写,也就是静态RAM;DRAM是Dynamic Random Access Memory(动态随机访问存储器)的缩写,也就是动态RAM,其实就是我们常说的内存。

知道DRAM就是我们常说的内存,那么SRAM是用在什么地方呢?SRAM通常是用在CPU的缓存当中的。我们知道现在的CPU通常由L1(Level 1的缩写),L2和L3三级缓存,其中这些缓存大多是采用SRAM实现的。另外需要知道的一个事实是SRAM的速度要比DRAM快的多。    

图2大致描述了CPU各级缓存与内存的关系。由该图可以看出从容量上L1缓存比L2缓存小,L2缓存比L3缓存小。从速度上,L1缓存比L2缓存快,L2缓存比L3缓存快。当然,相对于内存,内存的容量要比缓存大的多,速度也慢的多。

 

L1缓存通常可以达到1150GB/s的速度,但是通常L1缓存的容量不过几百KB。L2缓存的速度可以达到470GB/s,容量不过几个MB。L3缓存的速度大概能到200GB/s,容量可以达到几十MB。

内存位于CPU的外部,其最大速度可以到几十GB,容量比缓存要大得多,可以达到TB级别。但是内存除了带宽比缓存低之外,其访问延时要比缓存高的多。

外部存储包含硬盘、光盘和磁带等存储设备,其速度就更慢了。以NVMe协议的SSD为例,其带宽最大不会超过10GB/s,而机械硬盘的带宽也才100MB/s多一点。

从访问延时角度,各种不同的存储也是有着巨大的差异的。如图所示,我们展示了常见存储的访问延时数据。其中CPU缓存的延时在1到10纳秒之间,不同级别的缓存访问延时不同,级别一的缓存访问延时大概是1纳秒,而级别二缓存的访问延时大概是4纳秒。    

虽然内存的访问要比硬盘等外围设备快的多,但相对缓存来说,内存的访问延时一般要100纳秒左右。如果将缓存的速度类比火箭的速度,那么内存的速度也就跟普通客机差不多,连战斗机的速度都达不到。

固态硬盘的速度又要比内存慢好几个数量级,其访问延时大概要16微妙。如果与生活中的交通工具类比,基本跟我们现在绿皮火车的速度差不多。是的,是绿皮火车,不是特快,更不是动车。机械硬盘就更慢了,访问延迟在毫秒级,基本上跟马车的速度差不多。你可能不知道马车有多慢,基本比年轻人散步的速度快不了多少。

 

磁带的速度就更慢了,由于磁带不能随机访问,数据定位需要不断的倒带,延时通常在10秒级别。所以,现在几乎没有企业直接用磁带存储数据,大多是用磁带来备份非常冷的数据。

无论是存储研发人员,还是普通的开发人员,了解存储设备的性能金字塔是非常必要的。以CPU缓存为例,如果我们在开发高并发的应用时没有考虑缓存同步和CPU内核多核并发访问的问题,程序的性能可能会比较差。

在存储相关软件领域,通常使用比较快的介质作为慢介质的缓存。比如我们通常采用内存作为文件系统元数据和数据的缓存。这样当用户访问数据的时候,可以减少对硬盘的访问,从而提高文件系统的整体性能。

一些企业级存储系统不仅仅使用内存作为缓存来存储元数据和数据,还将数据存储设计成分层架构,也就是采用SSD和机械硬盘混合架构。通过这种分层架构,存储系统可以为用户提供更高的性能,而价格上却并不会增加太多。    

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

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

相关文章

osgearth 3.5 vs 2019编译

下载源码 git clone --recurse-submodules https://github.com/gwaldron/osgearth.git 修改配置文件 主要是修改bootstrap_vcpkg.bat,一处是vs的版本,第二处是-DCMAKE_BUILD_TYPERELEASE 构建 执行bootstrap_vcpkg.bat vs中生成安装 vs2019打开bu…

用友电子凭证解决方案,加速企业电子凭证全链路管理

2023年,财政部等9部委联合推进电子凭证数据标准及试点工作,目前逐步扩大试点范围,覆盖市场应用高频的9类凭证。2024年,财政部办公厅发布了《关于继续开展电子凭证会计数据标准深化试点工作的通知》对电子凭证进行全流程常态化处理…

赛事|基于SprinBoot+vue的CSGO赛事管理系统(源码+数据库+文档)

CSGO赛事管理系统 目录 基于SprinBootvue的CSGO赛事管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3参赛战队功能模块 4合作方功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

人类行为验证处理方案 —— 脱离UI组件库实现登录、注册+表单校验

目录 01: 构建登录模块基础UI结构 02: 表单校验实现原理与方案分析 表单校验的实现原理 自定义表单校验方案分析 文章中的方案实现 03: 基于 vee-validate 实现普适的表单校验 04: 什么是人类行为验证?它的目的、实现原理、构建方案分别是什么&am…

UE_地编教程_创建地形洞材质

个人学习笔记,不喜勿喷。侵权立删! 使用地形洞材质来遮罩地形上特定位置的可视性和碰撞。如要在山脉侧面创建进入洞穴的入口,此操作将非常有用。可使用地形材质和地形洞材质的相同材质,但注意:对比不使用不透明蒙版的…

AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框架调研

目录 前言一、DB-GPT总体概述二、DB-GPT关键特性1、私域问答&数据处理&RAG2、多数据源&GBI3、多模型管理4、自动化微调5、Data-Driven Multi-Agents&Plugins6、隐私安全 三、服务器资源准备1、创建实例2、打开jupyterLab 四、DB-GPT启动1、激活 conda 环境2、切…

docker安装etcd

1.查找etcd镜像 docker search etcdNAME: 镜像仓库源的名称 DESCRIPTION: 镜像的描述 STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。 OFFICIAL: 是否 docker 官方发布 2.拖取镜像并生成对应容器 docker run --name etcd -d -p 2379:2379 -p 2380:2380 …

校园一体式气象站功能特点与应用

TH-XQ4随着教育理念的更新和科技的发展,校园一体式气象站在现代校园中的应用越来越广泛。它不仅为学生提供了实时、准确的气象数据,还成为了推动科学教育、培养学生实践能力和环保意识的重要工具。本文将从功能、特点和应用三个方面对校园一体式气象站进…

Python学习---利用Python操作数据库

如何理解连接connection和游标 cursor? connection就像是连接出发地和目的地的高速公路cursor就像是在高速公路上的货车-拉货我们使用游标就可以完成对数据的操作当我们完成操作完成后就可以停下货车,然后公路再停止使用。 pysql实现查询 ""…

使用微信开发者工具真机调试的时候总是提示“tapShareButton WebviewId: xxxxx not foun ”

提示 机型 Android手机 调试型号 真机调试1.0 问题解决 由于真机调试1.0版本属于稳定版本,但是没想到会出现这个问题,所以想要解决真机调试的时候点击转发按钮调用 onShareAppMessage 方法的时候需要将真机调试切换至2.0版本。 onShareAppMessage 方…

JavaScript 新特性:新增声明命令与解构赋值的强大功能

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! ES5、ES6介绍 文章目录 💯声明命令 let、const🍟1 let声明符&a…

【人工智能】数据分析与机器学习——泰坦尼克号(更新中)

1912年4月15日,泰坦尼克号在首次航行期间撞上冰山后沉没,船上共有2224名乘客和乘务人员,最终有1502人遇难。沉船导致大量伤亡的重要原因之一是,没有足够的救生艇给乘客和船员。虽然从这样的悲剧性事故中幸存下来有一定的运气因素&…

微信小程序进阶(1)--自定义组件

自定义组件 1.1 什么是自定义组件 开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/ 小程序中常常会有些通用的交互模块,比如:下拉选择列表、搜索框、日期选择器等;这些界面交互模块可…

数据挖掘案例-航空公司客户价值分析

文章目录 1. 案例背景2. 分析方法与过程2.1 分析流程步骤2.2 分析过程1. 数据探索分析2. 描述性统计分析3. 分布分析1.客户基本信息分布分析2. 客户乘机信息分布分析3. 客户积分信息分布分析 4. 相关性分析 3. 数据预处理3.1 数据清洗3.2 属性约束3. 3 数据转换 4. 模型构建4. …

超融合架构下,虚拟机高可用机制如何构建?

作者:SmartX 产品部 钟锦锌 虚拟机高可用(High Availability,简称 HA)是虚拟化/超融合平台最常用、关键的功能之一,可在服务器发生故障时通过重建业务虚拟机以降低故障对业务带来的影响。因此,为了充分保障…

ubuntu22.04下 easyconnect+输入法安装

先使用对应ubuntu版本的easyconnect安装 sudo dpkg -i EasyConnect_x64_7_6_7_3.deb 下载压缩包servicePack,并解压缩 cd 下载路径/servicePack sudo cp * /usr/share/sangfor/EasyConnect/ 打开easyConnect /usr/share/sangfor/EasyConnect/EasyConnect 此处…

pid中的d到底是什么意思?微分到底是用来做什么的,什么情况下用,避免入坑实际案例中的使用-----------PDI中的D阻尼调节

1,PID中表示的含义是什么? 比例(proportional):放大比例-------表示现在 0.2 积分(integral):误差积分------过去 0.04 微分 (derivative):阻尼 ------未来 0.002 在调节…

IDEA设置运行内存

1.开启内存指示条​​​​​​​ 查看idea右下角​​​​​​​ 2.环境变量查看ideaVM地址,没有的话那就是默认的配置文件: idea 安装 bin 目录下 idea64.exe.vmoptions 3.去对应路径修改内存参数大小 4.重启IDEA,end

体育赛事直播系统源码开发:社区论坛模块如何实现引流与增收双赢

在当今数字化时代,体育直播平台不仅是赛事观看的窗口,更是一个互动和交流的社区,以及是一场关于用户体验、用户粘性以及商业模式创新的综合较量。为了在这片红海市场中脱颖而出,平台必须采取更加精细化和多元化的运营策略。其中&a…