<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2012-03-30 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/257607.htm


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


圖1 C64x+ 存儲器框圖


表 1 C64x+ CACHE特性


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


圖 2 內核訪(fǎng)問(wèn)存儲器流程


一致性問(wèn)題分析
在任何時(shí)刻,內核或者其它主機訪(fǎng)問(wèn)存儲器中數據時(shí),由于CACHE的存在造成不能夠得到最近更新過(guò)的數據,就會(huì )出現CACHE一致性問(wèn)題。CACHE的一致性問(wèn)題分為兩個(gè)大類(lèi):內核讀一致性問(wèn)題和內核寫(xiě)一致性問(wèn)題。在下面兩個(gè)小節中,分別描述了這兩種情況的模型:


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

圖 3 內核讀一致性模型  

L1P CACHE對L2內存或者DDR2外存中的代碼進(jìn)行緩存。當內核第一次對L2或者DDR2中的代碼進(jìn)行讀操作的時(shí)候,由于代碼不在L1P CACHE中,CAHCE硬件會(huì )將L2或者DDR2中的代碼讀到L1P CACHE中。內核可以得到最新的代碼,不存在一致性的問(wèn)題。此后,如果其它主機更新L2或者DDR2中的代碼,然后內核再次讀取此部分代碼時(shí),會(huì )發(fā)現相應的代碼已經(jīng)存在L1P CACHE中,此時(shí)內核會(huì )直接從L1P CACHE中讀取代碼。由于內核不能得到最新的代碼,就出現了內核讀一致性的問(wèn)題。L1D 內核讀一致性問(wèn)題的原理和L1P相同,只是L1D緩存的是L2或者DDR2中的數據。


內核寫(xiě)一致性模型
圖 4給出了內核寫(xiě)一致性的模型。在這個(gè)模型中,CACHE一致性問(wèn)題的存在取決于圖中虛線(xiàn)箭頭指示的第二步操作能否在其它主機從存儲器中讀數據之前完成。如果不能,會(huì )造成其它主機從存儲器中讀到的數據是原來(lái)的數據而不是內核更新過(guò)的數據,從而導致一致性的問(wèn)題。

圖 4 內核寫(xiě)一致性模型  

當內核對L2或者DDR2中的代碼/數據進(jìn)行寫(xiě)操作的時(shí)候,如果代碼/數據已經(jīng)在L1 CACHE中,新的代碼/數據會(huì )被更新到L1 CACHE中。當其它主機從L2或者DDR2中讀代碼/數據的時(shí)候,會(huì )直接從L2或者DDR2中讀取相應的內容,如果L1 CACHE中新的代碼/數據未被更新到L2或者DDR2中,則其它主機讀取的不是更新后的內容,就會(huì )出現內核寫(xiě)一致性的問(wèn)題。

C64x+
C64x+上的CACHE一致性問(wèn)題,需要根據放置代碼/數據的相應位置進(jìn)行分析。由于在C64x+平臺上,L1P、L1D和L2內存既可以作為CACHE又可以作為存儲器使用,因此,在分析一致性問(wèn)題的時(shí)候,需要考慮以下幾種情況:
1) 代碼在L1P存儲器中;2) 代碼在L2存儲器中;3)代碼在DDR2存儲器中;4)數據在L1D存儲器中;5)數據在L2存儲器中;6)數據在DDR2存儲器中。
對于1),由于代碼直接在L1P存儲器中,不需要進(jìn)行CACHE,所以不會(huì )存在一致性的問(wèn)題?! ?/p>

對于2)和3),涉及到L1P CACHE,存在代碼的更新能否被內核讀到的問(wèn)題。代碼的更新分成兩種情況:一是內核在運行過(guò)程中對代碼進(jìn)行修改;二是其它主機對代碼的修改。這兩種情況下,都會(huì )存在CACHE讀一致性問(wèn)題,需要由軟件來(lái)維護?! ?/p>

對于4),數據直接在L1D存儲器中, 內核始終能夠讀到其它主機更新到L1D內存中的內容,內核寫(xiě)過(guò)的數據也能夠被其它主機直接從L1D內存中讀到。所以不會(huì )存在一致性的問(wèn)題?! ?/p>

對于5),數據在L2存儲器,按照上面的分析,會(huì )存在CACHE讀和寫(xiě)一致性的問(wèn)題。在C64x+平臺上這種情況下的一致性問(wèn)題會(huì )由硬件自動(dòng)維護?! ?/p>

對于6),也會(huì )存在CACHE讀和寫(xiě)一致性的問(wèn)題,這種情況需要軟件進(jìn)行CACHE一致性的維護。


C64x+ 一致性維護操作


出現CACHE一致性問(wèn)題時(shí),為了保證內核或者其它主機在進(jìn)行數據操作的時(shí)候能夠得到最新的數據,需要進(jìn)行CACHE的一致性維護操作。下面具體分析以上幾種情況在C64x+平臺上如何進(jìn)行CACHE一致性問(wèn)題處理:


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: DSP C64x 高速緩存 一致性分析

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>