规范中的描述是
It allows a memory performance optimization by invalidating a “dirty” line in a write-back cache without requiring the actual write-back cycle thus shortening access time.
对一个新手来说理解这句话很难,天书嘛。就像我。其实非常简单,分3步慢慢理解。
pci总线地址映射到cpu存储地址(内存地址),我们对这片cpu存储地址执行读写,等于读写了pci总线地址,等于读写了pci设备。
当这片cpu存储器地址使用write back 的chche 策略时,就会出现有的cache跟实际的存储器不一致。cache里的内容会比存储器里的更新,当然术语习惯称它们为“脏”--dirty。标记为dirty的cache会在合适的时机write back到存储器--这里是pci设备。
如果对pci设备一次写入一段较大的数据,大于1个cache line,而这个cache恰恰又是dirty的,那么就可以直接把数据写入存储器,同时把相关cache line的dirty标记去掉,这个操作就是Memory Write and Invalidate事务。 Invalidate的是cache line的dirty标记。
阅读(2956) | 评论(0) | 转发(0) |