CACHE_wbInvL1d函数会回写cache line的整数倍,问题是这样的:如果其中前面的数据是我希望回写的数据,然而这部分数据并不占据完整的cache line,则cache line中靠后面的数据也将回写,but这部分数据并不是我希望回写的,将会导致不一致的问题。不知道这种问题是怎么解决的。请明示!
Jane Lu:
Rui,
Cache的机制决定了一条cacheline的数据是被相同操作的。
您在分配数据memory空间的时候就需要把数据按照cacheline的整数倍申请。