1

我正在通过使用不同场景运行 coremark 基准测试来测量 ARM cortex R5f 处理器的性能。一种情况是在 ATCM 内存上设置堆栈。

不带flag编译时inline,TCM上的STACK效果更好。并且在使用标志编译时inline,RAM 上的 STACK 会得到更好的结果。

鉴于 TCM 更快且更接近处理器,如何解释这一点。

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

4

1 回答 1

1

鉴于 TCM 更快且更接近处理器,如何解释这一点。

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

TCM 的通常目的不是性能(尽管它很好),而是可预测性 - 您无法在 TCM 中获得缓存未命中,因此实时系统将它用于计时关键代码和数据部分。

于 2015-07-29T10:10:20.863 回答