SISTEM INPUT/OUTPUT (I/O) Pendahuluan Beberapa alasan tidak dihubungkannya peripheral dengan bus sistem secara langsung adalah : Terdapat beraneka ragam peripheral yang memiliki bermacam-macam metode operasi. Maka akan tidak sangat praktis untuk menggabungkan logik tertentu ke dalam CPU dengan maksud untuk mengontrol sejumlah perangkat Laju transfer data peripheral sering kali jauh lebih lambat dibandingkan dengan laju transfer data memori atau CPU. Jadi, tidaklah praktis menggunakan bus sistem berkecepatan tinggi untuk melakukan komunikasi langsung dengan peripheral Peripheral sering kali menggunakan format data dan panjang word yang berlainan dibandingkan dengan komputer yang disambungkan dengannya Perangkat Eksternal Dibagi Dalam 3 tingkat Human Readable Machine Readable Communication Gambar Perangkat Keras MODUL I/O 1. Interface dengan CPU dan memori 2. Interface ke satu atau lebih peripheral Fungsi Modul I/O Control and timing Komunikasi CPU Komunikasi perangkat Data buffering Deteksi Error CONTROL DAN TIMING Misalnya, kontrol pemindahan data dari sebuah perangkat eksternal ke CPU dapat meliputi langkah-langkah berikut ini : CPU meminta modul I / O untuk memeriksa status perangkat yang terhubung. Modul I / O memberikan jawabannya tentang status perangkat Bila perangkat sedang beroperasi dan berada dalam keadaan siap untuk mengirimkan, maka CPU meminta pemindahan data, dengan menggunakan perintah tertentu ke modul I / O. Modul I / O akan memperoleh unit data ( misalnya, 8 atau 16 bit ) dari perangkat eksternal. Data akan dipindahkan dari modul I / O ke CPU. KOMUNIKASI CPU Command Decoding Data Status reporting Address recognition STRUKTUR MODUL I/O Pengaksesan I/O terdiri dari 2 cara : 1. Memory mapped I/O Piranti I/O dihubungkan sebagai lokasi memori virtual dimana port I/O tergantung memori utama. Karakteristik: - Port I/O dihubungkan ke bus alamat. - Piranti input sebagai bagian memori yang memberikan data ke bus data. Piranti output sebagai bagian memori yang memiliki data yang tersimpan di dalamnya. - Port I/O menempati lokasi tertentu pada ruang alamat dan diakses seolah-olah adalah lokasi memori. 2. I/O mapped I/O (I/O isolated) Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, dimana port I/O tidak tergantung pada memori utama. Karakteristik: - Port I/O tidak tergantung memori utama. - Transfer informasi dilakukan di bawah kendali sinyal kontrol yang menggunakan instruksi INPUT dan OUTPUT. - Operasi I/O tergantung sinyal kendali dari CPU. - lnstruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori. - Ruang memori dan ruang alamat I/O menyatu, sehingga dapat memiliki alamat yang sama. Kelebihan dan kekurangan: - I/O mapped I/O Iebih cepat dan efisien, karena lokasi I/O terpisah dengan lokasi memori. - I/O mapped I/O mempunyai keterbatasan jumlah instruksi yang dapat digunakan untuk operasi I/O. Operasi I/O terbagi menjadi 3 metode : 1. I/O Terprogram 2. I/O Interupt 3. Direct Memory Access (DMA) I/O TERPROGRAM Terdapat empat klasifikasi perintah I/O, yaitu: Perintah control. Perintah test. Perintah read. Perintah write. Cont Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O isolated I/O. INTERUPT DRIVEN I/O Masalah pada programmed I/O adalah bahwa processor harus menunggu hingga modul I/O siap untuk melakukan transfer yang mengakibatkan processor harus melakukan pengecekan yang berulang-ulang atas status modul I/O. Alternatifnya, processor menerbitkan perintah ke modul I/O dan kemudian processor melanjutkan eksekusinya atas instruksi yang lain. Modul I/O akan melakukan interrupt ke processor untuk meminta layanan jika modul I/O telah siap saling bertukar data dengan processor. Processor kemudian melakukan eksekusi atas instruksi perpindahan data. Setelah selesai, processor akan melanjutkan eksekusi instruksi sebelumnya, sebelum peocessor di interrupt oleh modul I/O. PENGOLAHAN INTERUPT Pada perangkat I/O telah menyelesaikan sebuah operasi I/O, maka urutan kejadian hardware di bawah akan terjadi : Perangkat angkat mngeluarkan signal interrupt ke CPU. Prosesor menyelesaikan eksekui intruksi yang sedang dilakukan sebelum memberikan respon terhadap interrupt. Prosesor memerikasa interrupt, menetapkan bahwa memang ada, dan mengirim signal acknowledgment ke parangkat yang mengeluarkan interrupt, acknowledgment memungkinkan meghapus dignal interrupt. Sekarang prosesor perlu menyiapkan pengontrolan transfer routine interrupt, prosesor perlu menyimpan informasi yang diperlukan untuk melanjutkan program yang dikerjakan saat itu pada posisi interrupt. Informasi minimum yang diperlukan adalah a.status prosesor, yang berisi register yang dipanggil program status word (PSW), dan b. lokasi instruksi berikutnya yang akan dieksekusi. Cont. Setelah prosesor dapat memuat menghitung program dengan lokasi entri dan program penanganan interrupt yang akan emberikan respon ke interrupt ini. Tergantung pada arsitektur computer dan rancangan sistem operasinya. Kemungkinan ada sebuah program , satu program untuk setiap interrupt, atau setiap untuk setiap perangkat dan setiap jenis interrupt. Kemudian interrupt handle akan mendapat proses interrupt. Proses ini akan melibatkan pengujian informasi status yang berkaitan dengan operasi I/O atau kejadian-kejadian yang lain yang menyebabkan terjadinya interrupt. Apabila pengolahan interuot telah selesai, nilai-nilai register yang tersimpan akan diambil ke stack dan selanjutnya disimpan ke register. Kegiatan terakhir adalah menyimpan kembali PSW dan nilai penghitung program dari stack. Akibatnya, interupsi berikutnya yang akan dieksekusi akan berasal dari program sebelumnya yang telah diinterupsi. Direct Memory Access (DMA) Direct Memory Access (DMA) adalah suatu metode transfer data dari memori komputer atau RAM ke suatu bagian dari komputer tanpa memprosesnya menggunakan CPU Sebagian besar data yang merupakan input atau output dari komputer memang diproses di CPU, tetapi terdapat beberapa data yang tidak perlu diproses, ataupun dapat diproses oleh alat lainnya. Direct Memory Access (DMA) Perbandingan antara Programmed I/O dan Direct Memory Access Direct Memory Access (DMA) Langkah – langkah dalam transfer DMA : Prosesor menyiapkan DMA transfer dengan menyediakan data – data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah ditransfer. Pengendali DMA mengirimkan sinyal interrupt ke prosesor, dimana selanjutnya akan ditentukan tindakan selanjutnya. Direct Memory Access (DMA) Kelebihan menggunakan DMA : Dapat menghemat waktu memproses Cara yang lebih efisien untuk memindahkan data dari memori ke alat lainnya CPU tidak terbebani oleh programmed I/O Direct Memory Access (DMA) Contoh Penggunaan Suatu saat sound card membutuhkan akses data kedalam RAM, maka data dapat dikirim dari RAM ke CPU dan dilanjutkan ke sound card tersebut. Tetapi karena sound card dapat memproses data tersebut dengan sendirinya, maka sound card dapat menggunakan DMA untuk mengirim langsung data ke sound card dari RAM tanpa melalui CPU. Direct Memory Access (DMA) 1. 2. 3. Pada dasarnya DMA mempunyai tiga mode yang berbeda dalam mentransfer data. Mode – mode tersebut adalah : HALT atau Burst Mode DMA Cycle Stealing Mode Transparent Mode Direct Memory Access (DMA) HALT atau Burst Mode DMA Pada mode ini semua blok data dikirim dalam urutan yang waktunya berdekatan. Ketika DMA controller mendapatkan akses ke system buses oleh CPU, DMA mengirimkan semua data dari blok data tersebut sebelum mengembalikan kontrol dari system buses kembali ke CPU. Direct Memory Access (DMA) Pada mode ini DMA controller mendapatkan akses ke system buses oleh CPU sama seperti pada Burst Mode. Kemudian menggunakan BR (Bus Request) dan BG (Bus Grant) yang merupakan sinyal untuk mengatur interface antara CPU dan DMA controller. Setelah 1 byte dari data ditransfer, kontrol dari system buses diserahkan kembali ke CPU melalui BG. Dan kemudian di-request secara terus menerus melalui BR dan mentransfer 1 byte data setiap request sampai semua data ditransfer. Jadi pada mode ini data akan dikirimkan per-request. Direct Memory Access (DMA) Mode ini merupakan mode yang paling lama tetapi yang paling efisien dari semua mode. Pada mode ini DMA controller hanya mentransfer data ketika CPU melakukan operasi yang tidak menggunakan system buses. SELESAI