Rabu, 20 Oktober 2010

Manajemen I/O

Manajemen Unit Masukan dan Keluaran

Sistem Komputer

Tiga komponen utama :
- CPU,
- Memori (primer dan sekunder)
- Peralatan masukan/keluaran (I/O devices) seperti printer, monitor,    
  keyboard, mouse, dan modem
Modul I/O
vMerupakan peralatan antarmuka (interface) bagi sistem bus atau switch
   sentral dan mengontrol satu atau lebih perangkat peripheral.
vTidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika
  dalam melakukan fungsi komunikasi antara peripheral dan bus computer 
   Piranti tidak tidak langsung dihubungkan dengan bus sistem komputer , Mengapa ?
vBervariasinya metode operasi piranti peripheral, sehingga tidak praktis apabila sistem komputer
    harus menangani berbagai macam sisem operasi piranti peripheral tersebut.
vKecepatan transfer data piranti peripheral umumnya lebih lambat dari pada laju transfer
   data pada CPU maupun memori.
vFormat data dan panjang data pada piranti peripheral seringkali berbeda dengan CPU,
   sehingga perlu modul untuk menselaraskannya.

Dua fungsi utama :
vSebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
vSebagai piranti antarmuka dengan peralatan peripheral lainnya
  dengan menggunakan link data tertentu Sistem Masukan & Keluaran Komputer.
vBagaimana modul I/O dapat menjalankan tugasnya ?
vInti mempelajari sistem I/O suatu komputer ?
  Menjembatani CPU dan memori dengan vdunia luar merupakan hal yang terpenting
  untuk kita ketahui.
vMengetahui fungsi dan struktur modul I/O.
Model generik dari suatu modul I/O
 Modul I/O adalah suatu komponen dalam vsistem komputer.
 §Bertanggung jawab atas pengontrolan sebuah perangkat
    luar atau lebih.
§ Bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut
   dengan memori utama ataupun dengan register –register CPU.
   Antarmuka internal dengan komputer v(CPU dan memori utama)
   Antarmuka dengan perangkat veksternalnya untuk menjalankan fungsi – fungsi
   pengontrolan.

Fungsi Modul I/O
vKontrol dan pewaktuan.
vKomunikasi CPU.
vKomunikasi perangkat eksternal.
vPem-buffer-an data.
vDeteksi kesalahan
Kontrol dan Pewaktuan
v Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk
   mensinkronkan kerja masing – masing komponen penyusun komputer.
v Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih
  perangkat dengan pola tidak menentu dan kecepatan transfer
  komunikasi data yang beragam, baik dengan
  perangkat internal seperti register – register, memori utama, memori sekunder,
  perangkat peripheral.
v Proses tersebut bisa berjalan apabila ada fungsi kontrol dan
   pewaktuan yang mengatur sistem secara keseluruhan.
v Transfer data tidak akan lepas dari penggunaan sistem bus,
  maka interaksi CPU dan modul I/O akan melibatkan kontrol dan
   pewaktuan sebuah arbitrasi bus atau lebih.

Langkah-langkah pemindahan data dari peripheral ke CPU melalui sebuah modul I/O
vPermintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
vModul I/O memberi jawaban atas permintaan CPU.
vApabila perangkat eksternal telah siap untuk transfer data,
  maka CPU akan mengirimkan perintah ke modul I/O.
vModul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
vSelanjutnya data dikirim ke CPU setelah diadakan
  sinkronisasi panjang data dan kecepatan transfer oleh modul I/O
  sehingga paket – paket data dapat diterima CPU dengan baik.

Buffering
vTujuan utama adalah mendapatkan penyesuaian data sehubungan perbedaan
   laju transfer data dari perangkat peripheral dengan kecepatan pengolahan
   pada CPU.
vLaju transfer data dari perangkat peripheral lebih lambat dari kecepatan
  CPU maupun media penyimpan.
Deteksi Kesalahan
vBila perangkat peripheral terdapat masalah sehingga proses tidak dapat
   dijalankan, maka modul I/O akan melaporkan kesalahan tersebut.
§ Misal informasi kesalahan pada peripheral printer seperti:
   kertas tergulung, pinta habis, kertas habis.
vTeknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.

Struktur Modul I/O
vBerbagai macam modul I/O seiring perkembangan komputer.
§ Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface).
vBagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur.
    Antarmuka modul I/O ke CPU melalui bus vsistem komputer terdapat tiga saluran
§ Saluran data
§ Saluran alamat
§ Saluran kontrol.
   Bagian terpenting adalah blok logika I/O vyang berhubungan dengan semua
   peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada
   blok ini.
I/O Terpogram
vData saling dipertukarkan antara CPU dan modul I/O.
vCPU mengeksekusi program yang memberikan operasi I/O kepada CPU
   secara langsung.
§ Pemindahan data
§ Pengiriman perintah baca maupun tulis
§ Monitoring perangkat Implementasi perintah dalam instruksi I/O.
v Memory-mapped I/O
v Isolated I/O
Klasifikasi Perintah I/O
1. Perintah control.
    Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan
    memberitahukan tugas yang diperintahkan padanya.
2. Perintah test.
    Perintah ini digunakan CPU untuk menguji berbagai kondisi status   
    modul I/O dan peripheralnya. CPU perlu mengetahui perangkat   
    peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk    
    mengetahui operasi operasi I/O yang dijalankan serta mendeteksi  
    kesalahannya.
3. Perintah read.
    Perintah pada modul I/O untuk mengambil suatu paket data kemudian
    Menaruh dalam buffer internal. Proses selanjutnya paket data dikirim    
    melalui bus data setelah terjadi sinkronisasi data maupun kecepatan    
    transfernya.
4. Perintah write.
    Perintah ini kebalikan dari read. CPU memerintahkan modul I/O
    untuk mengambil data dari bus data untuk diberikan pada perangkat
    peripheral tujuan data tersebut.
Memory-mapped I/O
vTerdapat ruang tunggal untuk lokasi memori dan perangkat I/O.
vCPU memperlakukan register status dan register data modul I/O sebagai
   Lokasi memori dan menggunakan instruksi mesin yang sama untuk 
   mengakses baik memori maupun perangkat I/O.
vKonskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan   
   Saluran tunggal untuk penulisan.
vKeuntungan memory-mapped I/O adalahefisien dalam pemrograman,   
   Namun memakan banyak ruang memori alamat.
Isolated I/O
vDilakukan pemisahan ruang pengalamatan bagi memori dan ruang
   pengalamatan bagi I/O.
vDengan teknik ini diperlukan bus yang dilengkapi dengan saluran    
   pembacaan dan penulisan memori ditambah saluran perintah output.
vKeuntungan isolated I/O adalah sedikitnya instruksi I/O.

Interrupt – Driven I/O
 vProses tidak membuang – buang waktu
§ CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah
    I/O dijalankan modul I/O maka CPU akan melakukan eksekusi
    perintah – perintah lainnya.
§ Apabila modul I/O telah selesai menjalankan instruksi yang diberikan
    padanya akan melakukan interupsi pada CPU bahwa tugasnya telah    
    selesai.
 v Kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan
    Perintah dari memori maupun pelaksanaan isi perintah tersebut.
 v Terdapat selangkah kemajuan dari teknik sebelumnya
§ CPU melakukan multitasking beberapa perintah sekaligus
§ Tidak ada waktu tunggu bagi CPU = Proses Cepat
    Cara kerja teknik interupsi di sisi modul vI/O
§ Modul I/O menerima perintah, misal read.
§ Modul I/O melaksanakan perintah pembacaan dari peripheral dan 
    meletakkan paket data ke register data modul I/O
§ Modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol.
§ Modul menunggu datanya diminta CPU Saat permintaan terjadi
§ Modul meletakkan data pada bus data
§ Modul siap menerima perintah selanjutnya
Interrupt
v Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi    
    .I/O 
§ Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
§ CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon
    interupsi.
§ CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan
    sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
§ CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang
    dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan
    operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang
    diperlukan berupa:
• Status prosesor, berisi register yang dipanggil PSW (program status word).
• Lokasi intruksi berikutnya yang akan dieksekusi. Informasi tersebut kemudian 
  disimpan dalam stack pengontrol sistem.
    Teknik yang digunakan CPU dalam vmenangani program interupsi
§ Multiple Interrupt Lines.
§ Software poll.
§ Daisy Chain.
§ Arbitrasi bus
    Pengolahan interupsi saat perangkat I/O vtelah menyelesaikan sebuah      
    operasi I/O 
§ CPU akan menyimpan PC (program counter) eksekusi sebelum 
    interupsi ke stack pengontrol bersama informasi PSW.
§ Mempersiapkan PC untuk penanganan interupsi.
§ CPU memproses interupsi sampai selesai
§ Bila pengolahan interupsi selasai, CPU akan memanggil 
  kembali informasi yang telah disimpan pada stack 
  pengontrol untuk meneruskan operasi sebelum interupsi .

Multiple Interrupt Lines
v Teknik yang paling sederhana.
v Menggunakan saluran interupsi berjumlah banyak.
v Tidak praktis untuk menggunakan sejumlah saluran bus atau pin CPU    
    keseluruh saluran interupsi modul – modul I/O.
Software poll
 v CPU mengetahui adanya sebuah interupsi, maka CPU akan menuju ke routine   
    Layanan interupsi yang tugasnya melakukan poll seluruh modul I/O untuk   
    Menentukan modul yang melakukan interupsi.
 v Kerugian software poll.
§ memerlukan waktu yang lama karena harus mengidentifikasi seluruh modul
    Untuk mengetahui modul I/O yang melakukan interupsi.

Daisy chain
v Teknik yang lebih efisien
v Menggunakan hardware poll
v Seluruh modul I/O tersambung dalam saluran interupsi CPU secara   
    melingkar (chain).
v Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal
   acknowledge yang berjalan pada saluran interupsi sampai menjumpai   
   modul I/O yang mengirimkan interupsi.

Arbitrasi bus
v Modul I/O memperoleh kontrol bus sebelum modul ini menggunakan   
    saluran permintaan interupsi.
v Hanya akan terdapat sebuah modul I/O yang dapat melakukan   
    interupsi.

Pengontrol Interrupt Intel 8259A
v Intel mengeluarkan chips 8259A
v Sebagai interrupt arbiter pada mikroprosesor Intel 8086
v Manajemen interupsi modul - modul I/O
v Chips ini dapat diprogram untuk menentukan prioritas modul I/O yang
   lebih dulu ditangani CPU apabila ada permintaan interupsi yang
bersamaan.
vMode – mode interupsi.
Mode pada Interrupt Intel 8259A
Fully Nested.
§ Permintaan interupsi dengan prioritas mulai 0 (IR0) hingga 7(IR7).
Rotating.
§ Bila sebuah modul telah dilayani interupsinya akan menempati prioritas terendah.
Special Mask.
§ Prioritas diprogram untuk modul I/O tertentu secara spesial.

Kesimpulan
v Modul I/O merupakan peralatan antarmuka (interface) bagi sistem bus
    atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.
Modul I/O adalah suatu komponen dalam sistem komputer yang 
    bertanggung jawab atas   pengontrolan sebuah perangkat luar atau 
    lebih dan bertanggung jawab pula dalam pertukaran data 
    antara perangkat luar tersebut dengan memori utama ataupun 
    dengan register –register CPU. 

1 komentar: