Kamis, 08 Desember 2011

Spesikasi Perangkat Keras 8086/8088

Spesifikasi Perangkat Keras 8086/8088

Pin-out dan Fungsi Pin.
    Secara virtual tak ada perbedaan antara mikroprosesor 8086 dan 8088-keduanya terkemas dalam dual in-line package (DIP) 40-pin. Mikroprosesor 8086 merupakan mikroprosesor 16-bit dengan bus data 16-bit, sementara mikroprosesor 8088 merupakan mikroprosesor 16-bit dengan bus data 8-bit.
    Bagaimanapun terdapat perbedaan kecil antara keduanya, yakni pada sinyal kontrol. 8086 memiliki pin M/IO, dan 8088 memiliki pin IO/M. Perbedaan lainnya adalah pada pin 34 chip 8088 terdapat pin SSO sementara pada chip 8086 terdapat pin BHE/S7.
    Baik 8086 maupun 8088, keduanya membutuhkan catu daya sebesar +5,0 volt dengan toleransi sebesar 10 persen. 8086 menggunakan arus catu maksimum 360 mA, sementara 8088 menggunakan arus catu maksimum 340 mA.
    Mikroprosesor 8086 dan 8088 akan kompatibel TTL jika kekebalan terhadap noise disesuaikan menjadi 350 mV dari nilai 400 mV yang biasa.


Hubungan Pin8086 dan 8088

AD7-AD0
    Jalur bus alamat/data 8088 yang di-multipleks pada 8088 dan berisi 8-bit LSB dari alamat memory atau nomor port I/O. Pin-pin ini berada pada status impedansi tinggi selama hold acknowledge.

A15-A8
    Bus alamat 8088 menyediakan bit-bit alamat memory paruh atas MSB selama siklus bus.

A19-A16
    Bit-bit alamat status di-multipleks untuk memberi sinyal (S6-S3) alamat A19-A16 dan juga bit-bit status S6-S3. Status impedansi tinggi selama hold acknowledge.

RD
    Jika sinyal logika 0 bus data bisa menerima data dari memory atau alat I/O.

READY   
    Input ini dikendalikan untuk mrnyisipkan status tunggu ke timing prosesor.

INTR
    Interrupt request digunakan untuk meminta interupt perangkat keras.

TEST   
    Pin input yang dites oleh instruksi WAIT.

NMI
     Input non-maskable interrupt sama dengan INTR kecuali NMI tidak memeriksa bit flag IF logika 1.

RESET
    Input mereset mikroprosesor saat logika 1.

CLK   
    Pin clock menyediakan sinyal timing dasar ke mikroprosesor.

Vcc
    Input catu daya menyediakan sinyal +5,0 volt toleransi 10 persen ke mikroprosesor.

GND    
    Hubungan ground jalur kembali catu daya.

MN/MX
    Pin mode minimum atau maksimum.

BHE/S7   
    Pin bus high enable pada 8086 untuk enable data MSB (D15-D8).

Pin-pin Mode Minimum.
    Operasi mode minimum 8086/8088 didapat dengan menghubungkan pin MN/MX langsung ke +5,0 volt. Jangan hubungkan pin ini ke +5,0 volt melalui register pull-up karena tidak akan berfungsi dengan benar.

IO/M    
    Pin IO/M (8088) atau pin M/IO (8086) akan memilih memory (M/IO) atau I/O.

WR       
    Jalur write merupakan strobe yang menunjukkan bahwa 8086/8088 sedang mengeluarkan data ke memory atau I/O.

INTA   
    Sinyal interrupt acknowledge merupakan tanggapan terhadap pin INTR.

ALE
    Address latch enable menunjukkan bahwa bus alamat/data 8086/8088berisi informasi alamat.

DT/R
    Sinyal data transmit/recive.

DEN
    Data bus enable mengaktifkan buffer bus data eksternal.

HOLD
    Input hold meminta direct memory access (DMA).

HLDA       
    Hold acknowledge menunjukkan bahwa 8086/8088 memasuki status hold.

SS0       
    Jalur SS0 ekuivalen dengan pin S0 pada operasi mode maksimum. Sinyal ini digabungkan dengan IO/M dan DT/R untuk mendekode fungsi siklus bus saat itu.
Pin-pin Mode Maksimum.
    Untuk mencapai mode maksimum untuk penggunaan dengan co-processor external, hubungkan pin MN/MX ke ground.

S0, S1, dan S0
    Bit-bit status ini menunjukkan fungsi siklus bus saat itu. Sinyal-sinyal ini biasanya didekode oleh bus controller 8288.

RO/GT1   
    Pin-pin request/grant ini meminta DMA selama operasi mode dan maksimum. Jalur-jalur ini bidireksional dan digunakan RO/GT1 untuk meminta dan memberi hak operasi DMA.

LOCK   
    Output lock digunakan untuk mengunci periferal dari sistem. Pin ini diaktifkan dengan menggunakan awalan LOCK untuk semua instruksi.

QS1 dan  QS0
    Bit queue status menunjukkan status antrian instruksi internal.

Generator Clock (8284A)
    8284A merupakan komponen tambahan mikroprosesor 8086/8088. Tanpa generator clock banyak rangkaian tambahan yang dibutuhkan untuk membangkitkan clock (CLK) pada sistem yang berbasis 8086/8088. 8284A menyediakan fungsi-fungsi atau sinyal-sinyal dasar sebagai pembangkit clock, sinkronisasi RESET, sinkronisasi READY, dan sinyal clock periferal level TTL.
    Frekuensi operasi standar 5 Mhz untuk 8086/8088 didapat dengan memasang kristal 15 Mhz ke generator clock 8284A. Output PCLK terdiri dari sinyal yang kompatibel TTL pada setengah frekuensi CLK.
    Bagian reset 8284A sangat sederhana hanya terdiri dari satu buffer Schmitt Trigger dan satu rangkaian flip-flop tipe-D. Jika mikroprosesor 8086/8088 direset, mikroprosesor ini mulai mengeksekusi perangkat lunak pada lokasi memory FFFF0H (FFFF:0000) dengan pin interrupt request disable.

Demultipleks Bus
    Bus alamat/data pada 8086/8088 di-multipleks (dipakai bersama) untuk memperkecil jumlah pin yang dibutuhkan untuk IC mikroprosesor 8086/8088.
    Karena bus-bus mikroprosesor 8086/8088 di-multipleks dan kebanyakan memory dan peralatan I/O tidak, maka sistem haruslah di-demultipleks sebelum pengantarmukaan dengan memory atau dengan I/O. Demultipleks dilakukan oleh latch 8-bit yang pulsaclocknya berasal dari sinyal ALE.

Sistem yang Di-buffer
    Jika lebih dari 10 satuan beban terhubung ke pin bus manapun, seluruh sistem 8086 atau 8088 harus di-buffer. Pin yang ter-multipleks telah di-buffer oleh latch 74LS373, yang dirancang untuk mengendalikan bus kapasitas tinggi yang ditemukan pada sistem mikroprosesor.
    Arus output buffer telah dinaikkan sehingga lebih banyak stuan beban TTL yang dapat dikendalikan. Output logika 0 menyediakan sampai 32 mA arus sink, dan output logika 1 menyediakan arus sumber hingga 5,2 mA.

Operasi Mode Minimum
    Operasi mode minimum merupakan cara yang paling mudah untuk mengoperasikan mikroprosesor 8086/8088. Biayanya lebih murah karena semua sinyal kontrol untuk memory dan I/O dibangkitkan oleh mikroprosesor. Sinyal-sinyal kontrol ini sama dengan Intel 8085A, periferal 8-bit untuk digunakan dengan 8086/8088 tanpa pertimbangan khusus.

Operasi Mode Maksimum
    Operasi mode maksimum berbeda dengan operasi mode minimum dalam hal beberapa sinyal kontrol harus dibangkitkan secara eksternal. Hal ini membutuhkan bus controller 8288. Tidak ada cukup pin pada 8086/8088 untuk kendali bus selama mode maksimum karena pin-pin baru dan fitur-fitur baru telah menggantikan beberapa diantaranya. Mode maksimum biasanya hanya digunakan ketika sistem berisi co-processor eksternal seperti co-processor  8087 (untuk aritmatik).  
   
Bus Controller 8288
    Sistem 8086/8088 yang dioperasikan pada mode maksimum harus memiliki bus controller 8288 untuk menyediakan sinyal-sinyal yang dihilangkan dari 8086/8088 oleh operasi mode maksimum, ke memory dan I/O. Dengan kata lain 8288 merancang kembali sinyal kendali yang ditiadakan tersebut.

Model Pengalamatan

Mode Pengalamatan Memory 8088

Pengalamatan memory adalah penempatan alamat pada ruang memory pada suatu sistem komputer. Adapun susunan ruang memory adalah 1 megabyte adalah sebagai berikut:

00000
00001
00002
00003
00004

FFFF9

FFFFA
FFFFB
FFFFC
FFFFD
FFFFE
FFFFF

Pada susunan di atas merupakan penggambaran dari pengamatan ruangan memory dengan modus pengalamatan mutlak dengan kemampuan 20 bit. Mikroprosesor 16bit yang hanya menggunakan 16 saluran address dan 8 saluran data secara multiplexer. Sedangkan saluran address yang lainnya tersedia ada 4 yang khsus untuk menunjukkan segment mempry dimana tiapp segment dapat menjangkau 64 Kb.

Register-register pada mikroprosesor 8088 adalah register 16 bit dimana masing-masing hanya menampung 4 digit hexadesimal dan 0000H sampah FFFFH. Untukmencatat address memory, maka dipergunakan segment register yang berisi 16 bit dihitung dari kiri, dimana isinya disebut dengan segment dan offset register yang berisi 16 bit dihitung dari kanan dimana isinya disebut dengan offset.

Cara pengalamatan memory yang dilakukan dalam sistem komputer biasa disebut dengan relative address.

Arsitektur Internal Mikroprosesor

Arsitektur Internal Mikroprosesor

Menjelaskan arsitektur internal mikroprosesor.
Sebelumnya mikroprosesor dijelaskan secara kotak hitam (black box), merupakan komponen elektronik digital dibuat dengan teknologi mikroelektronik sebagai pembangun sistem mikroprosesor atau mikrokomputer. Sebuah mikroprosesor siap diantarmukakan dengan peripheral mikroprosesor seperti memori dan input/output melalui bus sistem terdiri dari bus alamat, bus data dan bus kontrol. Sedangkan Unit Mikroprosesor (MPU - Microprocessor Unit) adalah mikroprosesor dengan tambahan komponen diluarnya sehingga telah siap memiliki bus alamat, bus data dan bus kontrol. Namun terdapat beberapa mikroprosesor tidak memerlukan tambahan komponen diluarnya karena telah memiliki bus alamat, bus data dan bus kontrol secara terpisah. Contohnya adalah mikroprosesor 8bit Z80.
Mikroprosesor yang tergolong sebagai General Purpose Microprocessor, banyak sekali ragam arsitektur internalnya mulai dari yang paling sederhana sampai yanh paling komplek. Dalam penjelasan ini akan dibandingkan beberapa aristektur internal dari mikroprosesor. Namun sebuah mikroprosesor secara umum terdiri dari bagian: ALU (Arithmetic Logic Unit), Control and Timing Unit, dan Array Register (Register Larik). Secara diagram blok sebuah mikroprosesor dapat digambarkan sebagai berikut:
ALU berfungsi sebagai bagian yang melakukan operasi aritmatik dan logika dalam memproses data. Bagian ini yang melakukan operasi bagian dalam mikroprosesor. Sedangkan Register Larik berfungsi untuk menyimpan data sementara hasil proses oleh mikroprosesor. Fungsinya hampir sama dengan piranti memori mikroprosesor dengan perbedaan bahwa: Memori berada diluar mikroprosesor sedangkan register berada didalam mikroprosesor, Memori diidentifikasi dengan alamat sedangkan register diidentifikasi oleh nama register oleh mikroprosesor. Bagian Timing & Control berfungsi sebagai pembangkit daur-waktu untuk antarmuka dengan peripheral pada bus alamat, data dan kontrol. Selain itu mengendalikan bus-bus tambahan lainnya seperti interupsi, DMA dan lain sebagainya, tergantung arsitektur mikroprosesor itu sendiri.
Arsitektur mikroprosesor pada saat ini banyak ragamnya, mulai yang paling sederhana hingga yang komplek. Dalam penjelasan disini akan dibandingkan beberapa arsitektur mikroprosesor yang tergalong pada mikroprosesor 8bit saja, akan tetapi yang diutamakan adalah mikroprosesor 8bit INTEL 8085. Karena fasilitas laboratorium yang ada dalam Laboratorium Sistem Digital, Jurusan Teknik Elektro Fakultas Teknik Universitas Brawijaya adalah mikroprosesor 8085.

Arsitektur mikroprosesor 8085

Mikroprosesor 8085 merupakan mikroprosesor 8bit produksi INTEL, diluncurkan sekitar tahun 1970. Lebih jelasnya lihat situs Sejarah Mikroprosesor INTEL. Pada jamannya sempat dijadikan sebagai mikroprosesor standar untuk sistem operasi CP/M. Arsitektur mikroprosesor INTEL 8085 diperlihatkan dalam Gambar berikut ini.
Jumlah Bus Data adalah 8bit, dengan demikian dapat menghubungi peripheral dengan lebar data (Data Path Width) 8bit.
Mikroprosesor ini tidak memiliki buas alamat 16bit secara terpisah, melainkan bus alamat byte terendah (low significant byte) yaitu A0..A7 dimultiplek dengan Bus Data D0..D7. Dengan demikian mikroprosesor 8085 belum siap dijadikan sebagai Unit Mikroprosesor (MPU - Microprocessor Unit). Selain itu bus kontrol peripheral /MEMR, /MEMW, /IOR, dan /IOW belum terpisah sepenuhnya dan harus dibangkitkan dari sinyal kontrol /RD (penyemat 32), /WR (penyemat 31), IO/M (penyemat 34). Agar siap dijadikan sebagai MPU diperlukan beberapa komponen tambahan yaitu rangkaian bus demultiplexer (pemisahan bus D0..D7 dan A0..A7) dan rangkaian dekoder sinyal kontrol.
Register yang dimiliki mikroprosesor 8085 adalah:
    • Register B, C, D, E, H, L. Dapat diperlakukan sebagai register 8bit atau pasangan register 8bit menjadi 16bit yaitu BC, DE dan HL. Register ini disebut sebagai User Register artinya register yang diperuntukkan pengguna agar bisa dilibatkan dalampemrograman.
    • Register SP (Stack Pointer), berfungsi sebagai pointer tumpukan yaitu penyimpanan data dalam memori yang disusun secara bertumpuk.
    • Register PC (Program Counter), berfungsi sebagai pointer alamat program yang akan dieksekusi.

Format Data komputer

FORMAT DATA KOMPUTER
ASCII (American Standard Code for Information Interchange)
Data ASCII mewakili karakter alfanumerik dalam memori sistem komputer. Format Data
yang digunakan adalah 7 bit, dimana bit yang ke 8 digunakan untuk memuat parity.
dalam komputer pribadi, kumpulan karakter extended ASCII menggunakan kode 80 H-FF H.
karakter extended ASCII menyimpan huruf-huruf asing dan tanda baca, karakter greek (Yunani),
karakter matematika, karakter-karakter box drawing, dan karakter-karakter khusus lainnya.
Data ASCII dapat disimpan dalam memori menggunakan direktif khusus program assembler
yaitu Define Byte (DB) atau Byte.
FORMAT DATA KOMPUTER
BCD(Binary Code Desimal)
Informasi BCD disimpan dalam bentuk packed atau unpacked. Data packed disimpan dalam
bentuk dua digit per byte, sedangkan data BCD unpacked disimpan satu digit per byte. Rentang
digit BCD antara 0000B sampai 1001B
BCD unpacked sering digunakan oleh keypad atau keyboard, sedangkan BCD Packed
digunakan untuk beberapa instruksi termasuk untuk penjumlahan dan pengurangan BCD dalam
kumpulan instruksi di CPU.
FORMAT DATA KOMPUTER
UNSIGN dan SIGN INTEGER
Data Ukuran Byte
data ukuran byte disimpan dalam unsigned dan signed integer(bilangan bulat tak
bertanda dan bilangan bulat bertanda). Perbedaan dalam bentuk ini adalah bobot dari posisi
paling kiri. Untuk unsign integer nilainya 128 dan untuk signed integer nilainya adalah
-128. dalam format signed, bit yang paling kiri adalah bit tanda bilangan. Kisaran dari
unsigned integer adalah 0 sampai 255, sedangkan signed integer berkisar antara -128 sampai
+127.
Bilangan negatif disajikan dalam bentuk ini, tetapi disimpan dalam bentuk komplement
dua, seperti yang telah dijelaskan diatas.
FORMAT DATA KOMPUTER
UNSIGN dan SIGN INTEGER
Data Ukuran Word
Satu ukuran word dibentuk oleh dua byte data. LSB selalu disimpan dalam lokasi memori
paling rendah, dan MSB disimpan yang paling tinggi. Metode untuk penyimpanan ini disebut
dengan format little endian. Metode alternatif disebut format big endian. Untuk menyimpan
data ukuran word dalam memori, digunakan direktif DW(Define Word). Namun biasanya data yang
berukuran lebih dari 8 bit disimpan menggunakan format little endian.
Limit Tipe Data
Mengolah data komputer ada rambu-rambunya.
Prinsip paling dasar, tiap tipe data punya rentang nilai. Misalnya saja:
TIPE MINIMUM MAKSIMUM KETELITIAN
short int -128 +127 1
int -32768 +32766 1
long int 1
unsigned short 1
unsigned 1
unsigned long 1
float
Larangan paling dasar adalah:
* Jangan sampai mengisikan nilai di luar batas MINIMUM – MAKSIMUM.
* Jangan simpan bilangan teliti (significant) lebih kecil dari KETELITIAN.
Itu saja. Gampang kan hukumnya. Mari lihat konsekuensinya kalau ada yang nekad atau ceroboh
melanggar batas.
Buat contoh, ambil tipe data unsigned short (8 bit). Tipe data ini punya rentang nilai 0 -
255. Representasi kode binernya adalah sbb:
00000000 = 0 desimal
00000001 = 1 desimal


11111110 = 254 desimal
11111111 = 255 desimal
Jika anda pesan variabel unsigned short, bayangkan bahwa anda punya panci yang batas
bawahnya adalah 0 dan batas atasnya 255. Apa yang terjadi kalau anda isi air sampai lebih
dari batas 255 ? Tumpah. Sementara itu kebalikannya, kalau anda rebus airnya sampai menguap
habis, pancinya bakal gosong.
Variabel juga bisa kelebihan (overflow) dan kekurangan (underflow). Tapi efeknya aneh, tidak
seperti panci. Perhatikan program berikut:
main()
{ unsigned short data;
// kasus pertama
data = 255;
data = data + 1;
printf(“%u”, data);
// kasus kedua
data = 0;
data = data – 1;
printf(“%u”, data);
}
Pada kasus pertama, mestinya data jadi 256, tapi 255 itu kan sudah MAKSIMUM. Sementara yang
kedua , mestinya data jadi -1, tapi 0 kan MINIMUM. Jadi berapa keluaran program ini ? Jangan
terkejut, keluarannya pertama adalah 0. Kok tidak meluap, dan malahan jadi habis ? Sementara
itu keluaran kedua adalah 255. Bukannya gosong malah jadi penuh. Kenapa bisa ya ?
Ini dia kisahnya kalau kita lihat operasi pada level kode binernya.
KASUS1
desimal: 255d + 1d = 256d
biner : 11111111b + 1b = 100000000b (overflow 9 bit, nilai = 256)
error : = 00000000b (terpotong jadi 8 bit, nilai = 0)
KASUS2
desimal: 0d – 1d = -1d
biner : 00000000b – 1b = 111111111b (underflow 9 bit)
error : = 11111111b (terpotong jadi 8 bit, nilai = 255)
Mudah-mudahan contohnya cukup jelas. Coba, berapa hasilnya kalau 255+2 ?
Berapa kalau 0-2 ?
Stop … jangan lanjutkan baca kalau belum bisa tahu jawabnya. Saya tungguin nih.
Zzzz ….
Sudah ? Oke, dilanjut. Ada yang bertanya-tanya nggak, kenapa pada kasus kedua, -1d kok jadi
111111111b ? Jawabnya, karena komputer melakukan operasi aritmatika (tambah/kurang) memakai
rangkaian digital. Nah rangkaian digital pengurangan, tanpa modifikasi apa-apa, akan membuat
00000001b jadi 00000000b, 00000000b jadi 11111111b, dan seterusnya 11111111b jadi 11111110b.
Singkat kata, itu kelakuan alamiah rangkaian digital.
Lho … kalau memang kelakuan alamiahnya begitu, kenapa tidak dimanfaatkan saja ? Kita
simpan data integer negatip sebagai berikut:
00000000 = 0 desimal // mulai dari 0
00000001 = 1 desimal // naik terus sebagai positip

01111111 = 127 desimal // stop sampai setengah rentang
10000000 = -128 desimal // rentang sisa buat negatip
10000001 = -127 desimal // tapi mulai dari -128
10000010 = -126 desimal

11111110 = -2 desimal
11111111 = -1 desimal // sebab minus satu di sini
Nah inilah representasi 2-komplemen. Sederhana kan idenya ?
Sekarang, dengan representasi data seperti itu, apa yang terjadi kalau kita buat program
seperti ini?
main()
{ // data signed integer 8 bit
short int data;
// kasus pertama
data = 127;
data = data + 1;
printf(“%d”, data);
// kasus kedua
data = -128;
data = data – 1;
printf(“%d”, data);
}
Anda pasti tahu jawabnya kan. Kode 01111111b (127) kalau ditambah satu akan jadi 10000000b,
alias -128. Singkat kata, signed integer punya aritmatika aneh seperti ini:
127 + 1 = -128 (overflow, ERROR)
-128 – 1 = 127 (underflow, ERROR)
-1 + 1 = 0 (roll back, tapi betul)
0 – 1 = -1 (roll over, tapi betul)
Mudah-mudahan anda jadi tahu bahayanya overflow dan underflow. Sebagai penutup, ini kisah
serem buat nakut-nakutin. Konon ada programmer roket luar angkasa memakai variabel integer
untuk menyimpan data daya dorong roket. Ketika roketnya berangkat ke atas, ternyata daya
dorong roket positip sangat besar, sehingga variabelnya overflow. Ingat bahwa data bertipe
integer kalau overflow akan jadi negatip. Artinya, roket mendorong terbalik ke bawah ! Jelas
saja software kendali yang menghitung terbangnya roket kebingungan, dan … kabooommmm !!!
Jatuhlah roket Ariane. (disclaimer: kisah ini cuma bisik-bisik yang tidak diakui oleh
Ariane)

Rabu, 19 Oktober 2011

intel 8088


Register Mikroprosesor Intel 8088

Register
Pada bagan organisasi komputer, memori diletakkan terpisah dari mikroprosesor. Jika bagan tersebut diimplementasikan, uP harus mengakses memori setiap saat. Dan karena kecepatan memori jauh lebih lambat dari uP (sebagai contoh uP Pentium IV telah mencapai kecepatan 2 GHz sedangkan DDRAM maksimum hanya memiliki kecepatan 0.8 GHz), maka kecepatan kerja uP akan sangat dipengaruhi oleh kecepatan memori. Untuk mempercepat pemrosesan data di dalam mikroprosesor, selain CU dan ALU, mikroprosesor juga akan membutuhkan memori yg memiliki kecepatan sama dengan uP. Untuk melakukannya, memori tersebut harus diimplementasikan didalam mikroprosesor.
Memori ini disebut dengan register.
Jenis register berdasarkan informasi yg disimpannya dapat dibagi menjadi 4.
1. Register Data
Digunakan untuk menyimpan data yg diperlukan untuk suatu operasi Terdiri dari: AX (Accumulator), BX (Base), CX (Counter), DX (Data)
2. Register Alamat
Karena jumlah register data sangat terbatas, maka sebagian besar data tetap diletakkan di memori. Untuk dapat mengaksesnya, uP membutuhkan alamat dari data tersebut yg disimpan oleh register alamat.
Register alamat sendiri terdiri dari:
a.  Pointer and Index Register:
  • Stack Pointer Register(SP)
Mencatat alamat stack, memori yang dikhususkan untuk menyimpan isi register pada instruksi PUSH dan POP
  • Base Pointer Register(BP)
Menyimpan alamat data yang disimpan di stack jika data tersebut akan di kerjakan
  • Indeks Register
Source Indeks(SI) dan Destination Indeks(DI) menyimpan nilai-nilai offset dalam segmen data memori
  • Instruction Pointer Register (IP)
Register utama yang menunjukkan baris perintah program
b.  Segment Register
  • Code Segmen Register (CS)
Mencatat alamat segmen memori tempat kode operasi suatu program
  • Data Segmen Register (DS)
Mencatat alamat memori tempat menyimpan data yang digunakan
  • Stack Segmen Register (SS)
Mencatat alamat segmen yang digunakan menjadi stack
  • Extra Segmen Register (ES)
Mencatat alamat segmen memori bagi data yang terletak di CS, DS dan SS
3. Register Status (Flags)
digunakan untuk menyimpan status dari hasil operasi yg menggunakan ALU.
Terdiri dari: OF (Overflow Flag), DF, IF, TF, SF (Sign Flag), ZF (Zero Flag), AF, PF, CF (Carry Flag)
4. Register Instruksi
Digunakan untuk menyimpan instruksi yang sedang dikerjakan
Catatan:
Register BX selain dapat digunakan sebagai register data dapat juga digunakan sebagai register alamat Lebar semua register uP8088 adalah 16 bit = 2 byte. Sehingga setiap register dapat berharga 0000H s.d. FFFFH atau 216 = 65536 kombinasi harga. Setiap register akan diakses (dibaca/ditulis) dalam format 16 bit tersebut, kecuali register data dapat diakses dalam format 8 bit = 1 byte (AH, AL, BH, BL, CH, CL, DH, DL).

Sistem Memory Mikroprosesor Intel 8088

Mikroprosesor 8088
Mikroprosesor Intel 8088 adalah multipurpose mikroprosesor yang diimplementasikan dengan teknologi N-channel, depletion load, silicon gate (HMOS-II). Dipasarkan dengan format 40-pin CERDIP (Ceramic Dual Inline Package). Mikroprosesor ini termasuk keluarga mikroprosesor 8 bit dan 16 bit.
Mikroprosesor Intel 8088 kompatible secara langsung dengan software yang didesain untuk mikroprosesor 8086 dan 8080/8085, dan secara hardware juga kompatible dengan mikroprosesor 8080/8085.
Keterangan
GND : ground (0 volt)
Vcc : +5 volt
D0 – D7 : Data bus (8 informasi biner = 1 byte)
ada 28 = 256 kombinasi data (00H – FFH) ! untuk kode ASCII
A0 – A19 : Address bus (20 informasi biner)
ada 220 = 1048576 kombinasi harga, berarti
ada 1048576 lokasi memori yg dpt dialamati
read : sinyal kontrol untuk membaca
write : sinyal kontrol untuk menulis
clock : frekuensi kerja ìP8088 (5 MHz atau 8 MHz)
reset : menginisialisasi kembali semua isi register
ALE : Address Latch Enable,
menandakan bahwa pin 9 s.d pin 16 menyimpan informasi alamat
Kemampuan Bus
1. Lebar dari bus data sering digunakan untuk mengklasifikasikan uP.
Contoh: uP8088 adalah microprocessor 8-bit karena jumlah pin untuk bus data
sebanyak 8 buah (D0–D1–D2–D3–D4–D5–D6–D7 : pin no. 9 – 16).
2. Lebar dari bus alamat menyatakan jumlah maksimum blok memory yg dapat diakses
oleh mikroprosesor.
a. uP dengan 1 buah alamat (A) hanya dapat mengakses 2 blok memori yaitu
pada saat A=0 dan A=1
dapat diakses jika A = 0
dapat diakses jika A = 1
b. uP dengan 2 buah alamat (A0 dan A1) hanya dapat mengakses 4 blok memori
yaitu pada saat
dapat diakses jika A0 = 0 dan A1 = 0
dapat diakses jika A0 = 1 dan A1 = 0
dapat diakses jika A0 = 0 dan A1 = 1
dapat diakses jika A0 = 1 dan A1 = 1
Contoh: uP 8088 memiliki bus alamat dengan lebar 20 bit sehingga uP 8088 dapat mengakses memori berkapasitas maksimum 220=1048576 blok memori atau 1 Mb. Sedangkan bus kontrol memiliki lebar 1 saluran untuk setiap fungsi.