This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6657的srio例程 message消息传递程序里 Cache问题

在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);

高手 给个回答啊 谢了

  • L2缓存的内容无效就是把L2里的内容清空,和hostDescriptor地址所对应的内容没有什么关系。

    如果其他master要读 hostDescriptor地址所对应内存的内容,需要把 L2 CACHE 中的此部分数据进行回写 ,保证其他master读到的是最新的数据。

    在view memory里查看cache内容时,勾选一下L1/L2。
x 出现错误。请重试或与管理员联系。