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。