Deutsche Version dieser Seite
Next:Stack Memory Unit  Up:Structural and functional description  Previous:Instruction Decode Unit with Microcode-ROM  Contents


Execution Unit

The execution unit is the main part of a pipeline that really produces results on behalf of loaded instructions from memory. Therefore it contains of an arithmetic-logic unit and a memory access block. In figure 4.9 those two blocks can be seen in the branch control unit, logic unit, shift unit and arithmetic unit as well as the data access unit, respectively.


Figure 4.9: Execution Unit

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.



Figure 4.10: Data access

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.



Figure 4.17: Statechart of the Execution Unit



Next:Stack Memory Unit  Up:Structural and functional description  Previous:Instruction Decode Unit with Microcode-ROM  Contents
Robert Zulauf

2000-04-27