Параллельное программирование



              

Нахождение последнего элемента списка - часть 4


Элемент DR4 служит для переадресации при последовательном обращении к данному массиву. В нем хранится адрес aQ+jh для выработки элемента массива при j-м (j = 0,1 , ..., n-1) обращении к массиву. При каждом обращении к массиву по некоторым командам этот адрес увеличивается на шаг h (т.е. выполняется операция j := h+!). Остальные дескрипторы предназначены для организации распределения элементов массива между процессорами. DR5

содержит значение адреса aQ+ih, i = 0,1 , ..., n-1, т.е. каждый процессор Пi формирует и использует свое значение (DR5), располагая адресом регистра, содержащего значение номера i процессора, для начального обращения к "своему" элементу массива. DR6 содержит значение nh, используемое для переадресации к следующему "своему" элементу массива с учетом числа процессоров в ВС. В DR7 содержится значение адреса aQ+ih+jnh=(DR5)+j(DR6), используемое для возможности переадресации при последовательном (j = 0,1,...) обращении к массиву. Если нет необходимости, могут формироваться не все дескрипторные элементы.

Предположим, как и ранее, что в ВС реализована трехадресная система команд вида: ? I1 A1 12 A2 I3 A3, где ? — код операции, I1, I2, I3 — адреса модификаторов, дескрипторных элементов или дескрипторов, A1, A2, A3 — смещения. При выполнении команд формируются исполнительные адреса: A'r =(Ir)+ Ar, r = 1,2,3.

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

Монопрограмма нахождения последнего элемента списка представлена в табл. 1.2.

Таблица 1.2.

№kКОПI1A1I2A2I3A30123456789101112
СИНХ
ЗАГK
ПРАДDR7012
УП
0
K012
ЗАПКDR70003M
УП=0M011
ЗАПКMDR70003
ИЗМАДDR7009
БП003
ЗАГDR7DR5
БП0003
ЗАПDR70003K
В

Команда O (СИНХ) синхронизирует процессоры для одновременного начала выполнения программы (это не влияет на правильность работы ВС, а лишь упрощает контроль выполнения).


Содержание  Назад  Вперед