全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 存储技术 >

Cache替换策略和Write-through介绍

时间:2023-10-31 11:48

人气:

作者:admin

标签: 存储器  磁盘  数据  Cache 

导读:Cache和存储器一样具有两种基本操作,即读操作和写操作。当CPU发出读操作命令时,根据它产生的主存地址分为两种情形:一种是需要的数据已在Cache中,那么只需要直接访问Cache,从对...

Cache和存储器一样具有两种基本操作,即读操作和写操作。当CPU发出读操作命令时,根据它产生的主存地址分为两种情形:一种是需要的数据已在Cache中,那么只需要直接访问Cache,从对应单元中读取信息到数据总线即可;

另一种是需要的数据尚未装入Cache,CPU需要从主存中读取信息的同时,Cache替换部件把该地址所在的那块存储内容从主存复制到Cache中。若Cache中相应位置已被字块占满,就必须去掉旧的字块。常见的替换策略有以下两种:

1-先进先出策略(FIFO)

FIFO(First In First Out)策略总是把最先调入的Cache字块替换出去,它不需要随时记录各个字块的使用情况,较容易实现。缺点是经常使用的块,如一个包含循环程序的块也可能由于它是最早的块而被替换掉。

2-最近最少使用策略(LRU)

LRU(Least Recently Used)策略是把当前近期Cache中使用次数最少的信息块替换出去,这种替换算法需要随时记录Cache中字块的使用情况。LRU的平均命中率比FIFO高,在组相联映像方式中,当分组容量加大时,LRU的命中率也会提高。

关于Write-through和Write-back

1-对于磁盘操作来说

write-through的意思是写操作根本不使用缓存,数据总是直接写入磁盘,关闭写缓存,可释放缓存用于读操作(缓存被读写操作共用)。

write-back的意思是数据不直接被写入磁盘,而是先写入缓存,再由控制器将缓存内未写入磁盘的数据写入磁盘,从应用程序的角度看,比等待完成磁盘写入操作要快得多,因此可以提高写性能。

但是write-back(write cache)方式通常在磁盘负荷较轻时速度更快。负荷重时,每当数据被写入缓存后,就要马上再写入磁盘以释放缓存来保存将要写入的新数据,这时如果数据直接写入磁盘,控制器会以更快的速度运行。因此,负荷重时,将数据先写入缓存反而会降低吞吐量。

2-对于CPU内部的cache缓冲模式来说

Write-Through和Write-Back,前者是按顺序来一个写一个,而后者则是先将资料按一定数量保存在缓冲区中,然后将相同位置的数据一次性写出。举例说明:有一部电梯,如果按先入先出的原则,即write through模式,第一个人去3楼,第二个去2楼,第三个也去3楼,那么这电梯就得先到3楼,然后到2楼,再去3楼。

但如果在write back模式下,电梯先到2楼把第二个人送出去,然后再到3楼把第一个人和第三个人送出去,效率显然高多了。早期的cache只有write through模式,但现在的cache都使用write back模式了。

3-其他的解释

•Write-Through:在write的时候,同步更新cache和memory中的数据。

•Write-Back:在write的时候更新cache,但是memory中的数据不一定同步更新,只有当cache到一定程度才会把cache中的数据刷到memory中,或者通过cache指令刷新,不会同步自动刷新。

•cache line的意思是假设你那条指令只要从memory中读4个字节,但是一般来说你接下来的指令很有可能要读这4个字节后面的数据,所以一般硬件会多读一些数据进入cache,比如64字节,那么这64字节就是一个cache line。而如果你这个cache line里的数据长时间不被CPU访问,那么这个cache line可能会被选中换出,这时候就必须把cache里被改过的信息写回memory了。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信