ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 2468
Скачиваний: 7
6 0 6 Глава 14. Вычислительные системы класса MIMD
9. Данные перехватываются и передаются в кэш-память процессора Р2.3 и уже
оттуда попадают в процессор Р2.3.
Из описания видно, как данные считываются из удаленной памяти с помощью
аппаратных механизмов, делающих транзакции прозрачными для процессора.
В основе этих механизмов лежит какая-либо форма протокола когерентности кэш-
памяти. Большинство реализаций отличаются именно тем, какой именно прото-
кол когерентности используется.
Вычислительные системы
на базе транспьютеров
Появление транспьютеров связано с идеей создания различных по производитель-
ности ВС (от небольших до мощных массивно-параллельных) посредством пря-
мого соединения однотипных процессорных чипов. Сам термин объединяет два
понятия — «транзистор» и «компьютер».
Транспьютер —
это сверхбольшая интегральная микросхема (СБИС), заклю-
чающая в себе центральный процессор, блок операций с плавающей запятой (за
исключением транспьютеров первого поколения Т212 и Т414), статическое опера-
тивное запоминающее устройство, интерфейс с внешней памятью и несколько ка-
налов связи. Первый транспьютер был разработан в 1986 году фирмой Inmos.
Канал связи состоит из двух последовательных линий для двухстороннего об-
мена. Он позволяет объединить транспьютеры между собой и обеспечить взаим-
ные коммуникации. Данные могут пересылаться поэлементно или как вектор. Одна
из последовательных линий используется для пересылки пакета данных, а вто-
рая — для возврата пакета подтверждения, который формируется как только па-
кет данных достигнет пункта назначения.
На базе транспьютеров легко могут быть построены различные виды ВС. Так,
четыре канала связи обеспечивают построение двухмерного массива, где каждый
транспьютер связан с четырьмя ближайшими соседями. Возможны и другие кон-
фигурации, например объединение транспьютеров в группы с последующим со-
единением групп между собой. Если группа состоит из двух транспьютеров, для
подключения ее к другим группам свободными остаются шесть каналов связи
(рис. 14.16,
а).
Комплекс из трех транспьютеров также оставляет свободными шесть
каналов (рис. 14.16,
6
), а для связи с «квартетом» транспьютеров остаются еще че-
тыре канала связи (рис. 14.16,
в).
Группа из пяти транспьютеров может иметь пол-
ный набор взаимосвязей, но за счет потери возможности подключения к другим
группам.
Особенности транспьютеров потребовали разработки для них специального
языка программирования
Occam.
Название языка связано с именем философа-схо-
ласта четырнадцатого века Оккама — автора концепции «бритвы Оккамак «entia
praeter necessitatem non sunt multiplicanda» — «понятия не должны умножаться
без необходимости». Язык обеспечивает описание простых операций пересылки
данных между двумя точками, а также позволяет явно указать на параллелизм при
выполнении программы несколькими транспьютерами. Основным понятием про-
граммы на языке Occam является
процесс,
состоящий из одного или более опера-
Вычислительные системы на базе транспьютеров 6 0 7
а
6
в
Рис. 14.16. Группы из полностью взаимосвязанных транспьютеров: а — два транспьютера;
б—
три транспьютера; в — четыре транспьютера
торов программы, которые могут быть выполнены последовательно или параллельно.
Процессы могут быть распределены по транспьютерам вычислительной системы,
при этом оборудование транспьютера поддерживает совместное использование
транспьютера одним или несколькими процессами.
Принято говорить о двух поколениях транспьютеров и языка Occam. Первое
поколение отражает требования тех приложений, для которых транспьютеры и раз-
рабатывались: цифровой обработки сигналов и систем реального времени. Для
подобных задач нужны сравнительно небольшие ВС со скоростными каналами
связи (главным образом, между соседними процессорами) и быстрым переключе-
нием контекста. Под
контекстом
понимается содержимое регистров, которое при
переходе к новой задаче в ходе многозадачной обработки может быть изменено
и поэтому должно быть сохранено, а при возврате к старой задаче — восстанов-
лено. Многомашинные ВС, построенные на транспьютерах первого поколения
(Т212, Т414 и Т805), по своей производительности были сравнимы с другими ти-
пами ВС того времени.
С появлением вычислительных систем второго и третьего поколений стало ясно,
что ВС на транспьютерах ранней организации уже стали неконкурентоспособными,
что и побудило к созданию их второго поколения (Т9000). В последних существен-
но повышена производительность и улучшены каналы связи. Главная особенность
транспьютеров второго поколения — развитые коммуникационные возможно-
сти, хотя в вычислительном плане, даже несмотря на наличие в них блоков для
операций с плавающей запятой, они сильно уступают универсальным микропро-
цессорам, таким как PowerPC и Pentium.
Архитектура транспьютера
Обобщенная структура транспьютера, показанная на рис. 14.17, включает в себя:
-
центральный процессор;
-
АЛУ для операций с плавающей запятой;
-
каналы связи;
--
внутреннюю память (ОЗУ);
6 0 8 Глава 14. Вычислительные системы класса MIMD
-
интерфейс для подключения внешней памяти;
- интерфейс событий (систему прерываний);
- логику системного сервиса (систему обслуживания);
- таймеры.
Рис. 14.17. Базовая внутренняя архитектура транспьютера
Первый транспьютер Т212 содержал 16-разрядный арифметический процес-
сор. Последующие транспьютеры были оснащены 32-разрядным целочисленным
процессором (Т414,1985) и процессором с плавающей запятой (Т800, Т9000), да-
ющим существенное повышение скорости вычислений (до 100 MIPS). Версии,
поддерживающие процессор с ПЗ, организованы так, что этот процессор и цело-
численный процессор могут работать одновременно. В дополнение, в Т9000 до-
бавлена внутренняя кэш-память и процессор виртуального канала. Сам по себе
процессор транспьютера построен по архитектуре RISC, имеет микропрограмм-
ное УУ, а команды в нем выполняются за минимальное число циклов процессора.
Простые операции, такие как сложение или вычитание, занимают один цикл, в то
время как более сложные операции требуют нескольких циклов. Команды состоят
Вычислительные системы с обработкой по принципу волнового фронта 6 0 9
из одного или нескольких байтов. Большинство версий транспьютеров имеют по
четыре последовательных какала связи со скоростью передачи по каналу порядка
10 Мбит/с. По мере развития транспьютеров повысилась скорость передачи по
каналам связи. Емкость внутренней памяти (вначале 2 Кбайт) также возросла.
Появилась возможность подключения внешней памяти через интерфейс памяти.
Схема этого интерфейса программируется и способна формировать различные
сигналы для удовлетворения различных требований самых разнообразных мик-
росхем внешней памяти.
Передача информации производится синхронно под воздействием либо обще-
го генератора тактовых импульсов (ГТИ), либо локальных ГТИ с одинаковой час-
тотой следования импульсов. Информация передается в виде пакетов. Каждый раз,
когда пересылается
пакет данных,
приемник отвечает пакетом
подтверждения
(рис. 14.18).
Рис. 14.18. Организация ввода/вывода в транспьютерной системе
Пакет данных состоит из двух битов-единиц, за которыми следуют 8-битовые
данные и ноль (всего 11 бит). Пакет подтверждения — это простая комбинация 10
(всего два бита), она может быть передана, как только пакет данных будет иденти-
фицирован интерфейсом входного канала. Каналы обеспечивают аппаратную под-
держку операторов ввода и вывода языка Occam и функционируют словно каналы
ПДП, то есть пакеты могут пересылаться один за другим как векторы. Для комму-
никаций между процессами внутри транспьютера вместо внешних каналов опера-
торы ввода/вывода используют внутренние каналы транспьютера.
Интерфейс событий дает возможность внешнему устройству привлечь внима-
ние и получить подтверждение. Этот интерфейс функционирует как входной ка-
нал и аналогично программируется.
Вычислительные системы с обработкой
по принципу волнового фронта
Интересной разновидностью систолических структур являются
матричные про-
цессоры волнового фронта
(wavefront array processor), иногда называемые также
волновыми
или
фронтальными.
Как уже отмечалось, в основе построения систолических ВС лежит глобальная
синхронизация массива процессоров, предусматривающая наличие сети распре-
деления синхронизирующих сигналов по всей структуре. Б системах с очень боль-
шим числом ПЭ начинает сказываться запаздывание тактовых сигналов. Послед-
6 1 0 Глава 14. Вычислительные системы класса MIMD
нее обстоятельство особенно ощутимо при исполнении массива на базе СБИС, где
связи между ПЭ очень тонкие физически, вследствие чего обладают повышенной
емкостью. В итоге возникают серьезные проблемы с синхронизацией, для устра-
нения которых предпочтительным представляется использование самосинхрони-
зирующихся схем управления процессорными элементами.
Самосинхронизация
заключается в том, что моменты начала очередной операции каждый ПЭ опреде-
ляет автоматически, по мере готовности соответствующих операндов. В итоге от-
падает необходимость глобальной синхронизации, исчезают непроизводительные
временные издержки и повышается общая производительность всей структуры,
хотя и усложняется аппаратная реализация каждого ПЭ [135,147].
Волновые процессорные массивы сочетают систолическую конвейерную обра-
ботку данных с асинхронным характером потока данных. В качестве механизма
координации межпроцессорного обмена в волновых системах принята асинхрон-
ная
процедура связи с подтверждением
(handshake). Когда какой-либо процессор
Рис. 14.19. Выполнение матричного умножения на волновой вычислительной системе