Режимы обмена в микропроцессорной системе
Наиболее простой — программно-управляемый обмен. В этом режиме взаимодействие МП с ВУ осуществляется по инициативе МП в процессе выполнения основной программы. Имеются ВУ двух типов: всегда готовые к обмену и не всегда готовые к обмену. В первом случае обмен осуществляется без задержки. Во втором — МП вынужден ожидать готовности устройства к обмену. При этом программа не выполняется, МП ждет… Читать ещё >
Режимы обмена в микропроцессорной системе (реферат, курсовая, диплом, контрольная)
В процессе работы в микропроцессорной системе постоянно происходит обмен информацией между МП и внешними устройствами. При этом возможны три режима обмена:
- • программно-управляемый обмен;
- • обмен, но инициативе ВУ с прерыванием работы МП;
- • обмен между ВУ и памятью в режиме прямого доступа к памяти.
Наиболее простой — программно-управляемый обмен. В этом режиме взаимодействие МП с ВУ осуществляется по инициативе МП в процессе выполнения основной программы. Имеются ВУ двух типов: всегда готовые к обмену и не всегда готовые к обмену. В первом случае обмен осуществляется без задержки. Во втором — МП вынужден ожидать готовности устройства к обмену. При этом программа не выполняется, МП ждет появления сигнала готовности ВУ к обмену, и только после его появления выполняет операцию обмена. Так как МП в это время не выполняет полезной работы, а его быстродействие гораздо выше быстродействия ВУ, такой режим обмена сопряжен с непроизводительными потерями времени.
Обмен по инициативе ВУ с прерыванием работы МП более производительный, так как время ожидания МП исключается. При своей готовности к обмену ВУ сообщает об этом МП специальным сигналом запроса прерывания. Процессор завершает выполнение текущей команды программы, выдает сигнал подтверждения прерывания и переходит к выполнению подпрограммы обмена с ВУ. Эта подпрограмма носит название подпрограммы обслуживания прерывания. Чтобы начать выполнение подпрограммы достаточно адрес ее первой команды загрузить в ПС. Но в результате выполнения программы содержимое всех внутренних регистров МП уже не будет соответствовать тому, что было в момент прерывания. Поэтому возникает необходимость сохранения состояния МП на момент прерывания в оперативной памяти, чтобы можно было вернуться к прерванной основной программе. Для этого в микропроцессорных системах используется так называемая стековая память. Стек — это область памяти, запись в которую и считывание осуществляется по принципу «последний пришел — первый ушел». Процесс функционирования стека напоминает работу с пачкой документов, когда каждый новый документ кладется сверху пачки, т. е. самый первый по времени поступления документ оказывается в самом низу пачки и его рассмотрение происходит в последнюю очередь, в то время как последний документ рассматривается в первую очередь. Точно так же в стековую память осуществляется загрузка данных. При переходе от текущей программы к программе обслуживания прерывания содержимое некоторых адресных регистров МП заносится в стековую память автоматически. Запись содержимого остальных регистров должна быть предусмотрена в начале программы обслуживания прерывания с помощью специальных команд работы со стеком. При этом в конце программы должны стоять команды, обеспечивающие восстановление состояния регистров МП. Порядок, в котором осуществляется извлечение содержимого регистров из стековой памяти и запись его обратно в регистры, соответствует принципу «последний пришел — первый ушел» .
Для работы со стековой памятью в МП есть специальный регистр — указатель стека (УС). Этот регистр всегда содержит адрес «верхней» (по аналогией со стопкой документов) загруженной ячейки стека, называемой вершиной стека. На рис. 4.10 показаны процессы записи и извлечения данных из стека.
Рис. 4.10. Процессы записи данных в стек и извлечения из стека.
При включении слова данных в стек происходит автоматическое уменьшение содержимого УС на единицу, а приизвлечении — увеличение на единицу. Таким образом, при работе со стековой памятью МП не нужно вычислять адрес ячейки памяти, так как он всегда имеется в УС.
Причиной прерывания в микропроцессорных системах может быть не только готовность медленно действующего ВУ к обмену. Прерывание может быть вызвано действиями оператора, когда возникает необходимость вмешаться в ход управляемого процесса. В режиме прерывания осуществляется также работа МП с различными технологическими устройствами и системами в случае возникновения аварийных ситуаций.
Режим обмена внешнего устройства с памятью в режиме прямого доступа к памяти (ПДП) используется при передаче больших объемов информации. Например, в режиме ПДП осуществляется передача информации между ОЗУ и внешней памятью. Если бы такой обмен осуществлялся под управлением МП, то каждое слово данных сначала необходимо было прочитать из памяти и поместить его в МП, и только затем из МП передать приемнику — регистру ВУ. Такой обмен потребовал бы слишком больших непроизводительных затрат времени. В режиме ПДП происходит передача данных между памятью и ВУ без участия процессора. При этом МП отключается от шин адреса и данных и весь процесс обмена осуществляется под управлением специального контроллера ПДП. Происходит временный захват системных шин со стороны ВУ, памяти и контроллера ПДП. Режим ПДП начинается с того, что ВУ сигнализирует процессору о своем «желании» начать обмен с памятью выдачей сигнала запроса захвата шин. Если процессор разрешает такой обмен, он выдает сигнал разрешения захвата, отключается от системных шин и передает управление контроллеру ПДП. В режиме ПДП выдача данных на ШД источником и считывание их с ШД приемником происходит в одном цикле записи/чтения. За счет устранения одного лишнего цикла записи/чтения значительно увеличивается теми передачи данных.