在6657的srio例程 message消息传递程序里
/*invalid cache before read descriptor RAM*///此函数用于使L2缓存的内容无效。
InvalidCache((void *)hostDescriptor, 64);问一下 这时函数使L2缓存的内容无效 和hostDescriptor地址所对应的内容有什么关系?
/*write back data from cache to descriptor RAM*///将数据从缓存写到描述符RAM 这个函数用来写回L2缓存的内容。
WritebackCache((void *)hostDescriptor, 64);
看内存 hostDescriptor地址所对应内存没变化啊???
主程序里 设置了CACHE 我关闭/打开CACHE hostDescriptor地址所对应内存没变化啊???
CACHE_setL1PSize(CACHE_L1_32KCACHE);
CACHE_setL1DSize(CACHE_L1_32KCACHE);
CACHE_setL2Size(CACHE_256KCACHE);
高手 给个回答啊 谢了
Shine:
L2缓存的内容无效就是把L2里的内容清空,和hostDescriptor地址所对应的内容没有什么关系。
如果其他master要读 hostDescriptor地址所对应内存的内容,需要把 L2 CACHE 中的此部分数据进行回写 ,保证其他master读到的是最新的数据。
在view memory里查看cache内容时,勾选一下L1/L2。