Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FoxPro / Методички_по_БД / ОрганизациЭВМ и систем_Учеб_пособие.doc
Скачиваний:
150
Добавлен:
11.05.2015
Размер:
2.4 Mб
Скачать

3.2. Регистровые структуры центрального процессора

Набор регистров и их структуры рассмотрим на примере процессоров с интеловской архитектурой. Можно выделить следующие группы регистров:

  1. Основные функциональные регистры:

  • регистры общего назначения (РОНы);

  • указатель команд;

  • регистр флагов;

  • регистры сегментов.

  1. Регистры процессора обработки чисел с плавающей точкой (FPU):

  • регистры данных;

  • регистр тегов;

  • регистр состояния;

  • регистр указателей команд и данных FPU;

  • регистр управления FPU.

  1. Системные регистры:

  • регистры управления микропроцессора;

  • регистры системных адресов.

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

Все 16-разрядные регистры микропроцессоров 8086, 80186, 80286 входят в состав набора 32-разрядных регистров. Регистры первых двух групп используются при выполнении прикладных программ, третьей группы — системных, четвертой — при отладке и тестировании.

3.2.1. Основные функциональные регистры

Содержимое этих регистров определяется текущей задачей, т.е. в эти регистры автоматически загружается новое значение при переключении задач.

Регистры общего назначения

Восемь 32-разрядных регистров предназначены для хранения данных и адресов. Они поддерживают работу с данными разрядностью 1, 8, 16, 32 и 64 бита, битовыми полями длиной от 1 до 32 бит и адресами размером 16 и 32 бита. Младшие 16 разрядов этих регистров (рис. 3.3) доступны отдельно при использовании соответствующего имени, например регистр ЕАХ (имя АХ для 16 разрядов).

31 16

15 A

X 0

AH

AL

EAX

Рис. 3.3. Структура регистра общего назначения ЕАХ

При операциях с байтами можно отдельно обращаться к младшему байту (разряды 0 – 7) и старшему байту (8 – 15) по именам AL и AH. Доступ к отдельным байтам обеспечивает дополнительную гибкость при операциях с данными.

Регистры сегментов и дескрипторы сегментов

Шесть 16-разрядных сегментных регистров (CS, SS, DS, ES, FS, GS) содержат значения селекторов сегментов, указывающих на текущие адресуемые сегменты памяти. С каждым из них связан программно-недоступный регистр дескриптора сегмента (рис. 3.4).

В защищенном режиме каждый сегмент может иметь размер от 1 байта до 4 Гбайт, в режиме реальных адресов максимальный размер сегмента составляет 64 Кбайта.

Селектор в CS обеспечивает обращение к текущему сегменту команд, селектор в SS — к текущему сегменту стека, селекторы в DS, ES, FS, GS — к текущим сегментам данных. Каждый регистр дескриптора содержит 32-разрядный размер сегмента и другие необходимые атрибуты.

Когда в регистр сегмента загружается новое значение селектора, содержимое соответствующего регистра дескриптора автоматически корректируется. В реальном режиме базовый адрес сегмента получается путем сдвига значения селектора на 4 разряда влево (20 разрядов), максимальный размер и атрибуты сегмента в реальном режиме имеют фиксированные значения.

Регистры сегментов

Регистры дескрипторов

15 0

Базовый адрес

Размер

сегмента

Другие атрибуты

Селектор

CS

Селектор

SS

Селектор

DS

Селектор

ES

Селектор

FS

Селектор

GS

Рис. 3.4. Регистры сегментов и соответствующие регистры дескрипторов

Соседние файлы в папке Методички_по_БД