Обычно нет, нет, если только программное обеспечение специально не обходит или не отключает кэш на современных процессорах.
Если задержка DRAM составляет, возможно, 70 нс, то это 280 циклов на процессоре 4 ГГц.Этого достаточно для процессора Skylake, чтобы выполнить ~ 1100 инструкций по 4 инструкции за цикл.Но его ограничение по параллелизму памяти составляет около 12 невыполненных кешей.Таким образом, кэш очень очень важен для производительности, даже при неупорядоченном выполнении.
Интересный факт: Да, MMU в процессорах P5 Pentium и ранее обойденном кэшепри доступе к таблицам страниц после пропуска TLB .Источник: ответ Энди Глью, бывшего архитектора процессоров Intel, который работал на P6: Кэшируются ли таблицы страниц?
Современные процессоры, включая современные x86 do таблицы страниц доступачерез свои кеши данных, однако: Что происходит после пропуска LL TLB?
x86 имеет movnt
инструкции для обхода кеша хранилищ, чтобы избежать загрязнения кеша длябольшой мемсет .Есть компромиссы для пропускной способности.Смотрите Enhanced REP MOVSB для memcpy для получения дополнительной информации о хранилищах NT и хранилищах без RFO от rep movsb
на процессорах с функцией ERMSB.Вероятно, некоторые другие архитектуры имеют аналогичные функции.
Вы также можете установить диапазон физического адресного пространства для кэширования.(Или на x86 для каждой виртуальной страницы 4k с настройками таблицы атрибутов страницы в записях таблицы страниц.)
Обычно это делается для областей MMIO (ввод-вывод с отображением в память), где вместо DRAM «память»"на самом деле регистры ввода / вывода на устройствах, таких как сетевые карты.Таким образом, каждая загрузка / сохранение является видимым побочным эффектом, и спекулятивная предварительная выборка должна быть запрещена.(И каждое хранилище должно приводить к отдельной транзакции записи вне ядра, например, сообщения PCIe.)
Кроме того, процессоры x86 имеют управляющие регистры, которые позволяют отключать кэш, что делает их чрезвычайно медленными. Как можно отключить кэши ЦП L1, L2, L3 на современных чипах x86 / amd64? .Снова, я предполагаю, что у других ISA есть подобные особенности.