使用cache改善系统性能的依据是程序的局部性原理。当CPU需要读取数据时,首先在cache中查找是否有所需内容,如果有,则直接从cache中读取。如果CPU需要访问的内容大多能在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中文网其他相关文章!