Senin, 23 Juni 2014

ARTIKEL MODUL I/O

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. Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan.
A. Fungsi modul I/O
fungsi modul input / output berfungsi sebagai interface ( penghubung ) ke memori atau ke prosesor, penghubung sesama periferal, dan menyelaraskan data sebelum ditransfer melalui system bus.
Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi beberapa katagori, yaitu:

• Kontrol dan pewaktuan.

• Komunikasi CPU.

• Komunikasi perangkat eksternal.

• Pem-buffer-an data.

• Deteksi kesalahan.

 A. .Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. juga berfungsi  dalam mengatur agar kecepatan transfer data yang berbeda-beda dapat tersinkronisasi dengan baik
Contoh kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah – langkah berikut ini :

1 Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.

2 Modul I/O memberi jawaban atas permintaan CPU.

3 Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O.

4 Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.

5 Selanjutnya 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. 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.

B. Adapun fungsi komunikasi antara CPU dan modul I/O meliputi proses – proses berikut :

• Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID, Format disk.

• Data, pertukaran data antara CPU dan modul I/O melalui bus data.

• Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).

• Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya. atau fungsi komunikasi CPU sebagai media komunikasi dari CPU menuju device eksternal atau mengirimkan data dan perintah dari prosesor ke periferal
C.  Komunikasi perangkat
     sebagai media komunikasi dari device eksternal menuju CPU
D. Fungsi buffering. Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan     laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU. Umumnya laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan. Data Buffering berfungsi sebagai penampung data sementara baik dari CPU/memori maupun dari peripheral peripheral
E. Fungsi deteksi kesalahan. 
    Deteksi error berfungsi sebagai pendeteksi kesalahan yang ditimbulkan oleh device Apabila pada perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut pada prosesor. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.

B  Struktur Modul I/O

Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel adalah Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface). Bagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur, seperti terlihat pada gambar 6.3.

Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini. Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini.

- Teknik Masukan/Keluaran

Terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt – driven I/O, dan DMA (Direct Memory Access). Ketiganya memiliki keunggulan maupun kelemahan, yang penggunaannya disesuaikan sesuai unjuk kerja masing – masing teknik.

- I/O Terprogram

Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.

Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah I/O, yaitu:

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.

- Interrupt – Driven I/O

Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang waktu.

Prosesnya adalah 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.

Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU.

Cara kerja teknik interupsi di sisi modul I/O adalah modul I/O menerima perintah, misal read. Kemudian modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU. Saat permintaan terjadi, modul meletakkan data pada bus data dan modul siap menerima perintah selanjutnya. Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah sebagai berikut :
1. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.

2. CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon interupsi.
3.CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya
C. KLASIFIKASI/JENIS MODUL I/O
>>Klasifikasi Perintah I/O
1. Perintah control.
Perintah ini digunakan 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



- Berdasarkan detail pemrosesan modul I/O:

  IO channel / IO prosessor : tidak membutuhkan kontrol secara detil untuk melakukan operasi

Input/Output.

• IO Controller / device controller : membutuhkan kontrol secara detail


 D. CARA KERJA MODUL I/O
Cara kerja modul I/O adalah sebagai berikut:

  • CPU meminta status peripheral pada modul I/O
  • Modul I/O mengecek status peripheral dan mengirimkannya dalam betuk status bit
  • Jika status ready, maka CPU mengirimkan perintahnya
  • Modul I/O menarik data dari peripheral
  • Modul I/O menyelaraskan data
  • Modul I/O mengirimkan data ke CPU lewat bus. 
    Teknik pengaturan Input / Output ( I/O )
    • Programed I/O
    • Interrupt Driven I/O
    • Direct Memory Access (DMA)
    Programed Input / Output ( I/O )
    Dalam programmed I/O, CPU memiliki control langsung terhadap proses I/O.
    CPU merequest untuk melakukan operasi I/O, modul I/O metransfer perintah ke peripheral, modul I/O mengeset status bit dari peripheral, CPU mengecek status bit secara periodik dan jika belum ada perubahan maka CPU akan menunggu dan jika ada perubahan maka CPU akan bereaksi.
    Dalam hal ini modul I/O tidak mengkonfirmasi status langsung kepada CPU.
    Kelemahan nya adalah CPU menunggu hingga modul I/O menyelesaikan suatu operasi sehingga menjadi boros waktu.
    Interrupt Driven Input / Output ( I/O )
    Dalam interrupt dtiven I/O CPU tetap memiliki kontol langsung terhadap proses I/O, seperti pada programmed I/O.
    CPU merequest untuk melakukan operasi I/O, modul I/O mentrasfer perintah ke peripheral, sementara itu CPU dapat melakukan kegiatan lain / melaksanakan proses berikutnya, modul I/O mengirimkan interrupt kepada CPU untuk memberitahukan status hasil operasinya, dan CPU bereaksi atas status tersebut.
    Pada interrupt driven I/O memiliki kelebihan yaitu peniadaan waktu tunggu CPU.
    Direct Memory Access ( DMA )
    Pada programed I/O dan interrupt driven I/O CPU melakukan capur tangan langsung untuk mengirimkan perintah ke peripheral, tetapi pada DMA memerintahkan DMA apa yang harus dilakukan ( read / write ), alamat peripheral, tempat data dalam memori, dan jumlah data yang akan ditransfer.
    Setelah itu, CPU melanjutkan pekerjaan / proses nya yang lain.
    DMA melaksanakan apa yang diperintahkan oleh CPU tadi, jika semua tugas telah selesai, maka DMA mengirimkan interrupt kepada CPU, pada saat itu CPu akan merespon interrupt yang diterimanya.

Tidak ada komentar:

Posting Komentar