Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 47
Текст из файла (страница 47)
После выполнения командой К4 операции умножения яг у (лТ вЂ” Т) команда К5 накапливает этот результат в регистре 17, Затем команда К8 производит умножение лад Ху (лТ вЂ” 2Т) и команда К9 суммирует его с содержащимся в регистре Ка предыдущим произведением. Команда К10 производит прием х (лТ) с передачей его для хранения в регистр й . После выполнения команды К1! обеспечивается командой К!2 возможность передачи х (пТ) из регистра 1гн в ячейку ОП, в которой ранее хранилось значение х (лТ вЂ” Т). Команда К13 прибавляет к хранящейся в регистре йл сумме двух произведений значение х (лТ).
Команда К14 формирует йр х (лТ вЂ” Т), полученное произведение командой К15 прибавляется к содержимому регистра йа и в этом регистре (а также в АС) образуется значение у (пТ). После выполнения команд К16 и К17 в регистре Ка образуется адрес ячейки ОП, в которой хранилось значение у (пТ— — Т).
Командой К18 в эту ячейку записывается сформированное значение у (лТ) и, таким образом, после выполнения еще одной команды К19 содержимое ОП оказывается подготовленным к повторению цикла. 5.5. УЗЛЫ МИКРОПРОЦЕССОРНОГО УСТРОР(СТВА МНОГОРЕЖИМНЫЙ БУФЕРНЫЙ РЕГИСТР К889ИР!2 Многорежимный буферный регистр (МБР) (рис. 5.44) содержит 8-разрядный информационный регистр, снабженный схемой управления и выходным буфером (ВБ) с тремя состояниями, Кроме того, в блоке имеется устройство формирования сигнала запроса прерывания текущей программы (выделено штриховой линией).
Работа информационного регистра. Информационный регистр построен на Р-триггерах, которые при уровне лог. ! на внутренней цепи разрешения приема данных (РПД) повторяют на своих выходах информацию. поступающую по входной шине данных. При уровне лог. О в цепи РПД входы триггеров логически отключаются от входной шины данных, н регистр переходи~ в режим хранения, сохраняя на своих выходах ранее поступавшую по входной шине информацию. Выходы регистра подключены к выходному буферу ВБ, имеющему три состояния Выходной буфер управляется сигналом, поступающим по внутренней ценя разрешения выдачи данных (РВД). Прн поступлении по цепи РВД уровня лог, 1 содержимое информационного регистра передается на выходную шину данных; при поступлении уровня лог. О ВБ переходит в третье состояние с высоким выходным сопротивлением, отключая регистр от выходной шины.
г— 1 Рнс. 8.44, Структурная схема МБР КЬ89ИР12 268 Пнс. 5.45. Применение МБР: о! буферное устройство с отнлючаемым вмходом; б) буферное устройство с отнлючаемым входом; в) устройство двунаправленной передачи данныи Уровни в цепях РПД и РВД определяются следующими логическими выражениями: РПД вЂ”:: С ВР ~/ ВК! ВК2 ВР; РВД =:= ВР ~/ ВК1 ° ВК2. Формирование сигнала запроса прерывания (ЗП). Сигналу ЗП соответствует уровень лог. О. Такое представление ЗП удобно для непо.
средственной подачи на вход блока приоритетного прерывания БПП. Как видно из схемы на рис. 5.44, ЗП формируется при сбросе триггера прерывания ТП в состояние лог. О путем подачи строба на вход С либо прн выборе устройства, т. е. ВК1 . ВК2 =- 1, ЗП = С ~/ ВК1 ВК2. Установка ТП в состояние лог. 1 происходит в соответствии с логическим выражением ТП =. К ~/ ВК1 ° ВК2 Применения МБР.
На рис. 5.45, а представлен МБР в режиме, в котором С ВР = 1. Таким образом, вход информационного регистра постоянно открыт и происходит непрерывно прием информации с входной шины данных. Выходные буферы в этом режиме открываются лишь при комбинации сигналов разрешения выборки устройства, удовлетворяющей логическому выражению ВК1 ° ВК2 = 1.
Образуется буферное устройство с отключаемым от нагрузки выходом. На рис. 5.45, б представлена схема МБР в режиме, в котором за счет установки уровня лог. 1 на входе ВР выходной буфер постоянно открыт. Прием информации с входной шины данных происходит лишь при разрешении выборки устройства, т. е, при выполнении условия ВК1 . ВК2 = 1.
Образуется буферное устройство с отключаемым входом. На рис. 5.45, в показано применение МБР для построения устройства двунаправленной передачи данных, в котором сигналом, поданным в управляющую цепь, устанавливается режим передачи в прямом либо обратном направлении. При подаче в управляющую цепь уровня лог. О в МБР 1 выходной буфер оказывается включенным, в МБР 2 — отключенным и передача данных по информационной шине происходит в направлении слева направо через МБР 1.
При установке в управляющей цепи уровня лог. 1 МБР 2 устанавливается в режим с включенным выходным буфером, МБР 1 — в режим с отключенным буфером и передача данных осуществляется справа налево через МБР 2. БЛОК ПРИОРИТЕТНОГО ПРЕРЫВАНИЯ К689ИК14 Применения блока приоритетного прерывания(БПП). Пусть программирование ведется на уровне команд. Составленная в командах программа хранится в ОП. Каждой предусматриваемой командой операции в ПЗУ микрокоманд соответствует микропрограмма.
Считанная из ОП очередная команда поступает на входы К,...К БМУ. Команда содержит адрес первой МК микропрограммы, которой соответствует операция, предусматриваемая атой командой. Выбранная из ПЗУ Рис. 6.46. Схема, реалиауиипаи прерыааиии путем переключеиии адреса строки 270 первая МК микропрограммы в поле УА,...У А, МК БМУ содержит указание о том, как сформировать адрес второй МК, а эта МК вЂ” указание о способе формирования адреса третьей МК и т.
д., пока не будут выбраны все МК, входящие в микропрограмму данной команды. Последняя МК каждой микропрограммы содержит указание о переходе в нулевую строку (переход вида )ХК) и 15-ю колонку. Расположенная по этому адресу (О, 15) ячейка ПЗУ хранит МК, которая в поле ЗМ в МК БМУ содержит 1. К этому моменту на входах К,...К, БМУ действует очередная команда и, так как ЗМ = 1, то она загружается в РАМК БМУ. Таким образом, происходит считывание первой МК микропрограммы, соответствующей очередной команде и т, д Так происходит выполнение программы в отсутствие прерываний, При этом на выходе прерываний ПР БПП действует сигнал, который в схеме, приведенной на рис 5.46, устанавливает мультиплексор М в состояние передачи на вход ПЗУ адреса строк с выхода МА„...МА« БМУ.
Рассмотрим процессы, связанные с прерываниями. При считывании последней МК микропрограммы ЛСх БМУ обнаруживает в разрядах УА,...УА, МК БМУ кодовую комбинацию 0111111 перехода вида .)ХК по адресу (0,15) и выдает сигнал иа выход строба разрешения прерывания СРП. Этот сигнал поступает в БПП. И если к этому моменту в БПП был принят от какого-либо источника сигнал запроса прерывания ЗП, то БПП формирует на выходе ПР сигнал переключения мультиплексора М (наличие цепи 1! — источник + 5 В связано стем, что выход ПР построен по типу «открытый коллекторю) и на вход А„р ПЗУ адрес строки поступает не из БМУ, а с выхода кода прерывания КП БПП. При этом адресом ячейки ПЗУ оказывается не (О, 15), а адрес некоторой другой ячейки в 15-й колонке. Строка ее задается кодовой комбинацией на выходе КПБПП и определяется номеромисточиика, запросившего прерывание текущей программы. Из этой ячейки считывается первая МК прерывающей программы.
Действующая на входе БМУ невыполненная команда должна быть помещена в стек. Далее в каждой микропрограмме прерывающей программы обеспечивается считывание из ОП очередной команды, которая к концу выполнения микропрограммы поступает иа вход К,...К« БМУ.
Так же, как и при исполнении основной программы, последняя МК предусматривает переход к ячейке с адресом (0,15), и оказывается возможным прерывание текущей прерывающей программы с передачей в стек команды, действующей на входе К,...К, БМУ.
В процессе выполнения последней команды последней прерывающей программы производится считывание из стека команды и прием ее через входы К,...К« в РАМК БМУ. Таким образом осуществляется возврат в последнюю прерванную программу и продолжение ее исполнения. Если прерывающая программа единственна, то прерывание может быть выполнено по схеме, приведенной на рис. 5.47.
Сигнал с выхода ПР БПП подается на вход разрешения выдачи адреса строки РС БМУ. 271 Таким образом, при появлении на выходе ПР сигнала прерывания (уровня лог. О) буфер ВБа в БМУ закрывается и на входы А„р ПЗУ поступает высокий уровень напряжения (уровня лог. 1) от источника питания + 5В через резисторы К. В ПЗУ происходит обращение к ячейке с адресом (31, 15), где помещается первая МК прерывающей программы. На рис. 5.48 показан еще один вариант включения БПП. В общей микрокоманде микропроцессорного устройства предусматривается разряд СРП, содержимое которого подается на соответствующий вход БПП. Этот разряд только в последней МК каждой микропрограммы содержит лог. 1.
Кроме того, последняя МК микропрограммы, как и в рассмотренном выше случае, в поле УА,...УА,МК БМУ предусматривает переход вида)2)с к ячейке с адресом (О, 15). Отличие состоит в том, что разряд УА, поступает в БМУ через инвертор, на выходе которого выполнена операция монтажного И; УА, ПР. Таким образом, при отсутствии прерывания на входе УА, БМУ устанавливается уровень лог. 1 и происходит переход к ячейке с адресом (0,15). При прерывании на выходе ПР БПП возникает уровень лог. 0 и происходит переход к ячейке с адресом (0,14); в этой ячейке хранится первая МК прерывающей микропрограммы. До сих пор рассматривалось программирование на уровне команд.
В случае программирования на уровне микрокоманд отсутствуют команды, считываемые из ОП, и вся программа выполняется в виде одной микропрограммы, размещаемой в ПЗУ микрокоманд. В такой микропрограмме можно отметить несколько точек, в которых допускается прерывание. Таким образом, указанные точки разбивают микро- т5б Рис. ЗЛ7. Схема, реализующая прерывания с переходом к единственной прерывающей программе программу иа ряд участков.