4 ms·
> programs are DAGs, and instructions are only run when their inputs are ready, rather than when a program counter reaches them. At a low level, that's exactly
by tomn 11y ago
> programs are DAGs, and instructions are only run when their inputs are ready, rather than when a program counter reaches them.
At a low level, that's exactly what modern CPUs do.
https://en.wikipedia.org/wiki/Out-of-order_execution https://en.wikipedia.org/wiki/Out-of-order_execution
- chrisseaton 11y agoRight, but only on a single core and only over a small sliding window. Real data flow machines made it explicit rather than a fragile optimisation and scaled it up.
- tomn 11y agoTrue, though with multiple functional units there is some parallelism. Just thought it was an interesting comparison.