You are on page 1of 22

MIKROPROSESO

R DAN
ARSITEKTURNYA

1
1.Pendahuluan
Mikroprosessor sebagai sebuah peranti yang dapat
diprogram, dengan pertama-tama melihat pada model
program internalnya dan kemudian bagaimana
mikroprosessor mengalamatkan ruang memorinya.
Arsitektur dari seluruh kerabat mikroprosessor Intel
diterangkan secara simultan, demikian pula cara yang
digunakan kerabat mikroprosessor Intel dalam
mengalamatkan sistem memori.
2
2. Arsitektur Internal Mikroprosessor
Model Pemrograman
Model pemrograman 8086 sampai Pentium II termasuk
visibel program (terlihat program) karena register-
registernya digunakan selama pemrograman aplikasi dan
ditentukan oleh instruksi.
Register lainnya merupakan invisibel program (tak terlihat-
program) karena register-register itu tidak mampu
dialamati selama pemrograman aplikasi, namun dapat
digunakan tak langsung selama pemrograman sistem.
Hanya mikrorosessor 80286 ke atas yang berisi register-
register invisibel program yang digunakan untuk mengontrol
dan mengoperasikan sistem memori terlindung.

3
Model
pemrograman
mikroprosessor
intel 8086
sampai P2

4
Model pemrograman berisi register-register 8, 16, dan 32-bit.
Register-register 8-bit adalah:
AH, AL, (A=Akumulator, H= high L =low)
BH, BL, (Base Index),
CH, CL, (Count),
DH,DL. (Data),
Register-register 16 bit adalah:
AX,
BX,
CX,
DX,
SP(Stack Pointer),
BP(Base Pointer),
DI(Indeks tujuan),
SI(indeks sumber),
IP(instruction pointer),
FLAGS,
CS(code Segment),
DS(Data Segment), ,
ES(Ekstra Segment), ,
SS(stack Segment), ,
FS, dan GS.
Register-register extended 32-bit berlabel EAX, EBX, ECX, EDX, ESP, EBP, EDI, ESI,
EIP, dan EFLAGS.
Register-register Multiguna
EAX (akumulator digunakan u/ inst perkalian, pembagian ,
beberap inst penyusuaian)
EBX (menyimpan alamat offset sebuah lokasi memori dlm
sistem mimori,juga dapat mengalamati data memori)
ECX (u/ inst menggunakan penghitungan, dapat juga
menyimpan alamat offset data memori)
EDX (u/menyimpan hasil perkalian dan sisa dalam
pembagian, mengalamati data memeri)
EBP (u/mentransfer data memori)
EDI (u/mengalamati data tujuan string u/beberapa inst string)
ESI (u/mengalamati sumber data string u/beberapa inst
string)

6
Fungsi-fungsi setiap bit flag operasi
aritmatika dan logik
C (carry)
Carry menyimpan carry setelah penambahan, atau borrow
setelah pengurangan. Flag carry juga menunjukkan kondisi
error seperti yang diperintahkan oleh program dan
prosedur.
P (paritas)
Paritas adalah jumlah angka satu dalam bilangan yang
menyatakan genap atau ganjil. Flag paritas jarang
ditemukan dalam aplikasi pemrograman modern dan telah
diimplementasikan dalam mikroprosessor Intel generasi
pertama untuk mengecek data dalam komunikasi data.

7
EFLAG dan FLAG count register u/seluruh kerabat mikroprosess
80x86 dan pentium

8
A (auxiliary carry)
Carry tambahan (auxiliary carry) menampung carry (carry
setengah) setelah penambahan, atau borrow setelah
pengurangan antar posisi bit 3 dan 4.
Z (Zero)
flag nol jumlah dari suatu operasi aretmatika atau logika
adalah nol jika z = 1, sebaliknya bukan nol utk z = 0.
S (sign)
Flag tanda akan menampung tanda aritmetika dari hasil setelah
instruksi aritmetika atau instruksi logik dieksekusi.
T (trap)
Flag trap memungkinkan trapping melalui suatu chip
debugging (suatu program didebug untuk mencari error atau
bug).
9
I (interrupt)
Flag interrupt ini mengendalikan operasi dari
pin input INTR (interrupt request).
D (direction)
Flag arah ini memilih salah satu dari mode
penambahan atau pengurangan untuk register
DI dan /atau register SI selama instruksi string.
IOPL (I/O privilege level)
IOPL digunakan dalam operasi mode terlindung
untuk memilih tingkatan operasi istimewa
untuk peranti I/O.

10
NT (nested task)
Flag NT menandakan bahwa task yang sedang
dilaksanakan bersarang dalam task yang lain dalam
operasi mode terlindung.
RF (resume)
Flag resume digunakan bersama debugging untuk
mengontrol kelanjutan eksekusi setelah instruksi
berikutnya.
VIP (virtual interrupt pending)
Digunakan dalam pemakaian multitasking untuk
memberikan flag virtual interrupt dan informasi
pending interrupt pada sistem operasi.
11
Register segmen
Register tambahan, disebut juga register segmen, menghasilkan
alamat-alamat memori saat dikombinasikan dengan register-
register lainnya dalam mikroprosessor. Berikut daftar dari
masing-masing register segmen :
CS (code segment adalah suatu bahagian dari memori yg memuat
kode(program dan prosedur)
DS (data segment adalah bahagian dari memori yg berisi sebahagian
besar data yg digunakan o/prog )
ES (extra segment adalah penambahan segment data yg digunakan)
SS (stack segment adalah u/stack)
FS dan GS (segment momori tambahan diakses o/program yg
dijalankan u/mik 80386-P Pro

12
Pengalamatan memori Mode real
Operasi mode real mengijikan
penempatan ruang memori hanya pada 1
M byte pertama.

13
Segmen dan offset
Kombinasi dari suatu alamat segment
dan alamat offset mengakses lokasi
memori pada mode real.
Alamat segmen berada dalam satu
register segment, menenpatkan alamat
awal dari segmen memori 64 Kbyte
Alamat offset memilih sembarang lokasi
yang memiliki segmen memori 64 K byte
itu
Contoh Reg segmen berisi 3000H
alamat pertama dari segmen adalah
30000H (ini diperoleh mengalikan
10 untuk membentuk 20 bit (1MB))
alamat akhirnya 30000H + FFFFH =
3FFFFH (64 K byte)

14
Alamat segmen dan offset kadang ditulis
1000:2000 ( 1000H = alamat segment,
2000H alamat offset)

15
Segmen Default dan Register offset
Mikroprosessor mempunyai sekumpulan aturan dalam
menggunakan segmen ketika memori dialamatkan
Aturan digunakan untuk mode real dan protected
Register segmen kode mendefinisikan awal segmen
kode
Penunjuk instruksi menempatkan instruksi berikutnya
dalam segmen kode
Contoh CS=1400H dan IP/EIP=1200H uP mengambil
alamat berikutnya 14000+1200=15200H
Kombinasi default yang lain adalah stack
Data stack direferensikan sepanjang segmen stack pada lokasi
memori yang ditunjukkan oleh stackpointer (SP/ESP) atau Base
Pointer (BP/EBP)
16
uP 8086-80286
mempunyai 4 segmen
memori
80386 ke atas 6 segmen
memori
Anggaplah Segmen
sebagai jendela yg dapat
digerakkan utk menutup
suatu area memori untuk
mengakses data atau
code
Suatu program bisa
memiliki lebih dari 4 atau
6 segmen
Dpt mengakses 4 sampai 6
segmen pada
17
setiap waktu
Pengalamatan memori mode protected
(terlindung)
80286 keatasnya memungkinkan pengaksesan
data dan program yang terletak diatas 1M byte
pertama dari memori (Extended)
Sebagai ganti alamat segment tersebut register
segment berisi sektor yang digunakan utk
memilih pendeskripsi pada tabel pendeskripsi
Pendeskripsi menggambarkan lokasi segment
memori, panjang, dan hak akses

18
Selektor dan Deskriptor(Pendeskripsi)
Pendeskripsi menggambarkan lokasi,panjang dan hak
akses dari segmen memori.
Untuk memilih salah satu dari 8192 pendeskripsi dari
salah satu dari dua tabel pendeskripsi
Pada mode terlindung angka segment dapat mengalamati
beberapa lokasi memori sistem utk segment kode
Secara tidak langsung register segmen digunakan untuk
memilih segmen memori

19
Pendeskripsi global berisi batas segment
yg digunakan utk semua program
Pendeskripsi lokal biasanya digunakan utk
program-program unik
Pendeskripsi global = Pendeskripsi sistem,
Pendeskripsi lokal = Pendeskripsi Aplikasi
Base Addres (alamat basis) dari
pendeskripsi menunjukkan lokasi awal
dari segmen memori.

20
Paging Memori
Mekanisme paging memori yang ada dlm mikroprosesor 80386 dan
versi diatasnya mengizinkan setiap lokasi memori secara fisik
ditunjukkan ke setiap alamat linear.
Alamat linear didefinisikan sebagai alamat yang dibangkitkan oleh
sebuah program.
Dengan modul paging memori, alamat linear ditranslasikan secara semu
ke dalam setiap alamat fisik, yang mengizinkan sebuah aplikasi yang
ditulis ke fungsi pada alamat khusus dilokasikan kembali melalui
mekanisme paging.
Penggunaan memori sistim 4K blok atas, memori sistim yaitu antara
video BIOS dan ROM BIOS dengan mekanisme paging

21
Sekian dan terima kasih

22

You might also like