
- •Лекция 5. Микропроцессорная техника: Обобщенная структура мп
- •5.1.Организация, интерфейс и работа базового 16-разрядного мп семейства 80x86 ( мп i8086)
- •5.1.1.МПi8086 называют базовой моделью мп дляIbmpc, поскольку все последующие модели мп-ров фирмы могут функционировать в реальном режиме как мПi8086. В отличие от 8-разрядного, мп i8086
- •Оперирует 16-разрядными данными и адресами;
- •5.1.2. Организация и работа мп i80386
- •5.1.2. Организация, интерфейс и работа мп Pentium (р5)
- •2). Предвыборка команд и предсказание переходов.
- •3). Раздельные типы кэш-памяти команд и данных.
- •Контрольные вопросы и задания.
Организация ЭВМ и систем Щемелева Т.К.
Лекция 5. Микропроцессорная техника: Обобщенная структура мп
Основные понятия: очередью команд принципа микропрограммования циклом шины Типы циклов шины.
Основные вопросы: 1. Организация, интерфейс и работа базового 16-разрядного МП 8086; 2. МП; 3.
В лекции части I курса АСВТ приведена схема 8-разрядного МП i8080. Эту схему можно рассматривать как обобщенную структурную схему МП, поскольку любой МП содержит все перечисленные в ней узлы (блоки) и связи между ними. Однако примерно каждые 2 года фирма Intel, лидер рынка МП, выпускает новую более сложную модель МП, как правило, программно-совместимую с предыдущей. Рассмотрим кратко развитие семейства МП 80x86, начиная с модели i8086. В этой линии (семействе) моделей , включающей МП-ры 8086,80286,80386,80486 остановимся на 16-ти разрядном МП 8086 и 32-разрядном МП 80386.
5.1.Организация, интерфейс и работа базового 16-разрядного мп семейства 80x86 ( мп i8086)
5.1.1.МПi8086 называют базовой моделью мп дляIbmpc, поскольку все последующие модели мп-ров фирмы могут функционировать в реальном режиме как мПi8086. В отличие от 8-разрядного, мп i8086
Оперирует 16-разрядными данными и адресами;
для программиста ориентирован на сегментную (блочную) организацию памяти, хотя физическая память (ОЗУ и ПЗУ) осталась линейно организованной;
- реализован в виде простейшего обрабатывающего команды конвейера - имеет 2 параллельно работающих блока, выполняющих одновременно разные этапы одной или двух команд (инструкций МП): исполнительный и интерфейсный. Такой конвейер - основа для реализации суперскалярной архитектуры.
Рассмотрим организацию и работу конвейерного МП подробнее.
Исполнительный блок включает АЛУ, Рг флагов, РОН. Интерфейсный блок (блок сопряжения) состоит из блока формирования физического линейного адреса памяти из его составляющих, блока регистров с составляющими адреса, регистры команд – 6 байт, организованные по принципу буфера, называемые очередью команд. Буфер заполняется не по мере выполнения команды, а по мере выталкивания из него очередной команды на исполнение. Именно очередь команд обеспечивает эффективную загрузку исполнительного блока, т.к. при выполнении операции, закодированной в текущей команде, следующая команда расшифровывается в интерфейсном блоке, т.е. становится готовой к выполнению.
Исполнительный и блоки выполняют свои функции одновременно, т.к. они имеют для этого независимые ресурсы (регистры, сумматоры и собственные шины – по одной в каждом блоке, в отличие от 8-разрядного МП с одной внутренней шиной.
Начиная с этой модели МП Intel реализует УУ МП на основе принципа микропрограммования. Суть этого принципа заключается в том, что машинный язык (инструкции) все-таки еще не является той конечной субстанцией, которая физически приводит в действие процессы в ЭВМ. Обычно УУ МП строят в виде блока микропрограммного управления. Такое УУ включает память микропрограмм - внутреннее ПЗУ, где для каждой инструкции хранится набор кодов – микрокоманд с сигналами, инициирующими каждое элементарное действие в МП. Микрокоманды последовательно считываются из ПЗУ для физического выполнения текущей инструкции.
5.1.2. Для разработчиков МП-систем важно понимать, какие процессы (операции) происходят на выводах МП, ведь именно через них происходит обмен информацией МП с другими устройствами. Рассмотрим в сокращенном варианте систему выводов МП (т.н. интерфейс МП)i8086.
Т.к. МП имеет 2 режима работы, на рис.5.1. использованы 2 типа линий: сплошной отмечены и именованы выводы для минимального режима, пунктирной – для максимального режима.
Обратите внимание, выводы МП для адресов и данных являются мультиплексироваными, т.е. разделяются во времени шиной адреса – ША и шиной данных- ШД.
Рисунок 5.1. Система выводов МП i8086
MX/MIN – выбор режима работы МП (некоторые контакты выдают разные управляющие сигналы, разное назначение отдельных линий ШУ);
CLK (Clock) – сигнал тактовой частоты;
RST (Reset) – сигнал сброса;
RDY (Ready) – сигнал готовности (если RDY=0, то МП вводит такт ожидания и не меняет сигналы на своих выводах еще один такт, если RDY=1, то в том же такте будет обмен по ШД);
NMI – немаскируемые прерывания;
INT – вход маскируемых прерываний (разрешено, если флаг IF=1), обычно для сигнала из контроллера прерываний;
INTA – подтверждение прерываний (обычно для контроллера прерываний);
HOLD – захват (МП переводит свои выходы в третье - высокоимпендансное состояние для реализации режима DMA) ;
HLDA – подтверждение захвата для контроллера DMA ;
ALE – строб адреса (указывает на наличие адреса на шине A/D);
DEN – строб данных (указывает на наличие данных на шине A/D);
BHE – сигнал состояние (SЭ – дублирует флаг I); BHE – разрешение старшего байта (указывает, что используется только часть шины ШД, а именно: D15-8);
RD, WR – идентификатор направления передачи по шине данных;
M/IO – идентификатор типа устройства (если 0 – МП обращается к портам, 1 – МП обращается к памяти);
DT/R – DT(данных передача), R(прием данных); функция такая же, как и у RD, WR, различие в моменте появления и продолжительности.
Функционально законченную операцию на внешней шине МП, как правило, для обмена по одной команде и одним элементом данных, называют циклом шины. Число типов циклов шины невелико и для МП i8086 равно 7. Типы циклов и их коды, выставляемые на выводах S0,S1,S2 , приведены в таблице 5.1.
Таблица 5.1 Типы циклов шины МП i8086
.
-
S2
S1
S0
Типы циклов шины МП i8086
0
0
0
цикл подтверждения прерываний
0
0
1
ввод из порта
0
1
0
вывод в порт
0
1
1
останов
1
0
0
выбор команды
1
0
1
чтение памяти
1
1
0
запись в память
1
1
1
не используется