Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_з_1.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2.57 Mб
Скачать

9.1. Аппаратная модель процессора 8086

Выполнение программы в ЭВМ представляет собой циклическую последовательность приведенных ниже действий, образующих цикл команды:

  1. Формирование адреса следующей по порядку команды.

  2. Выборка команды из памяти (чтение команды из памяти и занесение её в регистр команд МП).

3. Декодирование команды (анализ команды с целью выяснения типа подлежащей выполнению операции и операндов).

4. Считывание операнда из памяти, если это требуется по смыслу команды.

5. Собственно выполнение команды (выполнение операции, указанной в команде).

6. Запись результата в память, если это указано в команде, и переход к новому циклу команды.

Обычно в микропроцессоре эти действия выполняются последовательно во времени. В процессоре 8086 основные этапы сохранены, но они распределены внутри процессора по двум сравнительно независимым устройствам. Операционное устройство выполняет команды, а устройство шинного интерфейса выбирает команды, считывает операнды и записывает результаты. Оба устройства могут работать параллельно и в большинстве случаев обеспечивают значительное совмещение выборки и выполнения команд. В результате этого время выборки команды как-бы "исчезает" из цикла команды, так как операционное устройство выполняет команды, уже выбранные шинным интерфейсом из оперативной памяти (для их временного хранения в схеме процессора есть внутренняя регистровая память, называемая очередью (буфером) команд).

Операционное устройство содержит группу общих регистров, арифметико-логическое устройство (АЛУ), основу которого составляет комбинированный 16-разрядный сумматор с последовательно-параллельным переносом, регистр флажков и несколько регистров для временного хранения операндов и результата операции. Оно выполняет команды, обменивается данными и адресами с шинным интерфейсом, оперирует общими регистрами и флажками. В его составе имеется блок микропрограммного управления, который дешифрует команды и формирует необходимые управляющие сигналы. Операционное устройство изолированно от внешней шины, за исключением нескольких внешних сигналов.

Шинный интерфейс выполняет для операционного устройства все операции обмена. Данные передаются между процессором и памятью или портами ввода-вывода по запросам операционного устройства. Когда операционное устройство занято выполнением команды, шинный интерфейс самостоятельно инициирует опережающую выборку из памяти очередных команд. Команды хранятся во внутренней регистровой памяти, называемой очередью (буфером) команд.

Рис.9.1. Аппаратная модель процессора 8086

Очередь команд выполняет по существу функции регистра команды процессора. Длина очереди составляет 6 байт. Очередь команд работает по принципу FIFO ("первым пришел, первым вышел"), который сохраняет на выходе порядок поступления команд. Шинный интерфейс инициирует выборку из памяти следующего командного слова, когда в очереди оказываются два свободных (пустых) байта.

В большинстве случаев очередь команд содержит минимум один байт потока команд, и поэтому операционное устройство не ожидает выборки очередной команды. Конечно, очередь обеспечивает положительный эффект при естественном порядке выполнения команд. Когда операционное устройство выполняет команду передачи управления, шинный интерфейс сбрасывает очередь, выбирает команду по новому адресу, передает ее в операционное устройство, а затем начинает заполнение очереди из следующих ячеек памяти. Эти действия выполняются при словных и безусловных переходах, вызовах подпрограмм, возвратах из подпрограмм и при обработке прерываний. Шинный интерфейс приостанавливает выборку команд, когда операционное устройство запрашивает операцию считывания или записи в память или порт ввода-вывода.

В состав шинного интерфейса входят несколько регистров и сумматор, которые формируют 20-разрядный физический адрес памяти из двух 16-разрядных логических адресов: сегмента (базы) и смещения. При готовности операционного устройства выполнять команду оно считывает из очереди байт, а затем выполняет предписанную командой операцию. При многобайтных командах из очереди считываются и другие байты команды. Когда операционное устройство готово считать командный байт, а очередь команд пуста, оно ожидает выборки командного слова из памяти программ, которую производит шинный интерфейс. Если команда требует обращения к памяти или порту ввода-вывода, операционное устройство запрашивает шинный интерфейс на выполнение необходимого цикла шины. Когда шинный интерфейс не занят выборкой команды, он удовлетворяет запрос немедленно; в противном случае операционное устройство ожидает завершения текущего цикла шины.