A microproccesor typically breaks the execution of an instruction
into smaller operations. Each of these operations completes a portion of
the entire instruction's execution. Typically the instruction is broken
down into the following operations:
Here are some Examples...
D - Decode
Looks at the opcode in the instruction to determine the type
of instruction to be executed.
A - Address
Generates the address for any memory based operands.
T - Translate
Modifies the address based on table values setup in memory.
These tables typically are used by an operating
system to change where data is stored. This allows multiple programs
that do stores to the same address to really write to different locations
of physical memory.
B - Buffer
needed to execute an instruction. These typically come from the general
registers or for memory based operands, the cache
E - Execute
Performs the ALU
operation. These are simple mathematical operations such as addition, and
subtraction. For execution of many instructions, the ALU
performs an operation that has no effect, such as adding zero. This is
used for instructions that have a result the same as the source operand.
For example, a store instruction takes the value of a register and stores
it, unmodified, at a specified memory location. For this instruction the
needs to perform an operation that produces a result equal to the source
W - Write
Writes the result.