要看是什么ARM核,如果是M核和R核的多核,可以在RTOS里指定线程使用哪个核心,你一个程序又不是每个任务都要求高实时性,把要求高实时的任务定高优先级,合理分配到其中1个核上跑就行了。
四核以上的MCU一般用的是A核,A核是超标量处理器架构了,包括了指令多发射,乱序执行,分支预测和CACHE的命中率问题,架构上就不是实时的。CPU单元是在CACHE里随机抽几条指令来执行,但指令用到的数据又不一定在CACHE里,一但D-CACHE没命中,主内存又跑在异步上,那数据就可能要等上二十几个周期,所以A核跑实时程序要看1% LOW和0.1% LOW。但还是那句话,力大砖飞,只要A核和内存的频率够高,就算CACHE没命中,等上50个周期,0.1% LOW照样能在100us里跑出来,那也是实时的。
ARM为了处理低频MCU力不够大的问题,设计了TCM,可以把实时性要求高的任务放到TCM里跑,其它低实时性的放CACHE里跑,或者大小核架构,一个A核带一个M核。
你要是在13代酷睿上跑linux,8核5GHz,根本不用考虑实时性,怎么跑都是实性的。
【 在 Qlala 的大作中提到: 】
: 多核并行效果如何
: 双核四核arm 貌似很普及了
--
FROM 14.223.163.*