Ada beberapa macam teknik I/O yang digunakan, yaitu :
o Programmed (Teknik I/O Terprogram)
o Interrupt-driven
o Direct memory access (DMA)
o IOP/C
o Programmed (Teknik I/O Terprogram) Teknik
+ CPU mengontrol I/O [status, perintah R/W, transfer data].
+ CPU menunggu modul I/O aktif
+ Modul I/O beroperasi, menetapkan status serta tidak menginterupsi CPU.
+ CPU memeriksa status periodik, sambil menunggu atau ‘pergi
dan kembali nanti’.
Perintah
- Control
- Status condition test
- Read [data dari periferal]
- Write [data transmisi ke periferal]
Pengadresan perangkat IO
- (CPU viewpoint). Data ditransfer seperti akses memori
- Tiap perangkat mendapat unique identifier.
- Perintah CPU berisi identifier (adres).
o Interrupt-driven
Dikendalikan interupsi
- CPU mengirim perintah I/O ke modul, kemudian mengerjakan proses lainnya.
- Modul I/O akan menginterupsi CPU minta layanan bila perintah selesai dikerjakan.
- CPU melayani interupsi dan setelah selesai melanjutkan kembali proses
yang sedang dikerjakan sebelum diinterupsi.
CPU view-point
- Mengirimkan perintah baca/tulis dan mengerjakan proses lain.
- Memeriksa interupsi pada akhir tiap instruction cycle.
- Jika diinterupsi akan melakukan save context (registers)dan process
interrupt (Fetch data & store).
Identifikasi interupsi modul dengan cara:
- Satu saluran/modul.
- Software poll, CPU memeriksa modul bergiliran.
- Daisy Chain / Hardware poll
o Direct memory access (DMA)
- Interrupt-driven & programmed I/O membutuhkan intervensi aktif
CPU, transfer rate terbatas dan CPU terikat.
- Modul tambahan (HW) pada bus.
- DMA controller mengambil alih peran CPU.
- DMA (bus mastering) ~ teknik implementasi beberapa komponen untuk
transfer data langsung ke dan dari memori tanpa lewat CPU.
- DMA mengurangi CPU overhead karena mekanisme transfer data tidak
butuh pengawasan CPU.
- Cara Kerja standar :
+ CPU memerintahkan DMA controller untuk
o Read/Write.
o Memeriksa adres perangkat.
o Mencari adres dan mengambil data untuk ditransfer.
+ CPU mengerjakan proses-proses lain.
+ DMA controller melakukan transfer data.
+ DMA controller mengirimkan interupsi jika selesai.
- Cara lain, transfer cycle stealing
+DMA controller mengambil alih siklus bus, kirim 1 word,
dan tidak ada interupsi.
+CPU tidak mengubah konteks,dan CPU suspended sebelum
mengakses bus (misal sebelum operand / data fetch atau data write).
o IOP/C
- Evolusi fungsi I/O
+ Semula CPU langsung mengendalikan periferal.
+ Kemudian ada penambahan modul I/O terprogram, sebagai pengendali.
+ Selanjutnya penambahan modul I/O interrupt driven, sebagai pengendali.
+ Modul I/O akses langsung ke memori melalui DMA.
+ Kemampuan modul I/O ditingkatkan jadi prosesor, dan tidak
tergantung CPU. Modul I/O memiliki memori lokal.
- IO Processor
+ Adalah prosesor yang terpisah dari CPU dan dirancang untuk menangani
proses input/output
+ Sinkron dengan clock sistem dan prosesor utama. Akan menerima kontrol
awal dari prosesor utama pada saat instruksi input-output dibaca
dari memori. Pada saat I/O prosesor mengendalikan proses input output,
prosesor utama tetap pada kondisi two-state waiting loop sampai
instruksi input-output dikerjakan di mana kemudian kontrol
dikembalikan ke prosesor utama.
0 komentar:
Posting Komentar