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

1 則留言:

hdmi cables 提到...

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.