Chinaunix首页 | 论坛 | 博客
  • 博客访问: 483818
  • 博文数量: 51
  • 博客积分: 1056
  • 博客等级: 少尉
  • 技术积分: 676
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-10 22:53
文章存档

2018年(2)

2017年(1)

2013年(2)

2012年(9)

2011年(36)

2010年(1)

分类: 嵌入式

2011-06-17 15:52:19

规范中的描述是
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) |
给主人留下些什么吧!~~