新聞中心

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

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

        作者: 時間:2010-01-15 來源:網絡 收藏
        緩存(CACHE)作為內核和低速存儲器之間的橋梁,基于代碼和數據的時間和空間相關性,以塊為單位由硬件控制器自動加載內核所需要的代碼和數據。如果所有程序和數據的存取都由內核完成,基于CACHE的運行機制,內核始終能夠得到存儲器中最新的數據。但是當有其它可以更改存儲器內容的部件存在時,例如不需要內核干預的直接數據存取(DMA)引擎,就可能出現由于CACHE的存在而導致內核或者DMA不能夠得到最新數據的現象,也就是CACHE一致性的問題。

        + 存儲器架構

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

        德州儀器(TI)公司對高性能核進行了改進,使其性能大副提升,稱之為+核。C64x+系統的存儲器框圖如圖1所示。存儲器被分成了三級:第一級是L1,包含數據存儲器(L1D)和代碼存儲器(L1P);第二級是代碼和數據共用存儲器(L2);第三級是外部存儲器,主要是DDR2存儲器。L1P、L1D和L2的CACHE功能分別由相應的L1P控制器、L1D控制器和L2控制器完成。表 1總結了C64x+平臺上可用的CACHE情況。

        圖1   C64x+ 存儲器框圖
        圖1 C64x+ 存儲器框圖

        表 1 C64x+ CACHE特性
        表 1 C64x+ CACHE特性

        C64x+平臺上L1P用來存儲或者緩存代碼;L1D用來存儲或者緩存數據。L1P和L1D大小都是32K字節,可以分別配置0K、4KB、8KB、16KB或者32KB作為CACHE,其余作為代碼或者數據RAM。作為CACHE的部分,用來緩存L2和DDR2的數據或代碼。作為RAM的部分,可以存儲關鍵的代碼或者數據使得內核能夠以很高的速度訪問。C64x+平臺上L2 存儲器可用于存儲代碼和數據。L2上最大可以分配256K字節CACHE來緩存DDR2中的數據或代碼。L2中其余部分作為RAM存儲代碼和數據。

        圖 2   內核訪問存儲器流程
        圖 2 內核訪問存儲器流程

        緩存一致性問題分析

        在任何時刻,內核或者其它主機訪問存儲器中數據時,由于CACHE的存在造成不能夠得到最近更新過的數據,就會出現CACHE一致性問題。CACHE的一致性問題分為兩個大類:內核讀一致性問題和內核寫一致性問題。在下面兩個小節中,分別描述了這兩種情況的模型:

        內核讀一致性模型

        圖 3給出了內核讀一致性的模型。在這個模型中,CACHE一致性問題的存在取決于圖中虛線箭頭指示的第二步操作能否在內核從CACHE中重新讀數據之前完成。如果不能,則會造成內核讀取的數據不是其它主機更新后的數據,而是原來CACHE中的內容,從而導致一致性的問題。

        圖 3   內核讀一致性模型
        圖 3 內核讀一致性模型

         


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绿春县| 武汉市| 宽城| 溧水县| 安阳县| 晴隆县| 集贤县| 汕头市| 吴旗县| 扶余县| 光泽县| 泰宁县| 景德镇市| 台山市| 青神县| 洪雅县| 新建县| 义马市| 漠河县| 敦煌市| 天等县| 盱眙县| 科技| 宕昌县| 册亨县| 明光市| 汉中市| 法库县| 潞西市| 高安市| 治多县| 金乡县| 白沙| 肥城市| 遂宁市| 岗巴县| 时尚| 永和县| 昌平区| 宁波市| 长葛市|