Data flows regularly, like blood and the human heart, and is synchronized with the clock.
Each data item can come from either memory or the outside world. Intermediate results are used without going to memory or the outside world. Putting things next to each other reduces the amount of space taken up by wires and reduces wire delay. Researchers in the manufacturing industry faced similar problems in trying to optimize their process. Generally, they were checking parts out from a central inventory, doing real work and checking them in again.