在计算机中:
CPU->一级缓存(SRAM)->二级缓存(DRAM)->内存
内存之间 的临时存储器,它的容量比内存小但交换(速度快)。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据 时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有 缓存的高速度,又有内存的大容量的存储系统了。
2:缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并 送给CPU处理,同时把这个数据所在的数据块调入缓存中,正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说 CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取.在那90%读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有 用数据占数据总量的80%,剩下的20%从二级缓存中读取.
3:缓存的容量有限,在容量达到一定的情况下,就得转换掉一部分数据,这就得根据的相应算法进行处理。
一,最优算法(opt),判断这些数据,从头开始,后面如果有被利用到的,不被淘汰,反之。
二,先进先出算法(FIFo)。
三,最近最少使用算法(LRU),用时间进行判断,没有使用的清理掉。
4:用于可变分区分配
一,最佳算法(查找适合大的内存),
二,最差算法(查找最大的内存自由区)。
三,首次适应法(从低地址开始按大于等于的内存)。
四,循环首次适应算法(不是从头地址开始,而是连续向下匹配)。
5:缓存写入内存
一,写直达,当要写入缓存时,数据同时写回主存储器,有时也称写通。
二,写回,修改时,不写到主存,当缓存淘汰时,才写入。
三,标记法,对缓存中的每一个数据设置一个有效位。