我正在为Atmel SAME70Q21微处理器开发一个应用程序。这个MCU有一个ARM Coretex-M7核.
Atmel在这个特定的MCU变体中实现了ARM TCM (紧耦合存储器)。Atmel似乎将中医分为"ITCM“(指导中医)和"DTCM”(数据TCM)两部分。
我目前正在使用DTCM进行快速存储,通常来自中断。然而,ITCM实际上已经关闭,尽管TCM的配置系统仍然分配给它32K的数据。
我在想,因为我没有在ITCM之外执行,而且内存已经被分配了,我可以使用ITCM来存储数据吗?Cortex-M7是Von体系结构CPU,我看到的体系结构图显示两个TCM内存段与CPU具有独立的接口。
DTCM和ITCM内存空间都是链接器脚本中的rw
(要使用ITCM,实际上必须在运行时将代码重新定位到其中)。以这种方式使用ARM核对(Ab)的性能有什么影响?
发布于 2016-12-30 12:50:06
部分
预取单元(PFU)可以从任何TCM接口中获取指令。负载存储单元(LSU)和AHBS接口可以使用任何TCM接口分别读写数据。如果在ITCM中放置代码,在DTCM中放置数据,则性能最好。然而,没有功能限制,中医,代码和数据放置。
如果您没有使用任何代码,那么可能没有性能影响,但是如果您正在运行TCM中的代码,那么将它们从哈佛体系结构中分离出来,允许并发的指令获取和数据读取。ITCM的64位总线可能允许单周期指令和操作数获取,但我怀疑这对数据读/写是否有任何好处。
https://stackoverflow.com/questions/41389559
复制相似问题