Kamis, Desember 18, 2008

I/O System

Interupsi
  • CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi).
  • CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU.
  • Sebuah mekanisme interupsi akan menerima alamat interrupt handling routine yang spesifik dari sebuah set. Alamat berupa sekumpulan bilangan yang menyatakan offset pada sebuah tabel (biasa disebut interrupt vector). Tabel ini menyimpan alamat-alamat interrupt handler spesifik di dalam memori.
  • Keuntungan dari pemakaian vektor adalah untuk mengurangi kebutuhan akan sebuah interrupt handler yang hams mencari semua kemungkinan sumber interupsi untuk menemukan pengirim interupsi.

  • Interrupt vector memiliki hambatan karena komputer yang ada memiliki device (dan interrupt handler) yang lebih banyak dibandingkan dengan jumlah alamat pada interrupt vector. Karena itulah, digunakanlah teknik interrupt chaining dimana setiap elemen dari interrupt vector menunjuk/ merujuk pada elemen pertama dari sebuah daftar interrupt handler. Dengan teknik ini, overhead yang dihasilkan oleh besarnya ukuran tabel dan inefisiensi dart penggunaan sebuah interrupt handler (fitur pada CPU yang telah disebutkan sebelumnya) dapat dikurangi, sehingga keduanya menjadi kurang lebih seimbang.
  • Interupsi disebabkan berbagai hal, antara lain exception, page fault, interupsi yang dikirimkan oleh device controllers, dan system call Exception adalah suatu kondisi dimana terjadi sesuatu/dari sebuah operasi didapat hasil tertentu yang dianggap khusus.
  • Contoh : pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain.
  • System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atau trap.
 

Copyright © 2011 by fey_leo83