資料介紹
ARM的ram包括靜態(tài)ram,動(dòng)態(tài)ram, TCM---緊耦合內(nèi)存(TCM: Tightly Coup ledMemories)。
TCM是一個(gè)固定大小的RAM,緊密地耦合至處理器內(nèi)核,提供與cache相當(dāng)?shù)男阅?,相比于cache的優(yōu)點(diǎn)是,程序代碼可以精確地控制什么函數(shù)或代碼放在哪兒(RAM里)。當(dāng)然TCM永遠(yuǎn)不會(huì)被踢出主存儲(chǔ)器,因此,他會(huì)有一個(gè)被用戶預(yù)設(shè)的性能,而不是象cache那樣是統(tǒng)計(jì)特性的性能提高。
TCM對于以下幾種情況的代碼是非常有用、也是需要的:可預(yù)見的實(shí)時(shí)處理(中斷處理)、時(shí)間可預(yù)見(加密算法)、避免cache分析(加密算法)、或者只是要求高性能的代碼(編解碼功能)。隨著cache大小的增加以及總線性能的規(guī)模,TCM將會(huì)變得越來越不重要,但是他提供了一個(gè)讓你權(quán)衡的機(jī)會(huì)
那么,哪一個(gè)更好呢?他取決于你的應(yīng)用。Cache是一個(gè)通用目的的加速器,他會(huì)加速你的所有代碼,而不依賴于存儲(chǔ)方式。TCM只會(huì)加速你有意放入TCM的代碼,其余的其他代碼只能通過cache加速。Cache是一個(gè)通用目的解決方案,TCM在某些特殊情況下是非常有用的。假如你不認(rèn)為需要 TCM的話,那么你可能就不需要了,轉(zhuǎn)而加大你的cache,從而加速運(yùn)行于內(nèi)核上的所有軟件代碼.
緊致內(nèi)存是指片上快速存儲(chǔ)區(qū),與片上緩存具有同等的性能,但因?yàn)槌绦蚩赏耆刂凭o致內(nèi)存,因而比統(tǒng)計(jì)復(fù)用的緩存有更好的可預(yù)測性。這是ARM5TE引入的特性,目的是通過這一快速的存儲(chǔ)區(qū),一方面提高某些關(guān)鍵代碼(如中斷處理函數(shù))的性能,另方面使存儲(chǔ)訪問延遲保持一致,這是實(shí)時(shí)性應(yīng)用所要求的。ARM6對TCM操作做了進(jìn)一步的規(guī)范。
TCM的應(yīng)用領(lǐng)域:可預(yù)測的實(shí)時(shí)處理(中斷處理)、避免緩存分析(加密算法)、或單純的性能提高(處理器側(cè)編解碼)等。
如同緩存的哈佛結(jié)構(gòu),指令TCM和數(shù)據(jù)TCM是分開的。TCM有兩種使用方式:作為快緩存使用,和作為本地內(nèi)存使用。
本地內(nèi)存
這時(shí),TCM被用作更快速的內(nèi)存,如同一般的RAM。因?yàn)橹噶疃斡袝r(shí)也是數(shù)據(jù)訪問的對象,指令TCM實(shí)際上是指令數(shù)據(jù)一體化TCM。對TCM寫操作后和后續(xù)對此寫操作的依賴指令之間必須跟一個(gè)阻塞操作。
快緩存(smartcache)
TCM可以配置成當(dāng)作外部RAM的緩存使用,對應(yīng)的外部RAM也要設(shè)置可緩存標(biāo)志。如果被緩存的外部RAM可以由多處理器共享,那么TCM是否與共享數(shù)據(jù)保持一致并沒有規(guī)定,而由具體實(shí)現(xiàn)廠家決定。
TCM與緩存的內(nèi)容不會(huì)自動(dòng)保持一致,這意味著TCM映射到的內(nèi)存區(qū)域必須是不緩存的區(qū)域。如果一個(gè)地址同時(shí)落在緩存和TCM內(nèi),那么訪問這一地址的結(jié)果是不能預(yù)測的。另一個(gè)限制是各個(gè)TCM必須要配置成不相交的。
TCM的配置
通過CP15的0、1、9號(hào)寄存器進(jìn)行:
0號(hào)寄存器
讀CP15的0號(hào)寄存器,opcode2為2:
MRC p15, 0, Rd, C0, C0, 2
返回TCM狀態(tài)寄存器的內(nèi)容,其中,16-18位代表數(shù)據(jù)TCM個(gè)數(shù),0-3代表指令TCM個(gè)數(shù)。
1號(hào)寄存器
ARM6之前,1號(hào)寄存器的16位和18位用于使能數(shù)據(jù)TCM和指令TCM(ARM946,ARM966),ARM6因?yàn)榭梢允褂?號(hào)寄存器控制每一塊TCM的使能狀態(tài),所以1號(hào)寄存器的這兩個(gè)位就過時(shí)了,應(yīng)該置1。
9號(hào)寄存器
每個(gè)TCM都有一個(gè)TCM區(qū)域寄存器,設(shè)置這個(gè)寄存器就可以設(shè)置TCM的基址和大小。在設(shè)置TCM區(qū)域寄存器前,需要設(shè)置TCM選擇寄存器。
下面是訪問這些相關(guān)寄存器的指令:
ARM Instruction TCM Region Register
MRC/MCR P15, 0, Rd, C9, C1, 0 Data TCM Region Register
MRC/MCR P15, 0, Rd, C9, C1, 1 Instruction/Unified TCM Region Register
MRC/MCR P15, 0, Rd, C9, C2, 0 TCM Selection Register
TCM區(qū)域寄存器的結(jié)構(gòu):
Base Address (Physical Address)[31-12] SBZ/UNP[11-7] Size[6-2] SC[1] En[0]
其中:
En位是使能位,置1時(shí)使能此TCM;
SC位置位表示此TCM被用作快緩存(smartcache),清零表示本地內(nèi)存;
Size字段是只讀的,含義如下:
Size Memory Size Memory
filed size field size
0b00000 0K 0b01101 4M
0b00011 4K 0b01110 8M
0b00100 8K 0b01111 16M
0b00101 16K 0b10000 32M
0b00110 32K 0b10001 64M
0b00111 64K 0b10010 128M
0b01000 128K 0b10011 256M
0b01001 256K 0b10100 512M
0b01010 512K 0b10101 1G
0b01011 1M 0b10110 2G
0b01100 2M 0b10111 4G
注意TCM區(qū)域寄存器配置出來的各個(gè)TCM塊不能相交,否則后果不可預(yù)測
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- ARM筆記:內(nèi)核物理內(nèi)存映射區(qū)的虛擬內(nèi)存資料下載
- CPU是怎樣訪問內(nèi)存的?資料下載
- 技術(shù)原理解讀:小波變換資料下載
- 單片機(jī)音樂程序的設(shè)計(jì)原理解析資料下載
- 用電容,來理解電感資料下載
- 差分線的那些概念該如何理解資料下載
- PCB 指南:快速理解高速layout設(shè)計(jì)資料下載
- 單片機(jī)=CPU、內(nèi)存、外圍功能...如何理解資料下載
- 理解堆和棧的區(qū)別(STM32)資料下載
- 磁滯損耗如何理解呢?資料下載
- 純干貨,PSI 原理解析與應(yīng)用資料下載
- 如何讓ARM代碼執(zhí)行速度更快?資料下載
- 理解廣義的EEPROM和Flash資料下載
- 基于ARM的伺服轉(zhuǎn)臺(tái)控制系統(tǒng)設(shè)計(jì)論文資料下載 3次下載
- 改進(jìn)的高選擇壓力緊致遺傳算法
- 內(nèi)存共享原理解析 980次閱讀
- 深入理解Linux RCU:從硬件說起之內(nèi)存屏障 671次閱讀
- 虛擬內(nèi)存的基本概念 1296次閱讀
- C語言內(nèi)存問題如何解決 366次閱讀
- ARM SMMU Data structures概述 873次閱讀
- 圖騰柱TCM控制方式的特性 2244次閱讀
- 簡化TCM的控制 2061次閱讀
- 一文搞懂物理內(nèi)存組織的體系結(jié)構(gòu)與內(nèi)存模型 2126次閱讀
- 如何使用TCM實(shí)現(xiàn)逆變器的ZVS工作 4365次閱讀
- 內(nèi)存就是插在或固化在主板上的內(nèi)存條嗎?程序空間還有什么理解? 1.4w次閱讀
- 程序員對內(nèi)存的清晰理解 3952次閱讀
- 如何理解ARM異常、中斷和向量表 4168次閱讀
- 一文解析STM32內(nèi)存管理和堆棧的認(rèn)知與理解 1.7w次閱讀
- 基于ARM處理器的高效異常處理解決方案 1286次閱讀
- ARM緊致內(nèi)存TCM的解釋 7855次閱讀
下載排行
本周
- 1GBT1094.11-2022電力變壓器第11部分:干式變壓器
- 14.12 MB | 3次下載 | 免費(fèi)
- 2FT-7800R對講機(jī)維修手冊附原理圖
- 3.35 MB | 2次下載 | 免費(fèi)
- 3串口工具UartAssist5.0.exe
- 0.60 MB | 2次下載 | 免費(fèi)
- 4爬電距離和電氣間隙計(jì)算
- 0.75 MB | 2次下載 | 1 積分
- 5UC3584DW次級(jí)側(cè)后置穩(wěn)壓器EVM板原理圖
- 38.97KB | 2次下載 | 免費(fèi)
- 6UCC38C42 25瓦自諧振復(fù)位正激變換器
- 320.6KB | 1次下載 | 免費(fèi)
- 7ZX-D37 BLE主從一體藍(lán)牙模塊技術(shù)手冊
- 1.22 MB | 1次下載 | 免費(fèi)
- 8使用15個(gè)時(shí)鐘周期的ADS7841和ADS7844
- 188.55KB | 1次下載 | 免費(fèi)
本月
- 1無刷電機(jī)控制方案設(shè)計(jì)合作
- 1.05 MB | 22次下載 | 免費(fèi)
- 2美的超薄電磁爐TM-S1-09B主板原理圖
- 0.08 MB | 20次下載 | 免費(fèi)
- 3純電動(dòng)汽?的主要部件及?作原理
- 5.76 MB | 12次下載 | 5 積分
- 4GP328和GP88S對講機(jī)的維修實(shí)列資料合集免費(fèi)下載
- 0.03 MB | 10次下載 | 10 積分
- 5舒爾SLX4無線話筒接收機(jī)原理圖:二次變頻超外差部分
- 0.27 MB | 8次下載 | 免費(fèi)
- 6IP5385_DEMO開發(fā)資料
- 1.96 MB | 7次下載 | 2 積分
- 7i.MX Linux開發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開發(fā)板
- 17.86 MB | 7次下載 | 免費(fèi)
- 8Type-C VL160數(shù)據(jù)手冊
- 0.92 MB | 7次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191363次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73805次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多