Систолические системы

При разработке систолических архитектур (Systolic Architectures) ставилась задача построения системы, совмещающей достоинства конвейерной и матричной обработок данных [9].

Принцип систолической обработки состоит в том, что после извлечения элемента данных из памяти выполняются все стадии его обработки и только тогда результат этой обработки помещается в память. Его реализация базируется на использовании так называемой систолической матрицы, в которой отдельные процессорные элементы объединены между собой прямыми и регулярными связями, образующими конвейер. Вначале такая архитектура разрабатывалась для узкоспециализированных вычислительных систем. В дальнейшем были найдены алгоритмы, реализующие принципы систолической обработки для достаточно широкого класса задач. К ним относятся задачи числовой обработки, обработки сигналов и символов; умножение и обращение матриц; решение линейных систем; дискретное преобразование Фурье; кодирование и декодирование числовых последовательностей и т.д.

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

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

  • линейная конфигурация, используемая для реализации алгоритмов фильтрации при обработке баз данных;
  • прямоугольная конфигурация, предназначенная для перемножения матриц, нахождения двумерного дискретного преобразования Фурье;
  • гексагональная конфигурация для выполнения операций обращения матриц, решения линейных систем уравнений и т.д.

Создаваемые в процессе обработки потоки данных формируются:

  • • из исходных операндов, которые являются элементами структуры данных, хранящихся в памяти;
  • • из промежуточных результатов, полученных при выполнении элементарных операций в каждом процессорном элементе;
  • • из результатов, полученных элементами всей структуры.

Потоки данных синхронизированы единой для всех процессорных элементов системой тактовых сигналов. Во время тактового интервала все элементы выполняют одну команду или короткую неизменную последовательность команд.

Достоинства систолической архитектуры:

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

Как видно из рис. 20.4, а, б, во время тактового интервала входные данные xin продвигаются вправо, умножаются на локальный вес w и суммируются на выходе уout в порядке следования.

Систолическая система с линейной конфигурацией (а) и алгоритм вычисления свертки функции (б)

Рис. 20.4. Систолическая система с линейной конфигурацией (а) и алгоритм вычисления свертки функции (б)

 
< Пред   СОДЕРЖАНИЕ