Методика выбора структуры и параметров локальной памяти информационной управляющей системы

УДК 681.518

МЕТОДИКА ВЫБОРА СТРУКТУРЫ И ПАРАМЕТРОВ ЛОКАЛЬНОЙ ПАМЯТИ ИНФОРМАЦИОННОЙ УПРАВЛЯЮЩЕЙ

СИСТЕМЫ

В. Л. Румянцев, С.М. Цыбин, М.Ю. Фомичев

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

Ключевые слова: микропроцессорные модули, информационные управляющие системы.

Средства обработки информации, принятия решений и формирования команд управления занимают центральное место и определяют специфику работы управляющей системы как единого целого. Эти средства представляют собой, как правило, совокупность вычислительных устройств различного функционального назначения, не связанных, слабо связанных, либо сильно связанных между собой и представляющих единую специализированную вычислительную систему. Вместо отдельных вычислительных устройств системы управления в настоящее время применяют вычислительные машины и системы [1-4].

В связи с постоянным усложнением задач, которые необходимо решать современным информационным управляющим системам, в качестве средств обработки информации все более полно будут использоваться управляющие вычислительные машины и системы машин, связанные между собой и составляющие, например, многомашинные комплексы, мультипроцессорные и, как наиболее перспективные, распределенные вычислительные системы. Применение на борту вычислительных систем, органически связанных между собой, должно обеспечить высокую эффективность функционирования объектов управления. Выбор структуры и параметров локальной памяти вычислительных средств системы управления заключается в определении такой структуры внутренней памяти и такого набора программ П решения задач, при которых удовлетворяются все ограничения на параметры многопроцессорной системы (МПС), а выбранный критерий оптимальности достигает своего экстремального значения. В этом случае предлагается методика выбора структуры и параметров памяти информационной управляющей системы, которая включает следующие шаги.

1. Выбирается критерий оптимальности - минимум суммарной емкости оперативного запоминающего устройства (ОЗУ) и постоянного запоминающего устройства (ПЗУ), требующейся для хранения программ и данных. Для этого вводятся булевы переменные х-:

1, если алгоритм Ц е Ь обработки сигнала с• е С

ху = | реализуется - - й программой;

0 в противном случае.

2. Формулируется задача выбора набора программ для реализации множества алгоритмов Ь для МПС, работающих в составе вычислительных средств информационной управляющей системы (ИУС), где время работы строго ограничено и каждой задаче сг е С соответствует свой алгоритм решения Ц е Ь , р-п, путем минимизации целевой функции

п т

Ф(х) = I I К- + Ьц )хц.

г=1-=1

при временных ограничениях на реализацию алгоритмов

т

т

I I и-ёгху < Тъ I I ч

геС -=1 геСг - =1

и тг

I I I и-зх < Т1;

I=11еС1-=1

при ограничениях на число ячеек СОЗУ и ОЗУ

mi

I ЬУхУ

У=1

при ограничениях на аддитивные параметры

т

+ II ч

геС2 j=1

тах

ЬеЬ

п тг

< В; II Ь-х- < Н; г=1-=1

п тг

II Ч

=1 - =1

< Як, к = 1, д;

при логических условиях существования единственной программы реализации каждого алгоритма

т,

I х- = 1, г = 1,п. -=1

Здесь - время решения алгоритма Ьг--м методом; з - относительная частота появления алгоритма в общей программе; Як, В и Н - ограничения на к-й ресурс, емкость сверхоперативного запоминающего устройства (СОЗУ) и ОЗУ соответственно; Т1- максимально допустимое время реализации задач, имеющих 1-й приоритет. Задача (1)-(5) является задачей дискретного программирования с псевдобулевыми переменными.

3. Логические возможности д-й программы определяются в виде множества упорядоченных пар П(д) = {(г(д), /д))}, г = 1, р; ] = 1,т , где (г(д), /д)) тогда д-я программа способна реализовать алгоритм Ц е £ ]-м способом.

4. Вводятся переменные Уд таким образом, чтобы 1, если д - я комплексная программа

входит в состав системы программ;

0 в противном случае.

5. Для П = {П(1), ..., П(о)} - множества комплексных программ, задачу оптимизации структуры локальной памяти можно записать в виде минимизации функционала

Уд

р тг / \ о / \

Ф( Х У) = ЕЕ Щ + )ху + Е (ад + Ьд I

о

г=1 ]=1

а,]

при ограничениях:

- на число ячеек СОЗУ и ОЗУ

д=1

д Уд

тах

д&(г,] )£П

т,

Е ЬУХУ; ]=1

р т

о

< в; ЕЕ ]] + Е Ьдуд < н;

г=1 ]=1

а,]

д=1

на аддитивные параметры

рт

ЕЕ 'г

г=1 ]=1

(г,] )£П на значения переменных

о

] + Е гдкУд < Як; д=1

т,

н] - мдУд <0, д =1, Е Хг] + Е Уд ^1, Уд + *д =1; д = 1,

о Е

д=1

Е Хг

(г, ] )Ш(д) ]=1

Ограничения (6) показывают, что Хц = 0 в тех случаях, когда имеется хотя бы одна пара (г, ]) е П(д), Ц = 1, т^ при Уд = 1; 2д являются псевдопеременными и позволяют сохранить задачу оптимизации (гд = 1, когда Уд = 0); Мд - произвольное целое число, большее мощности множества П(д). Временные ограничения имеют вид

р Е

I=1

т,

ЕЕ

геС1] =1 (¿,]>П

г] + Е ^дёдУд

деС1

< Ъ,

где Qq - общее число ячеек ОЗУ или ПЗУ, требующихся для записи д-й комплексной программы; Ьд и Ид - соответственно число ячеек СОЗУ и ОЗУ, необходимых для хранения промежуточных результатов, а также исходных, некоторых промежуточных и вспомогательных данных при реализации д-й комплексной программы; гдк - количество ресурса типа к, требующееся для реализации д-й программы.

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

Синтез алгоритмов контроля может быть осуществлен по критерию минимума обращений к локальной памяти. МПС должна реализовать множество задач контроля С за заданное время, при этом каждый микропроцессорный модуль ММ предназначен для решения в пределах заданного времени подмножества задач С1 с С. Для каждой пары "процессор -секция локальной памяти" множество возможных программ задается функциональным графом О, на котором определено отношение предшествования Z, причем запись Аг Z А- означает, что оператор А- использует результирующую величину оператора Аг. Это отношение порождает орграф О = (X, и), где и = {(Аг, А-) | (Аг Z А-)}. Далее предполагается, что в графе О имеется единственная входная вершина (что не влияет на общность результатов) и отсутствуют контуры и параллельные дуги.

Укладка графа О = (X, и) - такая последовательность Ь(О) = (Аг1, Аг ..., Агп) всех вершин графа, что для каждой дуги

, Аг )е и имеет место к < р. Будем говорить, что вершины А^ и Агк находятся в отношении соседней связности в укладке Ь, если

К А+1)е и.

Число соседней связности укладки Ь - величина

п-1 / ч

)= I Фк,А,к+1)

к=1

, 4+1 )={0'

где Л1 л. л. I— j < гк' гк+1

если U , Alk •

0 в противном случае. Компонента укладки - последовательность вершин этой укладки С = (А-1,...,), удовлетворяющая условиям

8К-ЬАЛ )=0 8К.А-, +1 )=0;

d\Ajp'ajp+i!—1' p—u-1

Число соседней связности графа G — C

LeR

множество всех укладок графа G.

Задача заключается в определении оптимальной укладки Ь* е ЩО), для которой с(Ь*) = Дугу (Ли Л]) е и будем называть избыточной, если в графе G существует хотя бы один путь ц из Лг е X в Л] длины /(ц) > 2. Здесь и далее под длиной /(ц) пути ц понимается количество дуг в этом пути. Назовем А - преобразованием графа G граф ^ = А^), полученный из G удалением всех избыточных дуг. Путь т = (Аг1,...,Лгр) графа G

проникающим, если:

а) d(Лil) = 0, где d(Лl) - число дуг, заходящих в вершину Л1;

б) в графе G отсутствуют дуги вида (Лу, Лгд), где д = 1, р,

Лу е X \ (} Лг . д=1

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

Алгоритм 1. Начать с графа G1 = Л^), где А - символ А-преобразования.

1. На к-м шаге в графе Gk определяется множество Мк проникающих путей и среди них выбирается путь ц к е Мк, имеющий максимальную длину.

2. Из графа Gk удаляется путь ц к и образуется новый граф

*

Gk+l = Gk\m к.

Алгоритм заканчивается, когда на некотором шаге Gm = 0.

*

Полученные на каждом шаге пути ц к отождествляются с компонентами к*

го шага Ск искомой укладки. Тогда последовательность А = (ц 1, ...,

*

ц т-1) представляет собой укладку графа G, определенную с помощью алгоритма 1. При определении максимального проникающего пути

*

ц к удобно использовать алгоритм 2, основанный на пометке вершин графа Gk.

Алгоритм 2. Первоначально все вершины графа Gk = (Хк, ик) считаются непомеченными и не просмотренными.

1. В графе Gk входные вершины ЛХ, у которых d(Лx) = 0, получают метку 1(ЛХ) = 1. После этого вершины ЛХ считаются помеченными и непросмотренными.

2. Пусть ЛХ - некоторая помеченная и непросмотренная вершина в Gk. Рассмотрим множество вершин У = {ЛУ / (ЛХ, ЛУ) е ик}. Если d(ЛУ) = 1, то вершина ЛУ е У получает пометку 1(ЛУ) = 1(ЛХ) + 1 и считается помеченной и непросмотренной. Если d(Лy) > 1, то вершина не помечается. После анализа всех ЛУ е У вершина ЛХ считается просмотренной. Процесс пометки заканчивается, когда все помеченные вершины просмотрены.

3. В графе Ок выбирается вершина Агр , для которой пометка 1

максимальна. Тогда путь = (Аг1,. .,Ар) с последовательно возрастающими пометками вершин является искомым максимальным проникающим путем.

Алгоритм 2 решает задачу с оценкой в 0(п ) действий. Описанный ниже алгоритм 3 является усложнением алгоритма 1 и позволяет во многих случаях повысить точность получаемых решений за счет введения операции прогноза на один шаг.

Алгоритм 3. Начать с графа О1 = А(О).

1. В графе Ок определяется множество проникающих путей Мк.

2. Для каждого пути ц е Мк образуется граф Ок(ц) = Ок \ ц , и в этом графе отыскивается максимальный проникающий путь р ¿(ц).

3. Среди всех путей ц е Мк выбирается путь ц к, для которого мак-

(* 1 I * I * 11 * * *

цк 1+/ \рк ^к//, где /(ц к) и /(р к(ц к)) - длины соответствующих путей.

-.—ж- *

После этого образуется новый граф Ок+1 = Ок \ ц к. Описанная процедура заканчивается на шаге т, для которого От = 0. Аналогичным образом могут быть построены эвристические алгоритмы укладки графов с прогнозом на большее число шагов, однако при этом резко возрастает их трудоемкость. Исследования показывают, что алгоритм 1 дает точное решение для укладки программ, являющихся прадеревьями с одним корнем.

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

Для определения нижней границы числа %(О) достаточно найти число висячих вершин в прадереве ОТ. В соответствии с алгоритмом 4 определяются оценки у числа г (От ) сверху: у > г (рТ ).

Алгоритм 4. Начать с графа О1, полученного из графа О путем введения фиктивной вершины и дуги (г1, Аг), где Аг - входная вершина графа О.

1. Среди выходных вершин графа Ок = (Хк, ик) выбирается произвольная вершина Ах^ и для нее определяется величина

8к(А

х*

)= 1 (ц*(1к, Ах* Д где ц* ^, Ах*) - кратчайший путь из гк в Ах*.

2. В графе Ок находится множество ¡к (Ах^) вершин, из которых достижима Ах*, и строится граф О'к путем удаления из Ок подграфа, образованного множеством вершин ¡к (Ах* )и {Ах*}.

3. Из графа G'k конструируется новый граф Gk+1 = (Хк+1, ик+1) по следующим правилам: вводится фиктивная вершина 2к+1, вводятся дуги вида (¿¿+1, Лу), если существуют дуги (Л*,, Лу), где Л* £ G'k, Лу е G'k.

Описанная процедура повторяется до тех пор, пока на некотором шаге не выполнится условие Gm = 0. Тогда величина

7 = п - I ек

ЛХ*

является искомой верхней границей числа г(рТ). Здесь суммирование производится по вершинам Л, выбранным на всех шагах алгоритма.

Следует отметить, что в зависимости от очередности выбора вершины Л

на к-м шаге алгоритма 4 верхняя оценка может меняться. На практике хорошие результаты получаются при выборе такой вершины ЛХ , для которой значение £к (ЛХ*) максимально.

В качестве критерия оптимальности естественно выбрать критерий минимизации числа обращений к ОЗУ в процессе реализации алгоритма контроля (критерий максимальной интенсификации загрузки СОЗУ).

Рассмотрена сетевая модель проектирования СОЗУ. Алгоритм контроля задается в виде последовательности операторов Ь = (Л1, ..., Лп), которой соответствует матрица смежности а = II а] I размерности п х п. Задачей проектирования является определение минимально необходимой емкости Ь0 СОЗУ, обеспечивающей реализацию алгоритма без обращений к ОЗУ (исключая обращения к начальным данным), и организация загрузки регистров СОЗУ.

aij

элементы кото-

Из матрицы а образована новая матрица а = рой определяется по правилу:

а [1, если j >5i;

а = i

[0 в противном случае,

где di - номер такого столбца матрицы a, что (ai5. = 1) & [("g > di )Ц = 0 )]= 1. Матрица ~ является верхней треугольной,

i 'У

и ее можно рассматривать как матрицу смежности нового графа G = (~,U), в котором дуги (i, j) е U. Элементы a j = 1 i-й строки матрицы ~ указывают на операторы Aj, результирующие величины Y(Aj) которых можно отсылать на хранение в тот же самый регистр СОЗУ, в котором хранилась результирующая величина Y(Ai).

Рассматриваемая задача сводится к определению наименьшего числа непересекающихся по вершинам путей, покрывающих все вершины G . В случае, если емкость СОЗУ b < b0, задача определения оптимальной загрузки СОЗУ может быть сформулирована следующим образом: в графе

188

О найти Ь непересекающихся по вершинам путей ц1, ..., цЬ, таких, что ве-Ь

личина 1ь = X 1(Рк )= X dj достигает максимального значения. При

к=1 ь

jе и цк

к=1

этом число обращений к ОЗУ минимально.

Решаемую задачу можно записать в виде линейной сетевой задачи по критерию стоимости: найти поток ф(/, j) величины Ь максимальной стоимости с учетом системы стандартных ограничений на существование

стационарного потока в сети. Определяем оптимальный поток по сети О1

величины фг = Ь, который составляют Ь путей ц'1, ..., ц'Ь из вершины ¿0 в вершину 4, причем для любых ¿, j пересечение по вершинам ц'г п ц = {¿о, 4}, / Ф j. Знание путей I = 1, Ь, позволяет определить оптимальное распределение загрузки каждого из регистров СОЗУ. Для этого находим сужение графа О1 в граф О , производя преобразования, обратные преобразованиям а) и б). Тогда каждому пути в графе О1 будет соответствовать один путь цк = (к1, к2, ..., квд) в графе О, который определяет оптимальное распределение загрузки к-го регистра Щрк), к = 1, Ь .

Рассмотренная сетевая модель проектирования позволяет определять минимально необходимую емкость СОЗУ, обеспечивающую реализацию алгоритма без обращения к ОЗУ, и организацию загрузки его регистров. При этом не учитывались обращения к начальным данным и операндам.

Для решения задачи организации общей загрузки СОЗУ помимо функционального графа О необходимо наличие множестваМ = {т1, ..., тг} операндов и констант, необходимых для реализации алгоритма Ь, заданного графом О, и первоначально хранящихся в ОЗУ или ПЗУ. Для выполнения алгоритма Ь должно быть задано отображение Г: А  М, где Г(Ак) = Мк с М - множество данных, требующихся для выполнения оператора Ак. Очевидно, что в общем случае Мк п М/ Ф 0, к, / = 1, п, а мощность множества Мк равняется |Мк| = Ск. Графу О соответствует множество Ь = {Ь1, ..., Ьр} упорядоченных последовательностей операторов

Ь(а^,...,А^17)? = 1,р, где запись А<^к) означает, что оператор Ак в последовательности Ь находится на ¿к позиции.

Необходимая емкость СОЗУ ЕСОЗУ, позволяющая осуществить реализацию алгоритма Ь без обращения за операндами к ОЗУ и промежуточными данными в процессе вычислений, определяется как ЕСОЗУ > Ь0 + е0, где Ь0 - минимально необходимое число регистров СОЗУ для хранения промежуточных результатов вычислений, определяемое посредством опи-

санной выше сетевой модели; e0= max (с^ } - максимальное число операто-

Ak еL

ров и констант, требующихся для обеспечения выполнения операторов

Afc е L, k = 1,n .

Поскольку обмен информацией между устройствами АЛУ - ОЗУ и СОЗУ - ОЗУ осуществляется по раздельным информационным трактам, то для минимизации общего времени простоя АЛУ (из-за ожидания данных из ОЗУ) необходимо осуществлять равномерную загрузку этих трактов. Поэтому емкости b и e зон СОЗУ должны быть пропорциональны требуемым количествам промежуточных результатов, а также операндов и констант соответственно.

В связи с тем, что в каждую зону СОЗУ информация поступает по самостоятельным информационным трактам, а ячейки каждой зоны сверхоперативной памяти предназначены для хранения различной информации, то оказывается корректной раздельная оптимизация загрузки этих зон по критерию минимума числа обращений к ОЗУ в процессе реализации алгоритма L.

При наличии в структуре ММ зоны СОЗУ емкостью e0 (e0 = r) обращения к ОЗУ в процессе выполнения алгоритма L отсутствуют (Neo = 0), а верхняя оценка числа обращений Qeo устройства обмена (УО) к ОЗУ для загрузки СОЗУ определяется как

r r qk

I qk - I IX k=1 k=1 p=1

константе mk, qk > 1; Lk(p) - число операторов в алгоритме L, находящихся в отношении соседней связности и являющихся потребителями величины mk; xk(p) - число цепочек соседнесвязанных операторов длиной Lk(p).

В случае, если емкость зоны СОЗУ для хранения операндов и констант e < e0, то нижней оценкой Ne числа обращений ОУ к ОЗУ в процессе выполнения алгоритма L является величина Ne = I (с - e). Верхняя и _ "i :ci >e нижняя оценки Qe и Qe числа обращений УО к ОЗУ при организации загрузки СОЗУ определяются как

Qe = Iqk - Ne; Qe = Qe - I IXP(¿кр) -1). k=1 k=1 p=1

Очевидно, что Qe > Qe > Qe и для упрощения структуры и алгоритма функционирования ОУ следует стремиться, чтобы Qe  Qe.

При наличии в программах работы ММ команд условного перехода (УП) в СОЗУ необходимо добавить специальный регистр для хранения адреса начала второй ветви программы, что позволит сократить время при переходе программы на эту ветвь. Этот же регистр может быть использо-

Qe0 = Iqk - I IXkP)Lkp) -1), где qk - число обращений к операнду или

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

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

Список литературы

1. Акиншин Р.Н., Бирюков А.А., Сушков А.В. Передача и защита информации в каналах связи распределенных информационных систем. Тула: Изд-во ТулГУ, 2007. 270 с.

2. Бирюков А. А., Кибалюк В.В., Мещеряков Ю.П. Оценка временного цикла работы интеллектуальной системы управления // Сб. науч. трудов НТО РЭС им. А.С. Попова. Тула: ТулГУ, 2008. С. 89-92.

3. Васильев В.В., Додонов А.Г. Многопроцессорные вычислительные структуры для анализа задач на сетях. Проблемы электроники и вычислительной техники. Киев: Наукова думка, 1976. С. 85-97.

4. Вейцман К. Распределенные системы мини- и микроЭВМ / Пер. с англ.; под ред. Г.П.Васильева. M.: Финансы и статистика, 1982. 382 с.

Румянцев Владимир Львович, д-р техн. наук, проф., зам. начальника отдела, cdhae acdhae.ru, Россия, Тула, АО «Центральное конструкторское бюро аппарато-строения»,

Цыбин Станислав Михайлович, ведущий инженер, infa cdhae.ru, Россия, Тула, АО ««Центральное конструкторское бюро аппаратостроения»,

Фомичев Максим Юрьевич, с.н.с., fgu3cnii@yandex.ru, Россия, Москва, 3 ЦНИИ

МО РФ

THE METHOD OF SELECTION OF STRUCTURE AND PARAMETERS OF THE LOCAL MEMORY OF THE INFORMATION MANAGEMENT SYSTEM

V.L. Rumyantsev, S.M. Tsyhin, Yu.M. Fomichev

The article describes the synthesis algorithms of the microprocessor module hy Cree-deuterium a minimum of accesses to RAM of the computing device. The analysis options duplex RAM. Pre-logana methods of redistribution variables between different types of memory, allowing to reduce the number of accesses to external random access memory. The proposed modified format for the presentation of numbers in the form offloating point, which allows to reduce the execution time of arithmetic operations.

Key words: microprocessor-based modules, information management systems.

191

Rumyantsev Vladimir Lvovich, doctor of technical sciences, professor, head of department, cdhaeacdhae. ru, Russia, Tula, JSC Central design Bureau of an apparato-stroyeniye,

Tsyhin Stanislav Mikhailovich, lead engineer, infa cdhae.ru, Russia, Tula, JSC Central design Bureau of an apparatostroyeniye,

Fomichev Maxim Yurevich, senior researcher, fgu3cniiayandex. ru, Russia, Moscow, 3 TSNII MO RF

УДК 004.93'11

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ РЕШЕНИЯ ЗАДАЧИ РАСПОЗНАВАНИЯ НАЛИЧИЯ ДВИЖЕНИЯ В ВИДЕОПОТОКЕ

А. С. Сафонов, М. Б. Цудиков

Рассмотрены основные принципы определения движения объектов в видеопотоке. Предложена методика решения задачи распознавания на основе модернизации метода SIFT.

Ключевые слова: SIFT, метод, фильтрация, гауссиан, яркость, видеопоток, особые точки, распознавание.

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

Решение задачи сводится к нескольким этапам:

1. Выбор метода, позволяющего получить признаки объекта

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

Методы, основанные на вычитании фона, могут быть использованы только для приемника видеосигнала, находящегося строго в статическом состоянии [7, 8].