Устройство для измерения временных параметров программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
ГВЕННЫЙ НОМИТЕТ СССРМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ 3515252/24-2418,10,8223.01,85, Бюл. 9 3В.Н.Судариков и О,Х.Белов621.396 (088.8)1. Репп 1 в О, Регг 1 апй Огевыжег. РГу 1 оворЬу.оГ а сошрп 1 ова ей соцп 1 1 щву в йеш.Тгапвас 11 оп оп Яцс 1 еаг Яе 1чо 1. Б, по. 4, Ап 8, 197992, ГН. 2,Авторское свид тво С810,кл. 0 04 Р 1980(54)( УСТРОЙСТВО ДЛЯ ИЗМЕРЕНИЯВРЕМЕННЫХ ПАРАМЕТРОВ ПРОГРАММ, содержащее датчик времени, блок памя-.ти, два регистра, элемент И, первыйэлемент ИЛИ и блок уставок, соединенный первым выходом с входом управления первого регистра, о т л ич а ю щ е е с я тем, что, с цельюповышения быстродействия, в неговведены накопитель, мультиплексор,вычитающее,устройство, второй элемент ИЛИ, И третьих элементов ИЛИ,формирователь импульсов, дешифратори счетчик, связанный выходом с входом управления датчика времени, подключенного выходом к входу управления накопителя, соединенного ддресными входами с информационными выходами блока памяти и с входами дешифратора, связанного выходами с установочными входами второго регистоа, подключенного выходами к входам элемента И, соединенного выходом с первым входом второго элемента ИЛИ .и со счетным входом счетчика, связанного разрядными входами с вторыми выходами блока уставок, соединенного третьими выходами с разрядными входами первого регистра, подключенного выходами к первым входам вычитающего устройства, связанного выходами старших разрядов с входами первого элемента ИЛИ, выходами младших разрядов - с первыми входами третьих элементов ИЛИ, соединенных вторыми входами с выходом первого элемента ИЛИ, а выходами - с первыми входами мультиплексора, связанного выходами с адресными входами бло- Я ка памяти, подключенного информационЖ ными входами к четвертым выходам бл ка уставок, связанного пятыми выхо дами с вторыми входами мультиплексора, подключенного управляющим в дом к входу записи блока памят шестому выходу блока уставок, диненного с седьмыми и восьмым ходами соответственно с синхро рующим входом счетчика и с вторым входом второго элемента ИЛИ, подключенного выходом к входу Формиро вателя импульсов, связанного выходом с установочным входом второго регистра, причем вторые входы вычитающего устройства и синхронизирующий вход датчика времени соединесоответственно с информационными дами и с синхронизирующим входом устройства.1 О Изобретение относится к вычислительной технике и,может быть использовано при изучении функционирования операционных систем для измерения временного вклада отдельныхфрагментов программ в общее время решения задачи,Известна устройство, содержащеедатчик времени, блок памяти, процессор и периферийные устройства.Известное устройство позволяет спомощью датчика времени, блока памяти и процессора программными средствами определить. временной вкладразличных областей программ в общеевремя решения задачи 1) . 15Однако введение служебных операций вносит искажения (особенно существенные при наличии быстродействующих периферийных устройств и ко-ротких областей программ) в Функционирование операционной системы, иизвестное устройство не позволяет получить исчерпывающих и достоверныхсведений о функционировании опера"ционной системы в реальном времени.1Наиболее близким к изобретениюявляется устройство, содержащее датчик времени (генератор опорной частоты, соединенный через таймер с одним входом элемента И, другой вход ЗОкоторого является входом управлениядатчика времени), блок памяти, двауправляемых регистра регистр приема и регистр сравнения), входы которых соединены с выходами соответствующих групп элементов И, одни входы которых являются входами управления регистра, и блок уставок (блоквыработки команд), первый выход которого соединен с входом управления 4 Опервого регистра.Кроме того, в известном устройстве имеется процессор, схема сравнения блок выдачи результата и элементы И. Входной код, поступающий 45например, с разрядных выходов счетчика команд исследуемой ЭВМ, по команде процессора заносится в регистрприема и схемой сравнения сравнивается с кбдом, принятым ранее, кото"рый хранится в регистре сравнения.При несовпадении кодов по сигналампроцессора и командам, вырабатываемым блоком управления, процессорсчитывает код иэ регистра приема,считывает показания датчика времени 55и определяет по ним время, в течение которого данный код присутствовал на входах устройства, извлекаетиз соответствующей ячейки блока памяти измеренное ранее для данного 6 Окода суммарное значение времени,. втечение которого он присутствовал навходах, суммирует эти величины и записывает результат в ту же ячейку,блока памяти, после чего состояние регистра сравнения обновляется, и производится прием следующего кода.Таким образом, в блоке памяти.; фиксируется суммарное время, в течение которого счетчик команд исследуемой ЭВМ находился в данном состоянии. Для однобайтовых команд ЭВМ это соответствует времени, в течение которого выполнялась команда, а для двух-, трех- или четырехбайтовых команд - времени выполнения соответствующих их частей, поэтому по окончании измерений для определения временного вклада интересующих программиста Функционально законченных областей программы процессором производится интегрирование содержимого блока памяти в пределах, определяемых границами этих областей, и вывод информации через блок выдачи результата для дальнейшего анализа функционирования и корректировки, .программы 2).Быстродействие известного устройства Т определяется следующим выражением.Т = С, +С, +С +С +С. +С +СЧ СЧ 2 ИЧ 4 ч 4 Т+С +С +СВЫ 4, 5 ОЧ ОБНгде С - временные затраты на приеминформации входным регистром;С - временные затраты на обрасрботку информации схемойсравнения;- временные затраты на считывание кода иэ регистра фприема;С- временные затраты на считывание показаний датчикавремени;временные затраты на вычисвыч,1ление дифференциальногозначения времени присутствия кода;С, - временные затраты на чтениеинтегрального значения времени из блока памяти;СВ - вРеменные затраты на вычисление интегрального значения времени присутствиякода;временные затраты на записьинтегрального значения времени в блок памяти;С, - временные затраты на перезапись информации в регистрсравнения,Недостатком известного устройства является его низкое быстродействие.Цель изобретения - повышение быстродействия,Поставленная цель достигаетсятем, что в устройство для измерениявременных параметров программ, содержащее датчик времени, блок памя55 60 65 ти, два регистра, элемент И, первыйэлемент ИЛИ и блок уставок, соединенный первым выходом с входом управления первого регистра, введенынакопитель, мультиплексор, вычитающее устройство, второй элемент ИЛИ, 5о третьих элементов ИЛИ, формирователь импульсов, дешифратор и счетчик, связанный выходом с входом управления датчика времени, подключенного выходом к входу управления на" 10.копителя, соединенного адреснымивходами с информационными выходамиблока памяти и с входами дешифратора, связанного выходами с установочными входами второго регистра, 15пбдключенного выходами к входамэлемента И, соединенного выходом спервым входом второго элемента ИЛИи со счетным входом счетчика, связанного разрядными входами с вторыми выходами блока уставок, соединенного третьими выходами с разряднымивходами первого регистра, подключенного выходами к первым входамвычитающего устройства, связанного 25выходами старших разрядов с входамипервого элемента ИЛИ, выходами младших разрядов - с первыми входамитретьих элементов ИЛИ, соединенныхвторыми входами с выходом первогоэлемента ИЛИ, а выходами - с первымивходами мультиплексора, связанноговыходами с адресными входами блокапамяти, подключенного информационНыми входами к четвертым выходам блока уставок, связанного пятыми выходами с вторыми входами мультиплексора, подключенного управляющим входом к входу записи блока памяти и кшестому выходу блока уставок, соединенного седьмыми и восьмыми выходами 40соответственно с синхронизирующимвходом счетчика и с вторым входом,второго элемента ИЛИ, подключенноговыходом к входу Формирователя импульсов, связанного выходом с установочным входом второго регистра,причем вторые входы вычитающего устройства и синхронизирующий вход датчика времени соединены соответственно с информационными входами и с 50синхронизирующим входом устройства. На Фиг,1 показана структурная схема устройства 1 на Фиг.2 - временные диаграммы, иллюстрирующие его . работу. устройство содержит датчик 1 времени, накопитель 2, вычитающее устройство 3, третьи элементы ИЛИ 4, первый элемент ИЛИ 5, мультиплексор 6, блок 7 памяти, дешифратор 8, формирователь 9 импульсов, второй регистр, элемент И 11, второй элемент ИЛИ 12, первый регистр 13, счетчик 14, блок 15 уставок, Входы устройства: информационные 16 иМсинхронизирующий 17.Блок уставок содержит выходы: первый 18, вторые - 19, третьи - 20четвертые - 21, пятые - 22;шестой23, седьмой - 24, восьмой - 25,вход 26 логической единицы, ключи 27 - 30 и переключатель 31,Перед началом работы из рабочейпрограммы, составленной в машинныхкодах и позволяющей ббслужить определенный набор периферийных устройств, выделяется часть, Функционирующая в реальном времени и включающая в себя операции непосредственно по сбору и обработке входной информацииВыделенная часть программы объемом не более (2"-1) слов разбивается на 2 -1) ключевых обласРтей, статистика использования которых в операционной системе определя-ет ее производительиость. Каждой извыделенных областей присваиваетсяпорядковый номер Ь в пределах от 0до (2 -2 и определяются их начальйные и конечные адреса Си Э, а так-.же фиксируется адресный адрес Ао, с,которого начинается программа реального времени. Ячейкам памяти, отведенным под константы и массивыданных, а также рабочим, ячейкамномер Ь не присваивается. Всем остальным областям программы, не функционирующим в реальном времени,присваивается номер Ь = 2 -1,Иетодику разбиения программы поясним примером (табл. 1) . Из общейпрограммы работы операционной системы, находящейся в исследуемой ЭВИ сшестнадцатиреечной адресацией и занимающей объем 32 К слов, выделяетсяпрограмма реального времени, занимающая объем 8 К слов и размещаемаяс адреса А, = 2000.Из.данной программы (для восьмиразрядного блока 7 памяти) выделяем 255 ключевых областей - подпрограмму ожидания прерывания (Ь = О),подпрограммы считывания данных изпериферийных устройств, подпрограммыобработки информации и т.п. Для подготовки устройства к работе необходимо занести. информацию в блок 7 памяти, регистры 13, 10 ив счетчик 14. С помощью ключей 29 блока 15 уставок установим двоичный код числа Ь, который поступает на информационные входы блока 7 памяти. На переключателях 28 блока уставок установим двоичный код числа (С-АО), который поступает на входы мультиплексора б, С помощью переключателя 31 блока уставок с шины 26 сигнал логической "1" передается на вход управления мультиплексора,б и на вход записи блока 7 памяти, вследствие чего в последний по адресу(С -А) записывается число Ь. Аналогичйым образом,последовательно изменяя состояния ключей 28 и 29 в соответствии с предварительным разбиением программы по всем адресам в пределах от (С-А,) до (Рь-Ао) в блок 75памяти записывается соответствующеечисло Ь. ВО все оставшиеся ячейкиблока 7 памяти записывается число(2"-1), Запись информации применительно к рассматриваемому примеруприведена в табл, 2,На переключателях 27 блока 15 уставок установим двоичный код числа ",который поступает на разрядные входы регистра 13, С помощью переключателя 314 с шины 26 логическая "1"поступает на вход управления регистра 13, нследствие чего в последнемзаписывается число А 0.Информация с регистра 13 поступа Оет на входы вычитающего устройства 3,на информационные входы которого синформационных входов 16 в данномслучае поступает двоичный код числа "0". Вычитающее устройство 3 осуществляет вычитание числа, присутствующего на его входах, соединенныхс выходами регистра, из числа, присутствующего на его входах 16, поэтому вследствие отрицательного значения разности на его старшем выхо-.де 21 "присутствует логическая "1",поступающая через первый элемент ИЛИна одни входы всех элементов третьих ИЛИ, вследствие чего на выходахпоследних генерируется двоичный кодчисла (2"-1), Информация с выходовтретьих элементов ИЛИ поступает навходы мультиплексора 6 и далее наадресные входы блока 7 памяти, гене Орируя на его выходах двоичный кодчисла 2 -1), поступающий на входыдешифратора 8. Поскольку число состояний дешифратора 8 равно (,2 -1),Яна всех его выходах присутствуют сигналы логического ф 0", поступающие на 45установочные нходы регистра 10. Спомощью переключателя 31 блока уставок с шины 26 на вход элемента ИЛИ 12 поступает логическая "1 ф.При этом на выходе элемента ИЛИ 12также устанавливается логическая "1",запускающая формирователь импульсов,импульс с выхода которого через установленный вход устанавливает всеразряды регистра 10 в нулевое состоя ние,На ключах 30 блока уставок устанавливают двоичный код числа (2-К),поступающий через выходы блока уставок на разрядные входы счетчика 14, ЩОС помощью переключателя 31 с шины 19логическая ф 1 ф поступает на синхронизирующий вход счетчика 14, вследствие чего в последний записываетсядвоичный код числа (2 ф-К). Устройство работает следующим образом.Состояние И счетчика команд иссле"дуемой ЭВМ, определяющее адрес исполняемой команды, через инФормационные ныходы 18 поступает на входывычитающего устройства 3, на выходных шинах которого оорМируется двоичный код числа М-А,Если величина (2 -1)(М-А)О, тос выходов элементов ИЛИ 4 через мультиплексор 6 число (И-А) поступает,на адресные входы блока 7 памяти,причем, когда Р(Б.-А 0) С, с информационных выходов блока 7 памяти считывается соответствующее число Ь,которое через дешифратор 8 с помощьюсоответствующего установочного входа регистра 10 вызывает срабатываниеего Ь-го разряда. Кроме того, с информационных выходов блока 7 памятичисло Ь поступает на адресные входынакопителя 2., на вход управления которого поступают импульсы с выходадатчика 1 нремени (фиг.2 а), работакоторого синхронизируется внешнимсигналом с синхронизирующего входа 17,Таким образом, время нахождения адресного счетчика исследуемой ЭВМ вобласти программы с номером Ь (Фиг.20)фиксируется в соответствующих каналах накопителя 2 (Фиг,2 п,г,Я,.Если неличина О (Н-А(2 -1),что возможно при подготовке системыи выполнении других операций, не относящихся к н 6 менклатуре операцийреального времени (адреса 0000 -1 РРР табл.1), логические "1" с выходов вычитающего устройства 3 черезэлемент ИЛИ 5 поступают на входы элементов ИЛИ 4, на выходах которых образуется код числа (2"-1), поступающий через мультиплексор б на адресные нходы блока 7 памяти, В этомслучае с информационных выходов блока 7 памяти считывается число 2 -1),йопределяющее последний канал накопи-.теля 2, выделенный для изменениявремени нахождения исследуемой операционной системы вне области программы реального времени. В дешифраторе 8 выход, соответствующий числу 2"-1), отсутствует.При установке и единичное состояние всех разрядов регистра 10, чтосоответствует прохождению всех Ь выделенных областей (без учетаВ2 -1) программы, на выходе элемента И устанавливается логическая "1", запускающая через элемент ИЛИ 12 формирователь 9, импульскоторого через установочный вход устанавливает регистр 10 н исходноесостояние, Вместе с тем импульс свыхода элемента И 11 поступает насчетный вход счетчика, изменяя егосостояние. Если все (, областей прог1136109 Таблица 1 азначение облас граммы а работы операционн одгото истемы 0000 1 РАО 1 РАУ 16 ебных устройстпрерывания Пуск сл Ожидани 2000 200214 ачало програм мы обслуживаия периферийых устройств 2003 2012 0 с периа Считываниерийного усСчитываииерийного ус данныройс 02 13 дан рой 2133 2142 2143 21886 хспва К+ або чей 189 22 А 2 раммы без учета области= 2"-1 офработали 1 раз., счетчик 14 пере- полняется, и сигнал с его выхода поступает на вход управления датчика 1 времени и прекращает его работу.Таким образом, в накопителе 2 Формируется гистограмма времени, отражающая временной вклад ть каждой из областейпрограммы в общее время решения задачи, с помощью гисто-. граммы могут быть определены и про анализированы фкритические" области программы, вносящие наибольший вклад в общее время решения задачи, а также величина "простоя" операционной системы из-за отсутствия информации 5 с периферийных устройств вследствие неоптимальной организации их взаимного программного взаимодействия. На основании анализа может быть произведена переработка программного обеспечения, относящегося к программам реального времени, с целью сокращения объема "критических" областей программы, минимизации их временного вклада путем введения банка промежуточных данных, исключения отдельных расчетов за счет использования таблиц и другими известными в программировании методами.Использование в предлагаемом устройстве новых элементов, а именно30 накопителя, мультиплексора, вычитающего устройства, второго элемента ИЛИ, п третьих элементов ИЛИ, формирователя импульсов, дешифратора счетчика в их связи с известными 35 узлами отличает его от.известного читывание данных с перийеийного устройства иск источника прерыван устройства, так как позволяет исключить программные операции по обработке входной информации и тем самым существенно повысить быстродействие.Быстродействие предлагаемого устройства, содержащего датчик времени типа БТЦ, накопитель типа АИс временем преобразования 1 мкс, выполненное на элементах К 155 ИПЗ,.16-разрядное вычитающее устройство с быстродействием 0,3 мкс, выполненное на элементах К 155 КП 2, мультиплексор с быстродействием " 40 нС, блок памяти типа БЗЦобъемом 8 К байт с быстродействием 0,25 мкс, регистры с быстродействием 60 нс, выполненные на элементах К 155 ТМ 2, элементы ИЛИ с быстродействием 25 нс, выполненные на электро- схемах К 155 ЛЛ 1,.элемент И с быстродействием 50 нс, выполненный на элементах 1(155 ЛА 2, дешифратор с быстродействием 50 нс, выполненный на элементах К 155 ИДЗ, четырехразрядный счетчик с быстродействием 25 нс, выполненный на элементах К 155 ИЕ 7, формирователь импульсов, выполненный на элементах К 155 АГ 1, и блок уставок, выполненный на переключателях типа П 2 К, составляет приблизительно 2 мкс, тогда как быстродействие известного устройства, логические элементы которого также выполнены на микросхемах серии К 155, а в качестве процессора исжользуется микро" процессорный набор К 587, составляет приблизительно 8 команд 5 мкс =40 мкс.10 1136109 К+2 254 255 40 В 1 7 РРР 255 Блок 7 памяти Число 0000 0001 0002 . К+1 К + 2 254 255 1Обработка данныхОбработка данныхОстанов служебных устройств Расчет выходных параметров Диапазон адресов ОООО - 0002 000316 - 00126 0013, - 0022,ь 0133 6 - 01426 0143,6 - 0188 ц 02 АЗ(6 - 02 А 6 1 Р 914 - 1 РРОЬ 6 1 РР 1 б 1 РРР(б 22 АЗ 22 РАц ЗР 91 ЗРРОб 3 РР 1 4060 Таблица 2 Продолжение табл, 2 Конец программы обслуживания пе. риферийных уст- ройств/7 ЗЧ 5 Б 873 Ч 587 ВЯ Заказ 10284/34 Тираж 8 бЗ Подписное ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж, Раушская наб,р д 4/5
СмотретьЗаявка
3515252, 18.10.1982
ПРЕДПРИЯТИЕ ПЯ В-2502, ПРЕДПРИЯТИЕ ПЯ А-1758
СУДАРИКОВ ВЛАДИМИР НИКОЛАЕВИЧ, БЕЛОВ ОЛЕГ ХАИМОВИЧ
МПК / Метки
МПК: G05B 15/02
Метки: временных, параметров, программ
Опубликовано: 23.01.1985
Код ссылки
<a href="https://patents.su/7-1136109-ustrojjstvo-dlya-izmereniya-vremennykh-parametrov-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для измерения временных параметров программ</a>
Предыдущий патент: Устройство для регулирования положения
Следующий патент: Адаптивная система управления
Случайный патент: Молотильное устройство