Soal dan jawaban - part 2:
1. Jelaskan klasifikasi perangkat
I/O berdasarkan arah transfer data dan karakteristiknya. Berikan masing-masing
2 contoh.
Jawaban:
Berdasarkan arah transfer data, perangkat I/O dibagi menjadi 3:
1.
Input Device: Hanya mengirim data
ke komputer. Contoh: keyboard, mouse, scanner, microphone.
2.
Output Device: Hanya menerima
data dari komputer. Contoh: monitor, printer, speaker, projector.
3.
I/O Device / Storage Device: Bisa
mengirim dan menerima data. Contoh: HDD, SSD, flashdisk, touchscreen.
Berdasarkan
karakteristiknya:
1.
Block Device: Transfer data dalam
blok berukuran tetap, bisa diakses acak. Contoh: HDD, SSD, DVD-ROM.
2.
Character Device: Transfer data
secara stream karakter, akses sekuensial. Contoh: keyboard, mouse, serial port,
printer.
Klasifikasi ini penting karena OS menangani keduanya dengan
driver dan teknik buffering yang berbeda.
2. Jelaskan perbedaan arsitektur
interkoneksi I/O: Bus, Point-to-Point, dan Switched. Berikan contoh
teknologinya.
Jawaban:
|
Arsitektur |
Cara Kerja |
Kelebihan |
Kekurangan |
Contoh |
|
Bus |
Semua perangkat berbagi jalur
komunikasi yang sama |
Sederhana, biaya murah |
Bandwidth dibagi, rentan
bottleneck |
PCI, ISA, IDE |
|
Point-to-Point |
Koneksi langsung 1-ke-1 antara 2
titik |
Bandwidth dedicated, latency
rendah |
Butuh banyak jalur untuk banyak
device |
SATA, PCIe lane |
|
Switched |
Menggunakan switch untuk routing
data ke tujuan |
Skalabel, paralel, bandwidth
tinggi |
Kompleks, harga mahal |
PCIe, USB4, Thunderbolt |
PCIe modern adalah gabungan Point-to-Point + Switched: tiap
device dapat lane dedicated yang terhubung ke switch/Root Complex.
3. Apa fungsi I/O Controller dan
DMA Controller? Jelaskan alur DMA dan keunggulannya dibanding Programmed I/O.
Jawaban:
I/O Controller: Chip yang menjembatani CPU dengan perangkat I/O. Tugasnya
menerjemahkan perintah CPU, buffer data, deteksi error, dan mengontrol timing.
Contoh: USB Controller, SATA Controller.
DMA Controller: Chip khusus yang mengambil alih transfer data antara
memori dan I/O tanpa melibatkan CPU secara terus-menerus.
Alur DMA:
1.
CPU program DMA Controller:
alamat memori, alamat I/O, jumlah byte, arah transfer.
2.
CPU lanjut kerja lain.
3.
DMA minta bus ke CPU, lalu
transfer data langsung memori ↔ I/O.
4.
Setelah selesai, DMA kirim
interrupt ke CPU.
Keunggulan vs Programmed I/O: Pada Programmed I/O, CPU harus cek
status dan pindah tiap byte/word → boros cycle CPU. DMA membebaskan CPU,
sehingga throughput tinggi dan CPU bisa multitasking.
4.
Bandingkan 3 teknik manajemen I/O: Programmed I/O, Interrupt-driven I/O, dan
DMA.
Jawaban:
|
Aspek |
Programmed I/O |
Interrupt-driven I/O |
DMA |
|
Penggunaan CPU |
Sangat tinggi, CPU polling terus |
Sedang, CPU kerja saat ada
interrupt |
Rendah, CPU bebas saat transfer |
|
Kompleksitas HW |
Paling sederhana |
Butuh interrupt controller |
Butuh DMA controller |
|
Kecepatan |
Paling lambat |
Sedang |
Paling cepat untuk data besar |
|
Cocok untuk |
Device lambat, data kecil |
Device sedang, tidak predictable |
Device cepat, transfer blok besar |
Contoh: Programmed I/O untuk cek status sensor. Interrupt-driven
untuk keyboard. DMA untuk transfer dari SSD ke RAM.
5.
Jelaskan perbedaan Buffering dan Spooling dalam manajemen I/O.
Jawaban:
Buffering: Menyimpan data sementara di memori/RAM untuk mengatasi perbedaan
kecepatan antara 2 perangkat. Contoh: saat nonton YouTube, video di-buffer dulu
agar tidak patah-patah jika internet lambat. Ada 3 jenis: single, double,
circular buffer.
Spooling: Simultaneous Peripheral Operations On-Line.
Menyimpan job I/O ke disk sebagai antrian, agar device lambat tidak menahan
CPU. Device dilayani satu per satu dari spool.
Perbedaan utama:
1.
Buffering di RAM, spooling di
disk.
2.
Buffering untuk perbedaan
kecepatan sesaat, spooling untuk mengelola antrian job dari banyak proses.
3.
Contoh spooling: print queue.
Banyak dokumen dikirim ke printer, disimpan di disk dulu, lalu dicetak
bergiliran.
6. Jelaskan algoritma penjadwalan
disk FCFS, SSTF, dan SCAN. Mana yang terbaik untuk kasus antrian: 98, 183,
37, 122, 14, 124, 65, 67 head awal 53?
Jawaban:
1.
FCFS: Layani sesuai urutan
datang. Total seek = track.
2.
SSTF: Pilih request terdekat dari
head. Urutan: 53→65→67→37→14→98→122→124→183. Total = 12+2+30+23+84+24+2+59 =
236 track.
3.
SCAN/Elevator: Head bergerak satu
arah ke ujung, layani semua request. Misal arah naik:
53→65→67→98→122→124→183→turun ke 37→14. Total = 14+2+31+24+2+59+146+23 = 301
track.
Terbaik: SSTF paling kecil seek
time = 236. Tapi SSTF bisa menyebabkan starvation untuk
request yang jauh. SCAN lebih adil untuk beban tinggi.
7.
Apa itu Caching dan Prefetching pada I/O? Bagaimana cara kerjanya di SSD
modern?
Jawaban:
Caching: Menyimpan data yang sering diakses di media lebih cepat. Saat ada
request I/O, sistem cek cache dulu. Jika hit, ambil dari cache
tanpa akses disk. Contoh: OS cache file di RAM, SSD punya DRAM cache.
Prefetching: Memprediksi data
yang akan diminta, lalu load sebelum diminta. Mengandalkan spatial
locality - kalau akses blok 10, kemungkinan blok 11-15 juga akan
dipakai.
Di SSD modern:
1.
DRAM Cache: menyimpan mapping
table FTL + data hot.
2.
SLC Caching: sebagian NAND
TLC/QLC disimulasikan sebagai SLC untuk write cepat, lalu dipindah saat idle.
3.
Read-ahead prefetching:
controller ambil page NAND tetangga saat read, karena latency read page sama
untuk 16KB.
Keduanya mengurangi I/O
bottleneck dan meningkatkan IOPS.
8. Jelaskan evolusi antarmuka
storage: PATA → SATA → NVMe. Apa perbedaan fundamental NVMe?
Jawaban:
1.
PATA/IDE: Paralel, 133 MB/s,
kabel lebar 40-pin, sharing bus, max 2 device/kabel. Pakai protokol ATA lama.
2.
SATA: Serial, SATA III 6 Gbps ≈
600 MB/s. Point-to-point, kabel tipis, AHCI protocol. Tapi AHCI didesain untuk
HDD: 1 queue, 32 command.
3.
NVMe: Pakai bus PCIe, bukan SATA.
Protokol dioptimalkan untuk NAND flash: 64K queue, 64K command per queue.
Latency < 10μs vs SATA ∼100μs.
Perbedaan fundamental NVMe:
1.
Jalur: Langsung ke PCIe lane CPU,
tidak lewat SATA controller yang bottleneck.
2.
Paralelisme: Mendukung banyak
queue untuk multicore CPU.
3.
Command set: Disederhanakan,
buang perintah legacy HDD seperti seek.
Hasil: NVMe Gen4 x4 = 8 GB/s, Gen5 = 16 GB/s.
9. Jelaskan teknologi I/O modern:
USB4, Thunderbolt 4, dan PCIe 5.0. Apa konsep "tunneling protocol"?
Jawaban:
|
Teknologi |
Bandwidth |
Fitur Utama |
|
USB4 |
40 Gbps |
Pakai protokol Thunderbolt 3,
USB-C, dukung tunneling DisplayPort + PCIe + USB |
|
Thunderbolt 4 |
40 Gbps |
Syarat lebih ketat: min 32Gbps
PCIe, dual 4K, wajib charging 100W, daisy chain 6 device |
|
PCIe 5.0 |
32 GT/s per lane, x16 = 64 GB/s |
Untuk GPU, NVMe Gen5, CXL.
Encoding 128b/130b lebih efisien |
Tunneling Protocol: USB4/Thunderbolt bisa "membungkus"
beberapa jenis data sekaligus dalam 1 kabel. Contoh: 1 kabel USB4 bisa bawa
sinyal DisplayPort untuk monitor, PCIe untuk eGPU, dan USB 3.2 untuk data,
semua jalan bareng. Controller di ujung memisahkan lagi. Ini memungkinkan
docking 1 kabel.
10. Bagaimana perkembangan
teknologi I/O mendukung kebutuhan komputasi modern seperti AI, 8K video, dan
cloud?
Jawaban:
1.
Bandwidth ekstrem: PCIe 5.0 64
GB/s + CXL memungkinkan GPU dan akselerator AI akses memori terdistribusi tanpa
bottleneck. NVMe Gen5 14 GB/s bikin load dataset AI cepat.
2.
Latency rendah: NVMe, RDMA, dan
NVMe-oF membuat storage terasa seperti RAM. Penting untuk database cloud dan
inference AI real-time.
3.
Unified interface:
USB4/Thunderbolt jadi 1 port untuk data+display+power. Laptop tipis tetap bisa
pakai eGPU 8K atau storage 40Gbps.
4.
Smart I/O: DPU/SmartNIC offload
tugas jaringan & storage dari CPU. Komputasi modern butuh CPU fokus ke
compute, bukan ngurusin I/O.
5.
Wireless I/O: Wi-Fi 7 46 Gbps dan
UWB mulai gantikan kabel untuk VR/AR, butuh latency <5ms.
Intinya: I/O modern bergeser dari "sekadar transfer"
ke "fabric komputasi" yang cepat, paralel, dan cerdas.
1. Jelaskan apa yang dimaksud
dengan Programmed I/O dan sebutkan 2 kelemahan utamanya.
Jawaban:
Programmed I/O atau PIO adalah teknik manajemen I/O dimana CPU secara aktif
mengontrol semua proses transfer data antara memori dan perangkat I/O. CPU akan
terus-menerus melakukan polling atau memeriksa status register
perangkat I/O untuk mengetahui apakah perangkat siap mengirim/menerima data.
Kelemahan utama:
1.
CPU-bound: CPU membuang banyak
waktu hanya untuk menunggu perangkat I/O siap, sehingga tidak bisa mengerjakan
proses lain. Efisiensi CPU sangat rendah.
2.
Lambat: Kecepatan transfer
dibatasi oleh kecepatan CPU dalam mengeksekusi instruksi, tidak cocok untuk
perangkat berkecepatan tinggi.
2. Bagaimana cara kerja
Interrupt-driven I/O dan mengapa lebih efisien dibanding Programmed I/O?
Jawaban:
Pada Interrupt-driven I/O, CPU tidak melakukan polling. Setelah
memberi perintah ke perangkat I/O, CPU bebas mengerjakan proses lain. Ketika
perangkat I/O sudah siap atau selesai transfer data, perangkat akan mengirim
sinyal interrupt ke CPU. CPU kemudian menghentikan tugasnya
sementara, menjalankan Interrupt Service Routine untuk
menangani I/O, lalu kembali ke tugas semula.
Lebih efisien karena: CPU tidak membuang waktu menunggu, sehingga utilization CPU
meningkat drastis. Cocok untuk perangkat I/O yang lambat seperti keyboard dan
mouse.
3. Jelaskan konsep Direct Memory
Access (DMA) dan peran DMA Controller.
Jawaban:
DMA adalah teknik manajemen I/O yang memungkinkan perangkat I/O mentransfer
data langsung ke/dari memori utama tanpa melibatkan CPU secara terus-menerus.
Peran DMA Controller (DMAC):
1.
CPU memberi tahu DMAC: alamat
memori tujuan, jumlah data, dan perangkat I/O yang terlibat.
2.
DMAC mengambil alih bus sistem
dan melakukan transfer data blok besar langsung.
3.
Setelah selesai, DMAC mengirim
interrupt ke CPU untuk memberi tahu transfer sudah beres.
Hasilnya CPU hanya terlibat di awal dan akhir, sehingga sangat efisien untuk
transfer data besar seperti dari SSD atau kartu jaringan.
4. Apa perbedaan antara I/O
Buffering dan Spooling? Berikan contoh kasus penggunaannya.
Jawaban:
|
Aspek |
Buffering |
Spooling |
|
Tujuan |
Mengatasi
perbedaan kecepatan antara CPU dan perangkat I/O saat transfer berlangsung |
Mengatasi
perangkat yang tidak bisa diakses bersamaan oleh banyak proses |
|
Cara
kerja |
Data
ditampung sementara di memori/buffer saat proses I/O |
Data
job dikirim ke disk/antrian, lalu diproses perangkat secara berurutan |
|
Contoh |
Buffer
keyboard menampung ketikan sebelum diproses CPU |
Print
spooler: semua dokumen masuk antrian, printer mencetak satu per satu |
Buffering untuk sinkronisasi kecepatan, spooling untuk mengelola
antrian pada perangkat dedicated seperti printer.
5. Jelaskan apa itu Memory-Mapped
I/O dan Port-Mapped I/O. Apa keuntungan MMIO?
Jawaban:
Port-Mapped I/O: CPU menggunakan instruksi khusus seperti IN dan OUT untuk
mengakses register perangkat I/O. Ruang alamat I/O terpisah dari ruang alamat
memori.
Memory-Mapped I/O (MMIO): Register perangkat I/O dipetakan ke ruang alamat
memori utama yang sama. CPU mengakses perangkat I/O dengan instruksi LOAD/STORE biasa.
Keuntungan MMIO:
1.
Tidak perlu instruksi I/O khusus,
semua instruksi memori bisa dipakai.
2.
Lebih fleksibel karena bisa pakai
semua mode pengalamatan CPU.
3.
Lebih cepat pada arsitektur
modern. Hampir semua sistem modern pakai MMIO.
6. Jelaskan evolusi antarmuka
storage dari PATA/IDE ke SATA lalu ke NVMe. Apa lompatan terbesar NVMe?
Jawaban:
1.
PATA/IDE: Paralel, kabel pita
lebar 40/80 pin, kecepatan maks 133 MB/s. Sudah ditinggalkan karena rawan
interferensi dan kabel besar.
2.
SATA: Serial, kabel kecil,
kecepatan SATA III 6 Gbps ≈ 600 MB/s. Protokolnya masih didesain untuk HDD
mekanik dengan AHCI.
3.
NVMe: Menggunakan bus PCIe
langsung ke CPU, bukan melalui controller SATA. Protokolnya didesain khusus
untuk SSD berbasis flash.
Lompatan terbesar NVMe:
4.
Latency sangat rendah: < 3
mikrodetik vs SATA 30-100 mikrodetik karena bypass controller SATA.
5.
Paralelisme tinggi: Mendukung 64K
antrian dengan 64K perintah per antrian, vs SATA AHCI hanya 1 antrian 32
perintah.
6.
Bandwidth: PCIe 5.0 x4 bisa
tembus 14 GB/s, jauh di atas SATA III 0.6 GB/s.
7. Bandingkan USB 2.0, USB 3.2
Gen 2, dan USB4 dari sisi kecepatan dan fitur utama.
Jawaban:
|
Teknologi |
Kecepatan Maks |
Fitur Utama |
|
USB 2.0 |
480 Mbps |
Hanya half-duplex, daya maks 2.5W |
|
USB 3.2 Gen 2 |
10 Gbps |
Full-duplex, USB-C, daya hingga
100W dengan PD |
|
USB4 |
40 Gbps |
Berbasis Thunderbolt 3, tunneling
DisplayPort & PCIe, dynamic bandwidth sharing |
USB4 adalah lompatan besar karena tidak hanya untuk data, tapi
bisa "membawa" protokol lain dalam satu kabel. Satu port bisa untuk
monitor 4K, SSD eksternal, dan charging sekaligus.
8. Apa itu Thunderbolt 4 dan apa
bedanya dengan USB4?
Jawaban:
Thunderbolt 4 adalah spesifikasi superset dari USB4 yang dikembangkan Intel.
Semua port Thunderbolt 4 wajib kompatibel dengan USB4.
Perbedaan utama/Tambahan di Thunderbolt 4:
1.
Minimum bandwidth PCIe: Wajib 32
Gbps untuk data, vs USB4 minimal hanya 20 Gbps.
2.
Dukungan display: Wajib bisa
drive 2 monitor 4K atau 1 monitor 8K.
3.
Daisy chain: Wajib mendukung
hingga 6 perangkat.
4.
Keamanan: Wajib Intel VT-d untuk
DMA protection.
Jadi Thunderbolt 4 = USB4 + jaminan fitur minimum yang lebih ketat.
9. Jelaskan konsep PCIe dan
mengapa PCIe 5.0 penting untuk perangkat I/O modern.
Jawaban:
PCIe atau Peripheral Component Interconnect Express adalah
antarmuka point-to-point serial berkecepatan tinggi yang
menggantikan bus PCI paralel. Menggunakan lane, tiap lane terdiri
dari 2 pasang kabel untuk kirim dan terima.
Pentingnya PCIe 5.0:
1.
Bandwidth: 32 GT/s per lane, atau
4 GB/s per lane. Konfigurasi x16 = 64 GB/s dua arah.
2.
Mendukung I/O haus bandwidth: GPU
modern, SSD NVMe Gen5, kartu jaringan 400GbE, dan akselerator AI butuh
bandwidth besar.
3.
Latensi rendah: Jalur langsung ke
CPU tanpa banyak chip perantara.
Tanpa PCIe 5.0, SSD 14 GB/s dan GPU AI tidak akan maksimal.
10. Bagaimana perkembangan
teknologi I/O wireless seperti Wi-Fi 7 dan Bluetooth 5.4 mempengaruhi perangkat
I/O?
Jawaban:
Wi-Fi 7 (802.11be):
1.
Kecepatan: Hingga 46 Gbps
teoritis, vs Wi-Fi 6 9.6 Gbps. Mendekati kecepatan kabel.
2.
MLO - Multi-Link Operation:
Perangkat bisa pakai band 2.4, 5, dan 6 GHz sekaligus, latency turun drastis.
3.
Dampak: Streaming data dari SSD
NAS, VR wireless, dan docking wireless jadi realistis.
Bluetooth 5.4:
1.
PAwR - Periodic Advertising with
Responses: Efisiensi daya naik, cocok untuk ribuan sensor I/O IoT.
2.
Encrypted Advertising Data:
Keamanan lebih baik untuk perangkat I/O seperti kunci digital.
3.
Dampak: Keyboard, mouse, audio,
dan sensor I/O jadi lebih responsif, aman, dan hemat baterai.
===================================================