Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 521

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 515 516 517 518 519 520 < 521 > 522 523 524 525 526 527 .. 528 >> Следующая

multiple-data) подход, в котором все процессоры выполняют копии одних и
тех же программ и имеют, таким образом, в большей мере схожесть с более
структурированными формами разделяемой памяти и МР-программирования.
В середине 1980-х возрождение SIMD data parallel machine привело к
появлению других архитектурных направлений, которые были исследованы в
академических институтах и промышленности, но имели меньший коммерческий
успех и поэтому не получили широкого распространения по сравнению с
рассмотренными выше. Два подхода, которые развились до законченных
программных систем, - dataflow architectures и systolic architectures.
9.4. МАШИНЫ, УПРАВЛЯЕМЫЕ ПОТОКОМ ДАННЫХ
Машины, управляемые потоком данных относятся к классу datafllow
architecture. Реализация dataflow-модели вычислений может привести к
наивысшей степени параллелизма, так как в ней используется альтернативный
принцип управления - управление потоком данных, который не накладывает
дополнительных ограничений, присущих рассмотренному выше командному
принципу управления.
В вычислительных системах, управляемых потоками данных, машинах потоков
данных отсутствует понятие программы как последовательности команд, а
следовательно, отсутствует понятие состояния процесса. Каждая инструкция
передается на исполнение, как только создаются условия для ее реализации.
При наличии достаточных аппаратных средств одновременно может
обрабатываться произвольное число готовых к исполнению инструкций. В
dataflow-модели параллелизм не задается явно, и аппаратные сред-
924
МАШИНЫ. УПРАВЛЯЕМЫЕ ПОТОКОМ ДАННЫХ
ства обработки должны его выделять на этапе исполнения. Однако следует
отметить, что реализация принципа управления потоком данных вызывает ряд
трудностей, часть из которых носит принципиальный характер. К их числу
необходимо отнести громоздкость программы, трудность обработки
итерационных циклов, трудность работы сос структурами данных.
Суть идеи datafllow-модели в том, что программа представляется графом
потока данных, пример которого показан на рис. 9.13.
Инструкциям на графе соответствуют вершины, а дуги, обозначенные
стрелками, указывают на отношения предшествования. Точка вершины, в
которую входит дуга, называется входным портом (или входом), а точка, из
которой она выходит, выходным. По дугам передаются метки, называемые
токенами данных (token). Срабатывание вершины означает выполнение
инструкции. При этом срабатывание происходит в произвольный момент
времени при выполнении условий, соответствующих правилу запуска. Обычно
используется строгое правило запуска, согласно которому срабатывание
вершины происходит при наличии хотя бы по одному токену во всех ее
входных портах. Срабатывание вершины сопровождается удалением одного
токена из каждого входного порта и размещением не более одного токена
результата операции в выходные порты. В зависимости от конкретной
архитектуры системы порты могут хранить один или несколько токенов,
причем они могут использоваться по правилу FIFO или в произвольном
порядке.
1 Ь С в
АРХИТЕКТУРЫ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Граф может быть распространен на произвольную совокупность процессоров. В
предельном случае процессор в машине, управляемой потоком данных, может
выполнять операции как отдельный круговой поплайн, как показано на рис.
9.13.
Токен или сообщение из сети содержит данные и адрес или тэг (tag) его
места назначения (вершины графа). Тэг сравнивается с хранимыми тэгами на
совпадение. Если совпадение не произошло, то токен помещается в память
для ожидания партнера. Если партнер найден, то токен с совпавшим тэгом
удаляется из памяти и данные поступают на выполнение соответствующей
инструкции. Когда результат вычислен, новое сообщение или токен,
содержащий данные результата, посылаются каждому по назначению,
специфицированному в инструкции. Тот же самый механизм может быть
использован и для удаленного процессора.
Все архитектуры машин, управляемых потоком данных, с точки зрения
механизмов организации повторной входимости, принято делить на
статические и динамические. Другими словами, в них используется либо
статический граф потока данных, где каждая вершина представлена
примитивной операцией, либо динамический граф, в котором вершина может
быть представлена вызовом произвольной функции, которая сама может быть
представлена графом. В динамических (tagged-token) архитектурах эффект
динамически развивающегося графа на вызываемую функцию обычно достигается
появлением дополнительного информационного контекста в тэге.
Было создано несколько машин, управляемых потоком данных, как со
статической, так и с динамической архитектурами. Наиболее известными
являются мультипроцессор Дениса (Массачусетский технологический
институт), система DDP (фирма "Texas Instruments") и LAU
(исследовательский центр CERT), достаточно подробно описанные в
литературе.
9.5. СИСТОЛИЧЕСКИЕ СИСТЕМЫ
Разработчики систолических архитектур ставили перед собой задачу получить
Предыдущая << 1 .. 515 516 517 518 519 520 < 521 > 522 523 524 525 526 527 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed