cpu-architecture - 真实世界模拟到 TIS-100

标签 cpu-architecture instruction-set stream-processing

近期比赛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,它运行在他自己设计和编写的操作系统上, 在 Forth...

this link用于不太正式的撰写和评论,包括模拟器(在 Haskell 中)。

关于cpu-architecture - 真实世界模拟到 TIS-100,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737689/

相关文章:

android - 如何确保应用程序与 64 位兼容?

C编程和error_code变量效率

assembly - PUSH/POP 指令被视为 RISC 还是 CISC?

java - 如何根据状态变化事件分布式统计flink有多少 "clients"状态?我需要有状态的对象

compiler-construction - Tilera 微处理器使用什么指令集?

c - 如何从命令行使所有(数据)缓存失效?

编译器和指令集

assembly - CPU/汇编器如何知道下一条指令的大小?

apache-kafka - Apache Beam over Apache Kafka流处理

java - 如何使用 coGroup() 在 Flink 连接后清空窗口?