Схема с распределенной памятью

Материал из WEGA
Перейти к навигации Перейти к поиску

Схема с распределенной памятью (Scheme with distributed memory) - Имеется два основных способа идентификации взаимовлияний операторов и переменных в схеме программ - так называемая общая и распределенная память. В схемах над общей памятью, называемых также О-схемами (такой способ описан в определении крупноблочной схемы), переменные однозначно сопоставляются раскраской с операндами операторов и оператор, засылая значение в переменную, не "интересуется", где это значение будет использовано, а используя значение, не "интересуется", какой из операторов это значение выработал. В отличие от общей памяти, где элементы памяти равнодоступны как входам, так и выходам операторов, при распределенной памяти переменные сопоставляются с входами операторов взаимно однозначно, а значение, выработанное на выходе оператора, засылается уже не в одну переменную, а копируется и рассылается в несколько переменных. В схемах над распределенной памятью, называемых также Р-схемами, вместо раскраски используется информационный граф, вершинами которого являются операнды операторов, а дуги отражают пересылку значений от выходов к входам. Таким образом, при распределенной памяти оператор, вырабатывая результат, знает, для каких операторов он предназначен, а воспринимая результат, знает, какой оператор его подготовил. Оба способа присутствуют в современных языках программирования и используются в промежуточных представлениях программ. Наиболее известным промежуточным представлением программ с распределенной памятью является [math]\displaystyle{ SSA }[/math]-форма.

Scheme with distributed memory.gif


Любая О-схема может быть реализована Р-схемой, но обратное неверно. Однако за счет добавления в схему операторов, пересылающих значения с входа на выход, любую Р-схему можно преобразовать в эквивалентную, реализуемую О-схемой.

См. также

Крупноблочная схема программ, Неинтерпретированные схемы, Стандартные схемы, Схема программ, Схема с косвенной адресацией, Схемы Мартынюка.

Литература

[Ершов/77],

[Касьянов/88]