Научная статья на тему 'Оценка числового диапазона целочисленного вертикального умножения'

Оценка числового диапазона целочисленного вертикального умножения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
106
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕРТИКАЛЬНАЯ АРИФМЕТИЧЕСКАЯ ОБРАБОТКА / СПОСОБ УМНОЖЕНИЯ БЕЗ ВЫЧИСЛЕНИЯ ПЕРЕНОСА / ПОТОКОВОЕ УМНОЖЕНИЕ С ФИКСИРОВАННОЙ ТОЧКОЙ / VERTICAL ARITHMETIC PROCESSING / WAY OF MULTIPLICATION WITHOUT CARRYING OVER CALCULATION / STREAM MULTIPLICATION WITH THE FIXED POINT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ромм Яков Евсеевич, Иванова Анна Сергеевна

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

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

THE ESTIMATION OF A NUMERICAL RANGE OF INTEGER VERTICAL MULTIPLICATION

The method of streaming processing of integer binary factors without calculation of carrying over which provides a mode with the fixed point during all time of processing of a stream is stated. The method is based on the summation of the vertical bit slices and save full-size intermediate terms, which are interpreted as the product of two current factors. Subtotal vertical manner is compressed to two-row code, the multiplication factor for the next running of distributivity. The estimates of growth of the numerical range and the time complexity, in particular, the growth of a range of products, calculated by this method does not exceed the growth in the range of products, calculated by the "school" scheme. The proposed method is parallel to all the bit slices, on this basis stream processing factors in the fixed-point mode can be organized. The concept of implementation of the method and architecture of the parallel compute engine is stated.

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

УДК 681.3:007

Я.Е. Ромм, А.С. Иванова ОЦЕНКА ЧИСЛОВОГО ДИАПАЗОНА ЦЕЛОЧИСЛЕННОГО ВЕРТИКАЛЬНОГО УМНОЖЕНИЯ

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

.

Вертикальная арифметическая обработка; способ умножения без вычисления переноса; потоковое умножение с фиксированной точкой.

Ya.E. Romm, A.S. Ivanova THE ESTIMATION OF A NUMERICAL RANGE OF INTEGER VERTICAL

MULTIPLICATION

The method of streaming processing of integer binary factors without calculation of carrying over which provides a mode with the fixed point during all time of processing of a stream is stated. The method is based on the summation of the vertical bit slices and save full-size intermediate terms, which are interpreted as the product of two current factors. Subtotal vertical manner is compressed to two-row code, the multiplication factor for the next running of distributivity. The estimates of growth of the numerical range and the time complexity, in particular, the growth of a range of products, calculated by this method does not exceed the growth in the range of products, calculated by the "school" scheme. The proposed method is parallel to all the bit slices, on this basis stream processing factors in the fixed-point mode can be organized. The concept of implementation of the method and architecture of the parallel compute engine is stated.

Vertical arithmetic processing; way of multiplication without carrying over calculation; stream multiplication with the fixed point.

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

PjM = aiXa2Х...Хajm , (1)

n

где все сомножители заданы и имеют вид ai = £ ajl 2}, ajl =

j=0

M - произвольно. Шаг с номером k вертикального суммирования параллельного

набора (ВСПН) [1, 2] соответствует k -му бинарному умножению, выполняемому последовательно по номерам сомножителей из (1), -

а(о) = а(, а(() = а(о)ха2, ... ,а(к) = а(к-()хак+(; к = 1,2,...,М -1. (2)

Для к-го умножения из (3) составляется к-я "школьная" схема. Набор двоичных слагаемых этой схемы с прилагаемой ниже оговоркой принимается за к-й входной набор для к-го шага ВСПН, за его результат принимается к-й промежуточный набор слагаемых, и он же принимается за результат к-го произведения из (2).

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

Описание метода. Если уже выполнен шаг к > 1 и за его результат принят к-й промежуточный набор, включающий Ь к + 1 двоичных слагаемых,

а(к)= Ъ() + Ъ(() +... + ъ( к) то (к +1)-й входной набор д(к+()

= Ьк ' + Ък' + ■ ■■ + Ь дистрибутивности:

формируется по

+ 1) =( ь(0)+ Ь( 1)+ ■■■ + ЬЬк^Ха = ь(°)

к

Ьк)

хак = Ьк хак + Ьк хак + ■■■ + Ькк

х а

к,

где ак из (2). При этом для каждой пары сомножителей Ьк 'X ак формируется своя, I -я, "школьная" схема, I = 0, 1, ... , . Все +1 "школьных" схем объе-

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

(1).

( ).

Пример 1. Требуется найти произведение двоичных чисел: а1 = 1011,

а2 = 1101, аз = 1001, .. . Согласно ВУПН получаем: к = 1: А(1 ^ = а-1 X а2 :

х

1 ° 1 1

1 1 ° 1

1

1

° ° 0 1 11

школьная схема

111111

0 0 0 1 0 0 0

і( 1 ) = и(°) ^ *,№.

А1 = Ъ((0) + Ъ((1

к = 2 .• А(2) = А(()х а3 = (ъ(0) + Ъ((()) х а3 = Ъ((о) х а3 + Ъ((() х а3 .

Результат суммирования слагаемых "школьной" схемы получается взаимно независимым сложением по вертикали всех разрядных срезов и записи суммы каждого из них в двоичном коде согласно весу каждого разряда суммы (диагональная запись [1]). В данном случае результат отделен горизонтальной чертой от входных слагаемых "школьной" схемы. Без дальнейшей обработки за результат принимается пара двоичных слагаемых, и по дистрибутивности умножается на третий сомножитель:

1

+

1

1111111 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1111111

0 0 1 0 0 0 0

0 0 0 0 0 0 0

0000000

0 0 1 0 0 0 0

4°)х а3

bj^x а3

1 1 0 0 0 1 0 1 1 1

0 0 1 1 1 1 1 0 0 0

Результат вновь включает только два двоичных слагаемых - это общая закономерность:

Теорема 1 [2]. При вычислении Рм из (1) по алгоритму (2) посредством ВУПН для сколь угодно большого количества сомножителей M и произвольно зафиксированного числа их разрядов п +1 количество S( ) слагаемых к-го промежуточного набора ограничено константой, не зависящей от к из (2), -

supS|k) <log2n + log2log2(2n + 2)+ 2. При этом на каждом шаге ВУПН распро-

к >1

странение всех переносов бесконфликтно.

Оценка роста числового диапазона. Для правой части неравенства из теоремы 1 введем обозначение Sj. Пусть рассматриваются < S1 х (п +1) слагаемых входного набора и в них выделены те и только те старшие разряды, которые соответствуют сдвигу сомножителя на п разрядов влево на каждом шаге формирования набора «школьных» схем умножения. Пусть выполняется первый шаг ВУПН. В результате этого шага от старшего из выделенных разрядов возникнет прирост Р количества старших разрядов.

,

Р < log2 ~1. (3)

Оценка верна для прироста не только от старших, но и от всех предшествующих им разрядов. В самом деле, от разряда, предшествующего старшему, при, ,

Р < log2( 2S1) -1. (4)

(3). , -

смотренному разряду прирост составит Р < log2( 3S1) - 2. Тем более, для данного

2 ~

разряда будет выполняться неравенство: Р < log2( 2 S1) - 2. В результате, вновь

(3). , , -

щего старшему на i разрядов вправо, получится: Р < log2((i +1 )S1) - i, тем более,

Р < log2( 2i S1) - i, и сохранится (3).

По индукции прирост на первом шаге ВУПН от любого по номеру разряда не выйдет за границы правой части (3).

Количество слагаемых промежуточной суммы, получивших рассмотренный , -взойдет правой части (3) и составит:

~2 < log2 ~1. (5)

S1

играть S2 из (5), и, по аналогии с (3), (4), с учетом (5) получится: Р < log2( 2l 2 ) - i, или

Р < log2 log2 ~1. (6)

На шаге ВУПН с номером к > 2 по индукции оправдывается оценка

Р < log 2 log 2.. .log 2 S1. Очевидно, начиная с некоторого номера к0 = const, для

к

всех к > к0 правая часть неравенства не превзойдет 1:

Лемма 1. В рассматриваемых условиях 3 к0 = const, такое, что прирост Р

,

к -го шага ВУПН, удовлетворяет неравенству: Р < 1, V к > к0.

Входной набор для ВУПН формируется по дистрибутивности относительно

слагаемых промежуточной суммы, поэтому к приросту Р всегда добавляется n разрядов сдвига «школьной» схемы на входе шага ВУПН.

Отсюда с учетом леммы 1 имеет место

Теорема 2. В условиях леммы 3 к0 = const, такое, что общий прирост Р0 числа разрядов на шаге ВУПН (по отношению к предыдущему шагу) оценивается

из неравенства: Р0 < n +1, V к > к0.

Теорема 3. В тех же условиях, начиная с некоторого шага с номером к = к 1 ум, , Р1

(по отношению ко всем предыдущим шагам) будет удовлетворять неравенству:

~ к 1 ~

Р < X log2 log2 ■ • -log2 S1 + Ы + 1, V к > к 1.

i = 1 ^ i

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

I

Если рассмотреть сжатие входного набора ВУПН до двухрядного кода, то на текущем шаге ВУПН величину прироста к старшему разряду текущего входного набора (по отношению к предыдущему шагу) можно оценить из неравенства p < log2 2 = 1. При этом прирост к предшествующему разряду можно оценить из неравенства: p < log2 4 -1 = 1.

Продолжая процесс далее, можно рассуждать аналогично тому, как при выводе оценок (4)-(6).

, p ( шагу) составит: p < 1.

При этом промежуточная сумма состоит из S1 < log2 (2n).

Начиная с шага ВУПН с номером i = 2, происходит сжатие S1 промежу-

,

.

В силу диагональной записи прирост числа разрядов в отсчете от старшего разряда промежуточного набора именно на шаге сжатия составит: p < log2 S^. В то

же время число слагаемых в результате этого шага составит: S2 < log 2 log2 S^.

i=2

i = 3 S2 ,

числа в силу диагональной записи предыдущего шага, как в (4) - (6), оценивается из неравенства: p < 1. При этом для числа слагаемых выполняется оценка:

~3 < log 2 log2 log2 ~1.

i=3

Затем вновь возможно заполнение и при этом на шаге ВУПН с номером

i = 4 прирост числа разрядов составит: p < log2 log2 log2 log2 ~1.

i=4

1.

i = 2к -1, прирост числа разрядов составит

p < 1, к = 1,2..., (7)

i = 2к

:

p < log2 log^. .log2S1. (8)

' ¿ = 2к *

(8),

к , .

2.

до двухрядного кода на нечетных шагах прирост старшего разряда оценивается из (7); на четных - из (8). При этом 3к0 такое, что для всех номеров к шага сжатия входного набора ВУПН будет выполняться неравенство: p < 1, Vk > к0.

Следствие 2. Суммарный прирост Р2 по всем i шагам сжатия текущего входного набора ВУПН на шаге с четным номером составит

Р2 < Z(1 + log2log^..log2~1). (9)

l=1 '-v-----'

l 1 l

При нечетном номере шага сжатия текущего входного набора суммарный прирост составит

Р2 < lL(1 + log2 log^--log2*~1) + 1. (10)

l =1 l 1 l

Следствие 3. Сумма (10) конечна, поскольку сжатие продолжается только до двухрядного кода: i < I, при котором выполняется log2 log2,. .log2 S1 < 3.

i

Наконец, с учетом того, что на каждом шаге умножения «школьная» схема увеличивает число разрядов входного набора ВУПН на n , из изложенного выте-.

Теорема 4. Суммарное число Р3 разрядов по всем шагам ВУПН при сжатии каждого входного набора до двух промежуточных слагаемых за количество шагов ВУПН, равное ], вырастает до значения

Р3 ^ 1(п + P2), (11)

где Р2 оценивается из (10).

По построению (10) правая часть (11) не зависит от I > 1.

Об архитектуре параллельного процессора. Концептуально можно предло-

( ),

реализующей вертикальное умножение с фиксированной точкой. На рис. 1 пред, -

, , -

ствуют весам двоичных разрядов. При этом матрица с индексом 1 принципиально

отличается по наполнению от двух последующих. В ней размещаются входные на-

боры двоичных чисел, образованные вначале одной, затем двумя текущими «школьными» схемами. Эти входные наборы поразрядно-паршлельно суммируются по вертикальным срезам согласно ВУПН, со сжатием до двухрядного кода.

, -

шим п + 1 разрядам сомножителей. Следующие разряды, начиная с п + 2 -го, со-

2,

, , -рования разрядных срезов. Рассматриваемая матрица соответствует лишь структуре хранения промежуточных произведений, которые представляются парами сла-( ). -, п ,

налево в порядке роста. Следующие по весу п разрядов занимают две следующие строки этой же матрицы снизу вверх в таком же порядке, и т.д. (в соответствии

. 2). -

,

разрядов с номерами п + 2, п + 3, п + 4,... ,2 п + 2 для первой снизу пары строк, 2п + 3,2п + 4, 2п + 5, ... , 3п + 3, - справа налево для второй пары строк, и т.д. В продолжение рассматриваемого процесса, если старшие разряды не

2,

3 ( . 2), , -

рядке роста веса разрядов. Следующие по весу п разрядов занимают две следующие строки этой же матрицы снизу вверх в том же порядке и т.д.

Рис. 1. Матрицы для записи текущего произведения

Рис. 2. Сдвиг записи текущего произведения по строкам матриц и между

матрицами

Замечание 1. Необходимо при нять во внимание, что при выполнении теку-

(2), -новляется на каждом шаге умножения для нового результата. Линейная запись справа налево по весам разрядов с номерами п + 2, п + 3, п + 4, ... ,2п + 2 для первой снизу пары строк, 2п + 3,2п + 4,2п + 5,..., 3п + 3, - справа налево для второй пары строк, и т.д. - будет соответствовать не предыдущему, а ново, .

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

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

Умножение каждой пары строк предполагается выполнять на отдельно сопоставленном этим строкам параллельном процессоре (ПП): I -й справа налево строке соответствует ПП, . При этом все ПП работают синхронно и взаимно независимо. Каждый ПП, в свою очередь, работает параллельно по всем разрядным , . , обмена не требуется в силу расположения аддитивных по номерам пар строк матрицы сомножителей согласно весам коэффициентов внутри каждой строки. Такая индексация постоянна и реализуется в стационарной конфигурации обмена.

В соответствии с предложенной структурой связей рассматриваемую обработку можно было бы проводить при линейной записи результата без матричной « ».

по той причине, что она использована при потоковой обработке слагаемых рассмотренного вида [3].

.

произведений ВУПН фактически не превосходит рост диапазона обычного умножения по «школьной» схеме. Вместе с тем рассмотренный метод исключает вы, . -

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ромм Я.Е. Метод вертикальной обработки потока целочисленных групповых данных. I. Групповые арифметические операции // Кибернетика и системный анализ. - 1998. - № 3.

- С. 123-151.

2. . . . II.

// . - 1998. - 6.

- С. 114-142.

3. Ромм Я.Е., Иванова А.С. Потоковая вертикальная арифметическая обработка целочис-

. - : , 2011. - 56 . .

В ВИНИТИ 29.07.2011, № 307-В2011.

4. . . : . - .: -

, 2004.

. . ., . . .

Ромм Яков Евсеевич - ГОУВПО «Таганрогский государственный педагогический институт»; e-mail: romm@listru; 347926, г. Таганрог, ул. Инициативная, 48; тел.: 88634601753, 88634601812, 88634601807; кафедра информатики; зав. кафедрой; д.т.н.; .

Иванова Анна Сергеевна - e-mail: [email protected]; тел.: 89045001153; кафедра информатики;аспирантка.

Romm Yakov Evseevich - Taganrog State Pedagogical Institute; e-mail: [email protected]; 48, Initsiativnaya street, Taganrog 347926, Russia; phones: +78634601753, +78634601812, +78634601807; the department of computer science; chair of department; dr. of eng. sc.; professor.

Ivanova Anna Sergeevna - e-mail: [email protected]; phone: +79045001153; the department of information science; the post-graduate student.

УДК 519.6(075.8)

Еда. Шаповалова, Я.Е. Ромм

СХЕМЫ ВИЗУАЛИЗАЦИИ МАССИВА КООРДИНАТ ЖЕЛЕЗНОДОРОЖНОГО ПУТИ С ОТОБРАЖЕНИЕМ НОРМАЛЕЙ

И КАСАТЕЛЬНЫХ

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

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