Это полностью зависит от памяти и архитектуры процессора. Как правило, SRAM быстрее флэш-памяти, особенно на высокоскоростных микроконтроллерах (> 100 МГц). Битовые ячейки SRAM производят (более или менее) выход логического уровня, в то время как флэш-память должна проходить более медленный процесс измерения тока.
Насколько быстрее (если таковые имеются) снова зависит от архитектуры - размер слова в памяти, количество состояний ожидания для каждого, наличие кэширования, размер инструкций процессора и т. Д. Если вы работаете на При достаточно низкой частоте вы можете иметь нулевое состояние ожидания на флэш-памяти и ОЗУ, чтобы они могли работать с одинаковой скоростью.
Код также имеет значение. Если ваш код является строго линейным (без разветвления), флэш-память может выполнять предварительную выборку команд достаточно быстро, чтобы поддерживать насыщение процессора даже на более высоких частотах. Как сказал Олин, ЦП Гарвардской архитектуры с отдельными путями чтения программ и данных может работать по-разному, когда код и данные находятся в разных запоминающих устройствах.
Металлические ПЗУ (и другие энергонезависимые запоминающие устройства, такие как FRAM) имеют свои собственные характеристики и могут быть или не быть такими же быстрыми, как SRAM. Способность писать не обязательно имеет значение; это больше о характеристиках выходных битовых ячеек и чувствительных цепей.
Таблица данных даст вам приблизительное представление о разнице в скорости, но единственный способ узнать наверняка - это профилировать ваш код.