Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (1186251), страница 50
Текст из файла (страница 50)
Так, если производитель ность одного ПЭ составляет Рпэ, то максимальная производитель ность всей ВС Рве из п элементов будет в л раз выше: Рвс= лРпэ. Матричные системы предназначены для обработки векторов и матриц, когда однотипной обработке подвергается большое чис ло элементов данных. Однако одновременный доступ в память для получения данных и сохранения результатов, а также необходи мость выполнения операторов условной обработки приводит к ряду проблем и снижает производительность.
Управляющий процессор (УП) матричной ВС служит для передачи команд матричной обработки на обрабатывающие ПЭ, организует работу системы ввода-вывода данных и управляет КС, Каждый ПЭ обладает собственной локальной памятью (ЛП), в которой хранятся соответствующие элементы векторов или матриц (рис. 9.7, б). Обрабатывающие ПЭ предназначены только для выполнения арифметических и логических команд, но не команд условных переходов, которые реализуются в УП. Процессорные элементы могут быть предназначены для обработки слов или отдельных разрядов; в первом случае матричные системы обычно служат для научно-технических расчетов и управления сложными процессами, а во втором — для обработки изображений.
Коммуникационные сети в матричных ВС должны обладать очень высокой пропускной способностью. В каждом ПЭ должен быть организован буфер команд достаточно большой глубины. Если отказаться от размещения операндов в общей памяти, то выборку команд и операндов можно выполнять параллельно. Все это приводит к тому, что эффективная производительность матричной ВС зависит не только от алгоритма, но и от размещения исходных данных. Впервые идея матричной ВС нашла воплощение в проекте системы БОЕОМОХ, но из-за конструктивно-технологических причин его реализация оказалась неэффективной.
Дальнейшее развитие идея матричной обработки получила в системе 1ШАС-1У; был построен только один «квадрант» из 64 ПЭ, но он эксплуатировался для военных целей в США в течение нескольких лет начиная с 1974 г. В дальнейшем были созданы системы МазРаг МР- 1, Соппесйоп МасЫпе, МРР, РАР-610 и ряд других. В них использовалась от !024 до 65 536 одноразрядных и четырехразрялных (МР-1) ПЭ, а коммуникационная сеть строилась по принципу организации решетчатых связей с четырьмя ближайшими соседями, Х-связей (МР-1) или по принципу гиперкуба (СМ). Все эти матричные системы представляют собой архитектуры типа 242 ПЭ ПЭ.
Но в ряде матричных ВС коммуникационная сеть наход „тся между ПЭ и модулями памяти; это системы типа ПЭ-паять, К ним можно отнести ВБР фирмы Випоц8)тз и ТЙАС фирмы ч'ехаз 1пзггшлепбь Систолические системы. Проблема повышения производительности ВС связана с большими затратами времени при обращении в память. Для их снижения в современных ВС память организуют в виде нескольких уровней.
Однако возможен и иной подход, совмещающий преимущества матричной и конвейерной обработки: все стадии обработки каждого элемента данных должны быть выполнены, прежде чем результат будет отправлен в память. Этот принцип реализуется систолической матрицей (рис. 9.8), в которой все ПЭ объединены прямыми и регулярными связями, образующими конвейеры. По этим конвейерам «прокачиваются» операнды, т.е. каждый элемент данных извлекается из памяти, ритмически продвигается по матрице ПЭ, и результат заносится опять в память.
При систолическои обработке. минимизируется число обращений в память, при обработке каждый элемент данных выбирается и заносится в память однократно крайними ПЭ; облегчается решение проблем ввода-вывода вследствие уменьшения конфликтов при обращениях в память; эффективно используются возможности СБИС за счет регулярности структуры систолической матрицы; минимизируются длины связей между ПЭ за счет регулярности потоков данных и управляющих сигналов; производительность систолической матрицы можно увеличить, добавляя в нее ПЭ. Однако для реализации этих преимуществ необходимо найти соответствующие систолические алгоритмы, которые бьии созданы для широкого спектра задач.
Большинство из них сводится к рекуррентным соотношениям того или иного вида. Систолические матрицы могут обладать линейной, прямоугольной, гексагональной и трехмерной конфигурациями. Каждая конфигурация приспособлена ОП для определенных функций: линейная — для реализации алгоРитмов фильтрации при обработке сигналов и сравнения цепочек литер при обработке баз данных, прямоугольная — для перемножения матриц и нахождения двухмерного преобразова- Рис.
9.8. Схема, характеризующая ния Фурье и т.д. принцип систолической обработки 243 о о о ь, О О О О о о о ь, о О а1 О О О о ь, 0 ь, аа Ьт а~ О О ь, аа Ь2 ат ьз а~ О Ьт О Ьт О О а1 О ат О ьг а1 о ь, о ь, О аа О аа Рис. 9.9. Процесс сравнения цепочек литер: а — линейная структура ПЭ; Ь вЂ” временная диаграмма 244 Для пояснения принципов действия систолнческой структур, рассмотрим реализацию операции поиска вхождений. Поиск вход дений — это поиск некоторой эталонной последовательности В = (Ьм Ьн ..., Ь ), где Ь,= О, 1 или (*) в исходной последователь ности А = (ап а„..., а„), где а; = О или 1. Здесь символом (*) обозначено безразличное состояние соответствующего разряда, Воспользуемся ПЭ, способными выполнять поразрядное срав пение и сохранять его результаты; обьединим эти ПЭ в линей н)чо структуру.
На входы каждого ПЭ поступают значения а;и Ь,; каж дый ПЭ производит сравнение и запоминает частичный результат г Кроме того, он передает а,и Ь, на входы следующих ПЭ (рис. 9 9, а) Пусть производится поиск вхождений трехразрядного образца В = (Ь„Ьн Ьз) в последовательности А = (ап ат, ..., ат). На рис 9.9, б показана временная диаграмма выполнения операции сравнения цепочек литер. Вначале значения аги Ь, загружаются в крайние ПЭ, откуда они начинают последовательно продвигаться по цепочке ПЭ. Элементы каждого потока, т.е. а; и анп разделены периодом в один такт. На третьем такте в третий ПЭ попадут а, и Ьь где и произойдет их сравнение и будет выработан и сохранен „астичный результат сравнения гп. Первый окончательный резульат сравнения г, будет получен на седьмом такте в третьем ПЭ, второй результат сравнения — на восьмом такте во втором ПЭ и т.д.
Помимо ПЭ с «жесткими» связями существуют программируемые ПЭ. Однако увеличение набора операций ПЭ приводит к снижению производительности, усложнению соединений и значительным затратам времени на настройку. Кроме того, соединения в систолических матрицах имеют статический характер. Но указанные недостатки практически не проявляются в специализированных ВС. Машины, управляемые потоком данных. В основе повышения производительности всех ВС лежит принцип совмещения операций и организации параллельной обработки.
При этом в традиционных машинах команды выполняются в порядке их расположения в памяти, т.е. в ВС сохраняется последовательный характер командного управления, для чего используют счетчик (или в мультипроцессорных ВС несколько счетчиков) команд. Но наивысшей степени параллелизма можно достичь, если отказаться от дополнительных ограничений, присущих принципу командного управления. Альтернативными принципами является управление потоком данных и запросов.
При управлении потоком данных команда (инструкция) выполняется тогда, когда становятся доступными ее операнды, а при управлении потоком запросов — когда ее результат требуется другим командам. В машинах, управляемых потоком данных (МПД), отсутствует понятие программы как последовательности команд, т.е. в ней нет счетчика команд. Команда передается на исполнение при создании условий для ее реализации.
Одновременно при наличии достаточных аппаратных средств может выполняться произвольное число готовых к исполнению команд. Однако реализация принципа управления потоком данных вызывает ряд трудностей, к числу которых нужно отнести громоздкость программы, обработку итерационных циклов и работу со структурами данных. Для описания обработки наиболее распространенной формой программы служит граф потока данных (ГПД). Он состоит из вершин (узлов) для обозначения необходимых операций и дуг (ребер), по которым передаются метки, или токены, данных. Точка вершины, в которую входит дуга, называется входным нортом, или входом, а точка, из которой она выходит, — выходом. Срабатывание вершины означает выполнение инструкции; обычно оно происходит при наличии хотя бы одного токена на каждом из ее входов.