Операция ввода-вывода с отображением в память (в процессоре Intel) с использованием команды ввода / вывода... все еще кэшироваться?

Будет ли кэшированная операция ввода-вывода в память (в процессоре Intel) по-прежнему кэшироваться, если диапазон адресов сопоставленного ввода-вывода печатается как запись с обратной записью (WB), даже если я использую инструкцию ввода / вывода?

РЕДАКТИРОВАТЬ: Этот вопрос решен. Я обнаружил, что MMIO кешируется, и работа MMIO может быть изменена в зависимости от типа памяти. Вот почему Intel рекомендовала установить MMIO с использованием MTRR в качестве UC (без кэширования). Я нашел это в руководстве разработчика программного обеспечения Intel v3A, которое также может быть применено к процессорам amd...

1 ответ

Я не знаю, что MMIO (в системах x86) может быть фактически установлен для кэширования, но даже если бы они могли, я бы подумал, что использование инструкций ввода-вывода обойдёт эту часть MMU. CPU не будет знать, что IO адрес, по которому вы пишете, внутренне сопоставлен с тем же адресом MMIO на вашем устройстве. Как вы устанавливаете кешируемость этого региона MMIO?

Другие вопросы по тегам