Микропрограммное устройство для контроля и управления
Иллюстрации
Показать всеРеферат
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств контроля и управления технологическими процессами цифровых систем с микропрограммным управлением. Цель изобретения - расширение области применения и повышение быстродействия устройства. Микропрограммное устройство для контроля и управления содержит блок памяти 1 микрокоманд, регистр 2 адреса, регистры микроопераций 3, возврата 4, контроля 5 и отказа 6, первый 7 и второй 8 мультиплексоры, первый 9 и второй 10 демультиплексоры, третий И и четвертый 12 мультиплексоры, первый 13 и второй 14 шифраторы, первый 15 и второй 16 дешифраторы, блок 17 таймеров, первый 18, второй 19 и третий 20 элементы И, делитель 21 тактовых импульсов , первый 22 и второй 23 элементы ИЛИ, триггер 24 пуска, генератор 25 тактовых импульсов, триггер 26 прерываний, сумматор 27 по модулю два и одновибратор 28. Изобретение позволяет расширить область применения и повысить быстродействие устройства путем параллельного выполнения основных микропрограмм и контроля непрерывно контролируемых временных параметров технологических процессов. 2 ил. (Л со ю ел а
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (511 4 G 06 F 9 22 11 00с с
Vs, /
1 с ц
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3968969/24-24 (22) 22.10.85 (46) 23.07.87. Бюл. № 27 (72) В. С. Харченко, Г. Н. Тимонькин, В. П. Улитенко, В. А. Малахов, С. Н. Ткаченко и Б. О. Сперанский (53) 681.3(088.8) (56) Авторское свидетельство СССР № 962943, кл. G 06 F 9/22, 1982.
Авторское свидетельство СССР № 955057, кл. G 06 F 9/22, 1982. (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО ДЛЯ КОНТРОЛЯ И УПРАВЛЕНИЯ (57) Изобретение относится к автоматике и вычислительной технике и может быть . использовано при построении устройств контроля и управления технологическими процессами цифровых систем с микропрограммным управлением. Цель изобретения — расширение области применения и повышение быстродействия устройства. Микропрограммное,. SU „„1325476 А 1 устройство для контроля и управления содержит блок памяти 1 микрокоманд, регистр 2 адреса, регистры микроопераций 3, возврата 4, контроля 5 и отказа 6, первый 7 и второй 8 мультиплексоры, первый 9 и второй 10 демультиплексоры, третий 11 и четвертый 12 мультиплексоры, первый 13 и второй 14 шифраторы, первый 15 и второй 16 дешифраторы, блок 17 таймеров, первый 18, второй 19 и третий 20 элементы И, делитель 21 тактовых импульсов, первый 22 и второй 23 элементы ИЛИ, триггер 24 пуска, генератор 25 тактовых импульсов, триггер 26 прерываний, сумматор 27 по модулю два и одновибратор 28.
Изобретение позволяет расширить область применения и повысить быстродействие устройства путем параллельного выполнения ос(O новных микропрограмм и контроля непрерывно контролируемых временных параметров технологических процессов. 2 ил.
1325476
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств контроля и управления технологическими процессами цифровых систем с микропрограммным управлением.
Цель изобретения — расширение области применения и повышение быстродействия устройства.
На фиг. 1 приведена функциональная схема микропрограммного устройства для контроля и управления; на фиг. 2 — функциональная схема блока таймеров.
Микропрограммное устройство для контроля и управления содержит блок 1 памяти микрокоманд с выходами поля старших (немодифицируемых) разрядов адреса очередной микрокоманды l ь поля кода микроопераций 1, поля требуемого значения проверяемого логического условия lз, поля младшего (модифицируемого) разряда адреса очередной микрокоманды 14, поля значения метки 1, поля кода проверяемого логического условия 1, регистр 2 адреса, регистр 3 микроопераций, регистр 4 возврата, регистр 5 контроля, регистр 6 отказа, первый 7 и второй 8 мультиплексоры, первый 9 и второй 10 демультиплексоры, третий 11 и четвертый 12 мультиплексоры, первый 13 и второй 14 шифраторы, первый 15 и второй 16 дешифраторы, блок 17 таймеров, первый 18, второй 19 и третий 20 элементы И, делитель 21 тактовых импульсов, первый 22 и второй 23 элементы ИЛИ, триггер 24 пуска, генератор 25 тактовых импульсов с первым 25 и вторым
25 выходами, триггер 26 прерываний, сумматор 27 по модулю два, одновибратор 28, входы пуска 29 и кода операции 30 устройства, выход 31 микроопераций устройства (31 признака конца команды, 31 признака конца команды прерываний, 31з -- признака конца работы), вход 32 логических условий устройства.
Блок 17 таймеров содержит группу счетчиков 33 — 33„группу триггеров 34 — 34„, первук> группу 35 — 35„элементов И, вторую группу 36 — 37„элементов И.
Устройство работает следуюшим образом.
Микропрограммное устройство для контроля и управления работает в режимах выполнения рабочей микропрограммы и отработки прерываний по непрерывно контролируемым логическим условиям (НКЛУ) .
В режиме выполнения рабочей микропрограммы возможны реализация линейных микрокоманд, микрокоманд ветвления, постановка и снятие с контроля непрерывно контролируемых логических условий. При выполнении неаварийных НКЛУ устройство переходит к второму режиму работы, предназначенному для отработки микроподпрограммы прерываний до принятия контролируемым параметром нормального значения. При выполнении микроподпрограмм прерываний также возможны случаи реализации линейных микрокоманд и микрокоманд ветвления постановка и снятие с контроля
5 НКЛУ. Но отработка микропрограммы прерываний в данном случае возможна лишь только после получения микрооперации конца прерываний микроподпрограммы отработки прерывания по предыдущему НКЛУ.
При отработке микроподпрограмм прерывания устройства осуществляется выход из второго режима. При выполнении аварийных НКЛУ устройство прекращает работу.
В исходном состоянии все элементы схемы приведены в «О». Только в разряде микрооперации, соответствующем выходу 31> регистра 3, записана «1» (цепи приведения в исходное состояние не показаны).
По сигналу «Пуск», поступающему на вход 29 устройства, триггер 24 пуска устанавливается в единичное состояние и гене20 ратор 25 начинает выработку тактовых сигналов. По первому тактовому импульсу с выхода 25 генератора 25 в регистр 2 заносится код команды с входа 30. Этот код записывается через мультиплексор 7 (через
его первый информационный вход) в регистр
2 при разрешающем сигнале с выхода 31 регистра 3. По коду, считанному из регистра 2, с блока 1 памяти выбирается микрокоманда.
Реализуемая микрокоманда — линейная.
Операционная часть кода линейной микрокоманды по заднему фронту второго тактового импульса с выхода 25 генератора 25 заносится в регистр 3 и на выход 31 устройства. Старшие (немодифицируемые) разряды адреса очередной микрокоманды с вы3 хода 1 блока 1 памяти поступают на соответствующие входы второго информационного входа мультиплексора 7, а младший разряд адреса с выхода 14 блока 1 памяти поступает на адресный вход мульти плексора 8, с выхода которого (без изме40 нения1 — на соответствующий вход второго информационного входа мультиплексора 7.
По заднему фронту очередного первого тактового импульса с выхода 25 генерато ра 25 с регистра 2 считывается код ад4 реса очередной микрокоманды, которая выбирается из блока 1 памяти микрокоманд.
При реализации всех линейных микрокоманд устройство функционирует аналогично описанному выше алгоритму.
Реализуемая микрокоманда является микgp рокомандой условного перехода.
Старшие разряды адреса очередной микрокоманды поступают на соответствующие входы мультиплексора 7. Операционная часть микрокоманды поступает в регистр 3 и на выход 31 микроопераций устройства.
55 Младший разряд адреса очередной микрокоманды поступает на адресный вход мультиплексора 8. По коду логических условий, записанному в поле 1 блока 1 па1325476
10 мяти, с входа 32 логических условий устройства мультиплексор 8 выбирает значение проверяемого логического условия. Младший разряд адреса очередной микрокоманды модифицируется значением этого логического условия и поступает на соответствуюший вход второго информационного входа мультиплексора 7. При проверке микрокоманд ветвления устройство функционирует аналогично описанному выше алгоритму.
Работу устройства при реализации микрокоманд с непрерывно контролируемыми логическими условиями рассмотрим на следующем примере.
Пусть в процессе выполнения микропрограммы всего проверяется десять логических условий Х = {xi, хг,..., xi, среди которых хь хз, ха и х являются непрерывно контролируемыми, из них х и хз являются неаварийными, а х и xg — аварийными непрерывно контролируемыми логическими условиями. Таким образом, разрядность поля 1 блока 1 памяти микрокоманд равна четырем, количество таймеров в блоке 17 таймеров равно четырем, регистр 5 контроля является четырехразрядным, а регистр 6 отказа — двухразрядным. Из блока 1 памяти микрокоманд выбирается микрокоманда ветвления с непрерывно контролируемым логическим условием. В поле 1з блока памяти микрокоманд присутствует требуемое значение данного логического условия, в поле 1-, единичное значение метки, в поле 1 — код этого условия, в поле 4 — дополнительный код определяющий максимальный интервал времени проверки At, в течение которого это условие должно выполняться. Пусть интервал времени равен 100 синхроимпульсам с выхода делителя 21 тактовых импульсов. Разрядность соответствующего таймера равна семи, он может принять 127 синхроимпульсов с выхода делителя 21, тогда
At = 27. Старшие разряды адреса очередной микрокоманды с выхода l i поступают на соответствующий вход мультиплексора 7. Код микроопераций с выхода 1 поступает в регистр 3 и на выход 31 устройства.
Требуемое значение логического условия поступает на информационный вход первого демультиплексора 9. Младший разряд адреса очередной микрокоманды поступает на первый информационный вход мультиплексора 8, единичное значение метки— на его управляющий вход и на второй элемент И 19. Код непрерывно контролируемого логического условия х с выхода 1 поступает на адресный вход мультиплексора 8 и на управляющие входы первого 9 и второго 10 демультиплексоров. 3ополнительный код At с выхода 1 блока 1 памяти поступает на второй демультиплексор 10 и дешифратор 16 синхросигналов.
По коду логического условия хз с выхода
1 блока 1 памяти с входа 32 логических условий устройства выбирается его значение и поступает на вход мультиплексора 11 истинного значения логических условий. Требуемое значение логического условия с выхода lз блока 1 памяти через первый демультиплексор 9, при управляющем воздействии кода логического условия хз на его управляюший вход, заносится во второй разряд регистра 5 контроля. С выхода регистра 5 это значение поступает на соответствующий вход информационного входа мультиплексора 12.
Код интервала времени 0011011, соответствующий «27», с выхода 1 блока памяти микрокоманд поступает на информационные входы второго демультиплексора 10 и дешифратора 16 синхросигналов. По коду интервала при разрешаюшем сигнале с выхода второго элемента И 10 дешифратор выбирает второй таймер (фиг. 2) и по заднему фронту синхроимпульса заносит в него код
«27». Разрядность таймера (счетчика 33з) равна 127, поэтому по приходу с выхода делителя 21 сотого синхроимпульса (т.е. после окончания времени проверки логического условия) с выхода блока таймеров считывается сигнал переполнения и поступает на шифратор 13. Этим же сигналом триггер
34г обнуляется и запрещает прохождение синхроимпульсов от делителя 21 на суммируюший вход таймера.
По сигналу переполнения шифратор формирует код проверяемого непрерывно контролируемого логического условия, который посту пает на соответствующие входы мультиплексоров 11 и 12 и на вход дешифратора 15 прерываний. Если истинное и требуемое значения проверяемого логического условия равны, то на выходе сумматора 27 присутствует нулевой сигнал, закрывающий третий элемент И 20. Если логическое условие не выполнилось за данный промежуток времени, то на выходе сумматора 27 присутствует единичный сигнал, открывающий элемент И 20 (триггер 26 прерываний в нулевом состоянии) . По коду проверяемого х дешифратор 15 на своем выходе, соответствуюшем коду х, фбрмирует сигнал прерывания, который при разрешаюшем сигнале с выхода И 20 поступает на соответствующий вход шифратора 14.
Шифратор 14 формирует адрес микроподпрограммы прерываний, предназначенный для выполнения проверяемого логического условия. По заднему фронту очередного тактового импульса с выхода 25 генератора 25 и единичному сигналу с выхода элемента ИЛИ 23 адрес микроподпрограммы прерываний заносится в регистр 2 адреса, а триггер 26 устанавливается в единичное состояние, тем самым запрещая сброс таймеров и закрывая элемент И 20. В регистр 4 возврата по заднему фронту так1325476
Формула изобретения тового импульса с выхода 25 генератора 25 при нулевом сигнале конца команды прерывания с выхода 31 регистра 3 заносится адрес микрокоманды, с которой началось прерывание. Устройство отрабатывает микроподпрограмму прерывания.
После выполнения микроподпрограммы прерываний необходимо проверить, выполнилось или нет проверяемое логическое условие. В одной из последних микрокоманд микроподпрограммы прерываний считывается код хз и проверяется с помощью регистра 5 и его связи с третьим информационным входом мультиплексора 8. Если х выполнилось и равно требуемому значению, то по заднему фронту тактового импульса с выхода 25 генератора 25 с выхода 31 регистра 3 считывается сигнал конца команды прерываний, запрещая запись информации в регистр 4, обеспечивая запись адреса возврата через третий информационный вход мультиплексора 7 в регистр
2 и запуская одновибратор 28, который обнуляет триггер 26 прерываний. Если логическое условие не выполнилось, то вновь осуществляется возврат на микроподпрограмму прерываний. Далее устройство функционирует аналогично описанному выше алгоритму.
При считывании микрокоманды, в поле логических условий которой записан код xs, устройство до срабатывания шифратора 13 работает, как и при проверке.
При поступлении сигнала на вход дешифратора 15 на выходе, соответствующем аварийному логическому условию, присутствует единичный сигнал, который поступает в соответствующий разряд регистра 6. На управляющий вход регистра 6 поступает единичный сигнал с выхода сумматора 27. По заднему фронту тактового импульса с выхода
25 генератора 25 сигнал с выхода регистра 5 через элемент ИЛИ 22 поступает на вход установки в «О» триггера 24 пуска. Триггер обнуляется и прекращает работу генератора 25 и всего устройства в целом. Работа устройства прекращается также при считывании сигнала конца работы с выхода 31з регистра 3 микроопераций.
Микропрограммное устройство для контроля и управления, содержащее блок памяти микрокоманд, регистр адреса, регистр микроопераций, регистр возврата, первый мультиплексор, первый шифратор, с первого по третий элементы И, триггер пуска, генератор тактовых импульсов, триггер прерываний, причем вход пуска устройства соединен с входом установки в «1» триггера пуска, выход которого соединен с входом генератора тактовых импульсов, первый и второй выходы которого соединены соответст5
55 венно с первыми входами первого и второго элементов И, вход кода команды устройства соединен с первым информационным входом первого мультиплексора, выход которого соединен с информационным входом регистра адреса, выход которого соединен с адресным входом блока памяти микрокоманд, выход поля микроопераций которогс соединен с информационным входом регистра микроопераций, выход которого соединен с выходом микроопераций устройства, выход триггера прерываний соединен с первым входом третьего элемента И, выход первого элемента И соединен с входом синхронизации и входом синхронизируемой установки в «1» триггера прерываний, отличающееся тем, что с целью повышения быстродействия устройства и расширения области его применения, введены регистр контроля, регистр отказов, второй, третий и четвертый мультиплексоры, первый и второй демультиплексоры, второй шифратор, первый и второй дешифраторы, блок таймеров, делитель тактовых импульсов, первый и второй элементы ИЛИ, сумматор по модулю два, одновибратор, причем выход поля немодифицируемых разрядов адреса блока памяти микрокоманд соединен с соответствующими разрядами второго информационного входа первого мультиплексора, выход поля требуемого значения логического условия блока памяти микрокоманд соединен с информационным входом первого демультиплексора, выход которого соединен с информационным входом регистра контроля, выход поля модифицируемого разряда адреса блока памяти микрокоманд соединен с первым информационным входом второго мультиплексора, выход которого соединен с соответствующим разрядом второго информационного входа первого мультиплексора, выход поля метки блока памяти микрокоманд соединен с первым управляющим входом второго мультиплексора и с вторым входом второго элемента И, выход которого соединен со стробирующим входом второго дешифратора, выход поля кода логических условий блока памяти микрокоманд соединен с вторым управляющим входом второго мультиплексора и с управляющими входами первого и второго демультиплексоров, выход поля кода интервала блока памяти микрокоманд соединен с информационным входом второго демультиплексора и с информационным входом второго дешифратора, группа выходов которого соединена с группой входов синхронизации блока тайме ров и с группой входов синхронизации регистра контроля, группа выходов второго демультиплексора соединена с группой информационных входов блока таймеров, выход которого соединен с входом первого шифратора, выход которого соединен с управляющим входом третьего мультиплексора, с управляющим входом четвертого мультиплексора и с входом первого дешифратора, 1325476
От 10
0m 1б 21 2б 25.2
Фиг.2
Составитель A. Михайлов
Реда кто р В. Петра ш Техред И. Верес Корректор С. Черни
Заказ 3110/44 Тираж 672 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, OK — 35, Раушская наб., д. 4, 5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная. 4 первый выход которого соединен с информационным входом регистра отказов, группа выходов которого соединена с группой входов первого элемента ИЛИ, второй выход первого дешифратора соединен с информационным входом второго шифратора и с группой установочных входов блока таймеров, выход признака конца команды регистра микроопераций соединен с первым управляющим входом первого мультиплексора, выход признака конца команды прерывания регистра микроопераций соединен с входом разрешения записи регистра возврата, с вторым управляющим входом первого мультиплексора и с входом одновибратора, выход которого соединен с входом установки в «0» триггера прерываний, выход признака конца работы регистра микроопераций соединен с первым входом первого элемента ИЛИ, выход которого соединен с входом установки в «0» триггера пуска, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра отказов и с входом синхронизации регистра адреса, выход которого соединен с информационным входом регистра возврата, второй выход генератора тактовых импульсов соединен с входом синхронизации регистра микроопераций, с первым входом синхройизации блока таймеров и с входом делителя тактовых импульсов, выход которого соединен с вторым входом синхронизации блока таймеров, выход триггера прерываний соединен с входом разрешения сброса блока таймеров, вход
5 логических условий устройства соединен с вторым информационным входом второго мультиплексора н с информационным входом третьего мультиплексора, выход которого соединен с первым входом сумматора по модулю два, выход регистра контроля соединен с третьим информационным входом второго мультиплексора и с информационным входом четвертого мультиплексора, выход которого соединен с вторым входом сумматора по модулю два, выход которого сое1g динен с вторым входом третьего элемента И и с входом разрешения записи регистра отказов, выход третьего элемента И соединен со стробирующим входом второго шифратора, выход которого соединен с третьим информационным входом первого муль2О типлексора и с группой входов второго элемента ИЛИ, выход которого соединен с вторым входом первого элемента И, с третьим управляющим входом первого мультиплексора, выход первого элемента И соединен с
25 входом синхронизации регистра возврата, выход которого соединен с четвертым информационным входом первого мультиплексора.