*主存与 Cache 分块**:主存和 Cache 都被划分为固定大小的数据块(block 或 line)

CPU Core → L1 指令 Cache(I-Cache)与 L1 数据 Cache(D-Cache)分离 → 统一的 L2 Cache → 共享的 L3 Cache → 主存(Main Memory),各层级之间通过系统总线(Bus)进行数据交互。

这种结构的设计目的是缓解 CPU 处理速度远高于主存访问速度所带来的性能瓶颈。Cache 利用程序的局部性原理(时间局部性和空间局部性),将频繁使用的指令和数据缓存在靠近 CPU 的高速存储器中。其中:

  • L1 Cache:速度最快、容量最小,通常集成在 CPU 核心内部,分为指令和数据两个独立部分以支持并行访问。
  • L2 Cache:速度次之、容量较大,可能每个核心独享或多个核心共享。
  • L3 Cache:速度较慢但容量更大,通常被多个核心共享,是最后的共享缓存层。
  • 主存(DRAM):速度最慢、容量最大,存放所有运行中的程序和数据。

关于高速缓存的地址映像方法中的直接映像(Direct Mapping)

这是一种最简单的地址映射方式。其实现机制如下:

  1. 主存与 Cache 分块:主存和 Cache 都被划分为固定大小的数据块(block 或 line),例如每块 64 字节。
  2. 分区对应关系:整个主存被逻辑上划分为若干“区”(regions),每个区包含的块数与 Cache 中的总块数相同。
  3. 映射规则:主存中任意一个块只能映射到 Cache 中唯一固定的块位置。具体来说,若某个主存块的“区内块号”为 i,则它只能放入 Cache 的第 i 号块中。
    • 即:Cache 块号 = 主存块号 mod Cache 总块数

因此,主存地址可分解为三部分:

  • 主存区号(高位,决定属于哪个区)
  • 区内块号(中位,决定映射到 Cache 的哪个块)
  • 块内地址(低位,指向块内的具体字节)

示例:假设 Cache 有 64 个块,主存块号为 130,则 130 mod 64 = 2,该块只能映射到 Cache 第 2 号块。

优点:硬件实现简单,地址转换速度快,只需一次取模运算即可定位 Cache 位置。
缺点:容易发生冲突失配——即使 Cache 其他块空闲,只要两个不同区的块映射到同一位置,就会互相覆盖,导致命中率下降。

为此,实际处理器多采用更灵活的映像方式:

  • 全相联映像(Fully Associative Mapping):主存任一块可装入 Cache 任意位置,命中率高,但查找需比较所有块,速度慢、成本高。
  • 组相联映像(Set-Associative Mapping):折中方案,将 Cache 分为若干组,每组包含多个块(如 4 路组相联),主存块根据块号映射到特定组,但在组内可自由放置。兼顾速度与命中率,是现代 CPU 广泛采用的方式。

组相联映像(Set-Associative Mapping) 是一种介于直接映像和全相联映像之间的高速缓存地址映射方式。它将 Cache 划分为多个“组”(Set),每个组包含多个块(称为“路”,way)。主存中的每一个块根据其地址被映射到某个特定的组中,但在该组内可以自由地放置在任意一个空闲块中。

工作原理:

  1. Cache 分组:假设 Cache 共有 $ S $ 个组,每个组有 $ W $ 个块(即 $ W $ 路组相联),则总块数为 $ S \times W $。
  2. 映射规则:主存块号按模运算确定应放入的组号:
    组号=主存块号mod  S \text{组号} = \text{主存块号} \mod S 组号=主存块号modS
  3. 在目标组内,只要有任何一路(block)空闲或可替换(如 LRU 策略),就可以存放该主存块。
  4. 主存地址划分为三部分:
    • 标记(Tag):用于区分映射到同一组的不同主存块;
    • 组索引(Index):决定映射到哪个组;
    • 块内偏移(Offset):定位块内的具体字节。

例如:8 路组相联 Cache 有 64 个组,则每组可容纳 8 个块,总共 512 个块。主存块号对 64 取模得组号,在对应组中最多可同时保存来自不同主存区但同组号的 8 个块。


相比直接映像的优势:

对比项直接映像组相联映像优势说明
命中率较低较高多个主存块可映射到同一组的不同“路”,减少因位置冲突导致的频繁替换。
灵活性固定一对一映射一组多选一同一组号下允许多个块共存,提升缓存利用率。
冲突失效率高(易发生抖动)显著降低即使两个块映射到同一组,只要组内有空间,就不会立即冲突。
硬件复杂度与速度平衡最简单最快稍复杂但仍高效比全相联简单(只需比较一组内的标记),又比直接映像更灵活。

典型应用:现代 CPU 广泛采用 4 路、8 路甚至 12 路组相联 的 L1/L2/L3 Cache 设计,在性能、功耗和成本之间取得良好平衡。


在这里插入图片描述

内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化训练,到执行分类及结果优化的完整流程,并介绍了精度评价通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者实践者。; 使用场景及目标:①在遥感影像中自动识别提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置结果后处理环节,充分利用ENVI Modeler进行自动化建模参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值