Автор: Пользователь скрыл имя, 13 Ноября 2011 в 18:59, курсовая работа
Идея параллельной обработки данных не нова. Можно считать, что она возникла еще на заре человеческой цивилизации, когда оказалось, что племя может успешно бороться за выживание, если каждый его член выполняет свою часть общей работы.
В ближайшее время под эффективным использованием аппаратных средств компьютера будут пониматься применение параллельных алгоритмов. Это связано с замедлением темпов роста тактовой частоты микропроцессоров и быстрым распространением многоядерных микропроцессоров.
В
настоящее время вычислительные
системы с RISC-архитектурой занимают
лидирующие позиции на мировом компьютерном
рынке рабочих станций и
2.7 Процессоры со сверхдлинным командным словом
В суперскалярных процессорах вопрос о параллелизме команд решается аппаратно, аппаратно реализованы и методы снижения потерь быстродействия от разного рода зависимостей. Между суперскалярными процессорами имеется совместимость программ на уровне исполняемых (бинарных) файлов, добавление новых параллельных функциональных узлов может повлиять на выполнение программы только в сторону увеличения скорости ее выполнения. Но у них есть и свои недостатки. Это, прежде всего, сложность аппаратной части, а также ограниченный размер окна выполнения, что уменьшает возможности определения потенциально параллельных команд.
Альтернативой суперскалярным процессорам являются процессоры со сверхдлинным командным словом (VLIW - Very Large Instruction Word). Работа VLIW-процессора основана на выявлении параллелизма команд во время трансляции. Транслятор анализирует программу, определяя, какие операции могут выполняться параллельно. Такие операции "упаковываются" в одну большую команду (рис. 17). После того, как "большая" команда выбрана из памяти, составляющие ее обычные команды выполняются параллельно. В этом случае решается проблема окна выполнения, поскольку транслятор анализирует всю программу в целом в поисках параллельных операций.
Рисунок 17
Схема VLIW-процессора приведена на рис. 18.
В VLIW-процессорах количество функциональных узлов можно увеличивать, не усложняя остальную аппаратную часть, что приходится делать в RISC-процессорах.
Вместе с тем, есть и свои проблемы. Для хранения данных и обслуживания многочисленных функциональных узлов требуется большое количество регистров. Между функциональными устройствами и регистрами, между регистрами и оперативной памятью возникает интенсивный обмен данными. Кэш-память команд и устройство выборки должен связывать канал с большой разрядностью — если размер обычной команды 24 бита, а одно сверхбольшое слово содержит 7 простых команд, в результате получим 168 битов на одну команду. Увеличивается размер исполняемого кода, теряется совместимость на уровне бинарных файлов.
Рисунок 18
Эффективность использования данной архитектуры зависит от качества трансляторов.
В
трансляторах для VLIW-процессоров применяются
такие специальные приемы, как
развертка циклов, предсказание ветвлений
и планирование выдачи команд. Метод
трассировочного планирования заключается
в том, что из последовательности
обычных команд исходной программы
длинные команды генерируются путем
просмотра (трассировки) линейных (без
ветвлений) участков программы.
2.8 Векторная обработка данных
В
набор команд векторного процессора
входят не только скалярные команды,
но и команды, операндами которых
являются массивы (векторы), поэтому
векторный процессор может
Векторные команды:
Векторный модуль содержит несколько векторных регистров общего назначения, регистр длины вектора (для хранения длины обрабатываемого вектора), регистр маски. Регистр маски содержит последовательность битов — двоичные разряды вектора, которым соответствуют нулевые биты маски, в определенных ситуациях игнорируются при выполнении векторных операций.
Следует
заметить, что именно векторные ЭВМ
были первыми
Векторные компьютеры различаются тем, как операнды передаются командам процессора. Здесь можно выделить следующие основные схемы:
Преимущество первой схемы заключается в том, что она дает возможность работать с векторами произвольной длины, тогда как во втором случае требуется разбиение длинных векторов на части, длина которых соответствует возможностям векторного регистра. С другой стороны, в первом случае имеется определенное время запуска, которое должно пройти между инициализацией команды и появлением в конвейере первого результата. Если конвейер уже загружен, результат на его выходе будет появляться в каждом такте. Примером ЭВМ с такой архитектурой являются компьютеры серии CYBER 200, время запуска у которых составляло до 100 тактов. Это очень большая величина, даже при работе с векторами длиной 100 элементов, вышеупомянутые компьютеры достигали лишь половины от своей максимально возможной производительности.
В векторных компьютерах, работающих по схеме регистр-регистр, длина вектора гораздо меньше. Для компьютеров серии Cray эта длина составляет всего 64 слова, однако, существенно меньшее время запуска позволяет увеличить быстродействие. Правда, если работать с длинными векторами, их приходится разбивать на части меньшей длины, что снижает быстродействие. Векторные компьютеры, работающие по схеме из регистра в регистр, в настоящее время доминируют на рынке векторных компьютеров и наиболее известными представителями этого семейства являются компьютеры фирм Cray, NEC, Fujitsu и Hitachi.
Мультимедийные
приложения обычно работают с большими
массивами данных, состоящими из коротких
(8- или 16-разрядных) значений с фиксированной
точкой. Такие приложения представляют
огромный потенциал векторного (SIMD)
параллелизма, поэтому новые поколения
микропроцессоров общего назначения снабжаются
мультимедийными командами. Мультимедийные
расширения включены в системы команд
процессоров Intel (MMX-расширение системы
команд Pentium и новые SIMD-команды Pentium
III), AMD (3D Now!), Sun (VIS SPARC), Compaq (Alpha MVI), Hewlett Packard
(PA-RISC MAX2), SGI (MDMX), Motorola (PowerPC AltiVec).
2.9 Статические топологии
Соединение с помощью одиночной шины является самым простым и дешевым (рис. 19). Основной его недостаток заключается в том, что в каждый момент времени возможна только одна пересылка данных/команд. Пропускная способность обратно пропорциональна количеству процессоров, подключенных к шине. Такой способ соединения хорош только для систем, содержащих не более 10 процессоров.
Рисунок 19
Стандарт IEEE P896 для высокопроизводительной шины, который получил название Scalable Coherent Interface (SCI — масштабируемый когерентный интерфейс), позволяет отчасти решить проблему сравнительно низкой скорости работы шины, но данное устройство имеет более сложную организацию, чем простая шина. Такая шина применялась в системе HP/Convex SPP-2000.
Более эффективным является другой способ соединения — одномерная решетка. У каждого элемента в этом случае есть две связи с соседями, а граничные элементы имеют по одной связи (рис. 20). Если замкнуть концы одномерной решетки, получим топологию "кольцо".
Рисунок 20
Особый случай представляют граничные элементы, число связей у которых может быть разным. Такой тип коммуникационной сети не подходит для создания многопроцессорных конфигураций с большим числом процессоров, поскольку максимальная задержка передачи сообщений от одного из процессоров к другому пропорциональна корень из и быстро растет с увеличением числа процессоров. Двумерная решетка представлена на рис. 21.
Рисунок 21
В топологии "звезда" есть один центральный узел, с которым соединяются все остальные процессорные элементы. Таким образом, у каждого ПЭ имеется одно соединение, а у центрального ПЭ — N— I соединение (рис. 22).
Рисунок 22
В такой топологии слабым звеном оказывается центральный узел, поэтому она тоже не подходит для больших систем.
В сети с полносвязной топологией (рис. 23) все процессорные элементы связаны друг с другом. Пересылки могут выполняться одновременно между различными парами процессорных элементов. В такой системе легко могут быть реализованы широковещательные и многоадресные пересылки. Как быстродействие, так и стоимость системы высоки, причем стоимость существенно возрастает с увеличением числа процессорных элементов.
Рисунок 23.
Довольно распространенной является хорошо масштабируемая топология "гиперкуб" (рис. 24). В ней процессорных элементов могут быть организованы в -мерный гиперкуб. У каждого ПЭ имеется соединений. Здесь также требуется маршрутизация пакетов с данными, причем максимальное количество промежуточных узлов равно . Оно и определяет максимальную задержку передачи данных.
Рисунок 24
Для
адресации узлов в гиперкубе
каждому узлу присваивается свой
идентификационный номер, при этом
двоичные представления
2.10 Динамические топологии
Основным представителем этого класса является перекрестное соединение (рис. 25).
Оно
обеспечивает полную связность, т. е. каждый
процессор может связаться с
любым другим процессором или
модулем памяти (как на рисунке).
Пропускная способность сети при
этом не уменьшается. Схемы с перекрестными
переключениями могут использоваться
и для организации
Для соединения процессоров с модулями памяти требуется переключателей. Такая зависимость ограничивает масштабируемость системы (обычно не более 256 узлов).
Рисунок
25
2.11 Кластеры рабочих станций
Кластеры
рабочих станций представляют собой
совокупность рабочих станций, соединенных
в локальную сеть, обычно, в масштабе
отдела, факультета или института. Такой
кластер можно считать