Системы типа много потоков команд, много потоков данных (МКМД, Multiple Instruction stream Multiple Data stream, MIMD) имеют несколько процессоров, работающих как часть большой системы.
Эти системы распадаются на два вида: массивно-параллельные процессоры и векторные процессоры.
Идея ЭВМ такого типа была впервые высказана в 1958 г. С тех пор было создано несколько коммерческих массивно-параллельных процессоров. Популярностью на рынке они не пользовались.
Рис. 11.1. Массивно-параллельный процессор ILLIAC IV
В массивно-параллельной системе содержится один БУ и несколько обрабатывающих элементов. Каждый обрабатывающий элемент, как правило, содержит АЛУ и локальную память. БУ рассылает команды, которые выполняются всеми обрабатывающими элементами одновременно, но каждый из них использует свои данные. В первой ЭВМ данного типа — ILLIAC IV — структурная схема процессора которой приведена на рисунке 11.1, каждый обрабатывающий элемент использовал данные из своей собственной памяти, а загрузка данных происходила во время инициализации.
Хотя все массивно-параллельные системы соответствуют этой модели, они могут отличаться друг от друга множеством особенностей.
Первый вопрос — это структура обрабатывающего элемента. Она может быть от однобитного АЛУ до устройства, выполняющего операции с плавающей точкой. Тип обрабатывающего элемента зависит от назначения ЭВМ: операции с плавающей точкой нужны для инженерных расчётов, но бесполезны при поиске данных.
Второй вопрос — локальная автономия обрабатывающего элемента. БУ выдаёт команду, но во многих массивно-параллельных системах на основе локальных данных решает, выполнять ему эту команду, или нет. Эта особенность придаёт процессору значительную гибкость.
Третий вопрос — связь элементов друг с другом. Этот вопрос приобретает принципиальную сложность в системах типа МКМД, поэтому подробно он разбирается именно там. Здесь чаще всего применяются прямоугольные решётки, которые просты в конструировании, изготовлении, легко программируются при решении задач с матрицами и обеспечивают масштабируемость системы.
Системы этого типа весьма популярны на рынке, а ЭВМ Сеймура Крея доминировали в научной сфере десятилетиями.
Теоретически, тракт данных векторного процессора выглядит так же, как и тракт скалярного процессора, только регистры и АЛУ в нём векторные.
На практике векторные ЭВМ редко строятся по такой схеме по экономическим причинам: векторное АЛУ, которое, по сути, является комплектом из 64 скалярных АЛУ, слишком дорого стоит. Поэтому векторные процессоры обычно сочетают векторные регистры с конвейеризованными АЛУ.
Такие системы распадаются на два класса:
— системы с общей памятью,
— системы с раздельной памятью.
В принципе, эта же классификация приложима и к любым другим системам. Но в системах с одним потоком команд обычно не возникают те проблемы, о которых пойдёт речь далее, поэтому такая классификация там не проводилась.
В такой системе все процессоры имеют общую физическую память.
Организация взаимодействия между процессорами и между процессами в такой системе тривиальна. Благодаря этому системы такого типа понятны программистам и применимы к широкому кругу задач.
Одна из задач, где применение такой системы естественно — вычисление значений локально-конъюнктивных предикатов.
Системы с общей памятью подразделяют на три вида, отличающиеся друг от друга способом реализации общей памяти:
— с однородным доступом к памяти (Uniform Memory Access, UMA),
— с неоднородным доступом к памяти (NonUniform Memory Access, NUMA),
— с доступом только к кэш-памяти (Cache Only Memory Access, COMA).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.