Different instructions use those internal units in different ways: Some only work on stack, others load data from external memory and store it on top of stack. The controlling signals are generated in the execution unit. As an exception to this rule read from stack is initialized by the decode stage.
All other memory accesses are started by signals from the execution unit. They are carried out by the interface unit, stack memory unit or the write back unit. All in all this results in the structure of data access shown in figure 4.10. For reading data from external memory an additional virtual pipeline stage count can be seen.
The statechart in figure 4.17 shows two concurrent processes. In parallel to the normal execution of instruction (which can be interrupted by a pipeline stall) a new program counter can be computed if necessary.