Cтраница 4
Детализированные схемы алгоритмов операций, выполняемых в отдельных блоках, представлены на рис. 3.3. В указанных схемах алгоритмов переменные обозначены именами, принятыми в программе. Алгоритм умножения матриц в блоке 4 продемонстрирован на рис. 3.3 в. [46]
Детализированные схемы алгоритмов операций, выполняемых в отдельных блоках, представлены на рис. 3.3. В указанных схемах алгоритмов переменные обозначены именами, принятыми в программе. Алгоритм умножения матриц в блоке 4 продемонстрирован на рис. в. [47]
Приведенные в табл. 5.4 и 5.5 примеры оперируют с целыми двоичными числами. Алгоритмы умножения целых двоичных чисел и двоичных дробей отличаются только одним действием. При умножении дробей не нужно делать последнего сдвига вправо. [48]
Операция выполняется в прямом коде. Рассматривается алгоритм умножения начиная с младших разрядов множителя со сдвигом множимого в сторону старшего разряда. [49]
Составим микропрограмму умножения двух положительных восьмиразрядных двоичных чисел. Схема алгоритма умножения приведена на рис. 1.15.4. Множитель вводится в дополнительный регистр РгД микропроцессора, а множимое - в регистр общего назначения РОНО. В РОН1 организуется счетчик сдвигов. [50]
![]() |
Зависимость ускорения S от числа процессоров / для различных алгоритмов линейной алгебры. [51] |
Пять изображенных кривых соответствуют перечисленным выше пяти методам. Наилучшим ускорением обладает алгоритм умножения матрицы на вектор, что объясняется тем, что, во-первых, граф данного метода состоит из 10 ( в данном случае) независимых подграфов, во-вторых, этот граф имеет наименьшее число дуг в расчете на одну вершину. Последним свойством обладает и граф скалярного умножения векторов, однако он имеет в десять раз меньше вершин, что приводит к более плохой балансировке загрузки процессоров и, следовательно, к снижению ускорения. Наихудшим ускорением обладает метод решения блочно-треугольной системы линейных уравнений, т.к. граф этого метода имеет наименьшую среднюю степень параллелизма, что опять же приводит к очень плохой балансировке загрузки процессоров. [52]
Операции групп 6 позволяют выполнить сложение или вычитание при активном сигнале переноса П в сочетании с правым арифметическим или левым циклическим сдвигом результата в регистре двойной длины РР и ДР. Эти микрооперации обеспечивают эффективную реализацию алгоритмов умножения и деления двоичных чисел. [53]
При вычислении предложенных рядов наряду с умножением используется деление чисел высокой точности. К счастью, при помощи алгоритма умножения удается выполнять деление почти так же быстро, как умножение. Для нахождения частного нужно приблизительно угадать число, обратное к делителю, скорректировать его, чтобы обратное стало точным, и затем умножить на делимое. Уточнение обратного осуществляется по методу Ньютона. [54]
Первые результаты в этом направлении, относящиеся к ограниченным классам алгоритмов, оказались отрицательными. Отметим сразу, что такие алгоритмы, как алгоритм умножения двух матриц порядка п, соответствующий определению произведения матриц, алгоритм Гаусса для решения системы п линейных уравнений с п неизвестными и связанный с ним алгоритм вычисления матрицы, обратной к матрице порядка п, имеют сложность порядка п3 арифметических операций. [55]
Чем больше разница размеров и и v, тем более точным будет частное; разницу можно увеличить, умножая и на степень двойки. Отметим, что алгоритм деления будет неоднократно вызывать алгоритм умножения. [56]
Различные характеристики алгоритмов предназначены для сравнения эффективности двух разных алгоритма, решающих одну задачу. Поэтому мы никогда не будем сравнивать между собой алгоритм сортировки и алгоритм умножения матриц, а будем сравнивать друг с другом два разных алгоритма сортировки. [57]