




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是cache Cache又叫高速缓冲存储器 位于CPU与内存之间 是一种特殊的存储器子系统 目前比较常见的是两极cache结构 即cache系统由一级高速缓存L1cache和二级高速缓存L2cache组成 L1cache通常又分为数据cache I Cache 和指令cache D Cache 它们分别用来存放数据和执行这些数据的指令 两极cache相比较而言 L1cache的容量小 但数据存取速度较快 L2cache的容量大 但数据存取速度较慢 部分系统中也存在三级cache的结构 Cache的作用是什么 Cache的作用就是为了提高CPU对存储器的访问速度 电脑的内存是以系统总线的时钟频率工作的 这个频率通常也就是CPU的外频 但是 CPU的工作频率 主频 是外频与倍频因子的乘积 这样一来 内存的工作频率就远低于CPU的工作频率了 这样造成的直接结果是 CPU在执行完一条指令后 常常需要 等待 一些时间才能再次访问内存 极大降了CPU工作效率 在这样一种情况下 cache就应运而生了 指令地址 96loop ADDr2 r1 r1100SUBIr3 r3 1104BNEZr3 loop108 112 典型的内存访问模式 Cache的工作原理 CPU运行程序是一条指令一条指令地执行的 而且指令地址往往是连续的 意思就是说CPU在访问内存时 在较短的一段时间内往往集中于某个局部 这时候可能会碰到一些需要反复调用的子程序 系统在工作时 把这些活跃的子程序存入比主存快得多的cache中 CPU在访问内存时 首先判断所要访问的内容是否在cache中 如果在 则称为命中 hit 此时CPU直接从cache中调用该内容 否则称为未命中 miss CPU会通过cache对主存中的相应内容进行操作 Cache的地址映射方式 Cache与主存之间可以采取的地址映射方式有以下三种 全相联映射方式直接相联映射方式组组相联映射方式 全相联方式地址映射规则 主存的任意一块可以映射到cache中的任意一块 1 主存与cache分成相同大小的数据块 2 主存的某一数据块可以装入cache的任意一块空间中 优点 命中率比较高 cache存储空间利用率高 缺点 访问相关存储器时 每次都要与全部内容比较 速度低 成本高 因而应用少 直接相联方式地址映射规则 主存储器中一块只能映射到cache的一个特定的块中 1 主存与cache分成相同大小的数据块 2 主存容量应是cache容量的整数倍 将主存空间按cache的容量分成区 主存中每一区的块数与cache的总块数相等 3 主存中某区的一块存入cache时只能存入缓存中块号相同的位置 优点 地址映射方式简单 数据访问时 只需检查区号是否相等即可 因而可以得到比较快的访问速度 硬件设备简单 缺点 替换操作频繁 命中率比较低 组相联映射方式地址映射规则 1 主存和cache按同样大小划分成块 2 主存和cache按同样大小划分成组 3 主存容量是cache容量的整数倍 将主存空间按cache区的大小分成区 主存中每一区的组数与cache的组数相同 4 当主存的数据调入cache时 主存与cache的组号应相等 也就是各区中的某一块只能存入cache的同组号的空间内 但组内各块地址之间则可以任意存放 即从主存的组到cache的组之间采用直接映射方式 在两个对应的组内部采用全相联映射方式 优点 块的冲突概率比较低 块的利用率大幅度提高 块失效率明显降低 缺点 实现难度和造价要比直接映射方式高 块 块是cache与主存的传输单位 路 way 路是组相联映射方式的cache结构中的基本存储单位 每一路存储一个块的数据 组 entry 组是组相联映射方式的cache对块进行管理的单位 区 tag 块的地址对应的主存储器中的区 块内偏移地址 offset 用来标示块内一个字节的地址 组相联映射方式下主存储器的地址空间由 区 组和块内偏移地址组成 组相联映射方式下cache的内部结构 Cache的替换算法 Cache可以采用的替换算法主要有以下几种 先入后出 FILO 算法随机替换 RAND 算法先入先出 FIFO 算法近期最少使用 LRU 算法 随机 RAND 法是随机地确定替换的存储块 设置一个随机数产生器 依据所产生的随机数 确定替换块 这种方法简单 易于实现 但命中率比较低 先进先出 FIFO 法是选择那个最先调入的那个块进行替换 当最先调入并被多次命中的块 很可能被优先替换 因而不符合局部性规律 这种方法的命中率比随机法好些 但还不满足要求 近期最少使用 LRU 法是依据各块使用的情况 总是选择那个最近最少使用的块被替换 这种方法比较好地反映了程序局部性规律 命中率最高 如何提高cache的性能 提高cache的性能也就是要降低主存的平均存取时间主存平均存取时间 命中时间 未命中率 未命中惩罚提高cache的性能有以下三种方法 减少命中时间 减少未命中率 减少未命中惩罚 影响命中率的硬件因素主要有以下四点 Cache的容量 Cache与主存储器交换信息的单位量 cachelinesize Cache的组织方式Cache的替换算法 代码段Afor i 0 i 1024 i for j 0 j 4 j sum x i j 代码段Bfor j 0 j 4 j for i 0 i 1024 i sum x i j 通过优化代码提高cache命中率 对数组intx 1024 4 进行求和 代码段A 对于数组元素x i 0 i 0 1024 的访问是miss的 但对于x i 1 x i 2 x i 3 的访问是hit的 因此miss的总次数为1024次 代码段B 对于数组元素x i 0 x i 1 x i 2 x i 3 i 0 1024 的访问都是miss的 他们被x i 4 0 x i 4 1 x i 4 2 x i 4 3 所替换 因此miss的总次数为4096次 当需要对大量数据访问的时候 一定要注意对内存的访问要尽量是连续而且循环内层的访问接近cache的块大小 以提高cache的命中率 从而提高程序的运行效率 Cache的一致性问题 在采用cache的系统中 同样一个数据可能既存在于cache中 也存在于主存中 两者数据相同则具有一致性 数据不相同就叫做不一致 Cache主要有两种写策略写直达法 writethrough 和写回法 writeback 写直达法 writethrough 方法 在对cache进行写操作的同时 也将内容写到主存中 优点 可靠性较高 操作过程比较简单 缺点 写操作速度得不到改善 与写主存的速度相同 写回法 writeback 方法 在CPU执行写操作时 只写入cache 不写入主存 优点 速度较高 缺点 可靠性较差 控制操作比较复杂 对于多个主设备的共享存储总线系统 如带有DMA的系统 或者多处理器系统 由于其他的主设备也可以改变主存的内容 而这种改变是cache无法得知的 因此必须对cache的一致性问题进行处理 可以将主存中的一块地址空间设置为非cache访问 CPU对这部分地址空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年乡村兽医登记考试试题及答案
- 2025标准化拆迁代理合同模板
- 2025年专利领域高级人才面试必-备导航项目分析师预测题
- 医专护理考试题及答案
- 单招试题真题及答案护理
- 第三课 发现自己教学设计-2025-2026学年初中道德与法治统编版七年级上册-统编版2016
- 2025合同样本:项目投资合作合同范本
- 专业安装方案模板范本
- 江苏省南京市2025年-2026年小学六年级数学综合练习(下学期)试卷及答案
- 2025年养老机构院长考试必-备知识点梳理
- 人教版一年级数学上册-教材分析
- 围墙拆除改造合同模板
- 考点巩固卷03中国地理(原卷版)
- 《青纱帐-甘蔗林》教案- 2023-2024学年高教版(2023)中职语文基础模块下册
- 中职英语1第一单元unit1
- 农作物植保员技能竞赛理论考试题库500题(含答案)
- 食品产业高质量发展发展目标
- 恶性肿瘤微量营养素缺乏与补充
- 《职业道德与法治》开学第一课(导言)(课件)-【中职专用】中职思想政治《职业道德与法治》高效课堂课件+教案(高教版2023·基础模块)
- 中职生职业素养全套教学课件
- 课件:性传播疾病讲解
评论
0/150
提交评论