最近的游戏TIS-100围绕着一个相当有趣的机器架构,其中CPU由可以与其相邻邻居通信的"节点"组成。不幸的是,我找不到公开讨论的参考手册的官方链接,但总的来说,每个节点都支持一个非常简单的ISA,但在同一个时钟上并行运行。每个节点有两个寄存器,一个ACC
寄存器和一个BCK
副寄存器。参考手册说CPU是为流处理设计的。
这给我的印象是一个相当有趣和潜在有用的设计。这种类型的架构在现实世界中使用吗?它有点像时钟处理器和fpga的混合体。
您可能想要查看GreenArrays的GA144处理器。它是一个矩形网格中的144个非常小的处理器,节点之间有高速数据链路,就像TIS-100的工作原理一样。每个节点都是一个F18A处理器,具有64个18位字的RAM(和64个ROM),基本上是本机运行Forth的。所有的I/O都连接到边缘的节点上,所以为了完成工作,你必须在网络上推送数据。
它是由Chuck Moore设计的,他发明了Forth,使用他自己设计和编写的芯片软件,使用他自己设计和编写的开发系统,使用他自己设计和编写的开发系统,在他自己设计和编写的操作系统上运行,在Forth…
请参阅此链接以获得不太正式的编写和回顾,包括模拟器(在Haskell中)。
这似乎是来自不同世纪的不同真实架构的简化组合。每个节点的指令集类似于20世纪80年代简化的8051。TIS-100节点具有ACC和BCK寄存器,8051使用a &D登记。A寄存器在大多数指令中,而D寄存器,就像BCK寄存器一样,只能在某些罕见的情况下使用。
将许多相当简单的节点放置在2d网格中,并与相邻节点进行通信端口也是已经完成的事情。这通常被称为多核CPU。Tilera就是一个例子。然而,在如此多的核心中使用的CPU内核比目前的高性能CPU简单,但远不如TIS-100节点简单。(或8051)另一个例子是Adapteva Epiphany IV。