modul io

20
http://electrizmatchz.blogspot.com/2009/05/unit-masukan- dan-keluaran-2-interface.html Interface (Antarmuka Komputer) Antarmuka dan Periferal Sebagai tampilan Sebagai penghubung perangkat Interface & Peripheral I/O Interface: bagian/unit dari sistem mikrokomputer yang berfungsi sebagai perantara hubungan antara sistem mikrokomputer dengan “dunia luar” (peripheral). Peripheral: peralatanperalatan di luar sistem mikrokomputer yang dapat berhubungan dengan sistem mikrokomputer, antara lain monitor (output), printer (output), keyboard (input), mouse (input)

Transcript of modul io

Page 1: modul io

http://electrizmatchz.blogspot.com/2009/05/unit-masukan-dan-keluaran-2-interface.html

Interface (Antarmuka Komputer)

Antarmuka dan Periferal

Sebagai tampilan Sebagai penghubung perangkat

Interface & Peripheral I/O Interface: bagian/unit dari sistem mikrokomputer yang berfungsi sebagai

perantara hubungan antara sistem mikrokomputer dengan “dunia luar” (peripheral). Peripheral: peralatanperalatan di luar sistem mikrokomputer yang dapat berhubungan

dengan sistem mikrokomputer, antara lain monitor (output), printer (output), keyboard(input), mouse (input)

Page 2: modul io

Unit Masukan dan Keluaran(Interface Lanjutan)

Unit Masukan dan Keluaran>> Tiga komponen utama Sistem Komputer :

CPU, Memori (primer dan sekunder) Peralatan masukan/keluaran (I/O devices) seperti printer,

monitor, keyboard, mouse, dan modem

>>Modul I/OMerupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer.

>> Modul I/OPiranti tidak tidak langsung dihubungkan denganbus sistem komputer , Karena :Bervariasinya metode operasi piranti peripheral,sehingga tidak praktis apabila sistem komputer harus menangani berbagai macam sisem operasi piranti Kecepatan transfer data piranti peripheral umumnyaperipheral tersebut. lebih lambat dari pada laju transfer data pada CPU maupun memori.Format data dan panjang data pada piranti peripheral seringkali berbeda dengan CPU,sehingga perlu modul untuk menselaraskannya.

Page 3: modul io

>>Dua fungsi utama :Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.Sebagai piranti antarmuka denganperalatan peripheral lainnya dengan menggunakan link data tertentu

>>Modul I/O adalah suatu komponen dalam sistem komputer Yang Bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih Bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register –register CPU.Antarmuka internal dengan komputer (CPU dan memori utama)Antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi –fungsi pengontrolan

>>Fungsi Modul I/OKontrol dan pewaktuan.Komunikasi CPU.Komunikasi perangkat eksternal.Pem-buffer-an data.Deteksi kesalahan

1. Kontrol dan Pewaktuan Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan perangkat internal

Page 4: modul io

seperti register – register, memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akanmelibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.

2. Proses fungsi komunikasi antara CPU dan modul I/O Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID,Format disk. Data, pertukaran data antara CPU dan modul I/O melalui bus data. Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error). Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya.

Skema suatu perangkat pheriperal

3. BufferingTujuan utama adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU.

Page 5: modul io

Laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan

4. Deteksi KesalahanBila perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis,kertas habis.Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas

Struktur Modul I/O (interface lanjutan)

Struktur Modul I/O

--Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran Saluran data Saluran alamat Saluran kontrol.

--Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini

>>I/O TerpogramData saling dipertukarkan antara CPU dan modul I/O.CPU mengeksekusi program yang memberikan operasi I/O kepada CPUsecara langsung Pemindahan data Pengiriman perintah baca maupun tulis

Page 6: modul io

Monitoring perangkat

>Kelemahan :CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, CPU lebih cepat proses operasinya.Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya.Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan

>>Klasifikasi Perintah I/O1. Perintah control.Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.2. Perintah test.Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi operasi I/O yang dijalankan serta mendeteksi kesalahannya.3. Perintah read.Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.4. Perintah write.Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.

>>Memory-mapped I/OTerdapat ruang tunggal untuk lokasi memori dan perangkat I/O.CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O.Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan.Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat

>>Isolated I/ODilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O.Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output.Keuntungan isolated I/O adalah sedikitnya instruksi I/O

Page 7: modul io

>>Interrupt – Driven I/O Cara kerja teknik interupsi di sisi modulI/O Modul I/O menerima perintah, misal read. Modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O Modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Modul menunggu datanya diminta CPU. Saat permintaan terjadi Modul meletakkan data pada bus data Modul siap menerima perintah selanjutnya

>>Interrupt Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O : Perangkat I/O akan mengirimkan sinyal interupsi ke CPU. CPU menyelesaikan operasi yang sedang dijalankannya kemudian d merespon interupsi. CPU memeriksa interupsi tersebut, kalau valid maka CPU akan d mengirimkan sinyal acknowledgment ke perangkat I/O untuk d menghentikan interupsinya. CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang diperlukan berupa:• Status prosesor, berisi register yang dipanggil PSW (program status word).• Lokasi intruksi berikutnya yang akan dieksekusi.Informasi

Page 8: modul io

tersebut kemudian disimpan dalam stack pengontrol sistem.

Unit Masukan dan Keluaran 2 (Interface)

Modul I/OMerupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer

>> Programmable Peripheral Interface(PPI)Intel 8255AMenggunakan I/O terprogramInterrupt driven I/ODirancang untuk keperluan mikroprosesor 8086

>> Modul IO PPI 8255

>> Modul I/O PPI 8255Bagian kanan dari blok diagram Intel 8255A 24 saluran antarmuka luar• 8 bit port A• 8 bit port B• 4 bit port CA dan 4 bit port CB Saluran tersebut dapat diprogram dari mikroprosesor 8086 dengan menggunakan register kontrol untuk menentukan bermacam – macam mode operasi dan konfigurasinya.Bagian kiri blok diagram merupakan interface internal dengan mikroprosesor 8086.

Page 9: modul io

8 bus data dua arah (D0 – D7) bus alamat bus kontrol yang terdiri atas saluran CHIP SELECT, READ, WRITE, dan RESET

>> Interface keyboard dgn PPI 8255

>>>> DMA (Direct Memory Access)

Direct Memory Access (DMA)DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebananCPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehinggapengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamatpada bus tersebut untuk melakukan transfer tanpabantuan CPU.

>>Tiga langkah dalam transfer DMA:Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.

Page 10: modul io

>>Direct Memory Access (DMA)Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama ialah metode yang sangat baku dan sederhana disebut HALT, atau Burst Mode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst.Selagi transfer masih dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.

Metode yang kedua, mengikutsertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT DMA, karena pengendali DMA harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka.

>> Blog diagram DMA

>>

Page 11: modul io

KOnfigurasi I/O DMA

>>Direct Memory Access (DMA)Melaksanakan transfer data secara mandiri DMA memerlukan pengambilalihan kontrol bus dari CPU DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus Teknik cyclestealing, modul DMA mengambil alih Penghentian sementara penggunaan bus bukanlah bentuksiklus bus interupsi, tetapi penghentian proses sesaat yang berimplikasihanya pada kelambatan eksekusi CPU saja

>>Klasifikasi perangkat eksternalHuman Readable, yaitu perangkat yang berhubungan dengan manusia sebagaipengguna komputer. Contoh: monitor,keyboard, mouse, printer, joystick, diskdrive.Machine readable, yaitu perangkat yangberhubungan dengan peralatan. Biasanyaberupa modul sensor dan tranduser untukmonitoring dan kontrol suatu peralatan atausistem.Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Contoh: NIC dan modem

TTRANSFER DATA PC MENGGUNAKAN PPI CARD

Sistem Bus dan I/O Mikrokomputer

Page 12: modul io

Tiga unit utama yang terdapat dalam sistem mikrokomputer adalah Unit Pemroses Pusat (Central Processing Unit - CPU), unit memori dan unit I/O. Hubungan atau aliran informasi antara masing-masing unit utama tersebut berlangsung melalui tiga jalur utama sesuai dengan jenisnya. Ketiga jalur tersebut adalah jalur data, jalur alamat dan jalur kontrol.

1.Jalur data (Data Bus), berfungsi sebagai jalur untuk pertukaran data atau informasi antar unit, yaitu antara CPU, memori dan peralatan I/O.

2.Jalur alamat (Address Bus), berfungsi sebagai pengatur jalur komunikasi antara CPU dengan memori (RAM/ROM), CPU dengan I/O dan antara memori dengan I/O.

3.Jalur Kontrol (Control Bus), berfungsi menentukan jenis komunikasi dan arah aliran data serta memberi tanda pada awal dan akhir pengiriman data.

Pada sistem bus, data dipindahkan selama selang waktu yang disebut siklus jalur (bus cycle). Siklus jalur dibedakan atas cara pemindahan informasi antara mikroprosesor, memori dan I/O. Adapun jenis-jenis siklus jalur dan aliran informasi dapat dilihat pada

Gambar 1. Digram blok sistem mikrokomputer

Dua dari beberapa siklus jalur seperti pada Tabel 1. yaitu pembacaan I/O dan penulisan I/O merupakan jalur yang digunakan pada rangkaian antarmuka (interface). Siklus pembacaan port I/O terjadi setiap mikroprosesor melaksanakan instruksi masuk (in). Kegunaan siklus ini untuk mengambil data dari salah satu alamat port I/O, sedangkan siklus penulisan port I/O dilakukan setiap mikroprosesor melaksanakan perintah keluar (out). Siklus ini menuliskan data dari mikroprosesor ke alamat port I/O tertentu.

IBM PC/XT-AT menyediakan sepuluh bit bagian bawah dari bus alamat untuk ruang alamat I/O, sehingga tersedia ruang alamat port I/O sebesar 1024. Ruang alamat tersebut dibagi menjadi dua bagian yaitu 512 alamat (0000H-01FFH) digunakan untuk sistem board dan 512 alamat-alamat

Page 13: modul io

sisanya (0200H-03FFH) disediakan untuk alamat-alamat kartu tambahan (Slot Card). Pemilihan alamat I/O untuk pengembangan antarmuka dapat menggunakan alamat prototype card dan alamat cadangan yang belum terpakai oleh kartu yang lain. Pemetaan ruang alamat I/O secara lengkap dapat dilihat pada tabel 2.

Tabel 2. Peta Ruang Alamat I/O

Alamat Port (hex) Sarana000-00F Chip 8237 DMA Controller020-021 Chip 8259 PIC040-043 Chip 8253 PIT060-063 Chip 8255 PIO080-083 DMA page register100-1FF Tidak digunakan200-20F Game control210-217 Unit ekspansi220-24F Cadangan278-27F Cadangan2F0-2F7 Cadangan2F8-2FF Komunikasi asinkron (2)300-31F Prototype card320-32F Hard disk378-37F Printer380-38C SDLC38D-398 Komunikasi sinkron biner (2)3A0-3A9 Komunikasi sinkron biner (1)3B0-3BF Display monochrom/Printer card3C0-3CF Cadangan3D0-3DF Color/Graphics card3E0-3F7 Cadangan3F0-3F7 Diskette3F8-3FF Komunikasi sinkron (1)

Transfer Data Paralel (PPI 8255)

Transfer Data Paralel (PPI 8255)

Salah satu serpih perantara yang digunakan untuk pengantarmukaan paralel (paralel interfacing) adalah Programmable Peripheral Interface (PPI) 8255. Serpih ini diproduksi oleh Intel Corporation dan dikemas dalam bentuk 40 pin dual in line package dan dirancang untuk berbagai fungsi pengantarmukaan dalam mikroprosesor. PPI 8255 memiliki 24 pin I/O yang dibagi menjadi tiga port masing-masing 8 bit. Port - port tersebut adalah port A (PA0-PA7), port B (PB0-PB7) dan port C (PC0-PC7). Sebagai jalur untuk transfer data dari dan ke PPI 8255

Page 14: modul io

disediakan saluran 8 bit bus data (D0-D7). Bus data dari PPI ini dapat dihubungkan langsung dengan bus data dari mikrokomputer. Penyemat/pin out dari PPI 8255 diberikan pada Gambar 1.

Proses pembacaan dan penulisan data dari dan ke PPI 8255 dapat dilakukan dengan program. Salah satu register yang akan dituju dari ketiga port dan register kontrol ditentukan dengan kombinasi penyemat A0 dan A1.Tabel 1.1 menyatakan format operasi dasar pembacaan atau penulisan dan pengalamatan dari 3 port I/O dan register kendali PPI 8255.

Kontrol Group A dan Group B

Konfigurasi fungsional setiap port diprogram oleh sistem perangkat lunak, yaitu melalui output CPU (control word) ke PPI 8255. Control word berisikan mode, bit set, bit reset, dan sebagainya. Ini merupakan suatu proses inisialisasi konfigurasi fungsional dari PPI 8255.

Setiap blok kontrol (Group A dan Group B) menerima perintah dari kontrol logika read/write, menerima kontrol word dari bus data untuk keperluan perintah pada setiap port. Kontrol group A adalah port A dan Port C upper (C7..C4) dan kontrol group B adalah port B dan port C lower (C3..C0), sedangkan register kontrol hanya dapat dioperasi untuk output (operasi write). Port A,B dan C

Port A. Output 8 bit data latch/buffer dan input 8 bit data latch. Port B. Input/output 8 bit data latch/buffer dan input 8 bit data buffer. Port C. Output 8 bit

data latch/buffer dan input 8 bit data buffer. Dan port ini dapat dibagi atas dua port (setiap port 4 bit data latch) yang digunakan secara bersama dengan port A dan port B untuk mengontrol sinyal output dan status sinyal input.

Page 15: modul io

Deskripsi Operasional PPI 8255

Ada tiga mode operasi yang dapat dipilih olehsistem perangkat lunak untuk mengoperasikan PPI 8255 yaitu:

Mode 0 - Basic Input/Output

Mode ini digunakan untuk input/output sederhana langsung ke port I/O.Peralatan luar yang dihubungkan selalu siap untuk mengirimkan/menerima data, sehingga mode ini tidak tergantung pada waktu.

Semua port A, B dan C bisa bekerja pada mode ini. Port-port PPI hanya bisa digunakan sebagai port input atau port output dari sistem mikroprosesor. Port A dan port B masing-masing dapat digunakan sebagai 8 bit masukan saja atau 8 bit keluaran saja. Sedangkan port C dapat digunakan sebagai empat (4) bit masukan atau empat (4) bit keluaran seperti port A dan port B.

Mode 1 - Strobe Input/Output

Mode ini digunakan untuk peralatan luar yang mempunyai data valid pada saat - saat tertentu, sehingga diperlukan sinyal-sinyal pemicu (strobe) pada I/O agar data segera dapat dikirim, sehingga mode ini tergantung pada waktu.

Pada mode ini port A dan port B bisa ditentukan sebagai port masukan atau keluaran data, sedangkan port C berfungsi sebagai pembawa sinyal status.Transfer data mode ini merupakan sinyal terprogram bersyarat.

Mode 2 - Bidirectional Bus

Mode ini mampu mengrim/menerima data dalam dua arah (bidirectional handshake data transfer).

Page 16: modul io

Mode ini menyebabkan port A bisa berfungsi sebagai masukan sekaligus keluaran yang dilengkapi dengan sinyal jabat tangan 5 bit dari port C sebagai kontrol port A. Mode ini tidak tersedia untuk port B.

Kata Kendali (Control Word) merupakan pendefinisian mode dan port yang akan digunakan dan prosesnya dilakukan oleh perangkat lunak yang ditunjukkan dalam Gambar 2.