Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект 17 страниц.doc
Скачиваний:
14
Добавлен:
15.06.2014
Размер:
826.37 Кб
Скачать

Лекция-21

Особенности организации процессоров по принципу ОКМД (одиночный поток команд – множественный поток данных)

  1. Одновременное управление множеством процессорных элементов с помощью одного управляющего устройства позволяет устранить устройство последовательного управления в каждом последовательном элементе, и тем самым упростить его структуру. А в случае выполнения элементов в виде СБИС уменьшить площадь кристалла. Однако центральное устройство управления должно полностью контролировать состояние всех устройств, а это требует оптимизации всех управляющих последовательностей и усложняет управляющее устройство.

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

  3. Эффективность параллельной обработки в значительной мере зависит от рационального использования ресурсов, в частности, от способа запоминания данных в памяти, что накладывает на программирование требование учета особенностей аппаратных средств.

  4. Утверждается, что применение принципа ОКМД для высокоскоростной обработки целесообразно в тех случаях, когда алгоритм обработки четко определен, а связи между процессорными элементами имеют сравнительно простой характер.

Для примера рассмотрим организацию взаимодействия процессорных элементов и памяти в процессоре BSP (Burroughs Scientific Processor). Содержит 16 процессорных элементов, выполняющих арифметические операции, которые через сеть координатной коммутации соединены с памятью, состоящей из 17 банков. Устройство управления, декодируя машинные команды, преобразует их в микрокоманды длиной 128байт. Микрокоманды поступают на процессорные элементы, в каждом из которых находятся одни и те же операции. Чтобы все процессорные элементы работали без простоев, необходимо непрерывно подавать на них данные из памяти и предотвращать возникновение конфликтов при обращении к памяти. Число банков больше, чем число процессорных элементов, обеспечивает возможность одновременного считывания элементов строк, столбцов и диагоналей матричных данных. Рассмотрим для примера распределение по матрице 6 процессорных элементов из 7 банков памяти.

a11 a12 a13 a14 a15

a21 a22 a23 a24 a25

a31 a32 a33 a34 a35

a41 a42 a43 a44 a45

Банк памяти: (Процессорные элементы)

Системы с операционным конвейером

Пример такой структуры рассмотрим на принципе машины изображений, которая имеет следующую структуру:

Один из способов обработки изображений – фильтрация. Элементы изображения F, начиная с левого верхнего угла, последовательно через одну микросекунду подаются в строчный буфер. Когда в строчный буфер поступает 7 строк по 512 элементов +1, с его выхода выделяется вектор F1. затем через такт в 1 микросекунду будет выдаваться вектор F1, F2 и т.д. В ходе выполнения пространственной фильтрации над векторами F необходимо вычислять такое выражение: Fiw1 + Fi+1w2 + Fi+2w3 +…+ Fi+8w8. когда в текущий момент на выходе строчного буфера находится Fi, через каждые 125 наносекунд с выхода буфера весовых коэффициентов на элементы умножения выдаются вектора w1, w2, …, w8, и получаются значения частичных произведений:

Fiw1 Fiw2 … Fiw7 Fiw8

Fi+1w1 Fi+!w2 … Fi+1w7 Fi+!w8

Эти значения записываются в на накапливающий регистр, здесь эти данные сдвигаются по циклу и выбираются таким образом, чтобы на сумматор поступали результаты произведений на данном такте. В результате, когда конвейер полностью запущен, на выходе накапливающего регистра с темпом в 1 микросекунду будут выдаваться точки изображения, подвергнутые фильтрации. То есть, результаты на выходе будем получать с темпом поступления входных данных. В этом состоит сущность конвейерных вычислений.

Мультипроцессорные системы

Представляют собой один из вариантов организации архитектуры МКМД (MSMD). Они предназначены для распараллеливания обработки, за счет взаимодействия множества процессов. Мультипроцессорные системы по структуре шинных связей между процессорами можно разделить на системы соединения одной шиной, системы с кольцевой шиной, системы с матричной коммутацией, системы с многоуровневой коммутацией (древовидные), системы с многоступенчатой коммутацией.

К мультипроцессорным системам относятся систолические матрицы или систолические процессоры. Систолические матрицы являются одной из структур специализированных операционных устройств, предназначенных для скоростной обработки больших объемов данных. Систолические матрицы обладают следующими особенностями:

  1. Удобна для выполнения в виде СБИС ‑ в ней одинаковые операционные элементы размещаются строго регулярно в виде одно- и двумерных массивов. Каждый процессорный элемент обменивается данными с соседними элементами.

  2. На основные процессорные элементы, расположенные на периферии матрицы, регулярно подается поток данных, а управление всей систолической матрицей производится по конвейерному принципу. Входной поток данных, проходя все ступени конвейера, обрабатывается каждым операционным устройством и после обработки выводится.

Структура связей в матрице определяется конкретным применением. Рассмотрим работу матрицы на основе перемножения линейчатой матрицы и вектора.

: