在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7183|回复: 6

write buffer的机制是什么

[复制链接]
发表于 2009-8-25 16:49:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
为了提高性能,write buffer被放置在cache和ram之间。如果在短时间内向同一地址写多次,那么这些改变都发生在cache和write buffer中。最终只有最后一次更新被写到RAM中。这样能减少对RAM带宽的使用,已经性能的提高。

我的问题是具体的什么条件能触发write buffer中的内容被刷新到ram中?如果cache是VIVT的,write buffer中的地址是虚拟地址还是物理地址?如果cache是VIPT的,write buffer中的地址是虚拟地址还是物理地址?

如果cache中的一项值被修改,显然这个值会反映到write buffer。如果这项值仅被从cache中clean出去,那cache上的dirty位是什么时候被清除的?是在值被写入write buffer中?还是值被从write buffer中刷出?如果这项值被从cache中clean & invalidate,那么它应该先出现在write buffer中。如果紧跟一个对该地址的再次读,有没有可能该值还在write buffer中,没有被写到ram中。如果有这种情况的话,core会如何解决?暂停指令流水线么?
发表于 2009-8-27 17:41:01 | 显示全部楼层
这个涉及到的问题很广泛,几乎涵盖了处理器的方方面面,但主要是关于Cache和外存之间的数据一致性问题,物理地址和虚拟地址也要根据有没有MMU具体分析,一致性的保证有不同的方法,具体要看实际情况,没有一个固定的模式,可能A公司处理器采用的策略和B公司的就不同,要具体问题具体分析...
发表于 2009-12-21 17:27:13 | 显示全部楼层
不错,支持了
发表于 2010-2-19 16:16:12 | 显示全部楼层
Good question
发表于 2010-3-11 15:00:16 | 显示全部楼层
楼主不错,谁知道需要寄存的数据比较多时应用buffer还是reg,他们的 占用面积如何,如何用verilog实现?
发表于 2010-7-3 23:46:10 | 显示全部楼层
感觉问的是关于ARM926数据Cache的机制,保持数据一致性,主要直写和回写策略。ARM给的电子文档中stall core主要由CLKEN决定,而CLKEN拉低由RAM的Ready信号以及BIUCLKEN决定。
发表于 2011-6-2 04:48:42 | 显示全部楼层
很简单,自己定义触发条件,用算法来保证性能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 10:03 , Processed in 0.024588 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表