Вычислительные системы с систолической структурой
В фон-неймановских машинах данные, считанные из памяти, однократно обрабатываются в процессорном элементе, после чего снова возвращаются в память (рис.29.11 а). Авторы идеи систолической матрицы Кунг и Лейзерсон предложили организовать вычисления так, чтобы данные на своем пути от считывания из памяти до возвращения обратно пропускались через как можно большее число ПЭ (рис.29.11,6).
Рис.29.11. Обработка данных в ВС: а – фон-неймановского типа; б –систолической структуры
Если сравнить положение памяти в ВС со структурой живого организма, то по аналогии ей можно отвести роль сердца, множеству ПЭ — роль тканей, а поток данных рассматривать как циркулирующую кровь. Отсюда и происходит название систолическая матрица (систола — сокращение предсердий и желудочков сердца, при котором кровь нагнетается в артерии). Систолические структуры эффективны при выполнении матричных вычислений, обработке сигналов, сортировке данных и т. д. В качестве примера авторами идеи был предложен линейный массив для алгоритма матричного умножения, показанный на рис. 29.12.
В основе схемы лежит ритмическое прохождение двух потоков данных –хi и уi навстречу друг другу. Последовательные элементы каждого потока разделены одним тактовым периодом, чтобы любой из них мог встретиться с любым элементом встречного потока. Если бы они следовали в каждом периоде, то элемент хi , никогда бы не встретился с элементами yi+l, yi+3,...
Рис.29.12. Процесс векторного умножения матриц (n=4)
Вычисления выполняются параллельно в процессорных элементах, каждый из которых реализует один шаг в операции вычисления скалярного произведения (IPS, Inner Product Step) и носит название IPS-элемента (рис. 29.13).
Рис.29.13. Функциональная схема IPS-элемента
Значение уbx, поступающее на вход ПЭ, суммируется с произведением входных значений хвх и авх. Результат выходит из ПЭ как увых. Значение хвх, кроме того, для возможного последующего использования остальной частью массива транслируется через ПЭ без изменений и покидает его в виде хвык.
Таким образом, систолическая структура — это однородная вычислительная среда из процессорных элементов, совмещающая в себе свойства конвейерной и матричной обработки и обладающая следующими особенностями:
вычислительный процесс в систолических структурах представляет собой непрерывную и регулярную передачу данных от одного ПЭ к другому без запоминания промежуточных результатов вычисления;
каждый элемент входных данных выбирается из памяти однократно и используется столько раз, сколько необходимо по алгоритму, ввод данных осуществляется в крайние ПЭ матрицы;
образующие систолическую структуру ПЭ однотипны и каждый из них может быть менее универсальным, чем процессоры обычных многопроцессорных систем;
потоки данных и управляющих сигналов обладают регулярностью, что позволяет объединять ПЭ локальными связями минимальной длины;
алгоритмы функционирования позволяют совместить параллелизм с конвейерной обработкой данных;
производительность матрицы можно улучшить за счет добавления в нее определенного числа ПЭ, причем коэффициент повышения производительности при этом линеен.
В настоящее время достигнута производительность систолических процессоров порядка 1000 млрд операций/с.
- 29. Вычислительные системы класса simd
- Векторные и векторно-конвейерные вычислительные системы
- Понятие вектора и размещение данных в памяти
- Понятие векторного процессора
- Структура векторного процессора
- Ускорение вычислений
- Матричные вычислительные системы
- Массив процессоров
- Структура процессорного элемента
- Подключение и отключение процессорных элементов
- Сети взаимосвязей процессорных элементов
- Ассоциативные вычислительные системы
- Вычислительные системы с систолической структурой
- Классификация систолических структур
- Топология систолических структур
- Пример вычислений с помощью систолического процессора
- Вычислительные системы с командными словами сверхбольшой длины (vliw)