Введение

Серия новаторских микропроцессоров 1980-х годов

Транспьютер – это серия новаторских микропроцессоров 1980-х годов, предназначенных для параллельных вычислений. Для поддержки этого каждый транспьютер имел собственную встроенную память и последовательные каналы связи для обмена данными с другими транспьютерами. Они были разработаны и произведены компанией Inmos, полупроводниковой фирмой, базирующейся в Бристоле, Великобритания. В течение некоторого времени в конце 1980-х годов многие считали транспьютер следующим крупным прорывом в области вычислительной техники. Хотя транспьютер не оправдал этих ожиданий, его архитектура оказала значительное влияние на развитие новых идей в компьютерной архитектуре, некоторые из которых вновь появились в различных формах в современных системах.

Предыстория

В начале 1980-х годов обычные центральные процессоры (ЦПУ) казалось достигли предела производительности. До этого момента производственные сложности ограничивали количество схем, которые можно было разместить на чипе. Постоянное совершенствование технологического процесса во многом сняло это ограничение. В течение десятилетия чипы могли вместить больше схем, чем дизайнеры знали, как эффективно использовать. Традиционные компьютеры с расширенным набором команд (CISC) приближались к плато производительности, и было неясно, можно ли его преодолеть. Казалось, что единственный выход – увеличить использование параллелизма, то есть применение нескольких ЦПУ, работающих совместно для одновременного решения нескольких задач. Это зависело от способности таких машин выполнять несколько задач одновременно, процесс, известный как многозадачность. Ранее это было слишком сложно для большинства конструкций микропроцессоров, но более современные разработки смогли успешно справиться с этой задачей. Стало очевидно, что в будущем многозадачность станет неотъемлемой частью всех операционных систем (ОС). Побочным эффектом большинства многозадачных архитектур является возможность запуска процессов на физически различных ЦПУ, что в этом случае называется мультипроцессингом. Низкозатратный ЦПУ, разработанный для мультипроцессинга, мог бы повысить скорость работы машины за счет добавления большего количества процессоров, потенциально значительно дешевле, чем использование одного более быстрого ЦПУ. Первые проекты транспондеров были разработаны ученым-компьютерщиком Дэвидом Мэем и консультантом по телекоммуникациям Робертом Милном. В 1990 году Мэй получил почетную степень доктора наук от Университета Саутгемптона, а в 1991 году был избран членом Королевского общества и удостоен медали Паттерсона Института физики в 1992 году. Тони Фьюж, в то время ведущий инженер компании Inmos, был удостоен премии принца Филиппа за дизайн в 1987 году за его работу над транспондером T414.

Дизайн

Транспутер был первым микропроцессором общего назначения, специально разработанным для использования в параллельных вычислительных системах. Целью было создание семейства чипов, различающихся по мощности и стоимости, которые можно было бы соединять между собой для формирования полноценного параллельного компьютера. Название, образованное от слов "транзистор" и "компьютер", было выбрано, чтобы подчеркнуть роль, которую отдельные транспутеры должны были играть: множество из них использовалось бы в качестве основных строительных блоков в более крупной интегрированной системе, подобно тому, как транзисторы использовались в более ранних разработках. Изначально планировалось, что стоимость одного транспутера составит всего несколько долларов. Компания Inmos видела их применение практически во всем, от работы в качестве центрального процессора компьютера до функционирования в роли контроллера каналов для дисководов в той же машине. В традиционной машине вычислительные ресурсы дискового контроллера, например, простаивали бы, когда к диску не осуществлялся доступ. В отличие от этого, в системе на основе транспутеров, свободные циклы любого из этих процессоров могли использоваться для выполнения других задач, значительно повышая общую производительность системы. Транспутер обладал большим объемом памяти на кристалле, что делало его, по сути, процессором с интегрированной памятью. Даже один транспутер содержал все необходимые схемы для автономной работы – особенность, более характерная для микроконтроллеров. Предполагалось, что транспутеры можно будет соединять друг с другом максимально просто, без необходимости использования сложной шины или материнской платы. Требовалось лишь обеспечить их питанием и простым тактовым сигналом, а все остальное – память с произвольным доступом (RAM), контроллер RAM, поддержка шины и даже операционная система реального времени (RTOS) – было встроено в чип. Таким образом, последние модели транспутеров представляли собой одноразовые микроядра (RMC) на тогдашнем развивающемся рынке SoC.

Архитектура

Первоначальный транспатер использовал очень простую и довольно необычную архитектуру для достижения высокой производительности на небольшой площади. В качестве основного метода управления каналом данных использовался микрокод, но, в отличие от других разработок того времени, многие инструкции выполнялись всего за один цикл. Опкоды инструкций служили точками входа в микрокодовую память только для чтения (ROM), а выходы из ROM подавались непосредственно в канал данных. Для многоцикловых инструкций, пока канал данных выполнял первый цикл, микрокод декодировал четыре возможных варианта для второго цикла. Решение о том, какой из этих вариантов использовать, могло быть принято ближе к концу первого цикла. Это обеспечивало очень высокую скорость работы, сохраняя при этом универсальность архитектуры. Тактовая частота 20 МГц была довольно высокой для того времени, и разработчики серьезно опасались практической возможности распределения такого быстрого тактового сигнала на плате. Использовались более медленные внешние такты частотой 5 МГц, которые затем умножались до необходимой внутренней частоты с помощью фазовой автоподстройки частоты (ФАПЧ или PLL). Внутренние такты фактически имели четыре неперекрывающиеся фазы, и разработчики могли использовать любую их комбинацию, поэтому можно утверждать, что транспатер фактически работал на 80 МГц. Динамическая логика использовалась во многих частях схемы для уменьшения площади и повышения скорости. К сожалению, эти методы сложно сочетать с автоматическим генерированием тестовых паттернов и сканированием, поэтому они вышли из употребления в более поздних разработках. Издательство Prentice Hall опубликовало книгу об общих принципах работы транспатера.

Ссылки

Основная конструкция транспотёра включала последовательные каналы связи, известные как "os-ссылки", которые позволяли ему взаимодействовать с четырьмя другими транспотёрами, каждый со скоростью 5, 10 или 20 Мбит/с – что было очень высокой скоростью для 1980-х годов. Любое количество транспотёров можно было соединить вместе по каналам связи (которые могли простираться на десятки метров), чтобы сформировать вычислительный кластер. Гипотетическая настольная машина могла иметь два транспотёра начального уровня, обрабатывающих задачи ввода/вывода (I/O) на некоторых из их последовательных линий (подключенных к соответствующему оборудованию), одновременно взаимодействуя с одним из более мощных транспотёров, выполняющим функции центрального процессора на другом канале. Существовали ограничения на размер системы, которую можно было построить подобным образом. Поскольку каждый транспотёр был связан с другим в фиксированной схеме "точка-точка", отправка сообщений более удалённому транспотёру требовала, чтобы сообщения передавались через каждый чип в цепочке. Это вносило задержку с каждым "переходом" по каналу, что приводило к значительным задержкам в больших сетях. Для решения этой проблемы Inmos также предоставил коммутатор с нулевой задержкой, который соединял до 32 транспотёров (или коммутаторов) в ещё более крупные сети.

Загрузка

Транспутеры могли загружаться из памяти, как и большинство компьютеров, но также могли загружаться по своим сетевым каналам. Специальный вывод на чипе, BootFromROM, определял, какой метод следует использовать. Если BootFromROM был активирован при сбросе чипа, он начинал выполнение с инструкции, расположенной на расстоянии двух байт от верхней границы памяти, которая обычно использовалась для обратного перехода в загрузочный код. Если этот вывод не был активирован, чип вместо этого ожидал поступления байтов по любому сетевому каналу. Первый полученный байт содержал длину последующего кода. Последующие байты копировались в нижнюю область памяти, а затем выполнение передавалось туда, как только это количество байтов было получено. Общая концепция системы заключалась в том, что один транспутер выступал в качестве центрального органа для загрузки системы, состоящей из нескольких подключенных транспутеров. Выбранный транспутер имел BootFromROM постоянно активированным, что приводило к запуску процесса загрузки из ПЗУ при включении. Другие транспутеры имели BootFromROM заземленным и просто ожидали. Загрузчик загружал центральный транспутер, который затем начинал отправлять загрузочный код другим транспутерам в сети и мог настраивать код, отправляемый каждому из них, например, отправляя драйвер устройства транспутеру, подключенному к жестким дискам. Система также включала "специальные" длины кода 0 и 1, зарезервированные для команд PEEK и POKE. Это позволяло просматривать и изменять содержимое оперативной памяти в не загруженном транспутере. После выполнения команды PEEK с последующим адресом памяти или POKE с адресом и одним словом данных, транспутер возвращался к ожиданию загрузки. Этот механизм обычно использовался для отладки.

Планировщик

Добавлена схема планирования трафика по каналам связи. Процессы, ожидающие обмена данными, автоматически приостанавливались на время чтения или записи сетевой схемой. Другие процессы, выполняющиеся на транспоттере, получали время процессора в этот период. Предусмотрены два уровня приоритета для повышения эффективности работы в реальном времени и в многопроцессорном режиме. Та же логическая система использовалась для обмена данными между программами, работающими на одном транспоттере, реализованным в виде виртуальных сетевых соединений в памяти. Таким образом, программы, запрашивающие ввод или вывод, автоматически приостанавливались до завершения операции, что обычно требовало участия операционной системы в качестве арбитра аппаратных ресурсов. Операционным системам на транспоттере не требовалось управление планированием; чип можно было рассматривать как содержащий в себе операционную систему.

Разработка

Для упрощения прототипирования, конструирования и настройки множественных систем на основе транспоттеров, компания Inmos представила стандарт TRAM (TRAnsputer Module) в 1987 году. TRAM представлял собой, по сути, дочернюю плату, являющуюся строительным блоком и содержащую транспоттер, а также, опционально, внешнюю память и/или периферийные устройства, с простыми стандартизированными разъемами для питания, соединений транспоттеров, тактовых и системных сигналов. Были определены различные размеры TRAM, начиная с базового размера 1 TRAM (93 мм x 27 мм) и до размера 8 (93 мм x 222 мм). Inmos производила ряд материнских плат TRAM для различных шин, таких как Industry Standard Architecture (ISA), MicroChannel или VMEbus. Каналы TRAM работают на скорости 10 или 20 Мбит/с.

Программное обеспечение

Транспутеры предназначались для программирования с использованием языка программирования occam, основанного на исчислении взаимодействующих последовательных процессов (CSP). Транспутер был разработан специально для выполнения Occam, в большей степени, чем современные CISC-архитектуры разрабатывались для языков вроде Pascal или C. Occam поддерживал параллельное выполнение и межпроцессное или межпроцессорное взаимодействие на основе каналов как фундаментальную часть языка. Благодаря встроенному в чип параллелизму и средствам связи, а также прямому взаимодействию языка с ними, написание кода для таких задач, как контроллеры устройств, становилось тривиальным; даже самый простой код мог отслеживать последовательные порты для ввода/вывода и автоматически переходить в режим ожидания при отсутствии данных. Первоначальной средой разработки для транспутера на языке Occam была система разработки Inmos D700 Transputer Development System (TDS). Это была нестандартная интегрированная среда разработки, включающая редактор, компилятор, компоновщик и отладчик (постмортемный). TDS являлась приложением для транспутера, написанным на языке Occam. Текстовый редактор TDS был примечателен тем, что представлял собой сворачивающийся редактор, позволяющий скрывать и отображать блоки кода, чтобы сделать структуру кода более наглядной. К сожалению, сочетание незнакомого языка программирования и столь же незнакомой среды разработки не способствовало ранней популярности транспутера. Позже Inmos выпустила более традиционные кросс-компиляторы Occam – наборы инструментов Occam 2. Реализации более распространенных языков программирования, таких как C, FORTRAN, Ada, Forth и Pascal, также были выпущены позднее как компанией Inmos, так и сторонними разработчиками. Обычно они включали языковые расширения или библиотеки, обеспечивающие параллельное выполнение и связь на основе каналов, хотя и менее элегантным способом, чем в Occam. Отсутствие поддержки виртуальной памяти в транспутере затрудняло портирование основных вариантов операционной системы Unix, хотя были созданы порты Unix-подобных операционных систем (таких как Minix и Idris от Whitesmiths). Продвинутая Unix-подобная распределенная операционная система Helios также была разработана специально для многотранспутерных систем компанией Perihelion Software.

Реализация

Первые транспатеры были анонсированы в 1983 году и выпущены в 1984 году. В соответствии со своей ролью, близкой к микроконтроллерам, они включали в себя бортовую оперативную память и встроенный контроллер ОЗУ, что позволяло добавлять больше памяти без дополнительного оборудования. В отличие от других архитектур, транспатеры не имели линий ввода-вывода: они добавлялись с помощью оборудования, подключаемого к существующим последовательным каналам связи. Предусмотрена была одна линия "Событие", аналогичная линии прерываний обычного процессора. Рассматриваемая как канал, программа могла "принимать" данные из канала событий и продолжать выполнение только после активации линии события. Все транспатеры работали от внешнего тактового сигнала частотой 5 МГц, который умножался для получения тактовой частоты процессора. Транспатер не включал в себя модуль управления памятью (MMU) или систему виртуальной памяти. Варианты транспатеров (за исключением отмененного T9000) можно классифицировать на три группы: 16-битная серия T2, 32-битная серия T4 и 32-битная серия T8 с поддержкой вычислений с плавающей точкой формата IEEE 754 с двойной точностью (64 бита).

T2: 16-битный

Прототипом 16-битного транспоттера был S43, которому не хватало планировщика и DMA-управляемой передачи блоков по шинам. При запуске в производство T212 и M212 (последний со встроенным контроллером диска) были основными 16-битными моделями. T212 выпускался с тактовой частотой процессора 17,5 и 20 МГц. T212 был заменен на T222, в котором объем оперативной памяти на кристалле был увеличен с 2 КБ до 4 КБ, а затем и на T225. Это добавило поддержку точек останова отладки (путем расширения инструкции "J 0") и некоторые дополнительные инструкции из набора инструкций T800. И T222, и T225 работали на частоте 20 МГц.

T4: 32-битный

Запущенный в октябре 1985 года, T414 содержал эквивалент 900 000 транзисторов и был изготовлен по технологии с размером элемента 1,5 микрометра. Это была 32-битная разработка, способная обрабатывать 32-битные блоки данных и адресовать до 4 ГБ оперативной памяти. Изначально первым 32-битным вариантом планировался T424, но из-за сложностей в производстве он был переработан в T414 с 2 КБ встроенной оперативной памяти вместо запланированных 4 КБ. T414 выпускался в исполнениях с частотой 15 и 20 МГц. Позже объем оперативной памяти был увеличен до 4 КБ в T425 (в исполнениях 20, 25 и 30 МГц), который также получил поддержку точки останова J 0 и дополнительные инструкции T800. T400, выпущенный в сентябре 1989 года, являлся бюджетной версией T425 с частотой 20 МГц, 2 КБ памяти и двумя вместо четырех линий связи, предназначенной для рынка встраиваемых систем.

T8: плавающая точка

Транспутёр второго поколения T800, представленный в 1987 году, имел расширенный набор инструкций. Наиболее важным дополнением стал 64-битный блок с плавающей точкой (FPU) и три дополнительных регистра для операций с плавающей точкой, реализующие стандарт IEEE 754 1985 года. Он также включал 4 КБ встроенной оперативной памяти и выпускался в версиях с частотой 20 или 25 МГц. Поддержка точек останова была добавлена в более поздних моделях T801 и T805, при этом T801 отличался наличием раздельных адресной и шин данных для повышения производительности. Позже T805 также стал доступен в версии с частотой 30 МГц. Разрабатывалась улучшенная модель T810, которая должна была обладать большим объемом оперативной памяти, большим количеством и более быстрыми каналами связи, дополнительными инструкциями и улучшенным микрокодом, но разработка была прекращена примерно в 1990 году. Компания Inmos также выпускала различные вспомогательные микросхемы для процессоров транспотёр, такие как 32-канальный коммутатор C004 и "адаптеры каналов связи" C011 и C012, позволявшие подключать каналы транспотёра к 8-битной шине данных.

T400

Частью первоначальной стратегии Inmos было создание настолько маленьких и дешевых процессоров, чтобы их можно было объединять с другой логикой в одном устройстве. Хотя системы на чипе (SoC), как их обычно называют, сейчас распространены повсеместно, в начале 1980-х годов эта концепция была практически неизвестна. Два проекта были начаты примерно в 1983 году: M212 и TV toy. M212 был основан на стандартном ядре T212 с добавлением дискового контроллера для стандартов ST 506 и ST 412 Shugart. TV toy должна была стать основой для игровой приставки и была совместным проектом Inmos и Sinclair Research. Транспутеры T212 и T414/T424 имели аппаратные DMA-движки, позволявшие осуществлять передачу данных параллельно с выполнением других процессов. Был разработан вариант конструкции, получивший название T400, который не следует путать с более поздним транспутером с тем же именем, в котором обработку этих передач осуществлял сам процессор. Это значительно уменьшило размер устройства, поскольку четыре DMA-движка по размеру были сопоставимы со всем процессором. T400 предназначался для использования в качестве ядра в устройствах, которые тогда называли системами на кремнии (SOS), а сейчас именуют и лучше знают как системы на чипе (SoC). Именно эта разработка должна была стать частью TV toy. Проект был отменен в 1985 году.

T100

Хотя предыдущие проекты SoC имели лишь ограниченный успех (M212 некоторое время продавался), многие разработчики по-прежнему твердо верили в эту концепцию, и в 1987 году был начат новый проект – T100, который объединял 8-битную версию процессора Transputer с конфигурируемой логикой на основе конечных автоматов. Набор инструкций Transputer основан на 8-битных инструкциях и может быть легко использован с любым размером слова, кратным 8 битам. Целевым рынком для T100 были контроллеры шин, такие как Futurebus, и модернизация стандартных адаптеров связи (C011 и т.п.). Проект был прекращен с началом разработки T840 (который впоследствии стал основой для T9000).

ТПЦОР

TPCORE — это реализация транспондера, включая связи с операционной системой, работающая в программируемой пользователем вентильной матрице (FPGA).

T9000

Inmos улучшил производительность транспатеров серии T8 с выпуском T9000 (кодовое название H1 во время разработки). T9000 унаследовал большинство функций T800, но перенес некоторые элементы дизайна в аппаратную часть и добавил функции для поддержки суперскалярности. В отличие от предыдущих моделей, T9000 имел полноценный 16 КБ высокоскоростной кэш (с использованием алгоритма случайной замены) вместо оперативной памяти, однако позволял использовать его и как память, а также включал функциональность, подобную MMU, для управления всем этим (обозначенную как PMI). Для повышения скорости T9000 кэшировал 32 верхних элемента стека, вместо трех, как в предыдущих версиях. T9000 использовал пятиступенчатый конвейер для дальнейшего увеличения производительности. Интересной особенностью стал группер, который извлекал инструкции из кэша и объединял их в более крупные пакеты до 8 байт для ускорения подачи в конвейер. Эти пакеты завершали выполнение за один цикл, как если бы это были единые, более крупные инструкции, работающие на более быстром процессоре. Система связи была модернизирована до нового режима 100 МГц, но, в отличие от предыдущих систем, каналы связи больше не поддерживали обратную совместимость. Этот новый пакетный протокол связи получил название DS Link и впоследствии лег в основу стандарта последовательной связи IEEE 1355. T9000 также получил аппаратный модуль маршрутизации каналов связи, названный VCP (процессор виртуальных каналов), который преобразовал каналы связи из соединения точка-точка в полноценную сеть, позволяя создавать любое количество виртуальных каналов. Это означало, что программам больше не требовалось учитывать физическую топологию соединений. Был разработан ряд вспомогательных чипов DS Link, включая 32-портовый кроссбар-коммутатор C104 и адаптер C101 link. Длительные задержки в разработке T9000 привели к тому, что к моменту его выпуска более быстрые схемы загрузки/сохранения уже превосходили его по производительности. Он постоянно не достигал поставленной цели – десятикратного превосходства над T800. Когда проект был окончательно закрыт, он демонстрировал производительность лишь около 36 MIPS при частоте 50 МГц. Задержки в производстве породили шутку о том, что лучшей хост-архитектурой для T9000 был проектор. Это стало непосильным бременем для Inmos, у которой не было средств для продолжения разработки. К тому времени компания была продана SGS Thomson (ныне STMicroelectronics), которая ориентировалась на рынок встраиваемых систем, и в конечном итоге проект T9000 был заброшен. Однако позже был разработан полностью переработанный 32-битный транспаутер для встраиваемых приложений – серия ST20, в котором были использованы некоторые технологии, разработанные для T9000. Ядро ST20 было интегрировано в чипсеты для приставок и систем глобального позиционирования (GPS).

СТ20

Хотя ST20 и не являлся в строгом смысле транспаутером, он находился под сильным влиянием T4 и T9 и послужил основой для T450, который, вероятно, был последним из транспаутеров. Задача ST20 заключалась в том, чтобы стать многократно используемым ядром на формирующемся рынке SoC. Изначально ST20 назывался Reusable Micro Core (RMC). Архитектура была построена на основе оригинальной архитектуры T4 с использованием микрокода для управления потоком данных, но представляла собой полную переработку, выполненную на языке VHDL с оптимизированным (и переписанным) компилятором микрокода. Работа над проектом началась еще в 1990 году, когда стало ясно, что T9 будет слишком большим для многих приложений. Непосредственно проектирование началось в середине 1992 года. Было разработано несколько экспериментальных вариантов, от очень простого RISC-процессора со сложными инструкциями, реализованными программно через прерывания, до довольно сложной суперскалярной архитектуры, концептуально схожей с алгоритмом Томасуло. Окончательный вариант дизайна был очень похож на оригинальное ядро T4, хотя для повышения производительности были добавлены некоторые простые группировки инструкций и кэш рабочей области.

Усыновление

Хотя транспатчик был простым, но мощным по сравнению со многими современными разработками, он так и не приблизился к достижению своей цели – стать универсальным решением как для центральных процессоров, так и для микроконтроллеров. На рынке микроконтроллеров доминировали 8-битные машины, где стоимость была наиболее важным фактором. Здесь даже T2 были слишком мощными и дорогими для большинства пользователей. В области настольных компьютеров и рабочих станций транспатчик был достаточно быстрым (работал примерно с 10 миллионами инструкций в секунду (MIPS) при частоте 20 МГц). Это была отличная производительность для начала 1980-х годов, но к моменту выпуска T800 с блоком операций с плавающей запятой (FPU), другие RISC-архитектуры превзошли его. Это могло быть смягчено в значительной степени, если бы машины использовали несколько транспатчиков, как и планировалось, но T800 стоили около 400 долларов США за штуку при их появлении на рынке, что приводило к невыгодному соотношению цены и производительности. Было разработано лишь несколько рабочих станций на базе транспатчика, наиболее заметной из которых, вероятно, была Atari Transputer Workstation. Транспатчик добился большего успеха в области массивно-параллельных вычислений, где несколько производителей выпускали системы на базе транспатчика в конце 1980-х годов. Среди них – Meiko Scientific (основанная бывшими сотрудниками Inmos), Floating Point Systems, Parsytec и Parsys. Несколько британских академических институтов основали исследовательские группы по применению транспатчерных параллельных систем, включая Bristol Transputer Centre Бристольского политехнического института и Edinburgh Concurrent Supercomputer Project Эдинбургского университета. Кроме того, системы сбора данных и системы второго уровня триггеров эксперимента ZEUS по физике высоких энергий для коллайдера Hadron Elektron Ring Anlage (HERA) в DESY были основаны на сети из более чем 300 синхронизированных транспатчиков, разделенных на несколько подсистем. Они контролировали как считывание данных с пользовательской электронной аппаратуры детекторов, так и выполняли алгоритмы реконструкции для отбора физических событий. Возможности параллельной обработки транспатчика были коммерчески использованы для обработки изображений крупнейшей в мире типографией RR Donnelley & Sons в начале 1990-х годов. Способность быстро преобразовывать цифровые изображения перед печатью давала компании значительное преимущество перед конкурентами. Эту разработку возглавил Майкл Бенгтсон в Технологическом центре RR Donnelley. В течение нескольких лет вычислительная мощность даже настольных компьютеров устранила необходимость в специализированных многопроцессорных системах для компании. Немецкая компания Jäger Messtechnik использовала транспатчики в своих первых продуктах ADwin для сбора и управления данными в реальном времени. Французская компания построила суперкомпьютер Archipel Volvox, оснащенный до 144 транспатчиков T800 и T400. Он управлялся Silicon Graphics Indigo2 под управлением UNIX и специальной платой, которая подключалась к шине Volvox. Транспатчики также использовались в анализаторах протоколов, таких как Siemens/Tektronix K1103, и в военных приложениях, где массивная архитектура подходила для таких задач, как радиолокация, а последовательные линии связи (которые были высокоскоростными в 1980-х годах) позволяли экономить затраты и вес в межподсистемных коммуникациях. Транспатчик также применялся в продуктах, связанных с виртуальной реальностью, таких как система ProVision 100, разработанная компанией Division Limited из Бристоля, которая включала в себя комбинацию процессоров Intel i860, 80486/33 и Toshiba HSP, а также транспатчики T805 или T425, реализующие механизм рендеринга, к которому затем можно было получить доступ как к серверу с систем PC, Sun SPARCstation или VAX. Myriade, европейская миниатюрная спутниковая платформа, разработанная компаниями Astrium Satellites и CNES и используемая спутниками, такими как Picard, основана на T805, обеспечивающем производительность около 4 MIPS, и планируется, что она будет оставаться в производстве примерно до 2015 года. Асинхронная работа коммуникаций и вычислений позволила разработать асинхронные алгоритмы, такие как алгоритм "Асинхронного поиска полиномиальных нулей" Бэйна. Область асинхронных алгоритмов и асинхронная реализация существующих алгоритмов, вероятно, сыграет ключевую роль в переходе к экзамасштабным вычислениям. Космический аппарат High Energy Transient Explorer 2 (HETE 2) использовал 4× T805 транспатчика и 8× DSP56001, обеспечивая производительность около 100 миллионов инструкций в секунду (MIPS).

Наследие

Растущая внутренняя параллельность была одной из движущих сил, обусловивших улучшения в традиционных конструкциях процессоров. Вместо явного параллелизма на уровне потоков (как это реализовано в транспоттере), конструкции процессоров использовали неявный параллелизм на уровне инструкций, анализируя последовательности кода на предмет зависимостей данных и выдавая несколько независимых инструкций различным исполнительным устройствам. Это называется суперскалярной обработкой. Суперскалярные процессоры хорошо подходят для оптимизации выполнения последовательно построенных фрагментов кода. Сочетание суперскалярной обработки и спекулятивного выполнения обеспечило ощутимый прирост производительности для существующего кода, который в основном был написан на Pascal, Fortran, C и C++. Учитывая эти значительные и регулярные улучшения производительности существующего кода, было мало стимулов для переписывания программного обеспечения на языках или в стилях кодирования, которые раскрывают больший параллелизм на уровне задач. Тем не менее, модель кооперации параллельных процессоров по-прежнему встречается в кластерных вычислительных системах, которые доминируют в разработке суперкомпьютеров в 21 веке. В отличие от архитектуры транспоттера, процессорные узлы в этих системах обычно используют суперскалярные процессоры с доступом к значительным объемам памяти и дискового пространства, работающие под управлением обычных операционных систем и сетевых интерфейсов. В силу большей сложности узлов, архитектура программного обеспечения, используемая для координации параллелизма в таких системах, как правило, значительно сложнее, чем в архитектуре транспоттера. Изначальный замысел транспоттера остался прежним, но более 20 лет был скрыт постоянным удвоением количества транзисторов. В конечном итоге разработчики микропроцессоров исчерпали возможности использования возросших физических ресурсов, примерно в то же время, когда масштабирование технологий начало достигать своих пределов. Потребление энергии, а следовательно, и необходимость рассеивания тепла, делают дальнейшее увеличение тактовой частоты невозможным. Эти факторы привели отрасль к решениям, которые по своей сути мало отличаются от предложенных Inmos. Некоторые из самых мощных суперкомпьютеров в мире, разработанные Колумбийским университетом и построенные как IBM Blue Gene, являются реальным воплощением мечты транспоттера. Это огромные сборки идентичных SoC с относительно невысокой производительностью. Недавние тенденции также пытаются решить дилемму транзисторов способами, которые были бы слишком футуристическими даже для Inmos. Помимо добавления компонентов к кристаллу процессора и размещения нескольких кристаллов в одной системе, современные процессоры все чаще размещают несколько ядер на одном кристалле. Разработчикам транспоттера с трудом удавалось уместить даже одно ядро в рамках выделенного бюджета транзисторов. Сегодня разработчики, работая с плотностью транзисторов, увеличенной в 1000 раз, обычно могут размещать множество ядер. Одно из последних коммерческих разработок принадлежит компании XMOS, которая разработала семейство встроенных многоядерных многопоточных процессоров, тесно связанных с транспоттером и Inmos. Появляется класс многоядерных/многоядерных процессоров, использующих подход «сеть на кристалле» (NoC), например, процессор Cell, архитектура Adapteva Epiphany, Tilera и т.д. Транспутер и Inmos помогли превратить Бристоль, Великобритания, в центр микроэлектронного дизайна и инноваций.