stringtranslate.com

Регистр диапазона типа памяти

Регистры диапазона типа памяти ( MTRR ) представляют собой набор регистров управления дополнительными возможностями процессора , которые обеспечивают системному программному обеспечению контроль над тем, как кэшируется доступ к диапазонам памяти со стороны ЦП . Он использует набор программируемых регистров конкретной модели (MSR), которые представляют собой специальные регистры, предоставляемые большинством современных процессоров. Возможные режимы доступа к диапазонам памяти: некэшированный, сквозная запись , комбинированная запись , защита от записи и обратная запись . В режиме обратной записи записи записываются в кэш ЦП , и кэш помечается как «грязный», поэтому его содержимое записывается в память позже.

Объединение записи позволяет объединить передачи записи по шине в более крупную передачу перед их передачей по шине, чтобы обеспечить более эффективную запись в системные ресурсы, такие как память видеокарты . Это часто увеличивает скорость операций записи изображений в несколько раз за счет потери простой семантики последовательного чтения/записи обычной памяти. Дополнительные биты, которые предусмотрены в некоторых компьютерных архитектурах , таких как AMD64 , позволяют дублировать содержимое ПЗУ в системной памяти (теневое ПЗУ) и конфигурировать отображаемый в памяти ввод-вывод .

MTRR в процессорах x86-ПК

В ранних системах с архитектурой x86 , особенно там, где кэш обеспечивался отдельными микросхемами вне корпуса ЦП, эта функция контролировалась набором микросхем и настраивалась через настройки BIOS .

Когда кэш ЦП был перемещен внутри ЦП, ЦП реализовали MTRR с фиксированным диапазоном, которые охватывают первый мегабайт памяти, чтобы быть совместимыми с тем, что в то время предоставляло PC-BIOS. Они используются для управления политикой кэширования, необходимой для доступа к VGA и всех других обращений к памяти, выполняемых, когда система находится в реальном режиме . Процессоры с размером выше 1 МБ предоставляют несколько MTRR с переменным диапазоном , которые можно свободно размещать и даже перекрывать. Эти MTRR с переменным диапазоном можно использовать для установки политики кэширования графической памяти и других диапазонов памяти, используемых устройствами PCI .

Начиная с семейства процессоров Intel P6 ( Pentium Pro , Pentium II и новее), MTRR можно использовать для управления доступом процессора к диапазонам памяти. [1]

Процессоры Cyrix 6x86 , 6x86MX и MII имеют регистры диапазона адресов (ARR), которые обеспечивают функциональность, аналогичную MTRR.

Процессоры AMD K6-2 ( степень 8 и выше) и K6-III имеют два MTRR. Семейство AMD Athlon включает 8 MTRR в стиле Intel.

Centaur C6 WinChip имеет 8 MCR, позволяющих объединять операции записи.

Процессоры VIA Cyrix III и VIA C3 оснащены 8 MTRR в стиле Intel.

Интерфейс памяти процессоров AMD K8 поддерживает «расширенную кодировку поля типа MTRR с фиксированным диапазоном», которая позволяет указать, выполняется ли доступ к определенным диапазонам адресов путем доступа к ОЗУ через архитектуру прямого подключения или путем выполнения ввода-вывода с отображением в памяти . Это позволяет, например, реализовать теневое ОЗУ путем копирования содержимого ПЗУ в ОЗУ.

Преемник

Новые процессоры x86 поддерживают более продвинутую технологию, называемую таблицами атрибутов страниц (PAT), которая позволяет настраивать эти режимы для каждой страницы вместо ограниченного количества регистров с низкой степенью детализации для работы с современными объемами памяти, которые могут достигать 64.  ГБ даже на ноутбуке и в несколько раз больше на настольном компьютере.

Подробности о том, как работают MTRR, описаны в руководствах по процессорам от поставщиков процессоров.

Смотрите также

Рекомендации

  1. ^ "HOWTO для Linux-геймеров" . HOWTO для Linux-геймеров . tldp.org . Проверено 3 октября 2009 г.

Внешние ссылки