堆叠在TCM上如何降低处理器性能



我通过在不同场景下运行coremark基准测试来测量ARM cortex R5f处理器的性能。一种方案是在ATCM内存上设置STACK。

在没有inline标志的情况下,TCM上的STACK可以获得更好的编译效果。当使用inline标志编译时,RAM上的STACK可以获得更好的结果。

考虑到TCM更快,更接近处理器,这怎么可能解释呢?

在TCM上设置堆栈时,我的程序中没有堆栈溢出

既然TCM更快,更接近处理器,这怎么解释呢?

您的TCM比L1数据缓存快吗?并非总是如此(许多设计有单周期L1 - D缓存,但有两个周期访问TCM)。

TCM通常的目的不是性能(尽管它很好),而是可预测性——在TCM中你不会得到缓存丢失,因此实时系统使用它来计时关键代码和数据段。

最新更新