新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于C64x+ DSP高速緩存一致性分析與維護

        基于C64x+ DSP高速緩存一致性分析與維護

        作者: 時間:2012-03-30 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257607.htm

        代碼CACHE一致性


        圖 7中描述了其它主機對L2中代碼進行修改的情況。這種情況下,當內核第一次執行此部分代碼時,這部分代碼會被加載到L1P中。之后如果被其它主機修改,內核仍會從L1P中讀取原來的代碼而不是更新后的代碼。因此需要軟件進行圖中2指示的操作。軟件不需要進行代碼的搬移,只要在內核重新執行此部分代碼之前將L1P中此部分內容失效。當內核再次執行此部分代碼的時候,會按照CACHE的正常機制進行此部分代碼的重新加載,從而保證內核可以讀取到更新后的代碼。

          

        圖 7 其它主機修改L2代碼的情況


        圖 8描述的是其它主機對DDR2中代碼進行修改的情況。這種情況下,需要在內核重新執行此部分代碼前,將L1P和L2 CACHE中的相應內容進行失效以保證內核執行時可以將最新的代碼加載到L2和L1P CACHE中。操作順序如下:內核對修改代碼會轉換為對存儲器的寫操作,由于L1D只對讀不命中的情況才分配CACHE,所操作的代碼一定不在L1D CACHE中,更新的代碼會被直接寫到L2中,如果修改的是DDR2中的代碼,數據可能會被更新到L2 CACHE中。之后的所有操作與上述兩種情況的處理相同。


         


        圖 8 其它主機修改DDR2代碼的情況

         



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 万宁市| 西昌市| 灵川县| 龙南县| 龙陵县| 綦江县| 全椒县| 内江市| 乐平市| 定结县| 常山县| 太原市| 仪陇县| 江口县| 沙雅县| 虎林市| 肥西县| 涟源市| 新竹县| 尖扎县| 阿拉尔市| 临漳县| 图木舒克市| 武定县| 邵阳县| 福泉市| 汕尾市| 兰溪市| 昭苏县| 平果县| 永定县| 星座| 德江县| 准格尔旗| 石渠县| 汽车| 建阳市| 龙门县| 芒康县| 唐山市| 浦城县|