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

Иллюстрации

Показать все

Реферат

 

УСТРОЙСТВО ДЛЯ ИЗМЕРЕНИЯ ВРЕМЕННЫХ ПАРАМЕТРОВ ПРОГРАММ, содержащее датчик времени, блок памяти , два регистра, элемент И, первый элемент ИЛИ и блок уставок, соединенный первым выходом с входом уп- . равления первого регистра, отличающееся тем, что, с целью повьвиения быстродействия, в него введены накопитель, мультиплексор, вычитающее .устройство, второй элемент ИЛИ, h третьих элементов ИЛИ, формирователь импульсов, дешифратор и счетчик, связанный выходом с входом управления датчика времени, подключенного выходом к входу управления накопителя, соединенного ддресными входами с информационными выходами блока памяти и с входами дешифратора , связанного выходами с установочными входами второго регистоа , подключенного выходами к входам элемента И, соединенного выходом с первым входом второго элемента ИЛИ i .и со счетным входом счетчика, связанного разрядными входами с вторыми выходами блока уставок, срединенного третьими выkoдaми с разрядными входами первого регистра, подключенного выходами к первым входам вычитающего устройства, связанного выходами старших разрядов с входами первого элемента ИЛИ, выходами младших разрядов - с первыми входами третьих элементов ИЛИ, соединенных вторыми входами с выходом первого элемента ИЛИ, а выходами - с первыми входами мультиплексора, связанного выходами с адресными входами блока памяти, подключенного инфо жацион СО . нами входами к четвертым выходам блока уставок, связанного пятыми выходами с вторыми входами мультиплексора , подключенного управляющим входом к входу записи блока памяти и к шестому выходу блока уставок, соединенного с седьмыми и восьмыми выходами соответственно с синхронизирующим входом счетчика и с згоръал 00 входом второго элемента ИЛИ, под ключенного выходом к входу формирователя импульсов, связанного выходом с установочным входом второго регистра, причем вторые входы вычи;0 такяцего устройства и синхронизирующий йход датчика времени соединены соответственно с информационными входами и с синхронизирующим входом устройства.

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТКИ ЕСКИХ

РЕСПУБЛИК

4(51) G 05 В 15/02

ГОСУДАРС ГВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И OTHPblTHA опислнис изоьгктсния /", К АВТОРСКОМУ СВИДИ ЕЛЬСТВУ

I (21) 3515252/24-24 . (22) 18.10.82 (46) 23.01,85. Бюл. 9 3 (72) В.Н.Судариков и О.Х.Белов (53) 621.396 (088.8) (56) 1. Dennis -G, Ferri and Gregg

С.Giesler. Pfvlosophy.of à compu« ter-automated counting, system.

"ISSE Transaction on Nuclear Selence", vol. N-26, по. 4, Aug. 1979, р, 4592, fig. 2.

2. лекторское свидетельство СССР

Р 712810,кл. G 04 F 10/00,1980 (про" тотип). (54)(57) УСТРОЙСТВО ДЛЯ ИЗМЕРЕНИЯ

ВРЕМЕННЫХ ПАРАМЕТРОВ ПРОГРАММ, содержащее датчик времени, блок памяти, два регистра, элемент И, первый элемент ИЛИ и блок уставок, соединенный первым выходом с входом управления первого регистра, о т л ич а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены накопитель, мультиплексор, вычитающее,устройство, второй элемент ИЛИ, И третьих элементов ИЛИ, формирователь импульсов,. дешифратор и счетчик, связанный выходом с входом управления датчика времени, подключенного выходом к входу управления накопителя, соединенного ддресными входами с информационными выходами блока памяти и с входами дешифратора, связанного выходами с установочными входами второго регистоа, подключенного выходами к входам

„.SU„„A элемента И, соединенного выходом с .первым входом второго элемента ИЛИ .и со счетным входом счетчика, связанного разрядными входами с вторыми выходами блока уставок, соединенного третьими выходами с разрядными входами первого регистра, подключенного выходами к первым входам вычитающего устройства, связанного выходами старших разрядов с входами первого элемента ИЛИ, выходами младших разрядов — с первыми входами третьих элементов ИЛИ, соединенных вторыми входами с выходом первого элемента ИЛИ, а выходами — с первыми входами мультиплексора, связанного выходами с адресными входами бло- Q ка памяти, подключенного информационными входами к четвертым выходам блока уставок, связанного пятыми выходами с вторыми входами мультиплексора, подключенного управляющим входом к входу записи блока памяти и к Я шестому выходу блока уставок, соединенного с седьмыми и восьмыми выходами соответственно с синхронизирующим входом счетчика и с вторым входом второго элемента ИЛИ, подключенного выходом к входу формирователя импульсов, связанного выходом с установочным входом второго регистра, причем вторые входы вычитающего устройства и синхронизирую" щий вход датчика времени соединены соответственно с информационными входами и с синхронизирующим входом устройства.

1136109

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

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

Известное устройство позволяет с помощью датчика времени, блока памяти и процессора программными средствами определить. временной вклад различных областей программ в общее время решения задачи (1) . 15

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

Наиболее близким к изобретению является устройство, содержащее датчик времени (генератор опорной частоты, соединенный через таймер с одним входом элемента И, другой вход которого является входом управления датчика времени), блок памяти, два управляемых регистра (регистр приема и регистр сравнения), входы которых соединены с выходами соответст- 35 вующих групп элементов И, одни входы которых являются входами управления регистра, и блок уставок (блок выработки команд), первый выход которого соединен с входом управления 40 первого регистра.

Кроме того, в известном устройстве имеется процессор, схема сравнения„ блок выдачи результата и элементы И. Входной код, поступающий, например, с разрядных выходов счетчика команд исследуемой ЭВМ, по команде процессора заносится в регистр приема и схемой сравнения сравнивается с кбдом, принятым ранее, который хранится в ре.истре сравнения. 50

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

Таким образом, в блоке памяти .; фиксируется суммарное время, в течение которого счетчик команд исследуемой ЭВМ находился в данном со,,стоянии. Для однобайтовых команд ЭВМ это соответствует времени, в течение которого выполнялась команда, а для двух-, трех- или четырехбайтовых команд — времени выполнения соответствующих их частей, поэтому по окончании измерений для определения временного вклада интересующих программиста функционально законченных областей программы процессором производится интегрирование содержимого блока памяти в пределах, определяемых границами этих областей, и вывод информации через блок выдачи результата для дальнейшего анализа функционирования и корректировки, .программы (2) .

Быстродействие известного устройства Т определяется следующим выражением .

ta +tel +t +t + - +t

СЧ СЧ2 )ИЧ4 ™

+ +1 +t

В 4,В 3aq ОБН где ta — временные затраты на прием информации входным регистром;

t — временные затраты на обраср ботку информации схемой сравнения; — временные затраты на считывание кода иэ регистра приема;

С „ — временные затраты на считывание показаний датчика времени; временные затраты на вычисвыч.1 ление дифференциального значения времени присутствия кода;

t, — временные затраты на чтение интегрального значения времени из блока памяти; временные затраты на вычисление интегрального значения времени присутствия кода; временные затраты на запись интегрального значения времени в блок памяти; — временные затраты на перезапись информации в регистр сравнения.

Недостатком известного устройства является его низкое быстродействие.

Цель изобретения — повышение быстродействия, Поставленная цель достигается тем, что в устройство для измерения временных параметров программ, содержащее датчик времени, блок памя1136109

60

65 ти, два регистра, элемент И, первый элемент ИЛИ и блок уставок, соединенный первым выходом с входом управления первого регистра, введены накопитель, мультиплексор, вычитающее устройство, второй элемент HJIH, 5 и третьих элементов ИЛИ, формирователь импульсов, дешифратор и счетчик, связанный выходом с входом управления датчика времени, подключенного выходом к входу управления на" 10 копителя, соединенного адресными входами с информационными выходами блока памяти и с входами дешифратора, связанного выходами с устано-. вочными входами второго регистра, пбдключенного выходами к входам элемента И, соединенного выходом с первым входом второго элемента ИЛИ и со счетным входом счетчика, связанного разрядными входами с вторы- 20 ми выходами блока уставок, соединенного третьими выходами с разрядными входами первого регистра, подключенного выходами к первым входам вычитающего устройства, связанного 25 выходами старших разрядов с входами первого элемента ИЛИ, выходами младших разрядов — с первыми входами третьих элементов ИЛИ, соединенных вторыми входами с выходом первого элемента ИЛИ, а выходами — с первыми входами мультиплексора, связанного выходами с адресными входами блока памяти, подключенного информационНыми входами к четвертым выходам блока уставок, связанного пятыми выходами с вторыми входами мультиплексора„ rro ro eHHoro rrp Jr ro HM аходом к входу записи блока памяти и к шестому выходу блока уставок, соединенного седьмыми и восьмыми выходами 40 соответственно с синхронизирующим входом счетчика и с вторым входом, второго элемента ИЛИ, подключенного выходом к входу формирователя импульсов, связанного выхбдом с уста- 45 новочным входом второго регистра, причем вторые входы вычитающего устройства и синхронизирующий вход датчика времени соединены соответственно с информационными входами и с 50 синхронизирующим входом устройства.

На фиг.1 показана структурная схема устройствами на Фиг.2 — временные диаграммы, иллюстрирующие его . работу. устройство содержит датчик 1 времени, накопитель 2, вычитающее устройство 3, третьи элементы ИЛИ 4, первый элемент ИЛИ 5, мультиплексор 6, блок 7 памяти, дешифратор 8, формирователь 9 импульсов, второй регистр-10, элемент И 11, второй элемент ИЛИ 12, первый регистр 13, счетчик 14, блок 15 уставок. Входы устройства: информационные 16 и (синхронизирующий 17.

Блок уставок содержит выходы: первый 18, вторые — 19, третьи — 20,, четвертые — 21, пятые — 22, шестой

23, седьмой — 24, восьмой — 25, вход 26 логической единицы, ключи 27 — 30 и переключатель 31.

Перед началом работы из рабочей программы, составленной в машинных кодах и позволяющей ббслужить определенный набор периферийных устройств, выделяется часть, функционирующая в реальном времени и включающая в себя операции непосредственно по сбору и обработке входной информации ° Выделенная часть программы объемом не более (2"-1) слов разбивается на (2 -1) ключевых обласR тей, статистика использования которых в операционной системе определяет ее производительиость. Каждой из выделенных областей присваивается порядковый номер L в пределах от 0 до (2 -2)) и определяются их начальR ные и конечные адреса С„ и Э, а так-. же фиксируется адресный адрес Ао, с ,которого начинается программа реального времени. Ячейкам памяти, отведенным под константы и массивы данных, а также рабочим, ячейкам номер L не присваивается. Всем остальным областям программы, не функционирующим в реальном времени, присваивается номер L = 2 -1, Методику разбиения программы поясним примером (табл. 1) . Из общей программы работы операционной системы, находящейся в исследуемой ЭВИ с шестнадцатиреечной адресацией и занимающей объем 32К слов, выделяется программа реального времени, занимающая объем 8К слов и размещаемая с адреса А„ = 2000ц.

Из.данной программы (для восьмиразрядного блока 7 памяти) выделяем 255 ключевых областей — подпрограмму ожидания прерывания (Ь = О), подпрограммы считывания данных из периферийных устройств, подпрограммы обработки информации и т.п.

Для подготовки устройства к работе необходимо занести информацию в блок 7 памяти, регистры 13, 10 и,в счетчик 14. С помощью ключей 29 блока 15 уставок установим двоичный код числа L, который поступает на информационные входы блока 7 памяти.

На переключателях 28 блока уставок установим двоичный код числа (С -Ап), который поступает на входы мультиплексора 6. С помощью переключателя 31 блока уставок с шины 26 сигнал логической "1" передается на вход управления мультиплексора,б и на вход записи блока 7 памяти, вследствие чего в последний по адресу

1136109

10 (C -А ) записывается число Ь. Аналогичйым образом, последовательно изменяя состояния ключей 28 и 29 в соответствии с предварительным разбиением программы по всем адресам в пределах от (С -А,) до (Dz-Ао) в блок 7

5 памяти записывается соответствующее число Ь. Во все оставшиеся ячейки блока 7 памяти записывается число (2"-1). Запись информации применительно к рассматриваемому примеру приведена в табл. 2.

На переключателях 27 блока 15 уставок установим двоичный код числаА>, который поступает на разрядные входы регистра 13, С помощью переключателя 31 с шины 26 логическая "1" поступает на вход управления регистра 13, вследствие чего в последнем записывается число Ао.

Информация с регистра 13 поступа- 20 ет на входы вычитающего устройства 3, на информационные входы которого с информационных входов 16 в данном случае поступает двоичный код чис ла "0". Вычитающее устройство 3 осуществляет вычитание числа, присутствующего на его входах, соединенных с выходами регистра, из числа, присутствующего íà его входах 16, поэтому вследствие отрицательного значения разности на его старшем выхо-. де 21 "присутствует логическая "1". поступающая через первый элемент ИЛИ на одни входы всех элементов третьих ИЛИ, вследствие чего на выходах последних генерируется двоичный код числа (2"-1), Информация с выходов третьих элементов ИЛИ поступает на входы мультиплексора б и далее на адресные входы блока 7 памяти, гене- 40 рируя на его выходах двоичный код числа (2 -1), поступающий на входы

И дешифратора 8. Поскольку число состояний дешифратора 8 равно (2 -1), Я на всех его выходах присутствуют сигналы логического "0", поступающие на установочные входы регистра 10. С помощью переключателя 31 блока уставок с шины 26 на вход элемента HJIH 12 поступает логическая "1".

При этом на выходе элемента ИЛИ 12 также устанавливается логическая "1", запускающая формирователь импульсов, импульс с выхода которого через установленный вход устанавливает все разряды регистра 10 в нулевое состоя-55 ние.

На ключах 30 блока уставок устанавливают двоичный код числа (2>-К), поступающий через выходы блока уставок на разрядные входы счетчика 14. g0

С помощью переключателя 31 с шины 19 логическая "1" поступает на синхронизирующий вход счетчика 14, вследствие чего в последний записывается двоичный код числа (2 -К).

Устройство работает следующим образом.

Состояние N счетчика команд иссле" дуемой ЭВМ, определяющее адрес исполняемой команды, через информационные выходы 18 поступает на входы вычитающего устройства 3, на выходных шинах которого оорМируется двоичный код числа N-A

Если величина (2 -1)>(N-A )>0, то с выходов элементов ИЛИ 4 через мультиплексор 6 число (N-À ) поступает ,на адресные входы блока 7 памяти, причем, когда.Р„»(N.-A()) С, с информационных выходов блока 7 памяти считывается соответствующее число L, которое через дешифратор 8 с помощью соответствующего установочного входа регистра 10 вызывает срабатывание его L-го разряда. Кроме того, с информационных выходов блока 7 памяти число Ь поступает на адресные входы накопителя 2., на вход управления которого поступают импульсы с выхода датчика 1 времени (фиг.2а), работа которого синхронизируется внешним сигналом с синхронизирующего входа 17.

Таким образом, время нахождения адресного счетчика исследуемой ЭВМ в области программы с номером Г (фиг.2о) фиксируется в соответствующих каналах накопителя ? (фиг,2в,г,g, ..

Если величина 0 >(Н-А )>(2 -1), что возможно при подготовке системы и выполнении других операций, не относящихся к н6менклатуре операций реального времени (адреса 0000 —

1ГРР табл.1), логические "1" с выходов вычитающего устройства 3 через элемент ИЛИ 5 поступают на входы элементов ИЛИ 4, на выходах которых образуется код числа (2"-Ц, поступающий через мультиплексор б на адресные входы блока 7 памяти. В этом случае с информационных выходов блока 7 памяти считывается число (2 -1), К

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

При установке в единичное состояние всех разрядов регистра 10, что соответствует прохождению всех L выделенных областей (без учета

2 -1) программы, на выходе элемента И устанавливается логическая "1", запускающая через элемент PJIH 12 формирователь 9, импульс которого через установочный вход устанавливает регистр 10 в исходное состояние. Вместе.с тем импульс с выхода элемента И 11 поступает на счетный вход счетчика, изменяя его состояние. Если все (, областей прог1136109 раммы (без учета области = 2"-1II обработали k раз., счетчик 14 пере- полняется, и сигнал с его выхода поступает на вход управления датчика 1 времени и прекращает его работу.

Таким образом, в накопителе 2 формируется гистограмма времени, отражающая временной вклад ть каждой из областей программы в общее время решения задачи, с помощью гисто-. граммы могут быть определены и про- 10 анализированы "критические" области программы, вносящие наибольший вклад в общее время решения задачи, а также величина "простоя" операционной системы из-за отсутствия информации f5 с периферийных устройств вследствие неоптимальной организации их взаимного программного взаимодействия. На основании анализа может быть произведена переработка программного обес-20 печения, относящегося к программам реального времени, с целью сокращения объема "критических" областей программы, минимизации их временного вклада путем введения банка про->5 межуточных данных, исключения отдельных расчетов за счет использования таблиц и другими известными в программировании методами.

Использование в предлагаемом устройстве новых элементов, а именно

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

Таблица 1

255

0000 IFA0

1РА ТРРР1

255

Ожидание прерывания

000

001 2003 2012

002 2013 2022

2133 2142,4

2143 2188 6

2189 22А2 к+1

Рабочие ячейки

Назначение области программы

Подготовка работы операционной системы

Пуск служебных устройств

Считывание данных с периферийного устройства

Считывание данных с периферийного устройства

Считываиие данных с периферийного устройства

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

Быстродействие предлагаемого устройства, содержащего датчик времени типа БТЦ-99, накопитель типа

АИ-256 с временем преобразования

1 мкс, выполненное на элементах

К155ИПЗ,.16-разрядное вычитающее устройство с быстродействием 0,3 мкс, выполненное на элементах К155КП2, мультиплексор с быстродействием "

40 нС, блок памяти типа БЗЦ-93 объемом 8К байт с быстродействием

0,25 мкс, регистры с быстродействием

60 нс, выполненные на элементах

К155ТМ2, элементы ИЛИ с быстродействием 25 нс, выполненные на электросхемах К155ЛЛ1,.элемент И с быстродействием 50 нс, выполненный на элементах К155ЛА2, дешифратор с быстродействием 50 нс, выполненный на элементах К155ИДЗ, четырехразрядный счетчик с быстродействием 25 нс, выполненный на элементах К155ИЕ7, формирователь импульсов, выполненный на элементах К155АГ1, и блок уставок, выполненный на переключателях типа П2К, составляет приблизительно 2 мкс, тогда как быстродействие известного устройства, логические элементы которого также выполнены на микросхемах серии К155, а в качест ве процессора исжользуется микропроцессорный набор К587, составляет приблизительно 8 команд 5 мкс =

40 мкс.

2000, 2002 Начало програм14 мы обслуживания периферийных устройств

1136109

К+2

254

255

40О1<6 7FFF

255

Блок 7 памяти

Число

0000

0001

001 3 6 - 0022

0002 .

K+1

К + 2

254

255

Обработка данных

Обработка данных

Останов служебных устройств

Расчет выходных параметров

Диапазон адресов

0000 6 — 000216

0003<6 - 0012<6

0133 6 - 0142 6

0143,6 — 0188ц

02АЗ 6 — 02А 6

1F91 6 — 1FF <6

1FF1<6 - 1ГГГЦ

22A3() 22FA<6

3 91 6 3FFO<6

3 1 4060

Таблица 2

Продолжение табл. 2

Конец программы обслуживания пе-риферийных устройств

1136109

2О 0

/(ц /Р7

К 1 К<2 >

6 789 ЮТ233Я 56П)В

123Ч5

12 3Ч

5б 789 Ю

I2 345 6

/23

958789

Заказ 10284/34 Тираж 8бЗ Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4

Составитель A.Ëèøàíñêèé

Редактор P.Öèöèêà Техред 3.Палий Корректор C,Øåêìàð т