我通过使用不同场景运行coremark基准来测量ARM cortex R5f处理器性能。一种情况是在ATCM内存上设置STACK。
在没有inline
标志的情况下进行编译时,TCM上的STACK会得到更好的结果。当使用inline
标志进行编译时,RAM上的STACK会得到更好的结果。
如果TCM更快更接近处理器,怎么解释呢?
在TCM上设置堆栈时,我的程序中没有堆栈溢出。
答案 0 :(得分:1)
如果TCM更快更接近处理器,怎么解释呢。
您的TCM是否比L1数据缓存更快?并非总是如此(许多设计具有单周期L1 D高速缓存,但对TCM进行两次循环访问)。
TCM的通常目的不是性能(虽然它很好),但可预测性 - 您无法在TCM中获得缓存缺失,因此实时系统将其用于计时关键代码和数据部分。