美文网首页
第六章《存储器层次结构》

第六章《存储器层次结构》

作者: ShawnIsACoder | 来源:发表于2018-12-02 19:54 被阅读0次

局部性

具有良好局部性的程序倾向于一次又一次地访问相同的数据项集合,或是倾向于访问邻近的数据项集合。具有良好局部性的程序比局部性差的程序更多的倾向于从存储器层级结构的高层次处访问数据项,因此运行得更快

局部性有两种形式:

  • 时间局部性:在一个具有良好时间局部性的程序中,被引用过一次的内存位置很可能在不远的将来再被多次引用
  • 空间局部性:在一个具有良好空间局部性的程序中,如果一个内存的位置被引用了一次,那么程序很可能在不远的将来引用附近的一个内存位置

量化评价程序中局部性的一些原则:

  • 重复引用相同变量的程序具有良好的时间局部性
  • 对于具有步长k的引用模式程序,步长越小,空间局部性越好。在内存中以大步长跳来跳去的程序空间局部性很差
  • 对于取指令来说,循环具有良好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好

存储器层级结构

存储器层级结构.png

从高层往底层走,存储设备变得更慢、更便宜和更大

存储器层级结构的核心思想是:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。换句话说,层级结构中的每一层都缓存来自较低一层的数据对象。

对于缓存而言,有几个重要的感念:

  • 缓存命中:当程序需要第k+1层的某个数据对象d时,它首先会在第k层的一个块中查找d。如果d刚好缓存在第k层中,那么就是我们所说的缓存命中
  • 缓存不命中:如果k层中没有缓存数据对象d,就表示缓存不命中

    发生缓存不命中之后,k层会从k+1层中读取出包含数据d的块。如果此时k层已经满了,就会根据替换策略替换或是驱逐某个块。被替换驱逐的块也被称为是牺牲块

高速缓存存储器

高速缓存的通用组织.png

相关文章

  • Java并发机制底层实现(一)

    预备知识 存储器层次结构 大学操作系统课程里讲到了存储器层次结构的金字塔模型,金字塔从上到下代表更大的容量、更慢的...

  • 第六章 存储器层次结构

    一、存储技术 1. 随机访问存储器 静态RAM(SRAM): 主要用在cpu芯片上,每个位存储在一个双稳态存储器单...

  • 第六章《存储器层次结构》

    局部性 具有良好局部性的程序倾向于一次又一次地访问相同的数据项集合,或是倾向于访问邻近的数据项集合。具有良好局部性...

  • 存储器层次结构

    存储技术 存储技术主要有以下几种: SRAM,静态随机访问存储器,作为高速缓存存储器,断电信息丢失。 DRAM,动...

  • 存储器层次结构

    存储器系统是一个通过各种不同的方法和设备、一层层组合起来的系统. SRAM DRAM 存储器的层次结构 这样、每个...

  • 缓存行

    在介绍缓存行之前,我们需要先了解操作系统的存储器的层次结构,下图为CSAPP(原书第三版)中存储器层次结构图: 一...

  • CSAPP存储器层次结构

    一、存储技术 作为一名程序员,需要理解存储器的层次结构,因为它对应用程序的性能有着巨大的影响。因为与下一层次的存储...

  • 缓存的力量

    在现代计算机中,存储器系统的结构可以用一个存储器层次(Memory Hierarchy)模型来刻画。 越位于高层的...

  • 操作系统(1)---- 地址空间与虚拟内存

    计算机系统的存储器层次结构自上而下依次分为:寄存器、高速缓存、内存储器、磁盘缓存、可移动存储介质5层。 存储介质的...

  • 缓存一致性协议(MESI)

    存储器层次结构中,最快速的就是cpu一级别 在目前主流的计算机中,cpu执行计算的主要流程如图所示: 数据加载的流...

网友评论

      本文标题:第六章《存储器层次结构》

      本文链接:https://www.haomeiwen.com/subject/ezlscqtx.html