Mode
pengalamatan merupakan metode penentuan alamat operand pada
instruksi. Operand instruksi diletakan pada memori utama dan register
CPU. Tujuan yang mempengaruhi arsitektur komputer ketika memilih mode
pengalamatan:
- Mengurangi panjang instruksi dengan mempunyai medan yang pendek untuk alamat.
- Menyediakan bantuan yang tangguh kepada pemrogram untuk penanganan data kompleks seperti pengindeksan sebuah array, control loop, relokasi program dan sebagainya.
Teknik
Pengalamatan
- Immediate Addressing
- Direct Addressing
- Indirect Addressing
- Register addressing
- Register indirect addressing
- Displacement addressing
- Stack addressing
Adalah
bentuk pengalamatan yang paling sederhana.
Penjelasan
:
- Operand benar-benar ada dalam instruksi atau bagian dari intsruksi
- Operand sama dengan field alamat
- Umumnya bilangan akan disimpan dalam bentuk complement dua
- Bit paling kiri sebagai bit tanda
- Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data
Keuntungan
:
- Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
- Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
Kekurangan
:
- Ukuran bilangan dibatasi oleh ukuran field
Contoh
:
ADD
7 ; tambahkan 7 pada akumulator
B.
Direct Addressing (Pengalamatan Langsung)
Penjelasan
:
- Teknik ini banyak digunakan pada komputer lama dan komputer kecil
- Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
Kelebihan
:
- Field alamat berisi efektif address sebuah operand
Kekurangan
:
- Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
Contoh
:
ADD
A ; tambahkan isi pada lokasi alamat A ke akumulator
C.
Indirect Addressing (Pengalamatan tak langsung)
Penjelasan
:
- Merupakan mode pengalamatan tak langsung
- Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang
Kelebihan
:
- Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
Kekurangan
:
- Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
Contoh
:
ADD
(A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator
D.
Register addressing (Pengalamatan Register)
Penjelasan
:
- Metode pengalamatan register mirip dengan mode pengalamatan langsung
- Perbedaanya terletak pada field alamat yang mengacu pada register, bukan pada memori utama
- Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose
Keuntungan
:
- Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
- Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat
Kerugian
:
- Ruang alamat menjadi terbatas
Contoh
:
E.
Register indirect addressing (Pengalamatan tak-langsung register)
Penjelasan
:
- Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung
- Perbedaannya adalah field alamat mengacu pada alamat register
- Letak operand berada pada memori yang dituju oleh isi register
- Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung
- Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak
- Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung
Contoh
:
F.
Displacement addressing
Penjelasan
:
- Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
- Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
- Operand berada pada alamat A ditambahkan isi register
- Tiga model displacement
- Relative addressing : register yang direferensi secara implisit adalah Program Counter (PC)
- Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat
- Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya
- Base register addressing : register yang direferensi berisi sebuah alamat memori dan field alamat berisi perpindahan dari alamat itu
- Referensi register dapat eksplisit maupun implisit
- Memanfaatkan konsep lokalitas memori
- Indexing : field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut
- Merupakan kebalikan dari mode base register
- Field alamat dianggap sebagai alamat memori dalam indexing
- Manfaat penting dari indexing adalah untuk eksekusi program-pprogram iteratif
Contoh
:
Field
eksplisit bernilai A dan field imlisit mengarah pada register
G.
Stack addressing
Penjelasan
:
- Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out
- Stack merupakan blok lokasi yang terbaik
- Btir ditambahkan ke puncak stack sehingga setiap blok akan terisi 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 pointer mereferensi ke elemen ketiga stack
- Stack pointer tetap berada dalam register
- Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung
thanks
ReplyDeleteheraarararaaa
ReplyDeletenice
ReplyDelete