arsitektur dan organisasi komputer pengalamatan -...

25
Arsitektur dan Organisasi Komputer Pengalamatan 5/21/2015 1

Upload: duongtuyen

Post on 03-Feb-2018

240 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Arsitektur dan Organisasi Komputer

Pengalamatan

5/21/2015

1

Page 2: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Addressing Modes

• Immediate

• Direct

• Indirect

• Register

• Register Indirect

• Displacement (Indexed)

• Stack

Gembong Edhi Setyawan 2

Page 3: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Immediate Addressing

Operand is part of instruction Operand = address field e.g. ADD 5 ◦ Add 5 to contents of accumulator ◦ 5 is operand

◦ e.g. MOV AX, #0005H – In the above example, 0005H is the immediate data

No memory reference to fetch data Fast Limited range

Gembong Edhi Setyawan 3

Page 4: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Immediate Addressing Diagram

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 4

Operand Opcode

Instruction

Page 5: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

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

• E.g. MOV AX, [5000H] – Here, data resides in a memory location in the data segment

• Single memory reference to access data No additional calculations to work out effective address Limited address space

Gembong Edhi Setyawan 5

Page 6: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Direct Addressing Diagram

Gembong Edhi Setyawan 6

Address A Opcode

Instruction

Memory

Operand

Page 7: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Indirect Addressing (1)

• 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

Gembong Edhi Setyawan 7

Page 8: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Indirect Addressing (2)

• Large address space

• 2n where n = word length

• May be nested, multilevel, cascaded

– e.g. EA = (((A)))

• Draw the diagram yourself

• Multiple memory accesses to find operand

• Hence slower

Gembong Edhi Setyawan 8

Page 9: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Indirect Addressing Diagram

Gembong Edhi Setyawan 9

Address A Opcode

Instruction

Memory

Operand

Pointer to operand

Page 10: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Register Addressing (1)

• 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

Gembong Edhi Setyawan 10

Page 11: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Register Addressing (2)

• 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

Gembong Edhi Setyawan 11

Page 12: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Register Addressing Diagram

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 12

Register Address R Opcode

Instruction

Registers

Operand

Page 13: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Register Indirect Addressing

• C.f. indirect addressing

• EA = (R)

• Operand is in memory cell pointed to by contents of register R

• Large address space (2n)

• One fewer memory access than indirect addressing

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 13

Page 14: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Register Indirect Addressing Diagram

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 14

Register Address R Opcode

Instruction

Memory

Operand Pointer to Operand

Registers

Page 15: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Displacement Addressing

• EA = A + (R)

• Address field hold two values

– A = base value

– R = register that holds displacement

– or vice versa

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 15

Page 16: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Displacement Addressing Diagram

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 16

Register R Opcode

Instruction

Memory

Operand Pointer to Operand

Registers

Address A

+

Page 17: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Relative Addressing

• A version of displacement addressing

• R = Program counter, PC

• EA = A + (PC)

• i.e. get operand from A cells from current location pointed to by PC

• c.f locality of reference & cache usage

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 17

Page 18: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Base-Register Addressing

• A holds displacement

• R holds pointer to base address

• R may be explicit or implicit

• e.g. segment registers in 80x86

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 18

Page 19: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Indexed Addressing

• A = base

• R = displacement

• EA = A + R

• Good for accessing arrays

– EA = A + R

– R++

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 19

Page 20: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Combinations

• Postindex

• EA = (A) + (R)

• Preindex

• EA = (A+(R))

• (Draw the diagrams)

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 20

Page 21: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Stack Addressing

• Operand is (implicitly) on top of stack

• e.g.

– ADD Pop top two items from stack and add

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 21

Page 22: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Instruction Formats

• Layout of bits in an instruction

• Includes opcode

• Includes (implicit or explicit) operand(s)

• Usually more than one instruction format in an instruction set

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 22

Page 23: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Instruction Length

• Affected by and affects:

– Memory size

– Memory organization

– Bus structure

– CPU complexity

– CPU speed

• Trade off between powerful instruction repertoire and saving space

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 23

Page 24: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

Allocation of Bits

• Number of addressing modes

• Number of operands

• Register versus memory

• Number of register sets

• Address range

• Address granularity

Gembong Edhi Setyawan s1 / TI / semester 3 / 3 sks / reguler 24

Page 25: Arsitektur dan Organisasi Komputer Pengalamatan - PTIIKgembong.lecture.ub.ac.id/.../03/Instruksi-Komputer-Pengalamatan.pdf · Immediate Addressing Operand is part of instruction Operand

25