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

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

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

Cache写入方式原理简介

时间:2023-10-31 11:43

人气:

作者:admin

标签: 系统  CPU  数据  Cache 

导读:提高高速缓存命中率的最好方法是尽量使Cache存放CPU最近一直在使用的指令与数据,当Cache装满后,可将相对长期不用的数据删除,提高Cache的使用效率。 为保持Cache中数据与主存储器中...

提高高速缓存命中率的最好方法是尽量使Cache存放CPU最近一直在使用的指令与数据,当Cache装满后,可将相对长期不用的数据删除,提高Cache的使用效率。

为保持Cache中数据与主存储器中数据的一致性,避免CPU在读写过程中将Cache中的新数据遗失,造成错误地读数据,确保Cache中更新过程的数据不会因覆盖而消失,必须将Cache中的数据更新及时准确地反映到主存储器中,这是一个Cache写入过程,Cache写入的方式通常采用直写式、缓冲直写式与回写式三种,下面比较介绍这三种Cache写入方式。

1- 直写式(Write Through)系统

CPU对Cache写入时,将数据同时写入到主存储器中,这样可保证Cache中的内容与主存储器的内容完全一致。这种方式比较直观,而且简单、可靠,但由于每次对Cache更新时都要对主存储器进行写操作,而这必须通过系统总线来完成,因此总线工作频繁,系统运行速度就会受到影响。

2-缓冲直写式(Post Wirte)系统

为解决直写式系统对总线速度的影响问题,在主存储器的数据写入时增加缓冲器区。当要写入主存储器的数据被缓冲器锁存后,CPU便可执行下一个周期的操作,不必等待数据写入主存储器。这相对于给主存储器增加了一个单向单次高速缓存。

比如,在写入周期之后可以紧接着一个数据已存在于Cache中的读取周期,这样就可避免直写式系统造成的操作延时,但这个缓冲器只能存储一次写入的数据,当连续两次写操作发生时,CPU仍需等待。

3-回写式(Write Back)系统

前面两种写入方式系统,都是在写Cache的同时对主存储器进行写操作。实际上这不仅是对总线带宽的占用,浪费了宝贵的执行时间,而且在有些情况下是不必要的,可以通过增加额外的标准来判断是否有必要更新数据。回写式系统就是通过在Cache中的每一数据块的标志字段中加入一更新位,解决主存储器不必要的写操作。

比如,若Cache中的数据曾被CPU更新过但还未更新主存储器,则该更新位被置1。每次CPU将一块新内容写入Cache时,首先检查Cache中该数据块的更新位,若更新位为0,则将数据直接写入Cache;反之,若更新位为1,则先将Cache中的该项内容写入到主存储器中相应的位置,再将新数据写回Cache中。

与直写式系统相比,回写式系统可省下一些不必要的立即回写操作,而在许多情况下这是很频繁出现的。即使一个Cache被更新,若未被新的数据所取代,则没有必要立刻进行主存储器的写操作。也就是说,实际写入主存储器的次数,可能少于CPU实际所执行写入周期的次数,但回写式系统的结构较复杂,Cache也必须用额外的容量来存储标志。由于回写系统的高效率,现代的Cache大多采取这种方式进行操作。

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

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

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

关注微信