Teknik Input Output
1.2. Kegiatan belajar 2-Teknik input output
1.2.1. Tujuan Pembelajaran
1.2.2.1 Mengamati/ observasi
1. Buatlah kelompok dengan anggota 4-5 orang.
2. Amatilah gambar berikut ini
1.2.1. Tujuan Pembelajaran
Setelah mengikuti pembelajaran, siswa mampu :
1.2.2. Aktivitas belajar siswa
- Menganalisis kelebihan dan kekurangan teknik input output
1.2.2.1 Mengamati/ observasi
1. Buatlah kelompok dengan anggota 4-5 orang.
2. Amatilah gambar berikut ini
Sumber http://pendidikan-informatika.blogspot.com/
1.2.2.2 Menanya
Buatlah pertanyaan kepada Gurumu mengenai hal-hal berkut ini :
1. Teknik Input dan Output komputer
2. Kelemahan teknik Input dan Output komputer
3. Kelebihan Input dan Output komputer
1.2.2.3 Mencoba/ Mengumpulkan informasi
Menurut Stalling (Stalling, 1997, hal. 70) terdapat tiga buah teknik dalam operasi Input-Output, yaitu I/O terprogram, interrupt-driven, dan DMA (Direct Memory Access).Ketiganya memiliki keunggulan maupun kelemahan, yang penggunaanya disesuaikan sesuai untuk kerja masing-masing teknik. Berikut penjelasannya:I/O terprogram
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 maupun tulis, dan monitoring perangkat.
Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi 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.
Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan 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 I/O, yaitu :
- 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.
Dalam teknik I/O terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O. Dalam memory-mapped I/O, terdapat 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. 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 saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.
Interrupt-Drivenn I/O
Teknik interrupdriven I/O memungkinkan proses tidak membuang-buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah-perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya maka akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kedali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut.Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehigga tidak ada waktu tunggu bagi CPU.
Cara kerja teknik interupsi pada modul I/O adalah modul I/O menerima perintah, misal read. Kemudian modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU.Saat permintaan terjadi, modul meletakkan data pada bus data dan modul siap menerima perintah selanjutnya.
Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah sebagai berikut:
a. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
b. CPU menyelesaikan interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
c. CPU mempersiapkan pengontrolan transfer ke rountine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankansebelum adanya interupsi. Informasi yang diperlukan berupa:
- Status prosesor, berisi register yang dipanggil PSW (Program Status Word).
- Lokasi intruksi berikutnya yang akan dieksekusi.
Informasi tersebut kemudian disimpan dalam stack pengontrol sistem.
d. Kemudian CPU akan menyimpan PC (Program Counter) eksekusi sebelum interupsi ke stack pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan interupsi.
e. Selanjutnya CPU memproses interupsi sampai selesai.
f. Apabila pengolahan interupsi selesai, CPU akan memanggil kembali informasi yang telah disimpan pada stack pengontrol untuk meneruskan operasi sebelum interupsi. terdapat bermacam teknik yang digunakan CPU dalam menangani program interupsi ini, diantaranya:
- Multiple Interrupt Lines
Multiple Interrupt Lines merupakan teknik penanganan program interupsi paling sederhana dengan menggunakan saluran interupsi berjumlah banyak antara CPU dan modul-modul I/O. Namun tidak praktis untuk menggunakan sejumlah saluran bus atau pin CPU ke seluruh saluran interupsi modul-modul I/O.
- Software Poll
Software Poll merupakan teknik penanganan interupsi dimana prosesnya apabila CPU mengetahui adanya sebuah interupsi, maka CPU akan menuju ke rountine layanan interupsi yang tugasnya melakukan poll seluruh modul I/O untuk menentukan modul yang melakukan interupsi. Kerugian software poll adalah memerlukan waktu yang lama karena harus mengidentifikasi seluruh modul untuk mengetahui modul I/O yang akan melakukan interupsi.
- Daisy Chain.
Daisy Chain merupakan teknik penanganan interupsi yang lebih efisien dibandingkan dengan yang menggunakan hardware poll.Seluruh modul I/O tersambung dalam saluran interupsi CPU secara melingkar (chain). Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal acknowledge yang berjalan pada saluran interupsi sampai menjumpai modul I//O yang mengirimkan interupsi.
- Arbitrasi bus
Arbitrasi bus merupakan teknik penanganan interupsi dimana pertama-tama modul I/O memperoleh kontrol bus sebelum modul ini menggunakan saluran permintaan interupsi. Dengan demikian hanya akan terdapat sebuah modul I/O yang dapat melakukan interupsi.
Direct Memory Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu Interrupt-Driven I/O memiliki kelemahan yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU dan kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkang terknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi. Blok diagram modul DMA terlihat pada gambar di bawah ini:
Gambar 1.2.Blok diagram DMA (Sumber : Stalling, 1997)
Gambar 1.3.Konfigurasi modul DMA (Sumber : Stalling, 1997)
Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus. Teknik terakhir lebih umum digunakan sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus. Penghentian sementara penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja. Terdapat tiga buah konfigurasi modul DMA seperti yang terlihat pada gambar di atas.
1.2.2.4 Mengasosiasi/ menalar
Lengkapilah tabel diatas dan Buatlah kesimpulan mengenai :
1. Teknik Input dan Output komputer.
2. Kelemahan teknik Input dan Output computer.
3. Kelebihan Input dan Output komputer.1.2.2.5 Mengkomunikasikan
Presentasikanlah hasil kerja kelompokmu didepan kelas dengan penuh rasa percaya diri mengenai :
1. Teknik Input dan Output komputer.
2. Kelemahan teknik Input dan Output computer.
3. Kelebihan Input dan Output komputer.1.2.3. Rangkuman
Menurut Stalling (Stalling, 1997, hal. 70) terdapat tiga buah teknik dalam operasi Input-Output, yaitu:
1. I/O terprogram.
Pada I/O terprogram, data (pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat) saling dipertukarkan antara CPU dan modul I/O.
Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu. Terdapat empat klasifikasi perintah I/O, yaitu: (a) Perintah control, (b) Perintah test, (c) Perintah read, (d) Perintah write. Dalam teknik I/O terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O.
2. Interrupt-Drivenn I/O.
Teknik interrupt driven I/O memungkinkan proses tidak membuangbuang waktu. Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut.
Cara kerja teknik interupsi pada modul I/O adalah modul I/O menerima perintah, kemudian melaksanakan perintah dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol.Kemudian modul menunggu datanya diminta CPU.
Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah sebagai berikut:
a. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
b. CPU menyelesaikan interupsi tersebut
c. CPU mempersiapkan pengontrolan transfer ke rountine interupsi dengan menyimpan informasi berupa: (1) Status prosesor, (2) Lokasi intruksi berikutnya.
d. Kemudian CPU akan menyimpan PC (Program Counter) eksekusi sebelum interupsi ke stack pengontrol bersama informasi PSW.
e. Selanjutnya CPU memproses interupsi sampai selesai.
f. Apabila pengolahan interupsi selesai, CPU akan memanggil kembali informasi yang telah disimpan pada stack pengontrol. Terdapat bermacam teknik yang digunakan CPU dalam menangani program interupsi ini, diantaranya: (1) Multiple Interrupt Lines, (2) Software Poll, (3) Daisy Chain, (4) Arbitrasi bus.
3. Direct Memory Access (DMA)
Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.
Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Teknik terakhir lebih umum digunakan sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus.
Komentar
Posting Komentar