Введение в архитектуру компьютеров


Предпосылки создания систем параллельного действия - часть 2


Поэтому целесообразно иметь хотя бы два процессора в ЭВМ: один использовать только для обработки данных, а другой – для подготовительных работ. Основная трудность двухпроцессорной организации заключается в сбалансировании ее работы. Аналогичную картину можно проследить с использованием памяти, отдельные участки которой простаивают длительное время из-за отсутствия к ним обращений. При анализе динамики обращений к памяти при решении некоторых классов вычислительных задач было установлено, что ОЗУ активно используется лишь на 10–15 %.

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

Можно показать, что существует возможность построить такой компьютер (гипотетический, разумеется), что любой заданный алгоритм можно будет обрабатывать параллельно. Идею доказательства такой возможности продемонстрируем на конкретном примере.

Пусть надо вычислить значение r по формуле

r = x + y • z.

(*)

Формулу (*) можно рассматривать как некоторый преобразователь чисел x, y, z в некоторое другое число r = x + y • z. Пусть все числа заданы в двоичной форме (на общность рассуждений это не влияет). Таким образом, речь идет о преобразовании некоторого набора нулей и единиц, представляющих собой последовательность чисел x, y, z в некоторый другой набор нулей и единиц для r. Из алгебры логики известно, что для любой функции можно построить дизъюнктивную нормальную форму (ДНФ). В свою очередь, i-й двоичный разряд результата r можно рассматривать как логическую функцию

ri = r (x1, x2, ..., xn, y1, y2, ..., yn, z1, z2, ..., zn),

где xi, yi, zi, – двоичные разряды, представляющие возможные значения x, y, z.

Так как любая функция (вычисление любого разряда ri) i = 

 может быть представлена ДНФ (через И, ИЛИ, НЕ), то можно построить n схем (n процессоров), которые, работая одновременно, выдают все n разрядов результата r.


- Начало -  - Назад -  - Вперед -