体系结构16_存储器的层次结构

从单级存储器到多级存储器

处理器性能与存储系统性能之间存在巨大差异。

1.为什么?

   (1)主存储器与CPU速度差距越来越大,存储墙问题严重制约着计算机性能的提升。

   (2)系统与应用的规模不断扩大,需要更大的存储器来支撑程序的运行

    (3)各类存储器的容量/速度/价格不可兼得,如SRAM、DRAM、磁盘等,凭现有单种存储器件,无法构建一个可行的存储系统。SRAM速度基本和CPU速度差不多,但占的体积较大,还比较昂贵

2.怎么办?

  1.利用多种存储器件,取长补短,构建层次式存储系统

       快速但昂贵的存储器:容量少点,尽量让CPU多访问

       慢速但容量大的存储器:容量大点,CPU尽可能少访问

3.能否达到效果?

   访问速度方面:采用快速存储器,尽量让CPU多访问快速存储器中的内容(增加Cache层次)

        程序局部性原理:

            时间局部性:当前访问的数据存放Cache中

            空间局部性: 把与当前访问地址相邻的数据放入Cache中(以块为单位从内存调入)

   容量方面:采用慢速但容量大的存储器,内存不够时数据可以放到外存中(增加辅存层次)

Cache-主存和主存-辅存层次

最主要的两种层次

从主存的角度来看:

   Cache-主存层次:弥补主存速度的不足

   主存-辅存层次:弥补主存容量的不足

存储层次的四个问题

1.当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?

   (映像规则     调入块可以放在哪些位置)

2.当所要访问的块在高一层存储器中时,如何找到该块?

   (查找算法     如何在映像规则规定的候选位置查找)

3.当发生失效时,应替换哪一块?

   (替换算法    规定的候选位置均被别的块占用)

4.当进行写访问时,应进行哪些操作?

    (写策略       如何处理写操作)

存储层次的性能参数

猜你喜欢

转载自blog.csdn.net/weixin_42596333/article/details/104237407
今日推荐