Научная статья на тему 'Разрядно-параллельные вычисления на ассоциативных сумматорах'

Разрядно-параллельные вычисления на ассоциативных сумматорах Текст научной статьи по специальности «Математика»

CC BY
113
133
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Системные технологии
ВАК
Область наук
Ключевые слова
РАЗРЯДНО-ПАРАЛЛЕЛЬНЫЕ / ВЫЧИСЛЕНИЯ / АССОЦИАТИВНЫХ СУММАТОРАХ

Аннотация научной статьи по математике, автор научной работы — Хачумов В.М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Accelerating the calculation of elementary functions and geometric transformations is an important task in the on-Board computers that control aircraft in real time. Significant speed-up of computations can be obtained if lead to a special function of mind, requiring only the operation of summation. In turn, such coercion is justified, in the presence of quick sum of many operands.

Текст научной работы на тему «Разрядно-параллельные вычисления на ассоциативных сумматорах»

состояние клиента (К) или сервера (С), так как фишка может находиться только в одном месте, характеризующем состояние клиента или сервера. Множество переходов, связанных с определенным местом, характеризующим состояние клиента или сервера, можно заменить четырьмя переходами: рп , Р^ , срабатывающими в четный момент

времени, и , Р2^ , срабатывающими в нечетный момент времени. При

срабатывании указанных переходов число фишек в позиции К или С увеличивается на единицу, то есть клиент или сервер переходит в новое состояние. Также имеются два перехода: Ррп , РС , срабатывание которых завершает взаимодействие клиента и сервера соответственно. Данные переходы активируются по дуге, выходящей из групповых мест К и С, при этом дугам поставлены в соответствие а-дуги инцидентные местам ЕК и ЕС. Когда количество фишек в позициях К(С) сравняется с числом фишек в позиции ЕК(ЕС), сработает переход, завершающий взаимодействие. Количество фишек в позициях ЕК и ЕС может быть изменено в процессе функционирования СБ-сети. При срабатывании переходов и происходит появление сообщения от клиента МК

или от сервера МС соответственно. Переходы Р^ и Р^ не будут активированы, если

не будет фишки в местах МС и МК, что соответствует ожиданию сообщения от сервера или клиента. Срабатывание данных переходов приводит к появлению фишек в позициях АК и АС. Наличие фишек в данных местах необходимо для срабатывания переходов Р^п и Р2^ соответственно.

При необходимости создания переходов, активируемых конкретным состоянием клиента или сервера, достаточно поставить переход инцидентный групповому месту К или С с разметкой дуги, равной 1+1, где 1 - номер состояния клиента (сервера).

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

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

1. Хоар Ч. Взаимодействующие последовательные процессы. - М.: Мир, 1989. -

264 с.

2. Котов В. Е. Сети Петри. - М.: Наука, 1984. - 160 с.

4. Левин И.И. Анализ вычислительных процессов и структур на основе СБ-сетей.-Махачкала: ДНЦ РАН. 2006.- 253с.

РАЗРЯДНО-ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ НА АССОЦИАТИВНЫХ СУММАТОРАХ Хачумов В.М.

Федеральное государственное бюджетное учреждение науки Институт системного анализа Российской академии наук

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

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

Ключевые слова: вычисления.

BIT-PARALLEL COMPUTING ON ASSOCIATIVE ADDER

Abstract: The acceleration of calculation of elementary functions and geometric transformations is an urgent task in the onboard computer, exercising control of the aircraft in real time. A significant speedup can be obtained if the function lead to a special form, which requires only the operation of summation. In turn, such a reduction is justified, in the presence of quick summation of many operands.

Keywords: calculation.

Ускорение вычисления элементарных функций, а также геометрических преобразований является актуальной задачей в бортовых вычислителях, осуществляющих управление летательными аппаратами в реальном времени. Существенное ускорение вычислений можно получить, если привести функцию к специальному виду, требующему только выполнения операции суммирования. В свою очередь такое приведение оправдано, при наличии устройств быстрого суммирования многих операндов. Подобные устройства, названные ассоциативными многовходовыми суммирующими устройствами (МСУ), были разработаны под руководством д.т.н. профессора Исмаилова Ш.-М.А. и дали толчок развитию аппаратной реализации алгоритмов преобразования систем счисления [1-4], умножения [5], обработки данных [6,7], реализации криптографических алгоритмов [8] и т.д. В настоящей работе представлена техника приведения некоторых функций к виду удобному для реализации на МСУ [9].

Рассмотрим операцию Y^/Х. Здесь X = (X) • 2-K - положительное двоичное число, представленное в нормализованном виде, (X) = (xx...xm)- мантисса, K -порядок числа Х, x - значение i-го разряда мантиссы (xi е {0,1}) с собственным весом

2 m-, причем x = 1, m - длина разрядной сетки. Результат нахождения обратной величины в соответствии с предложением Г.Е.Пухова [10] представляется в виде:

Y = (Y) • 2-t2(m-1)-K ] (1)

где (Y) = (y1y2■■■Ут)- мантисса числа Y. В нормализованной форме (1) y е {-1,0,+1}, а в общем случае у (i = 1,...,m)- есть двоичное число со знаком, имеющее собственный вес 2m-. Связь между исходным числом Y и результатом X устанавливается с помощью разрядного выражения: Y = [XJ1, где Y - разрядный вектор, [X] -квадратная разрядная матрица, [X] 1 - обратная разрядная матрица (при наличии матрицы, обратной разрядной матрице [X]). Вычисление обратной функции можно после ряда преобразований свести к выполнению операции группового суммирования, в которой участвуют значения разрядов аргумента:

У = 1,

У 2 = Х2 '

Уз — хз I ,

у4 = "Х4" ^ (2)

— Х I I х^ х I I Х I Х Х4,

У6 = "Х6 + Х2 Х4 + Х2 Х3 " Х2 + Х2 Х6 + Х3 Х5 " Х2 Х3 Х5 ,

^Уу — ^Ху I х I Х2Х I ^2 I ^^2^Ху I ХХ х^х§ I ХХ ХХ,

У 8 = "Х8 " Х2 Х6 " Х3 Х4 " Х2 •

Схема (2) содержит 12 двоичных операндов со знаками, которые удобно просуммировать в МСУ.

Распространим предложенный метод представления результата в разрядно-параллельной форме на одну из важнейших математических операций - извлечение квадратного корня. Рассмотрим У — уу2... у - положительное восьмиразрядное двоичное число, представленное в нормализованном виде 0.25 < Y < 0.5. Результат выполнения операции X — л/У представлен разрядами: X — хх...х16 и связан с аргументом Y разрядным выражением [10]:

X — [У]"1 х X , (3)

соответствующим математической операции возведения в квадрат, где [У ] -квадратная разрядная матрица (разрядности 8х8), X- разрядные вектора. Выразим каждый разрядный коэффициент результата X через коэффициенты числа Y методом последовательных подстановок. После преобразований выражений для разрядного вектора Х функции, получим:

XI — У1 Х2 — 0

Х3 — У 2

Х4 — У3 Х5 — У 4

Х6 — У5 У2 " У2 У3 Х7 — У6 "У2У4

Х8 — У7 + У2 " У3 " У2 У5 " У3 У4 + У2 У3 Х9 — У8 " У3 У5 + У2 У4 + У2У3

Х10 — У2У4 "У2У6 У4 У2У7 "У3У6 " У4У5 " У2У3 "У2 + У2У3У5

XII — У3 + У 2 У3 У5 + У 2 У6 + У3 У 4 Х12 — У2 У6 + У3 У4 " У2

Х13 — У2У3 "У2У5 + У2У3У4

Х14 — У 2 У3

Х15 — У2 У3" У2 (4)

Х16 — У 2 У4 + У 2 У3

Результат операции на основе схемы (4) для значений аргумента заданного диапазона лежит в пределах 0.5< X <0.708.

Разрядно-параллельные представления можно получить и для алгоритмов семейства вычислительных алгоритмов CORDIC [11]. Технология базируется на

фундаментальной возможности получения результата в виде суммы У = • 2 ', где

г=1

ег, ' = 1,...,п, ег е {+1,-1} - операторы для случая знакопеременных итераций.

Количество членов суммы п связывается с числом выполняемых итераций, а оно в свою очередь определяется разрядностью операндов т , причем, п < т . Рассмотрим, например, операцию поворота точки (х, у) вокруг оси 02 на угол р. Преобразование поворота обычно выполняется по формулам: х' = хео8(^) - у 8т(^), у' = у еоз(^) + х 8т(^). Алгоритм CORDIC предполагает следующую процедуру:

Рг +1 = Рг — е,аГ^(2-' )

Уi+1 = Уi -8'хг 2-'

X+1 = Хг +8'Уг 2 ег = ).

Начальные условия: у0 = у, х0 = х, р0 = р, £0 = ±1 (знак е0 определяет направление поворота). Результат: уп = ку', хп = кх', где у',х' — новые координаты, п - количество итераций. Заметим, что величины аг^(2—' ) - вычисляют заранее и хранят в памяти. Недостаток алгоритма: линейная деформация (удлинение) вектора в к раз, причем:

к = ^2^^(1 + 2—2г , для числа итераций п > 10, к «1.65. Проблема решается

г=0

раздельными поворотами вектора для вычисления новых координат, введением дополнительных компенсирующих итераций или прямой компенсацией удлинения. Если задать начальные условия: у0 = 0, е0 = 1, х0 = 1/к, р0 = р, то получим следующий

результат: уп =— Б1п(р), хп = cos(р). Операция поворота является базовой в системе

алгоритмов CORDIC, ее разрядно-параллельное представление получено в работе [9]. Заметим, что все действия выполняются над мантиссами двоичных чисел. Введем вспомогательные величины А = У — е0 X, В = X + е0У. Здесь X, У - исходные координаты конца вектора. Результат операции «поворот» (X',У') для разрядности операндов т = 8 можно представить в следующем виде: для координаты X':

X = ¿1, Х2 = Ъ2 +еlal, х^ = ъ + е а + е а, х4 = ъ4+е а+е2 а + (е а — ее Ъ), х5 = ъ + е а+е2 а + (е а—ее Ъ)+(е а — ее Ъ), х6 = ъ + е а + е а + (е а — ее Ъ) + (еа — ее Ъ) + [е а — (ее + ее )Ъ ], х7 = ъ + е а + е а + (е а — ее Ъ) + (е а — ее Ъ) + [е а — (ее + ее )Ъ ] +

+ [(е6 — е1е2е3)а1 — (е1е5 + е2е4)Ъ1 ],

х8 = ъ + е а + е а + (е а — ее Ъ) + (е а — ее Ъ) + [е а — (ее + ее )Ъ ] +

+ [(е6 — е1е2е3)а2 — (е1е5 + е2е4)Ъ2] + [(е7 — е1е2е4)а1 — (е1е6 + е2е5 + е3е4)Ъ1];

для координаты У ' :

(6)

¥1 — % У2 — а2 " 81К1,

г3 а ^,

— а " еЬъ" 8 К " (8 Ь + 88 а), ^ — а " 8хъъ" 8 К " (8 Ь + 88 а), ^ — а " 8\К " 8 К " (8 К + 88 а)" (8 Ь + 88 а), г6 — а " 8К " 8 К " (8 К + 88 а)" (8 К + 88 а) ~ [8 Ь + (88 + 88 )а ], г7 — а " 8А " 8 К " (8 К + 88 а)" (8 К + 88 а)" [8 К + (88 + 88)а ] +

+ [(818283 " 86)К1 " (885 + 8284)а1],

Г8 — а " 8К " 8К " (8К + 88а)" (8К + 88а)" [8К + (88 + 88)аз ]+

+ [(88283 " 8 6 )К2 " (8185 + 8284)а2] + [(818284 " 87 )К1 " (886 + 8285 + 8384)а1 ]•

Таким образом, мантисса результата записывается через разрядные коэффициенты двоичных операндов А и В. Координаты (X\У') конца повернутого вектора оказываются увеличенными в к раз, что требует их нормализации. Для параллельного выполнения (5)-(6) средствами МСУ операторы {8,..,8}, 8е(-1}

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

Рассмотрим структуру операционной части геометрического процессорного элемента (ГПЭ), которая опирается на разрядно-параллельные схемы алгоритмов СОЯСГС (рисунок 1). Каждая операция реализуется в ГПЭ путем соответствующей настройки его структуры. Программирование структуры осуществляется соответствующей коммутацией (назначением) отдельных составляющих ГПЭ с помощью управляющих сигналов Сх, С2,.., Сг, которые формируются после расшифровки кода команды устройством управления. Использование предложенных схем алгоритмов позволяет строить ГПЭ на единой методологической основе с применением простого и удобного математического аппарата группового суммирования и его технического эквивалента с однородной элементной базой. Для получения высокого быстродействия важным является выбор способа реализации операции группового суммирования на МСУ. Система команд ГПЭ представлена в таблице 2.

Таблица предполагает дальнейшее развитие в сторону расширения за счет включения новых команд. Входными и выходными данными для выполнения команд ГПЭ служат координаты, которые задают положение точек изображения. Операция параллельного суммирования п операндов на основе каскадной схемы может быть выполнена за число тактов: ^ 1, в то время как последовательное

суммирование займет (п "1) такт. Такт здесь равен времени одной операции суммирования т -разрядных операндов. Быстродействие при использовании МСУ определяется, в зависимости от конструкции, по формулам: ^ — т + [1о^(п)] + 2,

¿з — т /2 + Г1о§2(и)"| + 2, ^ —\ш /2~|. Здесь такт соответствует времени считывания

операнда из постоянной памяти. Для непосредственного сравнения быстродействия необходим учет времени задержки логических элементов в ПЭ. При многократном выполнении среднее время выполнения одной крупной операции будет примерно равным Г1о^(п)|, где п максимальное число операндов. Таким образом, разрядно-

параллельные формы в сочетании с методом группового суммирования операндов, предложенным в работах проф. Исмаилова Ш.-М.А., позволяют достичь показателей быстродействия ГПЭ, превышающих показатели известных арифметических и ЯЛБС-процессоров, использующих метод разложения в ряд Тейлора для вычисления указанных функций.

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

1. Исмаилов Ш.-М.А., Оцоков Ш.А. Разрядно-параллельный алгоритм и структура преобразования чисел из позиционной системы счисления в систему остаточных классов. - Вестник ДНЦ РАН, 2001, №9, с. 40-43

2. Исмаилов Ш.-М.А., Магомедов Ш.Г. Алгоритмы и структуры преобразования числовых данных из позиционной системы счисления в систему остаточных классов. - Научно-технические ведомости СПбГТУ. Информатика. Телекоммуникации. Управление, 2008, № 5(65), с. 159-169.

3. Исмаилов Ш.-М.А., Магомедов Ш.Г. Разработка структуры и алгоритма для преобразования двоично-десятичных чисел в код остаточных классов. - Современные информационные технологии в проектировании, управлении и экономике: материалы III Всероссийской конференции по актуальным проблемам внедрения и развития сектора IT- технологий, 22-25 сент. 2008 г. - Махачкала: ДГТУ, 2008.

4. Магомедов Ш.Г. Алгоритм преобразования двоично-десятичных чисел в систему остаточных классов. - Молодежь и наука: реальность и будущее: материалы

II Международной научно-практической конференции. - Невинномысск: НИЭУП, 2009.

5. Исмаилов Ш.-М.А., Магомедов Ш.Г. Разрядно параллельный алгоритм и структура устройства умножения двоичных чисел. - Информационные и телекоммуникационные системы: информационные технологии в научных и образовательных процессах: материалы V Региональной научно-технической конференции, 18-20 сент. 2009 г. - Махачкала: ДНЦ РАН, 2009.

6. Артамонов Е.И., Исмаилов Ш.-М.А., Кокаев О.Г., Хачумов В.М. Специализированные алгоритмы и устройства обработки массивов данных. -Махачкала: Дагестанское книжное издательство, 1993. - 304 с.

7. Исмаилов Ш.-М.А. Структура параллельно-разрядного процессорного элемента обработки потоков числовых данных в комплексе систем счисления. -Тезисы докладов Всесоюзного научно-техн. семинара «Многопроцессорные вычислительные системы». - Таганрог, 1991, с. 74-76.

8. Исмаилов Ш.-М.А., Оцоков Ш.А. Структура разрядно-параллельного устройства реализации алгоритма RSA. - Информационные и телекоммуникационные системы: интегрированные корпоративные сети. - Тезисы докладов республиканской научн.-практ. конференции. - Махачкала: ДНЦ РАН, 2001, с.57-61.

9. Khachumov V. Bit-parallel algorithms and devices. - Proc. of the 11th international conference on computer graphics & vision GRAPHICON'2001. - Nizhny Novgorod, 2001, p.224-226.

10. Пухов Г.Е., Евдокимов В.Ф., Синьков М.В. Разрядно-аналоговые вычислительные системы. - М.: Сов. Радио, 1978. - 256 с.

11. Байков В.Д., Смолов В.Б. Специализированные процессоры. Итерационные алгоритмы и структуры. - М.: Радио и связь, 1985. - 288 с.

ВЛИЯНИЕ МЕЛКОВОДЬЯ НА ГИДРОДИНАМИЧЕСКИЕ ХАРАКТЕРИСТИКИ КОРПУСА СУДНА Абдуллаева З.М., старший преподаватель кафедры УиИТС

ФГБОУ ВПО «Дагестанский государственный технический университет»

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

Ключевые слова: мелководье, судно, характеристика.

INFLUENCE SHALLOWS ON HYDRODYNAMIC CHARACTERISTICS OF THE

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

SHIP'S HULL

Abstract: One of the main factors determining the maneuverability of the vessel are the hydrodynamic forces and moments acting on the body in the plane of the water line in the vessel motion along a curved path.

Keywords: shallow water, the vessel characteristics.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.