m11-06 теория 7 мин

Память: SRAM, DRAM, flash

Три типа памяти внутри любого компьютера и микроконтроллера, и у каждого свой компромисс.

SRAM (статическая) — шесть транзисторов на бит. Быстрая (единицы наносекунд), не требует обновления, но занимает много места. Используется для кэшей процессора и оперативной памяти внутри микроконтроллера (у ESP32 520 КБ — это SRAM).

DRAM (динамическая) — один транзистор и один конденсатор на бит. Ёмкость маленькая (фемтофарады), заряд утекает, поэтому нужна регенерация каждые несколько миллисекунд. Плотная и дешёвая — из неё делают модули памяти компьютера. Медленнее SRAM.

Flash (энергонезависимая) — плавающий затвор, который удерживает заряд без питания. Плотная, дешёвая, но запись блоками, медленная и с ограниченным ресурсом (10 000–100 000 циклов). Из неё делают SSD, SD-карты, прошивку микроконтроллеров.

EEPROM — разновидность с побайтовой записью и ресурсом 100 000–1 000 000 циклов. Маленькая (килобайты), для настроек.

Сравнение по скорости (порядок): регистры — доли наносекунды, SRAM — единицы, DRAM — десятки, flash — сотни микросекунд на запись.

Что это значит на практике: если нужно быстро и много — SRAM (дорого, поэтому мало), если нужно хранить данные без питания — flash, если нужно менять настройки часто — EEPROM или эмуляция с wear leveling.

И важное: у flash нельзя перезаписать байт, не стерев блок (обычно 4 КБ). Поэтому файловая система и библиотеки прячут это за собой.

Зачем

Разница между SRAM, DRAM и flash объясняет ограничения памяти микроконтроллера и износ хранилища.

Сделай сейчас

Найди в даташите своей платы: сколько SRAM, сколько flash, есть ли EEPROM. Сравни с размером своей программы.

Проверь себя

Почему в микроконтроллере 520 КБ SRAM, а не 8 ГБ, как в компьютере?

SRAM занимает шесть транзисторов на бит и физически огромна. 8 ГБ стоили бы целого кристалла и стоили бы как процессор. Поэтому SRAM — маленькая и быстрая, а большие объёмы — flash и внешняя память.

Пройти тест 5 заданий
0 из 102 · 0%
Входит в маршруты
Внутрь чипа
Теги
память sram dram flash