按写分配法的必要性

当写不命中时,按写分配(Write Allocate)比不按写分配多了一步:将所写单元所在的块从主存调入Cache。

按照教科书上的观点,写回法(write back)通常会用按写分配法,那么从memory中取出的这个block根据相应的替换算法(FIFO, LRU, RAND)替换到相应的位置(对于组相联Cache)。

那么。。。现在问题来了。。。

按写分配多那一步的意义何在?

求通俗易懂的解释~~

阅读 6.9k
1 个回答

多那一步的目的在于写回法并不是马上将数据写回memory中,而是等待此cache需要被替换时才写入memory,在此期间,CPU还可以多次通过cache写入此位置的数据而并不需要再读写memory。所以在需要反复写同一位置的内存时,采用写回法按写分配效率要高于不按写分配(不按写分配需要每次写入都访问一次memory,效率在多次写入同一位置时低于写回法的按写分配)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进