计算机存储器分级

从需求上讲,我们希望存储器速度快、体积小、能耗低、散热好、断电数据不丢失。但在现实中,我们往往无法把所有需求都实现。

首先来了解一下RAM和ROM的区别:

RAM(Random Access Memory)也叫随机存取存储器,RAM工作时可以随时从任何一个指定的地址写入或读出信息,但是掉电后存储的数据会丢失 ,通常用来存储一些临时数据 ,如程序运行过程中的中间数据,局部变量。主要分为SRAM和DRAM,计算机中的Cache用的是SRAM内存用的是DRAM,SRAM相较于DRAM成本高,读取速度快。

ROM(Read-Only Memory)是一种只读存储器,最初的ROM确实是只能读不能写,现在常用的ROM既可以读也可以写,ROM的叫法也一直沿用了下来。ROM用于存储固定的程序指令和数据,如启动程序,固件(设备驱动)等。ROM中的数据在计算机断电时不会丢失 ,因此被称为非易失性存储器,目前比较常用的一种ROM是EEPROM(电可擦除可编程只读存储器),可以通过电压脉冲来擦除和编程数据,但是擦写次数也是有限的,

Flash 存储器(FLASH EEPROM)又称闪存存储器。它是EEPROM的一种。它结合了ROM和RAM的长处。不仅具有读写功能,断电后数据也不会丢失,读写速度也较快。它和EEPROM的最大区别是,FLASH按扇区(block)操作,而EEPROM按照字节操作。成本也比EEPROM低,硬盘,U盘,SD卡等存储设备都是flash。

因为不能用一块存储器来解决所有需要,于是就把需求分级,根据数据的使用频率使用不同的存储器**:使用频率高** 的数据应该具有较快的读写速度 ,需要使用较贵的材料 ,距离CPU越近越好 ,使用频率不高的数据读写速度可以低一些成本也相对较低 ,距离CPU也更远一些

通常把存储器分为这个几个等级:寄存器,Cache,内存,硬盘。

寄存器

寄存器在CPU之内 ,紧挨着 CPU 的控制单元和逻辑计算单元,它所使用的材料速度也是最快的。因为,存储器的速度越快、能耗越高、产热越大,而且花费也是最贵的,因此其数量不能很多。寄存器的数量通常在几十到几百之间,每个寄存器可以用来存储一定字节(byte)的数据。比如:

  • 32 位 CPU 中大多数寄存器可以存储 4 个字节;
  • 64 位 CPU 中大多数寄存器可以存储 8 个字节。

Cache

Cache表示高速缓存 ,读写速度仅次于寄存器,分为L1-Cache,L2-Cache和L3-Cache,均位于CPU内部, L1-Cache用于存储常用的数据和指令,分为数据缓存(DCache)指令缓存(ICache) ,数据缓存存储处理器核心正在处理的数据,而指令缓存则存储处理器正在执行的指令,成本也较高,大小在几十到几百kb不等,L2-Cache用于存储更多的数据和指令,以便在 L1 缓存未命中时提供更多的备份,速度比L1-Cache慢,但是成本也较低,L3-Cache是位于处理器核心之间的共享缓存 ,多个处理器核心可以共享相同的L3-Cache,可以减少核心之间的数据传输延时,Cache使用的材料一般是SRAM(静态随机存取存储器),具有较高的速度和稳定性,成本也较高。

内存

内存的主要材料DRAM,因为它的位置距离 CPU 有一段距离,所以需要用总线和 CPU 连接。因为内存有了独立的空间,所以体积更大,造价也比上面提到的存储器低得多。 当CPU 需要内存中某个数据的时候,如果寄存器中有这个数据,我们可以直接使用;如果寄存器中没有这个数据,我们就要先查询 L1 缓存;L1 中没有,再查询 L2 缓存;L2 中没有再查询 L3 缓存;L3 中没有,再去内存中拿。

硬盘

硬盘结构是ROM,但是它的优点在于断电后数据不会丢失。内存、寄存器、缓存断电后数据就消失了。但是读写速度较以上三种都慢,同时造价也更低,因此大小也更大。

计算机存储器结构可以用下图表示:

相关推荐
kaikaile199524 分钟前
LDPC编解码与未编码信息的误码率比较
网络
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ43 分钟前
aspect实现请求校验,但是WebSocket 端点类不能被 AOP 代理解决方案
网络·websocket·网络协议
数字护盾(和中)1 小时前
从边界突破到物理破坏:APT 工控攻击链路与防御闭环
网络
Saniffer_SH1 小时前
【每日一题】PCIe答疑 - 接大量 GPU 时主板不认设备或无法启动和MMIO的可能关系?
运维·服务器·网络·人工智能·驱动开发·fpga开发·硬件工程
大白的编程日记.1 小时前
【计算网络学习笔记】Socket编程UDP实现简单聊天室
网络·笔记·学习
织元Zmetaboard1 小时前
什么是态势感知大屏?
网络·数据库
Web3VentureView1 小时前
培养全球Web3人才:SYNBO商学院正式启动运营
网络·金融·重构·web3·区块链
Saniffer_SH1 小时前
【每日一题】讲讲PCIe链路训练和枚举的前后关系
运维·服务器·网络·数据库·驱动开发·fpga开发·硬件工程
真正的醒悟2 小时前
图解网络35
开发语言·网络·php
bleach-2 小时前
内网渗透之横向移动&持久化远程控制篇——利用ipc、sc、schtasks、AT,远程连接的winrm,wmic的使用和定时任务的创建
网络·windows·安全·web安全·网络安全·系统安全·安全威胁分析