Pertemuan DASAR ANTAR MUKA I/O
TEKNIK PENGALAMATAN I/O Terdapat dua metode dasar untuk mengalamati I/O, yaitu : I/O Terisolasi (Isolated I/O) Prosesor memisahkan antara ruang alamat untuk memori dengan ruang alamat untuk I/O (Gambar -). Ruang alamat I/O yang terpisah dari memori ini yang disebut dengan port 2. I/O Terpeta Memori (Memory mapped I/O) Prosesor mengambil sebagian alamat memori untuk digunakan sebagai ruang alamat untuk I/O (Gambar -2)
FFFFFh Memori FFFFh I/O 64Kx8bit Mx8bit h h Gambar -. I/O Terisolasi
Memori + I/O FFFFFh I/O I/O 64Kx8bit FFFFh h h Gambar -2. I/O Terpeta Memori
K e l e b I h a n I/O Terisolasi : User dapat memaksimalkan penggunaan memori, karena tidak ada segmen memori yang digunakan untuk ruang I/O K e k u r a n g a n I/O Terisolasi : Prosesor harus menyediakan instruksi yang terpisah antara memori dan I/O. Pada metode ini, transfer data antara I/O dengan prosesor harus diakses oleh instruksi IN, INS, OUT dan OUTS. Selain itu sinyal kontrol terpisah harus disediakan bagi ruang I/O (M/#IO dan W/#R)
K e l e b I h a n I/O Terpeta Memori : Setiap instruksi transfer memori dapat digunakan untuk mengakses piranti I/O Sinyal kendali (#IORC) dan (#IOWC) tidak memiliki fungsi di dalam sistem I/O dan dapat mengurangi jumlah sirkuit yang diperlukan untuk melakukan dekode. K e k u r a n g a n I/O Terpeta Memori : Sebagian dari memori sistem digunakan untuk ruang I/O, sehingga penggunaan memori untuk aplikasi akan berkurang.
INSTRUKSI I/O Instruksi yang digunakan untuk memindahkan data antara I/O dengan register (AL, AX atau EAX) adalah IN dan OUT (untuk data string : INS dan OUTS). Data string dari I/O akan dipindahkan ke memori (bukan ke register) Alamat I/O (nomor port) dapat berbentuk 8 bit (fixed address atau alamat tetap) atau 6 bit (variable address atau alamat tidak tetap). Alamat I/O 8 bit selalu disimpan dalam opcode p8 (dari H sampai FFH), sedangkan alamat I/O 6 bit selalu disimpan dalam register DX (dari H sampai FFFFH). Alamat memori ditempatkan pada lokasi ES:DI untuk instruksi INS, sedangkan untuk instruksi OUTS penempatan alamat di DS:SI.
Programmable Peripheral Interface (PPI) 8255 PPI 8255 merupakan komponen antarmuka berbiaya rendah yang sangat populer dalam banyak aplikasi. S p e s i f i k a s i P P I 8 2 5 5 : - Terkemas dalam dual in line package 4 pin serta kompatible dengan semua TTL dan prosesor Intel - Mempunyai 24 pin I/O dapat diprogram dalam dua kelompok 2 pin (24 bit programmable I/O), Gambar -3 - Dapat dioperasikan dalam tiga mode yang terpisah, yaitu mode, mode dan mode 2 - Memiliki tiga buah register kendali dan tiga port terpisah yang dapat dialamati,
D7-D 34 33 32 3 3 29 28 27 D D D2 D3 D4 D5 D6 D7 PA PA PA2 PA3 PA4 PA5 PA6 PA7 4 3 2 4 PORT A 39 38 37 #IORC #IOWC Gambar -3 Pin out PPI 8255 5 36 9 8 35 6 #RD #WR A A RESET #CS PB PB PB2 PB3 PB4 PB5 PB6 PB7 PC PC PC2 PC3 PC4 PC5 PC6 PC7 8 9 2 2 22 PORT B 23 24 25 4 5 6 7 3 PORT C 2
Gambar -4. Blok Diagram PPI 8255
F u n g s i P I N 8 2 5 5. #CS Chip Select Input low akan mengaktifkan IC sehingga dapat dipakai komunikasi data antara 8255 dengan prosesor 2. #RD Read Inpur low akan membuat IC dapat mengambil data dari perangkat luar. 3. #WR Write Input low akan membuat IC dapat mengirim data ke perangkat luar 4. A dan A Digunakan untuk memilih port yang akan digunakan (Tabel -)
Tabel -. Tabel kebenaran PPI 8255 A A #RD #WR #CS Keterangan X X X X X X X Port A data bus Port B data bus Port C data bus Data bus Port A Data bus Port B Data bus Port C Data bus Control Data bus tri state Ilegal condition Data bus tri state
5. RESET Input high pada RESET digunakan untuk menghapus semua isi register dan isi semua port, serta men-set IC berada dalam keadaan mode input 7. D-D7 merupakan hubungan data ke prosesor 8. PA-PA7, PB-PB7 dan PC-PC7 Merupakan hubungan port A, B dan C dengan perangkat luar
P E N G O P E R A S I A N PPI 8255 Mode operasi yang ada pada 82C55 ada tiga yaitu: Operasi Mode, Basic Input Output Pada mode ini seluruh port berfungsi sebagai masukan ter-buffer atau keluaran ter-latch tergantung perintah pada control word-nya (Gambar -5) Operasi Mode, Strobe Input Output Mode ini mirip dengan mode hanya saja port C tidak digunakan sebagai input/output melainkan sebagai pengontrol. Misal grup A sebagai input maka PC5 sebagai IBF (Input Buffer Full), PC4 sebagai #STB (Strobe) dan PC3 sbg #INTR (Interrupt Request). Sedangkan bila grup B juga sebagai masukan maka PC sebagai INTR, PC sebagai IBF dan PC2 sebagai #STB (Gambar -6).
#RD/#WR D-D7 A,A PPI 8255 Port A Port C Port B 8 bit I/O 4 bit i/o 4 bit I/O 8 bit I/O Gambar -5 Diagram Blok Mode
#RD/#WR D-D7 A,A PPI 8255 Port A Port C Port B 8 bit Control Control 8 bit I/O bidirectional or I/O or I/O Gambar -6 Diagram Blok Mode
Operasi Mode 2, Bidierctional Pada mode 2 hanya port A yang dipakai sebagai instrumen masukan & keluaran dua arah (bi-directional) sedangkan port B tidak dipakai (Gambar -7) Untuk mode ini, fungsi pin-pin pada port C adalah sebagai berikut PC7 sebagai #OBF (Output Buffer Full), PC6 sebagai #ACK (Acknowledge), PC5 sebagai IBF PC4 sebagai #STB dan PC3 sebagai INTR, sedangkan PC2-PC sebagai I/O dwi arah tambahan.
#RD/#WR D-D7 A,A PPI 8255 Port A Port C Port B 8 bit I/O Controller I/O 8 bit I/O Gambar -7 Diagram Blok Mode 2
The End