存储器是计算机系统的核心部件之一,其核心功能是存储程序(指令)和数据,是冯·诺依曼体系结构“存储程序”概念的物质基础。它直接关系到计算机系统的性能、容量和成本。

存储器核心内容总览表

分类维度存储器层级技术实现速度容量成本易失性刷新需求典型应用核心作用
寄存器CPU内部触发器0.1-0.3 ns几十~几百字节极高易失CPU指令操作数存储当前运算数据
高速缓存L1 CacheSRAM0.5-2 ns32-128 KB/核易失缓存最活跃指令/数据减少CPU访问主存延迟
L2 Cache (L2D/L2I)SRAM3-10 ns256KB-2MB/核较高易失二级指令/数据缓存补充L1未命中数据
L3 CacheSRAM10-20 ns4-64MB/芯片中高易失多核共享缓存降低跨核访问延迟
主存储器内存DRAM (DDR系列)50-100 ns8-128 GB中等易失需刷新运行程序临时存储CPU直接操作的数据池
辅助存储器本地存储NAND Flash (SSD)50-150 μs256GB-8TB低($/GB)非易失操作系统/文件存储持久化数据存储
机械存储HDD (磁记录)5-15 ms1-20TB极低($/GB)非易失大容量冷数据存储低成本海量存储
固件/只读存储BIOS/UEFINOR Flash/EEPROM50-100 ns16-128 MB非易失系统启动程序初始化硬件加载OS

存储层次性能对比(典型值)

指标寄存器L1 CacheDDR5内存NVMe SSDHDD
访问延迟0.3 ns1 ns70 ns100 μs10 ms
传输带宽>500 GB/s300 GB/s50 GB/s7 GB/s0.2 GB/s
容量范围<1 KB32-64 KB16-128 GB512GB-4TB1-20 TB
成本($/GB)N/A$100+$3-5$0.1-0.3$0.02-0.05

核心设计思想

  1. 层次化结构
    寄存器→L1→L2→L3→DRAM→SSD→HDD
    ↑速度递减 · 容量递增 · 成本递减↑

  2. 局部性原理支撑

    • 时间局部性:近期访问数据很可能被重用
    • 空间局部性:相邻地址数据可能被连续访问

一、 存储器的基本概念与作用

  1. 定义: 用于存储二进制信息的物理设备或部件。
  2. 核心作用:
    • 存储程序: 存放等待执行的指令序列。
    • 存储数据: 存放原始数据、中间计算结果和最终结果。
    • 信息交换中心: CPU、输入/输出设备都需要通过存储器交换信息(在现代系统中,通常通过Cache和内存交换)。
  3. 核心指标:
    • 存储容量: 存储器能存储的二进制信息总量。基本单位是位(bit),常用单位有字节(Byte, B)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)等。
    • 存取时间: 从存储器接收读/写命令到完成读/写操作所需的时间。通常用Ta表示。反映速度
    • 存储周期: 连续两次独立的存储器操作(如两次读)所需的最小时间间隔。通常用Tm表示,一般Tm > Ta(因为需要恢复/稳定时间)。反映带宽潜力
    • 可靠性: 存储器在规定条件下无故障工作的能力。常用平均无故障时间衡量。
    • 功耗: 存储器工作时消耗的功率。
    • 价格/成本: 每位存储单元的成本。
    • 非易失性: 断电后信息是否丢失的特性。

二、 存储器的分类

  1. 按在计算机系统中的地位/层次分类 (最重要):

    • 高速缓冲存储器: 位于CPU和主存之间。容量最小(KB~MB级),速度最快(接近CPU速度),价格最高。由SRAM构成。主要作用是解决CPU和主存速度不匹配问题,存放当前最活跃的程序和数据副本。
    • 主存储器: 简称主存或内存。计算机运行时存放当前正在执行的程序和数据的部件。CPU可直接访问。容量较大(GB级),速度较快(纳秒级),价格适中。主要由DRAM构成。
    • 辅助存储器: 简称辅存或外存。如硬盘(HDD)、固态硬盘(SSD)、光盘、磁带等。容量极大(TB~PB级),速度慢(毫秒级),价格低廉(单位容量成本最低),非易失。用于存放大量暂时不用的程序和数据。CPU不能直接访问辅存,需通过I/O接口调入主存。
  2. 按存取方式分类:

    • 随机存取存储器: 存储单元的内容可按地址随机访问,且访问时间与存储单元的物理位置无关。如:RAM(主存)、ROM、Cache
    • 顺序存取存储器: 信息按顺序存放和读取,访问时间取决于信息所在位置。如:磁带
    • 直接存取存储器: 存取信息时通常分两步:首先直接指向一个较小的区域(如磁道),然后在该区域内顺序查找或等待。如:磁盘(HDD)、光盘。虽然名字有“直接”,但其存取时间与位置有关,并非严格随机。
    • 相联存取存储器: 不是按地址而是按内容的某些特征(关键字)进行访问。如:TLB(快表)
  3. 按存储介质分类:

    • 半导体存储器: 用半导体集成电路工艺制成。如:SRAM, DRAM, ROM, Flash Memory。速度快,集成度高,功耗相对低。是主存和Cache的基础。
    • 磁表面存储器: 在金属或塑料基体表面涂覆磁性材料层存储信息。如:硬盘(HDD)、磁带。非易失,容量大,成本低,速度慢。
    • 光存储器: 利用激光技术存储和读取信息。如:CD-ROM, DVD, Blu-ray。非易失,容量较大,可移动,速度慢。
    • 新型存储器: 如相变存储器、阻变存储器、磁阻存储器等,试图结合DRAM的速度、SRAM的易用性和Flash的非易失性。
  4. 按信息的可更改性分类:

    • 读写存储器: 既可读也可写。如:RAM(SRAM, DRAM)、部分Flash Memory
    • 只读存储器: 信息固化写入后,在正常工作状态下只能读不能写。如:MROM, PROM, EPROM, EEPROM, Flash ROM(用于固件/BIOS)。通常非易失。
  5. 按信息的易失性分类:

    • 易失性存储器: 断电后信息丢失。如:SRAM, DRAM(主存、Cache)。
    • 非易失性存储器: 断电后信息仍能保持。如:ROM、Flash Memory、磁盘、光盘、磁带

三、 存储系统的层次结构

现代计算机采用多级存储体系来解决存储器速度、容量、成本之间的矛盾。核心思想是:

  1. 层次化: 将不同速度、容量、成本的存储器组织成金字塔结构。
    • 顶层: 寄存器 (CPU内部) - 最快最小最贵。
    • 上层: Cache (SRAM) - 很快较小较贵。
    • 中层: 主存储器 (DRAM) - 较快较大较便宜。
    • 底层: 辅助存储器 (HDD/SSD/等) - 慢大便宜,非易失。
  2. 局部性原理: 程序访问存储器在时间和空间上表现出局部性。
    • 时间局部性: 刚被访问过的单元很可能在不久的将来再次被访问。
    • 空间局部性: 刚被访问单元的邻近单元很可能在不久的将来被访问。
  3. 工作过程: CPU首先访问最快的Cache。若所需数据在Cache中(命中),则快速获取。若不在(未命中),则访问主存获取数据,同时将该数据及其附近数据调入Cache以备后用。若所需数据不在主存中,则从辅存调入主存。
  4. 目标: 让CPU访问存储器的平均速度接近Cache的速度,而平均成本接近辅存的成本。

四、 主存储器详解

主存是存储层次的核心,CPU直接与之交互(通过总线)。

  1. 基本组成:

    • 存储体(MB): 由大量存储单元构成,每个单元存放一串二进制位(字),每个单元有一个唯一的地址。存储体是存储信息的实体。
    • 地址寄存器(MAR): 存放CPU要访问的存储单元地址。位数决定了可寻址空间(如32位MAR -> 4GB地址空间)。
    • 地址译码器: 将MAR中的地址码转换成对应存储单元的字选线信号。
    • 数据寄存器(MDR): 暂存从存储体读出或将要写入存储体的数据。位数与存储单元字长相同(或成倍数关系)。
    • 读写控制电路: 根据CPU发来的读/写命令,控制存储器的读写操作。
    • 时序控制电路: 产生存储器操作所需的各种时序信号。
  2. 主存的主要类型 (RAM):

    • 静态随机存取存储器:
      • 原理: 基于双稳态触发器(通常是6个MOS管构成)存储信息。只要供电,状态就能保持。
      • 特点: 速度快(存取时间短),接口简单(不需要刷新),功耗较高(比DRAM),集成度较低(单元面积大),成本高,易失
      • 应用: 主要用于高速缓存。
    • 动态随机存取存储器:
      • 原理: 利用电容上的电荷存储信息(通常1个MOS管+1个电容构成一个单元)。电容电荷会泄漏,需要定期刷新
      • 特点: 速度比SRAM慢,需要复杂的刷新电路,功耗较低(待机时),集成度高(单元面积小),成本低(单位容量),易失
      • 应用: 构成计算机的主内存。常见类型:SDRAM, DDR SDRAM (DDR, DDR2, DDR3, DDR4, DDR5)。DDR技术通过时钟上下沿传输数据,成倍提高了数据传输率。
    • 只读存储器:
      • 掩模ROM: 信息在生产时固化,不可更改。
      • PROM: 用户可编程一次,之后不可更改。
      • EPROM: 紫外光擦除,电编程。可多次擦写。
      • EEPROM: 电擦除电编程。可逐字节擦写,但速度慢。
      • Flash Memory: 块擦除型EEPROM。擦写速度快于EEPROM,成本更低,集成度高。广泛应用于U盘、SSD、BIOS芯片等。非易失
      • 特点: 非易失性,通常只能读(或写速度远慢于读),用于存储固定程序和数据(如BIOS、引导程序、固件)。
  3. 主存储器与CPU的连接:

    • 总线连接: 通过系统总线(地址总线、数据总线、控制总线)连接。
    • 地址线连接: CPU的地址总线连接到存储芯片的地址引脚。地址总线的宽度决定最大寻址范围。
    • 数据线连接: CPU的数据总线连接到存储芯片的数据引脚。数据总线的宽度决定每次访问的数据位数。
    • 控制线连接: CPU的读/写控制线连接到存储芯片的读/写控制引脚(如/WE)。片选信号(/CS/CE)通常由高位地址经译码器产生,用于选择特定的存储芯片或芯片组。
    • 存储容量的扩展:
      • 位扩展: 增加数据位数(字长)。多片存储芯片的数据线分别连接到数据总线的不同位上,地址线和控制线并联。
      • 字扩展: 增加存储单元数量(字数)。多片存储芯片的数据线都连接到数据总线上(需要三态控制),地址线并联,但片选信号由不同的地址译码输出控制。
      • 字位同时扩展: 同时增加字数和字长。结合位扩展和字扩展的方法。
  4. 提高主存性能的技术:

    • 多体交叉存储器:
      • 原理: 将主存分成多个独立编址、能并行操作的存储体(模块)。
      • 编址方式:
        • 高位交叉编址(顺序方式): 高位地址用于选择存储体。主要用于扩大容量。访问连续地址时,实际在同一存储体上串行进行。
        • 低位交叉编址(交叉方式): 低位地址用于选择存储体。连续地址分布在相邻的不同存储体上。
      • 作用(低位交叉): 当CPU连续访问主存时,可以在前一个存储体存取周期结束前启动下一个存储体的访问,形成流水线操作,提高存储器的带宽
    • 高速缓冲存储器: 如前所述,是解决CPU-主存速度差异最有效的方法。

五、 辅助存储器

  1. 作用: 提供海量、廉价、非易失的存储空间。
  2. 主要类型:
    • 磁盘存储器:
      • 组成: 盘片(表面磁性涂层)、磁头、读写电路、驱动机构(主轴电机、磁头臂驱动电机)、接口。
      • 原理: 利用磁头在高速旋转的盘片表面磁化区域来记录信息(磁畴方向代表0/1)。信息按磁道和扇区组织。
      • 特点: 容量大,成本低(单位容量),非易失,可重复读写,访问速度慢(寻道时间+旋转延迟+传输时间),有机械运动部件(易损、功耗、噪音)。
    • 固态硬盘:
      • 原理: 基于NAND Flash存储器芯片,通过电子方式存储信息。
      • 特点: 速度快(尤其是随机访问,无机械延迟),无机械部件(抗震、静音、低功耗),非易失,但单位容量成本高于HDD,存在写入次数限制(需磨损均衡算法管理)。
    • 光盘存储器: 利用激光在盘片表面烧蚀凹坑或改变相变材料状态来记录信息。如CD-ROM(只读)、CD-R(一次写)、CD-RW(可重写)、DVD、BD。容量较大,可移动,成本低,速度慢,主要用于数据分发和备份。
    • 磁带存储器: 顺序存取,容量巨大(LTO磁带),成本极低(单位容量),速度很慢,主要用于海量数据的长期归档备份。

六、 存储器的主要技术指标总结与平衡

  • 速度: 存取时间(Ta)、存储周期™、数据传输率(带宽 = 数据总线宽度 / Tm)。
  • 容量: 总存储位数或字节数。
  • 价格/位: 每位存储单元的成本。
  • 功耗: 工作功耗和待机功耗。
  • 可靠性: MTBF。
  • 非易失性: 是否需要持续供电保存数据。

核心矛盾: 速度快的存储器成本高、容量小;成本低、容量大的存储器速度慢。存储层次结构局部性原理是解决这一矛盾的关键。

七、 发展趋势

  1. 新型非易失存储器:相变存储器、阻变存储器、磁阻存储器等,致力于突破SRAM/DRAM/Flash的局限,实现更高速度、更低功耗、更长寿命、更高密度的非易失存储。
  2. 3D堆叠技术: 将存储单元在垂直方向堆叠多层,显著提高单位面积上的存储密度(如3D NAND Flash, 3D DRAM)。
  3. 存储类内存: 试图打破传统存储层次界限,让具有非易失性、接近DRAM速度、字节寻址能力的新型存储器(如PCM, ReRAM)直接连接到内存总线,既能充当高速主存又能持久化数据。
  4. 近存计算/存内计算: 探索在存储器内部或其附近进行数据处理,减少数据在存储器和处理器之间的搬运开销,提升能效和性能,尤其适用于大数据和AI场景。
  5. 高速接口技术: 如GDDR(显存)、HBM(高带宽内存)用于满足GPU和AI加速器对极高内存带宽的需求。

总结

存储器是计算机系统不可或缺的“记忆”部件,其性能直接影响整体系统性能。理解存储器的分类、层次结构(特别是Cache-主存-辅存体系)、工作原理(尤其是SRAM、DRAM、Flash)、技术指标及其相互制约关系,是掌握计算机组成原理的关键。现代计算机通过精妙的多级存储层次设计和局部性原理的利用,在速度、容量和成本之间取得了良好的平衡。存储技术仍在快速发展,新型存储介质和架构不断涌现,将持续推动计算能力的提升和应用模式的变革。

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

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

相关文章

通过rss订阅小红书,程序员将小红书同步到自己的github主页

title: 通过rss订阅小红书&#xff0c;程序员将小红书同步到自己的github主页 tags: 个人成长 categories:杂谈最近在做一些新的尝试&#xff0c;把文本的内容转化为漫画和图片&#xff0c;方便大众阅读&#xff0c;恰好小红书很适合分发这些内容&#xff0c;于是我开通了小红书…

麒麟KylinOS V10-SP3 安装FastGPT

1. 操作系统环境CPU&#xff1a;20核 Xeon(R) Platinum 8457C 内存&#xff1a;64GB GPU&#xff1a;4090 操作系统&#xff1a;KylinOS-V10-SP32. 安装docker、docker-compose、fastgpt下载安装docker、docker-compose1. 下载docker docker 下载地址&#xff1a; https://do…

前端/在vscode中创建Vue3项目

Contenthtml input元素添加css样式使用js添加交互按钮点击提示输入框字符计数使用 npm 来管理项目包安装 Node.js初始化项目安装依赖包创建一个基于 Vite 的 Vue 项目创建项目进入项目目录安装依赖调用代码格式化工具启动开发服务器在浏览器中访问html input元素 <input ty…

HiSmartPerf使用WIFI方式连接Android机显示当前设备0.0.0.0无法ping通!设备和电脑连接同一网络,将设备保持亮屏重新尝试

在使用HiSmartPerf使用WIFI方式连接Android机时&#xff0c;如果出现无法ping通0.0.0.0的情况&#xff0c;可以尝试以下步骤解决问题&#xff1a;问了一下AI&#xff0c;给出的解答如下&#xff1a; 检查网络连接 &#xff1a;确保设备和电脑连接到同一局域网的Wi-Fi。可以在手…

SpringWeb是什么东西?

SpringWeb是个什么东西&#xff1f;SpringWeb是一个Java开发Web项目时的Web层框架。所谓Web层&#xff0c;就是直接和用户打交道的框架&#xff0c;用户(User)也就是顾客&#xff0c;顾客就是上帝&#xff0c;我们说是Web项目&#xff0c;通常也就是说B/S架构的项目&#xff0c…

docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理

docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理 一、环境介绍 二、基础环境安装 1、优化系统参数 2、安装docker 3、创建容器网络 4、安装测试容器(可选) 三、安装nginx 1、拉取镜像 2、创建映射目录 3、准备默认配置文件 4、证书文件准备 5、启动nginx容器…

自动驾驶中安全相关机器学习功能的可靠性定义方法

摘要当前标准无法涵盖高自动化驾驶中基于机器学习功能的安全需求。由于神经网络的不透明性&#xff0c;一些自动驾驶功能无法按照 V 模型进行开发。这些功能需要对标准进行扩展。本文聚焦这一空白&#xff0c;为这类功能定义了功能可靠性&#xff0c;以帮助未来的标准控制基于机…

css实现圆角+边框渐变+背景半透明

ui小姐姐经常搞一些花里胡哨的东西&#xff0c;圆角边框渐变背景半透明&#xff0c;虽然每个都可以弄&#xff0c;但是合在一起真的不好弄&#xff0c;主要是因为通过border–image设置的边框渐变&#xff0c;无法使用圆角&#xff0c;下面是自己搜索整理的一些可以的方案。 方…

tree组件(几种不同分叉树Vue3)

效果图&#xff1a; 基础树组件&#xff08;本人博客里面有&#xff09; https://blog.csdn.net/xfy991127/article/details/140346861?spm1001.2014.3001.5501 下面是工作需求改造后 父组件 <template><div class"go-JJTree" id"tree-scroll&quo…

百度智能云x中科大脑:「城市智能体」如何让城市更会思考

近日&#xff0c;2025中关村论坛系列活动——中关村人工智能与未来城市论坛在中关村国家自主创新示范区展示中心举办。论坛上&#xff0c;发布了应用范式创新升级成果、智能体产品、可信数据空间成果等。 中科大脑联合百度智能云等伙伴共同打造并发布21个智能体产品&#xff0c…

在职老D渗透日记day16:sqli-labs靶场通关(第24关)二次注入 sqlmap自动注入没跑出来。。。

5.24.2.sqlmap自动注入第一个&#xff1a;登录页面&#xff08;1&#xff09;pb抓取http头POST /sqli-labs/Less-24/login.php HTTP/1.1 Host: 192.168.10.106 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0 Accept: text/ht…

Fanuc机器人EtherCAT通讯配置详解

1、EtherCAT简介EtherCAT&#xff0c;这一基于以太网的现场总线系统&#xff0c;以其开放架构和高速性能著称。CAT代表的是控制自动化技术&#xff08;Control Automation Technology&#xff09;的缩写&#xff0c;彰显了其在工业自动化领域的核心地位。作为确定性的工业以太网…

超酷炫的Three.js示例

今天写一个超级酷炫的Three.js示例&#xff0c;以下是文件源代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-sca…

从零开始大模型之实现GPT模型

从零开始大模型之从头实现GPT模型1.大语言模型整体架构2 大语言的Transformer模块2.1 层归一化2.2 GELU激活函数2.3 前馈神经网络2.4 快捷连接3 附录3.1 anacondapython环境搭建1.数据预处理&#xff1a;原始数据进行词元化&#xff0c;以及通过&#xff0c;依据词汇表生成ID编…

[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络

链接&#xff1a;https://github.com/byliutao/1Prompt1Story 这个项目是一个基于单个提示生成一致文本到图像的模型。它在ICLR 2025会议上获得了聚焦论文的地位。该项目提供了生成一致图像的代码、Gradio演示代码以及基准测试代码。 主要功能点: 使用单个提示生成一致的文本…

【GitHub开源AI精选】Sitcom-Crafter:北航联合港中文等高校打造的剧情驱动3D动作生成系统

系列篇章&#x1f4a5; No.文章1【GitHub开源AI精选】LLM 驱动的影视解说工具&#xff1a;Narrato AI 一站式高效创作实践2【GitHub开源AI精选】德国比勒费尔德大学TryOffDiff——高保真服装重建的虚拟试穿技术新突破3【GitHub开源AI精选】哈工大&#xff08;深圳&#xff09;…

智和信通全栈式运维平台落地深圳某学院,赋能运维管理提质提效

深圳某学院校园内信息化设备众多&#xff0c;网络环境复杂&#xff0c;使得网络管理工作面临着诸多难题与挑战。为保障校园网络能够稳定、高效地运行&#xff0c;学院亟须构建一套集高效、智能、协同于一体的网络运维平台。 对运维平台的期望包括&#xff1a; 实现校园内教学…

开疆智能Ethernet转ModbusTCP网关连接测联无纸记录仪配置案例

本案例是通过Ethernet转ModbusTCP网关将记录仪数据传送到欧姆龙PLC&#xff0c;具体操作过程如下。欧姆龙PLC配置首先打开主站组态软件“Sysmac Studio”并新建项目。设置PLC的IP地址点击工具-Ethernet/IP连接设置&#xff0c;在弹出的选个框内选择显示EDS库添加网关eds文件开始…

Eureka故障处理大汇总

#作者&#xff1a;Unstopabler 文章目录1. Eureka 服务启动故障处理1.1 端口占用导致启动失败1.2 配置文件错误导致启动失败1.3 依赖冲突与类加载错误2. 服务注册与发现异常2.1 服务无法注册到 Eureka2.2 Eureka 控制台看不到注册的服务2.3 服务注册后立即被剔除3. Eureka 集群…

基于Transformer的机器翻译——模型篇

1.模型结构 本案例整体采用transformer论文中提出的结构&#xff0c;部分设置做了调整。transformer网络结构介绍可参考博客——入门级别的Transformer模型介绍&#xff0c;这里着重介绍其代码实现。 模型的整体结构&#xff0c;包括词嵌入层&#xff0c;位置编码&#xff0c;…