Устройство для отладки мультипрограммных систем Советский патент 1992 года по МПК G06F11/28 

Описание патента на изобретение SU1735855A1

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

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

На чертеже приведена функциональная схема устройства,

Устройство для отладки микропрограммных систем содержит первый 1.1 и итооой 1.2 блоки памяти, блок 2 регистров, генератор 3 тактовых импульсов, первый 4, второй 5 и третий 6 сумматоры, третий счетчик 7, первый 8,1 и второй 8.2 счетчики, первый 9.1 и второй 9.2 триггеры пуска, первый 10 и второй 11 триггеры блокировки, первый 12,1 и второй 12«2 триггеры занятости ресурса, счетный триггер 13, первьн4 14,1 и второй 14, дешифраторы, комбинационный сумматор 15, блок 16 индикации, первый 17.1 и второй 17.2 преобразователи кодов команд в коды времени, первый 18,1 и второй 18,2 коммутаторы, третий 19, четвертый 20,1, пятый 20.2, второй 21,1 и первый 21,2 элементы И, третий 22, четвертый 23 элементы ИЛИ, группу 24 выходов блока 2 регистров, восьмой 25, первый 26, шестой 27, девятый 28, второй 29, седьмой 30, пятый 31 элементы ИЛИ, одновибратор 32, первый 33 и второй 34 элементы задержки, группу 35 информационных входов устройства, тактовый вход 36 устройства, первую 37, вторую 38, третью 39 и четвертую 40 группы входов блока 16 индикации, первый 41,1, второй 41,2, третий 41,3 и четвертый 41.4 выходы генера5

тора 3 тактовых импульсов, второй

42.1,первый 42.2, третий 42.3 и

0 четвертый 42.4 выходы первого дешифратора 14,1, третий 43.1, четвертый

43.2,первый 43«3 и второй 43.4 выходы второго дешифратора 14.2.

Устройство для отладки мультипро- 5 граммных систем работает следующим образом,

В исходном состоянии все элементы памяти, кроме первого 1.1 и второго 1,2 .блоков памяти, блока 2 регистров, 0 обнулены (цепи установки элементов памяти в исходное не показаны). Устройство для отладки мультипрограммных систем может функционировать как в режиме контроля мультипрограммных систем, так и в режиме моделирования работы мультипрограммной системы, Второй режим предназначен, например, для оценки, производительности данной системы. В первом ре- л жиме, когда система контролируется по времени обработки программ, в первый 1.1 и второй 1,2 блоки памяти заносятся реальные программы функционирования мультипрограммной системы, В режиме моделирования в блоки 1.1 и 1.2 памяти помещаются смеси команд, которые сформированы по закону распределения вероятностей

генератором псевдослучайных чисел с заданными характеристиками, однозначно соответствующими программному обеспечению отлаживаемой системы. Для моделирования мультипрограммного режима в каждую смесь случайным образом заносятся команды обращения к некритичным ресурсам (для ЕС ЭВМ - команды SVC), команды обращения к критичным ресурсам: занятия ресурса SVCP(V;) и освобождение

5

0

5

SVCV(Vj), где P(Vj) - есть значения семафора, говорящего о занятии ре- сурса, a V(V;) - об освобождении ресурса. Как и в реальных программах, команды обращения к ресурсам располагаются в смеси следующим образом: вслед за командой занятий 1-г ресурса SVCP(V4) следует через случайное число команд команда SVCV(V,) освобождение этого ресурса, в обратном порядке эти команды в смеси не встречаются.

Конец каждой программы обозначается считыванием из блоков 1.1- и 1.2 памяти команды Конец программы.

В регистрах блока 2 регистров размещены коды приведенных времен обработки программной - супервизором системы прерванной, каждому типу прерванной соответствует свой заданный код времени.

Перед началом работы устройства код начального адреса подается на группу 35 входов устройства. Сигналом Пуск с входа 36 устройства триггеры 9,1 и 9.2 пуска установятся в единичное состояние. Сигналом на выходе элемента ИЛИ 22 по синхровхо- ду в счетчики 8.1 и 8.2 адреса запишется код начального времени. Этим же сигналом запустится генератор 3 тактовых импульсов и откроется элемент И 19 для прохождения первых тактовых импульсов с выхода 1.1 генератора 3 тактовых импульсов на счетный вход кольцевого счетчика 7. Кольцевой счетчик 7 настроен на число импульсов, соответствующее кванту времени, отводимому на обработку одной из задач, после чего ресурс занимает другая задача (по сигналу переполнения счетчика 7)

Сигналом на прямом выходе счетного триггера 13 открыт элемент И 20.1 для прохождения вторых тактовых импульсов с выхода П .2 генератора 3 тактовых импульсов на счетный вход счетчика 8.1 адреса, по этим импульсам на группе выходов счетчика 8.1 адреса формируется код адреса, по которому из блока 1.1 памяти выбирается очередная команда. Каждой выбранной из блока 1.1 памяти команде преобразователем 17.1 кодов ставится в соответствие определенный код приведенного времени,-инициирующий время обработки данной команды. Код приведенного времени по третьему тактовому импульсу с выхода Н.3

Ю

5

0

5

генератора 3 тактовых импульсов че- . рез коммутатор 18.1 поступит на труп1- пу входов сумматора 6, куда он запишется по заднему фронту импульса с выхода 1,3 генератора 3 тактовых импульсов. По окончании кванта времени - переполнению счетчика 7, на счетный вход счетного триггера 13 поступит сигнал,, по которому данный триггер 13 изменит свое состояние, при котором единичный сигнал появится на инверсном выходе счетного триггера 13, т.е. элемент И 20,1 закроется для вторых тактовых импульсов с выхода П .2 генератора 3, а элемент И 20.2 откроется. Таким образом, вторые тактовые импульсы начнут поступать на второй счетчик 8.2 адреса, т.е. в данный квант времени . будет обрабатываться вторая задача, алгоритм обработки команд которой аналогичен описанному для первой задачи. Сигнал переполнения счетчика 7 также поступит на соответствующий вход блока 2 регистров, по этому сигналу на группе 2k выходов появится код приведенного времени, инициирующий время обработки супервизором прерывания по окончании кванта времени.

Код времени работы супервизора с группы 2k выходов блока 2 регистров поступит на сумматор k и через элемент 3k задержки и коммутатор 18.1 по второму тактовому импульсу с выхода 1.2 генератора 3 тактовых импульсов поступит на сумматор 6. На группу выходов коммутатор 18.2 коды . не поступают, так как коммутатор 0 18.1 закрыт сигналом логической 1 с прямого выхода счетного триггера 13. Код приведенного времени работы супервизора в сумматоры А и 6 запишется по заднему фронту второго тактового импульса с выхода 41,2 гене- ратора 3 тактовых импульсов. Таким образом, время работы супервизора распределяется по задачам, суммируется ко времени той задачи, чьи запросы она отрабатывала.

В случае считывания из блока 1.1 (K2J памяти кода команды обращения к некритичному ресурсу (SVC) данный код поступит как на преобразователь 5 17.1 (17.2) кодов, так и на дешиф- ратор (1.2).

Допустим, считывание команды SVC произошло во время кванта времени первой задачи. Значит, код с группы

0

5

5

0

выходов преобразователя будет соответствовать времени, затраченному системой на инициализацию этой команды SVC. У дешифратора 14.1 по коду команды SVC по третьему тактовому импульсу с выхода 41.3 генератора 3 тактовых импульсов на выходе 42.3 появится сигнал, который через элемент ИЛИ 29 поступит на соответствующий вход блока регистров, на группе 2 выходов которого по этому сигналу появится код приведенного времени, необходимый супервизору для обработки обращения первой программы, к некритичному ресурсу. Данный код времени запишется в сумматор 4 четвертым тактовым импульсом с выхода 41.4 генератора 3 тактовых импульсов, а в сумматор 6 по заднему фронту третьего тактового импульса запишется код времени, затраченного на выборку команды SVC. По заднему фронту четвертого тактового импульса запишется код времени, затраченный супервизором на работу по обработке данного прерывания.

При считывании из блока 1.1 (1.2) памяти команды обращения к критичном ресурсу SVCP (Vj) данный код поступит на группу входов дешифратора 14. (14.2). Предположим, что дешифратор

14.1дешифрирует этот код, на выходе

42.2дешифратора 14.1 появится импульс по приходу третьего тактового импульса с выхода 41.3 генератора 3 тактовых импульсов. Сигнал с выхода 42.2 дешифратора 14.1 поступит на единичный вход триггера 12.1 и элемент ИЛИ 26. Сигнал с выхода элемента

ИЛИ 26 разрешит выдачу из блока 2 регистров кода времени,необходимого супервизору для обработки данного прерывания.

Единичное состояние триггера 12.1 свидетельствует о том, что критичный ресурс занят.

В случае окончания кванта времени отведенного для обработки первой задачи, а считывания команды освобождения ресурса SVCV(V;) остается занятым первой задачей. Сигнал переполнения на выходе счетчика 7 разрешит работу второй задачи, счетчик 8.2 адреса начнет формировать коды адресов с того числа, на котором произошло предыдущее прерывание по вре мени. Если вторая программа запросит ресурс, который занят первым ресурсом, то произойдет блокировка

5

решения второй задачи и управление перейдет к первой задаче. Данный процесс происходит следующим образом Считанный из блока 1.2 памяти код SVCP2(V;) поступит на преобразова- , тель 17.2 кодов и дешифратор 14.2, У дешифратора 14.2 на соответствующем выходе 43.4 появится сигнал, который разрешит считывание соответствующего кода времени из блока 2 регистров, а также поступит на второй вход открытого по первому входу элемента И 21.1.

Сигнал с выхода элемента И 21.1 через элемент ИЛИ 30 установит в единичное состояние триггер 10, а также обнулит сч-етчик 7. Потенциальный сигнал с прямого выхода триггера 10 изменит состояние триггера 13 (отдаст управление первой задаче). Триггер 13 будет в единичном состоянии до тех пор, пока из блока 1.1 памяти не будет считана команда освобождения ресурса ) даже, если данная команда будет считана не в этом кеанте времени, а К-том (сигналы переполнения счетчика 7 не будут оказывать влияние на счетный триггер 13). При поступлении команды ) на группу входов дешифратора 14.1 на выходе 42.3 появится импульс, который через элемент ИЛИ 29 считает из блока 2 регистров код времени работы супер- 5 визора для этой команды, обнулит триггеры 12.1 и 12.2, а также триггер 11. Теперь по очередному сигналу переполнения счетчика 7 триггер 13 изменит свое состояние на противоположное (т.е. установится квант

5

0

0

времени для другой задачи).

В случае окончания одной из программ сигнал Конец программы с выхода 42.1 (43.1) дешифратора 14.1

5 (14.2) обнулит триггер 9.1 (9.2) пуска, а также поступит через элемент ИЛИ 25 на единичный вход триггера 10, сигнал с прямого выхода которого перебросит триггер 13 в про0 тивоположное состояние,.передав окончательно управление другой программе. Также сигнал с выхода элемента ИЛИ 25 разрешит выдачу кода времени обработки прерывания по времени су5 первизором из блока 2 регистров. По сигналу Конец программы свидетель- - ствующего об окончании обработки дру-i гой программы, обнулится соответст- f вующий триггер 9.1 (9,2) пуска, на

9

выходе элемента ИЛИ 22 пропадет сигнал, тем самым генератор 3 тактовы импульсов остановится ,

В момент окончания одной из программ при обнулении соответствующего триггера 9.1 (9.2), единичный сигнал с инверсного выхода данного триггера поступит на запрещающий вход одного из сумматоров 5 (6). Данный сумматор 5 (6) прекратит работу, зафиксировав на своей группе выходов код времени обработки соответствующей задачи, который отразится на блоке 16 индикации. При завершении обработки другой задачи при обнулении соответствующего триггера 9.1 (9.2) на группе выходов соответствующего сумматора зафиксируется код времени обработки данной задачи.

Суммарные коды времени обработки задач поступают на соответствующие группы входов комбинационного сумма- |тора 15, тем самым код на группе 39 выходов которого будет соответствовать времени работы мультипрограммно системы. Данное время складывается |из времени обработки первой задачи с учетом работы супервизора, а также времени обработки второй задачи с учетом работы супервизора в интересах второй задачи. Сумматор А с группы 37 выходов выдает на блок 16 индикации код суммарного времени работы программ супервизора. Таким образом, блоком 16 индикации будет отображено четыре характеристики мультипрограммной системы: общее время функционирования системы, время обработки первой задачи, время обработки второй задачи, время работы супервизора.

Форм, у л а изобретения

Устройство для отладки мультипрограммных систем, содержащее блок регистров, генератор тактовых импульсов, первый и второй счетчики, первый и второй дешифраторы, первый и второй элементы И, первый, второй и третий элементы ИЛИ, причем первый выход первого дешифратора подключен к первому входу первого элемента И и к первому входу первого элемента ИЛИ, выход которого подключен к первому входу блока регистров, первый выход второго дешифратора подключен к первому входу второго элемента И, второй выход вто1

х

й 5

10

15

20

25

73585510

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

30

35

45

50

55

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

5

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

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

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

0

5

0

5

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

название год авторы номер документа
Устройство для отладки микропроцессорных систем 1989
  • Бек Александр Владимирович
  • Чернышов Михаил Анатольевич
  • Ткаченко Сергей Николаевич
  • Тимонькин Григорий Николаевич
  • Харченнко Вячеслав Сергеевич
  • Моченков Андрей Владимирович
SU1735856A1
Устройство для контроля хода программ ЭВМ 1987
  • Бек Александр Владимирович
  • Харченко Вячеслав Сергеевич
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Чернышов Михаил Анатольевич
SU1430960A1
Микропрограммный процессор 1982
  • Супрун Василий Петрович
  • Кривоносов Анатолий Иванович
  • Корниенко Иван Иосифович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Харченко Вячеслав Сергеевич
SU1070557A1
Устройство для контроля хода программ 1986
  • Конорев Борис Михайлович
  • Бек Александр Владимирович
  • Чернышов Михаил Анатольевич
  • Харченко Вячеслав Сергеевич
  • Ткаченко Сергей Николаевич
  • Тимонькин Григорий Николаевич
  • Шумилкин Владимир Андреевич
SU1343418A1
Устройство для контроля блоков оперативной памяти 1983
  • Бабкин Виталий Владимирович
  • Самарин Александр Алексеевич
  • Ченцова Зинаида Васильевна
SU1161993A1
Устройство приоритета 1989
  • Бек Александр Владимирович
  • Чернышов Михаил Анатольевич
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Дмитров Дмитрий Владимирович
  • Харченко Вячеслав Сергеевич
  • Цветинский Эдуард Феликсович
SU1702368A1
Устройство для обмена данными между электронно-вычислительной машиной и абонентами 1985
  • Кривоносов Анатолий Иванович
  • Куванов Вячеслав Владимирович
  • Миролюбский Вадим Михайлович
  • Супрун Василий Петрович
  • Тимонькин Григорий Николаевич
  • Харченко Вячеслав Сергеевич
  • Ткаченко Сергей Николаевич
  • Никольский Сергей Борисович
SU1277125A1
Устройство для обмена данными в многопроцессорной вычислительной системе 1983
  • Супрун Василий Петрович
  • Байда Николай Константинович
  • Чернышов Михаил Анатольевич
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Харченко Вячеслав Сергеевич
  • Ярмонов Виктор Иванович
SU1136143A1
Многоканальное программно-временное устройство 1985
  • Мельников Владимир Алексеевич
  • Водянин Игорь Иванович
  • Щербак Виктор Иосифович
SU1280570A1
Микропрограммное устройство для обработки прерываний 1983
  • Кривего Владимир Александрович
  • Прокопенко Николай Николаевич
  • Кривего Вадим Владимирович
  • Кривенков Александр Иванович
SU1126956A1

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

Изобретение относится к вычислительной технике и может найти применение при отладке мультипрограммных систем, а также для контроля и оценки производительности мультипрограммных систем. Целью изобретения является повышение достоверности конт- роля. Устройство для отладки мультипрограммных систем содержит первый 1,1 и второй 1,2 блоки памяти, блок 2 регистров, генератор 3 тактовых

Формула изобретения SU 1 735 855 A1

Документы, цитированные в отчете о поиске Патент 1992 года SU1735855A1

Клямко Э.И, Схемный и тестовый контроль автоматических цифровых вычислительных машин
- М,:
Советское радио, 1963, с
Пюпитр для работы на пишущих машинах 1922
  • Лавровский Д.П.
SU86A1
Устройство для контроля хода программ 1980
  • Трудов Юрий Васильевич
SU894713A1
Походная разборная печь для варки пищи и печения хлеба 1920
  • Богач Б.И.
SU11A1

SU 1 735 855 A1

Авторы

Бек Александр Владимирович

Чернышов Михаил Анатольевич

Ткаченко Сергей Николаевич

Тимонькин Григорий Николаевич

Харченко Вячеслав Сергеевич

Моченков Андрей Владимирович

Даты

1992-05-23Публикация

1989-04-18Подача