完全取决于内存和CPU体系结构。根据经验,SRAM比闪存快,尤其是在高速MCU(> 100 MHz)上。SRAM位单元产生(或多或少)逻辑电平输出,而闪存必须经历较慢的电流感测过程。
再快多少(如果有的话)又取决于体系结构-存储器的字大小,每个存储器上的等待状态数,是否存在缓存,CPU指令的大小等。足够低的频率,闪存和RAM上的等待状态可能为零,因此它们可能以相同的速度运行。
代码也很重要。如果您的代码严格是线性的(无分支),则闪存可以足够快地预取指令,即使在较高频率下,也可以保持CPU饱和。正如Olin所说,当代码和数据位于不同的存储器中时,具有单独的程序和数据读取路径的哈佛体系结构CPU可能会执行不同的操作。
金属ROM(以及其他非易失性存储器,例如FRAM)具有自己的特性,并且可能与SRAM一样快,也可能不与SRAM一样快。写作能力不一定会有所不同;更多有关位单元输出和感应电路的特性。
参考文档: