Для процессора - это именно что "просто память". У него нет
отдельной IO-шины (поэтому обработчики прерываний из RAM могут
работать медленнее, чем из FLASH, потому что для последнего есть
кеш у процессора). volatile говорит, что нельзя оптимизировать операцию доступа к ячейке памяти, иначе операции
*a = 1
*a = 2
*a = 3
при компиляции сведутся к
*a = 3
Квалификатор volatile, гарантирует, что в первом примере в указатель a будут явно записаны 1, 2, 3 и именно в таком порядке.