




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)時(shí)數(shù)字信號處理第4章存儲器
分級存儲器模型內(nèi)核都支持分級存儲器片上一級(L1)指令、數(shù)據(jù)和暫存存儲器3個(gè)獨(dú)立部分內(nèi)核一部分單周期訪問片上二級(L2)核外片上存儲器空間較大但延遲也較大片外L3存儲器同步、異步存儲器有更大的空間,但延遲也更大內(nèi)核片上存儲器L1100KB32KB指令存儲器16KB指令SRAM;16KB指令Cache/SRAM(可通過通道或線鎖定Cache)64KB數(shù)據(jù)存儲器32KBSRAM;32KB數(shù)據(jù)Cache/SRAM4KBScratchPadSRAM(數(shù)據(jù)暫存存儲器)5個(gè)特點(diǎn)改進(jìn)的哈佛體系結(jié)構(gòu)每時(shí)鐘周期多達(dá)4個(gè)內(nèi)核存儲器訪問一個(gè)64-bit指令取指,兩個(gè)32-bit數(shù)據(jù)加載,一個(gè)流水線的32-bit數(shù)據(jù)存儲同時(shí)進(jìn)行系統(tǒng)DMA、Cache維持和內(nèi)核訪問具有高帶寬、低延遲性能,能提供確定性訪問時(shí)間和非常高的吞吐量用于要求直接控制訪問時(shí)間的應(yīng)用用于關(guān)鍵DSP算法和快速文本切換(CCLK速度)指令和數(shù)據(jù)Cache(帶Cache控制硬件的SRAM)高性能、簡單編程模型,消除了數(shù)據(jù)移入/出L1存儲器的顯性操作快速移植、開發(fā),無需為存儲器組織進(jìn)行性能優(yōu)化指令和數(shù)據(jù)cahe選項(xiàng)用于微控制器代碼提供了操作方便的Cache控制程序設(shè)計(jì)指令,如PREFETCH和FLUSH具有存儲器保護(hù)功能L1數(shù)據(jù)SRAM
數(shù)據(jù)組A和數(shù)據(jù)組B如果都配置為SRAM,每個(gè)16KB組都分成4個(gè)4KB子組,可以獨(dú)立地被處理器和DMA訪問各自的一個(gè)16KB組可配置2通路設(shè)置關(guān)聯(lián)結(jié)構(gòu)Cache提供了兩個(gè)獨(dú)立的位置來保持被緩存的數(shù)據(jù)減少了CacheLine的置換率,提高了整體性能ScratchPadSRAM
專門的獨(dú)立的4KBScratchPadSRAM用于ScratchpadDataSRAM不能設(shè)置為Cache或DMA對象在要求快速的應(yīng)用中用于映射用戶和監(jiān)控堆棧在中斷處理時(shí)獲得最快的上下文環(huán)境切換L2、L3、MMR、BOOTL2128KBL2具有低延遲、高帶寬能力,與L1構(gòu)成了片上存儲器分級結(jié)構(gòu)不能配置為Cache,能夠存儲指令和數(shù)據(jù)但為使能了部分或全部Cache的系統(tǒng)提供確定的、限定的訪問時(shí)間L1Cache設(shè)置成從L2上高速緩存指令和數(shù)據(jù)L34組異步存儲器空間和4組同步DRAM(SDRAM)空間每個(gè)異步組固定為64MB,而每個(gè)同步組可以配置成16-128MBSDRAM起始地址是0x00000000,異步存儲器組起始地址是0x20000000MMR存儲器空間高端部分分配給內(nèi)核和系統(tǒng)MMR在監(jiān)控模式或仿真模式下訪問這個(gè)區(qū)域BootROM內(nèi)部存儲器空間的低2KB空間根據(jù)引導(dǎo)方式,復(fù)位時(shí)處理器在這個(gè)空間執(zhí)行相應(yīng)的引導(dǎo)程序處理器沒有定義單獨(dú)的I/O空間L1指令存儲器子組指令存儲器控制寄存器IMEM_CONTROL
1ENICPLB位與CPLB描述符使能L2存儲器被高速緩存訪問存儲器配置為Cache用ENICPLB位使能CPLB通過CPLB描述符(ICPLB_DATAx和ICPLB_ADDRx寄存器)指定想要作為Cache使能的存儲器頁面復(fù)位后默認(rèn)的指令CPLB是禁止的只通過L1存儲器接口來執(zhí)行最小地址檢查異常試圖訪問保留(沒有安裝)的L1指令空間、L1數(shù)據(jù)空間、MMR空間去取指令描述符(ICPLB_DATAx和ICPLB_ADDRx寄存器)更新先必須使用ENICPLB位禁止CPLB應(yīng)跟著一條CSYNC指令加載存儲順序是不可靠的使能或禁止Cache或CPLB寫IMEM_CONTROL后緊接一條SSYNC指令以確保正確的行為要確保正確行為和未來兼容性,所有保留位必須置0L1指令Cache4通路設(shè)置關(guān)聯(lián)的16KB指令Cache不能直接訪問Cache為改善關(guān)鍵代碼平均延遲,每一Cache通路可單獨(dú)鎖定只有被CPLB指定的能夠作為高速緩存的存儲器頁面才可進(jìn)行高速緩存操作任何要訪問的存儲器位置必須有一個(gè)可用的相關(guān)聯(lián)的頁面定義否則會(huì)產(chǎn)生CPLB異常CPLB描述參見“存儲器保護(hù)和屬性”指令高速緩存組織高速緩存線Cache高速緩存線(CacheLine)的集合CacheLine由標(biāo)簽(Tag)和數(shù)據(jù)(Data)構(gòu)成Tag了20位地址標(biāo)簽(AddressTag)、最近最少使用的(LRU)位、一個(gè)有效位、一個(gè)線鎖定位Data4個(gè)64位字指令數(shù)據(jù)Tag和Data分別存儲在Tag和Data存儲器數(shù)組中高速緩存線填充從存儲器里取32個(gè)字節(jié)數(shù)據(jù)要求在L2或外部的讀數(shù)據(jù)口上一個(gè)高速緩存線讀數(shù)據(jù)傳送即一組4個(gè)64位字突發(fā)的數(shù)據(jù)字讀傳送的地址:目標(biāo)指令字的地址首先返回目標(biāo)指令字之后按地址順序依次獲取后續(xù)3個(gè)指令字如果需要的話,將回繞,如表4-2所示高速緩存線填充緩沖器
線填充緩沖器返回的新高速緩存線寫入L1存儲器一個(gè)4KB存儲器組前,每個(gè)64位字被緩沖到2個(gè)4入口線填充緩沖器之一允許內(nèi)核訪問新CacheLine上的數(shù)據(jù),不必等緩存線寫入Cache兩個(gè)獨(dú)立的緩沖器允許繼續(xù)加載來自于慢速的外部存儲器里的數(shù)據(jù)不會(huì)導(dǎo)致跳轉(zhuǎn)到快速的片上L2存儲器而暫停使用哪一個(gè)線緩沖器取決于存儲器頁面CPLB里的CPLB_MEMLEV位高速緩存線置換
Tag-Address比較操作時(shí)取指地址的位9到5作為索引來選擇CacheSetCache錯(cuò)失CacheLine置換單元檢查相關(guān)CacheSet有效位以決定新CacheLine入口通路?,?=0、1、2、3首先檢查無效入口(也就是有效位清除的入口)一個(gè)無效入口,它就為新的CacheLine多個(gè)無效入口,基于優(yōu)先級選擇新CacheLine置換入口首先是通路0,然后是通路1,接著是通路2,最后是通路3例如:如果通路3是無效的,通路0、1和2都是有效的,那么將選擇通路3如果通路0和1是無效的,而通路2和3是有效的,那么將選擇通路0如果通路2和3是無效的,而通路0和1是有效的,那么將選擇通路2其次,置換邏輯使用LRU算法指令Cache管理指令高速緩存用通路鎖定使能Cache后有4個(gè)通路可用鎖定位(ILOC[3:0])每位控制一個(gè)通路鎖定特定通路可以阻止其參與LRU置換策略所有4個(gè)通路都鎖定,將阻止Cache分配一個(gè)被緩存的指令在其所在通路被鎖定時(shí)只能使用IFLUSH指令來移出,或在“backdoor”MMR協(xié)助下對Tag陣列進(jìn)行操縱來實(shí)現(xiàn)下面給出的示例序列演示了如何解鎖通路0如果感興趣的代碼已經(jīng)在指令Cache,首先使整個(gè)Cache失效如果需要的話,禁止中斷以防止ISR潛在地破壞鎖定的Cache設(shè)置ILOC[3:1]鎖定其它通路,只允許Cache通路0可以被新代碼置換執(zhí)行感興趣代碼。任何可緩存異常,如退出代碼,此代碼執(zhí)行所涉及的,都將進(jìn)入指令Cache一旦退出關(guān)鍵代碼,清除ILOC[3:1]并設(shè)置ILOC[0],則關(guān)鍵代碼(和設(shè)置ILOC[0]的指令)被鎖進(jìn)通路0如果需要的話重新使能中斷指令Cache管理指令Cache失效可以用一個(gè)地址、一條CacheLine或整個(gè)Cache使指令Cache無效指令I(lǐng)FLUSH基于緩存線地址明確地使CacheLine無效,地址從P寄存器上產(chǎn)生無修改過的(臟)數(shù)據(jù),使CacheLine無效即可例子:P2寄存器包含一個(gè)有效的存儲器單元地址,已經(jīng)進(jìn)入Cache,則使該CacheLine變成無效的指令iflush[p2];/*使包含由P2指向的地址的CacheLine無效*/使存儲器映射中一個(gè)特定地址無效,不能使整個(gè)Cache組無效快一些的直接使整個(gè)Cache組無效的技術(shù)直接設(shè)置CacheLine的無效位使用附加的MMRITEST_COMMAND和ITEST_DATA[1:0],直接讀/寫所有Cache入口使整個(gè)指令Cache無效的另一方法清除IMEM_CONTROL的位IMC,所有Cache中的有效位被設(shè)置成無效態(tài)在使Cache無效前應(yīng)使用一條SSYNC指令,這些操作的每一個(gè)之間應(yīng)插入CSYNC指令指令測試寄存器整理文稿p.6最后一段指令測試數(shù)據(jù)寄存器ITEST_DATA1指令測試數(shù)據(jù)寄存器ITEST_DATA0指令測試數(shù)據(jù)寄存器ITEST_DATA0L1數(shù)據(jù)存儲器結(jié)構(gòu)L1數(shù)據(jù)存儲器SRAM子組起始地址數(shù)據(jù)存儲器控制寄存器DMEM_CONTROL
L1數(shù)據(jù)存儲器復(fù)位后默認(rèn)情況下L1數(shù)據(jù)存儲器都作為SRAML1數(shù)據(jù)SRAM訪問同一個(gè)(地址位2匹配的)32-bit字、同一個(gè)4KB子組(地址位13和12匹配)、同一個(gè)16KB半組(地址位16匹配)、同一個(gè)組(地址位21和20匹配)會(huì)發(fā)生沖突訪問權(quán)首先授予DAG,然后是存儲緩沖區(qū),最后是DMA和Cache填充處理為確保足夠的DMA帶寬,如果已經(jīng)被阻塞了連續(xù)16個(gè)內(nèi)核時(shí)鐘周期,或者如果在第1個(gè)DMAI/O處理前還有第2個(gè)DMAI/O已在隊(duì)列中,可以給予DMA最高的優(yōu)先級使L2存儲器能被高速緩存訪問使部分存儲器用作Cache使能CPLB(使用ENDCPLB位)并通過CPLB描述符(寄存器DCPLB_DATAx和DCPLB_ADDRx)指定選擇存儲器頁面作為使能的高速緩存復(fù)位后默認(rèn)情況下Cache和CPLB地址檢查是禁止的為確保適當(dāng)行為和未來兼容性,寫DMEM_CONTROL時(shí)所有保留位必須置0更新描述符(寄存器DCPLB_DATAx和DCPLB_ADDRx)之前必須禁止CPLB因?yàn)榧虞d存儲順序是不牢靠的,要確保正確的行為禁止CPLB時(shí)應(yīng)先有一條CSYNC指令使能CPLB時(shí)應(yīng)跟上一條CSYNC指令使能或禁止Cache或CPLB時(shí)在寫DMEM_CONTROL后應(yīng)立即跟上一條SSYNCL1數(shù)據(jù)Cache3種不同Cache模式僅在讀時(shí)分配CacheLine的通寫模式在讀和寫時(shí)都分配CacheLine的通寫模式在讀和寫時(shí)都分配CacheLine的回寫模式Cache模式由DCPLB描述符選擇(見“存儲器保護(hù)和屬性”)3種模式可以任意組合,每個(gè)存儲器頁Cache模式獨(dú)立選擇映射可高速緩存地址空間到數(shù)據(jù)組的例子
整理文稿p.9數(shù)據(jù)Cache訪問p.10Cache寫存儲器有通寫或回寫方法P.11中斷優(yōu)先級寄存器(IPRIO)和寫緩沖器深度
p.11數(shù)據(jù)高速緩存控制指令p.11數(shù)據(jù)高速緩存無效p.11數(shù)據(jù)測試寄存器p.12片上L2存儲器p.128個(gè)獨(dú)立的16K的子組,有兩個(gè)L2訪問端口優(yōu)先級延遲存儲器管理單元基于頁面的存儲器管理單元(MMU提供了對存儲器高速緩存能力的控制,以及頁面級上保護(hù)屬性的管理MMU是作為兩個(gè)16入口的內(nèi)容可尋址存儲器(CAM)塊來實(shí)現(xiàn)的每個(gè)入口被稱之為一個(gè)高速緩存旁視緩沖器(CPLB)描述符CPLB入口在指令和數(shù)據(jù)上也是分開的16個(gè)CPLB入口用于取指要求,被稱為ICPLB16個(gè)CPLB入口用于數(shù)據(jù)處理,稱之為DCPLBCPLB入口每一個(gè)CPLB入口包含一對32-bit值取指:ICPLB_ADDR[n]定義了CPLB描述符描述的頁面的起始地址ICPLB_DATA[n]定義了CPLB描述符描述的頁面的屬性數(shù)據(jù)操作:DCPLB_ADDR[m]定義了CPLB描述符描述的頁面的起始地址ICPLB_DATA[m]定義了CPLB描述符描述的頁面的屬性兩個(gè)默認(rèn)的CPLB描述符用于ScratchpadData存儲器和系統(tǒng)及內(nèi)核MMR空間的數(shù)據(jù)訪問定義了上述空間是非高速緩存的對這些區(qū)間不需要建立附加的CPLB如果為這個(gè)空間創(chuàng)建了有效的CPLB,默認(rèn)的CPLB將被忽略存儲器頁面4GB地址空間劃分成小段存儲器或I/O,稱之為存儲器頁面一個(gè)頁面內(nèi)的地址共享所定義的屬性4種不同的頁面大?。?KB、4KB、1MB、4MB提供了一個(gè)靈活的機(jī)制,用于匹配對于不同類型的存儲器和I/O屬性的映射存儲器頁面屬性
每個(gè)頁面是由一個(gè)雙字描述符定義的地址描述符字xCPLB_ADDR[n]提供了存儲器中頁面基地址,頁面必須對齊頁邊界,頁邊界是頁面大小的整倍數(shù),一個(gè)4MB的頁面必須開始于一個(gè)可被4MB整除的地址,一個(gè)1KB頁面開始于1KB邊界屬性描述符字xCPLB_DATA[n]指定了頁面的其它性質(zhì)和屬性,包括:…,參見p.14。存儲器頁面描述符表為指令Cache和/或數(shù)據(jù)Cache使能了CPLB,就要用Cache訪問存儲器,就必須在一個(gè)MMR對中提供有效的CPLB入口取指令,用于CPLB入口的MMR存儲單元被限制到16個(gè)描述符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華律合同范本
- 國有農(nóng)村土地使用權(quán)收購合同范本
- 吊車月結(jié)合同范例
- 通遼租賃合同范本
- 吊車工程合同范本
- 企業(yè)保安勞務(wù)合同范本
- 吊車經(jīng)營合同范本
- 模具外發(fā)加工合同范本
- 醫(yī)院基建合同范本
- 南寧雅閣購車合同范例
- 運(yùn)動(dòng)損傷預(yù)防與處理的案例分析
- 第四次工業(yè)革命課件
- 2023-2024學(xué)年西安市高二數(shù)學(xué)第一學(xué)期期末考試卷附答案解析
- 企業(yè)2024年年度安全教育培訓(xùn)計(jì)劃
- 《微生物限度檢查法》課件
- Project-培訓(xùn)教學(xué)課件
- 秋風(fēng)詞賞析課件古詩詞賞析
- 福特F-150猛禽說明書
- DB3402-T 59-2023 露天礦山無人駕駛礦車作業(yè)通用要求
- 重癥肺炎護(hù)理查房文獻(xiàn)綜述
- 肛腸外科運(yùn)用PDCA循環(huán)降低住院腸造口并發(fā)癥發(fā)生率品管圈QCC持續(xù)質(zhì)量改進(jìn)成果匯報(bào)
評論
0/150
提交評論