04-10-2012, 12:16 PM
Computer Architecture and Organization
Computer Architecture.ppt (Size: 496.5 KB / Downloads: 202)
Direct Addressing
Address field contains address of operand
Effective address (EA) = address field (A)
e.g. ADD A
Add contents of cell A to accumulator
Look in memory at address A for operand
Single memory reference to access data
No additional calculations to work out effective address
Limited address space
Indirect Addressing
Memory cell pointed to by address field contains the address of (pointer to) the operand
EA = (A)
Look in A, find address (A) and look there for operand
e.g. ADD (A)
Add contents of cell pointed to by contents of A to accumulator
Register Addressing
Operand is held in register named in address filed
EA = R
Limited number of registers
Very small address field needed
Shorter instructions
Faster instruction fetch
No memory access
Very fast execution
Very limited address space
Multiple registers helps performance
Requires good assembly programming or compiler writing
N.B. C programming
register int a;
c.f. Direct addressing
Register Indirect Addressing
C.f. indirect addressing
EA = ®
Operand is in memory cell pointed to by contents of register R
Large address space (2n)
One fewer memory access than indirect addressing
Pentium Addressing Modes
Virtual or effective address is offset into segment
Starting address plus offset gives linear address
This goes through page translation if paging enabled
12 addressing modes available
Immediate
Register operand
Displacement
Base
Base with displacement
Scaled index with displacement
Base with index and displacement
Base scaled index with displacement
Relative
PowerPC Addressing Modes
Load/store architecture
Indirect
Instruction includes 16 bit displacement to be added to base register (may be GP register)
Can replace base register content with new address
Indirect indexed
Instruction references base register and index register (both may be GP)
EA is sum of contents
Branch address
Absolute
Relative
Indirect
Arithmetic
Operands in registers or part of instruction
Floating point is register only
Computer Architecture.ppt (Size: 496.5 KB / Downloads: 202)
Direct Addressing
Address field contains address of operand
Effective address (EA) = address field (A)
e.g. ADD A
Add contents of cell A to accumulator
Look in memory at address A for operand
Single memory reference to access data
No additional calculations to work out effective address
Limited address space
Indirect Addressing
Memory cell pointed to by address field contains the address of (pointer to) the operand
EA = (A)
Look in A, find address (A) and look there for operand
e.g. ADD (A)
Add contents of cell pointed to by contents of A to accumulator
Register Addressing
Operand is held in register named in address filed
EA = R
Limited number of registers
Very small address field needed
Shorter instructions
Faster instruction fetch
No memory access
Very fast execution
Very limited address space
Multiple registers helps performance
Requires good assembly programming or compiler writing
N.B. C programming
register int a;
c.f. Direct addressing
Register Indirect Addressing
C.f. indirect addressing
EA = ®
Operand is in memory cell pointed to by contents of register R
Large address space (2n)
One fewer memory access than indirect addressing
Pentium Addressing Modes
Virtual or effective address is offset into segment
Starting address plus offset gives linear address
This goes through page translation if paging enabled
12 addressing modes available
Immediate
Register operand
Displacement
Base
Base with displacement
Scaled index with displacement
Base with index and displacement
Base scaled index with displacement
Relative
PowerPC Addressing Modes
Load/store architecture
Indirect
Instruction includes 16 bit displacement to be added to base register (may be GP register)
Can replace base register content with new address
Indirect indexed
Instruction references base register and index register (both may be GP)
EA is sum of contents
Branch address
Absolute
Relative
Indirect
Arithmetic
Operands in registers or part of instruction
Floating point is register only