大家好,我的应用场景为:cortex-a7 4核,希望4个核独立运行,即以AMP方式运行。 但Cortex-A7 MPCore Technical Reference Manual(Revision: r0p5 ) 4.3.31 Auxiliary Control Register节明确 ACTLR.SMP SMP Enables coherent requests to the processor: 0 Disables coherent requests to the processor. This is the reset value. 1 Enables coherent requests to the processor. When coherent requests are disabled: • loads to cacheable memory are not cached by the processor. 这意味着,如果4个core如果在amp模式下不能使用cache,系统性能受到极大影响,实测的确如此。 cortex-a7 mpcore压根不支持amp模式吗? 不知哪位专家有好的解决办法?
MPCore 本来设计就是用来 coherency 使用的, 作为 SMP core 使用。
你如果一定要配置成 AMP, 当然就只有 disable SMP 了。
我实际测试过4个core在disable smp模式下运行,像是蜗牛爬,原因是cache不起作用。我估计这和L2 cache有关,可能所有L2集成的mpcore实际上并不能很好地支持amp,而之前的cortex-a9的l2是在核外的就可以很好地支持amp模式。