简述存储器的分级策略

为什么存储器会有分级策略?

对于存储器,我们都希望它能够速度更快、体积更小、容量更大、造价更便宜,但是这几个需求往往是相互矛盾的,所以我们需要将需求分级,使用频率越高的数据,读写越快越好,因此用最贵的材料,放到离 CPU 最近的位置;使用频率越低的数据,用越便宜的材料,放到离 CPU 越远的位置。

存储器的分级策略

存储器通常可以分为以下四级:寄存器、高速缓存、内存、SSD/硬盘/磁盘
在这里插入图片描述

寄存器 Register

寄存器紧挨着 CPU 的控制单元和逻辑计算单元。寄存器的访问速度非常快(用和 CPU 一样的材料制成,所以和 CPU 一样快),一般要求在半个 CPU 时钟周期内完成读写。比如一条要在 4 个周期内完成的指令,除了读写寄存器,还需要解码指令、控制指令执行和计算。如果寄存器的速度太慢,那 4 个周期就可能无法完成这条指令了。

每个寄存器可以用来存储一定字节(byte)的数据。比如:

  • 32 位 CPU 中大多数寄存器可以存储 4 个字节
  • 64 位 CPU 中大多数寄存器可以存储 8 个字节
高速缓存 Cache

Cache 是计算机中的一个高速小容量存储器,其中存放的是 CPU 近期要执行的指令和数据,其存取速度可以和 CPU 的速度匹配,一般采用静态 RAM 充当 Cache。CPU 的速度受制于内存的存取速度,为了解决 CPU 和内存速度不匹配的问题,在 CPU 和内存之间设置了高速缓冲存储器 Cache。

Cache 还分为L1-Cache、L2-Cache、L3-Cache等,它们依次距离CPU越远,造价更低、存储容量更大、读写速度更慢。

内存

内存的主要材料是半导体硅,是插在主板上工作的。因为它的位置距离 CPU 有一段距离,所以需要用总线和 CPU 连接。因为内存有了独立的空间,所以体积更大,造价也比上面提到的存储器低得多。现在有的个人电脑上的内存是 16G,但有些服务器的内存可以到几个 T。内存速度大概在 200~300 个 CPU 周期之间。

所有不能在高速缓存中得到满足的内存访问请求都会转往主存中。

SSD 和硬盘

SSD(Solid-State Driver/Disk) 也叫固态硬盘,结构和内存类似,但是它的优点在于断电后数据还在。内存、寄存器、缓存断电后数据就消失了。内存的读写速度比 SSD 大概快 10~1000 倍。以前还有一种物理读写的磁盘,也叫作硬盘或机械硬盘,它的速度比内存慢 100W 倍左右。因为它的速度太慢,现在已经逐渐被 SSD 替代。

各级存储器之间的关系

SSD/硬盘是用于存储数据的,且断电后数据仍然存在。我们安装在电脑上的应用和存储在本地的文件,在关机或停电后,并不会消失。

内存、高速缓存、寄存器不是用于存储数据的,其中的数据在断电后就会消失(不完全是这样,像内存中的ROM和闪存等),它们主要是用于加快CPU速度的。CPU的速度大致可以分为两类,处理数据+读写数据,其中读写数据的速度会受制于存储器的速度,所以像开头提到的,我们需要将存储器分级为寄存器、高速缓存、内存,依次具有更快的速度、离CPU更近,但也具有更小的存储空间、更高的价格。

当 CPU 需要内存中某个数据的时候,会依次向寄存器、高速缓存、内存请求数据。如果寄存器中有这个数据,则可以直接使用;否则就要依次查询高速缓存中的 L1、L2、L3 缓存;如果都没有数据,再去内存中拿。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值