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

редактировать

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

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

СОДЕРЖАНИЕ
  • 1 MTRR в процессорах x86-PC
  • 2 Преемник
  • 3 См. Также
  • 4 ссылки
  • 5 Внешние ссылки
MTRR в процессорах x86-PC

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

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

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

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

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

Centaur C6 - Winchip имеет 8 MCRs, позволяя записи комбинирования.

Процессоры VIA Cyrix III и VIA C3 предлагают 8 MTRR в стиле Intel.

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

Преемник

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

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

Смотрите также
Рекомендации
Внешние ссылки
Последняя правка сделана 2024-01-02 06:56:17
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте