1、计算机存储为金字塔型存储

这种结构主要由寄存器,缓存(cache),内存,硬盘这几部分组成。有如下两个特点:

  • 越接近金字塔顶端速度越快,容量越小,价格越贵
  • 每一种存储器设备只和它相邻的存储设备打交道

2、为什么金字塔结构可以优化存储器读写速度
2.1 数据被访问的概率是不均匀的
在关机情况下,计算机的数据大多数都是存储在硬盘中的,计算机开始运行,就需要将数据从硬盘到送到CPU进行处理。如果所有的数据都是均匀的分布在硬盘中,并且被访问的概率完全一样,那么只进行一次硬盘数据存取就是最快的选择。但是实际情况是,所有的数据被访问的概率并不是均匀的,而是存在集中性。比如你的电脑有10个软件,但是你可能访问最多的只有其中一两个。这种不均匀就能被用来优化计算机读写速度的可能。

这种不均匀性的一个重要应用就是二八原则,80%的重测率集中在前20%的问题上,80%的时间只用到了20%的工具/知识。所以计算机如何区分出关键的20%将是优化存储器读写速度的关键。

主流存储的三种架构的特点_数据

2.2两种优化方法
计算机存储器访问有两个规律,分别对应时间和空间的不均匀性。空间上,与当前访问的数据相邻位置数据被访问到的可能性会更大。时间上,之前被访问的数据再次被访问到的可能性更大

空间上的优化很好实现,从硬盘拷贝数据时,同时将该位置附近的数据缓存在内存或者更高级存储器中即可。

     时间上的优化,可以使用LRU算法。如下图所示,当数据被访问时,如果是新页面,就直接将该页数据的索引插入链表最开始,如果长度超过规定大小(一般是缓存空间大小),就将链表尾删除。如果是之前缓存过的数据,就将索引先删除再添加到链表头位置。

主流存储的三种架构的特点_主流存储的三种架构的特点_02

2.3 这种优化能带来什么样的效率提升

我们作如下假设:

l 存储器结构是两层金字塔,L1 和 L2,L1速度高于L2,是金字塔顶。L2是金字塔底

l 算法成功将80%可能被用到的数据提前存储在高级缓存中

l L1存取一次耗费0.01s,L2 存取一次耗费1s

那么我们可以计算出每次访问所需要的平均访问时间为:

(0.0180%+120%)/ 100% = 0.208

这种方法使我们用接近L2的成本获得了接近L1访问速度。

主流存储的三种架构的特点_缓存_03