Teknik Komunikasi I/O

>
Teknik Komunikasi I/O
1.   Programmed I/O
Pada saat prosesor mengeksikusi sebuah program dan menjumpai instruksi yang berkaitan dengan modul I/O, prosesor akan mengeksekusi instruksi yang berkaitan ke modul I/O yang bersangkutan. Pada programmed I/O, modul I/O yang bersangkutan akan melakukan aksi yang diminta dan menyetel bit yang sesuai di dalam register status I/O. Secara khusus modul I/O tidak menginterupsi prosesor. Jadi pemeriksaan status modul I/O secara periodik samapai operasi selesai adalah tanggung jawab prosesor.
Software I/O ditulis sedemikian rupa sehingga prosesor mengeksekusi instruksi-instruksi yang emberinya control langsung terhadap operasi I/O. Set instruksi meliputi instruksi I/O dengan katefori:
a)  Control     : untuk mengaktivasi Perangkat eksternal yang membertahu apa yang harus dilakukan,
b)  Status : untuk emnguji kondisi yang berkaitan dengan modul I/O dan periferalnya,
c)   Transfer    : untuk memindahkan data antara register prosesor dengan perangkat eksternal.
Kelemahan utama programmed I/O adalah memerlukan banyak waktu yang menyebakan prosesor slalu dalam keadaan sibuk.
2.   Interupt-Driven I/O
Alternatif lain adalah prosesor menerbitkan perintah I/O ke modul dan melanjutkan pekerjaan lainnya. Setelah itu, setelah itu modul I/O akan menginterupsi prosesor untuk meminta layanan saat modul itu telah siap saling bertukar data dengan prosesor.
Interupt-driven I/O lebih efisien jika dibandingkan dengan programmed I/O karena menghilangkan waktu tunggu yang tak perlu. Akan tetapi, interrupt-driven I/O masih menghabiskan waktu prosesor, karena setiap word data yang berangkat dari memori ke modul I/O atau sebaliknya harus melalui prosesor.

3.   Direct Memory Access (DMA)
Walaupun lebih efisien dari programmed I/O, interrupt-driven I/O masih memerlukan intervensi aktif prosesor dalam memindahkan data. Dengan demikian, kedua bentuk I/O tersebut tidak dapat menghindar dari dua kesulitan sebagai berikut:
a.  Kecepatan transfer I/O dibatasi oleh kecepatan prosesor dalam memeriksa dan melayani perangkat,
b.  Prosesor terikat oleh kegiatan transfer I/O.
Sejumlah instruksi harus dieksekusi bagi setiap perpindahanI/O. Apabila terdapat data yang bervolume besar, maka diperlukan sebuah teknik yang lebih efisien: Direct Memory Access (DMA). Fungsi DMA dilakukan oleh sebuah modul yang terdapat pada bus system atau dengan menghubungkannya ke modul I/O.
Pada saat akan membaca atau menulis suatu blok data, prosesor mengeluarkan perintah ke modul DMA dengan cara mengirimkan informasi seperti berikut:
*      Apakah read atau write yang diminta.
*      Alamat perangkat I/O yang terlibat.
*      Lokasi awal dalam memori yang akan dibaca atau ditulis.
*      Jumlah word yang akan dibaca atau ditulis.
Kemudian prosesor mendelegasi opersai I/O ini ke modul DMA. DMA memindahkan seluruh blok data, satu word perpengiriman, secara langsung tanpa melalui prosesor. Apabila telah selesai, modul DMA mengirimkan sinyal interrupt ke prosesor.
Untuk pemindahan I/O yang word-nya banyak, DMA jauh lebih efisien dibandingkan interrupt-driven I/O dan programmed I/O.Modul DMA perlu mengontrol bus dalam memindahkan Data ke memori atau dari memori.Karena kompetisi penggunaan bus ini,terdapat saat-saat prosesor memerlukan bus dan harus menunggunya terlebih dahuluakibatnya secar keseluruhan mangakibatkan eksekusi lebih lambat selama proses DMA.

Postingan populer dari blog ini

Belajar React Native, lesson 1

cara mengupdate firefox di UBUNTU 10.04 LTS