D第四章存储器层次结构:局部性与性能

局部性原理(访问局部性)

#存储器局部性原理 (Principle of Locality in Memory)是指计算机程序访问内存时表现出的一种趋势,即程序倾向于重复访问最近已经访问过的数据,或者访问与之前访问的数据地址相近的数据。这一原理可以分为两种形式:

  1. 时间局部性(Temporal Locality):如果一个数据项正在被访问,那么在未来不久的时间内,它很可能还会被再次访问。这是因为程序往往包含循环和其他重复执行的操作,使得数据项在一段时间内被反复使用,因而分为指令时间局部性和数据时间局部性

  2. 空间局部性(Spatial Locality):当前被引用的数据很可能会邻近于不久之前或之后将要引用的数据。这是因为程序往往顺序执行,连续的指令通常在内存中相邻存放,而且在数组处理等操作中也会频繁访问相邻的内存单元,因而分为指令空间局部性和数据空间局部性

存储器局部性原理对现代计算机系统的设计有着重要影响,尤其是在缓存系统的设计上。为了提高性能,现代处理器通常配备了多层缓存(L1, L2, L3 cache),这些缓存利用局部性原理来存储最近使用的数据或预计很快会被使用的数据,从而减少访问主内存(RAM)的次数,进而减少数据访问的延迟时间

  • #静态指令 :存在于才执行代码中的指令。
  • #动态指令 :出现在程序执行跟踪中的指令。

存储系统的特性

  • 存储位置:内部(如寄存器、主存、cache),外部(如光盘、磁盘、磁带)。
  • 存储容量:字数、字节数
  • 传输单元 :字、块
  • 存取方法:顺序存取、直接存取、随机存取、关联存取
  • 性能:存取时间、周期时间、传输时间
  • 物理类型:半导体、磁介质、光介质、磁-光介质
  • 物理特性:易失性/非易失性,可擦除/不可擦除
  • 组织:存储模块

存储层次结构

计算机系统的存储层次结构(Memory Hierarchy)是为了优化性能和成本而设计的多层次存储体系。不同层级的存储器在速度、容量、成本等方面有所差异。存储层次结构的主要目的是通过利用存储器局部性原理来提高系统性能,同时保持合理的成本。以下是存储层次结构的典型层次:

  1. 寄存器(Registers)

    • 存储位置:内部存储
    • 存储容量:非常小(几个字)
    • 存取方法:随机存取
    • 性能:最快
    • 物理类型:半导体
    • 物理特性:易失性
    • 组织:集成在CPU内、
    • 典型技术*:CMOS
  2. 高速缓存(Cache)

    • 存储位置:内部存储
    • 存储容量:小(KB到MB)
    • 存取方法:随机存取
    • 性能:快
    • 物理类型:半导体(SRAM)
    • 物理特性:易失性
    • 组织:通常分为L1、L2、L3等多个层级
    • 传统上是通过**静态随机存取存储器(SRAM)技术来构建的,最近是使用嵌入式动态RAM(eDRAM)**实现的。
  3. 主存储器(Main Memory / RAM)

    • 存储位置:内部存储
    • 存储容量:中等(GB)
    • 存取方法:随机存取
    • 性能:较快
    • 物理类型:半导体(DRAM/SRAM)
    • 物理特性:易失性
    • 组织:由多个存储模块(如内存条)构成
  4. 辅助存储(Secondary Storage)

    • 存储位置:外部存储
    • 存储容量:大(GB到TB)
    • 存取方法:直接存取或顺序存取
    • 性能:慢
    • 物理类型:磁介质(HDD)、光介质(CD/DVD)、磁-光介质(MO)、半导体(SSD)
    • 物理特性:非易失性
    • 组织:硬盘驱动器、固态硬盘、磁带、光盘等
  5. 远程存储(Remote Storage)

    • 存储位置:外部存储
    • 存储容量:非常大(PB)
    • 存取方法:通过网络访问
    • 性能:取决于网络速度
    • 物理类型:各种类型,通常使用云存储解决方案
    • 物理特性:非易失性
    • 组织:数据中心或云计算服务提供商

存储器层次结构的设计原则

  1. 局部性:局部性使有效利用存储器层次结构成为可能的原则。
  2. 包含:指在存储器层次结构中,较高速度的存储器包含较低速度存储器中的一部分数据。
  3. 一致性:确保数据在各个层级之间是一致的。如果一个数据项在某一存储层级中被修改,那么该修改应该反映在所有相关层级中。
  • 垂直一致性:指的是同一数据项在不同层级间的一致性。
  • 水平一致性:在同一层级内不同实例间的一致性。例如,在多处理器或多节点环境中,如果一个数据项在一个缓存中被更新,那么所有其他缓存中的该数据项副本也需要同步更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值