Устройство для контроля программ
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в аппаратных и гибридных мониторах для подсчета частоты появления событий, принадлежащих к нескольким классам, в частности для получения статистических характеристик о работе программ. Цель изобретения уменьшение аппаратных затрат на .реализацию блока памяти, Устройство содержит два блока памяти, регистр,режима , регистр данных, три мультиплексора , три элемента ИЛИ, счетчик использования команд, счетчик базового адреса, элемент НЕ, три элемента И, триггер пуска, счетчик микрокоманд , дешифратор, два триггера считьшания , регистр базы, триггер переполнения , триггер записи, сумматор . 1 ил. (Л с
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3803270/24-24 (22) 17.10,84 (46) 23,10,86, Бюл. У 39 (72) А.И.Ляхов и С.Л.Улыбин (53) 681.3 (088.8) (56) Авторское свидетельство СССР
У 960829, кл. С 06 F 11/30. 1980.
Феррари Д. Оценка производительности вичислительных систем. — 11.:
Мир, 1981, с. 50, ° 51, (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММ (57) Изобретение относится к вычислительной технике и может быть использовано в аппаратных и гибридных мониторах для подсчета частоты появ„.SUÄÄ 1265776 А1 (59 4 С 06 F 11/22 ления событий, принадлежащих к нескольким классам, в частности для получения статистических характеристик о работе программ. Цель. изобретения уменьшение аппаратных затра на реализацию блока памяти.1устройство содержит два блока памяти, регистр.режима, регистр данных, три мультиплексора, три элемента ИЛИ, счетчик использования команд, счетчик базового адреса, элемент НЕ, три элемента
И, триггер пуска, счетчик микрокоманд, дешифратор, два триггера счи.тывания, регистр базы, триггер переполнения, триггер записи, сумматор. 1 ил.
1265776
Изобретение относится к вычислительной технике и может быть использовано в аппаратных и гибридных мониторах для подсчета частоты появления событий, принадлежащих к нескольким классам, в частности для получения статистических характеристик о работе программ, Целью изобретения является уменьшение аппаратных затрат на реализацию блока памяти. !
На чертеже изображена схема устройства для контроля программ, Устройство содержит блоки 1 и 2 памяти, регистр 3 режима, регистр 4 данных, первый 5, третий 6 и второй
7 мультиплексоры, третий 8, второй
9 и первый 10 элементы ИЛИ, счетчик
11 использования команд, счетчик 12 базового адреса, элемент HE 13, первый 14, второй 15 и третий 16 элементы И, триггер 17 пуска, счетчик
18 микрокоманд, дешифратор 19, триггер 20 и 21 считывания, регистр 22 базы, триггер 23 переполнения, триггер 24 записи, сумматор 25, группу информационных входов 26, группу вхо. дов 27 меток события, вход 28 записи, вход 29 признака наступления события,. тактовый вход 30 и группу информационных выходов 31, Блок 1 памяти предназначен для запоминания результатов счета частоты использования команд. Он имеет к+к емкость 2 > --разрядных слов, где — количество разрядов в коде опеФъ, рации; 2 — количество эон, на которые разбивается блок 1 памяти, причем m i n. Для хранения результата счета команд, имеющих код опера- ции а к ...a. 2а 1, в блоке 1 памяти отводятся ячейки, имеющие адреса Ь ь2 61 а.к... а 2аl (b.ì...ь2ьl- празрядный адрес зоны; а-к . а 2а! к— разрядный код операции который используется для адресации ячеек блока 1 памяти в пределах каждой зоны), причем младшиен разрядов результата хранятся в ячейке, имеющей адрес
0...00а к ... а 2al, следующие ь разрядов — в ячейке, имеющей адрес О...
01 ак...а 2а1, и так далее до старших и разрядов, которые хранятся в ячейке, имеющей адрес 1...11 а.к..а к
2 а l. Этот блок позволяет хранить 2 ! -разрядных результатов счета, причем максимальная разрядность результата определяется из соотношения
=п 2 .
Блок 2 памяти предназначен для запоминания -разрядных адресов зон
5 и дополнительных одноразрядных признаков, Он имеет емкость 2 (m+1)-разрядных слов. Адрес эоны и признак. для команды, имеющей код операции о..к ...а 2al, .хранятся в ячейке блока !
О 2 памяти по адресу а.к... а 2о-1. Хранимая в блоке 2 памяти информация имеет вид Ь.... b2 Ь 1 с (C- признак), причем, если =0, то b !... ь.2 1 используется для адресации зоны бло-!
5 ка 1 памяти, если 0 =1, то в блоке 1 памяти адресуется нулевая зона, а код Ь.г,, b ? tl прибавляется к содержимому выбранной ячейки первой зоны блока 1 памяти.
Регистр 3 режима задает режим работи устройства.
Устройство может работать в двух режимах: рабочий режим, при этом все разряды регистра 3 режима должни быть установлены в "0", и режим Считывание с начальной установкой11, при этом регистр 3 режима содержит информацию
G,К... а.2 а. (Ь.rn.b. 2 Ь.1, 30 где ак,, а 2аl - адрес ячейки блока 2 памяти; ... Ь 2Ь1 а.ка2а.l — адрес ячейки блока 1 памяти, В рабочем режиме устройство под35 считывает частоту использования команд в исследуемой программе, В режиме "Считывание с начальной установкой устройство считывает на регистр 4 данных содержимое ячеек
40 блоков .и 2 памяти, адреса которых определяются содержимым регистра 3 режима. Этот режим необходим для начальной установки устройства перед началом сеанса измерений и для вы45 вода результатов подсчета частоты использования команд по окончании сеанса измерений, Устройство работает следующим образом.
50 Перед началом сеанса измерений необходимо осуществить начальную установку устройства. Для этого на информационных входах 26 устройства устанавливается код а-к ...а 2,а. 1, 55 b ° ° ° o 2, Ь 1. Сигналом с входа 28 записи этот код записывается на регистр 3 режима. Тем самым устанавливается режим "Считывание с началь!
265776
50 ной установкой" ° При этом "1" с выхоФ да первого разряда регистра 3 режима поступает на управляющий вход мультиплексора 5 и открывает его по второй группе входов, пропуская код а к, .... 5 с 2, а с регистра 3 режима на группу . адресных входов блока 2 памяти и на группу младших адресных входов блока
1 памяти, на управляющий вход мультиплексора 6, сигнал с выхода элемента ИЛИ 8 открываетмультиплексор 6 по второй группе входов и пропускает код а.к ., а 2 а 1 с регистра 3 режима на группу старших адресных входов блока 1 памяти; на вход счетчика ll и через элемент ИЛИ 9 на вход сброса счетчика 12, поддерживая счетчики 11 и 12 в нулевом состоянии1 на элемент НЕ 13, нулевой сигнал с выхода которого закрывает элемент
И 14.
Одновременно с записью на регистр
3 режима положительный потенциал, поступающий на вход первого разряда регистра 3 режима, поступает и на первый вход элемента И 15. Под воздействием сигнала с входа 28 записи на выходе элемента И 15 появляется положительный потенциал, который, пройдя через элемент ИЛИ 10, 30 устанавливает триггер 17 пуска. На инверсном выходе триггера 17 пуска появляется нулевой сигнал, который поступает на входы сброса счетчи-: ка 18 микрокоманд и дешифратора 19, открывая дешифратор 19 и разрешая счетчику 18 микрокоманд считать тактовые импульсы, поступающие на его счетный вход с тактового входа 30 устройства. Под воздействием такто- 40 вых импульсов на счетном входе счетчик 18 микрокоманд формирует на своих выходах последовательность из восьми комбинаций от 000 до lll. Эти комбинации дешифрируются дешифрато- 4 ром 19, на восьми выходах которого последовательно появляется "1", Сигнал с первого выхода дешифратора 19 устанавливает триггер 20 считывания, с выхода которого "1" поступает на вход считывания блока
2 памяти, на выходах которого появляется информация, считанная из ячейки, имеющей адрес а.к,. а 2а!
Сигнал с второго выхода дешифрато- 5 ра 19 поступает на входы записи регистра 22 базы и счетчика 12, На регистр 22 базы записывается информация с выходов блока 2 памяти, Содержимое счетчика 12 не изменяется, так как он поддерживается в нулевом состоянии единичным сигналом с выхода элемента ИЛИ 9.
Сигнал с третьего выхода дешифра вЂ, тора 19 устанавливает триггер 23 переполнения и триггер 21 считывания., с выхода которого "1" поступает на вход считывания блока 1 памяти. На выходах блока 1 памяти появляется информация, считанная из ячейки, имеющей адрес bm ... Ь 2bl с к ...а2а1.
Сигнал с четвертого выхода дешифратора 19 сбрасывает первый триггер
20 считывания, поступает на вход записи регистра 4 данных и записывает на него информацию с выходов блока l памяти и выходов регистра
22 базы. Выходы регистра 4 данных являются информационными .выходами
31 устройства. Кроме того, этот сигнал поступает на вход записи счетчика
ll, содержимое которого не изменяется, так как он поддерживается в нулевом состоянии единичным сигналом .с выхода первого разряда регистра 3 режима.
Сигнал с пятого выхода дешифратора 19 сбрасывает второй триггер 21 считывания и поступает на счетный вход счетчика 11, не изменяя его состояния, так как на входе сброса этого счетчика стоит "1".
Сигнал с шестого выхода дешифратора 19 устанавливает триггер 24 записи, с выхода которого "1" поступает на входы записи блоков 1 и 2 памяти. В ячейку блока 1 памяти, имеющую адрес b i .. Ь2Ь1ак..а2а1, записывается и -разрядный код 0...00, приходящий на информационные входы блока 1 памяти с информационных вы.ходов счетчика ll; В ячейку блока 2 памяти, имеющую адрес а.к..а 2аl. записывается (ш+1)-разрядный код О.. ° О! приходящий на информационные входы блока 2 памяти с выходов счетчика 12 и триггера 23 переполнения.
Сигнал с седьмого выхода дешифратора 19 срабатывает триггер 24 записи.
Сигнал с восьмого выхода дешифратора 19 поступает на вход сброса триггера 17 пуска. При этом на инверсном выходе триггера 17 пуска появляется
И )t
1, которая сбрасывает счетчик 18 микрокоманд и дешифратор 19 и поддеркивает их в нулевом состоянии, 1265776
Для начальной установки устройства необходимо повторить описанную процедуру 2 " раз, изменяя информацяе, записываемую на регистр 3 режима, 5 от 0...01 до 1...11, Для перевода устройства в рабочий режим на регистр 3 режима сигналом с входа 28 записи записывается код
0...0, приходящий с групп информа- 1О ционных входов 26 устройства. При этом "0" с выхода первого разряда регистра 3 режима поступает на управляющий вход мультиплексора 5, разрешая через него прохождение к -разрядного !5 кода операции ак ...a.201 с группы входов 27 меток события на группу адресных входов блока 2 памяти и на группу младших адресных входов блока
1 памяти; на вторые входы элементов 20
ИЛИ 8 и 9, разрешая прохождение на их выходы сигналов, поступающих на первые входы этих элементов; на вход сброса счетчика 11, разрешая ему реагировать на сигналы, приходящие на 25 вход записи и счетный вход; на вход элемента НЕ 13, единичный сигнал с выхода которого открывает элемент . И 14.
На второй вход элемента И 14 с З0 входа 29 признака "Событие" устройства приходит сигнал, говорящий о том, что на группе входов 27 устройства находится код операции. На выходе элемента И 14 появляется "1", которая через элемент ИЛИ 10 устанавлива-. ет триггер 17 пуска. Дешифратор 19 вырабатывает серию из восьми сигналов, появляющихся последовательно на его восьми выходах. 40
Сигнал с первого выхода дешифратора 19 .устанавливает триггер 20 считывания. При этом на выходах блока
2 памяти появляется информация вида b w.. Ь 2 Ь lс, считанная из ячей- 45 ки, адресом которой является пришедший с группы входов 27 устройства код операции а к .. а,2 а l .
Сигнал с второго выхода дешифра тора 19 записывает на счетчик 12 - 50 код b.t., Ь 2Ь.1, а на регистр 22 базы — код Ь.л .. b.2Ь1е. При этом признак с с выхода первого разряда регистра 22 базы поступает на управляющий вход мультиплексора 7 и 55 через элемент ИЛИ 8 на управляющий вход мультиплексора 6. Если С =О, то мультиплексоры 6 и 7 пропускают информацию на их первые группы входов. Значит на группу старших адресных входов блока памяти приходит с регистра 22 базы код ь .. ь 2 b. l, который используется в этом случае для адресации зоны памяти, а к группе входов счетчика 11 подключается группа выходов блока l памяти, Если C =1, то на группу старших адресных разрядов блока 1 памяти приходит с регистра режима код 0...00, к группе входов счетчика 11 подключается группа выходов сумматора 25 °
Сигнал с третьего выхода дешифратора 19 устанавливает триггер 23 переполнения и триггер 21 считывания и поступает на второй вход элемента И 16, на первый вход которого приходит признак C с первого выхода блока 2 памяти, Если С =1, то на выходе элемента И 16 появляется "1", которая проходит через элемент ИЛИ 9 и сбрасывает счетчик 12 базы. На выходах блока 1 памяти появляется информация, считанная либо из ячейки с адресом 0...00 о.к,, а..2 а! (при C =1) либо из ячейки с адресом Ь .. Ь.2Ь1а.к .. a 2М (при е =О).
Сигнал с четвертого выхода дешифратора 19 сбрасывает триггер 20 считывания и записывает на счетчик 11 либо информацию с выходов блока 1 памяти (при с =0, либо информацию с выходов сумматора 25 (при с =1), которая является суммой кода Ь.t ., Ь2 b 1 с регистра 22 базы с информацией считанной из блока памяти.
Сигнал с пятого выхода дешифратора 19 сбрасывает триггер 21 считывания и, поступая на счетный вход счетчика ll, прибавляет к его содержимому "1". Если на счетчике 11 код !...11, то прибавление к нему "1" вызывает переполнение счетчика. При этом счетчик 11 обнуляется к на era выходе переполнения появляется сигнал, который сбрасывает триггер 23 переполнения и прибавляет "1" к содержимому счетчика 12.
Сигнал с шестого выхода дешифратора 19 устанавливает триггер 24 записи. При этом в ранее выбранную ячейку блока 1 памяти записывается . информация с выходов счетчика 1! частоты, а в ранее выбранную ячейку блока 2 памяти — информация с выхо1265776 дов счетчика 12 базы и триггера 23 переполнения.
Сигнал с седьмого выхода дешифратора 19 сбрасывает триггер 24 записи. 5
Сигнал с восьмого выхода дешифратора 19 сбрасывает триггер 17 пуска.
Для вывода из устройства результатов измерений оно переводится в режим "Считывание с гашением". При этом окончательный результат измерения частоты появления команды с кодом операции а к...а 2 а.l формируется программно следующим образом.
Младшие м разрядов результата получаются суммированием содержимого ячейки блока 1 памяти, имеющей адрес
0...0 а.к .. а 2а.1, с кодом b ï... b.2 ь.l считанным из ячейки блока 2 памяти по адресу а.к ... à 2а.l . Следующиеь разрядов результата считывааются из ячейки блока l памяти по адресу О...
Оlа.к.,о.2 а.! и так далее, Причем, если признак с=О, то к содержимому ячейки блока 1 памяти, имеющей адрес Ь. ц ...b,2b la к ...а2al, прибавляется "1".
Таким образом, изобретение позволяет уменьшить емкость памяти, не- 30 обходимой для хранения -разрядных результатов счета частоты использования команд, так как окончательный результат получается не суммированием содержимого ячеек, отведенных для данной команды, а подставкой содержимого ячейки (i+1)-зоны слева от содержимого ячейки i --й зоны (.=!у ° ° °, 2 )е
40 формула изобретения
Устройство для контроля программ, содержащее первый блок памяти, регистр базы и счетчик использования команд, причем группа информационных выходов счетчика использования команд соединена с группой информационных входов первого блока памяти, отличающееся тем, что, gp с целью уменьшения аппаратурных затрат, в устройство введены второй блок памяти, регистр режима, три мультиплексора, три элемента И, элемент НЕ, три элемента ИЛИ, счетчик базового у адреса, триггер переполнения, сумма- . тор, регистр данных, триггер пуска, счетчик микрокоманд, дешифратор, два триггера считывания и триггер записи
) причем входы меток событий устройства соединены с первой группой информа. ционных входов первого мультиплексора группа входов задания режима ра- - . боты устройства соединена с группой информационных входов регистра режима, тактовый вход устройства и вход признака наступления события устройства соединены соответственно со счетным входом счетчика микрокоманд и первым входом первого элемента И, вход признака записи устройства соединен с первым входом второго элемента И и входом записи регистра режима, вход признака считывания группы входов задания режима устройства соединен с вторым входом второго элемента И, выход которого соединен с первым входом первого элемента ИЛИ, выход режима считывания регистра режима соединен с управляющим еходом первого мультиплексора, с первыми входами второго и третьего элементов
ИЛИ, входом начальной установки счетчика использования команд и через элемент НЕ с вторым входом первого элемента И, выход которого соединен с вторым входом первого элемента
ИЛИ, выход которого соединен с единичным входом триггера пуска, инверсный выход которого соединен с входом разрешения счета счетчика микрокоманд и с входом разрешения дешифрации дешифратора, информационные выходы счетчика микрокоманд соединены с информационными входами дешифратора, первый выход которого. соединен с единичным входом первого триггера считывания, прямой выход которого соединен с входом считывания второго блока памяти, второй выход дешифратора соединен с входами записи регистра базы и счетчика базового адреса, третий выход дешифратора соединеН с единичным входом вто рого триггера считывания, первым входом третьего элемента И и с единичным входом триггера переполнения, четвертый выход дешифратора соединен с нулевым входом первого триггера считывания, с входами записи регистра данных и счетчика использования команд, пятый выход дешифратора соединен с нулевым входом второго триггера считывания, со счетным входом счетчика использования команд, шестой, седьмой и восьмой выходы де1265776 шифратора соединены соответственно с единичньп входом триггера записи, с нулевым входом триггера записи и с улевым входом триггера пуска, 5 прямой выход триггера записи соединен с входами записи первого и второго
: блоков памяти, прямой выход второго трйгрера считывания соединен с вхоДом считывания первого блока памяти, группа информационных выходов второго блока памяти соединена с группой информационных входов счетчика базового адреса и регистра базы, груп па информационных выходов счетчика 15 базового адреса соединена с группой информационных входов второго блока амяти, группа информационных выходов первого мультиплексора соединена с группой адресных входов второго бло 20 ка памяти, с второй группой адресных входов первого блока памяти, младший разряд регистра базы соединен с вторым входом третьего элемента ИЛИ, с управляющим входом второго 5 мультиплексора и информационным входом регистра данных, информационные выходы которого являются информационными выходами устройства, группа информациойных выходов первого блока 30 памяти соединена с группой входов первого операнда сумматора, с первой " группой информационнигх входов регистра данных и с первой группой информационных входов второго мультиплексора, группа информационных выходов регистра базы соединена с первой группой информационных входов третьего мультиплексора с второй группой информационных входов регистра данных и с группой входов второго операнда сумматора, группа выходов ре" зультата которого соединена с второй группой информационных входов второго коммутатора, группа информационных выходов которого соединена с группой информационных входов счетчика использования команд, выход переполнения которого соединен с нулевым входом триггера переполнения и счетным входом счетчнка базового адреса, пер вая группа информационных выходов регистра режимов соединена с второй группой информационных входов первого мультиплексора, вторая группа информационных выходов регистра режимов соединена с второй-группой информационных входов третьего мультиплексора, группа информационных выходов которого соединена с первой группой адресных входов, первого блока памяти, выход младшего разряда группы информационных выходов первого блока памяти соединен с вторым входом третьего элемента И, выход которого соединен с вторым входом второго элемента
И, выход которого соединен с входом начальной установки счетчика .базового адреса, прямой выход триггера переполнения соединен с информационным вхо- дом второго блока памяти, выход третьего элемента ИЛИ соединен с управляющим входом третьего мультиплексора.
1265776
Составитель Н, Сигалов
Техред И.Ходанич
Редактор И.Николайчук.Корректор1 М.IIoao
Тираж 671 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий!
13035, Москва, 3(-35, Раушская наб., д.4/5
Заказ 5666/47
Производственно-полиграфическое предприятие, г.ужгород, ул.Проектная,4