Materi 6 Input Output

31

description

Dasar Mikrokontroller

Transcript of Materi 6 Input Output

Page 1: Materi 6 Input Output
Page 2: Materi 6 Input Output

I/O devices menjadikan Mikroprosesor / Komputer berguna bagi manusia

Perangkat input mungkin lambat dan harus memiliki cara untuk memberitahu prosesssor apabila siap memberikan data.

Perangkat output harus memiliki

cara untuk menolak data berikutnya apabila belum siap.

Page 3: Materi 6 Input Output

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. Mikroprosesor berkomunikasi satu sama lain.

Page 4: Materi 6 Input Output

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 (data-encoding) 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.

Page 5: Materi 6 Input Output

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.

Page 6: Materi 6 Input Output

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.

Page 7: Materi 6 Input Output

Blok diagram I/O ModuleBlok diagram I/O Module

Page 8: Materi 6 Input Output

Arus Data I/ODevice 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

Page 9: Materi 6 Input Output

Fungsi modul I/OPengendali & pengaturan waktu (control &

timing).Komunikasi dengan CPU.Komunikasi dengan perangkat.Penyimpanan data sementara (data

buffering).Pendeteksi kesalahan.

Page 10: Materi 6 Input Output

Control & timing input dataCPU meminta modul memeriksa status

perangkat.Bila perangkat siap mengirim, CPU mengirim

perintah pemindahan.Modul menerima data dari perangkat.Data dipindahkan dari modul ke CPU.

Page 11: Materi 6 Input Output

Komunikasi dengan CPUCommand 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.

Page 12: Materi 6 Input Output

Komunikasi dengan perangkat

Perintah dari CPU, status, dan data.

Page 13: Materi 6 Input Output

Teknik Input/Output

Programmed (Teknik I/O Terprogram)Interrupt-drivenDirect memory access (DMA)IOP/C

Page 14: Materi 6 Input Output

Teknik I/O TerprogramTeknik

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’.

Page 15: Materi 6 Input Output

Teknik I/O TerprogramPerintah

ControlStatus condition testRead [data dari periferal]Write [data transmisi ke periferal]

Page 16: Materi 6 Input Output

Teknik I/O TerprogramPengadresan perangkat IO

(CPU viewpoint). Data ditransfer seperti akses memori

Tiap perangkat mendapat unique identifier.Perintah CPU berisi identifier (adres).

Page 17: Materi 6 Input Output

Teknik I/O - interrupt-drivenDikendalikan 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.

Page 18: Materi 6 Input Output

Teknik I/O - interrupt-drivenCPU 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).

Page 19: Materi 6 Input Output

Teknik I/O - interrupt-drivenMasalah Desain:

Bagaimana mengidentifikasi modul mengirim interupsi ?

Bagaimana menangani multiple interrupts ?

Page 20: Materi 6 Input Output

Teknik I/O - interrupt-drivenIdentifikasi 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.

Page 21: Materi 6 Input Output

Teknik I/O - interrupt-drivenContoh PC Bus

80x86 memiliki satu interrupt line, sistem berbasis 8086 memakai 8259A interrupt controller yang memiliki 8 interrupt lines.

Page 22: Materi 6 Input Output

Teknik I/O - interrupt-drivenRuntutan 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.

Page 23: Materi 6 Input Output

Teknik I/O Terprogram

Page 24: Materi 6 Input Output

Teknik I/O Terprogram

Page 25: Materi 6 Input Output

Teknik I/O - interrupt-driven

Page 26: Materi 6 Input Output

Teknik I/O - DMAInterrupt-driven & programmed I/O

membutuhkan intervensi aktif CPU, transfer rate terbatas dan CPU terikat.

Page 27: Materi 6 Input Output

Teknik I/O - DMAModul 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.

Page 28: Materi 6 Input Output

Teknik I/O - DMACara 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.

Page 29: Materi 6 Input Output

Teknik I/O - DMACara 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).

Page 30: Materi 6 Input Output

Teknik I/O – IOP/CEvolusi 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.

Page 31: Materi 6 Input Output

Teknik I/O – IOP/CIO 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.