Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GEK / ответы (3).docx
Скачиваний:
294
Добавлен:
18.05.2015
Размер:
2.35 Mб
Скачать
  1. Вычислительные системы с систолической структурой.

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

Если провести параллель в физиологии, то систолы больше всего напоминают систему сосудов и сердце, которое постоянно посылает кровь во все артерии, сосуды и капилляры тела.

Зачем использовать систолические структуры? Систолы отличаются простой и регулярной структурой (по крайней мере описанные в специализированной литературе):

  • Вычисления в систолах "ритмичны", последовательны, и происходят в своеобразной ячеисто-циклической манере;

экономически выгодно построение в небольших партия;

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

модульная структура систол позволяет достаточно просто расширять систолы;

  • вычислительная эффективность систол определяется правильным построением конвейера, чаще всего наиболее эффективны простые структуры;

  • систолы выгодно используют полосу пропускания каналов доступа к памяти, отличаясь предсказуемым обращением к памяти;

Что скрывается под термином "Систолическая архитектура"?

  • Общая методология проекции вычислительных алгоритмом на аппаратные архитектуры;

  • Увеличение быстродействия обработки сигналов и машинной графики: матричных операций, графовых алгоритмов, обработки информации баз данных.

  • Достаточно дешёвый аппаратный акселератор определённых операций;

Базовые принципы построения систолических архитектур:

    • Систола представляет собой сеть связанных вычислительных ячеек, обычно простых;

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

    • Операции в систоле производятся по типу конвейерной обработки;

    • Вычисления в систоле регулируются с помощью общего тактового сигнала;

    • Результатом правильного построения систолы должна быть простая, регулярная разводка с простой топологией связей;

    • Современные систолические решения основаны на парадигмах ОКМД/МКМД, являются репрограмируемыми и реконфигурируемыми.

Приведём схему типичной систолы:

Рис. 30.2. Систола, дающая на выходе скалярное произведение массивов чисел.

Структура систолы имеет ряд недостатков:  Общая тактовая частота должна быть такой, чтобы за время одного такта успевали полностью отработать все вычислители, на данном рисунке умножитель явно отрабатывает за в несколько раз большее время, чем сумматор. На выходе сумматора изменение суммы из-за очередной поданной пары значений производится через 2 такта. При конвейеризации устройства умножителя, обычно представляя его как сумматоры, длина конвейера удлиняется (до 9-33 тактов), но частота следования тактового сигнала может быть повышена на порядок. Съём результата производится с выходов сумматора, естественно предусматривается сигнал для его обнуления перед загрузкой очередных массивов данных.  Рассмотрим крайне показательный пример систолы: умножение матриц.  Для примера рассмотрим умножение матриц 3 на 3: Рис. 30.4. Умножение матриц 3 на 3.

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

  • Разрабатывается алгоритм;

  • проектируется архитектура - поиск параллелизма (особенно конвейерного в алгоритме);

  • производится проекция алгоритмы на цифровые вычислительные схемы.