Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учеб пособие по КР, СПО.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.72 Mб
Скачать

Программа коммутации

Nk

A1

A2

A3

1

+

a

b

(1, 1)

2

+

c

d

(2, 1)

3

+

e

f

(3, 1)

4

h

i

(4, 1)

5

m

(1, 2)

6

(1, 1)

(2, 1)

(2, 2)

7

+

(3, 1)

g

(3, 2)

8

(4, 1)

j

(4, 2)

9

i

(1, 2)

(1, 3)

10

(2, 2)

(3, 2)

(2, 3)

11

k

(1, 3)

(3, 3)

12

(2, 3)

(4, 2)

(4, 3)

13

:

(4, 3)

(3, 3)

A

Учтем это, преобразовав выражение с использованием адресов вычислителей, на которых полу­чены результаты счета:

А (1,1) (2,1)  (3,1) g +  (4,1) j  - k l (1,2) -  : : = (4.3)

Это бесскобочная запись выражения (4.1) при условии выполнения множества операций назначенными для этого вычислителями на первом шаге.

Применим на втором шаге для нее тот же прием планирования использования вычислителей, что и на первом шаге. Отразим его, преобразовав запись (4.3):

Эта запись иллюстрирует формирование команд 6 – 9 программы коммутации вычислителей на втором шаге.

С учетом дальнейшего условного выполнения операций вновь сформируем промежуточную бесскобочную запись счета значения исходного выражения, соответствующую выполнению второго яруса (третий ярус вершин) в графе G:

А (2,2) (3,2)  (4,2) – k (1,3)  : : = (4.4)

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

Таким образом, на третьем шаге формируются команды 10 и 11, а запись преобразуется:

А (2,3) (4,2) – (3,3) : : = (4.5)

На основе принятого порядка использования вычислителей на четвертом шаге формируется команда 12, предполагающая выпол­нение операции вычитания на вычислителе (4,3), и на пятом шаге формируется команда 13 получения окончательного резуль­тата А на вычислителе (1,4). На рис. 4.4 показана схема ком­мутации вычислителей для счета значения выражения (4.1).

Таким образом, программа коммутации вычислителей состав­ляется на основе анализа графа G по ярусам. Это способствует более раннему началу работы вычислителей при выполнении ра­бот в порядке предшествования операций.

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

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