网站建设竞标书,郑州妇科医院排行榜,360优化大师官方最新,asp化妆品网站 后台基于计算机组成的简单Cache讲解
本文目录
为什么需要CacheCache的基本特点什么样的数据需要放入CacheCache的基本结构Cache的工作流程Cache的补充Cache的改进 为什么需要Cache#xff08;高速缓冲存储器#xff09;#xff1f;
我们都知道CPU处理数据的速度非常快#x…基于计算机组成的简单Cache讲解
本文目录
为什么需要CacheCache的基本特点什么样的数据需要放入CacheCache的基本结构Cache的工作流程Cache的补充Cache的改进 为什么需要Cache高速缓冲存储器
我们都知道CPU处理数据的速度非常快虽然内存的读写速度也不慢但是相对于CPU它的速度就显得太慢了所以如果单纯地让CPU对内存进行读写所消耗的时间绝大部分是在内存对数据的处理上而这时候CPU就在空等浪费了资源因此就需要在CPU与内存之间连接一个Cache来作为缓冲。
Cache的基本特点
由于Cache是为了缓解内存处理数据太慢而出现的因此Cache应该具备的一个基本特点就是读写数据的速度快能够比较好地匹配CPU的速度尽可能地让CPU忙起来但是就是因为它处理速度快所以就造成了它的容量比较小如果能够既可以容量大又可以速度快的话直接把内存的速度提高到匹配到CPU的速度就好了但是由于材料的价格技术复杂度等等原因Cache还是很必要的。
什么样的数据需要放入Cache
前面提到Cache的两大特点速度快与容量小就容量小这特点来说我们就不能把所有的数据都放到Cache里所以Cache里应该放CPU最有可能会对它进行处理的数据。 说到这里就不得不提到程序运行的局部性原理这个原理完美地解释了什么样的数据很可能会被CPU处理它包含两个部分时间局部性与空间局部性。
时间局部性是指当CPU处理了一个数据以后它很有可能会对它进行第二次处理。空间局部性是指CPU处理了内存中某一块的数据它很可能会还对它附近的数据块进行读写操作。
所以这些就是需要放入CPU的数据在CPU对某一数据进行操作后主存与Cache就开始行动将可能需要的数据放入到Cache中。
Cache的基本结构
Cache的存储体的基本存储单元为块每一个块内有块内地址Cache的地址通过块号与块内地址来表示。除了块之外还有标记通过标记来识别此时Cache里有误想要的数据如果标记里有则直接对Cache进行处理如果在标记里没有找到则再对主存进行数据传输。Cache里还有几个机构替换机构与地址映射变换机构。
Cache的工作流程
Cache的操作可以分为读操作与写操作。在介绍操作之前首先应该介绍一下Cache几个机构的作用。 替换机构在CPU对内存进行读写操作时如果发现想要的数据在Cache里没有而且Cache的容量满了的情况下就需要对Cache旧的数据进行替换。地址映射变换机构这个机构其实可以分为两个映射机构与变换机构 - 映射机构可以查看将数据放到哪些块中 - 变换机构可以将Cache的块号与主存的块号相互转换 读操作 CPU对数据进行读操作时首先应该查看Cache里的标记中有没有对应地址如果发现Cache中有要找的数据则直接从Cache中读取节省时间。如果发现Cache中没有则需要到内存中去读取根据程序运行的局部性原理时间局部性与空间局部性需要将相关的数据写入Cache中方便下一次的读操作这时如果Cache中数据没满则直接写入Cache如果满了就需要Cache的替换机构对需要替换的数据进行替换将数据放入Cache存储体中。写操作 写操作分为两种写直达法与写回法。 写直达法将要写入的数据既写入Cache又写入主存写操作的时间就是访问主存的时间。 写回法只把数据写入Cache而不写入主存当Cache数据被替换出去时才写回主存
Cache的补充
命中率对于Cache来说如果CPU要进行读写操作的数据在Cache中则称为命中如果不在Cache中则没有命中。Cache-主存的地址映射 直接映射Cache与主存直接映射 主存被划分为多个区Cache里的每一个块对应主存每个区的相应的块Cache的一个块可对应主存每个区的相应的块由区号选出具体的块然后由子块内地址偏移量选定具体的数据 缺点利用率较低 全相联映射Cache的各个块对应主存储器的各个块 组相联映射在直接映射的基础上Cache的每个组的块数变成了两块或者若干块导致一块占满时可以放到另外一块 Cache的替换算法 在Cache的替换机构进行替换时需要采用相关的替换算法。 先进先出FIFO算法 缺点可能会替换掉更有用的数据没有体现程序运行局部性原理 近期最少使用LRU算法将近期最少使用的块替换掉 Cache的改进
增加Cache的级数统一缓存和分立缓存 指令Cache 数据Cache
只适用于初学的朋友如有错误希望朋友们指正一起加油