关于buffer,cache,wb,wt,clean,inv,flush,以及其他

1. 有时候需要区分buffer和cache:buffer解决CPU写的问题,比如将多次写操作buffer起来一次性更新;cache解决CPU读的问题,将数据cache起来在下次读的时候快速取用。

2. cache有两种更新策略:write back和write through。writeback是将待写入memory的数据先放在cache中,直到cache位置将被替换时writeback到memory;write through是将数据同时写入cache和memory。

3. invalidate:将cache数据设置为无效(即discard cache中的数据),不会将cache数据写入memory;clean(write back):将cache数据写进memory;flush:clean and invalidate。

4. 对于DMA From Device to Memory来说,invalidate range未必对其到cache line,这时需要首先将非对齐部分clean到memory,然后invalidate cache。

 

原文地址:https://www.cnblogs.com/byeyear/p/3343137.html