Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






II Системные регистры микропроцессора






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

Системные регистры можно разделить на 3 группы:

- 4 регистра управления для общего управления системой, они доступны программам с уровнем привилегий 0;

- 4 регистра системных адресов для защиты программ и данных в мультизадачном режиме МП;

- 8 регистров отладки для аппаратной отладки, хранят линейные адреса точек прерывания.

 

Регистры управления (4: CR0, CR1, CR2, CR3)

В группу регистров управления входят 4 регистра: CR0, CR1, CR2, CR3. Эти регистры предназначены для общего управления системой. Регистры управления доступны только программам с уровнем привилегий 0. Хотя микропроцессор имеет четыре регистра управления, доступными являются только три из них - исключается CR1, функции которого пока не определены (он зарезервирован для будущего использования).

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

- PE (Protect Enable), бит 0 - разрешение защищенного режима работы. Состояние этого флага показывает, в каком из двух режимов - реальном (pe=0) или защищенном (pe=1) - работает микропроцессор в данный момент времени.

- MP (Math Present), бит 1 - наличие сопроцессора. Всегда 1.

- TS (Task Switched), бит 3 - переключение задач. Процессор автоматически устанавливает этот бит при переключении на выполнение другой задачи.

- AM (Aligment Mask), бит 18 - маска выравнивания. Этот бит разрешает (am = 1) или запрещает (am = 0) контроль выравнивания.

- CD (Cache Disable), бит 30, - запрещение кэш-памяти. С помощью этого бита можно запретить (cd = 1) или разрешить (cd = 0) использование внутренней кэш-памяти (кэш-памяти первого уровня).

- PG (PaGing), бит 31, - разрешение (pg = 1) или запрещение (pg = 0) страничного преобразования.
Флаг используется при страничной модели организации памяти.

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

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

Регистры системных адресов ( 4: GDTR, LDTR, IDTR, TR)

Эти регистры еще называют регистрами управления памятью. Они предназначены для защиты программ и данных в мультизадачном режиме работы микропроцессора. При работе в защищенном режиме микропроцессора адресное пространство делится на: - глобальное - общее для всех задач;

- локальное - отдельное для каждой задачи.

Этим разделением и объясняется присутствие в архитектуре микропроцессора следующих системных регистров:

1) регистра таблицы глобальных дескрипторов GDTR (Global Descriptor Table Register) имеющего размер 48 бит и содержащего 32-битовый (биты 16-47) базовый адрес глобальной дескрипторной таблицы GDT и 16-битовое (биты 0-15) значение предела, представляющее собой размер в байтах таблицы GDT;

2) регистра таблицы локальных дескрипторов LDTR (Local Descriptor Table Register) имеющего размер 16 бит и содержащего так называемый селектор дескриптора локальной дескрипторной таблицы LDT. Этот селектор является указателем в таблице GDT, который и описывает сегмент, содержащий локальную дескрипторную таблицу LDT;

3) регистра таблицы дескрипторов прерываний IDTR (Interrupt Descriptor Table Register) имеющего размер 48 бит и содержащего 32-битовый (биты 16-47) базовый адрес дескрипторной таблицы прерываний IDT и 16-битовое (биты 0-15) значение предела, представляющее собой размер в байтах таблицы IDT;

4) 16-битового регистра задачи TR (Task Register), который подобно регистру LDTR, содержит селектор, то есть указатель на дескриптор в таблице GDT. Этот дескриптор описывает текущий сегмент состояния задачи (TSS - Task Segment Status). Этот сегмент создается для каждой задачи в системе, имеет жестко регламентированную структуру и содержит контекст (текущее состояние) задачи. Основное назначение сегментов TSS - сохранять текущее состояние задачи в момент переключения на другую задачу.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.