Anda di halaman 1dari 5

ORGANISASI DAN ARSITEKTUR KOMPUTER

PENJELASAN TENTANG PROGRAMED I/O DAN DIRECT MEMORY AKSES

Ahmad Mustafid | Organisasi dan Arsitektur Komputer | May 1, 2013

Programmed I/O ( I/O Terprogram)

Strategi yang paling sederhana untuk penanganan komunikasi antara CPU dan suatu Modul I/O adalah dalam bentuk program (I/O programmed). Dalam hal ini, CPU bertanggung jawab untuk semua komunikasi dengan Modul I/O, dengan menjalankan instruksi mengendalikan alat yang dipasang, atau memindahkan data. Sebagai contoh, CPU ingin mengirimkan data pada suatu alat menggunakan I/O yang sudah deprogram, pertama CPU mengeluarkan instruksi kepada Modul I/O yang dituju untuk memberitahukan data yang diharapkan. CPU kemudian harus menunggu sampai modul menjawab sebelum mengirimkan data itu. Jika modul adalah lebih lambat dibanding CPU yang terjadi kemudian adalah CPU dapat saja menunggu sampai jawaban diterima. Hal ini menjadikan kinerja yang tidak efisien. Masalah yang lain timbul, jika CPU harus membaca data dari sebuah peralatan seperti keyboard. Sering CPU harus memberikan suatu instruksi kepada Modul I/O yang sesuai setelah tombol ditekan. Ini juga sangat tidak efisien. Sebagai konsekwensi strategi ini hanya digunakan pada mikro prosesor control yang sangat kecil. Dalam programmed I/O, CPU memiliki control langsung terhadap proses I/O. CPU merequest untuk melakukan operasi I/O, modul I/O metransfer perintah ke peripheral, modul I/O mengeset status bit dari peripheral, CPU mengecek status bit secara periodik dan jika belum ada perubahan maka CPU akan menunggu dan jika ada perubahan maka CPU akan bereaksi. Dalam hal ini modul I/O tidak mengkonfirmasi status langsung kepada CPU. Kelemahan nya adalah CPU menunggu hingga modul I/O menyelesaikan suatu operasi sehingga menjadi boros waktu.

Cara kerja modul I/O adalah sebagai berikut :

a) CPU meminta status peripheral pada modul I/O. b) Modul I/O mengecek status peripheral dan mengirimkannya dalam betuk status bit. c) Jika status ready, maka CPU mengirimkan perintahnya. d) Modul I/O menarik data dari peripheral. e) Modul I/O menyelaraskan data. f) Modul I/O mengirimkan data ke CPU lewat bus.

DMA (Direct Memory Access)

1. Definisi DMA
Perangkat masukkan/keluaran

dikendalikan

interupsi

lebih

efisien

dibanding

masukkan/keluaran terprogram(programmed I/O), tapi masih memerlukan intervensi aktif

pemrosesan untuk transfer data antara memory dan buffer perangkat masukkan/keluaran. Pemrosesan masih disibukkan dengan operasi transfer data. Pemrograman masukkan/keluaran
yang

dikendalikan

interupsi

mempunyai

dua

kelemahan,yaitu : 1. Rate masukkan/keluaran dibatasi kecepatan menguji dan melayani operasi perangkat. 2. Pemrosesan terikat erat dalam mengelola transfer masukkan/keluaran. Sejumlah interuksi harus dieksekusi untuk tiap transfer masukkan/keluaran. Ketika data berukuran besar dipindahkan maka diperlukan teknik lebih efisien agar tidak menyibukkan pemroses untuk mengurusi operasi transfer masukkan/keluaran sehingga pemroses dapat melakukan kerja berguna yang lain. DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat masukkan/keluaran. Saat pemroses ingin membaca atau menulis data pemroses memerintahkan DMA Controller dengan mengirim informasi berikut : Perintah penulisan/pembacaan. Alamat perangkat masukkan/keluaran. Awal lokasi memori yang ditulis/baca. Jumlah word(byte) yang ditulis/dibaca.

Setelah mengirim informasi itu ke DMA controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi masukkan/keluaran ke DMA. DMA mentransfer seluruh data yang diminta kea tau dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim sinyal interupsi ke pemroses. Pemroses hanya dilibatkan pada awal dan akhir transfer data. Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA, bebas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai. Keunggulan : 1. Penghematan waktu pemroses.

2. Peningkatan kinerja masukkan/keluaran.

2. Arsitektur atau Rancangan DMA

3. Cara Kerja DMA a) CPU mengirimkan data data berikut ini ke DMA controller : Perintah read/write. Alamat device yang akan diakses. Alamat awal blok memori yang akan dibaca/ditulis. Jumlah blok data yang akan ditransfer.

b) CPU mengeksekusi program lain. c) DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU). d) DMA controller mengirim interrupt ke CPU jika telah selesai.

4. Contoh Perangkat yang Menggunakan DMA

DMA digunakan pada perangkat-perangkat seperti sound card, hard disk, keyboard dan peralatan lain yang ada pada komputer.

DAFTAR PUSTAKA Hariyanto, Bambang, Sistem Operasi revisi keempat, Informatika, Bandung, 1997, hlm. 256. http://rezaakhmadg.blogspot.com/2012/05/direct-memory-acces-dma.html http://anaknegri.50megs.com/art1.html http://wulanek2c04.blogspot.com/ http://jaming89.wordpress.com/2010/04/25/tugas-pak-ke-6-driven-io-dma/

Anda mungkin juga menyukai