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.

Komentar

Postingan populer dari blog ini

Lab 5.2.3 Configuring RIPv2 with VLSM, and Default Route Propagation

Lab 6.2.1 Observing DNS Name Resolution

Lab 4.2.5.5 Calculating a VLSM Addressing Scheme