最近的游戏TIS-100以一个相当有趣的机器架构为中心,其中 CPU 由可以与相邻邻居通信的“节点”组成。遗憾的是,我找不到公开讨论的参考手册的官方链接,但总而言之,每个节点都支持一个非常简单的 ISA,但在同一时钟上并行运行。每个节点有两个寄存器,一个ACC
寄存器和一个BCK
辅助寄存器。参考手册说 CPU 是为流处理而设计的。
这让我觉得这是一个相当有趣且可能有用的设计。这种架构是否在现实世界中使用?它有点像是时钟处理器和 FPGA 的混合体。
最近的游戏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,使用他自己设计和编写的开发系统,在 Forth 中运行在他自己设计和编写的操作系统上, 在第四...
有关不太正式的文章和评论,请参阅此链接,包括模拟器(在 Haskell 中)。
这似乎是来自不同世纪的不同真实架构的简化组合。每个节点的指令集类似于 1980 年代的简化 8051。TIS-100 节点有一个 ACC 和 BCK 寄存器,而 8051 使用一个 A&D 寄存器。A 寄存器在大多数指令中和 D 寄存器一样,就像 BCK 寄存器只能在极少数情况下使用。
将许多相当简单的节点放置在具有与邻居通信端口的 2D 网格中也是已经完成的事情。这通常称为众核 CPU。一个例子是Tilera。然而,这么多核心中使用的 CPU 核心比当前的高性能 CPU 更简单,但远不如 TIS-100 节点那么简单。(或 8051)另一个例子是Adapteva Epiphany IV。