本帖最后由 数码小叶 于 2016-12-22 15:49 编辑
STM32F7的介绍上有一个称为自适应实时加速器(ART Accelerator™)的内置闪存加速器,再加上 ITCM和AXI双接口,可以实现闪存零等待执行。
那什么是ARTA呢?
ART是ST推出的针对ARM Cortex内核优化的自适应实时存储器加速器。由于ARM Cortex的性能高于闪存技术,在运行频率较高时,处理器必须等待闪存,ST的ART存储器加速器可平衡这一固有的性能差距。所以现在,在运行频率达到120MHz时,CPU无需等待闪存,提高系统的总体速度和能效。有了这种性能,开发人员可以在微控制器上执行更多的系统功能,无需使用更加昂贵的微控制器或伴随DSP芯片。例如,在多媒体应用中,客户将能够实现音频编解码、视频处理、数据加密、数字过滤和多协议网关,剩余的资源足以处理其它任务。(摘自百度)
在移植Coremark到STM32F769I-DISCO时,注意到CUBE 里多了一个设置
就是这个cortex_M7的设置。
里面多了很多设置,而且这个里面可以选择ART的开启与关闭
于是就想这个开启与关闭对于最后的跑分有没有影响呢。。。
然后就实际试验了一下。
移植过程省略,和这个帖子同样的操作步骤。
【NUCLEO-F412ZG】——F4系列的入门级NUCLEO
第一次,开启ART,跑分
第二次,关闭ART,跑分
然后就纳闷了,结果不但不降,还升了一丢丢,重复一次,结果还是这样。。。。。纳闷。。。难道跑分和这个ART无关???
关闭另外两个高速缓存
跑分立马降了
难道这个只和I/D Cache有关?
不死心,怀疑是不是设置没起作用,于是查找代码
继续查变量值
一切都好着,改变cube设置,值也改变,没任何问题啊。。。。难道是真的无关
|