2014年5月27日 星期二
cache copy back and cache invaliate
/* MemMgr_CacheInvalidate() is used to invalidate the cache tags with the specific memory section. */
SCODE MemMgr_CacheInvalidate(HANDLE hObject, DWORD dwVirtAddr, DWORD dwSize);
/* MemMgr_CacheCopyBack() is used to copy data from cache back to external memory with the specific
memory section. */
SCODE MemMgr_CacheCopyBack(HANDLE hObject, DWORD dwVirtAddr, DWORD dwSize);
當 CPU 處理過記憶體位置(from EDMC)所指的資料且HW engine要使用該位置資料時 , 需對此位置呼叫MemMgr_CacheCopyBack().
application ---> CPU (cache) ---> Memory <---- HW
當 HW 處理過記憶體位置(from EDMC)所指的資料且CPU 要使用該位置資料時, 需對此位置呼叫MemMgr_CacheInvalidate() (告訴CPU此位置的 cache tag無效, CPU要去external memeory取得此位置的資料)
HW ---> Memory <--- CPU (cache) <--- application
訂閱:
張貼留言 (Atom)
1 則留言:
Great post! I am actually getting ready to across this information, is very helpful my friend. Also great blog here with all of the valuable information you have.
張貼留言