Tujuan Pembelajaran
1
Memahami arsitektur sistem I/O
Komponen dan mekanisme transfer data antara CPU dan perangkat I/O
2
Menguasai konsep interupsi
Jenis-jenis interupsi dan mekanisme handling-nya
3
Implementasi DMA
Direct Memory Access untuk transfer data efisien
4
Simulasi sistem I/O
Praktikum dengan simulator interupsi dan I/O handling
Teori: Sistem I/O
Arsitektur Sistem I/O
Sistem I/O menghubungkan CPU dengan perangkat eksternal melalui mekanisme yang terkoordinasi.
Diagram Sistem I/O
I/O Controller
Device Interface
Bus System: Data Bus, Address Bus, Control Bus
Jenis-jenis Interupsi
🔄
Hardware Interrupt
Dibangkitkan oleh perangkat keras eksternal (keyboard, mouse, disk)
⚡
Software Interrupt
Dibangkitkan oleh program (system calls, exceptions)
🚨
Exception
Kesalahan proses (division by zero, page fault)
⏰
Timer Interrupt
Dibangkitkan oleh timer untuk multitasking
Interrupt Handling Process
- Interrupt Occurs - Perangkat mengirim sinyal interupsi
- Finish Current Instruction - CPU menyelesaikan instruksi saat ini
- Save Context - Menyimpan state program yang sedang berjalan
- Identify Interrupt - Mengidentifikasi sumber interupsi
- Execute ISR - Menjalankan Interrupt Service Routine
- Restore Context - Mengembalikan state program sebelumnya
- Resume Execution - Melanjutkan eksekusi program
Simulator Interupsi
CPU & Interrupt Simulator
Interrupt Queue:
No interrupts pending
Current Operation: Ready to simulate...
Interrupt Vector Table
0x00: Divide Error Handler
0x04: Keyboard Interrupt
0x08: Timer Interrupt
0x0C: Disk I/O Handler
0x10: Network Handler
Metode Transfer I/O
Perbandingan berbagai teknik transfer data antara CPU dan perangkat I/O:
CPU terkontrol penuh terhadap transfer data. CPU menunggu sampai I/O operation selesai.
- Simple implementation
- High CPU utilization
- Suitable for slow devices
CPU bebas bekerja selama I/O operation, kemudian diinterupsi ketika selesai.
- Better CPU utilization
- Overhead interrupt handling
- Good for medium-speed devices
Direct Memory Access - transfer data langsung antara device dan memory tanpa CPU.
- Highest efficiency
- Complex implementation
- Ideal for high-speed devices
Direct Memory Access (DMA)
Mekanisme transfer data langsung antara perangkat I/O dan memory tanpa melibatkan CPU.
DMA Operation Steps:
- Request: Device meminta DMA transfer
- Acknowledge: DMA controller mengakui request
- Address Setup: DMA controller setup memory address
- Transfer: Data ditransfer langsung ke memory
- Completion: DMA menginterupsi CPU ketika selesai
Keuntungan DMA:
- Mengurangi beban CPU
- Transfer data lebih cepat
- Efisiensi bandwidth memory
- Mendukung multiple concurrent transfers
Latihan Praktikum
Exercise 1: Interrupt Handling
Gunakan simulator untuk:
- Generate 3 interrupts dengan priority berbeda
- Perhatikan urutan processing berdasarkan priority
- Analisis perubahan Program Counter dan Status Register
Exercise 2: I/O Method Analysis
Bandingkan tiga metode I/O untuk scenario berikut:
- Transfer file 1MB dari disk ke memory
- Keyboard input setiap 100ms
- Network packet reception
Exercise 3: DMA Configuration
Rancang DMA setup untuk:
- Video card memory transfer
- Network interface card
- Audio device buffer
Exercise 4: Interrupt Priority
Analisis skenario interrupt conflict:
- Timer interrupt vs Disk I/O interrupt
- Network packet vs Keyboard input
- Error handling vs Normal operation