ik420-arsitektur dan organisasi komputer-materi 10 instruction sets pengalamatan

46
IK420-ARSITEKTUR & ORGANISASI KOMPUTER MATERI 10. Instruction Sets: Addressing Modes and Formats 1

Upload: akaitea

Post on 28-Dec-2015

75 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

IK420-ARSITEKTUR & ORGANISASI KOMPUTER

MATERI 10. Instruction Sets: Addressing Modes and Formats

1

Page 2: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Jenis-Jenis Operand

Operasi Instruksi

Bagaimana cara menspesifikasikan operand danoperasi instruksi

• 1. Menspesifikasikan alamat sebuah operans

• 2. Pengaturan bit-bit instruksi dalam menentukan alamatoperand dan operasi instruksi tersebtu

2

Page 3: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Kode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic.

Mnemonic mengindikasikan suatu operasi bagi CPU.

Contoh mnemonic adalah : ADD = penambahan

SUB = substract (pengurangan)

LOAD = muatkan data ke memori

Opcode Alamat

Format Instruksi

Page 4: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Field alamat dalam format instruksi sangat terbatas

Mereferensikan lokasi dalamjumlah banyak dalam memoriutama atau dalam memori virtual

4

Page 5: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Immediate Direct Indirect

RegisterRegister Indirect

Displacement

Stack

5

Page 6: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Secara virtual arsitektur komputer menyediakan lebih darisatu mode pengalamatam

Interpretasi effective address dapat berupa memori utamaatau register

Sistem yang memiliki memori virtual , effective address berupa memori virtual atau register

Pemetaan aktual ke alamat-alamat fisik merupakan tugasmekanisme paging dan tidak dirasakan oleh pemrogram

6

Page 7: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

7

Proses tersebut harus memiliki alokasi sendiri didalam memori fisik.

Pada kenyataannya tidak semua bagian dariprogram tersebut akan diproses, misalnya??

Pelaksanaan manajemen memori pada intinya adalahdengan menempatkan semua bagian proses yang akandijalankan ke dalam memori sebelum proses dapat mulaidieksekusi

Page 8: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

8

Ada pernyataan-pernyataan atau pilihan yang hanya akan dieksekusi jika kondisi tertentudipenuhi

Terdapat fungsi-fungsi yang jarang digunakan

Pengalokasian memori yang lebih besar dariyang sebenarnya dibutuhkan.

Page 9: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

9

Memori dengan kapasitas yang sangat terbatas, akanmenurunkan optimalisasi utilitas dari ruang memorifisik (memori utama).

Setiap program yang dijalankan harus berada dimemori.

Memori merupakan suatutempat penyimpanan utama(primary storage) yang bersifat

sementara (volatile)

Page 10: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

10

Teknik yang memisahkan antara memori logis danmemori fisiknya.

Memori logis merupakan kumpulan keseluruhanalamat dari suatu program.

Tanpa memori virtual, memori logis akan langsungdibawa ke memori fisik (memori utama).

Disinilah memori virtual melakukan pemisahandengan menaruh memori logis ke secondary storage(disk sekunder) dan hanya membawa halaman yangdiperlukan ke memori utama (memori fisik).

Page 11: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

11

Teknik ini menempatkan keseluruhan program di disksekunder dan membawa alamat yang diperlukan kememori fisik sehingga memori utama hanya akanmenyimpan sebagian alamat proses yang seringdigunakan dan sebagian lainnya akan disimpan dalamdisk sekunder dan dapat diambil sesuai dengankebutuhan.

Jika proses yang sedangberjalan membutuhkaninstruksi atau data yang

terdapat pada suatu alamattertentu maka alamat tersebutakan dicari di memori utama.

Jika alamat yang diinginkantidak ada maka akan dicari ke

disk sekunder

Page 12: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

12

Page 13: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Operand berada dalam instruksi

Operand=A

Teknik ini dapat digunakan untuk menentukan dan menggunakan konstanta/nilai variabelawal

e.g. ADD 5

•Add 5 to contents of accumulator

•5 is operand

No memory reference to fetch data

+:Menghemat satu siklus memori atau cache dalam siklus instruksi

-:Limited range artinya ukuran bilangan dibatasi oleh ukuran field alamat

13

Page 14: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

OperandOpcode

Instruction

Page 15: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

EA=A

Teknik Pengalamat DA

Komputer generasi lama

Sistem komputer kecil

Memerlukan sebuah referensi memori dan tidakmemerlukan kalkulasi khusus

15

+: Field alamatnya berisi efective sebuah operand

- :Keterbatasan field alamat karena panjang field alamatbiasanya lebih kecil dibandingkan panjang word

Page 16: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

16

ADD A ; Tambahkan isi pada lokasi alamat A ke akumulatorMOV A,30H ; isi akumulator dengan bilangan 30 heksadesimal

Page 17: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Address AOpcode

Instruction

Memory

Operand

Page 18: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

+: Panjang word sebesar N, dapat digunakan sebuah alamat 2N

- : Eksekusi instruksi memerlukan dua referensi memori untuk mengambil operand,

sebuah referensi untuk mengambil alamatnya dan referensi lainnya untuk

mendapatkan nilainya.

18

•Field alamat mengacu pada alamat word di dalammemori , yang pada gilirannya akan berisi alamat operandyang panjang•EA=(A)

•May be nested, multilevel, cascadede.g. EA = (((A)))

Page 19: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

•Tambahkan isi memoriyang ditunjuk oleh isialamat A ke Akumulator

ADD(A)

•Tambahkan isi RAM yang lokasinya ditunjukan oleh

register R1 ke akumulator.

ADD A,R

19

Page 20: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Address AOpcode

Instruction

Memory

Operand

Pointer to operand

Page 21: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

21

Mode Pengalamatannya sama dengan mode direct addressing

Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utama.

Field yang mereferensi register memiliki panjang 4 atau 4 bit , sehingga dapat mereferensi 8 atau 16 register general purpose

Page 22: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

22

EA=R

Limited number of registers

Very small address field needed

Shorter instructions

Faster instruction fetch

Page 23: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Register Address ROpcode

Instruction

Registers

Operand

Page 24: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Kelebihan

•Diperlukan field alamat berukuran kecil dalaminstruksi dan tidak diperlukan referensi memori.

•Akses ke register lebih cepat daripada akses kememori, sehingga proses eksekusi akan lebihcepat

Kerugian

•Ruang alamat sangat terbatas

24

Page 25: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Analog dengan Indrect Addressing

Perbedaan

Apakah field alamat mereferensi ke lokasi memori atauRegister

EA=( R )

25

Page 26: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Keuntungan dan keterbatasan pengalamatanregister tidak langsung pada dasarnya samadengan pengalamatan tidak langsung

•Keterbatasan field alamat diatasi dengan membiarkanfield tersebut mereferensi ke lokasi panjang word yangberisi alamat.

•Dalam satu siklus pengambilan dan penyimpanan, modepengalamtan register tidak langsung hanyamenggunakan satu referensi memori utama sehinggalebih cepat daripada mode pengalamatan tidak langsung.

26

Page 27: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Register Address ROpcode

Instruction

Memory

OperandPointer to Operand

Registers

Page 28: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Menggabungkan kemampuan direct addressing danregister indirect addresing

Mode ini mensyaratkan instruksi memiliki dua buahfield alamat, sedikitnya sebuah field yang eksplisit Field eksplisit bernilai A dan field implisit mengarah pada

register

EA=A+( R ) Address field hold two values A = base value R = register that holds displacement

Tiga Kegunaan Displacement Addresing secara umum Relative Addressing Base-Register Addressing Indexing

28

Page 29: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Register ROpcode

Instruction

Memory

OperandPointer to Operand

Registers

Address A

+

Page 30: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Register yang direferensikan secara implisit adalahprogram counter (PC)

R = Program counter, PC

EA = A + (PC)

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

Efective Address didapat dari alamat instruksi saat ituditambahkan ke field alamat untuk menghasilkan EA

30

Page 31: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Register yang direferensikan berisisebuah alamat memori dan field alamatberisi perpindahan dari alamat itu.

Referensi register dapat eksplisitmaupun implisit

31

Page 32: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Field alamat mereferensi alamat memori utama dan register yang direferensikan berisi pemindahan positif dari alamat tersebut

• Merupakan kebalikan dari model base register

• Field alamat dianggap sebagai alamat memori dalam indexing

• Manfaat penting dari indexing adalah untuk eksekusi program-program iteratif

EA = A + R

• A = base

• R = displacement

Good for accessing arrays

• EA = A + R

• R++

32

Page 33: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

33

Stack adalah array lokasi yang linier = pushdown list = last-in-first-out-queue.

Stack merupakan blok lokasi yang terbalik.

Butir ditambahkan ke puncak stack sehingga setiap saat blok akanterisi secara parsial.

Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack.

Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack ponter mereferensi ke elemen ketiga stack.

Stack pointer tetap berada di dalam register.

Dengan demikian, referensi – referensi ke lokasi stack di dalammemori pada dasarnya merupakan pengalamatan register tidaklangsung

Page 34: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Perbandingan Mode pengalamatan

Mode Algoritma Keuntungan

Utama

Kerugian utama

Immediate Operand = A Tidak ada referensi

memori

Besaran operand

terbatas

Direct EA = A Sederhana Ruang alamat

terbatas

Indirect EA = (A) Ruang alamat

besar

Referensi memori

berganda

Register EA = R Tidak ada referensi

memori

Ruang alamat

terbatas

Register Indirect EA = ( R ) Ruang alamat

besar

Referensi memori

ekstra

Displacement EA = A+ ( R ) Fleksibelitas Kompleksitas

Stack EA = Puncak

Stack

Tidak ada referensi Aplikasi memori

terbatas

Page 35: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Keterangan :

A = isi suatu field alamat dalam instruksi

EA = alamat aktual (efektif) sebuah lokasi yang berisi operasi yang di referensikan

( X ) = isi lokasi X

Page 36: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Pentium dilengkapi bermacam – macam mode pengalamatan untuk memudahkan bahasa – bahasatingkat tinggi mengeksekusinya secara lebih efisien(C/Fortran)

36

Page 37: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

37

Register merupakan sebagian memori darimikroprosesor yang dapat diakses dengankecepatan yang sangat tinggi.

Dalam melakukan pekerjaannya mikroprosesorselalu menggunakan register-register sebagaiperantaranya, jadi register dapat diibaratkan sebagaikaki dan tangannya mikroprosesor

Dalam pemrograman dengan bahasa Assembly, mautidak mau anda harus berhubungan dengan apayang dinamakan sebagai Register

Page 38: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan
Page 39: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Register segmen

• Register yang digunakan untuk menentukan referensitertentu , tergantung pada eksekusi dan instruksinya

• Menampung alamat awal register segmen yang terkait

Register Deskriptor

Register yang digunakan untuk membuat alamat

• Base register dan indeks register

39

Page 40: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

40

•Digunakan untuk menunjukkan tempat darisegmen yang sedang aktif.

Register CS(Code Segment)

•Menunjukkan letak dari segmen yang digunakan oleh stack.

Register SS(Stack Segment)

•Digunakan untuk menunjukkan tempat segmendimana data-data pada program disimpan.

Register DS(Data Segment)

•Digunakan untuk menunjukkan suatu alamat dimemory, misalkan alamat memory video

Register ES(Extra Segment),

Pada prosesor 80386 terdapat tambahan register segment 16 bit, yaituFS<Extra Segment> dan GS<Extra Segment>.

Page 41: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

41

ImmediateRegister operand

Displacement

BaseBase with

displacement

Scaled index with

displacement

Base with index and

displacement

Base scaled index with

displacementRelative

Page 42: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Mode immediate

•Operand berada di dalam instruksi.

•Operand dapat berupa data byte, word maupun doubleword

Mode register

• Instruksi transfer data, aritmetika dan logika

•Beberapa macam jenis register:

• register 8 bit (AH, BH, CH, DH, AL, BL, CL, DL)

• register 16 bit (AX, BX, CX, DX, SI, DI, SP, BP)

• register 32 bit (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP)

• register 64 bit yang dibentuk dari register 32 bit secara berpasangan.

• register 8, 16 dan 32 merupakan register untuk penggunaan umum

• (general purpose register).

• register 64 bit biasanya untuk operasi floating point.

• register segmen (CS, DS, ES, SS, FS, GS

42

Page 43: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Mode displacement

• Alamat efektif berisi bagian – bagian instruksi dengandisplacement 8, 16, atau 32 bit.

• Dengan segmentasi, seluruh alamat dalam instruksi mengacu ke sebuah offset di dalam segmen.

• Dalam Pentium, mode ini digunakan untuk mereferensivariabel – variabel global

Mode Base

• Menspesifikasikan bahwa salah satu register 8, 16 dan 32 bit berisi efektif address.

• Mode ini ekivalen dengan apa yang dikenal dengan register indirect addressing

43

Page 44: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Mode base with displacement mode

•Digunakan oleh compiler untuk menunjukawal daerah local variabel.

•Digunakan untuk mengakses field sebuahrecord

Scale Index With Displacement

•Mode ini sangat cocok untuk pengindeksanarray

44

Page 45: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Base With index and displacement mode

•Menjumlahkan isi register basis, index register dan displacement untuk mendapatkan effective address

•Mode pengalamatan ini dapat digunakan untuk mengakses array duadimensi

Base scaled index with displacement mode

•Menjumlahkan isi index register yang dikalikan dengan skala, isiregister basis dan displacement untuk mendapatkan effective address

•Mode ini cukup efisien dalam melakukan pengindeksan array duadimensi apabila panjang arraynya sama dengan 2,4 atau 8 byte

Relative mode

•Digunakan untuk tranfer control

45

Page 46: IK420-Arsitektur Dan Organisasi Komputer-Materi 10 Instruction Sets Pengalamatan

Stallings Wiliams,”Computer Organization and Architecture”

46