Допустим MMU настроено так, что есть пара виртуальных адресов памяти:
0x40000000
0x40020000
Которые ссылаются на один и тот же физический адрес памяти:
0x40000000
Кеширование и буфер включены в MMU для этих регионов (биты C и B).
Собственно вопрос: при чтении-записи в эти виртуальные адреса - как будет работать кеширование и буферизация?
Будут ли заново читаться-записываться память второго региона, если ранее происходили чтение-запись первого региона?
Проще говоря - кеширование работает по физическим или виртуальным адресам? Линии кеша обновляются при изменении содержимого по виртуальному или физическому адресу?