1. APA ITU I/O
I/0 adalah bagian dari sistem
mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan
dunia luar.
a) Pengertian
Input
Input adalah semua data dan perintah yang dimasukkan ke dalam memori komputer untuk selanjutnya di proses lebih lanjut oleh prosesor. Sebuah perangkat input yaitu komponen piranti keras yang memungkinkan user atau pengguna memasukkan data dari luar ke dalam komputer, bisa juga disebut sebagai unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor.
Input adalah semua data dan perintah yang dimasukkan ke dalam memori komputer untuk selanjutnya di proses lebih lanjut oleh prosesor. Sebuah perangkat input yaitu komponen piranti keras yang memungkinkan user atau pengguna memasukkan data dari luar ke dalam komputer, bisa juga disebut sebagai unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor.
b) Pengertian
Output
Output adalah data yang telah diproses menjadi bentuk yang dapat digunakan. Artinya komputer memproses data-data yang diinputkan menjadi sebuah informasi. Yang disebut sebagai perangkat output adalah semua komponen piranti yang menyampaikan informasi kepada orang-orang yang menggunakanya.
Output adalah data yang telah diproses menjadi bentuk yang dapat digunakan. Artinya komputer memproses data-data yang diinputkan menjadi sebuah informasi. Yang disebut sebagai perangkat output adalah semua komponen piranti yang menyampaikan informasi kepada orang-orang yang menggunakanya.
2. CONTOH I/O
Mesin komputer akan memiliki nilai
apabila bisa berinteraksi dengan dunia luar. Lebih dari itu, komputer tidak
akan berfungsi apabila tidak dapat berinteraksi dengan dunia luar. Ambil contoh
saja, bagaimana kita bisa menginstruksikan CPU untuk melakukan suatu operasi
apabila tidak ada keyboard.
a. Klasifikasi
Secara umum perangkat eksternal diklasifikasikan menjadi
3 katagori :
1)
Human
Readable
yaitu
perangkat yang berhubungan dengan manusia sebagai pengguna komputer. Cocok
untuk berkomunikasi dengan pengguna komputer.
Contohnya:
monitor, keyboard, mouse, printer, joystick, disk drive.
2) Machine readable
yaitu
perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor
dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem. cocok
untuk berkomunikasi dengan peralatan.
3) Communication
yaitu
perangkat yang berhubungan dengan komunikasi jarak jauh.Misalnya: NIC dan
modem. cocok untuk berkomunikasi dengan perangkat jarak jauh. Interface ke
modul I/O adalah dalam bentuk signal-signal control, status dan data.
b. Cara
Kerja Secara Umum
Perangkat
eksternal dihubungkan dengan komputer oleh suatu link dengan modul I/O. Link
digunakan untuk pertukaran control, status dan data antara modul I/O dengan
perangkat eksternal. Data berbentuk sekumpulan bit untuk dikirimkan ke modul
I/O atau diterima dari modul I/O. Control Signal menentukan
fungsi-fungsi yang akan dilakukan perangkat, seperti mengirimkan data ke modul
I/O (INPUT atau READ), menerima data dari modul I/O (OUTPUT atau WRITE), report
status, atau membentuk fungsi control tertentu ke perangkat. Signal
status menandai status perangkat. Misalnya READY/NOT READY untuk
menunjukan kesiapan perangkat untuk mengirimkan data. Control
logic berkaitan dengan perangkat yang mengontrol operasi perangkat dalam
memberikan respons yang berasal dari modul I/O. Transducer mengubah data
dari energi listrik menjadi energi lain selama berlangsungnya output dan dari
bentuk energi tertentu menjadi energi listrik selama berlangsungnya input.
Umumnya, suatu buffer dikaitkan dengan transducer untuk menampung sementara
data yang ditransfer di antara modul I/O dan dunia luar. Ukuran buffer yang
umum adalah 8 hingga 16 bit. Prinsip kerja yang dilakukan perangkat input
adalah merubah perintah yang dapat dipahami oleh manusia kepada bentuk yang
dipahami oleh komputer (machine readable form), ini berarti mengubahkan
perintah dalam bentuk yang dipahami oleh manusia kepada data yang dimengerti
oleh komputer yaitu dengan kode-kode binary (binary encoded information).
Perangkat input dapat digolongkan menjadi dua golongan, yaitu perangkat input
langsung dan perangkat input tidak langsung. Perangkat input langsung yaitu
input yang digunakan langsung diproses di CPU, tanpa melalui media lain.
Sedangkan perangkat input tidak langsung adalah input yang dimasukkan tidak
langsung dip roses di CPU.
c. Koneksi
Perangkat
eksternal dapat dipasang melalui saluran, port, atau colokan tertentu. Pada
komputer PC, saluran ini biasanya adalah saluran serial, saluran paralel,
saluran USB, dan saluran PCMCIA. Dalam beberapa aplikasi, misalnya untuk
menggabungkan dengan telepon seluler, dapat juga digunakan saluran inframerah
(IrDA). Tujuan Communication Synchronization adalah agar data yang
dikirimkan dapat ditafsirkan (dimengerti) oleh penerima dengan tepat dan
benar.
4. MODUL-MODUL
I/O
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 tersebut dengan memori utama ataupun dengan register-register CPU.
Fungsi Modul I/O:
a) Control
& Timing
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.
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 penanganan I/O sbb :
- Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
- Modul I/O memberi jawaban atas permintaan CPU.
- Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O.
- Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
- 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.
b) Komunikasi CPU
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.
- Komunikasi Perangkat (device communication)
- Meliputi perintah, informasi status dan data.
c) Data 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.
d) Deteksi Error
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.
5. 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. 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.
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.
Dalam teknik I/O terprogram, terdapat dua macam
inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu:
memory-mapped I/O dan isolated I/O. Dalam memory-mapped I/O, terdapat ruang
tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register
status dan register data modul I/O sebagai lokasi memori dan menggunakan
instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O.
Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran
tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam
pemrograman, namun memakan banyak ruang memori 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 saluran pembacaan dan penulisan memori
ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya
instruksi I/O.
6. DIRECT
MEMORY ACCESS(DMA)
Suatu
alat pengendali khusus disediakan untuk memungkinkan transfes blok data
langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus
menerus dari prosesor.
Transfer
DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka
perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai
kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh
prosesor pada saat mengakses memori utama (yang sering disebut :RAM). Untuk
setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua
sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah
blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang
berurutan dan mencatat jumlah transfer.
7. SALURAN
I/O DAN PROSESOR
Sebagai perantara antara CPU-main
memory dengan unit pengontrol penyimpan. CPU berkomunikasi dengan saluran
melalui beberapa perintah yang sederhana. Saluran biasanya berkomunikasi dengan
CPU melalui cara interupsi. Interupsi akan terjadi, jika keadaan error
terdeteksi, misalnya instruksi CPU yang salah atau jika aktifitas I/O telah
diakhiri.
Jika interupsi terjadi, kontrol akan bercabang melalui rutin pengendali interupsi (interrupt-handler routine), dimana kontrol akan menentukan penyebab dari interupsi, melakukan kegiatan yang tepat, kemudian mengembalikan kontrol pada pemanggil (caller).
Jika interupsi terjadi, kontrol akan bercabang melalui rutin pengendali interupsi (interrupt-handler routine), dimana kontrol akan menentukan penyebab dari interupsi, melakukan kegiatan yang tepat, kemudian mengembalikan kontrol pada pemanggil (caller).
