Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

MTRR в процессорах x86-PC [ править ]

В системах с ранней архитектурой 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 MCRs, позволяя записи комбинирования.

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

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

Преемник [ править ]

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

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

См. Также [ править ]

  • Регистр диапазона адресов
  • Таблица атрибутов страницы (PAT)
  • Барьер записи

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Ускорение графики с помощью MTRR включает объяснение
  • Руководство программиста по архитектуре AMD64, том 2: Системное программирование ( PDF )
  • Руководства разработчика программного обеспечения для архитектур Intel 64 и IA-32 См. Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 Том 3A: Руководство по системному программированию, раздел 11.11 РЕГИСТРЫ ДИАПАЗОНОВ ТИПОВ ПАМЯТИ (MTRRS)
  • Утилита MTRRLFBE для DOS от RayeR - она ​​может устанавливать режимы кэширования для диапазона памяти VGA и LFB, чтобы значительно повысить производительность графических приложений DOS. На современных ПК с Core 2 Duo с PCI-E VGA это может быть в 10 раз быстрее, если установлено объединение записи.
  • Управление MTRR (Регистр диапазона типов памяти) Ричардом Гучем