Senin, 15 Agustus 2016

Rangkuman teknik I/O


Teknik I/O terbagi kedalam 3 operasi input output yaitu:
1. I/O Terprogram
pada input output terprogram saling menukarkan data dengan CPU yang dimasukan oleh pengguna. CPU akan mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis. 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 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.

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:
a.       Perintah control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
b.      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.
c.       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.
d.      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.

2. Interrupt – Driven I/O
Teknik interrupt – driven 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.jika intruksinya sudah selesai dijalankan maka CPU akan memberitahu bahwa tugasnya telah selesai.
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.
3.     Direct Memory Access
DMA adalah sebuah prosessor khusus yang berguna untuk menghindari pembebanan CPU utama oleh program I/O . 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.