课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间
目录
一、存储器层次结构全景
(一)SRAM
(二)DRAM
(三)存储器的层级结构
二、局部性原理
一、存储器层次结构全景
(一)SRAM
SRAM(Static Random-Access Memory,静态随机存取存储器)。只要处在通电状态,里面的数据就可以保持存在,一旦断电,里面的数据就会丢失。在 SRAM 里面,一个比特的数据,需要 6~8 个晶体管,所以 SRAM 的存储密度不高,同样的物理空间下,能够存储的数据有限。不过, SRAM 的电路简单,所以访问速度非常快。
在 CPU 里,通常会有 L1、L2、L3 这样三层高速缓存。每个 CPU 核心都有一块属于自己的 L1 高速缓存,通常分成指令缓存和数据缓存,分开存放 CPU 使用的指令和数据。
L2 的 Cache 同样是每个 CPU 核心都有的,不过它往往不在 CPU 核心的内部,所以访问速度会比 L1 稍微慢一些。
L3 Cache,通常是多个 CPU 核心共用的,尺寸会更大一些,访问速度也就更慢一些。
(二)DRAM
DRAM(Dynamic Random Access Memory,动态随机存取存储器)。比起 SRAM 来说,密度更高,有更大的容量,而且也比 SRAM 芯片便宜不少。
DRAM 被称为“动态”存储器,是因为 DRAM 需要靠不断地“刷新”,才能保持数据被存储起来。DRAM 的一个比特,只需要一个晶体管和一个电容就能存储。所以,DRAM 在同样的物理空间下,能够存储的数据也就更多,也就是存储的“密度”更大。但是,因为数据是存储在电容里的,电容会不断漏电,所以需要定时刷新充电,才能保持数据不丢失。DRAM 的数据访问电路和刷新电路都比 SRAM 更复杂,所以访问延时也就更长。
(三)存储器的层级结构
各个存储器只和相邻的一层存储器打交道,并且随着一层层向下,存储器的容量逐层增大,访问速度逐层变慢,而单位存储成本也逐层下降,也就构成了我们日常所说的存储器层次结构。
二、局部性原理
局部性原理包括时间局部性(temporal locality)和空间局部性(spatial locality)两种策略。
时间局部性是说,如果一个数据被访问了,那么它在短时间内很可能还会被再次访问。
空间局域性是说,如果一个数据被访问了,那么和它相邻的数据也很快会被访问。
LRU(Least Recently Used)缓存算法:把有用户访问的数据加载到内存中,一旦内存里面放不下了,就把最长时间没有在内存中被访问的数据从内存中移走。
缓存命中率(Hit Rate/Hit Ratio):能从内存缓存中找到的数据在所有访问数据中占有的比例。