stringtranslate.com

Транспьютер

Транспьютерный чип T414
Базовая платформа IMSB008 с установленными модулями IMSB419 и IMSB404.

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

В течение некоторого времени в конце 1980-х годов многие [2] считали транспьютер следующей великой разработкой будущего вычислений. Хотя транспьютер не оправдал этих ожиданий, транспьютерная архитектура оказала большое влияние на появление новых идей в компьютерной архитектуре , некоторые из которых вновь появились в различных формах в современных системах. [3]

Фон

В начале 1980-х годов традиционные центральные процессоры (ЦП), казалось, достигли предела производительности. До этого времени производственные трудности ограничивали количество схем, которые могли поместиться на чипе. Постоянное совершенствование производственного процесса в значительной степени устранило это ограничение. В течение десятилетия чипы смогут содержать больше схем, чем дизайнеры могли использовать. Традиционные конструкции компьютеров со сложным набором команд (CISC) достигли плато производительности, и было неясно, можно ли его преодолеть. [4]

Казалось, что единственный путь вперед — это более широкое использование параллелизма, использования нескольких процессоров, которые будут работать вместе для решения нескольких задач одновременно. Это зависело от того, что такие машины могли выполнять несколько задач одновременно — процесс, называемый многозадачностью . Обычно это было слишком сложно для предыдущих разработок микропроцессоров, но в более поздних разработках это было возможно эффективно. Было ясно, что в будущем это станет особенностью всех операционных систем (ОС).

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

Первые конструкции транспьютеров были созданы ученым-компьютерщиком Дэвидом Мэем и консультантом по телекоммуникациям Робертом Милном. В 1990 году Мэй получил степень почетного доктора наук в Университете Саутгемптона , после чего в 1991 году он был избран членом Королевского общества и награжден медалью Паттерсона Института физики в 1992 году. Тони Фьюдж, в то время ведущий инженер Inmos , был награжден Премией дизайнеров принца Филиппа в 1987 году за работу над транспьютером T414. [5]

Дизайн

Транспьютер был первым микропроцессором общего назначения, разработанным специально для использования в параллельных вычислительных системах. Целью было создать семейство чипов разной мощности и стоимости, которые можно было бы соединить вместе, чтобы сформировать полноценный параллельный компьютер. Название (от « транзистор » и «компьютер » [ 6] ) было выбрано для обозначения роли, которую будут играть отдельные транспьютеры: определенное количество из них будет использоваться в качестве основных строительных блоков в более крупной интегрированной системе, точно так же, как транзисторы использовались в качестве основных строительных блоков в более крупной интегрированной системе. использовался в более ранних проектах.

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

Транспьютер имел большую встроенную память, что делало его по сути процессором в памяти . Даже один транспьютер будет иметь все необходимые схемы для автономной работы — функция, которая чаще всего ассоциируется с микроконтроллерами . Цель заключалась в том, чтобы обеспечить максимально простое соединение транспьютеров без необходимости использования сложной шины или материнской платы . Требовалось подать питание и простой тактовый сигнал , но больше ничего: оперативная память (ОЗУ), контроллер ОЗУ, поддержка шины и даже операционная система реального времени (RTOS) были встроены. Последними транспьютерами были одиночные многоразовые микроядра (RMC) на тогда еще развивающемся рынке SoC .

Архитектура

Оригинальный транспьютер использовал очень простую и довольно необычную архитектуру для достижения высокой производительности на небольшой площади. В качестве основного метода управления путем передачи данных использовался микрокод , но в отличие от других разработок того времени, выполнение многих инструкций занимало всего один цикл. Коды операций инструкций использовались в качестве точек входа в постоянное запоминающее устройство (ПЗУ) микрокода, а выходные данные ПЗУ передавались непосредственно в тракт данных. Для многотактных инструкций, пока тракт данных выполнял первый цикл, микрокод декодировал четыре возможных варианта второго цикла. Решение о том, какой из этих вариантов будет фактически использован, может быть принято ближе к концу первого цикла. Это позволило обеспечить очень быструю работу, сохранив при этом общую архитектуру. [7]

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

Прентис-Холл опубликовал книгу [8] об общих принципах транспьютера.

Ссылки

Базовая конструкция транспьютера включала в себя последовательные каналы связи , известные как «os-link» [9] [10] , которые позволяли ему связываться с четырьмя другими транспьютерами, каждый со скоростью 5, 10 или 20 Мбит/с, что было очень быстро для 1980-х годов. Любое количество транспьютеров может быть соединено вместе посредством каналов связи (которые могут простираться на десятки метров), образуя одну вычислительную ферму . Гипотетическая настольная машина может иметь два транспьютера «младшего класса», выполняющих задачи ввода-вывода (I/O) на некоторых из своих последовательных линий (подключенных к соответствующему оборудованию), в то время как они общаются с одним из своих старших собратьев, выступающим в качестве процессора . на другом.

Существовали ограничения на размер системы, которую можно было построить таким образом. Поскольку каждый транспьютер был связан с другим по фиксированной схеме «точка-точка», отправка сообщений на более удаленный транспьютер требовала, чтобы сообщения передавались каждым чипом в линии. Это приводило к задержке при каждом «прыжке» по каналу, что приводило к длительным задержкам в больших сетях. Чтобы решить эту проблему, Inmos также предоставила коммутатор с нулевой задержкой, который соединял до 32 транспьютеров (или коммутаторов) в еще более крупные сети.

Загрузка

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

Общая концепция системы заключалась в том, чтобы один транспьютер выступал в качестве центрального органа для загрузки системы, содержащей несколько подключенных транспьютеров. На выбранном транспьютере будет постоянно активирован BootFromROM, что приведет к запуску процесса загрузки из ПЗУ при запуске. Другие транспьютеры будут иметь низкий уровень BootFromROM и просто будут ждать. Загрузчик загружал центральный транспьютер, который затем начинал отправлять загрузочный код на другие транспьютеры в сети и мог настраивать код, отправляемый каждому из них, например, отправляя драйвер устройства на транспьютер, подключенный к жестким дискам.

Система также включала «специальные» коды длиной 0 и 1, которые были зарезервированы для PEEK и POKE . Это позволило проверить и изменить оперативную память в незагруженном транспьютере. После просмотра, за которым следовал адрес памяти, или тыкания адресом и одним словом данных, транспьютер возвращался к ожиданию начальной загрузки. Этот механизм обычно использовался для отладки.

Планировщик

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

Набор инструкций

Чтобы объединить все эти функции в одном чипе, основная логика транспьютера была проще, чем у большинства процессоров. Хотя некоторые называли его компьютером с сокращенным набором команд (RISC) из-за его довольно редкой природы и поскольку в то время это было желанным маркетинговым модным словечком , он был тщательно закодирован микрокодом , имел ограниченный набор регистров и сложные инструкции между памятью. из которых он прочно входит в лагерь CISC . В отличие от процессоров RISC с тяжелой загрузкой/сохранением регистров , транспьютер имел только три регистра данных, которые вели себя как стек. Кроме того, указатель рабочей области указывал на обычный стек памяти, легко доступный с помощью инструкций Load Localи Store Local. Это позволяло очень быстро переключать контекст , просто меняя указатель рабочей области на память, используемую другим процессом (метод, используемый во многих современных разработках, таких как TMS9900 ) . Содержимое стека трех регистров не сохранялось после определенных инструкций, таких как Jump, когда транспьютер мог выполнить переключение контекста.

Набор инструкций транспьютера состоял из 8-битных инструкций, собранных из опкода и полубайтов операндов . Верхний полубайт содержал 16 возможных первичных кодов инструкций, что делало его одним из очень немногих коммерческих компьютеров с минимальным набором команд . Младший полубайт содержал один непосредственный константный операнд, обычно используемый в качестве смещения относительно указателя рабочей области (стека памяти). Две префиксные инструкции позволяли создавать константы большего размера путем добавления их младших полубайтов к операндам следующих инструкций. Дальнейшие инструкции поддерживались с помощью кода инструкции Operate ( ), который декодировал постоянный операнд как расширенный код операции с нулевым операндом, обеспечивая практически бесконечное и простое расширение набора команд по мере появления новых реализаций транспьютера.Opr

16 «основных» инструкций с одним операндом были:

Все эти инструкции принимают константу, представляющую смещение или арифметическую константу. Если эта константа была меньше 16, все эти инструкции кодировались одним байтом.

Первые 16 «вторичных» инструкций с нулевым операндом (с использованием основной инструкции OPR) были:

Разработка

Пустая материнская плата B008
Выбор ТРАМВАЯ

Чтобы обеспечить простые средства прототипирования, построения и настройки систем с несколькими транспьютерами, Inmos в 1987 году представила стандарт TRAM (TRAnsputer Module). TRAM по сути представлял собой дочернюю плату строительного блока , содержащую транспьютер и, опционально, внешнюю память и / или периферийные устройства. , с простыми стандартизированными разъемами, обеспечивающими питание, транспьютерные каналы, тактовые и системные сигналы. Были определены различные размеры TRAM: от базового размера 1 (3,66 на 1,05 дюйма) до размера 8 (3,66 на 8,75 дюйма). Inmos выпустила ряд материнских плат TRAM для различных хост-шин, таких как архитектура промышленного стандарта (ISA), MicroChannel или VMEbus . Каналы TRAM работают со скоростью 10 Мбит/с или 20 Мбит/с. [11]

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

Транспьютеры предназначались для программирования с использованием языка программирования occam , основанного на исчислении процессов взаимодействующих последовательных процессов (CSP) . [12] Транспьютер был создан специально для работы с Occam , а не современные конструкции CISC были созданы для работы с такими языками , как Паскаль или C. Оккам поддерживал параллелизм и межпроцессное или межпроцессорное взаимодействие на основе каналов как фундаментальную часть языка. Благодаря параллелизму и средствам связи, встроенным в чип, а также языку, напрямую взаимодействующему с ним, написание кода для таких вещей, как контроллеры устройств, стало тривиальностью; даже самый простой код мог отслеживать последовательные порты на предмет ввода-вывода и автоматически переходить в режим сна при отсутствии данных.

Первоначальной средой разработки транспьютера Occam была система разработки транспьютеров Inmos D700 (TDS). Это была нестандартная интегрированная среда разработки, включающая редактор, компилятор, компоновщик и (посмертный) отладчик. TDS представлял собой транспьютерное приложение, написанное на языке Оккама. Текстовый редактор TDS был примечателен тем, что представлял собой складной редактор , позволяющий скрывать и раскрывать блоки кода, чтобы сделать структуру кода более наглядной. К сожалению, сочетание незнакомого языка программирования и столь же незнакомой среды разработки никак не повлияло на раннюю популярность транспьютера. Позже Inmos выпустит более традиционные кросс-компиляторы Occam — Occam 2 Toolsets .

Реализации более распространенных языков программирования, таких как C, FORTRAN , Ada , Forth и Pascal, также были позже выпущены как Inmos, так и сторонними поставщиками. Обычно они включали языковые расширения или библиотеки, обеспечивающие менее элегантным способом параллельный доступ в духе Оккама и связь на основе каналов.

Отсутствие поддержки виртуальной памяти в транспьютере препятствовало портированию основных вариантов операционной системы Unix , хотя порты Unix-подобных операционных систем (таких как Minix и Idris от Whitesmiths ) были произведены. Усовершенствованная Unix-подобная распределенная операционная система Helios также была разработана специально для мультитранспьютерных систем компанией Perihelion Software .

Реализации

Первые транспьютеры были анонсированы в 1983 году и выпущены в 1984 году.

В соответствии со своей ролью устройств, подобных микроконтроллерам , они включали встроенную ОЗУ и встроенный контроллер ОЗУ, который позволял добавлять больше памяти без дополнительного оборудования. В отличие от других конструкций, транспьютеры не включали линии ввода-вывода: они должны были быть добавлены с помощью оборудования, подключенного к существующим последовательным каналам связи. Была одна строка «Событие», похожая на линию прерывания обычного процессора. Рассматриваемая как канал, программа могла «вводить» данные из канала событий и продолжать работу только после того, как была подтверждена строка событий.

Все транспьютеры работали от внешнего тактового входа частотой 5 МГц; это было умножено, чтобы получить тактовую частоту процессора.

Транспьютер не включал в себя блок управления памятью (MMU) или систему виртуальной памяти .

Варианты транспьютеров (за исключением отмененного T9000) можно разделить на три группы: 16-битную серию T2 , 32-битную серию T4 и 32-битную серию T8 с 64-битной поддержкой IEEE 754 с плавающей запятой .

Т2: 16-битный

Плашка Inmos T225

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

Т4: 32-битный

Плашка Inmos T425

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

T8: с плавающей запятой

Инмос Т805 умирает

Транспьютер T800 второго поколения , представленный в 1987 году, имел расширенный набор команд. Самым важным дополнением был 64-битный модуль с плавающей запятой (FPU) и три добавленных регистра для плавающей запятой, реализующие стандарт с плавающей запятой IEEE 754-1985 . Он также имел 4 КБ встроенной оперативной памяти и был доступен в версиях с частотой 20 или 25 МГц. Поддержка точек останова была добавлена ​​в более поздних версиях T801 и T805 , причем первая имела отдельные шины адреса и данных для повышения производительности. Позже T805 также был доступен как часть с частотой 30 МГц.

Планировался улучшенный T810 , который имел бы больше оперативной памяти, больше и более быстрых каналов связи, дополнительные инструкции и улучшенный микрокод, но это было отменено примерно в 1990 году.

Inmos также произвела различные микросхемы поддержки транспьютерных процессоров, такие как 32-позиционный переключатель каналов C004 и «адаптеры каналов» C011 и C012 , которые позволяли подключать транспьютерные каналы к 8-битной шине данных.

Т400

Часть первоначальной стратегии Inmos заключалась в том, чтобы сделать процессоры настолько маленькими и дешевыми, чтобы их можно было комбинировать с другой логикой в ​​одном устройстве. Хотя системы на кристалле (SoC), как их обычно называют, сейчас распространены повсеместно, в начале 1980-х годов о этой концепции было почти неслыханно. Примерно в 1983 году были начаты два проекта: М212 и ТВ-игрушка . M212 был основан на стандартном ядре T212 с добавлением контроллера диска для стандартов ST 506 и ST 412 Shugart. ТВ-игрушка должна была стать основой игровой консоли и являлась совместным проектом компаний Inmos и Sinclair Research .

Каналы транспьютеров T212 и T414/T424 имели аппаратные механизмы DMA, поэтому передача могла происходить параллельно с выполнением других процессов. Вариант конструкции, получивший название T400 (не путать с более поздним транспьютером с таким же названием), был разработан, в котором эти передачи обрабатывались центральным процессором. Это значительно уменьшило размер устройства, поскольку 4-канальные механизмы имели примерно такой же размер, как и весь ЦП. T400 предназначался для использования в качестве ядра в устройствах, которые тогда назывались системами на кремнии (SOS), а теперь называются и более известны как система на кристалле (SoC). Именно эта конструкция должна была стать частью ТВ-игрушки. Проект был отменен в 1985 году.

Т100

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

ТПКОР

TPCORE — это реализация транспьютера, включая os-links, который работает на FPGA. [9] [14]

Т9000

Компьютерный чип со снятой крышкой, показывающий кремниевый кристалл, установленный под углом
Транспьютер T9000 со снятой крышкой, чтобы увидеть кремниевый кристалл

Inmos улучшила производительность транспьютеров серии T8, выпустив T9000 ( под кодовым названием H1 во время разработки). T9000 разделял большинство функций с T800, но некоторые части конструкции были перенесены в аппаратное обеспечение и добавлено несколько функций для поддержки суперскалярности . В отличие от более ранних моделей, T9000 имел настоящий высокоскоростной кэш объемом 16 КБ (с использованием случайной замены) вместо ОЗУ, но также позволял использовать его в качестве памяти и включал в себя функциональность, подобную MMU, для обработки всего этого (так называемая PMI ) . . Для большей скорости T9000 кэшировал 32 верхних места стека вместо трех, как в более ранних версиях.

Кремниевая пластина, покрытая плиточным узором из транзисторов для процессоров, отражает солнечный свет радужными узорами.
Неразрезанная кремниевая пластина транспьютеров Inmos T9000

В T9000 использовался пятиступенчатый конвейер для еще большей скорости. Интересным дополнением стал группировщик [15] , который собирал инструкции из кэша и группировал их в более крупные пакеты размером до 8 байт для более быстрой подачи в конвейер. Затем группы выполнялись за один цикл, как если бы это были отдельные более крупные инструкции, работающие на более быстром процессоре.

Система каналов была модернизирована до нового режима 100 МГц, но, в отличие от предыдущих систем, каналы больше не были совместимы с предыдущими версиями. Этот новый пакетный протокол связи получил название DS-Link [ 16] и позже лег в основу стандарта последовательного соединения IEEE 1355 . В T9000 также было добавлено оборудование маршрутизации каналов, называемое VCP (процессор виртуальных каналов), которое превратило каналы из двухточечных в настоящую сеть, позволяя создавать на каналах любое количество виртуальных каналов . Это означало, что программам больше не нужно было знать о физическом расположении соединений. Также был разработан ряд микросхем поддержки DS-Link, в том числе 32-позиционный перекрестный переключатель C104 и адаптер канала C101 .

Длительные задержки в разработке 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 году, когда стало понятно, что Т9 будет слишком большим для многих приложений. Фактические проектные работы начались в середине 1992 года. Было выполнено несколько пробных проектов: от очень простого ЦП в стиле RISC со сложными инструкциями, реализованными в программном обеспечении с помощью ловушек, до довольно сложной суперскалярной конструкции, по своей концепции схожей с алгоритмом Томасуло . Окончательный дизайн был очень похож на исходное ядро ​​T4, хотя для повышения производительности были добавлены некоторые простые группировки инструкций и кэш рабочей области .

Принятие

Компьютер на базе транспьютера (слева)

Хотя транспьютер был простым, но мощным по сравнению со многими современными конструкциями, он так и не приблизился к достижению своей цели — универсальному использованию как в роли процессора, так и в роли микроконтроллера. На рынке микроконтроллеров доминировали 8-битные машины, где стоимость была наиболее важным фактором. Здесь даже Т2 были слишком мощными и дорогими для большинства пользователей.

В области компьютерных настольных компьютеров и рабочих станций транспьютер был довольно быстрым (выполнял около 10 миллионов инструкций в секунду (MIPS) на частоте 20 МГц). Это была отличная производительность для начала 1980-х годов, но к тому времени, когда T800, оснащенный модулем с плавающей запятой (FPU), поступил в продажу, другие разработки RISC превзошли его. Это можно было бы в значительной степени смягчить, если бы машины использовали несколько транспьютеров, как планировалось, но T800 на момент появления стоил около 400 долларов каждый, что означало плохое соотношение цены и производительности. Было разработано несколько систем рабочих станций на базе транспьютеров; наиболее примечательным из них, вероятно, является рабочая станция Atari Transputer .

Транспьютер был более успешным в области массовых параллельных вычислений, где в конце 1980-х годов несколько поставщиков выпустили системы на базе транспьютеров. В их число входили Meiko Scientific (основанная бывшими сотрудниками Inmos), Floating Point Systems , Parsytec , [17] и Parsys. Несколько британских академических учреждений начали исследовательскую деятельность в области применения параллельных систем на базе транспьютеров, в том числе Бристольский транспьютерный центр Бристольского политехнического института и Эдинбургский параллельный суперкомпьютерный проект Эдинбургского университета . Кроме того, системы сбора данных и триггерные системы второго уровня эксперимента ZEUS по физике высоких энергий для коллайдера Hadron Elektron Ring Anlage (HERA) в DESY были основаны на сети из более чем 300 синхронно тактируемых транспьютеров, разделенных на несколько подсистем. Они контролировали как считывание показаний специальной электроники детектора, так и запуск алгоритмов реконструкции для выбора физических событий.

Возможности параллельной обработки транспьютера были использованы в коммерческих целях для обработки изображений крупнейшей в мире полиграфической компанией RR Donnelley & Sons в начале 1990-х годов. Возможность быстро преобразовывать цифровые изображения при подготовке к печати дала фирме значительное преимущество перед конкурентами. Эту разработку возглавил Майкл Бенгтсон в Технологическом центре Р. Р. Доннелли. Через несколько лет вычислительные возможности даже настольных компьютеров устранили для фирмы необходимость в специализированных многопроцессорных системах. [ нужна цитата ]

Немецкая компания Jäger Messtechnik использовала транспьютеры для своих первых продуктов ADwin для сбора данных и управления ими в реальном времени . [18]

Французская компания построила суперкомпьютер 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, реализующих механизм рендеринга , который затем к нему можно будет получить доступ как к серверу с помощью ПК , систем Sun SPARCstation или VAX . [19] [20]

Myriade , европейская миниатюрная спутниковая платформа, разработанная Astrium Satellites и CNES и используемая такими спутниками, как Picard , основана на T805 с производительностью около 4 MIPS и планируется продолжать производство примерно до 2015 года. [21] [22]

Асинхронная работа связи и вычислений позволила разработать асинхронные алгоритмы, такие как алгоритм Бэйна «Асинхронный полиномиальный поиск нуля». [23] Область асинхронных алгоритмов и асинхронная реализация существующих алгоритмов, вероятно, сыграют ключевую роль в переходе к экзафлопсным вычислениям .

В космическом корабле High Energy Transient Explorer 2 (HETE-2) использовались 4 транспьютера T805 и 8 транспьютеров DSP56001, обеспечивающие производительность около 100 миллионов инструкций в секунду (MIPS). [24]

Наследие

Растущий внутренний параллелизм стал одной из движущих сил усовершенствований традиционных конструкций ЦП. Вместо явного параллелизма на уровне потоков (который используется в транспьютере) конструкции ЦП использовали неявный параллелизм на уровне инструкций, проверяя последовательности кода на наличие зависимостей данных и выдавая несколько независимых инструкций различным исполнительным модулям. Это называется суперскалярной обработкой. Суперскалярные процессоры подходят для оптимизации выполнения последовательно создаваемых фрагментов кода. Комбинация суперскалярной обработки и спекулятивного выполнения обеспечила ощутимый прирост производительности существующих фрагментов кода, которые в основном были написаны на Паскале, Фортране, C и C++. Учитывая эти существенные и регулярные улучшения производительности существующего кода, не было особого стимула переписывать программное обеспечение на языках или стилях кодирования, которые обеспечивают больший параллелизм на уровне задач.

Тем не менее, модель взаимодействующих параллельных процессоров все еще можно найти в кластерных вычислительных системах, которые доминируют в конструкции суперкомпьютеров 21 века. В отличие от транспьютерной архитектуры, процессоры в этих системах обычно используют суперскалярные процессоры с доступом к значительным объемам памяти и дискового хранилища, работающие под управлением обычных операционных систем и сетевых интерфейсов. Из-за более сложных узлов архитектура программного обеспечения, используемая для координации параллелизма в таких системах, обычно гораздо более тяжелая, чем в транспьютерной архитектуре.

Фундаментальный мотив создания транспьютеров сохраняется, но на протяжении более 20 лет он был замаскирован постоянным удвоением количества транзисторов. Неизбежно, разработчики микропроцессоров, наконец, исчерпали возможности использования больших физических ресурсов, почти в то же время, когда масштабирование технологий начало достигать своих пределов. Потребление энергии и, следовательно, необходимость рассеивания тепла делают дальнейшее увеличение тактовой частоты невозможным. Эти факторы привели отрасль к решениям, по сути мало отличающимся от предложенных Inmos.

Некоторые из самых мощных суперкомпьютеров в мире, созданные по проекту Колумбийского университета и построенные под названием IBM Blue Gene , являются реальным воплощением мечты о транспьютере. Это обширные сборки идентичных, относительно низкопроизводительных SoC.

Последние тенденции также пытались решить дилемму транзисторов способами, которые были бы слишком футуристическими даже для Inmos. Помимо добавления компонентов в кристалл ЦП и размещения нескольких кристаллов в одной системе, современные процессоры все чаще размещают несколько ядер в одном кристалле. Разработчики транспьютеров изо всех сил пытались уместить хотя бы одно ядро ​​в транзисторный бюджет. Сегодня проектировщики, работающие над увеличением плотности транзисторов в 1000 раз, обычно могут размещать их в больших количествах. Одна из последних коммерческих разработок появилась у фирмы XMOS , которая разработала семейство встраиваемых многоядерных многопоточных процессоров, которые сильно резонируют с транспьютером и Inmos. Появляется новый класс многоядерных/многоядерных процессоров, использующих подход сети на кристалле (NoC), например процессор Cell , архитектура Adapteva Epiphany, Tilera и т. д.

Транспьютер и Inmos помогли превратить Бристоль (Великобритания) в центр микроэлектронного дизайна и инноваций.

Смотрите также

Рекомендации

  1. ^ Аллен Кент , Джеймс Г. Уильямс (ред.) (1998) «Энциклопедия компьютерных наук и технологий», ISBN  0-8247-2292-2 , «Семейство транспьютерных продуктов», Хамид Р. Арабния.
  2. ^ Привет, Энтони Дж.Г. (1 января 1990 г.). «Суперкомпьютеры с транспьютерами — прошлое, настоящее и будущее». Материалы 4-й международной конференции по суперкомпьютерам-ICS'90 . Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 479–489. дои : 10.1145/77726.255192. ISBN 0897913698. S2CID  8612995.
  3. ^ Стокер и Уайт, А. . (2000). Мехатронное кинокопирование с использованием транспьютерного управления. Мехатроника (Оксфорд), 10 (7), 773–807. https://doi.org/10.1016/S0957-4158(99)00043-4
  4. ^ Фуллер, Сэмюэл Х. и Миллетт, Линетт И., редакторы (2011). Будущее вычислительной мощности , CSTB, National Academic Press, стр. 84. ISBN 978-0-309-15951-7 Получено 2 ноября 2016 г. 
  5. ^ "Приз дизайнеров принца Филиппа" . Совет дизайнеров . Проверено 1 декабря 2019 г.
  6. ^ Бэррон, Ян М. (1978). Д. Аспиналл (ред.). «Транспьютер». Микропроцессор и его применение: продвинутый курс . Издательство Кембриджского университета : 343. ISBN. 0-521-22241-9. Проверено 18 мая 2009 г.
  7. ^ Стейкем, Патрик Х. Архитектура аппаратного и программного обеспечения транспьютера, 2011, PRB Publishing, ASIN B004OYTS1K
  8. ^ Справочное руководство по транспьютеру (PDF) . Прентис-Холл . 1988. ISBN 0-13-929001-Х. Архивировано (PDF) из оригинала 9 октября 2022 г.
  9. ^ аб Кадзуто Танака; Сатоши Иванами; Такеши Ямакава; Чикара Фукунага; Кадзуто Мацуи; Такаси Ёсида. «Проектирование и производительность сети маршрутизаторов SpaceWire с использованием CSP». п. 2.
  10. ^ «Высокопроизводительные вычисления и сети: Международная конференция и выставка, Амстердам, Нидерланды, 21-23 апреля 1998 г.», Материалы . Британская Колумбия О'Нил; Дж. Коулсон; К.Л. Вонг; Р. Хочкисс; Дж. Х. Нг; С. Кларк; и П.Д. Томас. «Интерфейсное устройство для поддержки распределенной параллельной системы для микропроцессора StrongARM». п. 1031.
  11. ^ «Техническое примечание Inmos 29: Двухрядные транспьютерные модули (TRAM)» . Транспутер.нет. 04 июля 2008 г. Проверено 12 октября 2013 г.
  12. ^ Боргер и Дурданович И. (1996). Корректность компиляции Оккама в транспьютерный код. Компьютерный журнал, 39 (1), 52–92. https://doi.org/10.1093/comjnl/39.1.52
  13. ^ Эннинг, Ник; Хебдич, Дэвид (20 марта 1986 г.). «Новый чип демонстрирует свои возможности». Новый учёный . стр. 43–46 . Проверено 22 июня 2022 г.
  14. ^ «Коммуникационные архитектуры процессов 2004». п. 361. Макото Танака; Наоя Фукучи; Ютака Ооки; и Чикара Фукунага. «Проектирование транспьютерного ядра и его реализация в FPGA». 2004.
  15. ^ Патент на процессор Inmos T9000, «Патент США 5742783»,
  16. ^ Патент Inmos DS Link, «Патент США на коммуникационный интерфейс 5341371»
  17. ^ Харальд В. Вабниг (20–22 сентября 1993 г.). Виртуальные каналы для безблокировочной связи в транспьютерных сетях. 1993 Всемирный транспьютерный конгресс. Ахен, Германия. п. 1047. ИСБН 9789051991406.
  18. ^ «Быстрая система автоматизации реального времени ADwin» (PDF) . Архивировано из оригинала (PDF) 25 апреля 2012 г. Проверено 16 ноября 2011 г.
  19. ^ Эдмундс, Ник (июль 1993 г.). «Когда сталкиваются два мира». Мир персональных компьютеров .
  20. ^ Бангай, Шон (июль 1993 г.). Параллельная реализация системы виртуальной реальности на транспьютерной архитектуре (PDF) . Университет Родоса. Архивировано (PDF) из оригинала 9 октября 2022 г. Проверено 6 мая 2012 г.
  21. ^ "Платформа Мириады" . Проверено 22 августа 2011 г.
  22. ^ Дэвид Шемуил. «Проектирование космических систем» (PDF) . Архивировано из оригинала (PDF) 21 марта 2012 г. Проверено 22 августа 2011 г.
  23. ^ Т.Л. Фриман и М.К. Бэйн, « Асинхронные полиномиальные алгоритмы поиска нуля ». Параллельные вычисления 17, стр. 673-681. (1991)
  24. ^ Космический корабль HETE-2

Внешние ссылки

• СУПЕРУЗЕЛ — проект ЕС Esprit-1085 (1985–1988 гг.) [1]