cache问题
我是这样理解的: 指令cache通过内部的电路自动的把经常执行的指令存入cache,从cache执行程序,以提高速度;数据cache主要针对存储器存取指令和通过DMA-FMC向sdram写数据的操作,当要向sram/sdram里写数据时,会先把数据写进数据cache,等内部的电路发现cache快写满了或者总线空闲了,就批量地把数据cache里的内容搬进sram/sdram,以提高总体的效率。 这样对不对?看到F767的nucleo简介里有两个cache
分别为指令cache和数据cache
自己对于cache的理解:
cache是预读取指令和数据
这样程序执行的时候
就有很大的概率可以直接从离cpu较进的cache
得到所需的程序和数据片段
但是stm32自称是零等待运行?
有点出路
坐等大腿 看了一眼AN4839
最后有提到:
When using the ART accelerator, the CPU can read an instruction in just 1 clock from
the internal Flash memory (like 0-wait state). So I-cache cannot be used for the internal
Flash memory.
那么ART
加速是手动开启的?
代码不放flash里,怎么复制到ram里?
页:
[1]