You are on page 1of 20

Mode

Mode
Pengalamatan
Pengalamatan
Pertemuan
Pertemuan
6
6
Politeknik Elektronika Negeri Surabaya - ITS
2005
Oleh
Oleh
:
:
Riyanto
Riyanto
Sigit
Sigit
, S.T,
, S.T,
M.Kom
M.Kom
Nur
Nur
Rosyid
Rosyid
Mubtada'i
Mubtada'i
S.Kom
S.Kom
Setiawardhana
Setiawardhana
, S.T
, S.T
Hero
Hero
Yudo
Yudo
Martono
Martono
, S.T
, S.T
3.3. Node
3.3. Node
Pengalamatan
Pengalamatan

Nengatasi
Nengatasi
keterbatasan
keterbatasan
format
format
instruksi
instruksi

Dapat
Dapat
mereferensi
mereferensi
lokasi
lokasi
memori
memori
yang
yang
besar
besar

Node
Node
pengalamatan
pengalamatan
yang
yang
mampu
mampu
menangani
menangani
keterbatasan
keterbatasan
tersebut
tersebut
Nasing Nasing - - masing masing prosesor prosesor menggunakan menggunakan mode mode
pengalamatan pengalamatan yang yang berbeda berbeda - - beda beda. .
Nemiliki Nemiliki pertimbangan pertimbangan dalam dalam penggunaannya penggunaannya. .
Ada Ada beberapa beberapa teknik teknik pengelamatan pengelamatan
!mmediate Addressing !mmediate Addressing
Direct Addressing Direct Addressing
!ndirect Addressing !ndirect Addressing
Register Addressing Register Addressing
Register !ndirect Addressing Register !ndirect Addressing
Displacement Addressing Displacement Addressing
Stack Addressing Stack Addressing
!mmediate Addressing
!mmediate Addressing
(1)
(1)

Bentuk
Bentuk
pengalamatan
pengalamatan
ini
ini
yang paling
yang paling
sederhana
sederhana
?
?

Operand
Operand
benar
benar
-
-
benar
benar
ada
ada
dalam
dalam
instruksi
instruksi
atau
atau
bagian
bagian
dari
dari
instruksi
instruksi
= Operand sama
= Operand sama
dengan
dengan
field
field
alamat
alamat
.
.

Umumnya
Umumnya
bilangan
bilangan
akan
akan
disimpan
disimpan
dalam
dalam
bentuk
bentuk
komplemen
komplemen
dua
dua
.
.

Bit paling
Bit paling
kiri
kiri
sebagai
sebagai
bit
bit
tanda
tanda
.
.

Ketika
Ketika
operand
operand
dimuatkan
dimuatkan
ke
ke
dalam
dalam
register data, bit
register data, bit
tanda
tanda
akan
akan
digeser
digeser
ke
ke
kiri
kiri
hingga
hingga
maksimum
maksimum
word data
word data

Contoh
Contoh
:
:
ADD 5 ; ADD 5 ; tambahkan tambahkan 5 5 pada pada akumulator akumulator
!mmediate Addressing (+)8(
!mmediate Addressing (+)8(
-
-
)
)

Keuntungan
Keuntungan

Node
Node
ini
ini
adalah
adalah
tidak
tidak
adanya
adanya
referensi
referensi
memori
memori
selain
selain
dari
dari
instruksi
instruksi
yang
yang
diperlukan
diperlukan
untuk
untuk
memperoleh
memperoleh
operand.
operand.

Nenghemat
Nenghemat
siklus
siklus
instruksi
instruksi
sehingga
sehingga
proses
proses
keseluruhan
keseluruhan
akan
akan
cepat
cepat
.
.

Kerugiannya
Kerugiannya

Ukuran
Ukuran
bilangan
bilangan
dibatasi
dibatasi
oleh
oleh
ukuran
ukuran
field
field
alamat
alamat
Direct Addressing
Direct Addressing
(2)
(2)

Pengalamatan
Pengalamatan
langsung
langsung
Kelebihan Kelebihan : :
Field Field alamat alamat berisi berisi efektif efektif address address sebuah sebuah operand. operand.
Teknik Teknik ini ini banyak banyak digunakan digunakan pada pada komputer komputer lama lama dan dan komputer komputer
kecil kecil. .
Hanya Hanya memerlukan memerlukan sebuah sebuah referensi referensi memori memori dan dan tidak tidak
memerlukan memerlukan kalkulasi kalkulasi khusus khusus. .
Kelemahan Kelemahan : :
Keterbatasan Keterbatasan field field alamat alamat karena karena panjang panjang field field alamat alamat biasanya biasanya
lebih lebih kecil kecil dibandingkan dibandingkan panjang panjang word word
Contoh Contoh : :
ADD A ; ADD A ; tambahkan tambahkan isi isi pada pada
lokasi lokasi alamat alamat A A
ke ke akumulator akumulator
!ndirect Addressing
!ndirect Addressing
(3)
(3)

Node
Node
pengalamatan
pengalamatan
tak
tak
langsung
langsung

Field
Field
alamat
alamat
mengacu
mengacu
pada
pada
alamat
alamat
word
word
di
di
dalam
dalam
memori
memori
, yang
, yang
pada
pada
gilirannya
gilirannya
akan
akan
berisi
berisi
alamat
alamat
operand yang
operand yang
panjang
panjang

Contoh
Contoh
:
:
ADD (A) ADD (A) ; ; tambahkan tambahkan isi isi memori memori
yang yang ditunjuk ditunjuk oleh oleh
isi isi alamat alamat A A ke ke akumulator akumulator
!ndirect Addressing
!ndirect Addressing
(+)8(
(+)8(
-
-
)
)

Keuntungan
Keuntungan

Ruang
Ruang
bagi
bagi
alamat
alamat
menjadi
menjadi
besar
besar
sehingga
sehingga
semakin
semakin
banyak
banyak
alamat
alamat
yang
yang
dapat
dapat
referensi
referensi
.
.

Kerugian
Kerugian

Diperlukan
Diperlukan
referensi
referensi
memori
memori
ganda
ganda
dalam
dalam
satu
satu
fetch
fetch
sehingga
sehingga
memperlambat
memperlambat
proses
proses
operasi
operasi
Register Addressing
Register Addressing
(+)
(+)

Netode
Netode
pengalamatan
pengalamatan
register
register
mirip
mirip
dengan
dengan
mode
mode
pengalamatan
pengalamatan
langsung
langsung
.
.

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

Field yang
Field yang
mereferensi
mereferensi
register
register
memiliki
memiliki
panjang
panjang
3
3
atau
atau
+ bit,
+ bit,
sehingga
sehingga
dapat
dapat
mereferensi
mereferensi
8
8
atau
atau
16
16
register general purpose.
register general purpose.
Register Addressing (+)8(
Register Addressing (+)8(
-
-
)
)

Keuntungan
Keuntungan
pengalamatan
pengalamatan
register
register

Diperlukan
Diperlukan
field
field
alamat
alamat
berukuran
berukuran
kecil
kecil
dalam
dalam
instruksi
instruksi
dan
dan
tidak
tidak
diperlukan
diperlukan
referensi
referensi
memori
memori
.
.

Akses
Akses
ke
ke
register
register
lebih
lebih
cepat
cepat
daripada
daripada
akses
akses
ke
ke
memori
memori
,
,
sehingga
sehingga
proses
proses
eksekusi
eksekusi
akan
akan
lebih
lebih
cepat
cepat
.
.

Kerugian
Kerugian

Ruang
Ruang
alamat
alamat
menjadi
menjadi
terbatas
terbatas
Register !ndirect Addressing
Register !ndirect Addressing
(5)
(5)
Netode Netode pengalamatan pengalamatan register register tidak tidak langsung langsung mirip mirip dengan dengan mode mode
pengalamatan pengalamatan tidak tidak langsung langsung. .
Perbedaannya Perbedaannya adalah adalah field field alamat alamat mengacu mengacu pada pada alamat alamat register. register.
Letak Letak operand operand berada berada pada pada memori memori yang yang ditunjuk ditunjuk oleh oleh isi isi register. register.
Keuntungan Keuntungan dan dan keterbatasan keterbatasan pengalamatan pengalamatan register register tidak tidak langsung langsung
pada pada dasarnya dasarnya sama sama dengan dengan pengalamatan pengalamatan tidak tidak langsung langsung. .
Keterbatasan Keterbatasan field field alamat alamat diatasi diatasi dengan dengan pengaksesan pengaksesan memori memori yang yang
tidak tidak langsung langsung sehingga sehingga alamat alamat yang yang dapat dapat direferensi direferensi makin makin banyak banyak. .
Dalam Dalam satu satu siklus siklus pengambilan pengambilan dan dan penyimpanan penyimpanan, mode , mode pengalamatan pengalamatan
register register tidak tidak langsung langsung hanya hanya menggunakan menggunakan satu satu referensi referensi memori memori
utama utama sehingga sehingga lebih lebih cepat cepat daripada daripada mode mode pengalamatan pengalamatan tidak tidak
langsung langsung
Displacement Addressing
Displacement Addressing
(6)
(6)

Nenggabungkan
Nenggabungkan
kemampuan
kemampuan
pengalamatan
pengalamatan
langsung
langsung
dan
dan
pengalamatan
pengalamatan
register
register
tidak
tidak
langsung
langsung
.
.

Node
Node
ini
ini
mensyaratkan
mensyaratkan
instruksi
instruksi
memiliki
memiliki
dua
dua
buah
buah
field
field
alamat
alamat
,
,
sedikitnya
sedikitnya
sebuah
sebuah
field yang
field yang
eksplisit
eksplisit
.
.

Field
Field
eksplisit
eksplisit
bernilai
bernilai
A
A
dan
dan
field
field
implisit
implisit
mengarah
mengarah
pada
pada
register
register
Displacement Addressing
Displacement Addressing
(6)
(6)

Operand
Operand
berada
berada
pada
pada
alamat
alamat
A
A
ditambah
ditambah
isi
isi
register.
register.

Tiga
Tiga
model displacement
model displacement
Relative Addressing Relative Addressing
Base Register Addressing Base Register Addressing
!ndexing !ndexing
Displacement Addressing
Displacement Addressing
Relative addressing, register yang Relative addressing, register yang direferensi direferensi secara secara implisit implisit adalah adalah
program counter (PC). program counter (PC).
Alamat Alamat efektif efektif didapatkan didapatkan dari dari alamat alamat instruksi instruksi saat saat itu itu ditambahkan ditambahkan ke ke
field field alamat alamat. .
Nemanfaatkan Nemanfaatkan konsep konsep lokalitas lokalitas memori memori untuk untuk menyediakan menyediakan operand operand - -
operand operand berikutnya berikutnya. .
Base register addressing, register yang Base register addressing, register yang direferensikan direferensikan berisi berisi sebuah sebuah
alamat alamat memori memori, , dan dan field field alamat alamat berisi berisi perpindahan perpindahan dari dari alamat alamat itu itu. .
Referensi Referensi register register dapat dapat eksplisit eksplisit maupun maupun implisit implisit. .
Nemanfaatkan Nemanfaatkan konsep konsep lokalitas lokalitas memori memori. .
!ndexing !ndexing adalah adalah field field alamat alamat mereferensi mereferensi alamat alamat memori memori utama utama, ,
dan dan register yang register yang direferensikan direferensikan berisi berisi pemindahan pemindahan positif positif dari dari
alamat alamat tersebut tersebut. .
Nerupakan Nerupakan kebalikan kebalikan dari dari model base register. model base register.
Field Field alamat alamat dianggap dianggap sebagai sebagai alamat alamat memori memori dalam dalam indexing. indexing.
Nanfaat Nanfaat penting penting dari dari indexing indexing adalah adalah untuk untuk eksekusi eksekusi program program - -
program program iteratif iteratif
Stack Addressing
Stack Addressing
(/)
(/)

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

Stack
Stack
merupakan
merupakan
blok
blok
lokasi
lokasi
yang
yang
terbalik
terbalik
.
.
Butir Butir ditambahkan ditambahkan ke ke puncak puncak stack stack sehingga sehingga setiap setiap saat saat blok blok
akan akan terisi terisi secara secara parsial parsial. .

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

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

Stack pointer
Stack pointer
tetap
tetap
berada
berada
di
di
dalam
dalam
register.
register.

Dengan
Dengan
demikian
demikian
,
,
referensi
referensi
-
-
referensi
referensi
ke
ke
lokasi
lokasi
stack
stack
di
di
dalam
dalam
memori
memori
pada
pada
dasarnya
dasarnya
merupakan
merupakan
pengalamatan
pengalamatan
register
register
tidak
tidak
langsung
langsung
Node
Node
pengalamatan
pengalamatan
(
(
tabel
tabel
)
)
3.4. Mode
3.4. Mode
Pengalamatan
Pengalamatan
Pentium
Pentium

Pentium
Pentium
dilengkapi
dilengkapi
bermacam
bermacam
-
-
macam
macam
mode
mode
pengalamatan
pengalamatan
untuk
untuk
memudahkan
memudahkan
bahasa
bahasa
-
-
bahasa
bahasa
tingkat
tingkat
tinggi
tinggi
mengeksekusinya
mengeksekusinya
secara
secara
efisien
efisien
.
.
Node
Node
pengalamatan
pengalamatan
pentium
pentium
Keterangan :
SR = register segment
PC = program counter
A = isi field alamat
B = register basis
I = register indeks
S = faktor skala
Node
Node
pengalamatan
pengalamatan
pentium
pentium

Node immediate
Node immediate
Operand Operand berada berada di di dalam dalam instruksi instruksi. .
Operand Operand dapat dapat berupa berupa data byte, word data byte, word maupun maupun doubleword doubleword

Node operand register, operand
Node operand register, operand
adalah
adalah
isi
isi
register.
register.
Beberapa Beberapa macam macam jenis jenis register register
register 8 bit (AH, BH, CH, DH, AL, BL, CL, DL) register 8 bit (AH, BH, CH, DH, AL, BL, CL, DL)
register 16 bit (AX, BX, CX, DX, S!, D!, SP, BP) register 16 bit (AX, BX, CX, DX, S!, D!, SP, BP)
register 32 bit (EAX, EBX, ECX, EDX, ES!, ED!, ESP, EBP) register 32 bit (EAX, EBX, ECX, EDX, ES!, ED!, ESP, EBP)
register 6+ bit yang register 6+ bit yang dibentuk dibentuk dari dari register 32 bit register 32 bit secara secara berpasangan berpasangan. .
register 8, 16 register 8, 16 dan dan 32 32 merupakan merupakan register register untuk untuk penggunaan penggunaan umum umum
(general purpose register). (general purpose register).
register 6+ bit register 6+ bit biasanya biasanya untuk untuk operasi operasi floating point. floating point.
register register segmen segmen (CS, DS, ES, SS, FS, GS) (CS, DS, ES, SS, FS, GS)
Node
Node
pengalamatan
pengalamatan
pentium
pentium

Node displacement
Node displacement

Alamat
Alamat
efektif
efektif
berisi
berisi
bagian
bagian
-
-
bagian
bagian
instruksi
instruksi
dengan
dengan
displacement 8, 16,
displacement 8, 16,
atau
atau
32 bit.
32 bit.

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

Dalam
Dalam
Pentium, mode
Pentium, mode
ini
ini
digunakan
digunakan
untuk
untuk
mereferensi
mereferensi
variabel
variabel
-
-
variabel
variabel
global
global