Arsitektur Microprocessor 8088
Di awali dari definisi
Mikroprosesor itu sendiri, ialah sebuah chip (IC) yang bekerja dengan program.
Fungsinya adalah sebagai pengontrol atau pengolah utama dalam suatu rangkaian
elektronik. Mikroprosesor biasa disebut
juga dengan CPU (Central Processing Unit). Sekilas tentang sejarahnya yaitu
pada tahun 1978 Intel mengeluarkan mikroprosesor 16-bit yaitu 8086,
setahun kemudian mengeluarkan 8088 dengan kecepatan eksekusi dan memori lebih
besar dari 8085, serta mulai digunakannya cache memori (sistem antrian yang
mengatur pemberian instruksi sebelum menjalankannya.
Mikroprosesor Intel 8088
termasuk keluarga mikroprosesor 8 bit dan 16 bit. Mikroprosesor 8088 mempunyai
8 bit jalur data dan 20 bit jalur alamat. Jalur data memiliki pin yang sama
dengan jalur alamat, artinya pada saat tertentu digunakan sebagai jalur data
dan pada saat yang lain digunakan sebagai jalur alamat.
Setiap satu pin memiliki dua fungsi,
yaitu sebagai jalur data dan jalur alamat maka digunakanlah sistem time
multiplexing, yaitu penggunaan jalur yang sama untuk fungsi dan waktu yang
berbeda, sehingga tidak bisa data dan alamat dikirim pada saat yang bersamaan.
Mikroprosesor 8088 mampu mengalamati
memori sampai 1 MB. Memori ini digunakan untuk menyimpan kode biner dari
instruksi yang akan dijalankan oleh μP, selain itu memori juga digunakan untuk
menyimpan data secara sementara.
Set Instruksi Pada Microprocessor 8088
1. Transfer Data
Set
instruksi 8088 mencakup 14 transfer data yang menggerakkan byte atau kata data
antara memori dan register selain juga antara akumulator dan port I/O.
a.
General Purpose (Umum) : MOV, PUSH, POP, XCHG,
SXLAT
b. Input/Output : In, Out
c. Address Transfer (Pemindahan
Alamat) : LEA, KDS, KES
d. Flag Transfer (Pemindahan
Flag) : LAHF, SAHF,
PUSHF, POPF
2. Arithmetic Instructions (Instruksi Perhitungan)
8088
mampu melakukan penambahan, pengurangan, pengurangan dan pembagian data selain
juga bytes dan kata. Sistem ini menambah dan mengurangi dengan menggunakan
bytes atau kata yang bertanda atau tak bertanda dan data BCD atau ASCII.
a. Addition (Penjumlahan) : ADD, ADC, AAA, DAA, INC
b. Substraction (Pengurangan) : SUB, SBB, AAS, DAS, DES, NEG, CMP
c. Multiplication (Perkalian) : MUL, IMUL, AAM
d. Division (Pembagian) : DIV, IDIV, AAD
e. Sign Extension : CBW, CWD
3. Manipulasi Bit
Instruksi
ini mencakup operasi logika, shift dan rotasi.
a. Logical (Logika) : AND, OR, XOR, NOT, TEST
b. Shift (Geser) : SAL/SHL, SAR, SHR
c. Rotate (Gulung) : ROL, ROR, RCL, RCR
4. Instruksi String
Instruksi
string digunakan untuk memanipulasi string data dalam memori. Setiap string
tersusun baik dari bytes maupun kata dan hingga mencapai 64 K bytes panjang.nya
a. Direction : CLD, STD
b. Repeat Prefixes : REP, REPE/REPZ, REPNE/REPNZ,
c. Move : MOVSB, MOVSW
d. Compare : CMPS, CMPSB, CMPSW
e. Scan : CSAS, SCASB, SCASW
d. Load and Store : LODS, LODSB, LODSW, STOS, STOSB,
STOSW
5. Transfer Program
Instruksi
transfer program mencakup jump, call, dan return, instruksi yang sudah kita kenal dalam 8085.
a. Unconditional transfer (Pemindahan) : CAL, RET, JMP
b. Conditional transfer
(Pemindahan Bersyarat) :
JA/JNBE, JAE/JNB, JB/JNAE/JC, JBE/JNA, JCXZ, JE/JZ, JG/JNLE, JGF/JNL, JL/JNGE,
JLE/JNG, JNC, JNE/JNZ, JNO, JNP/JPO, JNS, JO, JP/JPE, JS
c. Loop/Jump :
LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ
6. Kontrol Prosesor
Instruksi
kontrol prosesor memungkinkan dan tidak memungkinkan interupsi, memodifikasi
bit flag dan mensinkronisasi kejadian eksternal.
a. Flag Operations : CLC, STC, CMC, CLD,
STD, CLI, STI,
b. External Synchronization
7. Interrupt : INT, INTO, IRET
SEKILAS INTEL 8088
Intel 8088 adalah prosesor mikro buatan Intel berbasis pada
8086, dengan 16-bit register dan menggunakan 8-bit external data bus. intel
8088 merupakan prosesor yang digunakan pada IBM PC.
8088 ditargetkan pada sistem yang ekonomis, diikuti oleh
pengunaan desain 8-bit. Jalur bus yang lebar dalam circuit boards masih
sangatlah mahal ketika ini di luncurkan. Queue yang ungul dari 8088 adalah 4
bytes, sebagai penggunaan dalam 8086 6 bytes. 8088 termasuk keturunan dari
80188, 80288, 80186, 80286, 80386, 80486, dan 80388, microcontroller seperti
yang masih digunakan sekarang. Clone yang populer dengan menggunakan 8088
adalah Model D, dimana tombol pilihan dapat berjalan pada clock 4.77 MHZ atau
7.16 MHZ.
Spesifikasi 8088
Mikroprosesor Intel 8088 hampir serupa dengan prosesor Intel
8086, kecuali pada data eksternal bus.
Lebar data eksternal bus 8088 dikurangi menjadi 8 bit, dan instruksi ukuran
queue dan prefetching algoritmanya diubah. Intel 8088 menggunakan dua urutan
bus siklus untuk menulis atau membaca 16 data bit sebagai ganti satu siklus
untuk 8086. Ini menjadikan prosesor
bergerak lebih lambat, tetapi ada
nilai plus pada perangkat keras yang menjadikan CPU 8088 kompatibel dengan
peripheral 8080/8085.
Pin SSO
pada 8088 menggantikan BHE/S7 pada 8086, dan pin IO/M pada 8088, bukan M/IO
seperti pada 8086. 8088 membutuhkan catu daya +5,0 V dengan toleransi + 10%.
Mikroprosesor 8088 akan kompatibel TTL (Transistor-Transistor Logic) jika
kekebalan terhadap noise disesuaikan menjadi 350 mV dari nilai 400 mV yang
biasa. Mikroprosesor 8088 dapat menjalankan satu 74XX, lima 74LSXX, satu 74SXX,
sepuluh 74ALSXX, dan sepuluh 74HCXX beban satuan. Jika mikroprosesor 8088
direset, mikroprosesor ini mulai mengeksekusi perangkat lunak pada lokasi meori
FFFF0H (FFF:0000) dengan pin interrupt request di-disable. Karena bus-bus 8088
dimultipleks dan kebanyakan memori dan peralatan I/O tidak, system harus
didemultipleks sebelum pengantarmukaan dengan memori atau I/O. Demultipleks
dilakukan oleh latch delapan bit yang pulsa clocknya didapat dari sinyal ALE.
Operasi minimum 8088 sama dengan mikroprosesor Intel 8085A, sementara mode
maksimum adalah baru dan khusus dirancang untuk operasi koprosesor aritmatika
8087.
REGISTER
Sebuah register adalah sebuah tempat penampungan sementara
untuk data-data yng akan diolah oleh prosesor, dan dibentuk oleh 16 titik
elektronis di dalam chip mikroprosesor itu sendiri. Dengan adanya tempat-tempat
penampungan data sementara ini, proses pengolahan akan bisa dilakukan
secara jauh lebih cepat dibandingkan apabila data-data
tersebut harus diambil langsung dari lokasi-lokasi memori. Register-register
tersebut sebagai register internal dan terdiri dari empat belas register dan
keseluruhannya dapat dibagi dalam beberapa jenis, yaitu : Register Segment,
Register Data, Register pointer, Register index, Register index, dan General
Purpose Register.
Semua general register mikroprosesor 8088 dapat digunakan untuk perhitungan dan
operasi logika.
Pada 8088, register data diwujudkan oleh AX, BX, CX dan BX
(sebagai general purpose register), sehubungan dengan fungsinya yang selain
menangani tugas-tugas khusus, juga bisa dimanfaatkan untuk membantu
proses-proses pengolahan data didalam internal mikroprosesor.
Mikroprosesor 8088 mempunyai kemampuan untuk bekerja dalam
mode 'langkah tunggal' (single-step), yaitu semua instruksi dilaksanakan dengan
cara satu demi satu. Mode ini dimungkinkan
dengan jalan membuat TF (Trap Flag) masuk ke logika '1' atau
'set'. Bagi seorang programmer, mode ini akan sangat berguna dalam pekerjaan
'debugging'.
Organisasi Ruang Memori Dan Register
Unsur terkecil memori adalah 'sel memori' (memory-cell),
yaitu suatu elemen penyimpanan data yang berkapasitas sebesar 1 bit. Dengan
menggabungkan sejumlah sel memori, akan bisa membentuk suatu ruang penyimpanan
data dengan berbagai ukuran, misalnya 1 byte, 1 word, 1 Kilobyte, 1 Megabyte, 1
Gigabyte, 1 Terabyte, dsb.
Organisasi memori dapat dibandingkan dengan sistem 'locker'
(susunan laci yang mempunyai kode nomor setiap lacinya sehingga memudahkan
orang mengenal lacinya masing-masing sebelum mengambil atau memasukkan barang
titipannya).
Susunan chip prosesor Intel 8088.
• Catu Daya/VCC (pin 40) dan GND (pin 1 dan 20)
• Bus Data (AD0 - AD7)
• Bus Alamat (AD0 - AD7 dan A8 - A19)
• Bus Kendali (NMI, INTR, CLK, Reset).
Dalam mikroprosesor 8088 secara fisik, bus alamat terdiri
dari 20 bit (A0-A19), sementara register-register internal terbentuk dari 16
bit data. Oleh sebab itu, untuk menyesuaikan perbedaan jumlah bit antara bus
alamat 8088 dengan register internal, sistem pengalamatan memori dilaksanakan
dengan format segment:offset. Format yang membutuhkan 32 bit
ini dibentuk dengan jalan menggabungkan data dari 2 buah register sekaligus.
Register pertama adalah satu satu dari 4 register segment, sedangkan register
lainnya diambil dari salah sebuah register pointer atau register indeks.
Kenyataannya, segment-segment yang didefinisikan pada ruang
memori itu boleh dibuat saling berdampingan, terpisah atau tumpang tindih sekalipun.
Prosesor memiliki bus alamat sebanyak 20 bit, yang berarti ia mampu mengalamati
hingga 1.048.575 lokasi memori. Secara heksadesimal, jumlah ini dinyatakan
sebagai angka 00000 sampai dengan FFFFF. Ini adalah alamat-alamat fisik (physical
addresses) dari mikroprosesor. Untuk 8088 dan 8086 yang bus alamatnya terdiri
dari 20 bit, otomatis penulisan alamat fisiknya terdiri dari 5 digit
heksadesimal. Sistem segmentasi pada IBM PC dilaksanakan agak unik. 1 segment
adalah bagian dari ruang memori yang besarnya 65536 byte atau 64 Kb. Namun,
segment-segment itu tidaklah diletakkan secara berdampingan sambung menyambung
satu sama lain, akan tetapi saling tumpang tindih sehingga jarak antara titik
awal suatu segment hanya terpaut 16 byte terhadap segment lainnya.
Peta Memori (Memory Map)
Kapasitas memori untuk IBM PC/XT yang berbasis prosesor
Intel 8088/8086 adalah 1.048.576 byte atau lebih mudah disebut 1 (satu)
Megabyte. Nilai sebesar 1 MB inilah yang menjadi dasar sistem pemetaan memori
dalam keluarga IBM PC Kompatibel, sehingga dalam produk-produk yang lebih
mutakhir pun, peta memori tersebut tetap dipertahankan. Hal ini berhubungan
dengan konsistensi yang harus dijaga pada Disk Operating System, yang dalam
keadaan bagaimanapun, harus tetap bisa dijalankan mulai dari produk yang paling
awal seperti PC/XT, sampai kepada yang terbaru seperti AT 486 kompatibel.
ARSITEKTUR
Arsitektur dari 8088 tetap sama degan 8086 yakni: 16-bit
registers, 16-bit internal data bus dan 20-bit address bus, yang bisa
menjadikan prosesor mencapai memori 1 MB. 8088 memiliki pembagian memori yang
sama dengan 8086: prosesor bisa mencapai 64 KB dari memori secara langsung, dan
untuk mencapai lebih dari 64 KB, salah satu dari bagian khusus register harus
di update.
Program, data dan stack memori menduduki ruang memori yang
sama. Total kapasitas memory yang bisa dicapai adalah 1MB KB. Sebagaimana
kebanyakan instruksi prosesor yang menggunakan 16-bit pointers, prosesor dapat
mengolah secara efektif jika hanya memorinya 64 KB. Untuk mengakses memori
diluar 64 KB, CPU menggunakan
bagian register khusus untuk
menspesifikasi di mana kode, stack dan 64 KB segmen data diposisikan di dalam
memori 1 MB.
16-bit pointers dan data disimpan sebagai:
address: low-order byte
address+1: high-order byte
32-bit addresses disimpan di "segment:offset"
dengan format:
address: low-order byte of segment
address+1: high-order byte of segment
address+2: low-order byte of offset
address+3: high-order byte of offset
Physical memory address ditunjukkan oleh pasangan
segment:offset dihitung dengan:
address = (<segment> * 16) + <offset>
Program Memori- program dapat ditempatkan di manapun di
dalam memori. perintah jump and call dapat digunakan untuk menyingkat lompatan
di dalam segmen kode 64 KB, seperti halnya untuk lompatan jauh di manapun di
dalam memori 1 MB. Seluruh perintah lompatan yang bersyarat dapat digunakan
untuk melompat sekitar + 127 - - 127 bytes dari instruksi yang ada.
Memori data - prosesor dapat mengakses data di tiap orang
lebih dari 4 segmen yang tersedia, yang membatasi ukuran dari memori yang dapat
diakses sampai 256 KB ( jika seluruh empat segmen menunjuk pada 64 KB blok
berbeda). Mengakses data dari Data, Code, segmen Extra atau Stack biasanya
dapat dilaksanakan dengan awalan perintah DS:, CS:, SS: atau ES: ( beberapa
register dan instruksi dengan tak hadir boleh gunakan segmen SS atau ES sebagai
ganti segmen DS).
Set Instruksi
Set instruksi 8088
terdiri dari perintah-perintah berikut:
* Instruksi
perpindahan data.
* Aritmatika -
penjumlahan, pengurangan, penaikan, penurunan, mengkonversi byte/word dan
pembandingan.
* Logika - DAN, OR,
eksklusif OR, shift/rotate dan test.
* Manipulasi string -
load, store, move, compare dan scan untuk byte/word.
* Kontrol transfer -
conditional, unconditional, panggilan subroutine dan kembali dari subroutine.
* Perintah
Input/Output.
* Lain-lain -
setting/clearing flag bits, stack operations, software interrupts, dan
lain-lain.
KESIMPULAN
8088 adalah desain hybrid 8/16-bit: 16-bit internal, dengan 8-bit
I/O. ini berarti bahwa Sistem designer dapapt menggunakan chip pendukung 8-bit
yang murah dan tersedia. Sehingga menurunkan harga sebuah sistem komputer.
Kemampuannya tidak begitu hebat, mesin-mesin Z-80 dan 8085 kadang-kadang lebih
unggul, tetapi 8088 terjual cukup banyak. Apalagi setelah divisi IBM memilihnya
sebagai prosesor utama IBM PC. 8088 menjadi sejarah dan terjual jutaan unit,
rekor kedua setelah Z-80.
Sayangnya Intel membuat beberapa keputusan yang buruk dalam
desain. Pertama, 8088 menggunakan arsitektur bersegmen. Kedua untuk alasan yang
tidak efisien, Intel memutuskan untuk membatasi akses base-memory dalam suatu
cara menjadi hanya 640K. Meskipun pada masa itu keputusan ini adalah untuk
jangka pendek semua user prosesor x86 hingga saat ini merasa kesulitan dengan
pembatasan 640K tersebut. Ini dapat ditemukan jika user menerima pesan
kesalahan 'out of memory'. DOS, Windows, dan bahkan Windows 95 memiliki
permasalahan base-memory yang disebabkan oleh batas 640K. Hanya sistem operasi
murni 32-bit seperti OS/2 dan Windows NT yang tidak memiliki masalah ini. Saat
itu user harus menunggu 7 tahun sebelum kemunculan 386. <b>[muchad
2008]</b>
Tidak ada komentar:
Posting Komentar