Model PemrogramanArsitektur Internal
Mikroprosesor
Model pemrograman 8086 sampai Pentium II termasuk visible register
(terlihat-program) karena
register-registernyadigunakanselamapemrogramanaplikasidanditentukanolehinstruksi.
Register lainnyamerupakan invisible register (takterlihat-program). Karena
register-register itutidakdapatdialamatiselamapemrogramanaplikasi,
namundapatdigunakantaklangsungselamapemrogramansistem.Hanya 80286 keatas yang
berisi register-register invisible program yang
digunakanuntukmengontroldanmengoperasikansistemmemoriterlindung.
Register 8 bit = AL, AH,
BL, BH, CL,CH, DL, DH.
Register 16 bit = AX, BX, CX, DX,
SP, BP, DI, SI, IP, FLAGS, CS, DS, ES, SS, FS, dan GS
Register 32 bit = EAX, EBX, ECX,
EDX, ESP, EBP, EDI, ESI, EIP, dan EFLAGS
Register extended 32 bit, register
GS, dan register FS 16 bit hanyaterdapatpadamikroprosesor 80386 keatas.
Register-register yang
sudahdisebutkandiatas, dikelompokkankedalam :
(1). Register Multiguna
– Akumulator EAX
– Base Index register EBX
– Count register ECX
– Data register EDX
– Base Pointer register BP
– Destination Index register EDI
– Source Index register ESI
(2). Register untuktujuankhusus.
– Instruction Pointer EIP
– Stack Pointe ESP
– EFLAG
(3). Register segmen
– Code segmen CS, Datasegmen DS
– Extra segmenES , Stack segmen SS
– FS dan GS
FLAG REDISTER
Carry CDigunakanuntukmenyimpan
bit carry padapenjumlahanatau borrow padapengurangan
Parity Pmeupakanlogika
0 untukparitasganjil, danlogika 1 untukparitasgenap.Paritasadalahjumlah bit 1
dalamsebuahbilanganbiner.
Auxiliary carruAmenampung
carry padasetengahpenjumlahanatau borrow setelahpenguranganantaraposisi bit 3
dan 4. Flag inikhususdiujiolehinstruksi DAA dan DAS untukmenyesuaikannilai AL
setelahpenambahanataupengurangan BCD.
Zero Zmenunjukkanbahwahasildarisuatuoperasiaritmatikaataulogikabernilai
nol. Jika Z=1, makahasiloperasiadalahnol
Trap Tmemungkinkan
trapping melaluisuatu chip debugging
Interrupt Imengendalikanoperasidari
pin input INTR. Jika I=1, maka pin INTR nya enable, dansebaliknya. Kondisi bit
I dikontrololehinstruksi STI dan CLI
Direction D
Flag arahiinimemilihsalahsatudari mode penambahanataupenguranganuntuk register
DI dan/atauy SI selamainstruksi string. Jika D=1, register
secaraotomatisakandikurangi, dansebaliknya. Dflag D di seetdenganinstruksi STD
dan CLD,
Overflow O
Overflow terjadiketikabilanganbertandaditambahataudikurang. Suatu overflow menunjukkanhasilnyamelebihikapasitasdarimesin.
Contoh :jika 7FH (+127) ditambahdengan 80H (+1), dengankapasitasmesinhanya 8
bit.
I/O Privilege Level IOVL
IOPL digunakandalamoperasi mode terlidunguntukmemilihtingkatanoperasiistimewauntukperanti
I/O
Nested
Task NT
NT menandakanbahwa task yang sedangdilaksanakanbersarangdidalam task yang
laindalamoperasi mode rerlindung.
Resume
RS
RS digunakanbersama debugging
untukmengontrolkelanjutaneksekusisetelahinstruksiberikutnya.
Virtual
Mode VM
Flag VM memilihoperasi mode virtual dalamsuatusistemsistem mode terlindung.
Aligment
Check AC
AC akanaktif, jikasuatu word
ataudoubleworddialamatkanpadabatassuatunonwordataunodoubleword. Hanya 80486SX
yang berisi bit AC yang umumdigunakanolehkoprosesornumerik 80487SX
pendampingnyauntuksinkronisasi.
Virtual
Interrupt Flag VIF
VIF adalahsuatusalinan bit flag interrupt yang digunakanpadaprosesor Pentium
atau Pentium Pro.
Virtual
Interrupt Pending VIP
VIP menyediakaninformasimengenaisuatu interrupt mode virtual untukmikroprosesor
Pentium sampai Pentium II. Inidigunakandalampemakaian multitasking
untukmemberikan flag virtual interrupt daninformasi pending
interrputpadasistemoperasi.
Identification
ID
ID menunjukkanbahwaprosesor Pentium sampai Pentium II mendukunginstruksi CPUD
yang memberikaninformasitentangprosesosesuaidenganversidannomerseridaripabrik.
Sign
S
Sign
Smenampungtandaaritmatikadarihasilsetengahinstruksiaritmatikaataulogikadieksekusi
PENGALAMATAN MEMORI MODE REAL
Mikroprosesor
80286 keatas, beroperasibaikdalam mode real atau mode terlindung (protected).
Hanya 8086 dan 8088 yang beroperasihanyapada mode real.
Operasi
mode real mengijinkanpenempatanruangmemorihanyapada 1M
Byterpertama.Olehkarenaitu 1MB pertamadisebutdenganmemori real
ataumemorikonvensional.Sistemoperasi DOS
menginginkanmikroprosesorberoperasipadamodae real.
(1). Segmendan Offset
Kombinasidarisuatualamatsegmendanalamat offset mengaseslokasimemoripada mode
real. Semuaalamatmemori mode real terdiridari :
- Alamatsegmen, beradadalam register segmen
- Alamatoffset,memilihsembaranglokasi yang memilikisegmenmemori 64Kbyte.
ContohAlamat-alamatSegmen
Register segmen
|
Alamatawal
|
Alamatakhir
|
2000H
|
20000H
|
2FFFFH
|
2001H
|
20010H
|
3000FH
|
2100H
|
21000H
|
30FFFH
|
AB00H
|
AB000H
|
BAFFFH
|
1234H
|
12340H
|
2233FH
|
Segmen
|
Offset
|
Tujuanspesial
|
CS
|
IP
|
Alamatinstruksi
|
SS
|
SP atau BP
|
Alamat stack
|
DS
|
BX,DI,SI, bilangan 8 bit
atau 16 bit
|
Alamat data
|
ES
|
DI untukinstruksi string
|
Alamattujuan string
|
(2).
Segmen Default dan Register Offset
Tabel III.2.Kombinasi alamat offset
dansegmen 16 bit default 8086 – 80486 dan Pentium II
Tabel III.3.
Kombinasialamatsegmendan offset 32 bit
default 80386, 80486 dan Pentium, Pentium Pro dan Pentium II
default 80386, 80486 dan Pentium, Pentium Pro dan Pentium II
Segmen
|
Offset
|
Tujuanspesial
|
CS
|
EIP
|
Alamatinstruksi
|
SS
|
ESP atau EBP
|
Alamat stack
|
DS
|
EAX,EBX,ECX,EDI,ESI,
bilangan
8 bit atau 16 bit
|
Alamat
data
|
ES
|
DI untukinstruksi string
|
Alamattujuan string
|
FS
|
Tanpa default
|
Alamatumum
|
GS
|
Tanpa default
|
Alamatumum
|
PENGALAMATAN MEMORI MODE PROTECTED
Pengalamatan mode terlindung (protected)
memungkinkanpeng-aksesan data dan program yang terletakpadadanataumemoridiatas
1 Mbytepertama. Alamatiniterletakpadamemorisistempadabagian extended.
Ketika data dan program terletakpadamemori extended, alamat
offset masihdigunakanuntukmengaksesinformasi yang terletakpadasegmenmemori.
Salah satuperbedaannyaadalahalamatsegmen, yang adapada mode real,
tidakadalagipada mode protected. Sebagaigantinya, register segmenberisi
selector yang digunakanuntukmemilihdeskriptor-deskriptor (pendeskripsi)
padatabelpendeskripsi.Pendeskripsimenggambarkanlokasisegmenmemori,
panjangdanhakakses.Karena register segmendanalamat offset masihmengaksesmemori,
makainstruksipada mode protected identikdenganinstruksipada mode real.
Selektorterletakdalam register
segmendandigunakanuntukmemilihsalahsatudari 8192
pendeskripsidansalahsatudariduatabelpendeskripsi..Pendeskripsimenggambarkanlokasi,
panjangdanhakaksesdarisegmenmemori.Secaratidaklangsung register
segmendigunakanuntukmemilihsegmenmemori, tetapi ‘secaratidaklangsung’ seperti
mode real. Ada duatabelpendeskripsi yang digunakanbersama register
segmen, satuberisipendeskripsiglobal,
dan yang lain berisipendeskripsilokal.Pendeskripsiglobal (prndeskripsisistem)berisibatassegmen
yang digunakanuntuk program, sedangkanpendeskripsilokal (pendeskripsiaplikasi)biasanyadigunakanuntuk
program-program unik. Masing-masingtabelpendeskripsiberisi 8129 pendeskripsi,
sehingga total semuapendeskripsiadalah 16384.
PAGING MEMORI
Mekanisme paging memori yang adadalammikroprosesor 80386
danversidiatasnyamengijinkansetiaplokasimemorisecarafisikditunjukkansetiapalamat
linier.
Alamat linier didefinisikansebagaialamat yang
dibangkitkanolehsebuah program.Dengan paging memori, alamat linier
ditranslasikansecarasemukedalamalamatfisik, yang mengijinkansebuahaplikasi yang
dituliskefungsipadaalamatkhususdilokasikankembalimelaluimekanisme paging.
Modulinijugamengujinkanmemoriditempatkankedalam area dimanatidakadamemori,
misalnyapadablokmemoriatas yang disediakanoleh EMM386.EXE.
Tidak ada komentar:
Posting Komentar