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

Номер патента: 1249521

Авторы: Глонти, Кормилицына, Подсвиров, Шуленин

Есть еще 1 страница.

Смотреть все страницы или скачать ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 9) (11)1) 4 С 06 Г 11/2 А ПИСАНИЕ ИЗОБРЕТЕНИЯ ЕЛЬСТВУ ВТОРСКОМУ СВИ Н,П.Куленин ицына,ство СССР 28, 1980. во СССР /28, 1983 ЕДОВАРОЛЯ я к вычисли ыть испольашинах. Цел ЬР ГОСУДАРСТ 8 ЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(57) Изобретение относительной технике и можетзовано в вычислительных изобретения - увеличение глубиныконтроля за счет обеспечения котроляочередности следования модулей программы и контроля глубины прерываний.Поставленная цель достигается тем,что в устройство для контроля следо"вания модулей программы, содержащеегенератор импульсов, счетчик времени,дешифратор, два элемента И и два элемента ИЛИ, введены два блока формирования кодов, блок памяти, группасчетчиков, регистр сдвига, регистрадреса, две группы элементов И, группа элементов ИЛИ, три элемента задержки, три элемента НЕ и два элемента ИЛИ.,4 ил., 1 табл.1249521 2 Изобретение относится к вычислительной технике и может быть использовано в бортовых вычислительных машинах.Целью изобретения является увеличение глубины контроля за счет обеспечения контроля очередности следования модулей программы и контроля прерываний.Нафиг.1 приведена блок-схема устройства для контроля следования модулей программы; на фиг.2 - схема шифратора адреса; на фиг3 - схема счетного регистра; на фиг.4 - таблица программирования блока памяти.Устройство содержит дешифратор 1, блок 2 памяти, регистр 3 адреса, первый 4 и второй 5 шифраторы адреса, элементы НЕ 6-8, генератор 9 импульсов, элементы И 10 и 11, две группы 12 и 13 элементов И, счетчик 14 времени, группу 15 счетчиков, группу 16 элементов ИЛИ, элементы ИЛИ 17-20, регистр 21 сдвига, элементы НЕ 22- 24, адресные входы 25, первую 26 и вторую 27 группы информационных входов; вход 28 начальной установки, вход 29 продолжения программы, выход 30 правильности включения, выход 31 ошибки включения, выходы 32-34 сбоя, ,адресные выходы 35 и вход 36 признака адреса.Каждый из формирователей 4 и 5 адреса (фиг,2) содержит элементы ИЛИ 37, - 37 и Р групп элементов И 38,- 38 р. мера модуля программы, который подается на первую группу информационныхвходов регистра 3 адреса. Вход 36предназначен для стробирования адресной информации, поступающей с входов25 устройства на дешифратор 1. В качестве стробирующего импульса на входе 36 может быть использован сигнал, 10 сопровождающий адресную информациюиз внешнего устройства."Склеенный" с кодом адресного смещения, поступающего на вторую группуинформационньж входов регистра 3 с 15 первой группы выходов блока 2 памяти,он запишется в регистр 3 адреса посигналу с элемента ИЛИ 20, задержанному на элементе 22 задержки, величи"на которой должна быть больше или 20 равна времени формирования кода дешифратором 4По сформированному таким образомадресу произойдет выборка из блока 2памяти. При этом на выходе блока 2, 25 соединенном с элементом И 11, будетединица, если прохождение данногомодуля разрешено, и ноль, если произощпо ошибочное обращение к модулю.На второй группе выходов блока 2 30 памяти появится код дополнения максимального времени прохождения данного модуля программы. Если прохождениеданного модуля разрешено, то единицас выхода блока 2 памяти запишется внулевой разряд реверсивного регистра21 сдвига по сигналу с выхода элемента И 11, второй вход которого соединен с выходом блока 2 памяти, а первый - с выходом элемента 23 задержки. Счетный регистр (фиг.З) содержит элемент НЕ 39, элементы И-НЕ 40-47, элементы И 48-5 1, счетные триггеры 52-55 и элементы НЕ-ИЛИ 56-59.Устройство работает следующим образом.По сигналу начальной установки на входе 28 устройства обнуляются счетчики группы 15, регистр 3 адреса, счетчик 14 времени. На выходах блока 2 памяти через время, равное времени задержки в блоке памяти (время выборки), устанавливается код, соответствующий ячейке с нулевым адресом. Далее,при появлении на, входах 25 устройства кода адреса, соответствующего началу очередного модуля программы, на 1-ом из выходов первой группы дешифратора 1 появится сигнал "Начало модуля", который поступит на соответствующий вход шифратора 4. Под воздействием этого сигнала на выходах шифратора 4 сформируется код но,0 Этим элементом си вал Начало модуля"с дешифратора 1, прошедший элементИЛИ 20 и элемент 22 задержки, задер;живается на время распространениясигналов в регистре 3 адреса и времявыборки из блока 2 памяти.По сигналу с выхода элемента И 11произойдет запись кода дополнениямаксимального времени прохождениямодуля программы в счетчик 14 вре 50 Наличие. единицы на выходе нулевого разряда регистра 21 сдвига обусловит прохождение через элемент И 10 импульсов с генератора 9 на счетный вход счетчика 14 времени. Если в счетчике 14 не произойдет записи нового кода до того момента времени, когда выработается сигнал его пере1249521 продолжения текущей программы обработки прерываний, поступающий на вход 29 устройства и сдвигающий единицу в К-й разряд регистра 2 1 сдвига.Кроме того, сигнал на выходе 33 (" Сбой прерывания") может служить запрещающим для прихода любого прерывания.В разрядах ячеек, соответствующих 50 первой группе выходов блока 2 памяти,3полнения, то на выходе 34 устройствавыработается сигнал "Сбой модуля повремениПри поступлении на адресную магистраль (входы 25) кода адреса началапрограммы прерывания на одном из выходов второй группы выходов дешифратора 1, соответствующем номеру обработки прерывания, появится сигнал,который, пройдя элемент ИЛИ 18, поступит на вход сдвига вправо Ж-регистра 21 сдвига. По этому сигналу единица, записанная в нулевом разрядерегистра, перепишется в первый разряд,По сигналу с одного из выходоввторой группы выходов дешифратора 1,поданного на соответствующий входшифратора 5, на выходе этого блокасформируется код, который поступитна информационные входы счетчиковгруппы 15.Наличие единицы в первом разрядерегистра 21 сдвига позволит прохождению сигнала "Начало прерывания" свыхода элемента ИЛ. 18, задержанногона элементе 24 задержки, через первыйэлемент И группы 13 на тактовый входпервого счетчика группы. По этомусигналу произойдет запись кода дополнения максимально возможного времениобработки прерывания в первый счетчик группы 15. На время действияэтого сигнала элементы И группы 12закрыты сигналами с выхода инвертора8. Наличие единицы на выходе первогоразряда регистра 21 обусловит прохождение импульсов с генератора 9 черезпервый элемент И группы 12 на счетныйвход первого счетчика группы и обеспечит, таким образом, подсчет временипрохождения обработки прерывания первым счетчикам группы, сигнал переполнения которого, поступив на один извходов элемента ИЛИ 19, сформируетна его выходе и, следовательно, навыходе 32 устройства сигнал "Сбойпрерывания по времени",При появлении на адресной магистрали ЦВМ, т.е. на входах 25 устройства кода адреса последней командыпрограммы обработки прерываний, наодном иэ выходов третьей группы дешифратора 1 появится сигнал, которыйчерез элемент ИЛИ 17 поступит на входсдвига влево регистра 21 сдвига ипередвинет единицу, записанную в нашем случае в первый разряд, влевов нулевой разряд. 5 1 О 15 20 25 30 35 40 45 Единица в нулевом разряде регистра обеспечит прохождение импульсов генератора 9 через элемент И 1 О на счетный вход счетчика 14,времени, т.е, обеспечит продолжение счета времени прохождения модуля программы, и, поданная на вход первого элемента ИЛИ группы 16, сформирует на его выходе,(а следовательно, и на установочном входе первого счетчика группы 15 сигнал его обнуления.Разрядность регистра 2 1 определяется числом К, равным максимально допустимой глубине прерываний. Если в момент прохождения программы прерывания время прохождения которой отсчитывается -ым счетчиком группы 15 счетчиков, на выходе дешифратора 1 появится адрес начала программы следующего прерывания, т.е, на выходе элемента ИЛИ 18 формируется сигнал "Начало прерывания", то единица, записанная в д-ом разряде регистра 21 сдвига, перепишется по сигналу, поступающему с выхода элемента ИЛИ 18, на вход сдвига вправо регистра 2 1, в (х + 1)-й разряд. ЕслиФ К, то в+ 1)-й счетчик группы 15 запишется дополнение максимального времени прохождения данной программы прерывания и этот счетчик будет отсчитывать время прохождения программы прерывания, а на предыдущем х-ом счетчике сохранится значение кода, накопленного в нем до прихода очередного прерывания.Если же д = К, где К - максимально допустимая для ЦВМ глубина прерывания, то единица, записанная в К-ом разряде по сигналу с выхода элемента ИЛИ 18, перепишется в (К + 1)-й раз" ряд и сформирует сигнал на выходе 33 устройства (" Сбой прерывания"). по которому в устройстве управления ЦВМ может быть сформирован либо сигнал начального запуска ЦВМ, поступающий на вход 28 устройства, либо сигнал записываются коды адресов, по которымдолжно быть произведено обращениев случае ошибочного включения модуля.При этом на выходе 31 устройствасформируется сигнал ошибки включения,В случае зацикливания текущего модуля программы, когда на выход блока2 памяти, соединенном с элементомИ 11, записана единица и произошлопереполнение счетчика времени 1;,сформируется сигнал на выходе 34устройства.Если зацикливание произойдет впроцессе обработки программы прерывания, то сформируется сигнал на выходе переполнения одного из счетчиков группы 15 и, следовательно, навыходе 32 сбоя.Этот сигнал можно использовать вустройстве управления ЦВМ для организации повторного прохождения этойпрограммы обработки прерываний, илиже для начального пуска ЦБМ.Программирование ячеек блока 2 памяти определяется очередностью следования модулей программы.Для простоты положим, что программа сОстоит из четырех модулей, причем сначала должен выполняться толь ко первый модуль, затем может выполняться второй и третий модули и последним обрабатывается четвертый модуль, Блок-схема такой программыпоказана на Фиг.4,Модуль с номером ООО представляетсобой модуль подготовки машины к. ра боте обнуление регистров пересылкиконстант из ПЗУ в ОЗУ и т.д,)Как упоминалось вьппе, в соответствующем разряде блока 2 памяти програмьяруется единица если прохождение модуля прогаммы с номером, сформированным шифратором 4, разрешенои куль - если запрещено, В разрядах второй гругпы выходов записывается код дополнения максимально возможного времени выполненияЯ модуля если прс 1 хождение - оз зшено, и нули в противном случае,В разрядах третьей группы вчхад в блока 2 памяти записывается код ад. реса программы, по которому ЦВМ долж-на обратиться, если прохождение мдуля не разрешено или в случае переполнения счетчика 14 времени ,зз.;,икливание модуля), если прохождение модуля разрешено.В разрядах первой группы выходов записывается код адресного смещения задающего зону блока 2 памяти, в когорую должно быть обращено по приходе следующего модуля программы, т.е. каждая зона, задаваемая адресным смещением, характеризует определенное состояние программы.Из программы видно, что сначала выполняется только первый модуль, т,е, нулевая зона соответствует приходу первого модуля, гоэтому в разряде. соответствующем отдельному выходу блока 2 па.яти,е-.,иница будет записана топько по адресу 0001.0000, где точкой отделены разряды, поступающие с шифратора 4 формирования кодов (0001) и разряды адресного смещения (0000), причем, в разрядах, соответствующих первой группе выходов блока 2 памяти, загишем 0001, что означает; после прохождения первого модугя программы должно бьть обращение к первой зоне, соответствующей состоянию программъ, в котором ЦВМ выполнила первый модуль и ожидает прихода либо второго, либо третьего ".оцуля, следовательно в зоне 0001 единицы в разряде, соответствующем отдельному выходу, будут записаны по адресам 0010,0001 и 0011.0001. В адресном смеще;-ии по этим адресам будет.записан код 0010, что соответ" ствует обращения ко второй зоне блока 2 памяти чо приходе следующего модуля. Вторая зона блока 2 памяти соответствует состоянию программы, прикотором выполнены первыи модуль, второй или третий, и ожидается приходчетвертого модуля. Поэтому в разряде,соответствующем отдельному выходублока 2 памяти, оудет записана едини"ца лишь по адресу 0100,0010.В таблице программирования блокапамяти символами ХХХХ. ХХХ 2, ХХХЗХХХ 4 обозначены коды дополнения максимально возможного времени прохождения модулей программы соответственнопервого ворого, третьего и четвертого модулей программы Разряды, соответствупщие третьей группе выходовлока 2 памяти, в таблице не приветеньПри циклич,ск ор з.;иоации грг -райш в ячейка" адресно;о смещенияло адресу 0100,0010 необходимо запиать 0000,орьула .;з эбретения Устройство для,:.онт 1 оля с.едоваия .:.одулей :;,.;огра 1 ь, содержащееэлементов ИЛИ группы, вторая группавыходов дешифратора соединена с соответствующим входом второго элементаИЛИ и с первой группой информационныхвходов второго шифратора адреса,группа входов времени прохождениямодуля программы устройства соединена с второй группой информационныхвходов второго шифратора адреса, выход которого соединен с информационными входами счетчиков группы, выходпереполнения каждого счетчика группысоединен с соответствующим входомтретьего элемента ИЛИ, выход которогоявляется выходом сбоя прерываниявремени устройства, выход переполнения счетчика времени является выходом сбоя времени проходящего модуляпрограммы устройства, выход второгоэлемента ИЛИ соединен с входом разрешения сдвига вправо регистра сдвига, через третий элемент задержки спервыми входами элементов И второй.группы и через третий элемент НЕ с1вторыми входами элементов И второйгруппы, выход каждого элемента И первой группы соединен с счетным входомсоответствующего счетчика группы,гретья группа выходов дешифраторасоединена с группой входов четвертого элемента ИЛИ, выход которого соединен с входом разрешения сдвига влево регистра сдвига, вход продолженияпрограммы устройства соединен с входом четвертого элемента ИЛИ, каждыйвыход регистра сдвига с первого по(К - 1)-ый, где К - количество разрешенных прерываний, соедин-н с вторымвходом соответствующего элемента Ипервой группы, с вторым входом соответствующего элемента И второй группы, К-ый выход регистра сдвига соединен с третьим входом К-го элементаИ первой группы, с вторым входом К-гоэлемента И второй группы, нулевойвыход регистра сдвига соединен с третьим входом второго элемента И и свторым входом первого элемента ИЛИ.группы, (К + 1)-ый выход регистрасдвига является выходом сбоя прерывания устройства, выходы элементовИЛИ группы соединены с входами начальной устанОвки соответствующихсчетчиков группы, выход каждого элемента И второй группы соединены свходом записи соответствующего счетчика группы. 10 генератор импульсов, счетчик времени,дешифратор, два элемента И и дваэлемента ИЛИ, о т л и ч а ю щ е е с ятем, что, с целью увеличения глубиныконтроля, в устройство введены первый и второй шифраторы адреса, блокпамяти, группа счетчиков, регистрсдвига, регистр адреса, две группыэлементов И, группа элементов ИЛИ,три элемента задержки, три элементаНЕ, два элемента ИЛИ, причем адресныевходы устройства соединены с информационными входами дешифратора, входпризнака адреса устройства соединен 5с тактовым входом дешифратора, первая группа выходов дешифратора соединена с входами первого элементаИЛИ и с первой группой информационных входов первого шифратора адреса, 20группа входов номера модуля программы устройства соединена с второйгруппой информационных входов первого шифратора адреса, выход элементаИЛИ через первый элемент задержки 25соединен с входом записи регистраадреса и через второй элемент задержки - с первым входом первого элемента И, выход которого соединен с входом записи счетчика времени, и регистра сдвига, и через первый элементНЕ - с первым входом второго элемента И, выходы первого шифратора адре.са соединены с первой группой информационных входов регистра адРеса, З 5выходы которого соединены с адресными входами блока памяти, первая, вторая и третья группы выходов блока памяти соединены соответственно с второй группой информационных входоврегистра адреса, с группой адресныхвыходов устройства, с информационными входами счетчика времени, выходгенератора импульсов соединен с первыми входами элементов И первой группы и с вторым входом второго элемента И, выход которого соединен с счет-ным входом счетчика времени, выходблока памяти соединен с вторым входом первого элемента И, с информационным входом регистра сдвига, с выходом правильности обращения устройства и через второй элемент НЕ - свыходом ошибки обращения устройства,вход начальной установки устройствасоединен с входом начальной установки регистра адреса, счетчика времени регистра сдвига и с первым входами1249521 Адрес Содержание ячейки Зона Зона 0000 0000 0000 0001 0000 0001 0000 0010 0 0000 0011 0100 0000 0 0000 0001 0 0001 0001 0 0011 0010 0010 00100001 0011 0100 0001 0 0010 0000 0 0 0010 0001 0 0010 0010 0010 0 0011 ХХХХ 4 0000 0100 0010- в случае циклического повторения программьц+- пусковой модуль,Номер Адресное модуля смещение адресногосмещения Зона разрешенияпрохождениямодуля временикодов ХХХХО ХХХХ 1 ХХХХ 2 КХХХЗ1249521 Составитель И.СигаловТехРед О,ГортваД КоРРектоР С.Век двктор Н,Егорова Тирах 671 НИИПИ Государстве по делам изобре 13035, Москва, Ж аказ 4326/ но е ческое предпри ооизводственно-пол Подписноекомитета СССРи открытийаушская наб., д,Увгород, ул.Проектн

Смотреть

Заявка

3832907, 02.01.1985

ПРЕДПРИЯТИЕ ПЯ А-1639

ПОДСВИРОВ АЛЕКСАНДР АЛЕКСАНДРОВИЧ, КОРМИЛИЦЫНА НАТАЛИЯ ПЕТРОВНА, ГЛОНТИ ЕВГЕНИЙ ВЛАДИМИРОВИЧ, ШУЛЕНИН ЮРИЙ ВАСИЛЬЕВИЧ

МПК / Метки

МПК: G06F 11/28

Метки: модулей, программы, следования

Опубликовано: 07.08.1986

Код ссылки

<a href="https://patents.su/9-1249521-ustrojjstvo-dlya-kontrolya-sledovaniya-modulejj-programmy.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля следования модулей программы</a>

Похожие патенты