Устройство для измерения временных параметров программ Советский патент 1985 года по МПК G05B15/02 

Описание патента на изобретение SU1136109A1

Изобретение относится к вычислительной технике и может быть исполь зовано при изучении функционирования операционных систем для измерения временного вклада отдельных фрагментов программ в общее время р шения задачи. Известна устройство, содержащее датчик времени, блок памяти, процес сор и периферийные устройства. Известное устройство позволяет с помощью датчика времени, блока памяти и процессора программными сред ствами определить, временной вклад различных областей программ в общее время решения задачи ij . Однако введение служебных операций вносит искажения (особенно существенные при наличии быстродействукядих периферийных устройств и коротких областей программ) в функцио нирование операционной системы, и известное устройство не позволяет п лучить исчерпывающих и достоверных сведений о функционировании опера ционной системы в реальном времени, Наиболее близким к изобретению является устройство, содержащее дат чик времени (генератор опорной частоты, соединенный через таймер с од ним входом элемента И, другой вход которого является входом управления датчика времени), блок памяти, два управляемых регистра (регистр приема и регистр сравнения), входы кото рых соединены с выходами соответствующих групп элементов И, одни входы которых являются входами управле ния регистра, и блок уставок (блок выработки команд), первый выход которого соединен с входом управления первого регистра. Кроме того, в известном устройст ве имеется процессор, схема сравнения, блок выдачи результата и элементы И. Входной код, поступающий, например, с разрядных выходов счетчика команд исследуемой .ЭВМ, по команде процессора заносится в регистр приема и схемой сравнения сравнивается с кодом, принятым ранее, который хранится в регистре сравнения. При несовпадении кодов по сигналам процессора и командам, вырабатываемым блоком управления, процессор считывает код из регистра приема, считывает показания датчика времени и определяет по ним время, в течение которого данный код присутствовал на входах устройства, извлекает из соответствующей ячейки блока памяти измеренное ранее для данного кода суммарное значение времени,- в течение которого он присутствовал на входах, суммирует эти величины и записывает результат в ту же ячейку, блока памяти, после чего состояние регистра сравнения обновляется, и производится прием следующего кода. Таким образом, в блоке памятиU . фиксируется суммарное время, в течение которого счетчик команд исследуемой ЭВМ находился в данном состоянии. Для однобайтовых команд ЭВМ это соответствует времени, в течение которого выполнялась команда, а для двух-, трех- или четырехбайтовых команд - времени выполнения соответствующих их частей, поэтому по окончании измерений для определения временного вклада интересующих программиста функционально законченных областей программы процессором производится интегрирование содержимого блока памяти в пределах, определяемых границами этих областей, и вывод информации через блок выдачи результата для дальнейшего анализа функционирования и корректировки. программы 2 . Быстродействие известного устройства Т определяется следующим выражением 1 Т г„р +t,p +t,,,t,+ ..г+,а,оБН где tnp - временные затраты на прием информации входным регистром;- временные затраты на обработку информации схемой сравнения; t - временные затраты на считывание кода из регистра приема; t g 2 временные затраты на считывание показаний датчика времени; выч 1 временные затраты на вычисление дифференциального значения времени присутствия кода; tj, - временные затраты на чтение интегрального значения времени из блока памяти; .г временные затраты на вычисление интегрального значения времени присутствия кода; t,gjj - временные затраты на запись интегрального значения времени в блок памятиi tggi - временные затраты на перезапись информации в регистр сравнения. Недостатком известного устройста является его низкое быстродейтвие. Цель изобретения - повышение быстодействия. Поставленная цель достигается ем, что в устройство для измерения ременных параметров программ, соержащее датчик времени, блок памяти, два регистра, элемент И, первый элемент ИЛИ,и блок уставок, соединенный первым выходом с входом управления первого регистра, введены накопитель, мультиплексор, вычитающее устройство, второй элемент ИЛИ, п третьих элементов ИЛИ, формирователь импульсов, дешифратор и счетчик, связанный выходом с входом управления датчика времени, подкдюч.енного выходом к входу управления на.копителя, соединенного адресными входами с информационными выходами блока памяти и с входами дешифратора, связанного выходами с устано1ВОЧНЫМИ входами второго регистра, подключенного выходами к входам элемента И, соединенного выходом с первым входом вторюго элемента ИЛИ и со счетным входом счетчика, связанного разрядными входами с вторыми выходами блока уставок, соединенного третьими выходами с разрядными входами первого регистра, подключенного выходами к первым входам вычитающего устройства, связанного выходами старших разрядов с входами первого элемента ИЛИ, выходами младших разрядов - с первыми входами третьих элементов ИЛИ, соединенных вторыми входами с выходом первого элемента ИЛИ, а выходами - с первым входами мультиплексора, связанного выходами, с адресными входами блока памяти, подключенного информационными входами к четвертым выходам блка уставок, связанного пятыми выходами с вторыми входами мультиплексора, подключенного управляющим входом к входу записи блока памяти и к шестому выходу блока уставок, соединенного седьмыми и восьмыми выходам соответственно с синхронизирующим входом .счетчика и с вторым входом . второго элемента ИЛИ, подключенного выходом к входу формирователя импульсов, связанного выходом с установочным входом второго регистра, причем вторые входы вычитающего устройс.тва и синхронизирующий вход датчика времени соединены соответственно с информационными входами и с синхронизирующим входом устройства.

На фиг.1 показана структурная схема устройства на фиг.2 - временные диаграммы, иллюстрирующие его работу.

Устройство содержит датчик 1 времени , накопитель 2, вычнтагощее устройство 3, третьи элементы ИЛИ 4, первый элемент ИЛИ 5, мультиплексор б, блок 7 памяти, дешифратор 8, формирователь 9 импульсов, второй регистр 10, элемент И 11, второй элемент ИЛИ 12, первый регистр 13, счетчик 14, блок 15 уставок. Входы

устройства: информационные 16 и синхронизирующий 17.

Блок уставок содержит выходы: первый 18, вторые - 19, третьи - 20,,

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

Перёд началом работы из рабочей программы, составленной в машинных кодах и позволяющей обслужить определенный набор периферийных устройств, выделяется часть, функционируйщая в реальном времени и включающая в себя операции непосредственно по сбору и обработке входной информации. Выделенная часть программы объемом не более {2-l) слов разбивается на ) ключевых областей, статистика использования которых в операционной системе определяет ее производительность. Каждой из выделенных областей присваивается порядковый номер L в пределах от О до ()) и определяются их начальные и конечные адреса С,,и DI. а та же фиксируется адресный адрес АО, с (Которого начинается программа реального времени. Ячейкам памяти, отведенным под константы и массивы данных, а также рабочим, ячейкам номер L не присваивается. Всем остальным областям программы, не функционирующим в реальном времени, присваивается номер L 2-1.

Методику разбиения программы поясним примером (табл. 1). Из общей программы работы операционной систеNffii, находящейся в исследуемой ЭВМ с шестнадцатиреечной адресацией и занимающей объем 32К слов, выделяется программа реального времени, занимающая объем 8К слов и размещаемая с адреса А .

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

Для подготовки устройства к работе необходимо занести- информацию в блок 7 памяти, регистры 13, 10 и..в счетчик 14. С дрмощь ключей 29 блока 15 уставок установим двоичный код числа L, который поступает на информационные входы блока 7 памяти. На переключателях 28 блока уставок установим двоичный код числа (С;,-АО) который поступает на входы мультиплексора б, С помощью переключателя 31 блока уставок с шины 26 сигнал логической 1 передается на вход управлений мультиплексора .6 и на вход записи блока 7 памяти, вследствие чего в последний по адресу

(CL-AQ) записывается число L. Аналогичным образом, последовательно изменяя состояния ключей 28 и 29 в соответствии с предварительным разбиением программы по всем адресам в пределах от () до () в блок 7 памяти записывается соответствующее число L. 5р все оставигаеся ячейки блока 7 памяти записывается число (), Запись информации применительно к рассматриваемому примеру приведена в табл. 2.

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

Информация с регистра 13 поступает на входы вычитающего устройства 3 на информационные входы которого с информационных входов 16 в данном случае поступает двоичный код числа О. ВЕлчитающее устройство 3 осуществляет вычитание числа, присутствующего на его входах, соединенных с выходами регистра, из числа, присутствующего на его входах 16, поэтому вследствие отрицательного значения разности на его старшем выходе 21 присутствует логическая 1, поступающая через первый элемент ИЛИ на одни входы всех элементов третьих ИЛИ, вследствие чего на выходах последних генерируется двоичный код числа ) . Информация с выходов третьих элементов ИЛИ поступает на входы мультиплексора 6 и далее на адресные входы блока 7 памяти, генерируяна его выходах двоичный код числа (2-1), поступающий на входы дешифратора 8. Поскольку число состояний дешифратора 8 равно (2 -1) , на всех его выходах присутствуют сигналы логического О, поступающие на установочные входы регистра 10. С помощью переключателя 31 блока уставок с шины 26 на вхол элемента ИЛИ 12 поступает логическая 1. При этом на выходе элемента ИЛИ 12 также устанавливается логическая 1 запускающая формирователь импульсов, импульс с выхода которого через установленный вход устанавливает все разряды регистра 10 в нулевое состоя ние.

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

поступает на синхрологическая

низирующий вход счетчика 14, вследствие чего в последний записывается двоичный код числа ().

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

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

Если величина ()(N-A)О, то с выходов элементов ИЛИ 4 через мультиплексор 6 число (Н-Ац) поступает /на адресные входи блока 7 памяти, причем, когда, D ( N-AO ) С;, с информационных выходов блока 7 памяти считывается соответствующее число L, которое через дешифратор 8 с помощью соответствующего установочного входа регистра 10 вызывает срабатывание его L-ro разряда. Кроме того, с информационных выходов блока 7 памяти число L поступает на адресные входы накопителя 2., на вход управления которого поступают и myльcы с выхода датчика 1 времени (фиг.2а), работа которого синхронизируется внешним сигналом с синхронизирующего входа 1 Таким образом, время нахождения адресного счетчика исследуемой ЭВМ в области программы с номером L (фиг.2 фиксируется в соответствующих каналах накопителя 2 (фиг,2в , ,j , - :,

Если величина О(Н-Ар)(), что возможно при подготовке системы и выполнении других операций, не относящихся к номенклатуре операций реального времени (адреса 0000(glFFF,j, табл.1), логические 1 с выходов вычитающего устройства 3 через элемент ИЛИ 5 поступа рт ма входы элементов ИЛИ 4, на выходах которых образуется код числа ) , поступающий через мультиплексор 6 на адресные входы блока 7 памяти. В этом случае с информационных выходов бло ка 7 памяти считывается число (2 -1) определяющее последний канал накопи теля 2, выделенный для изменения времени нахождения исследуемой операционной системы вне области программы реального времени. В дешифраторе 8 выход, соответствующий числу (2-l), отсутствует.

При установке в единичное состояние всех разрядов регистра 10, что соответствует прохождению всех I выделенных областей (без учета I ) программы, на выходе элемента И устанавливается логическая 1, запускающая через элемент ИЛИ 12 формирователь S, импульс которого через установочный вход устанавливает регистр 10 в исходное состояние. Вместе с тем импульс с выхода элемента И 11 поступает на счетный вход счетчика, изменяя его состояние. Если все L областей,программы без учета области I, о аботали k раз, счетчик 14 переполняется, и сигнал с его выхода поступает на вход управления датчика 1 времени и прекращает его работу Таким образом, в накопителе 2 формируется гистограмма времени, отражающая временной вклад Т, каждой из областей L программы в общее время решения задачи, с помощью гистотграммы могут быть определены и проанализированы критические области программы, вносящие наибольший вклад в общее время решения згщачи, а также величина простоя операционной системы из-за отсутствия информации с периферийных устройств вследствие неоптимальной организации их взаимно го программного взаимодействия. На основании анализа может быть произведена переработка программного o6ec печения, относящегося к программам реального времени, с целью сокращения объема критических областей программы, минимизации их временного вклада путем введения банка про межуточных данных, исключения отдельных расчетов за счет использования таблиц и другими известными в программировании методами. Использование в предлагаемом устройстве новых элементов, а именно накопителя, мультиплексора, вычитающего устройства, второго эле- i мента ИЛИ, п третьих элементов ИЛИ, формирователя импульсов, дёшифра:тора счетчика в их «связи с известными узлами отличает его от.известного устройства, так как позволяет исключить программные операции по обработке входной информации и тем самым существенно повысить быстродействие. Быстродействие предлагаемого устройства, содержащего датчик времени типа БТЦ-99, накопитель типа АИ-256 с временем преобразования 1 МКС,выполненное на элементах К155И113, 16-разрядное вычитающее устройство с быстродействием 0,3 мкс, выполненное на элементах К155КП2, мультиплексор с быстродействием 40 НС, бло1с памяти типа БЗЦ-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 МКС. Таблица 1

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

название год авторы номер документа
Устройство для отображения информации 1984
  • Кудреватых Юрий Петрович
SU1354182A1
Многоразрядный генератор испытательных последовательностей 1983
  • Тюпин Валерий Петрович
  • Громаковский Виталий Александрович
  • Левина Елена Леонтьевна
SU1133589A1
Устройство для отображения информации 1984
  • Шайда Владимир Алексеевич
  • Шайда Зинаида Федоровна
SU1236541A1
Устройство для управления многоканальной измерительной системой 1983
  • Кублановский Вениамин Борисович
  • Васильев Яков Петрович
SU1149255A1
Устройство для формирования видеосигналов 1985
  • Гуглин Илья Наумович
SU1317473A1
Генератор последовательности импульсов 1984
  • Ходаков Анатолий Васильевич
SU1309275A1
Устройство для отображения информации на экране телевизионного индикатора 1984
  • Гуглин Илья Наумович
SU1292029A1
Устройство для упорядочения массива чисел 1986
  • Боюн Виталий Петрович
  • Столяров Александр Алексеевич
SU1383336A1
Система автоматического контроля параметров электронных схем 1989
  • Флейш Лейба Семенович
  • Бартоломей Людмила Борисовна
SU1700538A1
Устройство микропрограммного управления 1988
  • Карпов Анатолий Федорович
SU1536380A1

Иллюстрации к изобретению SU 1 136 109 A1

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

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

Формула изобретения SU 1 136 109 A1

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

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

(

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

Поиск источника прерывания Рабочие ячейки

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

2012,jj

2022,5

2133..

2142,в

2188 2189 22А2

IS Обработка данных Обработка данных Останов служебных устройс Расчет выходных параметро

БЛОК 7 памяти Продолжение табл. 2 22АЗ,5 22FA, 3F91, 3FFl,j 4060 f Конец программы обслуживания периферийных устройств40Dl,6 jr iTlT а 2

I I I I I I I I I I I I I I I I I I I f М I I I I I 1 М I I I I I I i М I t

255 0 I I ,

Документы, цитированные в отчете о поиске Патент 1985 года SU1136109A1

Печь для непрерывного получения сернистого натрия 1921
  • Настюков А.М.
  • Настюков К.И.
SU1A1
Dennis -G, Ferri and Gregg C.Giesler
Pfylosophy.of a computer-automated counting .system
Transaction on Nuclear Selence, vol
Прибор для получения стереоскопических впечатлений от двух изображений различного масштаба 1917
  • Кауфман А.К.
SU26A1
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды 1921
  • Богач Б.И.
SU4A1
Дверной замок, автоматически запирающийся на ригель, удерживаемый в крайних своих положениях помощью серии парных, симметрично расположенных цугальт 1914
  • Федоров В.С.
SU1979A1
СПОСОБ ПРИГОТОВЛЕНИЯ ПРЕПАРАТОВ ДЛЯ КОНДЕНСАЦИИ ФЕНОЛОВ С АЛЬДЕГИДАМИ 1925
  • Петров А.К.
  • Петров Г.С.
SU4592A1
Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
Система дискретного контроля временных закономерностей 1978
  • Бабкин Виктор Александрович
SU712810A1
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды 1921
  • Богач Б.И.
SU4A1

SU 1 136 109 A1

Авторы

Судариков Владимир Николаевич

Белов Олег Хаимович

Даты

1985-01-23Публикация

1982-10-18Подача