Dataflow vs. Control-Flow
von Neumann or control flow computing model:
- a program is a series of addressable instructions, each of which either
- specifies an operation along with memory locations of the operands or
- it specifies (un)conditional transfer of control to some other instruction.
- Essentially: the next instruction to be executed depends on what happened during the execution of the current instruction.
- The next instruction to be executed is pointed to and triggered by the PC.
- The instruction is executed even if some of its operands are not available yet (e.g. uninitialized).
Dataflow model: the execution is driven only by the availability of operand!
- no PC and global updateable store
- the two features of von Neumann model that become bottlenecks in exploiting parallelism are missing