Доклад: Арифметика сверхбольших натуральных чисел в параллельных вычислительных системах

В . Умножение

Алгоритм умножения несколько сложнее в реализации, но напоминает собой умножение в столбик.

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

Таблица 1. - Распределение ячеек памяти при инициализации

0 0 0
0 0 0
ячеек ячеек
ячеек

Сначала вычисляются одновременно числа, представляющие собой умножение на число , по следующему алгоритму: устройство

В1 . Считывает данные из ячеек памяти.

В2 . Выполняет умножение (, j ).

В3 . Записывает в младшие байты слов:, .

В4 . Записывает в старшие байты слов: .

В5 . Для каждой -ки происходит сложение по алгоритму А .

После шага В5 в старших байтах слов будут содержаться (таблица 2):

Таблица 2. - Распределение ячеек памяти после операции умножения

0
ячеек ячеек

Результат умножения формируем из сложением со сдвигом на разрядов.

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

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

Литература

1.Юров В. Assembler. – СПб.: Издательство «Питер», 2000.

2.Акритас А . Основы компьютерной алгебры с приложениями. – М: Мир, 1994.

3.Макоха А.Н ., Ионисян А.С . Компьютерная эмуляция арифметических операций над целыми и рациональными числами в СОК. // Вестник СГУ. – Ставрополь: Изд-во СГУ, вып. 20, 1999.

К-во Просмотров: 104
Бесплатно скачать Доклад: Арифметика сверхбольших натуральных чисел в параллельных вычислительных системах