muchad

MIKROPROSESOR INTEL 8088: Register dan Arsitektur

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 offs
et

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.
[Mukhlish muchad Fuadi: 2nd Semester 2006]