DCH1B3 Konfigurasi Perangkat Keras Komputer Input/Output 1 9/13/2016 Masalah Input/Output Berbagai macam periferal yang begitu luas Mengirimkan sejumlah data yang berbeda Pada kecepatan berbeda-beda Dalam format yang berbeda Semua periferal lebih lambat dibandingkan CPU dan RAM Memerlukan modul I/O 1
Modul Input/Output Antarmuka ke CPU dan Memori. Antarmuka ke satu atau lebih periferal. Model Modul I/O yang umum 2
Devais Eksternal Human readable Layar, printer, keyboard Machine readable Monitoring dan control Komunikasi Modem Network Interface Card (NIC) Diagram Blok Devais Eksternal 3
Data Rate I/O berbagai devais Fungsi Modul I/O Control & Timing CPU Communication Device Communication Data Buffering Error Detection 4
Langkah-langkah I/O CPU memeriksa status devais modul I/O Modul I/O mengirimkan status devais Jika siap, CPU meminta transfer data Modul I/O mendapatkan data dari devais Modul I/O mentransfer data ke CPU Variasi untuk output, DMA, dll. Diagram Modul I/O 5
Keputusan Modul I/O Menyimpan atau menampilkan properti devais ke CPU. Mendukung banyak devais atau tunggal. Mengontrol fungsi-fungsi devais atau meninggalkan CPU. Teknik Input Output Programmed Interrupt driven Direct Memory Access (DMA) 6
Programmed I/O CPU memiliki kontrol secara langsung terhadap I/O Status penginderaan Perintah Read/write Mentransfer data CPU menunggu modul I/O untuk menyelesaikan operasinya. Membuang waktu CPU Programmed I/O - detail CPU meminta operasi I/O Modul I/O melakukan operasi Modul I/O mengeset status bit CPU memeriksa status bit secara periodik Modul I/O tidak menginformasikan ke CPU secara langsung Modul I/O tidak menginterupsi CPU CPU bisa menunggu atau kembali nanti 7
I/O Command CPU mengirimkan alamat Mengidentifikasi modul(& devais jika >1 per modul) CPU mengirimkan command Control memberitahu modul apa yang harus dilakukan Misal:memutar disk Test - cek status Misal : power? Error? Read/Write Modul mentransfer data via buffer dari/ke devais Pengalamatan Devais I/O Pada programmed I/O, transfer data mirip dengan akses memori. Tiap devais memiliki identifier yang unik CPU command berisi identifier (alamat) 8
I/O Mapping Memory mapped I/O Devais dan memori berbagi sebuah ruang alamat I/O mirip dengan operasi read/write memori Tidak ada command khusus untuk I/O Isolated I/O Ruang alamat terpisah antara memori dan I/O Memerlukan saluran-saluran pemilih I/O atau memori Ada perintah khusus untuk I/O Perintah terbatas Interrupt Driven I/O Tidak ada waktu CPU menunggu Tidak ada pemeriksaan devais oleh CPU secara berulang-ulang Modul I/O menginterupsi ketika siap 9
Operasi Dasar Interrupt Driven I/O CPU mengeluarkan read command Modul I/O mendapatkan data dari periferal pada saat CPU melakukan kerja lainnya. Modul I/O menginterupsi CPU CPU meminta data Modul I/O mentransfer data Sudut Pandang CPU Mengeluarkan read command Melakukan kerja yang lainnya Memeriksa interupsi pada akhir tiap siklus intruksi Jika diinterupsi:- Simpan konteks (registers) Memproses interupsi Fetch data & store 10
Isu-isu Desain Bagaimana mengidentifikasi modul yang meminta interupsi? Bagaimana menangani banyak interupsi? Mengidentifikasi Modul menginterupsi (1) Saluran berbeda untuk tiap devais PC Membatasi sejumlah devais Software poll CPU meminta tiap modul yang berada dalam antrian Lambat 11
Mengidentifikasi Modul yang menginterupsi(2) Daisy Chain atau Hardware poll Interrupt Acknowledge dikirimkan ke sebuah chain Modul bertannggungjawab menempatkan vector dalam bus CPU menggunakan vector untuk menangani handler routine Bus Master Modul harus mengklaim sebelum memberikan interupsi Misal : PCI & SCSI Multiple Interrupt Tiap saluran interupt memiliki sebuah prioritas Saluran prioritas yang lebih tinggi dapat menginterupsi saluran prioritas yang lebih rendah 12
Contoh - PC Bus 80x86 memiliki satu saluran interrupt Sistem berbasis 8086 menggunakan satu 8259A interrupt controller 8259A memiliki 8 saluran interrupt Direct Memory Access Interrupt driven dan programmed I/O memerlukan campur tangan CPU secara aktif Laju transfer terbatas CPU capek DMA adalah jawabannya 13
Fungsi DMA Modul tambahan (hardware) dalam bus DMA controller mengambil alih tugas CPU untuk I/O Diagram Modul DMA 14
Operasi DMA CPU memberitahu DMA controller:- Read/Write Device address Alamat awal blok data memori Jumlah data yang harus ditransfer CPU mengerjakannya dengan kerja lainnya DMA controller berhubungan dengan transder DMA controller mengirim interupsi ke CPU jika sudah selesai DMA Transfer Cycle Stealing DMA controller mengambil alih bus untuk sebuah siklus Transfer 1 word data Bukan sebuah interrupt CPU berhenti sejenak sebelum CPU mengakses bus. Misal:. Sebelum sebuah operand atau data fetch atau data write Menurunkan kerja CPU tapi tidak sebanyak CPU melakukan transfer 15
Konfigurasi DMA (1) Bus tunggal, Detached DMA controller Tiap transfer menggunakan bus 2x I/O ke DMA kemudian DMA ke memori CPU berhenti sejenak 2x Konfigurasi DMA (2) Bus tunggal, Integrated DMA controller Controller bisa mendukung >1 devais Tiap transfer menggunakan bus 1x DMA ke memori CPU berhenti sejenak 1x 16
Konfigurasi DMA (3) Bus I/O terpisah Bus mendukung semua DMA enabled devices Tiap transfer menggunakan bus 1x DMA ke memor CPU berhenti sejenak 1x I/O Channels I/O devices semakin rumit Misal. Kartu grafik 3D CPU menginstrukskan I/O controller untuk melakukan transfer I/O controller melakukan transfer seluruhnya beban CPU tinggi Dedicated processor lebih cepat 17
Baca tentang Universal Serial Bus (USB) Bandingkan dengan standar komunikasi yang lain misal Ethernet THANK YOU 18