Halaman

Selasa, 20 November 2012

ARSITEKTUR INTERNAL MIKROPROSESOR


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.
Model pemrogramanberisi register-register 8, 16 dan 32 bit.
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 :
  1. Alamatsegmen, beradadalam register segmen
  2. 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
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