IT-словарь › Оборудование › Обслуживание кэша (cache maintenance)

Обслуживание кэша (cache maintenance)

Оборудование Svenska → Обновлено: 2026-11-04

Операции, которые прошивка обязана выполнять явно, чтобы кэш и контроллер DMA одинаково представляли себе содержимое памяти.

В микроконтроллере без кэша DMA пишет прямо в ОЗУ, а процессор оттуда читает. Cortex-M7, принёсший в мир микроконтроллеров кэш данных в 2014 году, это положение дел закончил: контроллер DMA кэш обходит, и никакое железо их не синхронизирует. Перед отправкой буфер нужно сбросить (clean), чтобы грязные строки попали в ОЗУ. После приёма его нужно инвалидировать (invalidate), чтобы процессор перестал читать устаревшие копии.

Ловушка — 32-байтная строка кэша. Если буфер не начинается и не заканчивается на границе строки, он делит её с другими переменными, и инвалидация молча выбрасывает и их свежие записи. Ленивая альтернатива — пометить память под DMA через MPU как некэшируемую: платить придётся пропускной способностью, а не часами отладки, и сделка часто выгодная.

← Назад к словарю