首页 >常见问题 >使用cache改善系统性能的依据是什么

使用cache改善系统性能的依据是什么

青灯夜游
青灯夜游原创
2021-05-12 11:26:514166浏览

使用cache改善系统性能的依据是程序的局部性原理。当CPU需要读取数据时,首先在cache中查找是否有所需内容,如果有,则直接从cache中读取。如果CPU需要访问的内容大多能在cache中找到(称为访问命中),则可以大大提高系统性能。

使用cache改善系统性能的依据是什么

本教程操作环境:windows7系统、Dell G3电脑。

使用cache改善系统性能的依据是程序的局部性原理。依据局部性原理,把主存储器中访问概率高的内容存放在cache中。当CPU需要读取数据时,首先在cache中查找是否有所需内容,如果有,则直接从cache中读取;若没有,再从主存中读取该数据,然后同时送往CPU和cache。如果CPU需要访问的内容大多能在cache中找到(称为访问命中),则可以大大提高系统性能。

系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小也能带来性能上的较大改善。

在CPU发出访存请求后,存储器地址先被送到cache控制器以确定所需数据是否已在cache中,若命中则直接对cache进行访问。这个过程称为cache的地址映射。常见的映射方法有直接映射、相联映射和组相联映射。

在cache存储器产生了一次访问未命中之后,相应的数据应同时读入CPU和cache。但是在cache已存满数据后,新数据必须淘汰cache中的某些旧数据。最常用的淘汰算法有随机淘汰法、先进先出法(FIFO)和近期最少使用淘汰法(LRU)。

因为需要保证缓存在cache中的数据与主存中的内容一致,所以相对读操作而言,cache的写操作比较复杂,常用的有以下几种方法:

(1)写直达(write through)。当要写cache时,数据同时写回主存储器,有时也称为写通。

(2)写回(write back)。CPU修改cache的某一行后,相应的数据并不立即写入主存储器单元,而是在该行被从cache中淘汰时,才把数据写回到主存储器中。

(3)标记法。对cache中的每一个数据设置一个有效位。当数据进入cache后,有效位置1;而当CPU要对该数据进行修改时,只需将其写入主存储器并同时将该有效位清0。当要从cache中读取数据时需要测试其有效位:若为1则直接从cache中取数,否则从主存中取数。

更多相关知识,请访问常见问题栏目!

以上是使用cache改善系统性能的依据是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn