Fungsi Modul I/O
MODUL INPUT
DAN OUTPUT
Modul I/O
adalah suatu komponen dalam sistem komputer yang bertanggung jawab atas
pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam
pertukaran data antara perangkat luar tersebut dengan memori utama ataupun
dengan register – register CPU. Dalam mewujudkan hal ini, diperlukan antarmuka
internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat
eksternalnya untuk menjalankan fungsi – fungsi pengontrolan.
Fungsi dalam menjalankan tugas bagi
modul I/O dapat dibagi menjadi beberapa katagori, yaitu:
• Kontrol dan pewaktuan.
• Komunikasi CPU.
• Komunikasi perangkat eksternal.
• Pem-buffer-an data.
• Deteksi kesalahan.
Fungsi kontrol dan pewaktuan
(control & timing) merupakan hal yang penting untuk mensinkronkan kerja
masing – masing komponen penyusun komputer. Dalam sekali waktu CPU
berkomunikasi dengan satu atau lebih perangkat dengan pola
tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan
perangkat internal seperti register – register, memori utama, memori sekunder,
perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol
dan pewaktuan yang mengatur sistem secara keseluruhan. Contoh kontrol
pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi
langkah – langkah berikut ini :
1 Permintaan dan pemeriksaan status
perangkat dari CPU ke modul I/O.
2 Modul I/O memberi jawaban atas
permintaan CPU.
3 Apabila perangkat eksternal telah
siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O.
4 Modul I/O akan menerima paket data
dengan panjang tertentu dari peripheral.
5 Selanjutnya data dikirim ke CPU
setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh modul
I/O sehingga paket – paket data dapat diterima CPU dengan baik. Transfer data
tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O
akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.
Adapun fungsi komunikasi antara CPU
dan modul I/O meliputi proses – proses berikut :
• Command Decoding, yaitu modul I/O
menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus
kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read
sector, Scan record ID, Format disk.
• Data, pertukaran data antara CPU
dan modul I/O melalui bus data.
• Status Reporting, yaitu pelaporan
kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status
kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).
• Address Recognition, bahwa
peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka
harus memiliki alamat yang unik, begitu pula pada perangkat peripheral,
sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya.
Pada sisi modul I/O ke perangkat
peripheral juga terdapat komunikasi yang meliputi komunikasi data, kontrol
maupun status.
Fungsi selanjutnya adalah buffering.
Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan
laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada
CPU. Umumnya laju transfer data dari perangkat peripheral lebih lambat dari
kecepatan CPU maupun media penyimpan. Fungsi terakhir adalah deteksi kesalahan.
Apabila pada perangkat peripheral terdapat masalah sehingga proses tidak dapat
dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi
kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis,
kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah
penggunaan bit paritas.
- Struktur Modul I/O
Terdapat berbagai macam modul I/O
seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel
adalah Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface).
Bagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur.
Antarmuka modul I/O ke CPU melalui
bus sistem komputer terdapat tiga saluran, yaitu saluran data, saluran alamat
dan saluran kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan
dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan
switching pada blok ini. Antarmuka modul I/O ke CPU melalui bus sistem komputer
terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol.
Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua
peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada
blok ini.
- Teknik Masukan/Keluaran
Terdapat tiga buah teknik dalam
operasi I/O, yaitu: I/O terprogram, interrupt – driven I/O, dan DMA (Direct
Memory Access). Ketiganya memiliki keunggulan maupun kelemahan, yang
penggunaannya disesuaikan sesuai unjuk kerja masing – masing teknik.
- I/O
Terprogram
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 maupun tulis, dan monitoring perangkat. Kelemahan
teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul
I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya.
Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap
proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung
jawab CPU sampai operasi lengkap dilaksanakan.
Untuk melaksanakan perintah –
perintah I/O, CPU akan mengeluarkan 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
I/O, yaitu:
1. Perintah control.
Perintah ini digunkan untuk
mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan
padanya.
2. Perintah test.
Perintah ini 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.
3. Perintah read.
Perintah pada modul I/O untuk mengambil
suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya
paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun
kecepatan transfernya.
4. Perintah write.
Perintah ini kebalikan dari read.
CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan
pada perangkat peripheral tujuan data tersebut.
- Interrupt
– Driven I/O
Teknik interrupt – driven I/O
memungkinkan proses tidak membuang – buang waktu.
Prosesnya adalah CPU mengeluarkan
perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka
CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O
telah selesai menjalankan instruksi yang diberikan padanya akan melakukan
interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah
masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun
pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik
sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus
sehingga tidak ada waktu tunggu bagi CPU.
Cara kerja teknik interupsi di sisi
modul I/O adalah modul I/O menerima perintah, misal read. Kemudian modul I/O
melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke
register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU
melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU. Saat
permintaan terjadi, modul meletakkan data pada bus data dan modul siap menerima
perintah selanjutnya. Pengolahan interupsi saat perangkat I/O telah
menyelesaikan sebuah operasi I/O adalah sebagai berikut :
1. Perangkat I/O akan mengirimkan
sinyal interupsi ke CPU.
2. CPU menyelesaikan operasi yang
sedang dijalankannya kemudian merespon interupsi.
3.CPU memeriksa interupsi tersebut,
kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O
untuk menghentikan interupsinya.
DIRECT
MEMORY ACCESS (DMA)
DMA ialah sebuah prosesor 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 alamat command block ini ke pengendali DMA,
sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara
langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan
transfer tanpa bantuan CPU.
Tiga langkah dalam transfer DMA:
1.
Prosesor menyiapkan DMA transfer dengan menyedia kan
data-data dari perangkat,
operasi yang
akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan
banyaknya byte yang ditransfer.
2.
Pengendali DMA memulai operasi (menyiapkan bus,
menyediakan alamat, menulis
dan membaca
data), sampai seluruh blok sudah di transfer.
3.
Pengendali DMA meng-interupsi prosesor, dimana
selanjutnya akan ditentukan
tindakan
berikutnya.
Pada
dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode
yang pertama ialah metode yang sangat baku dan sederhana disebut HALT, atau
Burst Mode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan
mentransfer semua blok data ke atau dari memori pada single burst. Selagi
transfer masih
dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode yang kedua, mengikutsertakan 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.
dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode yang kedua, mengikutsertakan 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.
Prinsip kerja DMA
• CPU akan mendelegasikan kerja I/O kepada DMA
• CPU hanya akan terlibat pada awal proses untuk memberikan instruksi
lengkap pada DMA dan akhir proses saja
• CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan
interupsi
• Melaksanakan transfer data secara mandiri :
• Melaksanakan transfer data secara mandiri :
1.
DMA
memerlukan pengambilalihan kontrol bus dari CPU
2.
DMA akan
menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa
CPU untuk menghentikan sementara penggunaan bus
3.
Teknik
cyclestealing, modul DMA mengambil alih siklus bus
Klasifikasi perangkat eksternal
• Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai
• pengguna komputer. Contoh: monitor, keyboard, mouse, printer, joystick, disk drive.
• Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.
• Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Contoh: NIC dan modem.
• pengguna komputer. Contoh: monitor, keyboard, mouse, printer, joystick, disk drive.
• Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.
• Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Contoh: NIC dan modem.
Klasifikasi berdasar arah data
1.
Perangkat
output
2.
Perangkat
input
3.
Kombinasi
output-input.
Contoh perangkat output: monitor, proyektor dan printer.
Contoh perangkat input : keyboard,
mouse, joystick, scanner, mark reader, bar code reader
Evolusi fungsi perangkat I/O
Sistem komputer mengalami
peningkatan kompleksitas dan kecanggihan komponen-komponennya, yang sangat
tampak pada fungsi-fungsi I/O sebagai berikut :
a.Pemroses mengendalikan perangkat
I/O secara langsung.
Masih digunakan sampai saat ini
untuk perangkat sederhana yang dikendalikan mikroprosessor sehingga menjadi
perangkat berintelijen (inteligent device).
b.Pemroses dilengkapi pengendali I/O
(I/O controller).
Pemroses menggunakan I/O terpogram
tanpa interupsi, sehingga tak perlu memperhatikan rincian-rincian spesifik
antarmuka perangkat.
c.Perangkat dilengkapi fasilitas
interupsi.
Pemroses tidak perlu menghabiskan
waktu menunggu selesainya operasi I/O, sehingga meningkatkan efisiensi
pemroses.
d.I/O controller mengendalikan
memori secara langsung lewat DMA.
Pengendali dapat memindahkan blok
data ke/dari memori tanpa melibatkan pemroses kecuali diawal dan akhir
transfer.
e.Pengendali I/O menjadi pemroses
terpisah.
Pemroses pusat
mengendalikan.memerintahkan pemroses khusus I/O untuk mengeksekusi program I/O
di memori utama. Pemroses I/O mengambil dan mengeksekusi intruksi-intruksi ini
tanpa intervensi pemroses pusat. Dimungkinkan pemroses pusat menspesifikasikan
barisan aktivitas I/O dan hanya diinterupsi ketika seluruh barisan intruksi
diselesaikan.
f. Pengendali I/O mempunyai memori
lokal sendiri.
Perangkat I/O dapat dikendalikan
dengan keterlibatan pemroses pusat yang minimum.
Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga pemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja sistem.
Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga pemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja sistem.
Prinsip manajemen perangkat I/O
Terdapat dua sasaran perancangan
I/O, yaitu :
a. Efisiensi.
Aspek penting karena operasi I/O
sering menimbulkan bottleneck.
b. Generalitas (device
independence).
Manajemen perangkat I/O selain
berkaitan dengan simplisitas dan bebas kesalahan, juga menangani perangkat
secara seragam baik dari cara proses memandang maupun cara sistem operasi
mengelola perangkat dan operasi I/O.
Software diorganisasikan berlapis.
Lapisan bawah berurusan menyembunyikan kerumitanperangkat keras untuk
lapisan-lapisan lebih atas. Lapisan lebih atas berurusanmemberi antar muka yang
bagus, bersih, nyaman dan seragam ke pemakai.
Masalah-masalah manajemen I/O adalah
:
a. Penamaan yang seragam (uniform
naming).
Nama berkas atau perangkat adalah
string atau integer, tidak bergantung pada perangkat sama sekali.
b. Penanganan kesalahan (error
handling).
Umumnya penanganan kesalahan
ditangani sedekat mungkin dengan perangkat keras.
c. Transfer sinkron vs asinkron.
c. Transfer sinkron vs asinkron.
Kebanyakan I/O adalah asinkron.
Pemroses mulai transfer dan mengabaikan untuk melakukan kerja lain sampai
interupsi tiba. Program pemakai sangat lebih mudah ditulis jika operasi I/O
berorientasi blok. Setelah perintah read, program kemudian ditunda secara
otomatis sampai data tersedia di buffer.
d. Sharable vs dedicated.
Beberapa perangk dapat dipakai
bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang
dibolehkan memakai pada satu saat. Contoh : printer.
Hirarki manajemen perangkat I/O
Hirarki manajemen perangkat I/O :
a. Interrupt handler.
Interupsi harus disembunyikan agar
tidak terlihat rutin berikutnya. Device driver di blocked saat perintah I/O
diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan
interupsi bekerja agar device driver keluar dari state blocked.
b. Device
drivers.
Semua kode bergantung perangkat
ditempatkan di device driver. Tiap device driver menangani satu tipe (kelas)
perangkat dan bertugas menerima permintaan abstrak perangkat lunak device
independent diatasnya dan melakukan layanan permintaan.
Mekanisme kerja device driver :
1.
Menerjemahkan perintah abstrak menjadi perintah
konkret.
2.
Setelah ditentukan perintah yang harus diberikan ke pengendali,
device driver mulai
menulis ke register-register
pengendali perangkat.
3.
Setelah operasi selesai dilakukan perangkat, device
driver memeriksa status kesalahan
yang terjadi.
4.
Jika berjalan baik, device driver melewatkan data ke
perangkat lunak device independent.
5. Kemudian device driver melaporkan
status operasinya ke pemanggil.
c. Perangkat lunak device
independent.
Bertujuan membentuk fungsi-fungsi
I/O yang berlaku untuk semua perangkat dan memberi antarmuka seragam ke
perangkat lunak tingkat pemakai. Fungsi-fungsi lain yang dilakukan :
1.
Sebagai interface seragam untuk seluruh device driver.
2.
Penamaan perangkat.
3.
Proteksi perangkat.
4.
Memberi ukuran blok perangkat agar bersifat device
independent.
5.
Melakukan buffering.
6.
Alokasi penyimpanan pada block devices.
7.
Alokasi dan pelepasan dedicated devices.
8. Pelaporan kesalahan.
d. Perangkat lunak level pemakai.
Kebanyakan perangkat lunak I/O
terdapat di sistem operasi. Satu bagian kecil berisi pustaka-pustaka yang
dikaitkan pada program pemakai dan berjalan diluar kernel. System calls I/O
umumnya dibuat sebagai prosedur-prosedur pustaka. Kumpulan prosedur pustaka I/O
merupakan bagian sistem I/O. Tidak semua perangkat lunak I/O level pemakai berupa
prosedur- prosedur pustaka. Kategori penting adalah sistem spooling. Spooling
adalah cara khusus berurusan dengan perangkat I/O yang harus didedikasikan pada
sistem multiprogramming.
Buffering I/O
Buffering adalah melembutkan
lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi
dan kinerja sistem operasi.Terdapat beragam cara buffering,antar lain:
a. Single buffering.
a. Single buffering.
Merupakan teknik paling sederhana.
Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan
buffer memori utama sistem untuk operasi.Untuk perangkat berorientasi
blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses
memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini
disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan
harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini
berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.
Keunggulan :
Pendekatan in umumnya meningkatkan
kecepatan dibanding tanpa buffering. Proses pemakai dapat memproses blok data
sementara blok berikutnya sedang dibaca. Sistem operasi dapat menswap keluar
proses karena operasi masukan berada di memori sistem bukan memori proses
pemakai.
Kelemahan :
1.
Merumitkan sistem operasi karena harus mencatat
pemberian buffer-buffer sistem ke
proses pemakai.
2.
Logika swapping juga dipengaruhi. Jika operasi I/O
melibatkan disk
untuk swapping, maka membuat antrian
penulisan ke disk yang sama yang digunakan
untuk swap out proses. Untuk menswap
proses dan melepas memori utama tidak dapat
dimulai sampai operasi I/O selesai,
dimana waktu swapping ke disk tidak bagus untuk
dilaksanaka Buffering keluaran
serupa buffering masukan. Ketika data transmisi, data
lebih dulu dikopi dari ruang pemakai
ke buffer sistem. Proses pengirim menjadi bebas
untuk melanjutkan eksekusi
berikutnya atau di swap ke disk jika perlu.Untuk perangkat
berorientasi aliran karakter.
Single buffering dapat diterapkan
dengan dua mode, yaitu :
3.
Mode line at a time.
Cocok untuk terminal mode gulung
(scroll terminal atau dumb terminal). Masukan pemakai adalah satu baris per
waktu dengan enter menandai akhir baris. Keluaran terminal juga serupa, yaitu
satu baris per waktu.
Contoh mode ini adalah
printer.Buffer digunakan untuk menyimpan satu baris tunggal. Proses
pemakai ditunda selama masukan, menunggu kedatangan satu baris
seluruhnya. Untuk keluaran, proses pemakai menempatkan satu baris keluaran
pada buffer dan melanjutkan pemrosesan. Proses tidak perlu suspend kecuali bila
baris kedua dikirim sebelum buffer dikosongkan.
4. Mode byte at a time.
4. Mode byte at a time.
Operasi ini cocok untuk terminal
mode form, dimana tiap ketikan adalah penting dan untuk peripheral lain seperti
sensor dan pengendali.
b. Double buffering.
Peningkatan dapat dibuat dengan dua
buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara sistem
operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double
buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu
operasi I/O.
Peningkatan ini harus dibayar dengan
peningkatan kompleksitas. Untuk berorientasi aliran karakter, double buffering
mempunyai 2 mode alternatif, yaitu :
- Mode line at
a time.
Proses pemakai tidak perlu ditunda
untuk I/O kecuali proses secepatnya mengosongkan buffer ganda.
- Mode byte at
a time.
Buffer ganda tidak memberi
keunggulan berarti atas buffer tunggal. Double buffering mengikuti model
producer-consumer.
1. Circular
buffering.
Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika
kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O
mengikuti proses. Double buffering tidak mencukupi jika proses melakukan
operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari dengan
menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan,
kumpulan buffer itu sendiri diacu sebagai circulat buffer. Tiap bufferindividu
adalah satu unit di circular buffer.
FUNGSI UTAMA MODUL I/O :
1. Sebagai piranti antarmuka
ke CPU dan memori ke bus system.
2. Sebagai piranti antarmuka dengan
peralatan peripheral lainnya dengan menggunakan link data
tertentu.
STRUKTUR
MODUL I/O
Saluran
control
Saluran yang digunakan untuk mengontrol akses ke
salurn alamat, penggunaan data dan saluran alamat.
Saluran
Data
Saluran
yang memberikan lintasan bagi perpindahan data antaar dua modul system.
Saluran
Alamat
Saluran
yang digunakan untuk menandakan sumber atau tujuan data pada bus data.
TEKNIK
MASUKAN / KELUARAN
Terdapat
3 teknik dalam proses kerja I/O yaitu I/O terprogram, Interrupt-driven I/O dan
DMA.
I/O TERPROGRAM
Pada I/O Terprogram data saling dipertukarkan antara
CPU dan Modul I/O. CPU mengeksekusi program secara langsung seperti pemindahan
data, pengiriman perintah baca maupun tulis dan monitoring perangkat. Kelemahan
teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul
I/O sehingga akan membuang waktu apalagi CPU lebih cepat proses operasinya.
Perintah
Control
Perintah
untuk aktivasi perirheral dan memberikan tugas yang diperintahkan.
Perintah
Test
Perintah
untuk menguji status modul I/o dan peripheral.
Perintah
Read
Perintah
untuk mengambil paket data kemudian menaruh dalam buffer internal selanjutnya
akan dikirim melalui bus data.
Perintah
Write
Perintah
untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral
tujuan data.
INTERRUPT-DRIVEN I/O
Teknik
Interrupt-driven I/O memungkinkan proses tidak membuang-buang waktu. Prosesnya
adalah CPU mengeluarkan perintah I/O pada modul I/O bersamaan perintah I/O
dijalankan maka CPU akan melakukan eksekusi perintah-perintah lainnya dan
setelah perintah I/O dijalankan maka I/O akan melakukan interupsi pada CPU
bahwa tugasnya telah selesai. Pada teknik ini tanggung jawab dipegang oleh CPU.
Kelebihan teknik ini disbanding teknik sebelumnya adalah CPU dapat melakukan
Multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi
CPU.
TEKNIK
DMA (DIRECT MEMORY ACCESS)
CPU
akan mendelegasikan kerja I/O kepada DMA. CPU hanya akan terlibat pada awal
proses untuk memberikan intruksi lengkap pada DMA dan akhir proses. Dalam
melakukan transfer DMA memerlukan pengambilan control bus dari CPU maka dari
itu DMA akan menggunakan bus ketika CPU tidak menggunakannya atau DMA akan
memaksa CPU berhenti menggunakan untuk sementara.
DEVICE
EKSTERNAL
Jenis-jenis device eksternal :
- Human readabel : sarana komunikasi manusia dengan mesin(komputer) , seperti screen,printer,keyboard.
- Machine readable : sarana komunikasi antara komputer dengan device lain, seperti harddisk, sensor, aktuator
- Communication : sarana komunikasi komputer dengan komputer lain , seperti modem, network interface card(NIC)
Blok Diagram Device Eksternal
|
|
Fungsi dalam blok diagram device
eksternal
- Signal kontrol : memenentukan apa yang ahrus dilakukan oleh device , misal input atau read untuk menerima/membaca data dan output atau write untuk mengirimmkan data ke device lain.
- Signal status : untuk mengirimkan status dari device (ready atau error)
- Jalur data : saluran untuk mengirimkan/menerima deretan bit bit ke/dari modul I/O
- Control logic : menentukan aktifitas dan status device eksternal
- Buffer : untuk menampung data dari/ke modul I/O sementara waktu, biasanya berukuran 8 hingga 16 bit
- Transducer : mengubah bentuk data dari signal elektrik, mekanik, temperatur, tekanan menjadi data digital dan sebaliknya.
BEBERAPA CONTOH EXTERNAL DEVICE
1. Keyboard
Keyboard adalah sebuah perangkat
masukan yang digunakan untuk memasukan data berupa huruf, angka maupun symbol
tertentu serta melakukan perintah-perintah untuk menyimpan file dan membuka
file. Keyboard disebut juga sebagai papan ketik pada komputer.
2. Mouse
Mouse adalah sebuah perangkat
masukan yang berguna sebagai penunjuk posisi kursor/pointer pada layar monitor.
3. Joystick
Joystick adalah alat masukan yang
digunakan untuk memasukan perintah untuk menggerakan permainan pada komputer.
4. Trackball
Trackball adalah perangkat keras
yang digunakan sebagai alat penunjuk berupa sebuah bola yang memiliki sensor
untuk mendeteksi gerakan.
5. Lightpen
Lightpen adalah pointer elektronik
yang digunakan untuk memodifikasi dan men-desain gambar dengan screen(monitor)
6. Scanner
Scanner adalah alat input yang
mempunyai fungsi hampir mirip dengan mesin fotocopy. Dengan proses
penggunaannya mengcopy data objek lalu dipindahkan kedalam memory komputer yang
hasilnya dapat dilihat pada layar monitor.
7. Barcode Reader
Barcode Reader adalah perangkat yang
digunakan untuk membaca barcode data
8. Digitizer
Digitizer adalah perangkat masukan
yang berfungsi untuk merubah perangkat atau data analog menjadi data digital.
IMPLEMENTASI
PERINTAH DALAM INTRUKSI I/O
Memory-Mapped
I/O
Dalam
memory-mapped I/O terdapat ruang tunggal untuk lokasi memori dan perangkat I/O.
CPU menggunakan register status dan register data modul I/O sebagai lokasi
memori dan menggunakan intruksi mesin yang sama untuk mengakses memori maupun
perangkta I/O sehingga diperlukan saluran tunggal untuk pembacaan dan
penulisan. Kelebihan teknik ini adalah efidien dalam pemrograman tetapu memakan
banyak ruang memori alamat.
Isolated
I/O
Dalam
teknik ini dilakukan pemisahan ruang pengalamatan bagi I/O/. dengan teknik ini
diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori
ditambah saluran perintah output. Kelebihan teknik ini adalah sedikitnya
intruksi I/O.
ok min, mantap jiwa
BalasHapussolder uap