以stm32 CM3这款为例进行分析,以下是自己的一些理解,如有错误还请指正!
首先flash是存储空间代码区中的一部分,cpu通过I Code(取指令)与D Code(查表)两根总线对此区域进行访问,故执行效率最高。
如果将代码搬运到SRAM中进行执行,因为cpu对于sram的访问方式只能通过系统总线,故没有前者效率高,所以一般在代码区的FLASH中执行代码。
疑问:SRAM的读写速度通常要比FLASH快很多,可以弥补总线访问的劣势吗?
关于究竟是谁快,找到了一篇帖子,这个帖子对这种情况进行了实验,结论是:取决于代码。