Modul input/output (I/O) diperlukan untuk menghubungkan berbagai perangkat keras yang berbeda kecepatan dan format datanya dengan CPU dan memori. Fungsi utama modul I/O adalah menjembatani perangkat keras eksternal dengan sumber daya internal sistem komputer. Modul I/O berperan sebagai pengontrol aliran data dan komunikasi antara CPU dengan perangkat keras serta mendeteksi kesalahan yang terjadi.
3. Mengapa perlu modul Input/Output ?
- Jenis peripheral* (device) sangat bermacam-macam:
Ukuran data yang dapat ditransfer dalam satu saat
berbeda
Kecepatan berbeda
Format data berbeda
Dll
- Kecepatan semua peripheral jauh lebih lambat
dibanding CPU dan RAM
4. Apa fungsi utama modul I/O ?
1. Untuk menjembatani peripheral dengan CPU dan
memori
2. Untuk menjembatani CPU dan memori dengan satu
atau beberapa peripheral
6. Device Eksternal(Peripheral)
Jenis-jenis device eksternal:
Human readable sarana komunikasi manusia
dengan mesin (komputer)
Screen, printer, keyboard
Machine readable sarana komunikasi antara
komputer dengan device lain
- Harddisk, sensor, aktuator, dll
Communication sarana komunikasi komputer
dengan komputer lain
- Modem
- Network Interface Card (NIC)
8. Blok Diagram device eksternal
Signal kontrol:
Menentukan apa yang harus dilakukan oleh device
Misal: INPUT atau READ untuk menerima/membaca data dan
OUTPUT atau WRITE untuk mengirimkan 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, dll menjadi data digital dan sebaliknya
11. Fungsi modul I/O
(1) Control & Timing:
Modul I/O berfungsi sebagai pengatur aliran data
antara resource internal (CPU, memori) dengan
device eksternal
Contoh prosedur transfer data dari device
CPU:
CPU memeriksa status device melalui modul I/O
Device memberikan statusnya melalui modul I/O
Jika ready CPU minta agar device mengirimkan
data
Modul I/O menerima data dari device
Modul I/O mengirimkan data ke CPU
12. - CPU Communication:
Modul I/O berfungsi sebagai media komunikasi dari
CPU menuju device eksternal
Apa yang dilakukan modul I/O ?
- Men-decode perintah/command dari CPU
- Contoh perintah untuk harddisk: READ SECTOR,
WRITE SECTOR, SEEK track number, dan SCAN
record ID
- Menjadi media untuk pertukaran data
- Melaporkan status device (status reporting)
Misal: BUSY atau READY
- Memeriksa/men-decode alamat yang dikirimkan oleh
CPU (address recognition)
13. - Device Communication:
Modul I/O berfungsi sebagai media komunikasi dari
device eksternal menuju CPU
Apa yang dilakukan modul I/O ?
- Meneruskan perintah/command dari CPU ke device
- Meneruskan status dari device ke CPU
- Meneruskan data dari device ke CPU
14. Fungsi I/O
Data Buffering
- Modul I/O berfungsi sebagai penampung data sementara baik
dari CPU/memori maupun dari peripheral
- Mengapa data perlu di-buffer ?
Kecepatan device sangat beragam
Kecepatan device <<< kecepatan CPU
- Contoh:
Data dari CPU:
+ Langsung ditaruh di buffer
+ Diberikan ke device sesuai dengan kecepatan (daya
serap) device
Data dari device:
+ Dikumpulkan dulu di buffer
+ Setelah periode tertentu baru dikirimkan ke CPU lebih
efektif
15. Error Detection
- Modul I/O berfungsi sebagai pendeteksi kesalahan
yang ditimbulkan oleh device
- Contoh kesalahan:
Paper jam
Bad sector
Kertas
habis Terjadi
perubahan Dll bit-bit data
Contoh metode deteksi:
Bit parity
16. Apakah Interrupt itu ?
Adalah mekanisme untuk menghentikan sementara waktu
urutan eksekusi program yang normal (sequence) jika:
- kondisi tertentu telah terjadi
- ada program lain yang lebih mendesak untuk dieksekusi
Apa penyebab interrupt ?
Program
Misal: overflow, division by zero, akses ke illegal memori, dll
Timer
- Dihasilkan oleh timer prosesor internal
- Digunakan pada pre-emptive multi-tasking
I/O
- Dihasilkan oleh I/O controller (eksekusi telah selesai atau ada
kesalahan)
Hardware failure
Misal: memory parity error, power failure, dll
19. Teknik Input Output
Programmed I/O
I/O terjadi pada saat program yang di dalamnya terdapat
perintah I/O dieksekusi
Eksekusi I/O terus menerus melibatkan prosesor
Interrupt driven I/O
I/O terjadi pada saat perintah I/O dieksekusi
Sesudah perintah I/O dieksekusi CPU melanjutkan
eksekusi perintah lainnya tidak terlibat terus menerus
CPU berperan lagi jika sudah ada interrupt dari device
(modul I/O)
Direct Memory Access (DMA)
Transfer data ditangani oleh sebuah p khusus
20. Programed I/O
CPU terlibat langsung
dalam mengendalikan
I/O:
- Membaca status
- Menerima/mengirim
perintah
- Transfer data
(-) Selama menunggu
operasi I/O selesai
CPU tidak melakukan
apa-apa Waktu CPU
terbuang percuma
(-) CPU harus selalu
memeriksa status
modul I/O
(-) Performansi sistem
menurun