真实世界模拟 TIS-100

Real-world analog to TIS-100

最近的游戏 TIS-100 围绕着一个相当有趣的机器架构,其中 CPU 由 "nodes" 组成,可以与相邻的邻居进行通信。不幸的是,我找不到官方 link 参考手册进行 public 讨论,但总而言之,每个节点都支持一个非常简单的 ISA,但 运行 在同一时钟上并行。每个节点都有两个寄存器,一个 ACC 寄存器和一个 BCK 辅助寄存器。参考手册说 CPU 是为流处理而设计的。

我认为这是一个相当有趣且可能有用的设计。这种类型的架构是否在现实世界中使用?它有点像是时钟处理器和 FPGA 的混合体。

这似乎是不同世纪不同真实建筑的简化组合。每个节点的指令集类似于 1980 年代的简化 8051。 TIS-100 节点有一个 ACC 和 BCK 寄存器,而 8051 使用一个 A & D 寄存器。 A寄存器在大多数指令中都有,而D寄存器,就像BCK寄存器只能在极少数情况下使用

在 2D 网格中放置许多相当简单的节点,并为其邻居提供通信端口也是已经完成的事情。这通常称为 Manycore CPU。一个例子是 Tilera. However, the CPU cores used in such many core are simpler than current high performance CPUs, but not nearly as simple as the TIS-100 node. (or a 8051) Another example would be the Adapteva Epiphany IV.

您可能需要查看 GreenArrays' GA144 处理器。它是一个矩形网格中的 144 个非常小的处理器,在节点之间具有高速数据链路,其工作方式与 TIS-100 类似。每个节点都是一个 F18A 处理器,带有 64 个 18 位字的 RAM(和 64 个 ROM),或多或少地在本地运行 Forth。所有 I/O 都连接到边缘节点,因此要完成工作,您必须在网络中推送数据。

它是由 Chuck Moore 设计的,他发明了 Forth,在 Forth 中使用了他自己设计和编写的芯片软件,在 Forth 中使用了他自己设计和编写的开发系统,在 Forth 中运行在操作系统上他自己设计并编写了 Forth...

请参阅 this link 了解不太正式的文章和评论,包括模拟器(在 Haskell 中)。