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

 

УСТРОЙСТВО ДЛЯ ИЗМЕРЕНИЯ ВРЕМЕННЫХ ПАРАМЕТРОВ ПРОГРАММ, содержащее датчик времени, блок памяти , два регистра, элемент И, первый элемент ИЛИ и блок уставок, соединенный первым выходом с входом уп- . равления первого регистра, отличающееся тем, что, с целью повьвиения быстродействия, в него введены накопитель, мультиплексор, вычитающее .устройство, второй элемент ИЛИ, 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 /(+,3

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,Øåêìàð т

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

 

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

Изобретение относится к машиностроению и может быть использовано в системах управления подачей рабочего тела, например, в системах управления режимом жидкостного ракетного двигателя (ЖРД)

Изобретение относится к системам управления современных летательных аппаратов

Изобретение относится к системам управления технологическими процессами

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

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

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

Изобретение относится к области микроэлектроники

Изобретение относится к управляющим и регулирующим системам общего назначения, в частности к средствам управления компрессорной газозаправочной установкой
Наверх