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.