ORKOM 5 : Input / Output Module
Materi Lengkap Dapat di Lihat di link berikut:
Antarmuka I / O (Mode Interupsi dan DMA)
Metode yang digunakan untuk mentransfer informasi antara penyimpanan internal dan perangkat I / O eksternal dikenal sebagai antarmuka I / O. CPU dihubungkan menggunakan tautan komunikasi khusus oleh periferal yang terhubung ke sistem komputer mana pun. Tautan komunikasi ini digunakan untuk menyelesaikan perbedaan antara CPU dan perangkat. Terdapat komponen perangkat keras khusus antara CPU dan periferal untuk mengawasi dan menyinkronkan semua transfer input dan output yang disebut unit antarmuka.
Mode Transfer:
Informasi biner yang diterima dari perangkat eksternal biasanya disimpan di unit memori. Informasi yang ditransfer dari CPU ke perangkat eksternal berasal dari unit memori. CPU hanya memproses informasi tetapi sumber dan targetnya selalu unit memori. Transfer data antara CPU dan perangkat I / O dapat dilakukan dalam mode yang berbeda.
Transfer data ke dan dari periferal dapat dilakukan dengan salah satu dari tiga cara yang mungkin
- I / O terprogram.
- I / O yang dimulai interupsi.
- Akses memori langsung (DMA).
Sekarang mari kita bahas setiap mode satu per satu.
1. I / O Terprogram: Ini karena hasil dari instruksi I / O yang tertulis dalam program komputer. Setiap transfer item data dimulai dengan instruksi dalam program. Biasanya transfer dari register CPU dan memori. Dalam hal ini diperlukan pemantauan konstan oleh CPU dari perangkat periferal.
Contoh I / O Terprogram: Dalam hal ini, perangkat I / O tidak memiliki akses langsung ke unit memori. Transfer dari perangkat I / O ke memori memerlukan eksekusi beberapa instruksi oleh CPU, termasuk instruksi input untuk mentransfer data dari perangkat ke CPU dan menyimpan instruksi untuk mentransfer data dari CPU ke memori. Dalam I / O terprogram, CPU tetap berada dalam loop program sampai unit I / O menunjukkan bahwa ia siap untuk transfer data. Ini adalah proses yang memakan waktu karena tidak perlu membuat CPU sibuk. Situasi ini dapat dihindari dengan menggunakan fasilitas interupsi. Ini dibahas di bawah.
2. I / O yang dimulai dengan interupsi: Karena dalam kasus di atas, kami melihat CPU tetap sibuk jika tidak perlu. Situasi ini dapat dihindari dengan baik dengan menggunakan metode interrupt driven untuk transfer data. Dengan menggunakan fasilitas interupsi dan perintah khusus untuk menginformasikan antarmuka untuk mengeluarkan sinyal permintaan interupsi setiap kali data tersedia dari perangkat apapun. Sementara itu, CPU dapat melanjutkan eksekusi program lainnya. Antarmuka sementara itu terus memantau perangkat. Setiap kali ditentukan bahwa perangkat siap untuk transfer data, ia memulai sinyal permintaan interupsi ke komputer. Setelah mendeteksi sinyal interupsi eksternal, CPU menghentikan sementara tugas yang telah dijalankannya, bercabang ke program layanan untuk memproses transfer I / O, dan kemudian kembali ke tugas yang semula dijalankan.
Catatan: Kedua metode I / O terprogram dan I / O yang digerakkan oleh Interupsi memerlukan intervensi aktif dari prosesor untuk mentransfer data antara memori dan modul I / O, dan setiap transfer data harus melintang jalur melalui prosesor. Jadi, kedua bentuk I / O ini memiliki dua kelemahan yang melekat.
Kecepatan transfer I / O dibatasi oleh kecepatan prosesor yang dapat menguji dan melayani alat.
Prosesor terikat dalam mengelola transfer I / O; sejumlah instruksi harus dijalankan untuk setiap transfer I / O.
3. Akses Memori Langsung: Transfer data antara media penyimpanan cepat seperti disk magnetik dan unit memori dibatasi oleh kecepatan CPU. Dengan demikian kita dapat mengizinkan periferal berkomunikasi secara langsung satu sama lain menggunakan bus memori, menghilangkan intervensi CPU. Jenis teknik transfer data ini dikenal sebagai DMA atau akses memori langsung. Selama DMA, CPU dalam keadaan idle dan tidak memiliki kendali atas bus memori. Pengontrol DMA mengambil alih bus untuk mengelola transfer langsung antara perangkat I / O dan unit memori.
Permintaan Bus: Ini digunakan oleh pengontrol DMA untuk meminta CPU melepaskan kontrol bus.
Bus Grant: Diaktifkan oleh CPU untuk memberi tahu pengontrol DMA eksternal bahwa bus dalam keadaan impedansi tinggi dan DMA yang meminta dapat mengendalikan bus. Setelah DMA mengambil kendali bus, DMA mentransfer data. Transfer ini dapat terjadi dengan banyak cara.
Jenis transfer DMA menggunakan pengontrol DMA:
Transfer Burst:
DMA mengembalikan bus setelah transfer data selesai. Register digunakan sebagai hitungan byte,
dikurangi untuk setiap transfer byte, dan setelah jumlah byte mencapai nol, DMAC akan melakukannya
lepaskan bus. Ketika DMAC beroperasi dalam mode burst, CPU dihentikan selama data berlangsung
transfer.
Langkah-langkah yang terlibat adalah:
Waktu permintaan hibah bus.
Transfer seluruh blok data pada kecepatan transfer perangkat karena perangkat biasanya lebih lambat dari kecepatan transfer data ke CPU. Lepaskan kendali bus kembali ke CPU
Jadi, total waktu yang dibutuhkan untuk
mentransfer N byte= Waktu permintaan pemberian bus + (N) * (kecepatan transfer memori) + Waktu kontrol pelepasan bus.
Pencurian Siklik:
Metode alternatif di mana pengontrol DMA mentransfer satu kata pada satu waktu setelah itu harus mengembalikan kontrol bus ke CPU. CPU menunda operasinya hanya untuk satu siklus memori untuk memungkinkan transfer I / O memori langsung untuk "mencuri" satu siklus memori.
Langkah-langkah yang Terlibat adalah:
- Buffer byte ke dalam buffer
- Beri tahu CPU bahwa perangkat memiliki 1 byte untuk ditransfer (yaitu permintaan pemberian bus)
- Transfer byte (dengan kecepatan bus sistem)
- Lepaskan kendali bus kembali ke CPU.
Sebelum melanjutkan mentransfer data byte berikutnya, perangkat melakukan langkah 1 lagi sehingga bus tidak terikat dan
transfer tidak akan bergantung pada kecepatan transfer perangkat.
Jadi, untuk transfer data 1 byte, waktu yang dibutuhkan dengan menggunakan cycle stealing mode (T).
= waktu yang diperlukan untuk hibah bus + 1 siklus bus untuk mentransfer data + waktu yang diperlukan untuk melepaskan bus
N x T
Dalam mode cycle stealing, kami selalu mengikuti konsep pipelining bahwa ketika satu byte ditransfer maka Perangkat paralel mempersiapkan byte berikutnya. "Bagian waktu CPU ke waktu transfer data" jika diminta, mode mencuri siklus digunakan.
Mode berselang-seling: Dalam teknik ini, pengontrol DMA mengambil alih bus sistem saat
mikroprosesor tidak menggunakannya. Setengah siklus alternatif yaitu DMA setengah siklus + prosesor setengah siklus.
Comments
Post a Comment