本帖最后由 ALTIUM2 于 2015-8-29 22:03 编辑
------------------------------------------------------------------------------------------------------------- 每天解决一个问题6:强大CORTEX M7中TCM
最近,在忙着学习最新的ARM CORTEX M7,它的性能可以说是比前代M3,M4真的提高了很多,无论是主频还是外设,其中我认为最重要的还是新的架构带来的优势。今天就一起探讨探讨 CORTEX M7 中新增的 TCM。当然如果有不对的地方也请多多指正啊。
(一):TCM解释
TCM: 紧耦合内存
TCM: Tightly Coupled Memories
TCM可以认为是片上的紧致内存,是片上的快速存储区,与片上缓存具有同等的性能。程序可完全控制紧致内存,所以比统计复用的缓存有更好的可预测性。它所带来的强大之处就是通过这一快速的存储区,一方面提高某些关键代码(如中断处理函数)的性能,另方面使存储访问延迟保持一致,这是实时性应用所要求的,我想这也是CORTEX M7的灵魂把!
(二):TCM与传统CORTEX中RAM的区别
我以ATMEL SAMV71为例,下图是它的 Block Diagram
红线:可以看到TCM是M7核心直接访问的,就相当于集成内存,挨着最近。
绿线:这是M3,M4,M7中RAM默认的通过总线的方式访问。
这样你就可以明显的看到TCM访问的速度更快,默认的RAM慢一拍。
举个不恰当的比方,TCM就是你的口袋,常规的RAM就是身上的钱包,你要掏钱当然直接从口袋里快了,钱包还得先打开再取出。
(三):TCM的优势
a、访问TCM比RAM快(上图个人拙见)
b、更好的可控性
因为TCM可以认为是片上快速存储区,它自然不会像RAM一样需要通过总线访问读写,而是可以快速访问,或者说精确的读取里面的数据了。
c、非常利于实时性应用
可预见的实时处理(中断处理)、时间可预见(加密算法)、避免cache分析(加密算法)、或者只是要求高性能的代码(编解码功能)
最后个人学习难免有错误,希望大神们帮忙多多斧正,谢谢!

|