1回答

0收藏

点点滴滴-6、Cortex-M7之TCM实验

其他 其他 4639 人阅读 | 1 人回复 | 2015-09-13

本帖最后由 ALTIUM2 于 2015-9-13 21:01 编辑

点点滴滴-6、Cortex-M7之TCM实验

  都说新一代处理器“Cortex-M7”面向高端嵌入式市场,是新一代微型控制器(MCU),但是到底强悍在哪里呢?
Cortex-M7最重要的还是新的架构带来的优势,尤其新增的 TCM,的的确确质的飞跃,一个64位的ITCM和两个32位的DTCM,今天我就和大伙一起用实验来证明它的强悍之处。



牛逼不是吹的,数据是关键,我们一起看看怪兽在哪里?

  TCM: 紧耦合内存
  TCM: Tightly Coupled Memories
  TCM:可以认为是片上的紧致内存,是片上的快速存储区,与片上缓存具有同等的性能。

(一)测试软件版本和平台

平台,IAR Embedded Workbench for ARM 7.40


历程,TCM (Tightly Coupled Memory) Example

内容,初始配置

         1.在ICache & DCache Disabled的情况下
         a测试Stack In SRAM 情况下测试递归求和(1~100)的计算时间。
         b测试Stack In DTCM 情况下测试递归求和(1~100)的计算时间。


         2.在ICache & DCache Disabled的情况下
         a测试Stack In DTCM 情况下不使用TCM完成数据拷贝的时间。      
         b测试Stack In DTCM 情况下使用TCM完成数据拷贝的时间。


         3.在ICache & DCache Enabled的情况下
         a测试不使用TCM完成数据拷贝的时间。      
         b测试使用TCM完成数据拷贝的时间。  


(二)测试时间的基准

DWT:数据观察点和跟踪



上面是断点运行nop的实际仿真图,可以看到一个空nop下 CYCCNT增加了24。


(三)测试实验数据


(四)实验数据分析
1.在ICache & DCache Disabled的情况下
a测试Stack In SRAM 情况下测试递归求和(1~100)的共用了3487。
b测试Stack In DTCM 情况下测试递归求和(1~100)的用了1650。
可以看到在Cache禁止情况下,TCM比SRAM足足快乐一倍!!


为什么,如下图所示,因为TCM中频率与主频一样300mhz,而SRAM为BUS总线速率150MHZ,所以使用TCM自然时间比SRAM快了一倍。

(我是这么理解的啊)


2.在ICache & DCache Disabled的情况下
a测试Stack In DTCM 情况下不使用TCM完成数据拷贝的时间为 248856。      
b测试Stack In DTCM 情况下使用TCM完成数据拷贝的时间 61509。
可以明显的看到在Cache禁止的时候,TCM带来的速度居然是大概4倍!!

3.在ICache & DCache Enabled的情况下
a测试不使用TCM完成数据拷贝的时间 62502。      
b测试使用TCM完成数据拷贝的时间 61500。  
这里可以看出如果Cache使能,TCM将不会带来速率的提升。


总的就是Cortex-M7 中Cache 和 TCM 的加入的的确确让性能提高了很多很多!
(文中也有自己不怎么懂的,希望大伙多多斧正,我会及时更正,谢谢!)






分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

党国特派员

发表于 2015-9-14 10:56:04 | 只看该作者

强大。。。。
喜欢在构思妙想,电子产品DIY是工作,也是一种爱好。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条