io - WordPress.com

Download Report

Transcript io - WordPress.com

I/O Device and I/O
Module
I/O devices menjadikan komputer
berguna bagi manusia
 Perangkat input mungkin lambat dan
harus memiliki cara untuk
memberitahu komputer apabila siap
memberikan data.
 Perangkat output harus memiliki cara
untuk menolak data berikutnya
apabila belum siap.
Kategori
 User interface devices.
 Perangkat input mendeteksi adanya perubahan
pada lingkungan
 Perangkat output memberi perubahan pada
lingkungan.
 Mass storage devices.
 Menyimpan data dalam kuantitas yang besar
(disks).
 Gateways and networks.
 Komputer berkomunikasi satu sama lain.
Perbedaan seputar kelas-kelas I/O
 Complexity of control: Sebuah printer membutuhkan
antar muka kontrol yang relatif sederhana. Sebuah disk
jauh lebih kompleks.
 Unit of transfer: Data mungkin dikirimkan sebagai
suatu aliran byte atau karakter atau dikirimkan dalam
blok yang berukuran besar.
 Data representation: Perangkat yang berbeda
mungkin menggunakan skema pengkodean data (dataencoding) yang berbeda, termasuk di dalamnya
perbedaan dalam kode karakter dan parity yang
digunakan.
 Error conditions: Sifat dari error, bagaimana error
tersebut dilaporkan, konsekuensi dari error, dan respons
yang diberikan berbeda dari satu perangkat dengan
perangkat yang lain.
I/O Module
 Adalah interface atau central switch
untuk mengendalikan satu atau lebih
peripheral atau perangkat input
output.
 Konektor mekanis berisi fungsi logik
untuk komunikasi antara bus dan
peripheral.
Mengapa modul I/O diperlukan ?
 Periferal yang beragam dengan
beragam metode operasi.
 Speed periferal yang lebih lambat
dibanding CPU.
 Format data dan panjang word
periferal pun beragam.
Blok diagram I/O Module
Arus Data I/O
Device
Behavior
Partner
Data rate
(kbytes/sec)
Keyboard
Input
human
0,01
Mouse
Input
human
0,02
Voice input
Input
human
0,02
Scanner
Input
human
200
Voice output
Output
human
0,6
Laser printer
Output
human
100
Graphic display
Output
human
30.000
CPU to frame buffer
Output
human
200
Network-termainal
Input or output
machine
0,05
Network-LAN
Input or output
machine
200
Optical disk
Storage
machine
500
Magnetic tape
Storage
machine
2.000
Magnetic disk
Storage
machine
2.000
Fungsi modul I/O
 Pengendali & pengaturan waktu
(control & timing).
 Komunikasi dengan CPU.
 Komunikasi dengan perangkat.
 Penyimpanan data sementara (data
buffering).
 Pendeteksi kesalahan.
Control & timing input data
 CPU meminta modul memeriksa
status perangkat.
 Bila perangkat siap mengirim, CPU
mengirim perintah pemindahan.
 Modul menerima data dari perangkat.
 Data dipindahkan dari modul ke CPU.
Komunikasi dengan CPU
 Command decoding, signal perintah
dari CPU ke control bus.
 Pertukaran data antara CPU dengan
modul melalui data bus.
 Status reporting, CPU perlu status
modul [busy atau ready].
 Address recognition, modul I/O perlu
tahu address unik setiap periferal.
Komunikasi dengan perangkat
 Perintah dari CPU, status, dan data.
Teknik Input/Output




Programmed (Teknik I/O Terprogram)
Interrupt-driven
Direct memory access (DMA)
IOP/C
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’.
Teknik I/O Terprogram
 Perintah




Control
Status condition test
Read [data dari periferal]
Write [data transmisi ke periferal]
Teknik I/O Terprogram
 Pengadresan perangkat IO
 (CPU viewpoint). Data ditransfer seperti
akses memori
 Tiap perangkat mendapat unique
identifier.
 Perintah CPU berisi identifier (adres).
Teknik I/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.
Teknik I/O - interrupt-driven
 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).
Teknik I/O - interrupt-driven
 Masalah Desain:
 Bagaimana mengidentifikasi modul
mengirim interupsi ?
 Bagaimana menangani multiple
interrupts ?
Teknik I/O - interrupt-driven
 Identifikasi interupsi modul dengan cara:
 Satu saluran/modul.
 Software poll, CPU memeriksa modul bergiliran.
 Daisy Chain / Hardware poll
 Interrupt Acknowledge dikirimkan pada chain.
 Module yang melakukan interupsi mengirimkan
vector pada bus.
 CPU menggunakan vector to untuk
mengidentifikasi handler routine.
Teknik I/O - interrupt-driven
 Contoh PC Bus
 80x86 memiliki satu interrupt line, sistem
berbasis 8086 memakai 8259A interrupt
controller yang memiliki 8 interrupt lines.
Teknik I/O - interrupt-driven
 Runtutan events
 8259A menerima interupsi.
 8259A memeriksa prioritas.
 8259A memberi sinyal 8086
(membangkitkan INTR line).
 CPU mengirimkan pesan Acknowledges.
 8259A menyimpan correct vector pada
data bus.
 CPU memproses interupsi.
Teknik I/O Terprogram
Teknik I/O Terprogram
Teknik I/O - interrupt-driven
Teknik I/O - DMA
 Interrupt-driven & programmed I/O
membutuhkan intervensi aktif CPU,
transfer rate terbatas dan CPU
terikat.
Teknik I/O - DMA
 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.
Teknik I/O - DMA
 Cara Kerja standar
 CPU memerintahkan DMA controller untuk
 Read/Write.
 Memeriksa adres perangkat.
 Mencari adres dan mengambil data untuk
ditransfer.
 CPU mengerjakan proses-proses lain.
 DMA controller melakukan transfer data.
 DMA controller mengirimkan interupsi jika
selesai.
Teknik I/O - DMA
 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).
Teknik I/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.
Teknik I/O – IOP/C
 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.
Terima kasih ^^






Bingung kah ??
Setres kah ??
Aku jg gitu kali. ..
Nie ajha buat 41 hari 40 malamb. ..
Hheehheehhee
fennddie