
transputer是20世纪80年代一系列开创性的微处理器,旨在用于并行计算。为了支持这一点,每个transputer都有自己的集成内 存和串行通信链路,以与其他transputer交换数据。它们是由Inmos设计和生产的,这是一家总部位于英国布里斯托尔的半导体公司。
在20世纪80年代后期的一段时间里,许多人认为transputer将成为计算机未来的下一个伟大设计。虽然transputer没有达到这个期望,但transputer架构在计算机体系结构中引发了许多新的想法,其中一些在现代系统中以不同形式重新出现。

背景
在20世纪80年代初,传统的中央处理单元(CPU)似乎已经达到了性能极限。到那时为止,制造工艺上的困难限制了芯片上可以容纳的电路数量。然而,随着制造工艺的不断改进,这种限制基本上被消除了。在接下来的十年里,芯片的容量远远超过了设计师当初所能想象的。与此同时,传统的复杂指令集计算机(CISC)设计已经达到了性能瓶颈,我们面临着克服这一问题的挑战。
似乎唯一的前进方向是增加并行性的应用,即利用多个CPU同时处理多个任务。这要求机器能够进行多任务处理,即同时运行多个任务。过去的微处理器设计往往很难实现这一点,但近期的设计已经能够有效地支持多任务处理。可以预见的是,将来所有操作系统都会拥有这一特性。
大多数多任务处理设计的附带效果是允许进程在不同物理CPU上运行,这种情况被称为多处理。通过采用低成本的多处理CPU设计,可以通过添加更多CPU来提高机器的速度,这样做的成本可能比使用更快的单个CPU设计低得多。
最早的transputer设 计由计算机科学家David May和电信顾问Robert Milne完成。1990年,May获得南安普敦大学荣誉理学博士学位,1991年当选为英国皇家学会院士,并于1992年获得物理学研究所的帕特森奖章。Inmos的首席工程师Tony Fuge在1987年因他在T414 transputer上的工作而获得菲利普亲王设计奖。
设计
transputer是第一个专为并行计算系统设计的通用微处理器。其目标是生产一系列功耗和成本不同的芯片,通过将它们连接在一起形成完整的并行计算机。这个名字是从"transistor"(晶体管)和"computer"(计算机)中选取的,意味着单个transputer将扮演的角色,就像之前的晶体管一样,作为基本构件模块。
最初的计划是使每个transputer的成本控制在几美元。Inmos公司认为它们可以应用于几乎所有领域,从作为计算机的主要CPU到作为同一台机器上磁盘驱动器的通道控制器。在传统机器中,例如,磁盘控制器的处理能力在磁盘未被访问时处于闲置状态。相比之下,在transputer系统中,任何这些transputer上的空闲周期都可以用于执行其他任务,极大地提高了机器的整体性能。
即使只有一个transputer,它仍然具备足够的电路来实现自我工作,这一特点更类似于微控制器。这使得将transputer连接在一起变得非常简单,无需复杂的总线或主板。只需要提供电源和一个简单的时钟信号,几乎不需要其他组件:RAM、RAM控制器、总线支持甚至实时操作系统(RTOS)都已内置。
架构
transputer最初采用了一 种非常简单而又独特的架构,以在较小的面积内实现较高的性能。它使用微码作为主要控制数据路径的方法,但与当时其他设计不同的是,许多指令只需一个周期即可执行。指令操作码被用作微码只读存储器(ROM)的入口点,并且ROM的输出直接输入到数据路径中。对于多周期指令,当数据路径执行第一个周期时,微码会解码出四个可能的选项供第二个周期使用。决定实际使用哪个选项的决策会在第一个周期结束时进行。这样一来,在保持体系结构通用性的同时实现了极快的操作。
20 MHz的时钟速率对于当时来说相当高,设计人员非常关注如何在电路板上分发这样快速的时钟信号。他们使用了一个较慢的外部5 MHz时钟,并通过锁相环将其提高到所需的内部频率。实际上,内部时钟具有四个不重叠的相位,设计人员可以自由选择其中任意的组合,因此可以说transputer实际上以80 MHz的速度运行。设计的许多部分都采用了动态逻辑,以减小面积并增加速度。不幸的是,这些方法很难与自动测试模式生成的扫描测试相结合,因此后来的设计中不再使用它们。
有关transputer通用原理的书籍由Prentice-Hall出版。
链接
transputer的基本设计包括一种称为"os-link"的串行链接,允许它与其他最多四个transputer进行通信,每个链接速度为5、10或20 Mbit/s - 在20世纪80年代时,已经非常快了。任意数量的transputer都可以通过链接连接在一起,形成一个计算"farm"(农场)。例如,假设有一个台式机可能有两个较低端的transputer,在某些串行线上处理输入/输出(I/O)任务(连接到适当的硬件),同时与作为另一个CPU的更大的cousin进行通信。
使用这种方式构建的系统存在一些限制。由于每个transputer只与另一个transputer以固定的点对点布局相连,向更远的transputer发送消息需要通过线路中的每个芯片进行消息中继。这导致每次通过链接时都会引入延迟,从而在大型网络上引起长时间的延迟。为了解决这个问题,Inmos还提供了一个零延迟开关,将32个transputer(或交换机)连接成更大的网络。
引导启动
transputer可以像大多数计算机一样从内存引导启动,但也可以通过其网络链接进行引导。芯片上的一个特殊引脚BootFromROM指示它应该使用哪种方法。如果断言了BootFromROM引脚,那么在芯片复位时,它将从内存顶部偏移两个字节处开始处理,通常用于跳转到引导代码。如果没有断言此引脚,芯片将等待从任何网络链接接收字节。接收到的第一个字节将是随后代码的长度。随后的字节将被复制到低地址的内存中,然后在接收到相应数量的字节后跳入其中。
系统的一般概念是让一个transputer充当中央控制机构,引导启动连接到它上面的由多个transputer组成的系统。所选的transputer将永久地断言BootFromROM引脚,这将导致它在启动时从ROM中运行引导程序。其他transputer将把BootFromROM引脚绑定为低电平,并简单地等待。加载程序将引导主控transputer,然后开始向网络中的其他transputer发送引导代码,并且可以自定义发送给每个transputer的代码,例如,发送设备驱动程序到连接到硬盘的transputer。
该系统还包括专门用于PEEK和POKE的特殊代码(长度为0和1)。这允许在未引导的transputer中检查和更改RAM。在执行PEEK(接 着是内存地址)或POKE(带有地址和单个数据字节)之后,transputer将返回等待引导的状态。这种机制通常用于调试目的。
调度器
transputer添加了电路来分配通过链接的流量。正在等待通信的进程会自动暂停,直到网络电路完成读取或写入操作。然后,运行在transputer上的其他进程将获得该处理时间。它包括两个优先级级别,以改善实时和多处理器操作。同样的逻辑系统被用于在一个transputer上运行的程序之间进行通信,作为内存中的“虚拟网络链接”实现。因此,在操作完成时,请求任何输入或输出的程序会自动暂停,而这通常需要操作系统作为硬件仲裁器来处理。transputer上的操作系统不需要处理调度;可以认为芯片内部有一个操作系统。
指令集
为了在一个芯片上包含所有这些功能,transputer的核心逻辑比大多数CPU要简单。尽管有些人称其为“精简指令集计算机”(RISC),因为其相对稀疏的特性,并且那时候这是一个理想的市场营销词汇,但它是经过密集微码化的,具有有限的寄存器集和复杂的内存到内存指令,这使其明确属于CISC阵营。
与寄存器密集的加载/存储RISC CPU不同,transputer只有三个数据寄存器,其行为类似于堆栈。此外,工作区指针指向一个传统的内存堆栈,可以通过Load Local和Store Local指令轻松访问。这使得通过简单地将工作区指针更改为另一个进程使用的内存来实现非常快速的上下文切换成为可能(这种方法在许多当代设计中都有使用,比如TMS9900)。这三个寄存器堆栈内容在某些指令(如Jump)之后不会被保留,从而可以在进行transputer上下文切换时执行。
transputer的指令集由从操作码和操作数半字节(nibble)组装的8位指令组成。上部半字节包含了16个可能的主要指令代码,使其成为极少数商业化的最小指令集计算机之一。下部半字节包含一个立即常数操作数,通常用作相对于工作区(内存堆栈)指针的偏移量。两个前缀指令允许通过将其底部半字节添加到后续指令的操作数中来构建更大的常数。通过指令代码Operate(Opr),支持进一步的指令,该指令将常数操作数解码为扩展的零操作数操作码,从而实现了几乎无限和简单的指令集扩展,这些特性随着新的transputer实现推出。
这16个'primary'单操作数指令如下:
| 助记符 | 描述 |
|---|---|
| J | Jump - 将立即操作数加到指令指针上进行跳转 |
| LDLP | 加载本地指针 - 将与工作区相关的指针加载到寄存器堆栈的顶部 |
| PFIX | 前缀 - 一般方式用于增加后续主要指令的低半字节 |
| LDNL | 加载非本地 - 加载相对于堆栈顶部地址偏移处的值 |
| LDC | 加载常数 - 将常数操作 数加载到寄存器堆栈的顶部 |
| LDNLP | 加载非本地指针 - 加载离堆栈顶部偏移的地址 |
| NFIX | 负前缀 - 求反(并可能增加)低半字节 |
| LDL | 加载本地 - 从工作区加载与偏移量相关的值 |
| ADC | 加载常数 - 将常数操作数添加到寄存器堆栈的顶部 |
| CALL | 子程序调用 - 推送指令指针并跳转 |
| CJ | 条件跳转 - 根据寄存器堆栈顶部的值进行跳转 |
| AJW | 调整工作区 - 将操作数添加到工作区指针上 |
| EQC | 等于常数 - 测试寄存器堆栈顶部是否等于常数操作数 |
| STL | 存储本地 - 存储到与工作区的常数偏移量处 |
| STNL | 存储非本地 - 存储到与堆栈顶部地址偏移处 |
| OPR | 操作 - 用于扩展指令集的一般方式 |
所有这些指令都需要一个常数,表示偏移量或算术常数。如果这个常数小于16,所有这些指令都编码为一个字节。
前16个“secondary”零操作数指令(使用OPR主要指令)如下:
| 助记符 | 描述 |
|---|---|
| REV | Reverse - 交换 寄存器堆栈的两个顶部元素 |
| LB | 加载字节 |
| BSUB | 字节下标运算 |
| ENDP | 结束进程 |
| DIFF | 差运算 |
| ADD | 加法 |
| GCALL | 通用调用 - 交换栈顶和指令指针(instruction pointer) |
| IN | 输入 - 接收消息 |
| PROD | 乘积 |
| GT | 大于 - 唯一的比较指令 |
| WSUB | 字下标运算 |
| OUT | 输出 - 发送消息 |
| SUB | 减法 |
| STARTP | 启动进程 |
| OUTBYTE | 输出字节 - 发送一个字节的消息 |
| OUTWORD | 输出字 - 发送一个字的消息 |
开发

空的B008 母版

Selection of TRAMs
为了简化transputer系统的原型制作、构建和配置,Inmos在1987年引入了TRAM(TRAnsputer Module)标准。TRAM基本上是一个可扩展的构建模块,包括一个transputer和可选的外部内存和/或外设设备。它使用简单的标准连接器提供电源、transputer链接、时钟和系统信号。TRAM定义了多种尺寸,从基本的Size 1 TRAM(3.66英寸乘以1.05英寸)到Size 8 TRAM(3.66英寸乘以8.75英寸)。Inmos还生产了适用于各种主机总线(例如Industry Standard Architecture - ISA,MicroChannel,或VMEbus)的TRAM母板系列。TRAM之间通过10 Mbit/s或20 Mbit/s的运行速率进行连接。
软件
transputer的设计意图是使用基于通信顺序进程 (CSP) 进程演算的编程语言occam进行编程。transputer专门为运行Occam而构建,与当时的CISC设计相比,它更适合运行像Pascal或C这样的语言。Occam支持并发和基于通道的进程间或处理器间通信作为语言的基本组成部分。由于芯片内置了并行性和通信功能,并且语言直接与芯片进行交互,编写诸如设备控制器之类的代码变得非常简单;即使是最基本的代码也可以监视串口的I/O,并在没有数据时自动休眠。
transputer最初的Occam开发环境是Inmos D700 transputer Development System(TDS)。这是一个独特的集成开发环境,包括编辑器、编译器、链接器和(事后)调试器。TDS是一个用Occam编写的transputer应用程序。TDS文本编辑器引人注目的地方在于它是一个可折叠编辑器,允许隐藏和显示代码块,以使代码结构更加清晰。不幸的是,陌生的编程语言和同样陌生的开发环境对transputer的早期受欢迎程度没有任何帮助。后来,Inmos发布了更常规的Occam交叉编译器,称为Occam 2 Toolsets。
后来,Inmos和第三方供应商还发布了更主流的编程语言实现,如C,FORTRAN,Ada,Forth和Pascal。这些通常包括语言扩展或库,以较不优雅的方式提供类似于Occam的并发性和基于通道的通信。
transputer不支持虚拟内存,这限制了移植主流变种的Unix操作系统,但也有一些类Unix操作系统的移植版本,如Whitesmiths的Minix 和Idris。另外Perihelion Software还设计了一种先进的类Unix分布式操作系统HeliOS,专门用于多transputer系统。
实现
第一款transputer在1983年首次推出,并于1984年发布。
作为类似于微控制器的设备,transputer内置了RAM和RAM控制器,可以在不添加硬件的情况下扩展更多内存。与其他设计不同,transputer不包括I/O线路:这些线路需要通过连接到现有串行链接的硬件来添加。它还具有一个称为"Event"的线路,类似于传统处理器的中断线路。通过事件通道,程序可以从事件通道获取输入,并且只在事件线路断言之后继续执行。
所有的transputer都是通过外部5 MHz时钟输入进行运行的;这个时钟会被乘以倍数来提供处理器时钟。
transputer不包括内存管理单元(MMU)或虚拟内存系统。
transputer的变体(除了取消的T9000)可以分为三组:16位的T2系列,32位的T4系列,和具有64位IEEE 754 浮点数支持的32位T8系列。
T2: 16-bit

Inmos T225 die
首个16位传输器原型为S43,其链接中缺少调度程序和DMA控制的块传输功能。推出时,提供的16位版本有T212和M212(后者带有内置磁盘控制器)。T212可选配17.5 MHz和20 MHz两种处理器时钟频率。随后,T212被T222替代,新增了从2 KB扩展到4 KB的片上RAM,并且之后又有了T225。T225增加了调试-断点支持(通过扩展指令“J 0”)以及从T800指令集中提取的额外指令。T222和T225的运行频率为20 MHz。
T4: 32-bit

Inmos T425 die
于1985年10月推出的T414采用了相当于90万个晶体管,并使用1.5微米的特征尺寸进行制造。它是一个32位设计,能够处理32位的数据单元,并可以寻址高达4 GB的主存储器。最初,第一个32位变种应该是T424,但由于制造困难,它被重新设计为T414,内置RAM从原计划的4 KB缩减至2 KB。T414有15和20 MHz两个版本。在后来的T425上将RAM恢复到4 KB(有20、25和30 MHz三个版本),此外还增加了J 0断点支持和额外的T800指令。T400于1989年9月发布,是一款低成本的20 MHz T425衍生产品,具有2 KB RAM和两个链接(而不是四个链接),专为嵌入式系统市场而设计。
T8: floating point

Inmos T805 die
第二代的T800 transputer于1987年推出,具有扩展指令集。最重要的改进是引入了一个64位的浮点数单元(FPU),以及三个用于浮点运算的附加寄存器,实现了IEEE 754-1985浮点数标准。它还有4 KB的内置RAM,并提供20 MHz或25 MHz的版本。后来的T801和T805增加了断点支持,前者具有独立的地址和数据总线以提高性能。T805后来也提供了30 MHz版本。
计划推出增强版的T810,该版本将具有更多的RAM,更多和更快的链接,额外的指令和改进的微码,但该计划于1990年左右取消。
Inmos还为transputer处理器生产了各种支持芯片,例如C004 32路链路交换器以及C011和C012“链接适配器”,这些适配器允许将transputer链接接口与8位数据总线连接。
T400
Inmos最初的策略之一是制造如此小巧和便宜的CPU,以便可以将其与其他逻辑组合在一个设备中。虽然现在常称为*片上系统(SoC)的概念已经无处不在,但在20世纪80年代早期,这个概念几乎闻所未闻。大约在1983年左右启动了两个项目,即M212和TV-toy*。M212基于标准的T212内核,额外添加了适用于ST 506和ST 412 Shugart标准的磁盘控制器。TV-toy是一个用于视频游戏机的基础,并且是Inmos和Sinclair Research的联合项目。
T212和T414/T424 transputer中的链路具有硬件DMA引擎,因此传输可以与执行其他进程并行进行。设计的一个变体称为T400,不要与后来同名的transputer混淆,其中CPU处理这些传输。由于4个链路引擎的大小大约与整个CPU相同,因此这减小了设备的体积。T400旨在用作当时被称为系统级芯片(SOS)设备中的核心,现在更常被称为*片上系统*(SoC)。正是这个设计成为了TV-toy的一部分。该项目于1985年取消。
T100
尽管之前的SoC项目只取得了有限的成功(M212一度有销售),但许多设计师仍坚信这个概念。因此,在1987年开始了一个新项目,即T100,它将8位版本的transputer CPU与基于状态机的可配置逻辑相结合。transputer的指令集基于8位指令,并且可以轻松地与任何字长是8位的倍数的系统一起使用。T100的目标市场是总线控制器,如Futurebus,并且还是标准链接适配器(C011等)的升级方案。当T840项目启动时,T100项目被停止。T840后来成为T9000的基础。

TPCORE
TPCORE是在FPGA中运行的transputer实现,包括os-link。
T9000

Inmos在T8系列transputer的性能方面进行了改进,并推出了T9000(在开发过程中被称为H1)。T9000与T800共享大部分功能,但将设计的几个部分移入硬件,并添加了一些超标量支持的功能。与早期型号不同,T9000具有真正的16 KB高速缓存(使用随机替换)而不是RAM,但也允许将其用作内存,并 包含类似MMU的功能来处理所有这些(称为PMI)。为了提高速度,T9000对堆栈的前32个位置进行了缓存,而不是像早期版本那样只有三个位置。

T9000采用了五级流水线以提高处理速度。一个有趣的新增特性是grouper,它能够将缓存中的指令收集起来,并将它们组合成最多8个字节的较大数据包,以更快地供给流水线。这样的数据包可以在一个周期内完成,就像它们是在更快的CPU上工作的单个更大指令。
链接系统升级到了新的100 MHz模式,不同于之前的系统,新的基于分组的链接协议称为DS-Link,后来成为IEEE 1355串行互连标准的基础。T9000还引入了名为VCP(Virtual Channel Processor)的链接路由硬件,将链接从点对点转变为真正的网络,允许在链接上创建任意数量的虚拟通道。这意味着程序不再需要了解物理连接的布局。此外,还开发了一系列支持DS-Link的芯片,包括C104 32路交叉开关和C101链接适配器。
由于T9000的开发时间过长,较快的加载/存储设计在其发布时已经超越了它的性能。它未能达到自己的性能目标,无法将性能提高到T800的十倍。当该项目最终被取消时,它在50 MHz下仅实现了约36 MIPS的性能。生产延迟导致有人戏称T9000的最佳主机架构是投影仪。
这对Inmos来说非常困难,公司没有足够的资金来继续开发。此时,公司已被SGS-Thomson(现为STMicroelectronics)收购,后者专注于嵌入式系统市场。因此,T9000项目被放弃。然而,后来推出了经过全面重新设计的32位transputer,用于嵌入式应用,即ST20系列,并借鉴了T9000的一些技术。ST20内核被应用于机顶盒和GPS(全球定位系统)应用的芯片组中。
ST20
尽管ST20不是严格意义上的transputer,但受到了T4和T9的很大影响,并成为T450的基础,可以说是最后一个transputer。ST20的任务是成为新兴的SoC市场中可重复使用的核心。最初,ST20被称为可重复使用微内核(RMC)。架构在某种程度上基于原始的T4架构,具有由微码控制的数据路径。然而,这是一次全面的重新设计,使用VHDL作为设计语言,并搭配经过优化(并进行了重新编写)的微码编译器。该项目最早于1990年开始构思,在那时意识到T9对许多应用来说太大了。实际的设计工作始于1992年中期。进行了几个试验性设计,从非常简单的RISC风格CPU,通过陷阱以软件方式实现复杂指令,到类似Tomasulo算法的相当复杂的超标量设计。最终的设计看起来与原始的T4核心非常相似,尽管增加了一些简单的指令分组和工作区缓存以提高性能。
采用情况
尽管transputer在CPU和微控制器角色中具备简单而强大的特性,但它从未实现其在普遍使用中的目标。在微控制器市场上,8位微型机主导了市场份额,成本是最重要 的考虑因素。即使对于大多数用户来说,T2s也太过强大和昂贵。
在计算机桌面和工作站领域,transputer的速度相当快(在20 MHz下每秒执行约1000万条指令)。这在20世纪80年代初是出色的性能,但随着T800配备浮点数单元(FPU)的推出,其他RISC设计已经超越了它。如果按计划使用多个transputer,这种差距在很大程度上可以得到缓解,但是T800的价格在推出时约为每个400美元,意味着性价比较低。几乎没有基于transputer的工作站系统被设计出来;其中最值得一提的可能是Atari transputer Workstation。
transputer在大规模并行计算领域取得了更大的成功,20世纪80年代,一些供应商生产了基于transputer的系统。这些供应商包括由前Inmos员工创立的Meiko Scientific、Floating Point Systems、Parsytec和Parsys。几个英国的学术机构成立了与基于transputer的并行系统应用相关的研究活动,包括Bristol Polytechnic的Bristol transputer Centre和University of Edinburgh的Edinburgh Concurrent Supercomputer项目。此外,德国DESY的ZEUS实验中的数据采集和二级触发系统也是基于300多个同步时钟的transputer网络,并分为多个子系统。这些系统控制着自定义探测器电子设备的读出,并运行用于物理事件选择的重建算法。
transputer在图像处理方面得到了商业应用,其中世界最大的印刷公司RR Donnelley & Sons在1990年代初使用它来快速转换数字图像以进行印刷准备,从而获得了竞争优势。Jäger Messtechnik公司在早期的ADwin实时数据采集和控制产品中也采用了transputer。
此外,一些其他应用中也使用了transputer。例如,法国的一家公司构建了Archipel Volvox超级计算机,使用了多达144个T800和T400 transputers。德国西门子/泰克特朗尼克斯K1103等协议分析仪和军事应用中也采用了transputer。在这些应用中,transputer的阵列架构适用于雷达等领域,而其高速串行链路则减少了子系统通信的成本和重量。
transputer还出现在与虚拟现实有关的产品中,例如ProVision 100系统,由Division Limited制造,结合了Intel i860、80486/33和Toshiba HSP处理器,以及T805或T425 transputer,用于渲染引擎,并可以通过PC、Sun SPARCstation或VAX系统作为服务器进行访问。
Myriade是欧洲的一种迷你化卫星平台,用于一些卫星项目(如Picard)。它使用T805处理器,性能约为4 MIPS,并计划在2015年左右停止生产。
此外,transputer还被用于异步算法的开发中。通信和计算的异步操作使得异步算法成为可能,在迈向百亿亿次计算的过程中,异步算法的领域以及当前算法的异步实现可能起到关键作用。
航天器高能瞬变探测器2号(HETE-2)也采用了transputer,其中包括4个T805 transputers和8个DSP56001处理器,其性能约为1亿条指令每秒(MIPS)。
遗留技术
传统的CPU设计主要通过利用内部并行性来实现改进。与使用显式线程级并行性的transputer不同,CPU设计利用指令级隐式并行性,检查代码序列中的数据依赖性,并向不同的执行单元发出多个独立的指令。这被称为超标量处理。超标量处理器适用于优化顺序构建的代码片段的执行。结合推测执行,已经在现有的基于Pascal、Fortran、C和C++编写的代码上实现了明显的性能提升。由于对现有代码进行了重大且定期的性能改进,几乎没有动力将软件重新编写为更多暴露任务级并行性的语言或编码风格。
然而,在21世纪,集群计算系统成为主导超级计算机设计的模型。这些系统中,处理单元通常采用具有大量内存和磁盘存储器的超标量CPU,运行传统操作系统和网络接口。由于节点的复杂性,用于协调此类系统中并行性的软件架构通常比transputer架构中的要重量级得多。
长达20多年的时间里,晶体管数量的持续增加掩盖了transputer核心动机。然而,微处理器设计师最终耗尽了对更大物理资源的利用,并且技术缩放开始接近极限。功耗和散热需求使得进一步增加时钟频率变得不可行。这些因素导致该行业在本质上走向与Inmos提出的解决方案几乎没有区别的方向。
目前,世界上最强大的超级计算机基于来自哥伦比亚大学的设计,并以IBM Blue Gene构建,实现了transputer的梦想。这些计算机是通过组装大量相同的、性能相对较低的SoC而构建的。
近年来,出现了一些试图解决晶体管困境的趋势,尽管有些方法甚至对于Inmos来说都过于未来主义。除了在CPU芯片中增加组件并将多个芯片集成到一个系统中之外,现代处理器越 来越多地将多个核心放置在一个芯片中。transputer的设计曾经努力在其预算内适应单个核心。而如今,在晶体管密度增加了1000倍的情况下,设计师通常可以放置许多核心。公司XMOS最近取得了商业发展的重要成果,他们开发了一系列嵌入式多核多线程处理器,与transputer和Inmos有着强烈的共鸣。出现了一类新兴的多核/众核处理器,采用了"芯片上网络"(NoC)的方式,例如Cell处理器、Adapteva的Epiphany架构和Tilera等。
transputer和Inmos帮助确立了英国布里斯托尔作为微电子设计和创新的中心。
本文由Wikipedia® Transputer 词条翻译而来,Wikipedia®是维基媒体基金会的注册商标,一个非营利组织。
