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

5. Максимальный режим работы микропроцессора Intel 8086. Функциональное назначение выводов.

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

S2-S0 (State) - сигналы состояния, содержащие информа­цию о типе выполняемого цикла шины. Сигналы состояния по­даются в контроллер шины, который дешифрует их и формирует расширенный набор управляющих сигналов. Если МП не ини­циирует цикл шины, то сигналы S2-S0 устанавливаются в пас­сивное состояние 111.

QS1-QS0 (Queue State) - состояние очереди. Идентифици­рует состояние внутренней 6-байтовой очереди команд МП и дей­ствует в течение такта синхронизации после выполнения опера­ции над очередью. Сигналы QS1-QS0 предназначены для сопро­цессора, который воспринимает команды и операнды с помощью команды ESC. Сопроцессор контролирует шину AD и фиксирует момент, когда из программной памяти выбирается предназначен­ная для него команда ESC, а затем следит за очередью команд и определяет момент, когда эта команда должна выполняться.

RQ/GT1-RQ/GT0 (Request/Get) - запрос/представление (подтверждение, разрешение). Две одинаковые двунаправленные линии, каждая из которых может использоваться для передачи импульсных сигналов запроса/разрешения доступа к локальной шине (каналу). Процесс доступа к шине осуществляется в сле­дующем порядке:

1. устройство, подключенное к локальной шине и требую­щее доступа к общим ресурсам, формирует запросный (первый) импульс длительностью один такт;

2. в конце текущего цикла МП выдает ответный (второй) импульс, подтверждающий возможность доступа к локальной шине. В следующем такте МП переводит шины адреса/данных и управления в высокоомное состояние и отключается от канала;

3. по окончании работы с каналом устройство выдает на ту же линию импульс (третий), указывающий на окончание захвата канала. В следующем такте МП возобновляет управление шиной и продолжает вычисления.

Все три импульса имеют одинаковую длительность и низ­кий активный уровень. Сигналы на линиях независимы, однако линия RQ/GT0 имеет более высокий приоритет, чем линия RQ/GT1, когда запросы поступают одновременно. Но если на линии RQ/GT0 появляется запрос в то время, когда МП находит­ся в состоянии захвата по сигналу RQ/GT1, то этот запрос захва­та не получает подтверждения до освобождения шины по линии RQ/GT1. Таким образом, каждая из двух рассмотренных линий служит для установления режима захвата шин .

LOCK - блокировка шины, информирует устройства сис­темы, что они не должны пытаться запрашивать шину. Форми­руется однобайтовым префиксом LOCK, располагаемым перед командой, и действует до конца выполнения этой команды, за­прещая доступ к системной магистрали другим устройствам, в частности другим процессорам. При подтверждении запроса шины выходной буфер сигнала LOCK переводится в третье со­стояние. Префикс LOCK не влияет на прерывания.

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

Структура МП содержит три относительно независимые части:

  • операционное устройство, реализующее заданные коман­дой операции;

  • устройство шинного интерфейса, осуществляющее вы­борку команд из памяти, а также обращение к памяти и внешним устройствам для считывания операндов и записи результатов;

  • устройство управления.

Устройства могут работать параллельно, что обеспечивает совмещение во времени процессов выборки и исполнения ко­манд. Это повышает быстродействие МП, так как операционное устройство, как правило, выполняет команды, коды которых уже находятся в МП, и поэтому такты выборки команды не включа­ются в ее цикл.

Операционное устройство МП содержит группу общих регистров, арифметико-логическое устройство (АЛУ) и регистр флагов F.

Восемь 16-битовых регистров общего назначения участву­ют во многих командах.

В соответствии с основным назначением рассматриваемых регистров выделяют регистры АХ, ВХ, СХ, DX, используемые прежде всего для хранения данных, и регистры SP (Stack Pointer), BP (Branch Pointer), SI (Stack Index), DI (Data Index), которые хранят главным образом адресную информацию. Осо­бенностью регистров АХ, ВХ, СХ, DX является то, что они до­пускают раздельное использование их младших байтов AL, BL, CL, DL и старших байтов АН, ВН, СН, DH. Тем самым обеспе­чивается возможность обработки как слов, так и байтов и соз­даются необходимые условия для программной совместимости с МП 8080. Все остальные регистры являются неделимыми и оперируют 16-битовыми словами, даже в случае использования только старшего или младшего байта. Указательные регистры SP и BP хранят смещение адреса в пределах текущего и стекового сегмента памяти, а индексные регистры SI и DI хранят смеще­ние адреса соответственно в текущем сегменте данных и в те­кущем дополнительном сегменте. Однако при использовании этих регистров для адресации операндов возможна смена сег­ментов памяти.

Кроме основных функций, соответствующих названию регистров, общие регистры выполняют и ряд специальных функций.

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

К АЛУ примыкает регистр флагов F (рис. 2.3). Его млад­ший байт FL полностью соответствует регистру флагов МП Intel 8080, а старший байт FH содержит четыре дополнительных фла­га. Шесть арифметических флагов фиксируют определенные признаки результата выполнения операции (арифметической, ло­гической, сдвига или загрузки регистра флагов). Значения этих флагов (кроме флага AF) используются для реализации условных переходов, изменяющих ход выполнения программы. Различные команды влияют на флаги по-разному.

Рис. 2.3. Формат регистра флагов F

Назначение арифметических флагов:

CF (Carry Flag) - флаг переноса.

PF (Parity Flag) - флаг четности (или паритета).

AF (Additive Flag) - флаг вспомогательного переноса, фик­сирует перенос (заем) из младшей тетрады в старшую при сло­жении (вычитании.

ZF (Zero Flag) - флаг нуля.

SF (Sign Flag) - флаг знака.

OF (Overflow Flag) - флаг переполнения.

Для управления некоторыми действиями МП предназначе­ны три дополнительных флага.

DF (Direct Flag) - флаг направления, управляемый коман­дами CLD и STD; определяет порядок обработки цепочек в соот­ветствующих командах: от меньших адресов (DF = 0) или от больших (DF = 1).

IF (Interrupt Flag) - флаг разрешения прерываний, управ­ляемый с помощью команд CLI и STI; при IF = 1 микропроцес­сор воспринимает и соответственно реагирует на запрос прерывания по входу INTR; при IF = 0 прерывания по этому входу запрещаются (маскируются) и МП игнорирует по­ступающие запросы прерываний.

TF (Trace Flag) - флаг трассировки (прослеживания). При TF = 1 МП переходит в покомандный (пошаговый) режим рабо­ты, применяемый при отладке программ, когда автоматически генерируется сигнал внутреннего прерывания типа 1 после вы­полнения каждой команды с целью перехода к соответствующей подпрограмме, которая обычно обеспечивает индикацию содер­жимого внутренних регистров МП.

Управляющее устройство (УУ) дешифрует команды, а также воспринимает и вырабатывает необходимые управляющие сигналы. В его состав входит блок микропрограммного управле­ния, в котором реализовано программирование МП на микроко­мандном уровне.

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

Очередь команд представляет собой набор байтовых реги­стров и выполняет роль регистра команд, в котором хранятся ко­ды, выбранные из программной памяти. Длина очереди состав­ляет 6 байт, что соответствует максимально длинному формату команд. Наличие очереди команд, а также способность операци­онного устройства и шинного интерфейса работать параллельно позволяют совместить во времени фазы выборки команды и вы­полнения заданной операции: пока одна команда исполняется в операционном устройстве, шинный интерфейс осуществляет выборку следующей команды. Таким образом, достигаются вы­сокая плотность загрузки шины и повышение скорости выпол­нения программы.

Буфер шины адреса/данных (БАД) содержит 16 двуна­правленных управляемых усилителей с тремя выходными со­стояниями и обеспечивает номинальную нагрузочную способ­ность линий AD15-AD0.

Буфер шины адреса/состояния (БАС) содержит четыре однонаправленных усилителя с тремя выходными состояниями и обеспечивает номинальную нагрузочную способность линий A19/S6-A16/S3.

Сегментные регистры хранят базовые (начальные) адреса сегментов памяти: кодового сегмента CS (Code Segment), в кото­ром содержится программа; стекового сегмента SS (Stack Seg­ment); сегмента данных DS (Data Segment); дополнительного сегмента ES (Extended Segment), в котором обычно содержатся данные. Наличие сегментных регистров обусловлено разделением памяти на сегменты и используемым способом формирования адресов памяти.

Сумматор адресов осуществляет вычисление 20-битовых физических адресов путем суммирования смещения и содержи­мого соответствующего сегментного регистра, которое дополня­ется четырьмя нулевыми младшими разрядами.

Указатель команд IP (Instruction Pointer) хранит смещение следующей команды в текущем кодовом сегменте, т.е. указывает на следующую по порядку команду.