www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

C64x+ 存儲器架構

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


圖1 C64x+ 存儲器框圖


表 1 C64x+ CACHE特性

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


圖 2 內核訪問存儲器流程

高速緩存一致性問題分析

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

內核讀一致性模型

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


圖 3 內核讀一致性模型

 [!--empirenews.page--] 

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

內核寫一致性模型

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


圖 4 內核寫一致性模型

  

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

C64x+ 一致性分析

C64x+上的CACHE一致性問題,需要根據放置代碼/數據的相應位置進行分析。由于在C64x+平臺上,L1P、L1D和L2內存既可以作為CACHE又可以作為存儲器使用,因此,在分析一致性問題的時候,需要考慮以下幾種情況:

1) 代碼在L1P存儲器中;2) 代碼在L2存儲器中;3)代碼在DDR2存儲器中;4)數據在L1D存儲器中;5)數據在L2存儲器中;6)數據在DDR2存儲器中。

對于1),由于代碼直接在L1P存儲器中,不需要進行CACHE,所以不會存在一致性的問題。

  

對于2)和3),涉及到L1P CACHE,存在代碼的更新能否被內核讀到的問題。代碼的更新分成兩種情況:一是內核在運行過程中對代碼進行修改;二是其它主機對代碼的修改。這兩種情況下,都會存在CACHE讀一致性問題,需要由軟件來維護。

  

對于4),數據直接在L1D存儲器中, 內核始終能夠讀到其它主機更新到L1D內存中的內容,內核寫過的數據也能夠被其它主機直接從L1D內存中讀到。所以不會存在一致性的問題。

  

對于5),數據在L2存儲器,按照上面的分析,會存在CACHE讀和寫一致性的問題。在C64x+平臺上這種情況下的一致性問題會由硬件自動維護。

  

對于6),也會存在CACHE讀和寫一致性的問題,這種情況需要軟件進行CACHE一致性的維護。 [!--empirenews.page--]

C64x+ 高速緩存一致性維護操作

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

硬件維護的CACHE一致性

在C64x+平臺上,硬件會對5)的情況自動進行數據一致性維護。分析需要分為讀寫兩類操作進行,圖 5和圖 6分別描述了內核對L2上的數據進行讀和寫的情況。


圖 5 內核讀L2數據的情況

  


圖 6 內核寫L2數據的情況

  

  

其它主機要對L2中的內容進行更新操作時,L2控制器會根據被更新數據的地址判斷相應的地址是否在L1D CACHE中,如果在L1D CACHE中,硬件會自動將更新的數據拷貝一份到L1D CACHE中。如果要讀取的數據不在L1D CACHE中,L1D控制器會自動從L2加載數據,內核也可以得到更新后的數據。過程如圖 5中的1和2所示,這樣就可以解決一致性的問題。

其它主機要對L2中的內容進行讀操作的時候,L2控制器會判斷要讀取的數據地址是否在L1D CACHE中,對于在L1D CACHE中的數據,硬件會自動從L1D CACHE中讀取最新的數據。對于不在L1D CACHE中的數據,說明L2中的數據已經是最新的數據,可以直接從L2中讀取。通過這樣的處理,可以保證其它主機讀到內核更新后的數據,從而可以解決一致性的問題。過程如圖 6中的1和2所示。

軟件維護的CACHE一致性

在C64x+平臺上,2)、3) 和6)的情況需要軟件進行的一致性維護操作以保證內核或者其它主機可以得到最新的數據。

C64x+ 軟件一致性維護實現(xiàn)

C64x+平臺上由軟件控制的一致性維護操作包含三種:CACHE數據失效、CACHE數據回寫和CACHE數據回寫并失效。啟動維護操作需要配置相應的基地址和計數寄存器,當計數寄存器中的值變?yōu)?時表示操作完成。TI提供的芯片支持庫中也提供了相應的API來完成相應的功能。各種操作涉及的各級CACHE的一致性操作控制寄存器列在表2中。


表 2 C64x+ CACHE一致性維護寄存器

[!--empirenews.page--]

代碼CACHE一致性

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

  


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

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

 


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

 

數據CACHE一致性

對于數據部分的一致性維護,需要由軟件維護的情況是6),包括內核對DDR2的讀取和寫兩種情況。圖 9和圖 10分別描述了這兩種情況。


圖 9 內核對DDR2上的數據讀的情況


圖 10 內核對DDR2上的數據寫的情況

本文小結

高速緩存一致性問題是DSP應用中常見的問題,TI C64x+ DSP是業(yè)界高性能信號處理平臺,具有優(yōu)良的高速緩存性能。C64x+平臺上高速緩存一致性問題維護可以歸納為以下兩點:1) 代碼部分的一致性問題需要由軟件來維護;2) 只有當內核和其它主機共同需要訪問的數據緩沖區(qū)在外部存儲器中的時候,數據高速緩存一致性問題才需要由軟件來進行維護。其它情況下,數據高速緩存一致性都會由硬件自動完成。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉