Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕМА 2 - для студентов.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
140 Кб
Скачать
☆

2.2 Структура центрального процессора Intel 8086

Рассмотрим структуру центрального процессора Intel 8086 (1978 год).

Структуру центрального процессора Intel 8086 можно разделить на два логических блока (рис.3):

  • блок исполнения (EU:Execution Unit);

  • блок интерфейса шин (BIU:Bus Interface Unit).

В состав блока исполнения входят: арифметическо-логическое устройство ALU, устройство управления CU и десять регистров. Устройства блока исполнения обеспечивают обработку команд, выполнение арифметических и логических операций.

Блок интерфейса шин включает устройство управления шинами, блок очереди команд, регистры сегментов и предназначен для выполнения следующих функций:

  • управление обменом данными с блоком исполнения, памятью и внешними устройствами ввода/вывода;

  • адресация памяти;

  • выборка команд (осуществляется с помощью блока очереди команд Queue, который позволяет выбирать команды с упреждением).

Рис. 1. Структура микропроцессора Intel 8086

Регистры – участки высокоскоростной памяти для хранения данных в процессоре, они непосредственно подключены к блоку управления и АЛУ, поэтому доступ из этих блоков к регистрам происходит значительно быстрее, чем доступ к внешней памяти.

Регистры процессора имеют различное назначение.

1. Регистры общего назначения – это 16-разрядные регистры ах, вх, сх, dx, каждый из которых состоит из двух 8-разрядных регистров, например, ах состоит из ан (старшая часть) и al (младшая часть).

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

  • регистр АХ служит для временного хранения данных (регистр аккумулятор), часто используется при выполнении операций сложения, вычитания, сравнения и других арифметических и логических операций;

  • регистр ВХ служит для хранения адреса некоторой области памяти (базовый регистр), а также используется как вычислительный регистр;

  • регистр СХ иногда используется для временного хранения данных, но в основном служит счетчиком, в нем хранится число повторений одной команды или фрагмента программы;

  • регистр DX используется главным образом для временного хранения данных, часто служит средством пересылки данных между разными программными системами, а также используется в качестве расширителя аккумулятора для вычислений повышенной точности и при умножении и делении. Если при сложении чисел получается, что результат имеет большую разрядность чем слагаемые, то возможно хранение старших разрядов в регистре DX.

2. Регистры указатели – это 16-разрядные регистры вр (указатель базы), si (индекс источника), di (индекс результата), sp (указатель стека), ip (указатель команд).

Регистры SI, DI используются в цепочечных операциях и предназначены для хранения текущего адреса элемента в цепочке-источнике или цепочке-приемнике соответственно.

ПРИМЕР: Регистр SI - индекс отправителя (источника). Пусть есть блок данных в ОП из 10 байт. Нам надо эти данные просто прочитать. Для этого мы регистру BX присвоим адрес первого байта. Потом организуем цикл, в котором будем наращивать SI от 0 до 9. мы сможем последовательно получить адреса десяти байтов данных, формируя адрес как ВХ+SI. Регистр DI может быть использован аналогично, но обычно его используют для того, чтобы получить адрес ячейки памяти, в которую необходимо поместить данные.

Регистр SP определяет смещение текущей вершины стека, то есть содержит число, показывающее на сколько адресов (один адрес – это один байт или одна ячейка памяти) смещен последний помещенный в стек элемент от начала стека. Если стек пуст, то регистр SP содержит число, равное количеству байт, выделенных под стек, то есть значение регистра SP указывает на последний байт сегмента стека. При занесении элемента в стек процессор уменьшает значение регистра SP, а затем записывает элемент по адресу новой вершины. При извлечении элемента из стека процессор копирует элемент, расположенный по адресу вершины стека, а затем увеличивает значение регистра SP. Таким образом, стек растет в сторону уменьшения адресов. Изменение значения регистра SP происходит на величину 2, т.е. в стек записываются и из стека извлекаются 2 байта (16 бит). Указатель стека SP вместе с сегментным регистром стека SS используется для формирования физического адреса стека.

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

Регистр BP предназначен для организации произвольного доступа к данным внутри стека (и заполняется самим пользователем). Например, очень часто передача параметров из основной программы в подпрограмму организуется путем помещения передаваемых параметров в стек. Если в самой подпрограмме ведется активная работа со стеком, то можно сохранить указатель на вершину стека (значение регистра SP) в регистре BP, для того, чтобы в дальнейшем можно было обратиться к тому “кадру” стека, в котором содержались переданные через стек в подпрограмму параметры

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