Teknik Input Output
Perangkat I/O membantu kita berinteraksi dengan komputer agar dapat memberi dan menerima data, program dan hasil, ke / dari komputer.
Setiap perangkat I/O memiliki I/O driver yang merupakan sekumpulan program I/O untuk berbagai operasi pada perangkat I/O yang spesifik. I/O driver dari semua perangkat I/O dikenal dengan BIOS.
Design Issues
IDENTIFIKASI MODUL INTERRUPT
(dalam suatu perancangan)
Example - PC Bus
Sequence of Events
PC Interrupt Layout
ISA Bus Interrupt System
ISA Interrupt Layout
3. Direct Memory Access (DMA)
OPERASI DMA
DMA Transfer
Cycle Stealing
DMA Configurations (1)
DMA Configurations (3)
\
Setiap perangkat I/O memiliki I/O driver yang merupakan sekumpulan program I/O untuk berbagai operasi pada perangkat I/O yang spesifik. I/O driver dari semua perangkat I/O dikenal dengan BIOS.
Terdapat tiga teknik dalam operasi I/O, yaitu :
- I/O Terprogram (Programmed I/O)
- Interrupt Driven I/O
- Direct Memory Access (DMA)
- CPU langsung mengendalikan operasi I/O secara keseluruhan dengan menjalankan serangkaian instruksi I/O dengan program tertentu
- Karakteristik :

- Terdapat program untuk memulai-mengarahkan- menghentikan operasi I/O
- Membutuhkan perangkat keras register
Register status, register buffer register point
buffer dan register counter data - perlu waktu proses yang menyita waktu pemanfaatan CPU
PERINTAH-PERINTAH I/O
METODE PENGAKSESAN SISTEM I/O
2. Interrupt Driven I/O
Operasi Dasar Interrupt Driven I/O
- Untuk mengeksekusi instruksi yg berkaitan dengan I/O, CPU menerbitkan address
- Identifikasi modul(& device if >1 per module)
- Perintahnya
- Control – untuk mengaktivasi peripheral dan membertitahu tugas yang harus dilakukan
- Menggulung ulang atau memajukan sebuah record (spin up disk)
- Test – mengecek status
- Aktif? , Error?
- Read/Write
- Modul akan menstanfer data lewat buffer dari/ke device
METODE PENGAKSESAN SISTEM I/O
- Memory mapped I/O
- Terdapat ruang alamat tunggal untuk lokasi memori dan perangkat I/O
- CPU memperlakukan regiter status dan register data modul I/O sebagai lokai memori read/write
- Tidak ada perintah khusus untuk I/O
- Memory Isolated I/O
- Terpisah ruang alamat
- Port-port I/O hanya dapat diakses dengan perintah I/O khusus
- Perintah khusus untuk I/O
2. Interrupt Driven I/O
- CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan
- Karakteristik :
- Lebih efesian dalam pemanfaatan CPU
- Menunggu interupsi dari piranti I/O
- Ada 2 metode pemilihan prioritas layanan :
- polling dan vector interrupt

Operasi Dasar Interrupt Driven I/O
- CPU mengeluarkan perintah read
- Modul I/O mendapatkan data dari peripheral saat CPU mengerjakan perintah lain
- Modul I/O akan menginterupsi CPU
- CPU meminta data
- Modul I/O akan mentransfer data
Design Issues
- How do you identify the module issuing the interrupt?
- How do you deal with multiple interrupts?
- i.e. an interrupt handler being interrupted
IDENTIFIKASI MODUL INTERRUPT
(dalam suatu perancangan)
- Saluran Interrupt berjumlah banyak (Multiple Interrupt Lines)
- Masing-masing interrupt mempunyai prioritas
- Prioritas tinggi dapat menginterupsi prioritas rendah
- Software poll
- Pada saat CPU mengetahui adanya interupt maka CPU akan menuju ke routine layanan interrupt yg tugasnya melakukan poll seluruh modul I/O
- Poll berbentuk baris perintah yg terpisah
- Kerugian : lambat
- Daisy Chain or Hardware poll
- Saluran Interrupt Acknowledgeadalah daisy chain yg melalui modul-modul
- Module memberikan respon dengan maletakkan vektor (word) pada saluran data
- CPU menggunakan vektor untuk mengidentifikasikan routine layanan
- Arbitrasi Bus
- Memanfaatkan interrupt bervektor
- Modul I/O harus memperoleh kontrol bus sebelum modul menggunakan saluran permintaan interrupt
- PCI & SCSI
Example - PC Bus
- 80x86 has one interrupt line
- 8086 based systems use one 8259A interrupt controller
- 8259A has 8 interrupt lines
Sequence of Events
- 8259A accepts interrupts
- 8259A determines priority
- 8259A signals 8086 (raises INTR line)
- CPU Acknowledges
- 8259A puts correct vector on data bus
- CPU processes interrupt
PC Interrupt Layout
ISA Bus Interrupt System
- ISA bus chains two 8259As together
- Link is via interrupt 2
- Gives 15 lines
- 16 lines less one for link
- IRQ 9 is used to re-route anything trying to use IRQ 2
- Backwards compatibility
- Incorporated in chip set
ISA Interrupt Layout
3. Direct Memory Access (DMA)
- DMA meliputi modul2 tambahan pada sistem bus
- Modul DMA mampu menirukan CPU dan mengambil alih kontrol sistem dari CPU
- Metode transfer data secara langsung antara memori dan piranti dan pengendalian CPU
- Hanya dapat dilakukan pada piranti I/O berkecepatan tinggi dan mampu mentransfer data besar dalam waktu singkat

OPERASI DMA
- Pada saat CPU ingin membaca/tulis, CPU mengirimkan perintah ke modul DMA yang berisi:
- Read/Write yang diminta
- Alamat perangkat I/O yang dilibatkan
- Lokasi awal blok memori data
- Jumlah data yg akan ditransfer
- CPU melanjutkan pekerjaan lainnya
- DMA controller memindahkan seluruh data, word per word secara langsung ke/dari memori anpa harus melalui CPU, setelah selesai
- DMA controller mengirimkan signal interrupt ke CPU
- CPU hanya dilibatkaan pada AWAL dan AKHIR pemindahan saja.
DMA Transfer
Cycle Stealing
- DMA controller takes over bus for a cycle
- Transfer of one word of data
- Not an interrupt
- CPU does not switch context
- CPU suspended just before it accesses bus
- i.e. before an operand or data fetch or a data write
- Slows down CPU but not as much as CPU doing transfer
- What effect does caching memory have on DMA?
- Hint: how much are the system buses available?
DMA Configurations (1)
- Pada Bus tunggal, dimana semua modul menggunakan bersama bus sistem yang sama
- Fungsi modul DMA sebagai pengganti CPU
- Menggunakan I/O terprogram untuk pertukaran data antara memori dengan modul I/O melalui modul I/O
- Harga cukup murah dan efisien
- Setiap transfer sebuah word membutuhkan 2 siklus bus
- Single Bus, Diintegrasikan modul DMA dengan sebuah atau lebih modul I/O yg tidak melibatkan sistem bus
- Modul DMA dapat mengontrol >1 device
- Masing-masing transfer menggunakan bus sekali saja
- DMA to memory
DMA Configurations (3)
- Menghubungkan modul-modul I/O ke modul DMA dengan menggunakan sebuah bus I/O
- Dapat mengurangi jumlah interface I/O didalam modul DMA menjadi satu buah
Komentar
Posting Komentar