Pengertian Dan Cara Mengoperasikan Perangkat Input Output
Pengoperasian Perangkat I/O.
Pengoperasian Perangkat I/O meliputi:
a. Perangkat I/O terprogram (programmed I/O)
Merupakan
perangkat I/O komputer yang dikontrol oleh program. Contohnya, perintah
mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk
pengalihan data dengan kecepatan tinggi karena dua alasan yaitu:
· Memerlukan
overhead (ongkos) yang tinggi, karena beberapa perintah program harus
dieksekusi untuk setiap kata data yang dialihkan antara peralatan
eksternal dengan memori utama.
· Banyak
peralatan periferal kecepatan tinggi memiliki mode operasi sinkron,
yaitu pengalihan data dikontrol oleh clock frekuensi tetap, tidak
tergantung CPU.
b. Perangkat berkendalikan interupsi (Interrupt I/O)
Interupsi
lebih dari sebuah mekanisme sederhana untuk mengkoordinasi pengalihan
I/O. Konsep interupsi berguna di dalam sistem operasi dan pada banyak
aplikasi kontrol di mana pemrosesan rutin tertentu harus diatur dengan
seksama, relatif peristiwa-peristiwa eksternal.
Interupsi
merupakan bagian penting dari sistem arsitektur komputer. Setiap sistem
komputer memiliki mekanisme yang berbeda. Interupsi bisa terjadi
apabila perangkat keras (hardware) atau perangkat lunak (software) minta
"dilayani" oleh prosesor. Apabila terjadi interupsi maka prosesor
menghentikan proses yang sedang dikerjakannya, kemudian beralih
mengerjakan service routine untuk melayani interupsi tersebut. Setelah
selesai mengerjakan service routine maka prosesor kembali melanjutkan
proses yang tertunda.
Untuk
memulai operasi I/O, CPU me-load register yang bersesuaian ke device
controller. Sebaliknya device controller memeriksa isi register untuk
kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi
I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan
asynchronous I/O.
Pada
synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses
I/O selesai dikerjakan. Sedangkan pada asynchronous I/O, kendali
dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai.
Sehingga proses I/O dan proses pengguna dapat dijalankan secara
bersamaan.
c. DMA (Direct Memory Address)
Direct
Memory Access (DMA) adalah suatu metoda penanganan I/O dimana device
controller langsung berhubungan dengan memori tanpa campur tangan CPU.
Setelah men-set buffers, pointers, dan counters untuk perangkat I/O,
device controller mentransfer blok data langsung ke penyimpanan tanpa
campur tangan CPU. DMA digunakan untuk perangkat I/O dengan kecepatan
tinggi. Hanya terdapat satu interupsi setiap blok, berbeda dengan
perangkat yang mempunyai kecepatan rendah dimana interupsi terjadi untuk
setiap byte (word).
Ø Transfer DMA
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/ destinasi transfer, dan jumlah byte yang
ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini
ke DMA controller, sehingga DMA controller 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:
· Prosesor
menyiapkan DMA transfer dengan menyedia kan data-data dari device,
operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan
tujuan data, dan banyaknya byte yang di transfer.
· DMA
controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis
dan membaca data), sampai seluruh blok sudah di transfer.
· DMA controller meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.
Pada
dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data.
Metode yang pertama adalah metode yang sangat baku dan simple disebut
HALT, atau Burst Mode DMA, karena DMA controller memegang kontrol dari
sistem bus dan mentransfer semua blok data ke atau dari memori pada
single burst. Selagi transfer masih dalam progres, sistem mikroprosessor
di-set idle, tidak melakukan instruksi operasi untuk menjaga internal
register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode
yang kedua, mengikut-sertakan DMA controller untuk memegang kontrol
dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana
mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan
akses ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle
stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT
DMA, karena DMA controller harus mempunyai kepintaran untuk merasakan
waktu pada saat sistem bus terbuka.
Ø Handshaking
Proses
handshaking antara DMA controller dan device controller dilakukan
melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge.
Device controller mengirimkan sinyal melalui DMA-request ketika akan
mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan
DMA controller memasukkan alamat-alamat yang dinginkan ke kabel alamat
memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah
sinyal melalui kabel DMA-acknowledge diterima, device controller
mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request.
Hal
ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat
DMA controller mengambil alih memori, CPU sementara tidak dapat
mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada
cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau
pun memperlambat komputasi CPU, tidak menurunkan kinerja karena
memindahkan pekerjaan data transfer ke DMA controller meningkatkan
performa sistem secara keseluruhan.
Ø Cara-cara Implementasi DMA
Dalam
pelaksanaannya, beberapa komputer menggunakan memori fisik untuk proses
DMA , sedangkan jenis komputer lain menggunakan alamat virtual dengan
melalui tahap "penerjemahan" dari alamat memori virtual menjadi alamat
memori fisik, hal ini disebut direct virtual-memory address atau DVMA.
Keuntungan dari DVMA adalah dapat mendukung transfer antara dua memory mapped device tanpa intervensi CPU. Seluruh
proses DMA dikendalikan oleh sebuah controller bernama DMA Controller
(DMAC). DMA Controller mengirimkan atau menerima signal dari memori dan
I/O device. Prosesor hanya mengirimkan alamat awal data, tujuan data,
panjang data ke DMA Controller. Interrupt pada prosesor hanya terjadi
saat proses transfer selesai. Hak terhadap penggunaan bus memory yang
diperlukan DMA controller didapatkan dengan bantuan bus arbiter yang
dalam PC sekarang berupa chipset Northbridge.
sumber:klik disini
Tidak ada komentar:
Posting Komentar