A Preliminary Architecture for a Basic Data-Flow Processor

Authors: Jack B. Dennis, David P. Misunas (MIT Project MAC) | Venue: 2nd Annual Symposium on Computer Architecture (ISCA), 1975 | ACM: 641675.642111 | PDF: Dennis_Misunas_Basic_Data_Flow_Processor_1975.pdf

一句话总结

elementary data-flow processor(Karp–Miller 模型、Instruction Cell + 仲裁/分发网络)上扩展 条件与迭代(decider、T/F-gate、merge、Decision Units),并用 Instruction Memory + Cell Block(Association Table + Stack LRU) 使 Instruction Cell 仅缓存活跃指令——避开 Von Neumann 并行机的切换与互连瓶颈。

核心贡献

  1. Basic data-flow 语言:control token + gate/merge actor;迭代/分支数据流图(Figure 8 while 例)
  2. Basic processor:Operation Units + Decision Units + Control Network;gating code 内嵌 gate 语义
  3. 两级存储:major/minor 地址 → Cell Block;retrieve/store 与 preempt(Stack 置换 occupied Cell)
  4. Packet 通信:固定大小 operation/data/control packet;段间可容忍延迟
  5. 路线图:通向 Fortran 级 generalized data-flow(数组、过程、向量并行待扩展)

关键机制

机制要点
Fire 规则所有输入 token 就绪且输出弧空
Merge多目的地写同一寄存器,非独立指令
Cell 状态free → engaged(packet 先到)→ occupied(指令载入)
置换Stack 选 occupied Cell → store 到 Instruction Memory → retrieve 新指令

与 wiki 交叉引用

Citations

[1] Dennis_Misunas_Basic_Data_Flow_Processor_1975.pdf — Dennis & Misunas (1975)