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

2) Режимы обмена информации с внешними устройствами

Программный обмен происходит по инициативе МП и под управлением программы. Обмен информацией в МПС происходит в циклах обмена информацией (или циклах обращения к магистрали.). Под циклом обмена информацией понимается временной интервал, в течение которого происходит выполнение одной элементарной операции обмена по шине.

Цикл обращения к магистрали - машинный цикл - является неделимой функцией МПС. Циклы обмена информацией делятся на два основных типа:

  • Цикл записи (вывода), в котором процессор записывает (выводит) информацию в память или ВУ;

  • Цикл чтения (ввода), в котором процессор читает (вводит) информацию из памяти или ВУ.

Во время каждого цикла устройства, участвующие в обмене информацией, передают друг другу информационные и управляющие сигналы в строго установленном порядке или, как еще говорят, в соответствии с принятым протоколом обмена информацией.

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

Команда может быть выполнена за один или несколько циклов обращения к магистрали.

Самые главные управляющие сигналы — это стробы обмена, то есть сигналы, формируемые процессором и определяющие моменты времени, в которые производится пересылка данных по шине данных, обмен данными. Чаще всего в магистрали используются два различных строба обмена:

  • Строб записи (вывода), который определяет момент времени, когда устройство - исполнитель может принимать данные, выставленные процессором на шину данных;

  • Строб чтения (ввода), который определяет момент времени, когда устройство-исполнитель должно выдать на шину данных код данных, который будет прочитан процессором. При этом большое значение имеет то, как процессор заканчивает обмен в пределах цикла, в какой момент он снимает свой строб обмена. При этом возможны два варианта программного обмена: синхронный и асинхронный.

  • При синхронном обмене процессор заканчивает обмен данными самостоятельно, через раз и навсегда установленный временной интервал выдержки (tвыд), то есть без учета интересов устройства-исполнителя;

  • При асинхронном обмене процессор заканчивает обмен только тогда, когда устройство-исполнитель подтверждает выполнение операции специальным сигналом

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

Достоинстваасинхронного обмена — более надежная пересылка данных, возможность работы с самыми разными по быстродействию исполнителями. Недостаток — необходимость формирования сигнала подтверждения всеми исполнителями, то есть дополнительные аппаратные затраты.

а б

Рис. 2.2. Алгоритмы синхронного (а) и асинхронного (б) обмена

а б

Рис. 2.3. Протоколы синхронного и асинхронного обмена

Для уменьшения времени на ожидание применяют обмен с ВУ по прерыванию, для увеличения скорости передачи больших объемов информации применяют обмен в режиме прямого доступа к памяти (ПДП).

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

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

Типы прерываний. Различают прерывания внешние и внутренние. Внешние прерывания вырабатываются ВУ, требующими обслуживания. Внутренние прерывания вырабатываются различными встроенными в МК устройствами, например, таймерами- счетчиками, АЦП, последовательными портами и т.д. Прерывания могут быть немаскируемыми и маскируемыми.

Немаскируемые прерывания не могут быть запрещены выполняемой программой. Запросы на такие прерывания подаются на специальный вход МП - вход немаскируемых прерываний. Они обслуживаются немедленно вне зависимости от важности выполняемой в данный момент времени программы.

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

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

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

Рис. 3.2. Временные диаграммы обмена в режиме прерывания в системах с одинаковыми приоритетами (а) и различными приоритетами ВУ (б)

Глубина прерывания обычно совпадает с числом уровней приоритета в системе прерываний. На рис. 3.2 показан обмен в режиме прерывания в системах с единичной глубиной прерывания (а) и с различной глубиной прерывания (б) в предположении, что приоритет каждого следующего запроса выше предыдущего.

В первом случае появление каждого следующего сигнала «2», »3» и т. д. запроса прерывания не влияет на алгоритм работы системы - МП продолжает выполнение программы обработки предыдущего прерывания до ее завершения. Только после этого он приступает к обработке следующей программы обработки прерывания.

Во втором случае обработка текущей программы прерывается в случае, если на вход системы поступает сигнал запроса прерывания от устройства с более высоким приоритетом, чем приоритет текущей программы. Так, например, сигнал запроса прерывания «2» (рис. 3.2,б) ВУ более высокого приоритета, чем приоритет МПС, ведет к прерыванию текущей программы и началу обработки программы обслуживания прерывания ВУ, выставившего запрос «2». Аналогично обслуживается сигнал «3» от ВУ, имеющего более высокий приоритет, чем ВУ, пославшего сигнал «2». После обработки программ «3» и »2» МП возвращается в ранее прерванную программу «1».

Прямой доступ к памяти используется в случаях, когда нужно быстро передавать большие массивы информации из ВУ в память и обратно. При обмене с медленнодействующими ВУ и передачах больших массивов информации двухступенчатая процедура (из ВУ в МП, затем из МП в память) при программном обмене существенно снижает скорость обмена, то есть ведет к снижению быстродействия МПС в целом. В связи с этим используется метод обмена, при котором запись информации в память из ВУ или считывание информации из памяти во ВУ происходит непосредственно без участия МП. Такой вид обмена получил название обмена в режиме прямого доступа к памяти (ПДП). Когда информация готова, то из ВУ (рис. 3.3.) поступает запрос прямого доступа к памяти (ЗПД). Контроллер прямого доступа к памяти (КПДП) подает сигнал на МП запрос захвата (ЗЗ).

МП в ответ на этот запрос отключается из СШ, переходит вz-состояние (третье состояние, состояние высокого сопротивления), и подает сигнал ПЗ – подтверждение захвата и перестает быть активным управляющим элементом. Цикл (циклы) ПДП начинаются после подачи сигнала «Разрешение прямого доступа» (РПД). КПДП становится активным и вырабатывает управляющие сигналы для осуществления обмена между памятью и ВУ, после чего МП вновь восстанавливает свое состояние. БИС.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]