Изобретение относится к вычислительной технике и может быть использовано в бортовых вычислительных машинах.
Целью изобретения является увеличение глубины контроля за счет обес- печения контроля очередности следования модулей программы и контроля прерываний .
На фиг.1 приведена блок-схема устройства для контроля следования модулей программы; на фиг.2 - схема шифратора адреса; на фиг.З - схема счетного регистра; на фиг.4 - таблица программирования блока памяти.
Устройство содержит дешифратор 1, блок 2 памяти, регистр 3 адреса, первый 4 и второй 5 шифраторы адреса, элементы НЕ 6-8, генератор 9 импульсов, элементы И 10 и 11, две группы 12 и 13 элементов И, счетчик 14 времени j группу 15 счетчиков, группу 16 элементов ИЛИ, элементы ИЛИ 17-20, регистр 21 сдвига, элементы НЕ 22- 24, адресные входы 25, первую 26 и вторую 27 группы информационных входов j вход 28 начальной установки, вход 29 продолжения программы, выход 30 правильности включения, выход 31 ошибки включения, выходы 32-34 сбоя, .адресные выходы 35 и вход 36 признака адре:са.
Каждый из формирователей 4 и 5 адреса (фиг.2) содержит элементы ИЛИ Р групп . элементов
37, - 37 И 38,- 38р
и
Счетный регистр (фиг.З) содержит элемент НЕ 39, элементы И-НЕ 40-47, элементы И 48-51, счетные триггеры 52-55 и элементы НЕ-ИЛИ 56-59.
Устройство работает следующим образом.
По сигналу начальной установки на входе 28 устройства обнуляются счетчики группы 15, регистр 3 адреса, счетчик 14 времени. На выходах блока 2 памяти через время, равное времени задержки в блоке памяти (время выборки), устанавливается код, соответствующий ячейке с нулевым адресом. Далее,при появлении на, входах 25 устройства кода адреса, соответствующего началу очередного модуля программы, на i-oM из выходов первой группы дешифратора 1 появится сигнал Начало модуля, которьй поступит на соответствующий вход шифратора 4, По воздействием этого сигнала на выходах шифратора 4 сформируется код номера модуля программы, который подается на первую группу информационных входов регистра 3 адреса. Вход 36
предназначен для стробирования адресной информации, поступающей с входов 25 устройства на дешифратор 1. В качестве стробирующего импульса на входе 36 может быть использован сигнал,
сопровождающий адресную информацию из внешнего устройства.
Склеенный с кодом адресного смещения, поступающего на вторую группу информационных входов регистра 3 с
первой группы выходов блока 2 памяти, он запишется в регистр 3 адреса по сигналу с элемента ИЛИ 20, задержанному на элементе 22 задержки, величина которой должна быть больше или
равна времени формирования кода дешифратором 4.
По сформированному таким образом адресу произойдет выборка из блока 2 памяти. При этом на выходе блока 2,
соединенном с элементом И 11, будет единица, если прохождение данного модуля разрешено, и ноль, если прои- зопшо ошибочное обращение к модулю. На второй группе выходов блока 2
памяти появится код дополнения максимального времени прохождения данного модуля программы. Если прохождение данного модуля разрешено, то единица с выхода блока 2 памяти запишется в
нулевой разряд реверсивного регистра 21 сдвига по сигналу с выхода элемента И 11, второй вход которого соединен с выходом блока 2 памяти, а первый - с выходом элемента 23 задержки.
,Этим элементом сигнал Начало модуля с дешифратора 1, прошедший элемент ИЛИ 20 и элемент 22 задерйжи, задер ;- живается на время распространения сигналов в регистре 3 адреса и время
выборки из блока 2 памяти.
По сигналу с выхода элемента И 11 произойдет запись кода дополнения максимального времени прохождения модуля программы в счетчик 14 времени.
Наличие единицы на выходе нулевого разряда регистра 21 сдвига обусловит прохождение элемент И 10 импульсов с генератора 9 на счетный вход счетчика 14 времени. Если в счетчике 14 не произойдет записи нового кода до того момента времени, когда выработается сигнал его переполнення, то на выходе 34 устройства выработается сигнал Сбой модуля по времени.
При поступлении на адресную магистраль (входы 25) кода адреса начала программы прерывания на одном из выходов второй группы выходов дешифратора 1, соответствующем номеру обработки прерывания, появится сигнал, который, пройдя элемент ИЛИ 18, поступит на вход сдвига вправо SR-регис т-ра 21 сдвига. По этому сигналу единица, записанная в нулевом разряде регистра, перепишется в первый раз- ряд.
По сигналу с одного из выходов второй группы выходов дешифратора 1, поданного на соответствующий вход шифратора 5, на выходе этого блока сформируется код, который поступит на информационные входы счетчиков группы Т 5.
Наличие единицы в первом разряде регистра 21 сдвига позволит прохождению сигнала Начало прерывания с выхода э.лемента ИЛ; 18, задержанного на элементе 24 задержки, через первый элемент И группы 13 на тактовый вход первого счетчика группы. По этому сигналу произойдет запись кода дополнения максимально возможного времени обработки прерывания в первый счетчик группы 15. На время действия этого сигнала элементы И группы 12 закрыты сигналами с выхода инвертора 8. Наличие единицы на выходе первого разряда регистра 21 обусловит прохождение импульсов с генератора 9 через первый элемент И группы 12 на счетный вход первого счетчика группы и обеспечит, таким образом, подсчет времени прохождения обработки прерывания первым счетчиком группы, сигнал переполнения которого, поступив на один из . входов элемента ИЛИ 19, сформирует . на его выходе и, следовательно, на выходе 32 устройства сигнал Сбой прерывания по времени.
При появлении на адресной магистрали ЦВМ, т.е. на входах 25 устройства кода адреса последней команды программы обработки прерываний, на одном из выходов третьей группы дешифратора 1 появится сигнал, который через элемент ИЛИ 17 поступит на вход сдвига влево регистра 21 сдвига и передвинет единицу, записанную в нашем случае в первый разряд, влево - в нулевой разряд.
0
5
Единица в нулевом разряде регистра обеспечит прохождение импульсов генератора 9 через элемент И 10 на счетный вход счетчика 14/времени, т.е. обеспечит продолжение счета времени прохождения модуля программы, и, поданная на вход первого элемента ИШ группы 16, сформирует на его выходе, а следовательно, и на установочном входе первого счетчика группы 15 сигнал его обнуления.
Разрядность регистра 21 определяется числом К, равным максимально допус имой глубине прерываний. Если в момент прохождения программы прерывания время прохождения которой отсчитывается i-ым счетчиком группы 15 счетчиков, на выходе дешифратора 1 появится адрес начала программь сле- 0 дующего прерывания, т.е. на выходе элемента ИЛИ 18 формируется сигнал Начало прерывания, то единица, записанная в i-oM разряде регистра 21 сдвига, перепишется по сигналу, пос- 5 тупающему с выхода элемента ИЛИ 18, на вход сдвига вправо регистра 21, в (i + 1)-й разряд. Если i К, то в (i + 1)-й счетчик группы 15 запишется дополнение максимального времени про- 0 хождения данной программы прерывания и этот счетчик будет отсчитывать время прохождения программы прерывания, а на предьщущем i-ом счетчике сохранится значение кода, накопленного в нем до прихода очередного прерывания. Если же i К, где К - максимально допустимая для ЦВМ глубина прерывания, то единица, записанная в К-ом разряде по сигналу с выхода элемента ИЛИ 18, перепишется в (к + 1)-й разряд и сформирует сигнал на выходе 33 устройства (Сбой прерьгоания), по которому в устройстве управления ЦВМ может быть сформирован либо сигнал начального запуска ЦВМ, поступающий на вход 28 устройства, либо сигнал продолжения текущей программы обработки прерываний, поступающий на вход 29 устройства и сдвигающий единицу в К-й разряд регистра 21 сдвига.
Кроме того, сигнал па выходе 33 (Сбой прерывания) может служить запрещающим для прихода любого прерывания.
В разрядах ячеек, соответствующих первой группе выходов блока 2 памяти, записываются коды адресов, по которым должно быть произведено обращение в случае ошибочного включения модуля.
5
0
0
При этом на выходе 31 устройства сформируется сигнал ошибки включения В случае зацикливания текущего модуля программы, когда на выходе блока 2 памяти, соединенном с элементом И 11, записана единица и произотлто переполнение счетчика времени , Сформируется сигнал на выходе 34 устройства.
Если зацикливание произойдет в процессе обработки программы прерывания, то сформируется сигнал на вы-- ходе переполнения одного из счетчиков группы 15 и, следовательно, на выходе 32 сбоя.
Этот сигнал можно использовать в устройстве управления ЦВМ для организации повторного прохождения этой программы обработки прерываний, или же для начального пуска ЦВМ,
Программирование ячеек блока 2 па мяти определяется очередностью следования модулей программы.
Для простоты положим, что програм ма состоит из четырех модулей, причем сначала должен выполняться только первый модуль, затем может выполняться второй и третий модупи и последним обрабатывается четвертый модуль. Блок-схема такой программы показана на фиг.4
Модуль с номером 000 представляет собой модуль подготовки машины к. работе (обнуление регистров пересьшки констант из ПЗУ в ОЗУ и т.д.).
Как упоминалось зьапе, в соответ- ствующег разряде блока 2 памяти прог рамг ируется единица, если прохол де- ние модуля програм л. с номером, сформированным шифргл ором 4, разрешено, и нуль - если запрещено.
В разрядах второ,й группы выходов записывается код дополнения максимально возмоясного времени зь полнения модуля, если прохозкдение его разрешено, и нули в противном случае.
В разрядах третьей группы выходов блока 2 памяти залисызается код ад- реса программы, по которому ЦВМ дол;к на обратиться, если прохож,1;,ение модуля ке разрешеноt или в случае переполнения счетчика 14 времени (зддик- ливание модуля). если прохождение модуля разрешено,
В разрядах первой группы выходов записывается код ад:ресного смещения, заданяцего зону блока 2 памятиg в ко
10
ts
20
25
«
торую должно быть обращено по приходе следующего модуля программы, т.е. каждая зона, задаваемая адрес- смещением5 характеризует определенное состояние программы.
Из программы видно, что сначала выполняется только первый модуль, ,т,е, нулевая зона соответствует приходу первого модуля, поэтому в разряде, соответствующем отдельному выходу блока 2 памяти 5 единица будет записана только по адресу 0001.0000, где точкой отделены разряды поступающие с шифратора 4 формирования кодов (0001), и разряды адресного смещения (0000), причем, в разрядах, соответствующих первой группе выхо- дозз блока 2 памяти, запишем 0001, что означает: после прохождения первого модуЛя nporpaf.jMb должно быть обращение к первой зоне, соответствующей состоянию программы в котором ЦВМ выполнила первый модуль и ожидает прихода либо второго, либо третьего -юдуля, следовательно, з зоне 0001 единицы в разряде, соответствующем отдельному выходу будут записаны по адресам 0010.0001 и 0011.0001. В адреском смещении по этим адресам будет, записан код 0010 что соответ- стаует обращ.ению ко, второй зоне 2 памяти по приходе следующего модуля. Вторая зона блока 2 памяти соот- ветстБует состоянию программы, при котором выполнены первый модуль, второй или третиЙ5 и ожидается приход четвертого модуля. Пoэтo y в разряде, соответствующем отдельному выходу блока 2 памяти, будет записана единица лишь по адресу 0100.0010.
В таблице программирования блока памяти символами XXXI, ХХХ2, ХХХЗ ХХХ4 обозначены коды дополнения мак- симах1ьно возможного времени прохождения модулей програм ш соответственно первого5 второго третьего и четвертого модулей программы. Разряды, соответствующие третьей группе выходов о л ока 2 nai-iHTHs в таблице не приве- цеш-;.
При циклической организации прог- раммь в ячейках адресного смещения по адресу 0100.0019 необходимо запи- -ать 0000.
Формула изобретения
З стройстьо контроля с; 1едова-- иия кодулей Пь;ограм -;ь1; содержащее
генератор импульсов, счетчик времени дешифратор, два элемента И и два элемента ИЛИ, отличающеес тем, что, с целью увеличения глубины контроля, в устройство введены первый и второй шифраторы адреса, блок памяти, группа счетчиков, регистр сдвига, регистр адреса, две группы элементов И, группа элементов ИЛИ, три элемента задержки, три элемента НЕ, два элемента ИЛИ, причем адресны входы устройства соединены с информационными входами дешифратора, вход .признака адреса устройства соединен с тактовым входом дешифратора, первая группа выходов дешифратора соединена с входами первого элемента ИЛИ и с первой группой информацион- ных входов первого шифратора адреса, группа входов номера модуля программы устройства соединена с второй группой информационных входов первого шифратора адреса, выход элемента ИЛИ через первый элемент задержки соединен с входом яаписи регистра адреса и через второй элемент задержки - с первым входом первого элемента И, выход которого соединен с входом записи счетчика времени, и регис тра сдвига, и через первый элемент НЕ - с первым входом второго элемента И, выходы первого шифратора адре- .са соединены с первой группой информационных входов регистра адреса, выходы которого соединены с адресными входами блока памяти, первая, вторая и третья группы выходов блока памяти соединены соответственно с второй группой информационных входов регистра адреса, с группой адресных выходов устройства, с информационными входами счетчика времени, выход генератора импульсов соединен с пер- вьЪда входами элементов И первой группы и с вторым входом второго элемента И, выход которого соединен с счетным входом счетчика времени, выход блока памяти соединен с вторым входом первого элемента И, с информаци- онным входом регистра сдвига, с выходом правильности обращения устройства и через второй элемент НЕ - с выходом ошибки обращения устройства, вход начальной установки устройства соединен с входом начальной установки регистр1а адреса, счетчика времени регистра сдвига и с первым входами
элементов ИЛИ группы, вторая г руппа выходов дешифратора соединена с соответствующим входом второго элемента ИЛИ и с первой группой информационны входов второго шифратора адреса, группа входов времени прохождения модуля программы устройства соединена с второй группой информационных входов второго шифратора адреса, выход которого соединен с информационными входами счетчиков группь, выход переполнения каждого счетчика группы соединен с соответствующим входом третьего элемента ШШ, выход которог является выходом сбоя прерывания времени устройства, выход переполнения счетчика времени является выходом сбоя времени проходящего модуля программы устройства,, выход второго элемента ИЛИ соединен с входом разрешения сдвига вправо регистра сдвига, через третий элемент задержки с первыми входами элементов И второй .группы и через третий элемент НЕ с вторыми входами элементов И второй группы, выход каждого элемента И первой группы соединен с счетньм входом соответствующего счетчика группы, третья группа выходов дешифратора соединена с группой входов четвёртого элемента ИЛИ, выход которого соединен с входом разрешения сдвига влево регистра сдвига, вход продолжения программы устройства соединен с входом четвертого элемента ИЛИ, каждый выход регистра сдвига с первого по (к - 1)-ый, где К - количество разрешенных прерываний, соединен с вторым входом соответствующего элемента И первой группы, с вторым входом соответствующего элемента И второй группы, К-ый выход регистра сдвига соединен с третьим входом К-го элемента И первой группы, с вторым входом К-го элеме.нта И второй группы, нулевой выход регистра сдвига соединен с третьим входом второго элемента И и с вторым входом первого элемента ИЛИ.. группы, (К + 1)-ь1Й выход регистра сдвига является выходом сбоя прерывания устройства, выходы элементов .ИЛИ группы соединены с входами начальной установки соответствующих счетчиков группы, выход каждого элемента И второй группы соединены с входом записи соответствующего счетчика группы.
.- в случае циклического повторения программы; Jt пусковой модуль.
KM}
название | год | авторы | номер документа |
---|---|---|---|
Устройство для сопряжения ЦВМ с группой абонентов | 1988 |
|
SU1559349A1 |
УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ ЦВМ С КАНАЛОМ СВЯЗИ | 1991 |
|
RU2011217C1 |
Имитатор абонентов | 1983 |
|
SU1291987A1 |
УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ С КАНАЛАМИ СВЯЗИ | 1990 |
|
RU2020565C1 |
УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ ЦИФРОВОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ С КАНАЛАМИ СВЯЗИ | 1992 |
|
RU2032938C1 |
Устройство для сопряжения цифровой вычислительной машины (ЦВМ) с абонентами | 1984 |
|
SU1234843A1 |
Устройство для обмена информацией | 1982 |
|
SU1048468A1 |
Устройство для программного управления | 1989 |
|
SU1728849A1 |
Аналого-цифровая вычислительная система и аналоговая вычислительная машина (ее варианты) | 1983 |
|
SU1259300A1 |
Устройство для сопряжения цифровой вычислительной машины с каналом связи | 1991 |
|
SU1837301A1 |
Изобретение относится к вычисли,- тельной технике и может быть использовано в вычислительных машинах. Цель изобретения - увеличение глубины контроля за счет обеспечения контроля очередности следования модулей прог- раммь и контроля глубины прерываний. Поставленная цель достигается тем, что в устройство для контроля следования модулей программы, содержащее генератор импульсов, счетчик времени, дешифратор, два элемента И и два элемента ИЛИ, введены два блока формирования кодов, блок памяти, группа счетчиков, регистр сдвига, регистр адреса, две группы элементов И, группа элементов ИЛИ, три элемента задержки, три элемента НЕ и два элемента ИЛИ..4 ил., 1 табл. (f С
+ i
л
щ
f
n
t
W
й„
f
1
фигА
Устройство для определения знакапЕРВОй пРОизВОдНОй | 1979 |
|
SU834713A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Устройство для контроля хода программ | 1983 |
|
SU1101831A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1986-08-07—Публикация
1985-01-02—Подача