SISTEM KOMPUTER
TEKNIK
INPUT-OUTPUT
Humaidy Nur Saidy
XI TKJ 3
14
SISTEM
INPUT OUTPUT
Terdapat
tiga teknik dalam operasi I/O, yaitu :
§
I/O Terprogram
§
Interrrupt-Driven I/O
§
DMA (Direct Memory
Access)
1.
I/O
Terprogram (Programmed I/O)
Input Output terprogram atau
polling system. Ketika perangkat I/O menagani permintaan, perangkat men-set bit
status di register status perangkat. Perangkat tidak memberi tahu ke pemroses
saat tugas telah selesai dilakukan sehingga pemroses harus selalu emeriksa register
tersebut secara periodik dan melakukan tindakan berdasar status yang di baca
software pengendali perangkat (driver) dipemroses hatus mentransfer data
ke/dari pengendali. Driver mengeksekusi perintah yang berkomunikasi dengan
pengendali (adapter) di perangkat dan menunggui sampai sistem operasi yang
dilakukan perangkat selesai. Driver berisi kumpulan instruksi :
1) Pengendalian
Berfungsi
mengaktifkan perangkat eksternal dan memberitahu yang perlu dilakukan. Contoh :
unit tape magnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke
record berikut, dan sebagainya.
2) Pengujian
Berfungsi
memeriksa status perangkat keras berkaitan dengan perangkat I/O.
3) Pembacaan/
penulisan
Berfungsi
membaca/ menulis untuk transfer data antara register pemroses dan perangkat
eksternal. Masalah utama utama I/O
terprogram adalah pemroses diboroskan untuk menunggu dan menjagai operasi I/O.
Diperlukan teknik lain untuk meningkatkan efisiensi pemroses.
Pada
I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU
mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung
seperti pemindahan data, pengiriman perintah baca atau tulis dan monitoring
perangkat.
I/O
terprogram mempuyai kelemahan sebagai berikut :
·
CPU
akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan
membuang waktu. CPU lebih cepat proses operasinya.
·
Dalam
teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap
proses-proses yang diinterupsikan padanya.
·
Seluruh
proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.
Untuk melaksanakan
perintah-perintah I/O, CPU akan mengelurkan sebuah alamat bagi modul I/O dan
perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah
perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah
Input/Output :
I.
Perintah Control
Yaitu perintah yang digunakan
untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang
diperintahkan kepadanya.
II.
Perintal Test
Yaitu perintah yang digunakan CPU untuk menguji berbagai
kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat
peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui
operasi-operasi I/O yang dijalankan serta mendeteksi kesalahannya.
III.
Perintah Read
Yaitu perintah pada modul I/O untuk mengambil
suatu paket data kemudian menaruhnya di dalam buffer internal. Proses
selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi
data maupun kecepatan transfrernya.
IV.
Perintah Write
Perintah ini kebalikan dari read. CPU
memerintahkan modul I/O untuk mengambi data dari bus data untuk diberikan pada
perangkat peripheral tujuan data tersebut.
Dalam
teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang
tertuang dalam instruksi I/O, yaitu memory mapped I/O dan isolated I/O.
Dalam memory maaped untuk I/O,
terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan
register status dan register data pada modul I/O sebagai lokasi memori dan
menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun
perangkat I/O. Konsekuensinya adalah diperlukan saluran tunggal untuk pembacaan
dan saluran tunggal untuk penulisan. Keuntungan momory mapped ini adalah
efisien dalam pemrograman namun memakan banyak ruang memory alamat.
Dalam teknik isolated I/O, dilakukan
pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O.
Dengan
teknik ini diperlukan bus yang dilengkapi dengan pembacaan dan penulisan memori
ditambah dengan saluran perintah output. Keuntungan isolated I/O adalah
sedikitnya instruksi I/O.
2.
Interrupt
Driven I/O
Modul Input/Output suatu komputer sangat beragam jenisnya.
Setiap peralatan memiliki kecepatan transfer data, format data dan panjang data
yang berbeda-beda. Modul input/output berfungsi sebagai interface (penghubung)
ke momori atau ke processor, penghubung sesama peripheral, dan menyelaraskan
data sebelum ditransfer melalui system bus.
Tidak hanya itu, modul input/output juga berfungsi sebagai
control dan timing (mengatur agar kecepatan transfer data berbeda-beda dapat
tersinkronisasi dengan baik), komunikasi processor (mengirimkan data dan
perintah dari processor ke peripheral), komunikasi antar peripheral, data
buffering (penampung data sementara), dan mendeteksi error pada peripheral dan
melaporkannya pada prosessor.
Cara kerja
modul I/O adalah sebagai berikut :
·
CPU
meminta status peripheral pada modul I/O
·
Modul
I/O mengecek status peripheral dan mengirimkannya dalam bentuk status bit.
·
Jika
status ready, maka CPU mengirimkan perintahnya.
·
Modul
I/O menarik data dari peripheral.
·
Modul
I/O menyelaraskan data.
·
Modul
I/O mengirimkan data ke CPU lewat bus.
Dalam interrupt driven I/O CPU tetap memiliki
kontrol langsung terhadap proses I/O, seperti pada programmed I/O.
CPU merequest untuk melakukan operasi I/O, modul
I/O mentransfer perintah ke peripheral, sementara itu CPU melakukan kegiatan
lain/ melaksanakan proses berikutnya, modul I/O mengirimkan interrupt kepada
CPU untuk memberitahukan status hasil operasinya, dan CPU bereaksi atas status
tersebut. Pada interrupt driven I/O memiliki kelebihan yaitu peniadaan waktu
tunggu CPU. Jadi, perbedaan antara programmed I/O dengan interrupt driven I/O
adalah pada programmed modul I/O tidak dapat mengirimkan status peripheral
kepada CPU, tetapi pada interrupt driven I/O modul I/O dapat mengirimkan status
peripheral kepada CPU, sehingga mempercepat proses CPU.
3.
Direct
Memory Access
DMA adalah sebuah prosessor khusus (special purpose processor
) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO).
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 transfer, dan jumlah byte yang ditransfer, ke memori. CPU
kemudian menuliskan lamat command block ini ke pengendali DMA, sehingga
pengendali DMA 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 :
1.
Prosessor
menyiapkan DMA transfer dengan menyediakan kata-kata dari perangkat, operasi
yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan
banyaknya byte yang dtransfer.
2.
Pengendali
DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca
data), sampai seluruh block sudah ditransfer.
3.
Pengendali
DMA menginterupsi processor, dimana selanjutnya akan ditentukan tindakan
berikutnya. Pada dasarnya, DMA mempunyai 2 metode yang berbeda dala mentransfer
data. Metode yang pertama ialah metode yang sangat baku dan sederhana disebut
HALT, atau Burst metode DMA, karena pengendali DMA memegang kontrol dari
sisetem bus dan mentransfer semua blok data ke atau dari memori pada single
burst. Selagi transfer masih dalam proses, sistem mikroprosessor diset idle,
tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi
DMA seperti ini ada pada kebanyakan komputer. Metode yang kedua,
mengiktsertakan pengendali DMA 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 pengendali DMA harus mempunyai kepintaran untuk
merasakan waktu pada saat sistem bus terbuka.
siapa saya :v
BalasHapus