Проблема, решаемая в систолических и волновых системах – это проблема доступа к ОП. Это решается следующим образом: мы извлекаем операнд и не возвращаем его в ОП пока мы его до конца не обработали. Мы извлекаем сразу массив данных и пропускаем его через совокупность устройств обработки не возвращая в ОП.
Принцип систолической обработки: выполнение всех стадий обработки элементов данных, извлеченных из памяти до того как результат этой обработки помещается обратно в память.
Имеется ОП и несколько последовательных устройств. Данные извлекаются из ОП и прокачиваются через эти последовательные устройства. После окончания этой обработки данные возвращаются в ОП.
a) В систолической структуре соседние ПЭ объединены прямыми и регулярными связями, образующими конвейеры, то есть систолическая обработка – это пространственный или же плоский конвейер с несколькими измерениями.
b) Каждый элемент данных извлекается из ОП и ритмически продвигается по систолической структуре в результате чего ПЭ формируют результат.
Систолическая структура, как правило, представляет собой двумерный или трехмерный конвейер с различными пространственными направлениями поступления данных.
c) Разнонаправленные потоки данных синхронизированы единой для всех ПЭ системой тактовых сигналов.
Преимущества систолической обработки:
? Минимизация обращения к ОП.
? Облегчается проблема ввода-вывода.
? Легко реализуется в рамках технологии СБИС. Потому что там прямые регулярные связи.
? Минимизация потоков данных в системе.
Есть проблема: для каждой обработки данных требуется своя систолической структуры, то есть здесь нет универсальных систолических структур. То есть конкретная задача отражается в структуру аппаратных средств.
Чтобы реализовать преимущества систолической обработки необходимо для каждой задачи найти систолический алгоритм и отобразить его в систолическую структуру.
Давайте рассмотрим систолические алгоритмы. По сути своей, систолический алгоритм – это некое рекуррентное соотношение. Где имеется выражение, вычисляя это выражение получаем данные для следующего вычисления выражения.
Представим, что ПЭ выполняет свои действия не за один и тот же интервал: один быстрее, другой медленнее. Появились одноименные данные, например *. Эта * когда ПЭ освободился становится как бы здесь. В следующий момент, когда этот ПЭ сообщил, что требуются исходные данные и этот ПЭ сообщил, что требуются соответствующие исходные данные, то эти одновременно введенные данные стали вот здесь.
Преимущества волновых систем:
1. только здесь можно использовать сложные ПЭ, которые требуют различного времени выполнения для различных команд.
2. Высокая отказоустойчивость и достоверность. А потому что, если хотя бы один элемент не работает, то результат невозможно получить.
3. Более низкое быстродействие, потому что механизм квитирования занимает определенное время.
