Устройство для контроля программных автоматов

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике. Цель изобретения - повышение производительности контроля. Устройство содержит контролируемый 1 и эталонный 2 программные автоматы, генераторы 3 псевдослучайных последовательностей и тактовых импульсов, счетчики 6 - 8, триггер 14, пульт 4 управления, блок 5 индикации, блоки 12, 13 сравнения, элементы ИЛИ 18 - 20, элемент И 17, коммутатор 16, формирователь 9 импульса, блок 15 памяти микропрограмм. Устройство проверяет выполнение программы эталонным 2 и контролируемым 1 программными автоматами, сравнением в блоке 13. Коды логических условий выполнения программ задаются псевдослучайной последовательностью генератора 3. 7 ил.

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (рц5 G 05 В 23/02

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР (21) 4429966/24-24 (22) 23 05.88 (46) 15 ° 06.90. Бюл. М 22 (72) С.Н. Ткаченко, Г.Н. Тимонькин, В.С. Харченко и А.В. Моченков (53) 621.396(088.8) (56) Авторское свидетельство СССР и 860076, кл. G 06 F 11/29, 1979.

Авторское свидетельство СССР ю 556439, la). G 06 F 9/16, 1977.

„„Я0„„1571552 А 1

2 (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММНЫХ АВТОМАТОВ (57) Изобретение относится к вычислительной технике. Цель изобретения повышение производительности контроля.

Устройство содержит контролируемый l и эталонный 2 программные автоматы, генераторы псевдослучайных последовательностей 3 и тактовых импульсов 11, счетчики 6-8, триггер 14, пульт 4

3 1571552 а у правления, блок 5 индикации, блоки полнение программы эталонным 2 й-еернт1,2, 13 сравнения, элементы ИЛИ 18-20, Ролируемым 1 программными автоматамм. лемент И 17, коммутатор 16, формиро- сравнением в блоке 13. Коды логических датель 9 импульса, блок 15 памяти ми- Ус овей выполнения программ задаются кропрограмм. Устройство проверяет вы- псевдослучайной последовательностью генератора 3. 7 ил, Изобретение относится к вычислиельной технике и может быть испольовано для контроля программных авто. матов.

Цель изобретения - повышение про- 15 изводительности контроля.

На фиг. 1 приведена схема устройства„ на фиг. 2 - схема контрольного (эталонногo) программного автомата;

На фиг. 3 - схема генератора псевдо- 2р случайной последовательности; на фиг. 4 - схема пульта управления; на фиг. 5 - схема блока индикации; на фиг. 6 - схема генератора тактовых импульсов; на фиг. 7 - временная диаг -25 рамма работы устройства.

Устройство содержит контролируемый программный автомат 1, эталонный программный автомат 2, генератор 3 псевдослучайных последовательностей, пульт 4 управления, блок 5 индикации, второй счетчик 6, первый счетчик 7, третий счетчик 8, формирователь 9 импульса, регистр 10, генератор 11 тактовых импульсов, второй блок 12 сравнения, первый блок 13 сравнения, триггер 14, блок 15 памяти микропрограмм, коммутатор 16, элемент И 17, первый элемент ИЛИ 18, второй элемент А0

ИЛИ 19, третий элемент ИЛИ 20, первую группу 21 выходов пульта 4 управления, управляющий выход 22 пульта 4 управления, сигнальный выход 23 блока

5 индикации, выход 24 счетчика 6, выходы 25 счетчика 8, выходы 26 генератора 3 псевдослучайных последовательностей, первую группу 27 выходов регистра 10, третий выход 28 регистра

10, вторую группу 29 выходов регистра 0

10, выходы 30.1-30.3 генератора 11 тактовых импульсов, выход 31 блока

13 cpaвнения, управляющий выход 32 блока 2„ вторую группу 33 выходов пульта 4 управления.

Программный автомат (см. фиг. 2) содержит блок 34 памяти, регистр 35 адреса, регистр 36 микрокоманд, коммутатор 37, мультиплексор 38, группу

39 информационных выходов, группу 40 информационных выходов регистра 36 микрокоманд, группу 41 информационных выходов регистра 36 микрокоманд.

Генератор 3 псевдослучайной последовательности (фиг. 3) содержит регистр 42 сдвига и блок 43 сложения по модулю два.

Пульт 4 управления (фиг. 4) содержит блоки 44 элементов коммутации, элемент 45 коммутации, блок 46 элементов коммутации, элемент ИЛИ-НЕ 47, одновибратор 48.

Блок 5 индикации (фиг. 5) содержит триггер 49, первую группу 50 элементов индикации, вторую группу 51 элементов индикации, третью группу 52 элементов индикации, элемент 53 индикации.

Генератор ll тактовых импульсов (фиг, 6) содержит генератор 54, триггер 55, блок 56.1-56.3 элементов И.

Блок 1 является контролируемым программным автоматом. Функционирование блока проввряется путем сравнения

его выходной информации с аналогичной информацией эталонного автомата, представленного блоком 2.

Блок 2 - эталонный программный автомат. Он предназначен для выборки эталонных величин для сравнения их с контрольными с выходов блока 1.

Генератор 3 псевдослучайной последовательности предназначен для формирования псевдослучайных последовательностей кодов логических условий проверяемых программ. !

Пульт 4 управления предназначен для выборки сигнала "Пуск" начала работы системы контроля и отладки, для выбора заданного числа микрокоманд проверки объекта контроля и для начального задания количества циклов для первого кода операции.

Блок 5 индикации предназначен,для визуальной регистрации типов операций, логических условий, превышения количества микрокоманд в команде за- l

1552

45

Регистр 35 предназначен для формирования адреса микрокоманд ° Он синхронизируется по заднему фронту тактового импульса.

Регистр 36 служит для выдачи кодов микроопераций, кодов адреса очередной микрокоманды, кодов адреса логических условий, Работа регистра синхронизируется вторыми тактовыми импульсами, вырабатываемыми генератором 11 тактовых импульсов.

Коммутатор 37 предназначен для коммутации на вход регистра 35 кода операции и кода адреса очередной микро50

5. 157 данного числа, момента ошибки работы контролируемого программного управляющего автомата, а также для выдачи управляющего сигнала на прекращение ра" боты в случае ошибки работы блока 1, обнаруживаемой при несовпадении выходных данных блоков 1 и 2.

Счетчик 6 предназначен для подсчета количества циклов работы блока 1 при определенном коде операции. Количество циклов задается для каждого кода операции, исходя иэ заданной достоверности проверки. СИгнал переполнения этого счетчика позволяет изменять код операции, реализуемый блоками 1 и 2.

Счетчик 7 предназначен для формирования кодов адресов для блока 15 памяти микропрограмм. В соответствии с кодом адреса происходит выборка определенного кода операции из- блока

15 памяти.

Счетчик 8 выполняет подсчет числа микрокоманд, выполняемых блоком 1 в каждом цикле выполнения программы по данному коду операции.

Формирователь 9 импульса, реализованный на одновибраторе, предназначен для формирования сигнала управления записью кода числа в счетчик 6.

Регистр 10 предназначен для приема, хранения и выдачи кодов операций на блоки 1 и 2. Он синхрониэируется задним фронтом сигнала пуска либо задним фронтом сигнала обнуления счетчика 6.

Через группу 27 выходов на входы блоков 1 и 2 поступают коды операций °

Сигнал "Конец программы" с выхода 28 регистра 10 останавливает работу системы контроля и отладки. На группу 29 выходов подается код количества циклов для данного кода операции.

Генератор 11 тактовых импульсов предназначен для выработки последовательности тактовых импульсов с заданной задержкой по времени для синхронизации работы системы контроля и отладки °

Блок 12 сравнения предназначен для сравнения заданного количества микрокоманд с числом микрокоманд, выполненных блоками 1 и 2 в соответствующем цикле. По сигналу превышения с выхода блока l2 происходит смена логических условий.

Блок 13 сравнения выдает сигнал ошибки в случае неравенства реэуль5 l0

30 татов выполнения микрокоманд блоками 1 и 2.

Триггер 14 предназначен .для запуска тактового генератора и его останова при выявлении системой ошибки либо по команде "Конец программы".

Блок 15 памяти микропрограмм предназначен для хранения кодов операций, выполняемых блоками 1 и 2.

Коммутатор 16 предназначен для уп- равления подачей на информационный вход счетчика 6 кодов числа циклов от пульта 4 управления (при начальном задании для первого кода операции) и регистра 10 кодов операций (для последующих кодов операций).

Элемент И 17 управляет установкой в нулевое состояние счетчика 8, увеличением содержимого счетчика 6 и изменением кода логического условия на выходе генератора 3 °

Элемент ИЛИ 18 предназначен для подключения к входу сброса триггера

14 выхода 23 блока 5 индикации и вы- хода 28 регистра lO, По этим цепям поступает сигнал установки в нуяь триггера 14, т.е. прекращение работы системы в случае окончания обработки программы либо ошибки работы блока 1.

Элемент ИЛИ 20 предназначен для подключения выхода 32 блока 2 и выхода блока !2 сравнения к входу элемента И 17 и входам блоков 1 и 2, Элемент ИЛИ 20 предназначен для подключения выхода 24 счетчика 6 и выхода 22 пульта 4 управления к суммирующему входу счетчика 7. Сигнал с выхода элемента ИЛИ 20 управляет изменением кода операции.

Назначение элементов и узлов программного автомата - блока 1 (2) состоит в следующем (фиг. 2).

Блок 34 памяти предназначен для хранения, выдачи кодов микрокоманд.

1571552 команды. Управление коммутацией осу. ществляется по входу от элемента

ИЛИ 19.

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

В генераторе 3 псевдослучайной по- 10 следовательности (фиг. 3) регистр 42 сдвига предназначен для хранения, выдачи и сдвига по синхроимпульсу кода на схему сложения по модулю два. ., Он синхронизируется задним фронгом третьего тактового импульса с выхода

30.3 генератора 11. Элемент 43 сложения по модулю два осуществляет сложение по модулю два разрядов кода, выдаваемого с выхода регистра 42 сдви- 0 га. Тем самым путем сдвига логической единицы и сложения разрядов осуществляется формирование псевдослучайной последовательности.

Назначение элементов и узлов пуль- 25 та 4 управления (фиг. 4) следующее.

Блок 44 элементов коммутации предназначен для формирования кода числа ( микрокоманд в цикле.

Блок 45 элемента коммутации пред- g0 назначен для образования импульса, который запускает одновибратор 48.

Блок 46 элементов коммутации предназначен для формирования кода числа циклов кода операций.

Одновибратор 48 предназначен для формирования сигнала "Пуск".

Назначение элементов и узлов блока 5 индикации (фиг. 5) следующее.

Триггер 49 предназначен для форми- 40 рования потенциального сигнала "Ошибка" для отключения системы отладки и контроля.

Блоки 50-53 элементов индикации предназначены для визуальной регистрации кодов логических условий, кодов операций, кодов числа микрокоманд в цикле, момента ошибки функционирования блока 1 соответственно.

Назначение элементов и узлов блока ll генератора тактовых импульсов (фиг. 6) следующее.

Генератор 54 предназначен для формирования импульсов заданной формой и частотой следования (см. фиг.7).

Триггер 55 предназначен для формирования потенциального сигнала запуска генератора 11 тактовых импульсов, что позволяет выдачу тактовых импульсов именно с выхода 30.1 и затем: с выходов 30,2 и 30.3 соответственно.

Блок 56 элементов И предназначен для управления цепями синхронизации.

Устройство работает в двух режимах: первый-режим задания условий работы; второй - режим проверки корректности функционирования контролируемого управляющего автомата 1.

В исходном состоянии на выходе 32 блока 2 (фиг. 1) присутствует единичный потенциал, а в регистре 42 сдвига (фиг. 3) в старший разряд занесена единица. Остальные элементы памяти обнулены.

В первом режиме на наборном поле пульта 4 управления (см. фиг. 4) задается код числа микрокоманд, который с группы выходов блока 44 коммутации поступает на первую группу входов блока 12 сравнения, а также задается код числа циклов работы блоков 1 и 2 при начальном коде операции. Этот код числа циклов с выходов блока 46 коммутации подается на первую группу информационных входов коммутатора 16.

Во втором режиме единичный сигнал с выхода 22 пульта 4 управления через формирователь 9 импульса поступает на управляющие входы коммутатора, разрешая тем самым пропуск кода- числа циклов на информационный вход счетчика 6.

По.другой цепи с выхода 22 пульта 4 управления единичный сигнал задним фронтом разрешает запись кода числа циклов в счетчик 6 и поступает на первый вход элемента ИЛИ 20, с выхода которого сигнал разрешает запись кода операции с выхода блока 15 памяти микропрограмм в регистр 10, при этом добавляя единицу в счетчик 7. С группы

27 информационных выходов код операции поступает на группу входов кодов операций блоков 1 и 2, и,кроме того, на группу входов блока 5. С группы 29 выходов регистра 10 сигнал поступит на группу информационных входов коммутатора 16.

Сигнал с выхода 22 пульта 4 управления установит триггер 14 в единичное состояние, тем самым сигнал с выхода триггера 14 запустит генератор 11, Первый тактовый импульс с выхода

30.1 генератора 11 поступает на первые синхровходы блоков 1 и 2 и разрешает прием кода операций в регистр 35

9 15715 адресов (см. фиг ° 2) с группы выходов коммутатора 37. Второй тактовый импульс .с выхода 30.2 генератора 11 тактовых импульсов производит запись в регистр 36 микрокоманд кода микроко5 манды из блока 34 памяти.

По этому же импульсу добавляется единица в счетчик 8.

Код микрокоманды с группы 39

10 (фиг. 2) информационных выходов поступает на первую группу входов блока 13 сравнения из блока 1, а на вторую группу входов — из блока 2.

С группы 40 выходов регистра 36 микрокоманд на вход коммутатора 37 поступает код операции, а с управляющего выхода на первый информационный вход мультиплексора 38 младший модифицируемый разряд. В соответствии с 20 кодом адреса с группы 41 выходов регистра 36 микрокоманд мультиплексор

38 подключает один из входов группы, по которым поступают коды логических условий, с выходом мультиплексора 38. 25

Третий тактовый импульс с выхода

30.3 генератора 11 тактовых импугьсов поступает на управляющий вход .Олока 13 сравнения, где происходит сравнение кодов микроопераций, поступающих с вь,- 30 ходов блоков 1 и 2, и на один из входов элемента И 17.

Таким оЬразом, каждый тактовый импульс с выхода 30.2 тактового генератора 11 приводит к новой выборке микрокоманды из блока 34 памяти, а блокл

1 (2) обрабатывают эти микрокоманды при заданных логических условиях и коде операции до тех пор, пока количество микрокоманд в цикле не превысит заданное с пульта 4 управления либо блок 2 с выхода 32 не выдаст сигнал Конец команды .

Выход 32 ;од блока 12 сравнения соединены через элемент ИЛИ 15

1 с входом элемента И 17 и управляющими входами блоков 1 и 2.

По сигналу с выхода элемента И 1 добавляется единица в счетчик 6 циклов. По этому же сигналу генератор 3 50 изменяет код логических условий путем сдвига единицы в регистре 42 и сложения по модулю два в блоке 43 (см. фиг. 3). Тем самым блоки 1 (2) начнут выполнять ту же программу (при задан-. 55 ном коде операции), но с другими логическими условиями.

Если код числа циклов, отработанных блоками 1 (2) при данном коде

52 операции, превысил код числа, задан-. ного с пульта 4 управления и подсцитйваемого счетчиком 6, то счетчик 6 формирует сигнал, который с выхода 24 поступает на вход элемента ИЛИ 20.

Сигнал с выхода элемента ИЛИ 20 увеличивает на единицу содержимое счетчика 7, Разрешает запись нового кода операции на вход регистра 10 а задним фронтом запись кода числа циклон для очередного кода операций в счетчик 6.

Описанный процесс выборки из блока

15 -памяти микропрограмм кодов операций и отработка информации в блоках

1 (2) со сравнением результата в блоке 13 сравнения (при различных логических условиях) происходят до тех пор, пока регистр 10 не выдаст сигнал "Конец программы". Это свидетельствует тому, что программа полностью блоками 1 (2) отработана при отсутствии ошибок функционирования.

Сигнал Конец программын поступа-. ет на вход элемента ИЛИ 18, с выходным сигналом которого триггер 14 ycTàIIàâëèâàåòñÿ в нулевое состояние.

На этом работа системы отладки и

КОнтропя ЗаВЕрШЕНа.

В случае, когда блок 13 сравнения фиксирует несовпадение резуль:,à -Ов работы блоков 1(?), с выхода

31 Ьлока 13 сравнения поступает сигнал ошибки на вход блока 5 индикации.

Триггер 49 устанавливается в =pIIничное состояние. Сигнал с выхода

-.p .ггера 4I через элемент ИЛИ 18 устанавливает в нулевое состояние тригг»,;. 14 и „-.,TI,Ië сигналом будет g.äåpÿlIва-,ь систему отладки и контроля в состоянии блокировки.

О р и у л а и з О б р е т е н и я

Устройство дгя контрогя про1 рамГлишк аВтОМатон, СОЛ»ржащ». ОтаЛОННЫй программный автомат, первый счетчик, ЬлОк паняi II м1 кропрограмм, регис р и первый блок =-равнения, группа выводов устройства для подключения выхоДов Контролиру»МОГО I".pGI раммногO с1I томата подключена к первой группе входов первого блока сравнения, выходы первого счетчика соединены с адресными входами блока памяти микропрограмм, выходы которого подключены к информационным входам регистра, выходы первой группы которого соединены с первой группой информационных входов

15715 эталонного программного автомата и с группой выводов устройства для подключения первой группы информационных входов контролируемого программного автомата, о т л и ч а ю щ е е с я тем, что, с целью повышения производительности контроля, устройство содержит генератор псевдослучайной последовательности, пульт управления,,блок индикации, второй и третий счет чики, формирователь импульса, генератор тактовых импульсов, второй блок ,сравнения, триггер, коммутатор, эле, мент И и с первого по третий элемен(! ты ИЛИ, выходы генератора псевдослу чайной последовательности подключены к второй группе информационных входов эталонного программного автомата, выводам устройства для подключе- 20 ния второй группы информационных вхо, дов контролируемого программного ав,томата и первой группе входов блока ,индикации, первая группа выходов пульта управления соединена с первой 25 группой информационных входов коммутатора, выходы которого соединены с информационными входами второго счет чика, управляющий выход пульта управления подключен к входу формировате- д ля импульса, входу установки триггера, и к первому входу первого элемента ,ИЛИ, выход формирователя импульса подключен к управляющему входу ком.мутатора, вторая группа выходов пульта управления соединена с первой группой входов второго блока сравнения,,сигнальный выход блока индикации подключен к первому входу второго эле мента ИЛИ, выход которого соединен с 40 входом сброса триггера, выход второго счетчика подключен к второму входу первого элемента ИЛИ, выходы третьего счетчика - к второй группе входов второго блока сравнения и второй группе входов блока индикации, первая и вторая группы выходов регистра подключены соответственно к третьей груп 2

12 пе входов блока индикации и к второй группе входов коммутатора, первый выход генератора тактовых импульсов подключен к первому входу синхронизации эталонного программного автомата и к выводу устройства для подключения первого входа синхронизации контролируемого программного автомата, второй выход генератора тактовых импульсов подключен к второму синхронизирующему входу эталонного программного автомата, к выводу устройства для,подключения второго синхронизирующего входа контролирующего программного автомата и к суммирующему входу третьего счетчика, третий выход генератора тактовых импульсов подключен к управляющему входу первого блока сравнения и первому входу элемента И, выход первого блока сравнения подключен к четвертому входу блока индикации, выход второго блока сравнения к первому входу третьего элемента

ИЛИ, второй вход которого соединен с управляющим выходом эталонного программного автомата, а выход подключен к второму входу элемента И, к третьему входу синхронизации эталонного программного автомата и к выводу устройства для подключения третьего входа синхронизации контролируемого программного автомата, выход триггера соединен с управляющим входом генератора тактовых импульсов, выход элемента И подключен к входу сброса третьего счетчика, входу суммирования второго, счетчика и синхровходу генератора псевдослучайной последовательности, выход первого элемента ИЛИ подключен к синхронизирующим входам второго счетчика, регистра и к суммирующему входу первого счетчика, третий выход регистра соединен с вторым входом второго элемента ИЛИ, а вторая группа входов первого блока сравнения подключена к группе выходов эталонного программного аппарата.!

57!552

1571552 фее 7

Составитель А. Андерсон.

Техред М.дидык

Редактор M. Лазоренко

Корректор М. Кучерявая

Заказ 1511 Тира>н 662 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-издательский комбинат ."Патент", r. Ужгород, ул. Гагарина, 101