Jumat, 20 Desember 2013

Input / Output Interface

  Tiga komponen penting dalam Sistem Komputer, yaitu:¡  CPU¡  Memori (primer dan sekunder), dan¡  Peralatan masukan/keluaran (I/O devices) seperti printer,  monitor, keyboard, mouse, dan modem.  Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar       I/O terdiri :  - Piranti I/O (peripheral)  - Pengendali I/O (device controller)  - Perangkat lunakPerangkat EksternalSalah satu fitur dasar komputer adalah kemampuannya untuk mempertukarkan data dengan perangkat lain. Kemampuan komunikasi ini memungkinkan operator manusia, misalnya, untuk menggunakan keyboard dan layer display untuk mengolah teks dan grafik.Mesin komputer akan memiliki nilai apabila bisa berinteraksi dengan dunia luar. Lebih dari itu, komputer tidak akan berfungsi apabila tidak dapat berinteraksi dengan dunia luar.Ambil contoh saja, bagaimana kita bisa menginstruksikan CPU untuk melakukan suatu operasi apabila tidak ada keyboard.Bagaimana kita melihat hasil kerja sistem komputer bila tidak ada monitor. Keyboard dan monitor tergolong dalam perangkat eksternal komputer. Perangkat eksternal atau lebih umum disebut peripheral tersambung dalam sistem CPU melalui perangat pengendalinya, yaitu modul I/O.

Perangkat eksternal diklasifikasikan menjadi 3 kategori:• Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai pengguna komputer.Contohnya: monitor, keyboard, mouse, printer, joystick, disk drive.• Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.• Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Misalnya: NIC dan modem.

Modul I/O merupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.Modul I/O tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer.Sistem Masukan & Keluaran Komputer
  Bagaimana modul I/O dapat menjalankan tugasnya, yaitu menjembatani CPU dan memori dengan dunia luar merupakan hal yang terpenting untuk kita ketahui.   Inti mempelajari sistem I/O suatu komputer adalah mengetahui fungsi dan struktur 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 antar muka internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan.Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi beberapa katagori, yaitu:
  1. Kontrol dan pewaktuan.
  1. Komunikasi CPU.
  1. Komunikasi perangkat eksternal.
  1. Pem-buffer-an data.
  1. Deteksi kesalahan.

1. Kontrol dan pewaktuan:Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. 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. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan.Contoh control pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah – langkah berikut ini :

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

.  Modul I/O memberi jawaban atas permintaan CPU.

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

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

  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.2. Komunikasi CPUAdapun 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.

  Pada sisi modul I/O ke perangkat  peripheral juga terdapat komunikasi yang meliputi komunikasi data, kontrol maupun status.3. Komunikasi Perangkat PeripheralProses transfer informasi antara CPU dengan sebuahperipheral :

  - Memilih I/O dan mengujinya.

  - Menginisialisasi transfer dan mengkoordinasikan pengaturan waktu operasi I/O.

  - Mentransfer informasi.

  - Menghentikan proses transfer.4. Buffering & Deteksi KesalahanTujuan 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. Fungsi terakhir adalah deteksi kesalahan. Apabila pada 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, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.Struktur Modul I/O: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: 1. I/O terprogram.Data saling dipertukarkan antara CPU dan modul I/O. CPUmengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, sepertipemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat.Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukanmodul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalamteknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yangdiinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamatbagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuahperintah 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 yangdiperintahkan padanya.2. Perintah test.Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O danperipheralnya. 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.2. interrupt – driven I/OTeknik 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 pengambilanperintah dari memori maupun pelaksanaan isi perintah tersebut.Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukanmultitasking 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, misalread.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.3. DMA (Direct Memory Access).Ketiganya memiliki keunggulan maupun kelemahan, yang penggunaannya disesuaikan sesuai unjuk kerja masing – masing teknik.Operasi I/O terbagi menjadi 3 metode :  I/O terprogram  I/O interupsi  Direct Memory Access (DMA)I/O terprogram  Metode di mana CPU mengendalikan operasi I/O secara keseluruhan dengan menjalankan serangkaian instruksi I/O dengan sebuah program.Karakteristik I/O terprogram:Program tersebut digunakan untuk memulai,mengarahkan dan menghentikan operasi-operasi I/O.Membutuhkan sejumlah perangkat keras (register) yaitu:    • Register status, berisi status piranti I/O dan data yang akan dikirimkan.    • Register buffer, menyimpan data sementara sampai CPU siap     menerimanya    • Pointer buffer, menunjuk ke lokasi memori di mana sebuah karakter harus ditulis atau dan mana karakter tersebut harus dibaca.    • Counter data, tempat penyimpanan jumlah karakter  dan akan berkurang nilainya jika karakter ditransfer.- Membutuhan waktu proses yang lama dan tidak efesien dalarn pemanfaatan CPU.I/O interupsi  Metode di mana CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan.Karakteristik I/O Interupsi:Lebih efisien dalam pemanfaatan CPU, karena tidak harus menguji status dari piranti.Interupsi dapat berasal dari piranti I/O, interupsi perangkat keras misalnya : timer, memori, power supply, dan Interupsi perangkat lunak misalnya : overflow, opcode/data yang ilegal, pembagian dengan nol.Direct Memory Access (DMA)  Metode transfer data secara langsung antara memori dengan piranti tanpa pengawasan dan pengendalian CPU.  • Skema transfer blok DMA dual port       CPU dan DMA controller mengakses memori utama        melalui MAR dan MBR dengan menggunakan        sebuah memori utama dual port (2 port).        Port I ----> melayani CPU        Port II ----> melayani DMA controller  • Skema transfer blok DMA cycle stealing (pencurian siklus)       Hanya memerlukan sebuah memori port tunggal di mana CPU dan piranti I/O beradu cepat pada basis asinkron, prioritas utama akan diberikan pada piranti I/O.  Interfacing        Adalah peralatan yang digunakan untuk menghubungkan suatu piranti dengan CPU melalui busMengakses Perangkat I/OPengaturan sederhana untuk menghubungkan perangkat I/O ke suatu komputer adalah dengan menggunakan pengaturan bus tunggal, sebagaimana yang ditampilkan pada gambar 12.1. Bus tersebut mengenable semua perangkat yang dihubungkan padanya untuk mempertukarkan informasi. Biasanya, pengaturan tersebut terdiri dari tiga set jalur yang digunakan untuk membawa alamat, data, dan sinyal kontrol.Tiap perangkat I/O ditetapkan dengan suatu set alamat yang unik.Pada saat prosessor meletakkan suatu alamat pada jalur alamat, perangkat yang mengenali alamat ini merespon perintah yang dinyatakan pada jalur kendali. Prosessor meminta operasi baca atau tulis, dan data yang direquest ditransfer melalui jalur data. Pada saat perangkat I/O dan memori berbagi ruang alamat yang sama, pengaturan tersebut disebut memory mapped I/O.Dengan memory mapped I/O, tiap instruksi mesin yang dapat mengakses memori dapat digunakan untuk mentransfer data ke atau dari perangkat I/O. Misalnya, jika DATAIN adalah alamat input buffer yang terhubung dengan keyboard, maka InstruksiMove DATAIN, R0Membaca data dari DATAIN dan menyimpannya dalam register prosessor R0.Serupa dengan instruksiMove R0, DATAOUTMengirim isi register R0 ke lokasi DATAOUT, yang mungkin berupa bufferdata output dari unit display atau printer.Sinyal khusus pada bus tersebut mengindikasikan bahwa transfer baca atau tulis yang diminta adalah operasi I/O. Pada saat sinyal ini dinyatakan, unit memori mengabaikan transfer yang Direquest. Perangkat I/O menganalisa bit loworder bus alamat untuk menentukan apakah sebaiknya memberi respon.


Tidak ada komentar:

Posting Komentar