Транспьютер


Транспью́тер (англ. transputer) — элемент построения многопроцессорных систем, выполненный на одном кристалле большой интегральной схемы, продукт английской компании Inmos[англ.] (ныне — подразделение STMicroelectronics). Термин транспьютер происходит от слов «транзистор» (англ. transistor) и «компьютер», по мнению разработчиков, такое название должно было подчёркивать возможность построения сложных вычислительных комплексов на базе транспьютеров, где их роль уподоблялась бы роли транзисторов, выступающих основным элементом при проектировании электронных схем. Другая интерпретация — trans-put-er — «тот, кто передаёт», указывает на присутствие встроенных скоростных устройств ввода-вывода для обмена с соседними процессорами.

Транспьютеры успешно использовались в различных областях — от встроенных систем до суперкомпьютеров. В XXI веке транспьютеры используются, например, в платформе космических аппаратов Myriade[англ.]. Принято считать, что концепция транспьютеров оказала заметное влияние на развитие микропроцессорной техники 19801990-х годов. Так, термин «линк» (англ. link) — физический канал связи между параллельно работающими процессорами — пришёл из транспьютеров[источник не указан 1871 день]. На протоколе последовательного интерфейса транспьютеров серии Т9000[1] основан стандарт IEEE 1355[2].

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

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