Помощь в учёбе, очень быстро...
Работаем вместе до победы

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

РефератПомощь в написанииУзнать стоимостьмоей работы

Содержимое этих регистров определяется текущей задачей, т. е. в эти регистры автоматически загружается новое значение при переключении задач. Набор регистров и их структуры рассмотрим на примере процессоров Intel с CISC-архитектурой. Можно выделить следующие группы регистров: Регистры процессора (FPU) обработки чисел с плавающей точкой (используются при выполнении прикладных программ): — регистры… Читать ещё >

Регистровые структуры центрального процессора (реферат, курсовая, диплом, контрольная)

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

  • 1. Основные функциональные регистры (используются при выполнении прикладных программ):
    • — регистры общего назначения (РОН);
    • — указатель команд;
    • — регистр флагов;
    • — регистры сегментов.
  • 2. Регистры процессора (FPU) обработки чисел с плавающей точкой (используются при выполнении прикладных программ):
    • — регистры данных;
    • — регистр тегов;
    • — регистр состояния;
    • — регистр указателей команд и данных FPU;
    • — регистр управления FPU.
  • 3. Системные регистры (используются при выполнении системных программ):
    • — регистры управления микропроцессора;
    • — регистры системных адресов.
  • 4. Регистры отладки и тестирования (используются при отладке и тестировании).

Все 16-разрядные регистры микропроцессоров 8086, 80 186, 80 286 входят в состав набора 32-разрядных регистров.

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

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

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

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

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

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

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

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

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

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

Указатель команд. Указатель команд (рис. 5.5) представляет собой 32-разрядный регистр с именем EIP, содержимое которого используется в качестве смещения при определении адреса следующей выполняемой команды. Смещение задается относительно базового адреса сегмента команд CS. Младшие 16 бит (0−15) содержат 16-разрядный указатель команд с именем IP, который используется при 16-разрядной адресации.

Указатель команд непосредственно программисту недоступен. Его содержимое изменяется при выполнении команд передачи управления и прерываний.

Регистр флагов является 32-разрядным, имеет имя EFLAGS. Его разряды содержат признаки результата выполнения команды, управляют обработкой прерываний, последовательностью вызываемых задач, вводом/выводом и рядом других процедур.

Показать весь текст
Заполнить форму текущей работой