本帖最后由 liushiqi 于 2019-7-16 17:13 编辑
在参考手册FLASH 模块中,ART加速器中有这么一句话,凭借ART加速可以使CPU运行168MHZ时的性能相当于零等待。
然后我用KEIL软件连上板子与示波器根据手册中给出的设置,我们电压时3.3V,配置时钟频率为168,所以选择5个等待周期,开启预取和缓存。
目的:为了验证开启加速功能时,在168MHZ能否达到零等待。
方法:运行52800条单周期,顺序指令。用的是“MOV R0 #0” "MOV R0 #1",给R0寄存器赋值,从0到20,复制了60次,为了减少指令书写,采用BL跳转自身40次。一共是52800条(包含跳转指令),跳转40次,跳转可忽略,相当于全部顺序执行。MOV在M4中是32位指令。
在第一条指令前拉高管脚,最后一条指令后拉低管脚,开启预取和缓存,设置5个等待周期。然后在示波器中截取管脚拉高的时间,计算出实际值。
计算出理论零等待时间:应该是52800/168=314微秒。
但是得到的实际值是570微秒。远远达不到零等待时间,这是为什么,哪里出了问题。请大神赐教。非常感谢!
|