Регистр CR3 предназначен для хранения старших 20-ти разрядов базового адреса каталога страниц, которые загружаются операционной системой при инициализации процессора. В процессоре Pentium каталог страниц выровнен по границам страниц, поэтому для указания базового адреса каталога страниц достаточно использовать 20 старших разрядов CR3.
В регистре CR3 кроме базового адреса каталога определены два бита PWT и PCD, управляющие кэш-памятью при страничной адресации.
Бит PCD (Page-Level Cache Disable) - запрещает (PCD=1) или разрешает (PCD=0) кэширование страниц во внутреннюю кэш-память. Состояние бита PCD выдается как выходной сигнал PCD, который показывает, является ли текущая страница кэшируемой. Выходной сигнал PCD применяется для управления кэшированием во внешней кэш-памяти по циклам;
Бит PWT (Page-Level Write-Through) - кодирует метод обновления содержимого основной памяти при наличии внешней кэш-памяти. Состояние этого бита выдается как выходной сигнал PWT, который для текущей страницы при PWT = 1 определяет со сквозной записью, а при PWT=0 - кэширование с обратной записью. Другими словами, при PWT = 1 запись в основную память всегда осуществляется одновременно с модификацией внешней кэш-памяти, а при PWT = 0 - обновление основной памяти выполняется только по специальным запросам.
Регистр CR4 содержит биты архитектурных расширений, назначение которых следующее.
VME (Virtual-8086 Mode Extensions) - бит, разрешающий использование виртуального флага прерываний в режиме V86. При использовании флага VME удается повысить производительность за счет сокращения излишних вызовов монитора виртуальных машин.
PVI (Protected-Mode Virtual Interrupts) - бит, разрешающий использования виртуального флага прерываний в защищенном режиме. Значение PVI = 1 разрешает некоторым программам с уровнем привилегий 0 выполняться на уровне привилегий 3.
TSD (Time Stamp Disable) - бит, определяющий доступ к счетчику меток реального времени TSC (Time Stamp Counter). При TSD = 1 инструкция RDTSC (read from time stamp counter) превращается в привилегированную.
DE (Debugging Extensions) - бит расширения отладки. При DE=1 разрешены точки останова при обращениях к портам ввода-вывода.
PSE (Page Size Extension) - бит управления применением страниц размером 4 Мбайт.
MCE (Machine Check Exception) - бит, разрешающий использование исключения машинного контроля (прерывание 18).
Шесть программно доступных регистров DR0 - DR3, DR6, DR7 поддерживают процесс отладки программ. Регистры DR0 - DR3 используются для задания линейных адресов четырех независимых контрольных точек останова, которые могут быть использованы программами отладчика. Регистр DR7 (Breakpoint Control) является регистром управления режимом отладки, а DR6 (Breakpoint Status) - регистром состояния отладки.
В дополнение к базовой архитектуре 32-разрядных процессоров х86 Pentium имеет набор регистров MSR (Model Specific Registers), специфичных для конкретной модели процессора. В их число входит группа тестовых регистров TR1 - TR12, средства мониторинга производительности, регистры- фиксаторы адреса и данных цикла, вызвавшего срабатывание контроля машинной ошибки. Новые тестовые регистры предназначены для управления операциями тестирования внутренней кэш-памяти команд и данных, буфера быстрой переадресации TLB, буфера меток перехода BTB. Название регистров MSR указывает на их возможную несовместимость для разных классов (Pentium и Pentium Pro) и моделей процессоров. Чтение и запись в регистры MSR выполняется с помощью специальных команд RDMSR и WRMSR процессора Pentium. В указанных командах регистр ЕСХ определяет адрес (номер) 64-битного регистра MSR, содержимое которого считывается или записывается из (в) регистров EDX:EAX.
Для углубленного понимания назначения и использования регистров системной архитектуры познакомимся с вопросом организации памяти в МП-системах с процессором Pentium.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.