AddressingModes25

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 6

Central Processing Unit Lecture 25

Overview

Introduction General Register Organization Stack Organization Instruction Formats Addressing Modes Data Transfer and Manipulation Program Control and Program Interrupt Reduced Instruction Set Computer
CSE 211, Computer Organization and Architecture Harjeet

Central Processing Unit Lecture 25

Addressing Mode

Addressing Modes
- Specifies a rule for interpreting or modifying the address field of the instruction (before the operand is actually referenced) - Variety of addressing modes - to give programming flexibility to the user - to use the 1. Implied Mode bits in the address field of the instruction efficiently - Address of the operands are specified implicitly in the definition of the instruction - No need to specify address in the instruction - EA = AC, or EA = Stack[SP] - Examples from Basic Computer - CLA, CME, INP

2. Immediate Mode
- Instead of specifying the address of the operand, operand itself is specified - No need to specify address in the instruction - However, operand itself needs to be specified - Sometimes, require more bits than the address - Fast to acquire an operand CSE 211, Computer Organization and Architecture Harjeet

Central Processing Unit Lecture 25

Addressing Mode

3. Register Mode
Address specified in the instruction is the register address Designated operand need to be in a register Shorter address than the memory address Saving address field in the instruction Faster to acquire an operand than the memory addressing EA = IR(R) (IR(R): Register field of IR)

4. Register Indirect Mode


- Instruction specifies a register which contains the memory address of the operand - Saving instruction bits since register address is shorter than the memory address - Slower to acquire an operand than both the register addressing or memory addressing - EA = [IR(R)] ([x]: Content of x)

5. Autoincrement or Autodecrement Mode


- When the address in the register is used to access memory, the value in the register is incremented or decremented by 1 automatically CSE 211, Computer Organization and Architecture

Harjeet

Central Processing Unit Lecture 25

Addressing Mode

6. Direct Address Mode


- Instruction specifies the memory address which can be used directly to access the memory - Faster than the other memory addressing modes - Too many bits are needed to specify the address for a large physical memory space - EA = IR(addr) (IR(addr): address field of IR)

7. Indirect Addressing Mode


- The address field of an instruction specifies the address of a memory location that contains the address of the operand - When the abbreviated address is used large physical memory can be addressed with a relatively small number of bits - Slow to acquire an operand because of an additional memory access - EA = M[IR(address)] CSE 211, Computer Organization and Architecture Harjeet

Central Processing Unit Lecture 25

Addressing Mode

8. Relative Addressing Modes


- The Address fields of an instruction specifies the part of the address (abbreviated address) which can be used along with a designated register to calculate the address of the operand - Address field of the instruction is short - Large physical memory can be accessed with a small number of address bits - EA = f(IR(address), R), R is sometimes implied -3 different Relative Addressing Modes depending on R;

PC Relative Addressing Mode (R = PC)


- EA = PC + IR(address)

Indexed Addressing Mode (R = IX, where IX: Index


Register) - EA = IX + IR(address)

Base Register Addressing Mode


(R = BAR, where BAR: Base Address Register) - EA = BAR + IR(address) CSE 211, Computer Organization and Architecture Harjeet

Central Processing Unit Lecture 25

Addressing Mode - Example


Address PC = 200 R1 = 400 XR = 100 AC 500 800 200 201 202 399 400 Memory Mode Load to AC Address = 500 Next instruction 450 700

600

900

Addressing Effective Mode Address Direct address 500 /* AC (500) Immediate operand /* AC 500 Indirect address 800 /* AC ((500)) Relative address 702 /* AC (PC+500) Indexed address 600 /* AC (RX+500) Register /* AC R1 Register indirect 400 /* AC (R1) Autoincrement 400 /* AC (R1)+ Autodecrement 399 /* AC -(R)

*/ */ */ */ */ */ */ */ */

Content of AC 800 500 300 325 900 400 700 700 450

702

325

800

300

CSE 211, Computer Organization and Architecture

Harjeet

You might also like