DC IVAC/ DC CIVAC指令用于將一個虛擬地址對應的cache line從data cache或是unified cache失效或清除失效到PoC點。N2 core硬件默認會將DC IVAC升級為DC CIVAC操作。
Point of Coherency (PoC)位于:確保系統(tǒng)中所有可以訪問內(nèi)存的agent訪問這個地址可以看到同樣的copy的地方,不管它的訪問內(nèi)存類型(memory type)和cache屬性(cacheable or non cacheable)是什么。
在很多系統(tǒng)中,它都位于系統(tǒng)主內(nèi)存。
在一個N2+CMN-700的系統(tǒng)中,
CMN-700的system level cache (SLC)是invisible cache, 如果device發(fā)出的non cacheable訪問的地址被RN-SAM指定到HN-F,這個non cacheable訪問還是會查找HN-F的SLC,也可以snoop CPU的cache。
這是否意味著,這樣的系統(tǒng)的PoC點在CMN-700的SLC,而不需要在系統(tǒng)主內(nèi)存呢?因為DC IVAC/ DC CIVAC只需要將數(shù)據(jù)失效/清除失效到SLC,不需要失效/清除失效掉SLC中對應的cache line,其他CPU和Device就可以看到同樣的copy了。
確實,如果系統(tǒng)中所有可以訪問內(nèi)存的master都接到CMN-700的RN-F,RN-I, RN-D上,并且他們訪問的地址是在RN-SAM里面指定到HN-F,PoC只到SLC是可以的。
但是如果系統(tǒng)中有其他不接到CMN-700的master,或者它們訪問的地址RN-SAM里面不是指定到HN-F,那么就無法顯示PoC要求的:確保系統(tǒng)中所有可以訪問內(nèi)存的agent訪問這個地址可以看到同樣的copy的地方,不管它的訪問內(nèi)存類型(memory type)和cache屬性(cacheable or non cacheable)是什么。
因此,在N2+CMN-700的系統(tǒng),DC IVAC/ DC CIVAC還是需要失效/清除掉SLC中對應的cache line。
CMN-700支持將這些cache maintanance operation (CMO)下傳到內(nèi)存控制器,如果CMN-700之下還接有其他更低level的cache的話,下傳這些CMO可以進一步使CMO PoC的操作影響到更低level的cache。控制是否下傳是可以通過編程每個SN-F對應的HF-N寄存器cmn_hns_sam_sn_properties中的cmo_prop_en來實現(xiàn)。
-
控制器
+關(guān)注
關(guān)注
112文章
16348瀏覽量
177930 -
寄存器
+關(guān)注
關(guān)注
31文章
5342瀏覽量
120293 -
SAM
+關(guān)注
關(guān)注
0文章
112瀏覽量
33520 -
cache技術(shù)
+關(guān)注
關(guān)注
0文章
41瀏覽量
1064
發(fā)布評論請先 登錄
相關(guān)推薦
評論