Это сделано для того, чтобы процессор не использовал устаревшие значения из-за кэширования.
Когда вы получаете доступ к (обычной) кешированной памяти, процессор может «запомнить» значение, к которому вы обращались. В следующий раз, когда вы посмотрите на ту же самую область памяти, процессор вернет значение, которое он помнит, не глядя в ОЗУ. Это кеширование.
Если содержимое местоположения может измениться без ведома процессора, как это может быть в случае, если у вас есть устройство с отображенной памятью (например, FPGA, возвращающая некоторые пакеты данных), процессор может вернуть значение «запомнено» из последнего время, которое было бы неправильно.
Чтобы избежать этой проблемы, вы помечаете это адресное пространство как не кешируемое. Это гарантирует, что процессор не пытается запомнить значение.