Устройство для отладки мультипрограммных систем
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может найти применение при отладке мультипрограммных систем, а также для контроля и оценки производительности мультипрограммных систем. Целью изобретения является повышение достоверности контроля. Устройство для отладки мультипрограммных систем содержит первый 1,1 и второй 1,2 блоки памяти, блок 2 регистров, генератор 3 тактовых
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН (19 {И) ($g)g G 06 7 11/28
ОПИСАНИЕ ИЗОБРЕТЕНИЯ и АВТОРСИОМЪ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ
ПРИ П4НТ СССР (21) 4680190/24 (22) 18.04,89 (46) 23,05,92. Бюл, И 19 (72) А.В,Бек, И.А.Чернышов, С,Н,Ткаченко, Г,Н.Тимонькин, В,С,Харченко и A,Б,Иоченков (53) 6Р1,3 (088,8) (56) Клямко Э,И, Схемный и тестовый контроль автоматических цифровых вычислительных машин, — М,:. Советское радио, 1963, с. 86-87, рис.14.
Авторское свидетельство СССР
Г 894713,, c 06 г 11ЛР, 19Р.1.
{54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ИУЛЬТИ"
ПРОГРАММНЫХ СИСТЕМ (57) Изобретение относится к вычислительной технике и может найти применение при отладке мультипрограммных систем, а также для контроля и оценки производительности мультипрограмMHblx систем, Целью изобретения является повышение достоверности конт- . роля, Устройство для отладки мультипрограммных систем содержит первый
1,1 и второ" 1.2 блоки памяти, блок
2 регистров, генератор 3 тактовых
4 импульсов, первый 4, второй 5 и тре- и второй 18.2 коммутаторы, третий 19, тий 6 сумматоры, третий счетчик 7, четвертый 20,1, пятый 20,2, второй первыи .1 и второи 8.2 счетчики, 21.1 и первый 21,2 элементы И, трепервый 9,1 и второй 9,2 триггеры пус- тий 22, четвертый 23, восьмой 25, ка, первый 10 и второй 11 триггеры первый 26, шестой 27, девятый 28, локировки, первый 12, 1. и второй 12,2 второй 29, седьмой 30, пятый 31 триггеры занятости ресурса, счетный элементы ИЛИ, одновибратор 32, пертриггер 13, первый 14,1 и второй 14.2 вый 33 и второй 34 элементы задержки. дешифраторы, комбинационный сумматор 1О Устройство позволяет повысить достодикации, первый 17,1 верность контроля за счет учета рви второй 17.2 преобразователи кодов боты программы супервизора, обрабвкоманд в коды времени, первый 18,1 тывающей прерывания. l ил.
Изобретение относится к вычислительной технике и может использоваться для отладки мультипрограм- 20 мных систем, а также для контроля и оценки производительности мультипрограммных систем.
Цель изобретения - повышение достоверности контроля. 25
На чертеже приведена функциональная схема устройства, Устройство для отладки микропрограммных систем содержит первый 1.! и второй 1,2 блоки памяти, блок 2 регистров, генератор 3 тактовых импульсов, первый 4, второй 5 и третий
6 сумматоры, третий счетчик 7, пер-. вый 8,1 и второй 8.2 счетчики, первый 9.1 и второй 9.2 триггеры пуска, первый 10 и второй 11 триггеры блокировки, первый 12.1 и второй 12.2 триггеры занятости ресурса, счетный триггер 13, первый 14,1 и второй 14,2 дешифраторы, комбинационный сумматор
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 элементы ИЛИ, 50 одновибратор 32, первый 33 .и второй
34 элементы задержки, группу 35 информационных входов устройства, тактовый вход 36 устройства, первую 37, вторую 38, третью 39 и четвертую 40 группы входов блока 16 индикации, ! первый 41,1, второй 41,2, третий
41.3 и четвертый 41.4 выходы генератора 3 тактовых импульсов, второй
42.1, первый 42.2, третий 42.,3 и четвертый 42,4 выходы первого дешифратора 14,1,, третий 43,1, четвертый
43.2, первый 43,3 и второй 43.4 выходы второго дешифратора 14.2.
Устройство для отладки мультипрограммных систем работает следующим образом, В исходном состоянии все элементы памяти, кроме первого 1,1 и второго
T„2 блоков памяти, блока 2 регистров, обнулены (цепи установки элементов памяти в исходное не показаны), Устройство для отладки мультипрограммных систем может функционировать как в режиме контроля мультипрограммных систем, так и в режиме моделирования работы мультипрограммной системы, Второй режим предназначен, например, для оценки, производительности данной системы, В первом режиме, когда система контролируется по времени обработки программ, в первый 1.1 и второй 1,2 блоки памяти заносятся реальные программы функционирования мультипрограммной системы, В режиме моделирования в блоки 1,1 и 1,2 памяти помещаются смеси команд, которые сформированы по закону распределения вероятностей генератором псевдослучайных чисел с заданными характеристиками, однозначно соответствующими программному обеспечению отлаживаемой системы.
Для моделирования мультипрограммного режима в каждую смесь случайным образом заносятся команды обращения к некритичным ресурсам (для EC ЭВИкоманды SVC), команды обращения к критичным ресурсам: занятия ресурса SVCP(V, ) и освобождение
5 173
SVCV(V;), где P(V,) - есть значения— семафора, говорящего о занятии ресурса, а Ч(Ч; ) - об освобождении ресурса. Как и в реальных программах, команды обращения к ресурсам располагаются в смеси следующим образом: вслед за командой занятий i-го ресурса SVCP(V,) следует через случайное число команд команда SVCV(Vl )освобождение этого ресурса, в об" ратном порядке эти команды в смеси не встречаются.
Конец каждой программы обозначается считыванием из блоков 1.1 и 1.2 памяти команды "Конец программы".
В регистрах блока 2 регистров размещены коды приведенных времен обработки программной - супервизором . системы прерванной, каждому типу прерванной соответствует свой заданный код времени.
Перед началом работы устройства код начального адреса подается на группу 35 входов устройства.. Сигналом "Пуск" с входа 36 устройства триггеры 9,1 и 9.2 пуска установятся в единичное состояние.. Сигналом на выходе элемента ИЛИ 22 по синхровходу в счетчики 8.1 и 8.2 адреса запишется код начального времени. Этим же сигналом запустится генератор 3 тактовых импульсов и откроется элемент И 19 для прохождения йервых тактовых импульсов с выхода 14,1 генератора 3 тактовых импульсов на .счетный вход кольцевого счетчика 7;
Кольцевой счетчик 7 настроен на число импульсов, соответствующее кванту времени, отводимому на обработку одной из задач, после чего ресурс занимает другая задача (по сигналу переполнения счетчика 7).
Сигналом на прямом выходе счетного триггера 13 открыт элемент И 20.1. для прохождения вторых тактовых им-: пульсов с выхода 41.2 генератора 3 тактовых импульсов на счетный вход счетчика 8;1 адреса, по этим импульсам на группе выходов счетчика
8. 1 адреса формируется код адреса; по которому из блока 1.1 памяти выбирается очередная команда..Каждой выбранной из блока 1.! памяти команде преобразователем 17. 1 кодов,ставится в соответствие определенный код приведенного времени,- инициирую" щий время обработки данной команды.
Код приведенного времени по третьему тактовому импульсу с выхода 41.3 .
5855 6 генератора 3 тактовых импульсов че-,. рез коммутатор 18.1 поступит íà rpyn пу входов сумматора 6, куда он запишется по заднему фронту импульса с выхода 41,3 генератора 3 так1овых импульсов. По окончании кванта времени - переполнению счетчика 7, на счетный вход счетного триггера 13 !
9 поступит сигнал,. по которому данный триггер 13 изменит свое состояние, при котором единичный сигнал появится на инверсном выходе счетного триг" гера 13,,т.е. элемент И 20,1 закро" ется для вторых тактовых импульсов
f5 с выхода 41.2 генератора 3, а элемент И 20.2 откроется ° Таким образом, вторые тактовые импульсы начнут поступать на второй счетчик 8.2
20 адреса, т.е. в данный квант времени будет обрабатываться вторая задача, алгоритм обработки команд которой аналогичен описанному для первой задачи. Сигнал переполнения счетчи25 ка 7 также поступит на соответст-. вующий вход блока 2 Регистров, по этому сигналу на группе 24 BblxofloB . появится код приведенного времени, инициирующий время обработки супер- визором прерывания по окончании кванЗ0 та времени.
Код времени работы супервизора с группы 24 выходов блока 2 регистров поступит на сумматор 4 и через элемент 34 задержки и коммутатор 18.1
35 по второму тактовому импульсу с выхода 41.2 генератора 3 тактовых импульсов поступит на сумматор 6, На группу выходов коммутатор 18.2 коды не поступают, так как коммутатор
46 18.1 закрыт сигналом логической "1" с прямого выхода счетного триггера
13. Код приведенного времени работы супервизора в сумматоры 4 и 6 запи- шется по заднему фронту второго так45 тового импульса с выхода 41 2 гене" ратора 3 тактовых импульсов. Таким образом, время работы супервизора распределяется по задачам, суммируется ко времени той задачи, чьи
50 запросы она отрабатывала.
8 случае считывания из блока 1.1 (1.2) памяти кода команды обращения . к некритичному ресурсу (SVC) данный код поступит как на преобразователь
55 17.! (1?,2) кодов, так и на дешиф. ратор 14.1 (14.2).
Допустим, считывание команды SVC произошло во время кванта времени .. первой задачи. Значит, код с группы .
55 8 решения второй задачи и управление перейдет к первой задаче. Данный. процесс происходит следующим образом
Считанный из блока 1.2 памяти код
SVCP<(V;) поступит на преобразователь 17.2 кодов и дешифратор 14.2, У дешифратора 14.2 на соответствующем выходе 43.4 появи ся сигнал, который разрешит считывание соответствующего кода времени из блока 2 регистров, а также поступит на второй вход открытого по первому входу элемента
И 21,1.
Сигнал с выхода элемента И 21.1 через элемент ИЛИ 30 установит в единичное состояние триггер 10, а также обнулит счетчик 7, Потенциальный сигнал с прямого выхода триггера l0 изменит состояние триггера 13 (отдаст управление первой задаче), Триггер 13 будет в единичном состоянии до тех пор, пока из блока 1.1 памяти не будет считана команда освобожде ния ресурса БЧСЧ (Ч;) даже, если данная команда будет считана не в этом кванте времени, а К-том (сигналы переполнения счетчика 7 не будут оказывать влияние на счетный триггер 13). При поступлении команды SVCV<(V ) на группу входов дешифратора l4 .1 на выходе 42,3 no" явится импульс, который через элемент ИЛИ 29 считает из блока 2 регистров код времени работы супервизора для этой команды, обнулит триггеры 12.1 и 12.2, а также триггер 11. Теперь по очередному сигналу переполнения счетчика 7 триггер 13 изменит свое состояние на противоположное (т.е. установится квант времени для другой задачи).
В случае окончания одной из программ сигнал "Конец программы" с выхода 42,1 (43. l) дешифратора 14.1 (14.2) обнулит триггер 9.1 (9.2) пуска, а также поступит через элемент ИЛИ 25 на единичный вход триггера 10, сигнал с прямого выхода которого перебросит триггер 13 в противоположное состояние,.передав окончательно управление другой программе.
Также сигнал с выхода элемента ИЛИ
25 разрешит выдачу кода времени î6работки прерывания по времени супервизором из блока 2 регистров. По сигналу "Конец программы" свидетель-ствующего об окончании обработки дру гой программы, обнулится соответствующий триггер 9.! (9,2) пуска, на
7 17358 выходов преобразователя будет соответствовать времени, затраченному системой на инициализацию этой коман ды SVC. У дешифратора 14,1 по коду команды SVC no третьему тактовому импульсу с выхода 41.3 генератора 3 тактовых импульсов на выходе 42.3 появится сигнал, который через элемент ИЛИ 29 поступит на соответствующии вход блока регистров, на группе !
О
24 выходов которого по этому сигналу появится код приведенного времени, необходимый супервизору для î6ðàботки обращения первой программы, к-.некритичному ресурсу. Данный код
15 времени запишется в сумматор 4 четвертым тактовым импульсом с выхода
41.4 генератора 3 тактовых импульсов, а в сумматор 6 по заднему фронту третьего тактового импульса запишется код времени, затраченного на выборку команды SVC. По заднему фронту четвертого тактового импульса запишется код времени, затраченный супервизором на работу по обработке
25 данного прерывания.
При считывании из блока 1.1 (1 ° 2) памяти команды обращения к критичному ресурсу SVCP (Ч ) данный код поступит на группу входов дешифратора 14.1 (14.2). Предположим, что дешифратор
14.1 дешифрирует этот код, на выходе
42,2 дешифратора 14,1 появится импульс по приходу третьего тактового импульса с выхода 41.3 генератора 3 такто- 35 вых импульсов. Сигнал с выхода 42.2 дешифратора 14.1 поступит на единичный вход триггера 12.1 и элемент
ИЛИ 26. Сигнал с выхода элемента
ИЛИ 26 разрешит выдачу из блока 2 40 регистров кода времени, необходимого супервизору для обработки данного прерывания.
Единичное состояние триггера 12.! свидетельствует о том, что критичный ресурс занят, В случае окончания кванта времени, отведенного для обработки первой задачи, а считывания команды освобождения ресурса SUCV(U;) остается за- 5О нятым первой задачей.. Сигнал переполнения на выходе счетчика 7 разрешит работу второй задачи, счетчик 8.2 адреса начнет формировать коды адресов с того числа, на котором про- 55 изошло предыдущее прерывание по вре мени. Если вторая программа запросит ресурс, который занят первым ресурсом, то произойдет блокировка
5Я55 10
5р раторов, к входу первого элемента задержки, к третьему входу блока ре55
9 173 выходе элемента ИЛИ 22 пропадет сигнал, тем самым генератор 3 тактовых импульсов остановится, В момент окончания одной из программ при обнулении соответствующего триггера 9.1 (9.2), единичный сигнал с инверсного выхода данного триггера поступит на запрещающий вход одного из сумматоров 5 (6). Данный сумматор 5 (6) прекратит работу, зафиксировав на своей группе выходов код времени обработки соответствующей задачи, который отразится на блоке 16 индикации. При завершении обработки другой задачи при обнулении соответствующего триггера 9.1 (9.2) на группе выходов соответствующего сумматора зафиксируется код времени обработки данной задачи, Суммарные коды времени обработки задач поступают на соответствующие группы входов комбинационного сумма тора 15, тем самым код на группе 39 выходов которого будет соответствовать времени работы мультипрограммной системы. Данное время складывается из времени обработки первой задачи с учетом работы супервизора, а также времени обработки второй задачи с учетом работы супервизора в интересах второй задачи. Сумматор ч с группы 37 выходов выдает на блок 16 индикации .код суммарного времени работы программ супервизора. Таким образом, блоком 16 индикации будет отображено четыре характеристики мультипрограммной системы: общее время функционирования системы, время обработки первой задачи, время обработки второй задачи, время работы супервизора.
Формула изобретения
Устройство для отладки мультипрограммных систем, содержащее блок регистров, генератор тактовых импульсов, первый и второй счетчики, первый и второй дешифраторы, первый и второй элементы И, первый, второй и третий элементы ИЛИ, причем первый выход первого дешифратора подключен к первому входу первого элемента И и к первому входу первого элемента ИЛИ, выход которого подключен к первому входу блока регистров, первый выход второго дешифратора подключен к первому входу. второго элемента И, второй выход вто25
45 рого дешифратора подключен к перво- . му входу второго элемента ИЛИ, выход третьего элемента ИЛИ подклюI чен к синхровходу первого счетчика, отличающееся тем, что, с целью повышения достоверности контроля, в него введены первый и второй блоки памяти, первый, второй и третий сумматоры, третий счетчик, первый и второй триггеры пуска, первый и второй триггеры блокировки, первый и второй триггеры занятости ресурса, счетный триггер, комбинационный сумматор, блок индикации, первый и второй преобразователи кодов команд в коды времени, первый и второй коммутаторы, третий, четвертый и пятый элементы И, четвертый, пятый шестой, седьмой, восьмой, девятый элементы ИЛИ, одновибратор, первый и второй элементы задержки, причем группы выходов первого и второго блоков памяти подключены соответственно к группам входов первых дешифратора и преобразователя .кодов команд в коды времени и вторых дешифратора и преоб,разователя кодов команд в коды вре;мени, группа выходов блока регистров подключена к первым группам входов первого и второго коммутаторов и к группе входов первого сумматора, группа выходов которого подключена к первой группе входов блока индикации, первый выход генератора тактовых импульсов подключен к первому входу третьего. элемента И, выход которого подключен к синхровходу третьего счетчика, первый выход генератора тактовых импульсов подключен к второму входу блока регистров, второй выход генератора тактовых импульсов подключен к первому входу четвертого элемента ИЛИ, к первым входам четвертого и пятого элементов И, выходы которых подключены соответственно к счетным входам первого и второго счетчиков, третий выход генератора тактовых импульсов подключен к стробирующим входам первого и второго дешиф— гистров, .к первому входу пятого элемента ИЛИ, выход которого подключен к первым разрешающим входам второго и третьего сумматоров, четвертый выход генератора тактовых импульсов подключен к второму входу четвертого элемента ИЛИ, выход которого подключен к второму входу пятого элемента
35855
17
ИЛИ, к разрешающему входу первого сум матора, н входу второго элемента задержки, группа выходов второго сумматора подключена к второй группе входоа блока индикации и к первой группе входов комбинационного сумматора, группа выходов которого подключена к третьей группе входов бло" ка индикации, группа выходов третьего сумматора подключена к второй .группе. входов комбинационного сумматора и к четвертой группе входов блока индикации,. выход переполнения третьего сцетчика подклюцен к первому входу пятого элемента ИЛИ и к четвертому входу блока регистров группы выходов первого и второго счетчиков подключены к группам адресных входов первого и второго блоков памяти, прямые выходы первого и второго триггеров пуска подключены соответственно к первому и второму входам третьего элемента ИЛИ, выход которого подключен к синхровходу второго счетчика, к входу генерато" ра тактовых импульсов, инверсные выходы первого и второго триггеров пуска подключены к вторым управляющим входам третьего и второго сумматоров соответственно, прямой выход первого триггера блокировки подключен к.второму входу шестого элемента ИЛИ, выход которого подключен к входу одновибратора, прямой выход второго триггера блокировки подключен к третьему входу шестого элемента
ИЛИ, прямые выходы первого и второго триггеров занятости ресурса подключены к вторым входам второго и первого элементов И соответственноу выходы которых подключены к первому и второму входам седьмого элемента ,ИЛИ, прямой выход счетного триггера подключен к второму входу четвертого элемента И, к прямым первому и второму входам первого коммутатора и инверсным первому и второму входам второго коммутатора„ группы выходов которых подключены к группай входов третьего и второго сумматоров соответственно, инверсный выход сцетно" го триггера подключеа к второму вхо:ду пятого элемента И, второй выход
10.
И первого дешифратора подключен к обнуляющему входу первого триггера пуска и к первому входу восьмого элемента
ИЛИ, выход которого подключен к пятому входу блока регистров и к единич ному входу первого триггера блокировки, третий выход первого дешифратора подключен к второму входу второго элемента ИЛИ, выход которого подключен к шестому входу блока регистров, к о5нуляющим входам первого и второго триггеров занятости ресурса и к обнуляющему входу второго триггера блокировки, четвертый выход первого дешифратора подключен к пер" вому входу. девятого элемента ИЛИ, выход которого подключен к седьмому входу блока регистров, первый выход первого дешифратора подключен к единичному входу itepporo триггера занятости ресурса, второй выход второго дешифратора подключен к единичному входу второго триггера занятости ресурса и к второму входу первого элемента ИЛИ, третий выход второго дешифратора подключен к второму входу девятого элемента ИЛИ, .четвертый выход второго дешифратора подключен к второму входу восьмого элемента ИЛИ и к обнуляющему входу второго триггера пуска, группы выходов первого и второго преобразователей кодов команд в коды времени подключены к вторым группам входов первого и второго коммутаторов, вы- . ход седьмого элемента ИЛИ подключен к единичному входу второго триггера. блокировки и к обнуляющему входу третьего счетчика, выход одновибратора подключен к сцетному входу счетного триггера, выход первого элемента задержки подключен к третьим входам управления первого и второго коммутаторов, выход второго элемента задержки подключен к четвертым входам управления первого и второго коммутаторов, группа входов задания начального адреса устройства подклюцена к группам информационных входов первого и второго счетчиков, тактовый вход. устройства подключен к едийицным и синхронизирующим входам первого и второго триггеров пуска.