DASAR KOMPUTER Input/Output
Input/Output • Memungkinkan komputer untuk berkomunikasi dengan
perangkat lainnya. • Perangkat I/O terhubung pada sistem komputer melalui modul I/O. • Jumlah Perangkat I/O sangat banyak.
• Kecepatan transfer data perangkat I/O lebih lambat • Format data yang digunakan antara berbagai perangkat I/O
berbeda-beda
Printer & Keyboard
Modul I/O
Kategori Perangkat I/O • Human readable • berkomunikasi dengan user • Ex : video, keyboard dll • Machine Readable • berkomunikasi dengan peralatan lainnya • Ex : harddisk • Communication • berkomunikasi dengan peralatan lainnya secara remote • Ex : modem
Fungsi Modul I/O • Control dan Timing • Koordinasi aliran data perangkat internal dengan perangkat eksternal • Komunikasi dengan Processor • Berkomunikasi dengan processor. • Komunikasi dengan prosesor meliputi : • • • •
Command Decoding : Data : Status Reporting : Address Recognition :
• Komunikasi dengan perangkat • berkomunikasi dengan perangkat IO yang akan diakses • Data Buffer • Menampung data sementara. • Deteksi Error • melakukan deteksi error terhadap data yang diberikan oleh perangkat IO.
Struktur Modul I/O • Modul IO memungkinkan prosesor berkomunikasi dengan
perangkat IO secara sederhana. • Modul IO menyembunyikan detail dari timing, format dan
elektromekanik dari perangkat IO sehingga prosesor berkomunikasi dengan perangkat IO tanpa perlu memperhatikan hal-hal tersebut, tapi cukup memberikan perintah yang generik.
• Jenis modul i/o berdasarkan detail pemrosesan : • IO channel / IO prosessor : • tidak membutuhkan kontrol secara detil untuk melakukan operasi
Input/Output. • IO Controller / device controller: • membutuhkan kontrol secara detil
Struktur Modul I/O
Metode Transfer Data Modul IO • Programmed IO
• Interupt-driven IO • Direct Memory Access (DMA)
Metode Transfer pada Modul I/O
Programmed IO • Data dipertukarkan antara modul I/O dengan prosesor secara
langsung. • Selama proses transfer data, prosesor tidak melakukan aktifitas lain. • Proses transfer: • Prosesor meminta data kepada modul IO • memberikan intruksi/command ke modul IO
• Modul IO akan meminta data pada perangkat yang diminta. • Sementara modul meminta data pada perangkat IO, prosesor akan
mengecek status modul dan menunggu sampai modul IO selesai meminta data. • Prosesor membaca data jika perangkat telah siap, jika belum siap,
maka prosesor menunggu. • Prosesor menyimpan data • Prosesor akan melakukan hal yang lainnya.
Perintah kepada Modul I/O • Control : • untuk mengaktifkan peralatan dan memberikan perintah yang akan dilaksanakan. • Test : • mengecek status dari perangkat IO. • Read : • membaca data dari perangkat input dan meletakkannya pada internal buffer. • Write : • menyimpan data dari data bus ke perangkat output
Pengalamatan I/O • Banyak perangkat IO yang terhubung pada modul IO • masing-masing perangkat IO yang terhubung tersebut memiliki identifier yang unik untuk membedakan antara 1 perangkat dengan perangkat lainnya.
Metode Pengalamatan I/O • Memory mapped I/O • Devices and memory share an address space • I/O looks just like memory read/write • No special commands for I/O • Large selection of memory access commands available
• Isolated I/O • Separate address spaces • Need I/O or memory select lines • Special commands for I/O • Limited set
Interupt-Driven IO • Permasalahan Programmed IO • prosesor harus menunggu data selesai dikirim/diterima. • Metode Interupt-driven IO. • prosesor memberikan perintah untuk menerima/membaca data • prosesor akan melakukan hal lain sementara modul IO mempersiapkan data yang diminta. • Jika Modul IO siap untuk memberikan data yang diminta maka modul IO akan memberikan sinyal interupt. • Prosesor mengalihkan pekerjaannya dan segera mengambil data yang telah dipersiapkan. • Jika data yang dipersiapkan oleh modul IO telah dibaca dan diletakkan pada memory, prosesor akan melanjutkan pekerjaannya yang sempat terhenti.
Identifikasi perangkat pembangkit Interupt • Cara prosesor menentukan perangkat memberikan sinyal
interupt • Multiple interupt line : • PC • Limits number of devices • Software poll • CPU asks each module in turn • Slow • Daisy Chain (hardware poll, vectored) • Interrupt Acknowledge sent down a chain • Module responsible places vector on bus • CPU uses vector to identify handler routine • Bus Master • Module must claim the bus before it can raise interrupt • e.g. PCI & SCSI
Prioritas Dalam metode Interupt Driven • Prioritas • Jika ada 2 perangkat yang meminta interupt, mana yang diprioritaskan. • multiple line : line memiliki prioritas berbeda. • Software polling : menggunakan urutan perangkat. • Daisy chain : ditentukan berdasarkan posisi terdekat dengan bus.
Contoh - PC Bus • 80x86 memiliki 1 interrupt
• 8086 systems menggunakan 1 8259A interrupt controller • 8259A memiliki 8 interupt line
Urutan Kerja Interupt • 8259A menerima menerima interupt
• 8259A menentukan prioritas • 8259A memberikan sinyal ke 8086 (raises INTR line) • CPU mengkonfirmasi • 8259A menempatkan vector yang benar pada data bus • CPU memproses interrupt
ISA Bus Interrupt System • ISA bus menggabungkan penggunaan 2 8259A
• Terhubung via interrupt 2 • Memberikan 15 lines • 16 lines (1 untuk link) • IRQ 9 digunakan untuk me- reroute segala sesuatu yang
menggunakan IRQ 2 • Backwards compatibility
• Tergabung dalam sebuah chip set
82C59A Interrupt Controller
Intel 82C55A Programmable Peripheral Interface
Keyboard/Display Interfaces to 82C55A
Direct Memory Access • Programmed IO/Interupt-Driven IO butuh intervensi prosesor
• DMA digunakan untuk transfer data dalam ukuran yang besar. • DMA merupakan module tambahan terhadap system bus • memiliki kemampuan untuk meniru prosesor • mengambil kendali dari prosesor. • DMA menggunakan system bus untuk melakukan transfer data • Hanya saat prosesor tidak menggunakan system bus • memaksa prosesor menghentikan sementara aktifitas di system bus. • Proses transfer data pada DMA : • prosesor memberikan instruksi pada modul DMA. • Prosesor akan melanjutkan pekerjaan yang lain • sementara tugas untuk mentransfer data telah didelegasikan pada modul DMA.
• Modul DMA mentrasfer data langsung dari/ke memory tanpa melalui prosesor. • Setelah modul DMA selesai melakukan transfer file, modul tersebut akan memberikan sinyal
interupt pada prosesor.
Diagram Modul DMA
IO Channels dan IO Processor • IO Channels • memiliki prosesor sendiri dengan haknya sendiri tapi hanya memiliki instruksi yang dikhususkan untuk keperluan IO. • IO Processor • Module IO yang memiliki prosesor sendiri dan memory sendiri (layaknya komputer) tapi hanya bertugas untuk melakukan proses IO.
I/O Channel & Processor • Meningkatkan kemampuan komputer • prosesor tidak lagi mengurus proses IO. • Merupakan pengembangan dari DMA. • Prosessor tidak menjalankan instruksi untuk melakukan proses IO tapi IO Channel/IO Processor memiliki kemampuan untuk menjalankan instruksi yang akan membuat IO Channel/IO Processor memiliki kontrol penuh terhadap proses IO atas permintaan prosesor. • Jenis IO channel/prosesor • Selector : • mengontrol 1 modul IO pada 1 waktu • kecepatan tinggi
• Multiplexor : • mengontrol banyak perangkat/modul IO pada 1 waktu.
I/O Channel & Processor