Реестр для конкретной модели - Model-specific register
А регистр для конкретной модели (MSR) является любой из различных регистры управления в x86 Набор инструкций используется для отладка, трассировка выполнения программы, производительность компьютера мониторинг и переключение определенных ЦПУ Особенности.
История
С выпуском процессора 80386 Intel начала внедрять «экспериментальные» функции, которые не обязательно будут присутствовать в будущих версиях процессора. Первыми из них были два «тестовых регистра» (TR6 и TR7), которые позволяли тестировать работу процессора. резервный буфер перевода (TLB); особый вариант MOV инструкция позволяла переходить к тестовым регистрам и обратно.[1] В 80486 (TR3 – TR5) следовали три дополнительных тестовых регистра, которые позволяли тестировать кеш-память процессора на предмет кода и данных.[2] Ни один из этих пяти регистров не был реализован в последующем процессоре Pentium; особый вариант MOV сгенерировано исключение недопустимого кода операции.[3][4]
С выпуском процессора Pentium Intel предоставила пару инструкций (RDMSR и WRMSR) для доступа к текущим и будущим "регистрам для конкретной модели", а также к CPUID инструкция, чтобы определить, какие функции присутствуют на конкретной модели. Многие из этих регистров оказались достаточно полезными, чтобы их можно было сохранить. Intel классифицирует их как архитектурный регистры для конкретных моделей и обязались включить их в будущие линейки продуктов.[5]
Использование MSR
Чтение и запись в эти регистры обрабатываются rdmsr
и WRMSR
инструкции соответственно. Поскольку это привилегированные инструкции, они могут выполняться только операционной системой. Использование Linux MSR модуль ядра создает псевдофайл "/ dev / cpu /Икс/ msr "(с уникальным Икс для каждого процессора или процессорного ядра). Пользователь с разрешениями на чтение и / или запись в этот файл может использовать файловый API ввода-вывода для доступа к этим регистрам. В MSR-инструменты[6] пакет предоставляет эталонную реализацию.
Документация относительно того, какие MSR поддерживает определенная реализация процессора, обычно находится в документации процессора производителя процессора. Примерами довольно известных MSR являются регистры диапазона типа памяти (MTRR) и регистры диапазона адресов (ARR).
Смотрите также
Рекомендации
- ^ «10.6.2 Тестовые регистры». 80386 СПРАВОЧНОЕ РУКОВОДСТВО ДЛЯ ПРОГРАММАТОРА (PDF). Intel. 1986.
- ^ «10.6.2 Тестовые регистры». СПРАВОЧНОЕ РУКОВОДСТВО ДЛЯ ПРОГРАММАТОРА i486 (PDF). Intel. 1990.
- ^ «23.2.12 Тестовые регистры». Руководство пользователя процессора Pentium Том 3: Руководство по архитектуре и программированию (PDF). Intel. 1993.
- ^ Алан Круз. "Регистры для конкретных моделей" (PPT). Конспект лекций, курс продвинутого программирования микрокомпьютеров, Университет Сан-Франциско, 2006 г..
- ^ «2.1 АРХИТЕКТУРНАЯ СМСС». Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 Том 4: Регистры для конкретных моделей. Intel. Май 2020.
- ^ MSR-инструменты на 01.org