Перейти к содержанию
    

Для чего нужен flush icache?

Собственно, для чего?

flush dcache - понятно.  Скинуть  с кеша данных в память.  Чтобы DMA или периферал какой-нибудь прочитал правильные данные, подготовленные CPU

invalidate dcache - понятно.  Объявить кеш данных недостоверным.  Чтобы CPU прочёл корректные данные, после того как периферал или DMA записали в память данные/

invalidate icache - тоже понятно.  Объявить кеш инструкций недостоверным. Для самомодифицирующегося кода: если мы записали байт-код какой-нибудь функции в память и её нужно выполнить.

А flush icache - зачем? Какова практическая цель его применения?  Сбросить кеш кода в память. Для чего?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полагаю, в многопроцессорных системах, чтобы CPU1 мог уведомить CPU2, чтобы тот обновил кэш инструкций (аппаратно).

Еще есть такое пояснение: https://developer.arm.com/documentation/ddi0201/latest/caches/instruction-cache/instruction-cache-validity

Правда, какое-то оно мутное для понимания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/17/2023 at 11:02 AM, repstosw said:

если мы записали байт-код какой-нибудь функции в память и её нужно выполнить

минуя кеш записали ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, sasamy сказал:

минуя кеш записали ?

Минуя кэш инструкций, разумеется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...