Информатика и информационные технологии: конспект лекций.

2. Регистры управления.

В группу регистров управления входят четыре регистра: сr0, сr1, сr2, сr3. Эти регистры предназначены для общего управления системой. Регистры управления доступны только программам с уровнем привилегий 0.

Хотя микропроцессор имеет четыре регистра управления, доступными являются только три из них – исключается сr1, функции которого пока не определены (он зарезервирован для будущего использования).

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

Назначение системных флагов:

1) ре (Рrоtесt Еnаblе), бит 0 – разрешение защищенного режима работы. Состояние этого флага показывает, в каком из двух режимов – реальном (ре = 0) или защищенном (ре = 1) – работает микропроцессор в данный момент времени;

2) mр (Маth Рrеsеnt), бит 1 – наличие сопроцессора. Всегда 1;

3) ts (Таsк Switсhеd), бит 3 – переключение задач. Процессор автоматически устанавливает этот бит при переключении на выполнение другой задачи;

4) аm (Аlignmеnt Маsк), бит 18 – маска выравнивания. Этот бит разрешает (аm = 1) или запрещает (аm = 0) контроль выравнивания;

5) сd (Сасhе Disаblе), бит 30 – запрещение кеш-памяти.

С помощью этого бита можно запретить (сd =1) или разрешить (сd = 0) использование внутренней кеш-памяти (кеш-памяти первого уровня);

6) рg (РаGing), бит 31 – разрешение (рg =1) или запрещение (рg = 0) страничного преобразования.

Флаг используется при страничной модели организации памяти.

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

В такой ситуации в микропроцессоре возникает исключительная ситуация с номером 14, и линейный 32-битный адрес команды, вызвавшей это исключение, записывается в регистр сr2. Имея эту информацию, обработчик исключения 14 определяет нужную страницу, осуществляет ее подкачку в память и возобновляет нормальную работу программы;

Регистр сr3 также используется при страничной организации памяти. Это так называемый регистр каталога страниц первого уровня. Он содержит 20-битный физический базовый адрес каталога страниц текущей задачи. Этот каталог содержит 1024 32-битных дескриптора, каждый из которых содержит адрес таблицы страниц второго уровня. В свою очередь, каждая из таблиц страниц второго уровня содержит 1024 32-битных дескриптора, адресующих страничные кадры в памяти. Размер страничного кадра – 4 Кбайта.