Программная модель МП-системы на основе процессора Pentium. Особенности организации памяти и допустимые способы адресации, страница 12

Регистр 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.