85
на одном из них, можно рассматривать как математическую
формулировку мет ода решения зада чи.
В литерат уре широк о представлены не только стандарт-
ные конструкции этих языков, но и некоторые специальные
конструкции, предназначенные для параллельной обработки
(например, существ ую т соответств ующие расширения Фортра-
на, Алгола 60 и Паскаля) [5].
В качестве наилучшег о кандидата, приго дног о для состав-
ления Р-программ (по крайней мере, программ по дчиненных
процессоров), был предло жен язык РL1. Имеются следующие
соображения в польз у РL/1:
Эт от язык мож ет быть реализован (и в основном уже
реализован) на с уществующих ЭВМ. Бо лее тог о, этот язык, воз-
мо жно, станет наиболее широко использу емым язык о м програм-
миров ания. Существу ет много к омпилят оров с этого языка (в
том числе оптимизирующих).
Эт о очень лаконичный язык, особенно когда дело касает-
ся обрабо тки вект оров и ма триц. Например, если А, В и С – это
ма трицы (n x n), то операт ор (А-В+С) означает поэлементное
слож ение м а триц В и С с за писью резул ьтата в А.
Язык РL/1 имеет ряд других полезных свойств, на пример
возможность работы с подчиненными задачами.
То, что зада чи , решаемые последова тельно-параллельно и
имеющие в основном арифметический характер, мо жно запрог-
раммирова ть на РL/1, не вызывает сомнений. Для тог о, чтобы
использов а ть РL/1 и в качестве языка программирования задач
управляющег о процессора, он долж ен дав ать воз мо жность реа-
лизовать сле дующие свойств а Р-задач:
Вся программа разбита на части, о дни из которых выполня-
ются последова тельно, др угие – параллельно. В памяти должна
храниться как инфор мация, о тносящаяся к каждой такой части,
так и своего рода «граф предшествования», описывающий
последова тельность выпо лнения частей, их расположение в па-
мяти и т. п., – эт ой информ ацией польз у ется управ ляющий про-
цессор (УП).
Та об ласть памяти, где записаны эти программы, должна
быть доступна для УП, но недоступна для подчиненных про-
цессоров (ПП).