Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / I8086.DOC
Скачиваний:
89
Добавлен:
21.02.2014
Размер:
73 Кб
Скачать

Назначение выводов микропроцессора к1810вм86

Ниже используются следующие соглашения об обозначении выводов микросхемы процессора. Если вывод микросхемы имеет два названия, разделенных слэшем (/), например A19/ST6, то этот вывод является мультиплексированным. Если же второе название вывода помещено в круглые скобки, например ALE (QS0), то первое название относится к минимальному режиму работы микропроцессора, а второе - к максимальному. Инверсия вывода обозначается символом ‘#’, например RD# - инверсный выход строба чтения RD.

Микропроцессор К1810ВМ86 имеет выводы (рис. ):

  • AD(15-0) - мультиплексированная двунаправленная шина адреса/данных. В первом такте шинного цикла (обращение к памяти или ВВ) микропроцессор выдает на эту шину младшие 16 битов адреса памяти или полный адрес порта ВВ. Этот адрес должен быть сохранен во внешнем регистре - защелке по стробу ALE. Во второй половине шинного цикла по линиям AD(15-0) передаются данные или байты считываемых команд, сопровождаемые стробом DEN;

  • A19/ST6..A16/ST3 - мультиплексированные выходные линии адреса состояния. В первом такте шинного цикла на эти линии выдаются старшие 4 бита адреса памяти, а при адресации ВУ - нули. В остальных тактах шинного цикла микропроцессор выдает на эти линии сигналы состояния ST(6-3). Код на линиях ST4, ST3 определяет сегментный регистр, участвующий в формировании физического адреса памяти:

ST4 ST3

Сегментный регистр

0 0

ES

0 1

SS

1 0

CS

1 1

DS

При обращении к ВУ, когда сегментные регистры не участвуют в формировании адреса, устанавливаются значения ST4 = 1, ST3 = 0 (CS).

Сигналы ST4,ST3 можно использовать для расширения адресного пространства системы до 4 Мб, назначая каждому сегменту отдельный банк памяти емкостью в 1 Мб.

Сигнал ST5 соответствует состоянию флага прерываний микропроцессора ВМ80А. Сигнал ST6 не используется и всегда равен 0;

  • BHE#/ST7# - разрешение старшего байта (Byte High Enable), формируемый в первом такте шинного цикла. Активный сигнал BHE# = 0 означает, что по старшей половине шины AD(15-8) передаются данные. Этот сигнал должен защелкиваться во внешнем регистре по стробу ALE и используется как дополнительный адресный выход, определяющий доступ к старшему банку памяти либо к ВУ с байтовой организацией, подключенному к старшей половине шины AD.

Совместное использование сигналов BHE# и A0 для дешифрации адресов позволяет осуществить передачу слов или байтов данных по различным половинам шины AD:

BHE#

A0

Разрядность данных

0

0

Слово

0

1

Старший байт (нечетный адрес)

1

0

Младший байт (четный адрес)

1

1

Нет обращения

После окончания сигнала BHE# в следующих тактах шинного цикла на выход выдается резервный сигнал состояния ST7#, не имеющий определенного назначения;

  • ALE (QS0) - в минимальном режиме строб адреса;

  • INTA# (QS1) - в минимальном режиме подтверждение запроса на прерывание. Сигнал выполняет функцию строба считывания RD# в цикле подтверждения прерывания, стробируя считывание вектора прерывания (при подтверждении прерывания ВМ86 выдает два строба INTA#, из которых первый строб является предварительным и не сопровождается передачей информации по шине данных).

В максимальном режиме сигналы QS(1-0) определяют состояние очереди команд:

QS1

QS2

Операция над очередью

0

0

Операции нет, в последнем такте не было выборки из очереди команд

0

1

Из очереди выбран первый байт команды

1

0

Очередь пуста или была опустошена командой передачи управления

1

1

Из очереди выбран следующий байт команды

Сигналы QS(1-0) предназначены для сопроцессора, который воспринимает команды и операнды по команде ESC. Сопроцессор постоянно контролирует шину AD и фиксирует момент, когда из программной памяти начинает выбираться команда ESC, а затем следит за очередью команд, определяя момент, когда нужно начать выполнение этой команды;

  • READY - входной сигнал готовности. При READY = 0 МП переходит в состояние ожидания, в котором между тактами Т3 и Т4 вставляются такты ожидания Tw до тех пор, пока на входе READY не появится логическая 1;

  • TEST# - проверка, используется вместе с командой ожидания WAIT, выполняя которую микропроцессор проверяет уровень сигнала на входе TEST#. Если TEST# = 0, то МП выполняет следующую команду программы, при TEST# = 1 микропроцессор вводит холостые такты Т1 и периодически, с интервалом 5Т, снова проверяет состояние входа TEST#. Вход TEST# - это вход программной проверки готовности ВУ, а вход READY - вход аппаратной проверки готовности ВУ;

  • CLK - вход тактовой синхронизации (Т = 200..500 нс);

  • RESET - сброс. Переводит микропроцессор в начальное состояние, в котором сброшены все сегментные регистры (кроме CS, все разряды которого устанавливаются в логическую 1), указатель команд IP, флаги, регистры очереди команд и все внутренние триггеры в устройстве управления. Сигнал RESET не влияет на состояние регистров общего назначения. На время действия сигнала RESET все выходы, имеющие третье состояние, переводятся в него, а выходы с двумя состояниями становятся пассивными. Минимальная длительность сигнала RESET должна составлять 50 мкс, а при повторном сбросе - 4 такта синхронизации. По завершении состояния RESET работа микропроцессора возобновляется из начального состояния;

  • MN/MX# - вход, задающий режим работы МП (минимальный или максимальный);

  • ST#(2-0) - выходы, определяющие тип выполняемого в данный момент шинного цикла:

ST2

ST1

ST0

Тип шинного цикла

0

0

0

Подтверждение прерывания

0

0

1

Чтение внешнего устройства

0

1

0

Запись в ВУ

0

1

1

Останов

1

0

0

Выборка команды

1

0

1

Чтение памяти

1

1

0

Запись в память

1

1

1

Нет цикла

Сигналы состояния подаются в системный контроллер, который дешифрирует их и формирует расширенный набор управляющих сигналов. Сигнал ST2# логически эквивалентен сигналу M/IO# микропроцессора ВМ85, а ST1# - сигналу DT/R#;

  • HLDA (RQ#/GT0#), HOLD (RQ#/GT1#) - запрос/разрешение захвата. В минимальном режиме на вход HOLD подается запрос на захват шины, выходной сигнал HLDA - подтверждение захвата. В максимальном режиме эти вводы образуют две одинаковые двунаправленные линии, каждая из которых может использоваться для передачи импульсных сигналов запроса/разрешения доступа к локальной шине со стороны сопроцессора. Процесс доступа сопроцессора к шине осуществляется следующим образом:

  1. Устройство, подключенное к локальной шине и требующее доступа к общим ресурсам, формирует первый запросный импульс RQ#/GT# длительностью Т;

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

  3. В следующем такте МП переводит шины адреса/данных и управления в третье состояние и отключается от канала;

  4. По окончании работы с локальной шиной устройство выдает на ту же линию третий импульс, указывающий на окончание захвата шины;

  5. В следующем такте МП возобновляет управление шиной и продолжает работу по программе.

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

  • WR# (LOCK#) -строб записи (блокировка шины). В минимальном режиме сигнал WR# используется в качестве строба записи в память или ВУ. В максимальном режиме выходной сигнал LOCK# информирует устройства системы, что они не должны запрашивать шину.

Сигнал LOCK# формируется однобайтовым префиксом LOCK перед критичной командой программы и действует до конца выполнения этой команды, запрещая доступ к шине другим устройствам, в частности, другим процессорам. Если при наличии блокировки внешнее устройство запрашивает шину по линиям RQ#/GT#, то МП фиксирует поступивший запрос, но не подтверждает его до завершения команды, имеющей префикс LOCK.

Префикс LOCK можно использовать и в минимальном режиме, когда внешний сигнал блокировки отсутствует. В этом случае генерирование сигнала подтверждения HLDA на запрос HOLD задерживается до завершения критичной команды.

Соседние файлы в папке лекции