Виды памяти в микропроцессорных системах
С точки зрения микропроцессора вся память одинаковая - это некий набор пронумерованных ячеек (у каждой ячейки есть свой адрес).
Физически память может быть выполнена в виде отдельной микросхемы или встроена в микроконтроллер. Когда-то давно память выполняли разными экзотическими способами, про один из которых я рассказывал здесь.
Однако в действительности применяют микросхемы памяти, изготовленные по разным технологиям и имеющие различные свойства и назначение.
Например, микропроцессорные программы обычно хранятся в Постоянном Запоминающем Устройстве - ПЗУ. Это буквенное обозначение известно с давних времён, когда память на самом деле была отдельным устройством. Но с тех пор так и повелось - постоянную память (то есть память, данные в которой сохраняются после выключения питания) часто и сейчас называют ПЗУ. Правда, эти слова употребляют обычно старпёры вроде меня, которые ещё помнят Ленина )))
Более молодое поколение сильнее подвержено “тлетворному влиянию запада”, поэтому обычно использует английское название - ROM - Read Only Memory - память только для чтения. Почему только для чтения? Потому что, как правило, в такую память данные можно записать только один раз. Поэтому, кстати, в русскоязычной среде такая память называется постоянной - один раз записал и забыл.
Запись в ПЗУ обычно выполняется с помощью специальных устройств - программаторов. А в ходе работы устройства на микроконтроллере эту память можно только читать. Если же программист ошибётся и попытается в своей программе записать данные в эту память, то ничего страшного не произойдёт - данные в памяти останутся старые, потому что без программатора записать их туда попросту невозможно.
Ну а если есть постоянное запоминающее устройство, то должно быть и непостоянное. В цифровой технике это называется оперативной памятью - ОЗУ - Оперативное Запоминающее Устройство. А по английски RAM - Random Access Memory - память с произвольным доступом.
В такой памяти данные хранятся, пока на систему подаётся питание. После отключения питания данные в ОЗУ исчезают - обнуляются. Оперативная память используется для временного хранения данных. Например, для хранения каких-то промежуточных вычислений.
Есть еще ЭСПЗУ - ПЗУ с Электрическим Стиранием данных. В зарубежной терминологии она называется флеш-память (отсюда произошло название “флешка”).
Данные в такой памяти не исчезают после отключения питания, но в то же время их можно перезаписывать программно. В такой памяти можно хранить, например, какие-то настройки устройства, которые могут быть изменены пользователем.
Так зачем тогда нужна ОЗУ?
А дело в том, что ОЗУ работает многократно быстрее, чем ЭСПЗУ. Поэтому постоянную память не используют для оперативных вычислений. Кроме того, алгоритмы записи в ЭСПЗУ существенно сложнее, чем запись в ОЗУ. Поэтому флеш-память применяется ограниченно.