Опубликован: 03.03.2010 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»

Лекция 2: Регистровая структура универсального микропроцессора

< Лекция 1 || Лекция 2: 123 || Лекция 3 >

Системные регистры

Системные регистры управляют функционированием микропроцессора в целом и режимами работы отдельных его блоков. Эти регистры доступны только в защищенном режиме для программ, имеющих максимальный уровень привилегий. Они включают в свой состав 2 группы регистров:

  • регистры управления ( CR0...CR4 );
  • регистры системных адресов и системных сегментов.

Регистр управления CR0 содержит биты, определяющие режим работы процессора:

  • PE - разрешение защиты: установка PE = 1 переводит микропроцессор в защищенный режим;
  • PG - включение страничной адресации памяти (при PG = 1 страничный механизм включен);
  • CD, NW - управление режимами работы внутренней кэш-памяти ( CD = 1 - запрещение заполнения кэш-памяти; NW = 1 - запрет сквозной записи).

Ряд бит ( MP, EM, TS, NE ) управляют режимами работы FPU.

Регистр CR1 был зарезервирован для последующего развития. Однако начиная с МП Pentium в микропроцессорах появился регистр управления CR4, а регистр CR1 так и остался зарезервированным.

Регистр CR2 содержит линейный адрес, который вызвал страничную ошибку, например, отсутствие страницы в оперативной памяти или недостаточный уровень привилегий.

В регистре CR3 находится базовый адрес каталога таблицы страниц (старшие 20 разрядов), а также биты PCD и PWT, управляющие работой кэш-памяти при страничной адресации (при PCD = 1 загрузка содержимого страницы в кэш-память запрещена; при PWT = 1 реализуется режим сквозной записи, а при PWT = 0 - обратной записи).

Регистр CR4 содержит биты, обеспечивающие расширение функциональных возможностей микропроцессора, начиная с Pentium. В частности, он содержит следующие управляющие разряды:

  • VME, PVI - управляют работой виртуальных прерываний;
  • PAE - обеспечивает расширение физического адреса до 36 разрядов (при PAE = 1 ); PGE - определяет некоторые страницы (часто используемые или используемые несколькими процессорами) как глобальные (при PGE = 1 );
  • PSE - расширяет размер адресуемых страниц до 4 Мбайт (при PSE = 1 ), при PSE = 0 сохраняет размер страницы 4 Кбайт.

Регистры системных адресов и системных сегментов представлены на рис. 2.4.

Структура регистров системных адресов и системных сегментов

Рис. 2.4. Структура регистров системных адресов и системных сегментов

В их число входят GDTR - регистр глобальной таблицы дескрипторов и IDTR - регистр таблицы дескрипторов прерываний. В этих регистрах определяются базовый адрес и размер соответствующей таблицы. К

К этой группе относятся также LDTR - регистр локальной таблицы дескрипторов и TR - регистр задач. Регистры LTDR и TR представляют собой селекторы, которые указывают на положение дескрипторов, описывающих соответственно сегмент, содержащий локальную таблицу дескрипторов, и сегмент состояния задачи (Task State Segment - TSS).

Использование этих регистров в дальнейшем будет рассмотрено более подробно.

Регистры отладки и тестирования

32-разрядные регистры отладки ( DR0...DR7 ) имеют следующее назначение:

  • DR0...DR3 - содержат линейные адреса 4 контрольных точек останова при отладке;
  • DR4 и DR5 зарезервированы;
  • DR6 - регистр состояния: показывает текущее состояние МП при останове в этих точках;
  • DR7 - регистр управления: задает условия останова в контрольных точках. Регистры DR4 и DR5 не используются.

Регистры тестирования ( TR3...TR7 ) используются при тестировании кэш-памяти и буфера ассоциативной трансляции адресов страниц ( TLB ).

По мере развития архитектуры микропроцессора их количество расширилось и дополнилось новым содержанием. В частности, с помощью регистра TR12 можно запретить предсказание и трассировку ветвлений, параллельное выполнение инструкций и выполнить некоторые другие действия.

Краткие итоги. В лекции рассмотрены назначение и состав регистровой структуры универсального микропроцессора, во многом определяющие архитектурные особенности микропроцессора.

< Лекция 1 || Лекция 2: 123 || Лекция 3 >
Владислав Салангин
Владислав Салангин

приветствую создателей курса и благодарю за доступ к информации! понимаю, что это уже никто не исправит, но, возможно, будут следующие версии и было бы неплохо дать расшифровку сокращений имен регистров итд, дабы закрепить понимание их роли в общем процессе. 

Михаил Королёв
Михаил Королёв

Ирина Ткаченко
Ирина Ткаченко
Россия, Москва
Николай Ткаченко
Николай Ткаченко
Россия