Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВС Лекция 9.doc
Скачиваний:
95
Добавлен:
25.03.2015
Размер:
320 Кб
Скачать

4. Структура процессорных элементов

Тип ПЭ выбирается в соответствии с назначением систолической матрицы и структурой пространственных связей. Наиболее распространены процессорные элементы, ориентированные на умножение с накоплением.

На рис. 9.9 показаны ПЭ для двух типов матриц: прямоугольной (рис. 9.9, а) и гексагональной (рис. 9.9, б).

Рис. 9.9. Структура ПЭ: а – для прямоугольной систолической матрицы;

б – для гексагональной систолической матрицы

В обоих случаях на вход ПЭ подаются два операнда Авх, Bвх, а выходят операнды Aвых, Ввых и частичная сумма Cвых. На n-ом шаге работы систолической системы ПЭ выполняет операцию

на основе операндов, полученных на (n 1)-м шаге, при этом операнды на входе и выходе ПЭ одинаковы:

Частичная сумма поступает на вход ПЭ либо с данного процессорного элемента (штриховая линия), либо с соседнего ПЭ матрицы.

5. Вычислительные системы с обработкой по принципу волнового фронта

Интересной разновидностью систолических структур являются матричные процессоры волнового фронта (wavefront array processor), иногда называемые также волновыми или фронтальными.

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

Рис. 9.10. Выполнение матричного умножения на волновой вычислительной системе

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

Концепцию массива процессоров волнового фронта проиллюстрируем на примере матричного умножения (рис. 9.10).

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

Рис. 9.10, а фиксирует ситуацию после первоначального заполнения вход- ных буферов. Здесь ПЭ(1,1) суммирует произведение a× e с содержимым своего аккумулятора и транслирует операнды а и е своим соседям. Таким образом, пер- вый волновой фронт вычислений (рис. 9.10, б) перемещается в направлении от ПЭ(1,1) к ПЭ(1,2) и ПЭ(2,1). Рис. 9.10, в иллюстрирует продолжение распро-странения первого фронта и исход от ПЭ(1,1) второго фронта вычислений.

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