Математическая модель блока управления параллельно-конвейерными вычислительными системами

УДК 519.6

Н. А. Жиляк, ассистент

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ БЛОКА УПРАВЛЕНИЯ ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНЫМИ ВЫЧИСЛИТЕЛЬНЫМИ СИСТЕМАМИ

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

The paper is directed creating a mathematical model building the unit. Known are the source date for control block synthesis. The task is to select a range of functional devices, to organize a real-time cyclic computing process in accordance with the program that is defined by a time. A mathematical model of a control block obtained in soling this task provides to plot the computing algorithm graph with a regular topology for the control block of parallel/conveyor architecture, said algorithm being characterized by synchronization in the computing system on the basis of a set simple functional devices.

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

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

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

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

- потребность в большом формате микрокоманды, возрастающем с ростом сложности проектируемой вычислительной системы (ВС);

- чрезвычайно нерациональное использование управляющей памяти из-за низкой вероятности одновременного включения нескольких функциональных устройств (ФУ) и возможно -сти широкой разбежки между значениями координат вектора временной развертки (это предполагает использование определенной последовательности «пустых» микрокоманд);

- потребность в быстродействующей управляющей памяти независимо от уровней временной иерархии;

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

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

Основная часть. К исходным данным для синтеза блоков управления причисляется ряд результатов, полученных при реализации процедур синтеза вычислительных структур [2]. К их числу причисляются следующие:

1. Функционал временной развертки.

2. Такт вычислительной структуры тс.

3. Множества вершин у-х уровней временной иерархии

V М = Ы, Y = 1 Г,

где Г - количество уровней временной иерархии [1].

4. Вектор шагов дискретизации

Ь =

5. Вектора усеченных путей

Lk =

(v (1)(k >, v (2)(k)v (nk )k>), k

= 1, К

где Ky - множество усеченных путей вычислительного графа алгоритма.

6. Множества вершин, образующих ступени конвейеров

V(L, ц) = {v(k)(L, ц)},

где ц = 1; L - путь конвейера; ц - ступень пути L.

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

't (1, 1) + Atiki,

t (1, Q1) + At^,

Ф (t(j, ^)/j-177

t (j, 1) + At;kj, t (j, Qj) + Atjkj,

t (7, 1) + Atjkj

X (3, QJ) + Д^,

где к,// = 17 = 0, 1, 2, 3, ..., Х(/, 1), Х(/, 2), ..., / Q]) -моменты включения /-го ФУ на первом цикле функционирования вычислительной структуры, равном ДХ7 = (у) : V, е К(у).

Общее количество уравнений в (1) равно количеству элементов вектора временной развертки вычислительного графа алгоритма с регистровыми файлами I и определяется следующим образом:

I Qj = I .

j=1

В соответствии с методикой формирования координат вектора временной развертки в [3] координата вектора временной развертки для

начальной вершины пути Ь, которому принадлежит вершина V,, может быть представлена как

Х

где Х0 - момент начала временной развертки (в частном случает Х0 = 0); Х'(1)(/) - значение координаты вектора временной развертки для начальной вершины пути Ь, которому принадлежит вершина V,, относительно Х0.

Введем также обозначения для составляющих компонентов в формулах для расчета Х

в (1) [4]:

XС = Хт(]),

=1

Х'С/, ч )=!т( / )^,Ь).

/=1

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

Ф(Х(/, ч)) = Х0 + X'(1) + ДХ/к/ + (ц - 1) ДХ, +

+ X'

Ф(Х(/, Ч)) = Х0 + X' (1) + / +

+ t(j, q), kj = 1, 2, 3, ...

для конвейеризируемых и неконвейеризируе-мых путей соответственно.

В приведенных уравнениях (4) и (5) Х(/, ч) = = X - координата вектора временной развертки, соответствующая 4-му включению /-го функционального устройства; Ф(Х(/, ч)) - периодическая функция последовательности включений ФУ, соответствующего 7-й вершине вычислительного графа алгоритма при организации циклического процесса; Х0 - момент начала формирования временной развертки, соответствующий поступлению сигнала «пуск»; X' (1)(') - координата вектора временной развертки для начальной вершины пути, которому принадлежит вершина V, относительно Х0; ДХ / = Дх(у) : V/ е V (А,); ДХ" = = Дх(у) - шаг дискретизации для вершин пути Ьп; к/ = 1, 2, 3, ..., X' (/, ч) = X (7) - значение 7-й координаты вектора временной развертки, соответствующей ч-му включению /-го ФУ, относительно моментов Х0 + X' (1)(7), Х0 + X' (1)(7) + (ц - 1) Д7 соответственно для неконвейеризируемых и конвейеризируемых путей, относительно

to +1 ' (1)(г) + !т, + At« К

1еЬп-1

для пути, выходящего из цикла Ьт; X'(1)(7) - координата вектора временной развертки, соответствующая вершине пути Ь„_1, из концевой вершины которого выходит путь Ь", относительно Х0; т - время реализации вершины

V . е у(1«-1), где у(ь"-1) - множество вершин пути Ьт; ЛЪт) - шаг дискретизации для вершин пути Ьт; Кп, т = Лг(т) / Лг(п), - = 1, У, где - - количество ФУ в проектируемой вычислительной структуре.

Отметим, что выражение (5) является частным случаем выражения (4) при ц = 1; это значит, неконвейеризируемый путь можно рассматривать как конвейеризируемый с одной ступенью. Кроме того, все множества конвейеризируемых усеченных путей одного уровня временной иерархии, если Зvг : - г, > Лг(у), V, V,- с У(у), также можно рассматривать как один конвейеризируемый (условно конвейеризируемый) путь.

Обозначим точку входа в цикл Ьп через равенство

Ъ'(1)(()= Г'(1)(п-1> + X Т.

1еЬп-1

Точно также момент первого выполнения операции, соответствующей начальной вершине пути Ьт в (5), определим следующим образом:

г'

1еЬп-1

Тогда имея в виду, что

Лг

Кп,т

и обозначив г, = г(-, д), получим, что каждое из выражений (1)-(5) эквивалентно уравнению

Ф(Ъ) = го + г'(1)(0 + Лк + (ц - 1) Л, +

_ + Ъ и к- = 1, 2, 3, ...,

где I = 1,1, I - количество вершин графа вычислительного алгоритма с буферной памятью:

I=х Ъ.

-=1

Уравнение (9) преобразуем к виду, удобному для представления в графовой форме.

Введем ряд обозначений:

г*(Хз(гь г2, ., П) = Хр('ь ^2, ., О, т) (11) при т ^ 0, где Хр - разностная функция вида [4]

Хр(Ъ1, Ъ2, ..., Ъп), т) = 1(г - (ь + Ъ2 + ... + Ъп)) -

- 1

Хз

1 (Ъ - ()) в выражениях (12) и (13) - единичная функция Хевисайда.

Будем называть г (Хд(.)) моментом окончания формирования задержки. Тогда во временной области уравнению (9) будет соответствовать выражение

Р

Представим аргументы уравнения (14) в виде некоторых функций времени.

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

Хд

к=0

где Ъд-) - момент начала формирования --го

цикла функции деления частоты; Лг - период следования входной импульсной последовательности; Кд - коэффициент деления (в данном случае Кд(0 = ЛЪ / тс, где ЛЪ = Лг, = Л(у), V- с У(у)); тд - длительность импульса на выходе делителя частоты, вычисляемая по формуле

Тд =

{<, тс, кдоТс/2...},

где т с - длительность тактового импульса; тс -такт вычислительной структуры.

Моменты начала импульсов делителя частоты г (хд ( )) определим из (15) следующим образом:

г*

к=0

при тд ^ 0.

Функция деления частоты задает периодичность процесса и соответствует А^к- в выражении (14). Первому отсчету данной функции соответствует момент окончания интервала г0 + + Ъ(1)(г). Поэтому в качестве аргумента ^ используем г*(хз(^0, Ъ (1))).

Результатом выполнения функции является последовательность отсчетов времени:

Ъ Ъ(1) Ъ(2) Ъ(3) И' '2 ' '2 ' '2 '

Здесь

г(1) - г г(к) - г(к-1) - Т к(') = Лг

'2 '1> '2 '2 _ 1слд _ I

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

хкЧо ч

Хз (г1), ц =1;

Хз (Ъ2хк1}), ц = 2; Хз (хк2)), ц = 3;

Хз (хк--1)), ц = -;

.(грХкР )),

ц = р;

где к = 1, ..., р - 1; Хь Х2, ..., Хр - дискретные отсчеты времени, соответствующие моментам поступления входных импульсов, Х^-1) -значение конвейерной функции (/ - 1)-й ступени [3, 4].

С учетом введенных обозначений (4)-(17) будем использовать в качестве Х\ - момент начала импульса делителя частоты X (хд( )):

X: = X*

Конвейерная функция (18) представляет собой модель процесса последовательной загрузки и разгрузки конвейера, а также совмещенность работы ступеней загруженного конвейера. Данная функция соответствует слагаемому (ц - 1) ДX1 в (14).

Функцией координаты вектора временной развертки будем называть функцию

хв0^, X2, /х) = ^

где / - некоторая функция, образованная как комбинация функций Хевисайда.

В выражении (20) в качестве аргумента XI также используем функцию (19), принимаем X2 = X', а в качестве функции / - конвейерную функцию (18).

В качестве функции /Х(.) будем использовать функцию Хк(.) вида (18) с параметрами, соответственно равными X1(г) и X2(г).

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

Утверждение 1. Выражение X (х^ь kДx, X2)), где к = 0, 1, 2, ... эквивалентно выражению

X*(Хз(X*, Кд)), X2)). *

Действительно, выражение / = X (х^, kДx, X:)) задает последовательность импульсов в моменты времени XI + X2, XI + X2 + Дx, XI + X2 + 2ДX и т. д.

Аналогично для функции /2 = X (х^ , Кд), X2) также определяются моменты XI + X2, XI + X2 + + Кд, Xl + X2 + 2Кд и т. д.

Установив равенство Кд тс = Дx(y) и Дx = = Дx(y), получим/ = /2. Утверждение доказано.

Утверждение 2. Функция координаты вектора временной развертки Хв^ъ X2, /ч) при X =

= X*(xд(.)) эквивалентна функции X*(Хp(.)).

Действительно, в соответствии с определением функции координаты вектора временной развертки (ВВР) при/Х = Хк ( ) для нее справедливо

10 при X < X3;

X*(Хз^ ^ ^ ^(Хс ]], X,)) при X г X,.

Аналогично выполняется и для X*(xp(.)).

Утверждение доказано.

Таким образом, при X1 = X0 + X (1)(7), X2 = X'

функция ВВР может быть использована как модель формирования 7-й координаты ВВР:

^(X, ) = Хв (X* (Хд (X* (Хз (('(1)(7))), Кд(7))]],

X', Хк (хд (X* (Хз (xо, X'(1)(7))), Кд(7))].

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

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

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

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

Литература

1. Кобайло, А. С. Базовый алгоритм синтеза вычислительных структур реального времени / А. С. Кобайло, Н. А. Жиляк // Труды БГТУ. Сер. VI, Физ.-мат. науки и информатика. - 2007. -Вып. XV. - С. 147-150.

2. Жиляк, Н. А. Базовый алгоритм синтеза вычислительных структур реального времени для теплоэнергетических измерений / Н. А. Жиляк, С. И. Акунович // Труды БГТУ. Сер. VI, Физ.-мат. науки и информатика. -

2008. - Вып. XVI. - С. 129-132.

3. Кобайло, А. С. Математическая модель блока управления измерительными каналами / А. С. Кобайло, Н. А. Жиляк // Труды БГТУ. Сер. VI, Физ.-мат. науки и информатика. -

2009. - Вып. XVII. - С. 103-106.

4. Кобайло, А. С. Основы теории синтеза вычислительных структур реального времени / А. С. Кобайло. - Минск: БГУИР, 2001. - 202 с.

Поступила в редакцию 31.03.2010