Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцесоры_Ответы.docx
Скачиваний:
20
Добавлен:
17.03.2016
Размер:
1.98 Mб
Скачать

6.1.2. Структура процесору i8086. Виконавчий модуль.

Упрощенная структурная схема МП Intel 8086 и его условное обозначение представлены на рис. 2.2.

Рис. 2.1. Упрощенная структурная схема МП Intel 8086 (а) и его условное обозначение (б)

Микропроцессор включает два основных асинхронно работающих устройства: блок выполнения команд (Execution Unit) и блок сопряжения с шиной (Bus Interface Unit). В функции блока выполнения команд входит декодирование и выполнение команд, а в функции блока сопряжения с шиной - извлечение из памяти кода команд и их операндов, а также запись результатов в память. Блоки могут работать независимо друг от друга, и процессы преоб­разования и передачи информации в них могут идти параллельно.

Функционально микросхема разделена на два независимых блока. дин из них называется блоком сопряжения с магистралью (рис.1.3) (Bus interface unit BIU), другой блок называется исполнительным (Execution unit EU).Блок сопряжения с магистралью выполняет две функции:

- выборка команд из памяти;

- пересылка данных между исполнительной аппаратурой и внешним миром.

Рис.3.1. Функциональная архитектура МП 8086/8088

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

Регистры сегментов МП 8086/8088 содержат 16 разрядов и носят название CS (code segment – сегмент программы), DS (date segment сегмент данных), SS (stack segment – сегмент стека) и ES (extra segment – дополнительный сегмент).

Блоки BIU и EU работают независимо. Блок BIU осуществляет выборку команд и пересылку данных, а EU выполняет выбранные команды. Такое разделение функций стало возможным за счет использования конвейера (очереди) команд. Блок сопряжения с магистралью заполняет конвейер командами, ожидающими выполнения. В то время как исполнительный блок заканчивает выполнение текущей команды, следующая команда уже подготовлена для выполнения. В случае перехода конвейер сбрасывается. Конвейер BIU в МП 8086 хранит до 6 байт, а 8088- до 4 байт потока команд.

Исполнительный блок не имеет связи с системной магистралью. ЕU получает команда из очереди. Если команда требует обращения к памяти или внешней магистрали, EU посылает запрос ВIU на выборку или запись данных. Адреса, с которыми оперирует EU имеет 16 разрядов, но BIUвыполняет преобразование адресов так, чтобы EU мог обратиться ко всему возможному адресному пространству (1Мбайт) памяти

Исполнительный блок состоит из 16-разрядного арифметико-логического устройства (АЛУ), регистров, операндов и флагов, а также набора регистров общего назначения АН, АL, ВН, BL, СН, CL, DН, DL. Регистры АН и AL объединяются в регистр-аккумулятор АХВН и BL образуют регистр базы ВХСН и CL образуют регистр-счетчик СХ и DL образуют регистр данных DX.

К регистрам общего назначения можно адресоваться как к 8- или 16-разрядным. Это позволяет программам для 8-разрядного МП 8080 выполняться на МП 8086/8088 после повторной трансляции. МП 8086/8088 может адресовать до 1 Мбайта памяти (1048576 байт). Каждому адресу назначен уникальный адрес (беззнаковое число от 0 до 2020- 1 (от 00 000 до FFFFF в шестнадцатеричной системе счисления). Два соседних байта в памяти образуют слово. За адрес слова принимается меньший из двух адресов байтов, слово состоит из 16 бит. Младшие биты слова содержатся в адресе байта с меньшим адресом, а старшие биты слова - в байте со старшим адресом.

В МП-8086 обмен данными между процессором и памятью осуществляется словами, начинающимися с адресов, кратных двум.

Кроме байт и слов МП 8086/8088 оперирует следующими дополнительными типами данных:

  1. Неупакованный двоично-десятичный тип - байтовое представление .десятичной цифры от 0 до 9.

  2. В каждом байте хранится по одной цифре. Значение цифры определяется младшим полубайтом. Старший полубайт равен 0 при делении и умножении и принимает любое значение при вычитании и сложении.

  3. Ближний указатель - 16-разрядный логический адрес, который представляет собой относительный адрес внутри сегмента.

  4. Дальний указатель-- 32-разрядный логический адрес из двух компонентов 16-разрядного сегмента и 16-разрядного относительного адреса.

  5. Целый тип - знаковое двоичное значение, содержащееся в 16-разрядном слове или 8-разрядном байте. Все операции выполняются в дополнительном коде. Бит знака расположен в бите 7 байта и в бите 15 слова. Знаковый бит равен 0 для положительного слова и в равен 1 - для отрицательного. Для 8-разрядных целых чисел диапазон изменения от -128 до +127,. а 16-разрядных в диапазоне от -32768 до +32767. Нулевое значение имеет положительный знак.

  6. Обычный (беззнаковый) тип -беззнаковое двоичное значение содержащееся в 16-разрядном слове или 8-разрядном байте. Все биты определяют величину числа. Значение для байта составляет от 0 до 255, для слова - от 0 до 65535.

  7. Строка - непрерывная последовательность байт или слов. Строка может содержать от 0 до 216 - 1 байт или 64 Кбайта.