- •155.Интерливинг (режим расслоения)
- •160.Способы организации оперативной памяти. Адресная, ассоциативная, стековая память.
- •157. Единство пространства памяти компьютера.
- •156.Иерархичность структуры памяти компьютера.
- •164.Параллелизм независимых ветвей.
- •159.Логическое распределение пространства памяти компьютера.
- •161.Принцип работы стековой памяти.
- •162. Обработка прерываний.
- •163.Формы параллелизма. Векторный параллелизм.
163.Формы параллелизма. Векторный параллелизм.
Форма параллелизма обычно достаточно просто характеризует некоторый класс прикладных задач и предъявляет определенные требования к структуре параллельной ЭВМ, необходимой для решения этого класса задач.
Изучение ряда алгоритмов и программ показало, что можно выделить следующие основные формы параллелизма:
естественный или векторный параллелизм;
параллелизм независимых ветвей;
параллелизм смежных операций или скалярный параллелизм.
Векторный параллелизм
Наиболее распространенной в обработке структур данных является векторная операция (естественный параллелизм). Вектор - одномерный массив, который образуется из многомерного массива, если один из индексов не фиксирован и пробегает все значения в диапазоне его изменения. В параллельных языках этот индекс обычно обозначается знаком *.
Пусть, например, A, B, C - двумерные массивы. Тогда можно записать такую векторную операцию:
C (*, j) = A (*, j) + B (*, j).
На последовательных языках эта операция выражается с помощью цикла DO: DO 1 I = 1,N 1 C(I,J) = A(I,J) + B(I,J).
Возможны операции и большей размерности, чем векторные: над матрицами и многомерными массивами.
Однако в параллельные ЯВУ включаются только векторные операции (сложение, умножение, сравнение и т. д.), потому что они носят универсальный характер, тогда как операции более высокого уровня специфичны и возможное их число слишком велико для включения в любой язык.
Операции высоких порядков выражаются в виде некоторой процедуры вычислений через векторные операции.
