KELOMPOK 4KELOMPOK 4
MARSUDI WIDODOMARSUDI WIDODO(08018321)(08018321)
AMRI FEBRIANTOAMRI FEBRIANTO(08018326)(08018326)
RIZAL PRATAMA PRIZAL PRATAMA P(08018327)(08018327)
INDRAYANTOINDRAYANTO(08018442)(08018442)
YULI AGUS PYULI AGUS P(08018443)(08018443)
JENIS – JENIS JENIS – JENIS
PENGALAMATANPENGALAMATAN
A. Apakah Mode Pengalamatan itu?A. Apakah Mode Pengalamatan itu?
Mode Pengalamatan adalah bagaimana cara Mode Pengalamatan adalah bagaimana cara
menunjuk sebuah alamat dimana operand menunjuk sebuah alamat dimana operand
diambil.diambil.
Mode pengalamatan diterapkan pada set Mode pengalamatan diterapkan pada set
instruksi dimana pada umumnya instruksi instruksi dimana pada umumnya instruksi
terdiri dari opcode (kode operasi) dan terdiri dari opcode (kode operasi) dan
alamat .alamat .
B. Jenis – Jenis PengalamatanB. Jenis – Jenis Pengalamatan
•Direct Direct
•Indirect Indirect
•Immediate Immediate
•Register AddressingRegister Addressing
•Register Indirect AddressingRegister Indirect Addressing
•Displacement AddressingDisplacement Addressing
•Stack AddressingStack Addressing
C. Penerapan Mode PengalamatanC. Penerapan Mode Pengalamatan
Anggap kita mempunyai contoh register dan memory sebagai berikut, Anggap kita mempunyai contoh register dan memory sebagai berikut,
(bagian kiri datanya dan bagian kanan alamatnya).(bagian kiri datanya dan bagian kanan alamatnya).
…………………………………… ..
PCPC
IRIR
ACAC
ZZ
YY
………………………… ....
5151DD
5050CC
BB
AA
RegisterRegister
1515102102
66101101
55100100
……………………………… ....
10105252
775151
335050
………………………… ....
434333
121222
1111
525200
MemoriMemori
1. DIRECT1. DIRECT
Untuk pemanggilan alamat operand berupa Untuk pemanggilan alamat operand berupa
register namanya Register Addressing.register namanya Register Addressing.
Dengan contoh instruksi LOAD C akan Dengan contoh instruksi LOAD C akan
menghasilkan Acc <-50, karena alamat C menghasilkan Acc <-50, karena alamat C
berisi register bilangan 50.berisi register bilangan 50.
Untuk pemanggilan alamat operand berupa Untuk pemanggilan alamat operand berupa
memory namanya Direct Addressing.memory namanya Direct Addressing.
Dengan contoh instruksi LOAD 3 akan menghasilkan Dengan contoh instruksi LOAD 3 akan menghasilkan
Acc<-43, karena alamat 3 berisi bilangan 43.Acc<-43, karena alamat 3 berisi bilangan 43.
Dengan contoh instruksi LOAD 3 akan menghasilkan Dengan contoh instruksi LOAD 3 akan menghasilkan
Acc<-43, karena alamat 3 berisi bilangan 43.Acc<-43, karena alamat 3 berisi bilangan 43.
Hanya memerlukan sebuah referensi memori dan Hanya memerlukan sebuah referensi memori dan
tidak memerlukan kalkulasi khusus.tidak memerlukan kalkulasi khusus.
Keuntungan : Keuntungan :
Field alamat berisi efektif address sebuah operandField alamat berisi efektif address sebuah operand..
Kerugian : Kerugian :
Keterbatasan field alamat karena panjang fied alamat Keterbatasan field alamat karena panjang fied alamat
biasanya lebih kecil dibandingkan panjang word.biasanya lebih kecil dibandingkan panjang word.
2. INDIRECT2. INDIRECT
Mode pengalamatan tidak langsung.Mode pengalamatan tidak langsung.
Field alamat mengacu pada alamat word di dalam Field alamat mengacu pada alamat word di dalam
memori, yang pada gilirannya akan berisi alamat memori, yang pada gilirannya akan berisi alamat
operand yang panjang.operand yang panjang.
Untuk alamat pemanggilan berupa register namanya Untuk alamat pemanggilan berupa register namanya
Register Indirect Addressing.Register Indirect Addressing.
Dengan contoh instruksi LOAD (D) akan Dengan contoh instruksi LOAD (D) akan
menghasilkan Acc<-7, karena alamat register D menghasilkan Acc<-7, karena alamat register D
berisi alamat memory 51, sedangkan alamat memory berisi alamat memory 51, sedangkan alamat memory
51 berisi bilangan 7.51 berisi bilangan 7.
Untuk pemanggilan alamat berupa operand berupa Untuk pemanggilan alamat berupa operand berupa
memory namanya Indirect Addressing.memory namanya Indirect Addressing.
Dengan contoh instruksi LOAD (50) akan Dengan contoh instruksi LOAD (50) akan
menghasilkan Acc<-43, karena alamat memory 50 menghasilkan Acc<-43, karena alamat memory 50
berisi alamat memory 3, sedangkan alamat memory berisi alamat memory 3, sedangkan alamat memory
3 berisi bilangan 43. 3 berisi bilangan 43.
Keuntungan : Keuntungan :
Ruang alamat menjadi besar sehingga semakin banyak Ruang alamat menjadi besar sehingga semakin banyak
alamat yang dapat referensi.alamat yang dapat referensi.
Kerugian : Kerugian :
Diperlukan referensi ganda dalam satu fetch, sehingga Diperlukan referensi ganda dalam satu fetch, sehingga
memperlambat proses operasi.memperlambat proses operasi.
3. IMMEDIATE3. IMMEDIATE
Bentuk pengalamatan ini yang paling Bentuk pengalamatan ini yang paling
sederhana.sederhana.
Operan benar-benar berada dalam instruksi Operan benar-benar berada dalam instruksi
atau bagian dari instruksi = operand sama atau bagian dari instruksi = operand sama
dengan field alamat.dengan field alamat.
Umumnya bilangan akan disimpan dalam Umumnya bilangan akan disimpan dalam
bentuk komplemen dua.bentuk komplemen dua.
Bit paling kiri sebagai tanda.Bit paling kiri sebagai tanda.
Ketika operand dimuatkan dalam register data, Ketika operand dimuatkan dalam register data,
bit tanda akan digeser kekiri hingga bit tanda akan digeser kekiri hingga
maksimum word data.maksimum word data.
Immediate tidak membutuhkan alamat Immediate tidak membutuhkan alamat
memory/register, karena tempat untuk alamat memory/register, karena tempat untuk alamat
operand diisi langsung oleh operandnya.operand diisi langsung oleh operandnya.
Contoh 1 : LOAD #9, akan menghasilkan Acc<-9. Contoh 1 : LOAD #9, akan menghasilkan Acc<-9.
Nilai dibelakang tanda # dianggap sebagai Nilai dibelakang tanda # dianggap sebagai
operandnyaoperandnya..
Contoh 2 : ADD Y , #2, #5, akan menghasilkan register Contoh 2 : ADD Y , #2, #5, akan menghasilkan register
Y <-7. Kedua operand adalah 2 dan 5, denagn Y <-7. Kedua operand adalah 2 dan 5, denagn
demikian 2+5=7.demikian 2+5=7.
Keuntungan : Keuntungan :
Mode ini adalah tidak adanya referensi memory selain dari Mode ini adalah tidak adanya referensi memory selain dari
instruksi yang dipelukan untuk memperoleh operand.instruksi yang dipelukan untuk memperoleh operand.
Menghemat siklus instruksi sehingga proses keseluruhan akan Menghemat siklus instruksi sehingga proses keseluruhan akan
cepat. cepat.
Kerugian : Kerugian :
Ukuran bilangan dibatasi oleh ukuran field alamat Ukuran bilangan dibatasi oleh ukuran field alamat
4. REGISTER ADDRESSING4. REGISTER ADDRESSING
Metode pengalamatan register mirip dengan Metode pengalamatan register mirip dengan
mode pengalamatan langsung.mode pengalamatan langsung.
Perbedaanya terletak pada field alamat yang Perbedaanya terletak pada field alamat yang
mengacu pada register, bukan pada memori mengacu pada register, bukan pada memori
utama.utama.
Field yang mereferensi register memilki Field yang mereferensi register memilki
panjang 3 atau 4 bit, sehingga dapat panjang 3 atau 4 bit, sehingga dapat
mereferensi 8 atau 16 register general mereferensi 8 atau 16 register general
purpose.purpose.
Keuntungan : Keuntungan :
Diperlukan field alamat berukuran kecil dalam Diperlukan field alamat berukuran kecil dalam
instruksi dan tidak diperlukan referensi memori.instruksi dan tidak diperlukan referensi memori.
Akses keregister lebih cepat dari pada akses ke Akses keregister lebih cepat dari pada akses ke
memori, sehingga proses eksekusi akan lebih cepat.memori, sehingga proses eksekusi akan lebih cepat.
•Kerugian : Kerugian :
Ruang alamat menjadi terbatas.Ruang alamat menjadi terbatas.
5. REGISTER INDIRECT ADDRESSING5. REGISTER INDIRECT ADDRESSING
•Metode register pengalamatan tidak
langsung mirip dengan mode pengalamatan
tidak langsung.
•Perbedaanya field alamat mengacu pada
alamat register. Letak operand berada pada
memori yang ditunjuk oleh isi register.
•Keuntungan dan keterbatasan pengalamatan
tidak langsung pada dasarnya sama dengan
pengalamatan tidak langsung.
Keterbatasan field alamat diatasi dengan Keterbatasan field alamat diatasi dengan
pengaksesan memori yang tidak langsung sehingga pengaksesan memori yang tidak langsung sehingga
alamat yang dapat direferensi makin banyak.alamat yang dapat direferensi makin banyak.
Dalam satu siklus pengambilan dan penyimpanan, Dalam satu siklus pengambilan dan penyimpanan,
mode pegelamatan register tidak langsung hanya mode pegelamatan register tidak langsung hanya
menggunakan satu refensi memori utama sehinnga menggunakan satu refensi memori utama sehinnga
lebih cepat dari pada mode pengalamatan tidak lebih cepat dari pada mode pengalamatan tidak
langsung.langsung.
6. DISPLACEMENT ADDRESSING
•Menggabungkan pengalamatan langsung
dan register tidak langsung.
•Mode ini mensyaratkan instruksi memiliki
dua buah field alamat, sedikitnya sebuah
field yang eksplisit.
Field eksplisit bernilai A dan field implicit
mengarah pada register.
•Operand berada pada alamat A ditambah
isi register.
Tiga model Displacement : Tiga model Displacement :
1. Relative Addressing, register yang direferensi secara 1. Relative Addressing, register yang direferensi secara
implicit adalah program counter (PC).implicit adalah program counter (PC).
oAlamat efektif didapatkan dari alamat instruksi saat itu Alamat efektif didapatkan dari alamat instruksi saat itu
ditambahkan ke field alamat.ditambahkan ke field alamat.
oMemanfaatkan konsep lokalitas memori untuk menyediakan Memanfaatkan konsep lokalitas memori untuk menyediakan
operand-operan berikutnya.operand-operan berikutnya.
2. Base Register Addressing, register yang direferensikan 2. Base Register Addressing, register yang direferensikan
berisi sebuah alamat memori, dan filed alamat berisi berisi sebuah alamat memori, dan filed alamat berisi
perpindahan dari alamat itu.perpindahan dari alamat itu.
o Referensi register dapat eksplisit maupun Referensi register dapat eksplisit maupun
implicit.implicit.
oMemanfaatkan konsep loakalitas memori.Memanfaatkan konsep loakalitas memori.
3. 3. Indexing adalah field alamat mereferensi alamat Indexing adalah field alamat mereferensi alamat
memori utama, dan register yang dideferensikan memori utama, dan register yang dideferensikan
berisi pemindahan postif dari alamat tersebut.berisi pemindahan postif dari alamat tersebut.
oMerupakan kebalikan dari model base register.Merupakan kebalikan dari model base register.
oField alamat dianggap sebagai alamat memori dalam Field alamat dianggap sebagai alamat memori dalam
indexing.indexing.
oManfaat penting dalam indexing adalah untuk eksekusi Manfaat penting dalam indexing adalah untuk eksekusi
program-program iterative.program-program iterative.
7. STACK ADDRESSING
Stack adalah array lokasi yang linear = pushdown list =
last-in-first-out-queue.
Stack merupakan blok lokasi yang terbalik
Blok ditambahkan ke puncak stack sehingga setiap saat
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, dalam hal ini stack pointer mereferensi ke elemen
ketiga stack.
•Stack pointer tetap berada di dalam register.Stack pointer tetap berada di dalam register.
•Dengan demikian, referensi-referensi ke Dengan demikian, referensi-referensi ke
lokasi stack di dalam memori pada dasarnya lokasi stack di dalam memori pada dasarnya
merupakan pengalamatan register tidak merupakan pengalamatan register tidak
langsung langsung
• MODE PENGALAMATAN (TABELMODE PENGALAMATAN (TABEL))
Aplikasi memori Aplikasi memori
terbatasterbatas
Tidak ada referensiTidak ada referensieA=TopOfStackeA=TopOfStackStackStack
KompleksKompleksFleksibelFleksibeleA=A+(R)eA=A+(R)DisplacementDisplacement
Referensi Referensi
memori ekstramemori ekstra
Ruang alamat Ruang alamat
besarbesar
eA=(R)eA=(R)Regist IndRegist Ind
Ruang alamat Ruang alamat
terbatasterbatas
Tidak ada referensi Tidak ada referensi
memorimemori
eA=ReA=RRegisterRegister
Ruang memori Ruang memori
gandaganda
Ruang alamat Ruang alamat
besarbesar
eA=(A)eA=(A)IndirectIndirect
Ruang alamat Ruang alamat
sederhanasederhana
SederhanaSederhanaeA=AeA=ADirectDirect
Besaran Besaran
operand operand
terbatas terbatas
Tidak ada referensi Tidak ada referensi
memorimemori
Operand = A Operand = A Immediate Immediate
kerugiankerugianKeuntunganKeuntunganAlgoritma Algoritma ModeMode
• Mode Pengalamatan PentiumMode Pengalamatan Pentium
KeteranganKeterangan
SR = register segmentSR = register segment
PC = program counterPC = program counter
A = isi field alamatA = isi field alamat
B = register basisB = register basis
I = register indeksI = register indeks
S = factor skalaS = factor skala
eA=(PC)+AeA=(PC)+ARelativeRelative
eA=(SR)+(I)xS+eA=(SR)+(I)xS+
(B)=A(B)=A
Base with scaled Base with scaled
index and index and
displacementdisplacement
eA=(SR)+(B)+eA=(SR)+(B)+
(I)+A(I)+A
Scaled index with Scaled index with
displacementdisplacement
eA=(SR)+(B)+AeA=(SR)+(B)+ABase with Base with
DisplacementDisplacement
eA=(SR)+(B)eA=(SR)+(B)BaseBase
eA=(SR)+AeA=(SR)+ADisplacementDisplacement
eA=ReA=RRegisterRegister
Operand=AOperand=AImmediateImmediate
AlgoritmaAlgoritmaModeMode