Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тест2.doc
Скачиваний:
75
Добавлен:
30.03.2015
Размер:
203.26 Кб
Скачать
  1. Архитектура ia32. Пользовательские рагистры.

• регистры общего назначения предназначены для хранения данных и адресов, программист может их использовать (с определенными ограничениями) для реализации своих алгоритмов;

• сегментные регистры CS, DS, SS, ES, FS, GS используются для хранения адресов сегментов в памяти;

• регистры сопроцессора ST(O), ST(1), ST(2), ST(3), ST(4), ST(5), ST(6), ST(7) предназначены для написания программ, использующих тип данных с плавающей точкой;

• целочисленные регистры MMX-расширения ММХО, MMXl, MMX2, ММХ3, ММХ4, ММХ5, ММХ6, ММХ7;

• регистры MMX-расширения с плавающей точкой XMMO, XMMl, XMM2, ХММ3, ХММ4, ХММ5, ХММ6, ХММ7;

• регистры состояния и управления (регистр флагов EFLAGS/FLAGS и регистр-указатель команды EIP/IP) содержат информацию о состоянии процессора, исполняемой программы и позволяют изменить это состояние.

  1. Архитектура ia32. Системные регистры. Структура регистров.

системные регистры, то есть регистры, предназначенные для поддержания различных режимов работы, сервисных функций, а также регистры специфичные для определенной модели процессора. Перечислим системные регистры, поддерживаемые IA-32:

• управляющие регистры CRO...CR4 определяют режим работы процессора и характеристики текущей исполняемой задачи;

• регистры управления памятью GDTR, IDTR, LDTR и TR используются в защищенном режиме работы процессора для локализации управляющих структур этого режима;

• отладочные регистры DRO... DR7 предназначены для мониторинга и управления различными аспектами отладки;

• регистры типов областей памяти MTRR используются для аппаратного управления кэшированием в целях назначения соответствующих свойств областям памяти;

• машинно-зависимые регистры MSR используются для управления процессором, контроля за его производительностью, получения информации об ошибках.

  1. Архитектура ia32. Регистры общего назначения.

Регистры общего назначения используются в программах для хранения:

• операндов логических и арифметических операций;

• компонентов адреса;

• указателей на ячейки памяти.

Все регистры этой группы позволяют обращаться к своим ≪младшим≫ частям. Обращение производится по их именам. Следующие два регистра предназначены для поддержки так называемых цепочечных операций, то есть операций, производящих последовательную обработку цепочек элементов, каждый из которых может иметь длину 32,16 или 8 бит:

• регистр индекса источника (Source Index register) ESI/SI в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;

• регистр индекса приемника (Destination Index register) EDI/DI в цепочечных операциях содержит текущий адрес в цепочке-приемнике.

В архитектуре процессора на программно-аппаратном уровне поддерживается такая структура данных, как стек.

  1. Архитектура ia32. Сегментные регистры.

Процессоры Intel аппаратно поддерживают сегментную организацию программы. Это означает, что любая программа состоит из трех сегментов: кода, данных и стека. В программной модели !А-32 имеется шесть сегментных регистров CS, SS, DS, ES, GS, FS, служащих для доступа к четырем типам сегментов.

• Сегмент кода содержит команды программы. Для доступа к этому сегменту служит регистр CS. Он содержит адрес сегмента с машинными командами, к которому имеет доступ процессор

• Сегмент данных содержит обрабатываемые программой данные. Для доступа к этому сегменту служит регистр сегмента данных DS, который хранит адрес сегмента данных текущей программы.

• Сегмент стека представляет собой область памяти, называемую стеком. Для доступа к этой

области служит регистр сегмента стека SS, содержащий адрес сегмента стека.

• Дополнительный сегмент данных. Неявно алгоритмы выполнения большинства машинных команд предполагают, что обрабатываемые ими данные расположены в сегменте данных, адрес которого находится в регистре сегмента данных DS. Если программе недостаточно одного сегмента данных, то она имеет возможность задействовать еще три дополнительных сегмента данных. Но в отличие от основного сегмента данных, адрес которого содержится в регистре DS, при использовании дополнительных сегментов данных их адреса требуется указывать явно с помощью специальных префиксов переопределения сегментов в команде. Адреса дополнительных сегментов данных должны содержаться в регистрах дополнительного сегмента.