1 / 19

Mod-Mod Pengalamat

Mod-Mod Pengalamat. Segera (Immediate) Terus (Direct) Tak terus (Indirect) Daftar (Register) Daftar tak terus (Register indirect) Penggantian (Displacement - (indexed)). Immediate Addressing. Operan adalah sebahagian daripada arahan Operand = address field e.g. ADD 5

rameym
Download Presentation

Mod-Mod Pengalamat

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mod-Mod Pengalamat • Segera (Immediate) • Terus (Direct) • Tak terus (Indirect) • Daftar (Register) • Daftar tak terus (Register indirect) • Penggantian (Displacement - (indexed))

  2. Immediate Addressing • Operan adalah sebahagian daripada arahan • Operand = address field • e.g. ADD 5 • => ADD #5 => AC = AC + 5 • Tambah 5 kepada kandungan accumulator • 5 adalah operan • Tiada rujukan memori untuk mengambil data • Pantas • Julat yang terhad Instruction Opcode Operand

  3. Direct Addressing • Medan alamat (address field) mengandungi alamat bagi operan • Alamat efektif = alamat medan (Effective address (EA) = address field (A)) • Cth ADD A • Tambah kandungan bagi sel A kepada penumpuk (accumulator) • Cari operan dalam memori pada alamat A • Rujukan memori tunggal untuk mengakses data • Tiada tambahan congakkan untuk mendapatkan EA • Ruang alamat terhad

  4. Direct Addressing Diagram Instruction Opcode Address A Memory Operand • => Load a => ac <= a

  5. 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 • => Add a, (b) => a = a+ (b)

  6. Indirect Addressing (2) • Large address space • 2n where n = word length • May be nested, multilevel, cascaded • e.g. EA = (((A))) • Multiple memory accesses to find operand • Hence slower

  7. Indirect Addressing Diagram Instruction Opcode Address A Memory Pointer to operand Operand

  8. Register Addressing (1) • Operand is held in register named in address filed • EA = R => ADD R1, R2 => R1 = r1 + r2 • Limited number of registers • Very small address field needed • Shorter instructions • Faster instruction fetch

  9. 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 cf. is an abbreviation from a Latin word (confer) and means 'refer to' or 'compare with' N.B = nota bene - Used to direct attention to something particularly important

  10. Register Addressing Diagram Instruction Opcode Register Address R Registers Operand

  11. 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

  12. Register Indirect Addressing Diagram Instruction Opcode Register Address R Memory Registers Operand Pointer to Operand

  13. Displacement Addressing • EA = A + (R) • Address field hold two values • A = base value • R = register that holds displacement • or vice versa

  14. Displacement Addressing Diagram Instruction Address A Opcode Register R Memory Registers Pointer to Operand Operand +

  15. 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

  16. Base-Register Addressing • A holds displacement • R holds pointer to base address • R may be explicit or implicit • e.g. segment registers in 80x86

  17. Indexed Addressing • A = base • R = displacement • EA = A + R • Good for accessing arrays • EA = A + R • R++

  18. Combinations • Postindex • EA = (A) + (R) • Preindex • EA = (A+(R))

  19. Stack Addressing • Operand is (implicitly) on top of stack • e.g. • ADD Pop top two items from stack and add

More Related