Halaman

Kamis, 20 Agustus 2015

[SISKOM XI] Teknik Input Output


SISTEM KOMPUTER
TEKNIK INPUT-OUTPUT

Humaidy Nur Saidy
XI TKJ 3
14


SISTEM INPUT OUTPUT
Terdapat tiga teknik dalam operasi I/O, yaitu :
§        I/O Terprogram
§        Interrrupt-Driven I/O
§        DMA (Direct Memory Access)

1.     I/O Terprogram (Programmed I/O)

Input Output terprogram atau polling system. Ketika perangkat I/O menagani permintaan, perangkat men-set bit status di register status perangkat. Perangkat tidak memberi tahu ke pemroses saat tugas telah selesai dilakukan sehingga pemroses harus selalu emeriksa register tersebut secara periodik dan melakukan tindakan berdasar status yang di baca software pengendali perangkat (driver) dipemroses hatus mentransfer data ke/dari pengendali. Driver mengeksekusi perintah yang berkomunikasi dengan pengendali (adapter) di perangkat dan menunggui sampai sistem operasi yang dilakukan perangkat selesai. Driver berisi kumpulan instruksi :
1)   Pengendalian
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang perlu dilakukan. Contoh : unit tape magnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke record berikut, dan sebagainya.
2)   Pengujian
Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat I/O.
3)   Pembacaan/ penulisan
Berfungsi membaca/ menulis untuk transfer data antara register pemroses dan perangkat eksternal.  Masalah utama utama I/O terprogram adalah pemroses diboroskan untuk menunggu dan menjagai operasi I/O. Diperlukan teknik lain untuk meningkatkan efisiensi pemroses.

Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung seperti pemindahan data, pengiriman perintah baca atau tulis dan monitoring perangkat.
I/O terprogram mempuyai kelemahan sebagai berikut :
·         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 diinterupsikan padanya.
·         Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.

Untuk melaksanakan perintah-perintah I/O, CPU akan mengelurkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah Input/Output :
                                        I.        Perintah Control
Yaitu perintah yang digunakan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan kepadanya.
                                      II.        Perintal Test
Yaitu perintah yang 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.
                                    III.        Perintah Read
Yaitu perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruhnya di dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfrernya.
                                IV.        Perintah Write
Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambi data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.
Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu memory mapped I/O dan isolated I/O.
            Dalam memory maaped untuk I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data pada modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konsekuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan momory mapped ini adalah efisien dalam pemrograman namun memakan banyak ruang memory alamat.
            Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O.
Dengan teknik ini diperlukan bus yang dilengkapi dengan pembacaan dan penulisan memori ditambah dengan saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.


2.     Interrupt Driven I/O
Modul Input/Output suatu komputer sangat beragam jenisnya. Setiap peralatan memiliki kecepatan transfer data, format data dan panjang data yang berbeda-beda. Modul input/output berfungsi sebagai interface (penghubung) ke momori atau ke processor, penghubung sesama peripheral, dan menyelaraskan data sebelum ditransfer melalui system bus.
Tidak hanya itu, modul input/output juga berfungsi sebagai control dan timing (mengatur agar kecepatan transfer data berbeda-beda dapat tersinkronisasi dengan baik), komunikasi processor (mengirimkan data dan perintah dari processor ke peripheral), komunikasi antar peripheral, data buffering (penampung data sementara), dan mendeteksi error pada peripheral dan melaporkannya pada prosessor.
            Cara kerja modul I/O adalah sebagai berikut :
·         CPU meminta status peripheral pada modul I/O
·         Modul I/O mengecek status peripheral dan mengirimkannya dalam bentuk status bit.
·         Jika status ready, maka CPU mengirimkan perintahnya.
·         Modul I/O menarik data dari peripheral.
·         Modul I/O menyelaraskan data.
·         Modul I/O mengirimkan data ke CPU lewat bus.

Dalam interrupt driven I/O CPU tetap memiliki kontrol langsung terhadap proses I/O, seperti pada programmed I/O.
CPU merequest untuk melakukan operasi I/O, modul I/O mentransfer perintah ke peripheral, sementara itu CPU melakukan kegiatan lain/ melaksanakan proses berikutnya, modul I/O mengirimkan interrupt kepada CPU untuk memberitahukan status hasil operasinya, dan CPU bereaksi atas status tersebut. Pada interrupt driven I/O memiliki kelebihan yaitu peniadaan waktu tunggu CPU. Jadi, perbedaan antara programmed I/O dengan interrupt driven I/O adalah pada programmed modul I/O tidak dapat mengirimkan status peripheral kepada CPU, tetapi pada interrupt driven I/O modul I/O dapat mengirimkan status peripheral kepada CPU, sehingga mempercepat proses CPU.

3.     Direct Memory Access
DMA adalah sebuah prosessor khusus (special purpose processor ) yang berguna untuk menghindari pembebanan CPU 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 lamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamat-alamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.
Tiga langkah dalam transfer DMA :
1.      Prosessor menyiapkan DMA transfer dengan menyediakan kata-kata dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang dtransfer.
2.      Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh block sudah ditransfer.

3.      Pengendali DMA menginterupsi processor, dimana selanjutnya akan ditentukan tindakan berikutnya. Pada dasarnya, DMA mempunyai 2 metode yang berbeda dala mentransfer data. Metode yang pertama ialah metode yang sangat baku dan sederhana disebut HALT, atau Burst metode DMA, karena pengendali DMA memegang kontrol dari sisetem bus dan mentransfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih dalam proses, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer. Metode yang kedua, mengiktsertakan 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.

1 komentar: