Instruction Execution
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:
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
Fetches operands needed to execute an instruction. These typically come from the general registers or for memory based operands, the cache (a.k.a. buffer).
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 ALU needs to perform an operation that produces a result equal to the source operand.
W - Write
Writes the result.
Tuesday, September 1, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment