Лекция 13.
Тема. Вычислительные системы на базе транспьютеров и с неоднородным доступом к памяти.
План лекции
Понятие транспьютера и канала связи.
Объединение транспьютеров в группы.
Архитектура транспьютера.
Вычислительные системы с массовой параллельной обработкой.
Вычислительные системы с неоднородным доступом к памяти.
1. Понятие транспьютера и канала связи
Появление транспьютеров связано с идеей создания различных по произ-водительности ВС посредством прямого соединения однотипных процессорных чипов. Сам термин объединяет два понятия – «транзистор» и «компьютер».
Транспьютер– это сверхбольшая интегральная микросхема (СБИС), заклю-чающая в себе центральный процессор, блок операций с плавающей запятой (кроме транспьютеров первого поколения Т212 и Т414), статическое оперативное запоминающее устройство, интерфейс с внешней памятью и несколько каналов связи. Первый транспьютер был разработан в 1986 году фирмойInmos.
Канал связи состоит из двух последовательных линий для двустороннего обмена. Он позволяет объединить транспьютеры между собой и обеспечить вза-имные коммуникации. Данные могут пересылаться поэлементно или как вектор. Одна из последовательных линий используется для пересылки пакета данных, а вторая – для возврата пакета подтверждения, который формируется, как только пакет данных достигнет пункта назначения.
2. Объединение транспьютеров в группы
На базе транспьютеров можно легко построить различные виды ВС. Че- тыре канала связи обеспечивают построение двумерного массива, где каждый транспьютер связан с четырьмя ближайшими соседями. Возможно объединение транспьютеров в группы с последующим соединением групп между собой. Если группа состоит из двух транспьютеров, то для подключения ее к другим группам остаются свободными 6 каналов связи (рис. 13.1, а). Комплекс из трех транс-пьютеров также оставляет свободными 6 каналов (рис. 13.1, б), а для связи с «квартетом» транспьютеров остаются еще 4 канала связи (рис. 13.1, в).
Особенности транспьютеров потребовали разработки для них специально- го языка программирования Occam. Название языка связано с именем философа-схоластаXIVвека Оккама – автора концепции «бритвы Оккама»: «entiapraeternecessitatemnonsuntmultiplicanda» – «понятия не должны умножаться без не-обходимости». Язык обеспечивает описание простых операций пересылки дан-ных между двумя точками, а также позволяет явно указать на параллелизм при выполнении программы несколькими транспьютерами. Основным понятием про-граммы на языкеOccamявляетсяпроцесс, состоящий из одного или более операторов программы, которые могут быть выполнены последовательно или
параллельно. Процессы могут быть распределены по транспьютерам вычисли-тельной системы, при этом оборудование транспьютера поддерживает совместное использование транспьютера несколькими процессами.
Первое поколение транспьютеров (Т212, Т414 и Т805) разрабатывалось для систем реального времени и цифровой обработки сигналов. Для подобных задач нужны сравнительно небольшие ВС со скоростными каналами связи между со-седними процессорами и быстрым переключением контекста. Под контекстомпонимается содержимое регистров, которое при переходе к новой задаче в хо- де многозадачной обработки может быть изменено и поэтому должно быть со-хранено, а при возврате к старой задаче – восстановлено.
В транспьютерах второго поколения (Т9000) существенно повышена про-изводительность и улучшены каналы связи. Главная особенность транспьютеров второго поколения – развитые коммуникационные возможности, хотя в вычис-лительном плане, даже несмотря на наличие в них блоков для операций с пла-вающей запятой, они сильно уступают универсальным микропроцессорам PowerPCиPentium.