INPUT OUTPUT

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. Ada fungsi komunikasi antara CPU dan modul I/O meliputi proses-proses berikut ini :
  • Command Decoding, yaitu modul I/O menerima perintah-perintah dari CPU yang dikirimkan sebagai sinyal 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 kodisi status modul I/O maupun perangkat periperhal, umumnya berupa status kondisi busy atau ready. Juga status bermacam-macam kodisi kesalahan (error).
  • Address recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat periperhal, sehingga setiap modul I/O harus mengetahui alamat periperhal yang dikontrolnya
Pada sisi modul I/O ke perangkat periperhal juga terdapat komunikasi yang meliputi komunikasi data, kontrol maupun status.
Featured image
Gambar 2. Skema suatu perangkat periperhal
Fungsi selanjutnya adalah buffering. Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat periperhal dengan kecepatan pengolahan pada CPU . Umumnya laju transfer data pada dari perangkat periperhal lebih lambat dari kecepatan CPU maupun media penyimpanan.
Fungsi terakhir adalah deteksi kesalahan. Apabila pada perangkat periperhal terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misalnya informasi pada periperhal printer seperti: kertas tergulung, kertas habis, tinta habis, dan lain-lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.
Struktur Modul Input/Output
Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel adalah intel  8255A yang sering disebut PPI (Programmable Periperhal Interface). Bagaimanapun komplesitas suatu modul I/O terdapat kemiripan struktur,.
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 periperhal, terdapat fungsi pengaturan dan switching pada blok ini.
Teknik Masukan dan Keluaran
Terdapat tiga buah teknik operasi I/O, yaitu : I/O terprogram, interrupt-driven I/O, dan DMA (Dirrect Memory Access). Ketiganya memiliki keunggulan dan kelemahan, yang penggunanya 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 atau tulis dan monitoring perangkat.
I/O terprogram mempunyai kelemahan sebagai berikut :
  • CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, 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 periperhalnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah input/output, yaitu:
  1. Perintah Control yaitu perintah yang digunakan untuk mengaktivasi perangkat periperhal dan memberitahukan tugas yang diperintahkan kepadanya.
  2. Perintah Test, yaitu perintah yang digunakan CPU untuk menguji berbagai kondisi status modul I/O dan periperhalnya. CPU perlu mngetahui perangkat periperhalnya dalam keadaan aktif dan siap digunakan, juga untuk megetahui operasi-operasi I/O yang dijalankan serta mendeteksi kesalahannya.
  3. Perintah Read, yaitu perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruhnya di 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 periperhal tujuan data tersebut.
Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu memory mapped I/O dan isolated I/O.
Dalam memory mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data pada modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konsekuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory mapped ini adalah efisien dalam pemrograman namun memakan banyak ruang memory alamat.
Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan pembacaan dan penulisan memori ditambah dengan saluran perintah output. Kesuntungan isolated I/O adalah sedikitnya instruksi I/O.
Interrupt – Driven I/O
      Teknik interupt driven I/O memungkinkan proses memungkinkan proses tidak membuang-buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan oleh modul I/O, maka CPU melakukan eksekusi perintah-perintah lainnya. Apabila modul I/O telas selesai menjalankan instruksi yang diberikan padanya, maka modul I/O tersebut kemudian akan memberikan 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, misalnya read. Kemudian modul I/O melaksanakan perintah pembacaan dari periperhal dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Kemudian mosul 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 dijalankan kemudian merespon interupsi.
  3. CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal acknoledgement ke perangkat I/O untuk menghentikan interupsinya.
  4. CPU mempersiapkan pengontrolan transfer routine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebulum adanya interupsi. Informasi yang diperlukan berupa : Status Processor, berisi register yang dipanggil PSW (Program Status Word) dan Lokasi intruksi berikutnya yang akan dieksekusi
  5. Kemudian CPU akan menyimpan PC (Program Counter) eksekusi sebelum interupsi ke stack pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan interupsi.
  6. Selanjutnya CPU memproses interupsi sampai selesai.
  7. Apabila pengolahan interupsi selesai, CPU akan memanggil kembali informasi yang telah disimpan pada stack pengontrol untuk meneruskan operasi sebelum interupsi.
Terdapat bermacam teknik yang digunakan CPU untuk menangani interupsi ini diantaranya adalah Multiple interupt lines, Software poll, Daisy Chain, Arbitrasi bus. Teknik yang paling sederhana adalah menggunakan saluran interupsi berjumlah banyak (Multiple Interupt Lines) antara CPU dengan modul-modul I/O. Namun tidak praktis untuk menggunakan sejumlah saluran interupsi modul – modul I/O.
Alternatif lainnya menggunakan software poll. Prosesnya apabila CPU mengetahui adanya interupsi, maka CPU akan menuju ke routine layanan interupsi yang tugasnya melakkukan poll seluruh modul I/O untuk menentukan modul yang akan melakukan interupsi. Kerugian software poll adalah memerlukan waktu yang lama karen aharus mengidentifikasi seluruh modul untuk mengetahui modul I/O yang melakukan interupsi.
Teknik yang lebih efisien adalah daisy chain,  yang menggunakan hardware poll.  Seluruh modul yang tersambung dalam saluran interupsi CPU secara melingkar (chain). Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal acknoledgement yang berjalan pada saluran interupsi sampai menjumpai modul I/O yang mengirimkan interupsi.
Teknik berikutnya adalah arbitrasi bus. Dalam metode ini, pertama-tama modul I/O memperoleh kontrol bus sebelum modul sebelum modul ini menggunakan saluran permintaan interupsi. Dengan demikian hanya akan terdapat sebuah modul I/O yang dapat melakukan interupsi.
              Macam – macam Alat Input dan Output pada Komputer
IMPUT (Masukkan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer yang berupa signal input atau maintenance input. Di dalam sistem komputer, signal input berupa data yang dimasukkan ke dalam sistem komputer, sedangkan maintenance input berupa program yang digunakan untuk mengolah data yang dimasukkan. Dengan demikian, alat input selain digunakan untuk memasukkan data juga untuk memasukkan program.
Beberapa alat input mempunyai fungsi ganda, yaitu disamping sebagai alat input juga berfungsi sebagai alat output sekaligus. Alat yang demikian disebut sebagai terminal.
Terminal dapat dihubungkan ke sistem komputer dengan menggunakan kabel langsung atau lewat alat komunikasi. Terminal dapat digolongkan menjadi non intelligent terminalsmart terminaldan intelligent terminalNon intelligent terminal hanya berfungsi sebagai alat memasukkan input dan penampil output, dan tidak bisa diprogram karena tidak mempunyai alat pemroses. Peralatan seperti ini juga disebut sebagai dumb terminalSmart terminal mempunyai alat pemroses dan memori di dalamnya sehingga input yang terlanjur dimasukkan dapat dikoreksi kembali.
Walaupun demikian, terminal jenis ini tidak dapat diprogram oleh pemakai, kecuali oleh pabrik pembuatnya. Sedangkan intelligent terminal dapat diprogram oleh pemakai. Peralatan yang hanya berfungsi sebagai alat input dapat digolongkan menjadi alat input langsung dan tidak langsung.
Alat input langsung yaitu input yang dimasukkan langsung diproses oleh alat pemroses, sedangkan alat input tidak langsung melalui media tertentu sebelum suatu input diproses oleh alat pemroses. Alat input langsung dapat berupa papan ketik (keyboard), pointing device (misalnya mousetouch screenlight pendigitizer graphics tablet),scanner (misalnya magnetic ink character recognitionoptical data reader atau optical character recognition reader), sensor (misalnya digitizing camera), voice recognizer (misalnyamicrophone). Sedangkan alat input tidak langsung misalnya keypunch yang dilakukan melalui media punched card (kartu plong), key-to-tape yang merekam data ke media berbentuk pita (tape) sebelum diproses oleh alat pemroses, dan key-to-disk yang merekam data ke media magnetic disk (misalnya disket atau harddisk) sebelum diproses lebih lanjut.
Alat input (alat masukan) adalah alat yang digunakan untuk menerima input atau masukan. Input tersebut merupakan energi yang dimasukkan ke sistem.
Input terbagi menjadi :
  1. Signal Input : energi yang akan diolah oleh sistem, yaitu data yang dimasukkan ke sistem computer
  2.    Maintanace Input : energi yang akan digunakan untuk mengolah signal input, dalam sistem komputer boleh dikatakan maintenance input adalah program yang digunakan untuk mengolah data yang dimasukkan
  1. Keyboard       
Penciptaan keyboard komputer di ilhami oleh penciptaan mesin ketik yang dasar rancangannya di buat dan di patenkan oleh Christopher Latham pada tahun 1868 dan banyak dipasarkan pada tahun 1877 oleh Perusahaan Remington.
Keyboard komputer pertama disesuaikan dari kartu pelubang (punch card) dan teknologi pengiriman tulisan jarak jauh (Teletype). Tahun 1946 komputer ENIAC menggunakan pembaca kartu pembuat lubang (punched card reader) sebagai alat input dan output.
Bila mendengar kata “keyboard” maka pikiran kita tidak lepas dari adanya sebuah komputer, karena keyboard merupakan sebuah papan yang terdiri dari tombol-tombol untuk mengetikkan kalimat dan simbol-simbol khusus lainnya pada komputer. Keyboard dalam bahasa Indonesia artinya papan tombol jari atau papan tuts.
Pada keyboard terdapat tombol-tombol huruf (alphabet) A – Z, a – z, angka (numeric) 0 – 9, tombol dan karakter khusus seperti : ‘ ~ @ # $ % ^ & * ( ) _ – + = < > / , . ? : ; ” ‘ \ |, tombol fungsi (F1 – F12), serta tombol-tombol khusus lainnya yang jumlah seluruhnya adalah 104 tuts. Sedangkan pada Mesin ketik jumlah tutsnya adalah 52 tuts. Bentuk keyboard umumnya persegi panjang, tetapi saat ini model keyboard sangat variatif.
Dahulu orang banyak yang menggunakan mesin ketik baik yang biasa maupun mesin ketik listrik. Keyboard mempunyai kesamaan bentuk dan fungsi dengan mesin ketik. Perbedaannya terletak pada hasil output atau tampilannya. Bila kita menggunakan mesin ketik, kita tidak dapat menghapus atau membatalkan apa-apa saja yang sudah ketikkan dan setiap satu huruf atau simbol kita ketikkan maka hasilnya langsung kita lihat pada kertas. Tidak demikian dengan keyboard. Apa yang kita ketikkan hasil atau keluarannya dapat kita lihat di layar monitor terlebih dahulu, kemudian kita dapat memodifikasi atau melakukan perubahan-perubahan bentuk tulisan, kesalahan ketikan dan yang lainnya. Keyboard dihubungkan ke komputer dengan sebuah kabel yang terdapat pada keyboard. Ujung kabel tersebut dimasukkan ke dalam port yang terdapat pada CPU komputer.
  1. Mouse
Pada dasarnya, penunjuk (pointer) yang dikenal dengan sebutan “Mouse” dapat digerakkan kemana saja berdasarkan arah gerakan bola kecil yang terdapat dalam mouse. Jika kita membuka dan mengeluarkan bola kecil yang terdapat di belakang mouse, maka akan terlihat 2 pengendali gerak di dalamnya. Kedua pengendali gerak tersebut dapat bergerak bebas dan mengendalikan pergerakan penunjuk, yang satu searah horisontal (mendatar) dan satu lagi vertikal (atas dan bawah).
Jika kita hanya menggerakkan pengendali horisontal maka penunjuk hanya akan bergerak secara horisontal saja pada layar monitor komputer. Dan sebaliknya jika penunjuk vertikal yang digerakkan, maka penunjuk (pointer) hanya bergerak secara vertikal saja dilayar monitor. Jika keduanya kita gerakkan maka gerakan penunjuk (pointer) akan menjadi diagonal. Jika bola kecil dimasukkan kembali, maka bola itu akan menyentuh dan menggerakkan kedua pengendali gerak tersebut sesuai dengan arah mouse yang kita gerakkan.
Pada sebagian besar mouse terdapat tiga tombol, tetapi umumnya hanya dua tombol yang berfungsi, yaitu tombol paling kiri dan yang paling kanan. Pengaruh dari penekanan tombol atau yang di kenal dengan istilah “Click” ini tergantung pada obyek (daerah) yang kita tunjuk. Komputer akan mengabaikan penekanan tombol (click) bila tidak mengenai area atau obyek yang tidak penting.
Kemudian dalam penggunaan mouse juga kita kenal istilah “Drag” yang artinya menggeser atau menarik. Apabila kita menekan tombol paling kiri tanpa melepaskannya dan sambil menggesernya, salah satu akibatnya obyek tersebut berpindah atau menjadi pindah (tersalin) ke obyek lain dan terdapat kemungkinan lainnya. Kemungkinan-kemungkinan ini tergantung pada jenis program aplikasi apa yang kita jalankan. Mouse terhubung dengan komputer dengan sebuah kabel yang terdapat pada mouse. Ujung kabel tersebut dimasukkan dalam port yang terdapat di CPU komputer.
  1. Scanner
Scanner adalah suatu alat elektronik yang fungsinya mirip dengan mesin fotokopi. Mesin fotocopy hasilnya dapat langsung kamu lihat pada kertas sedangkan scanner hasilnya ditampilkan pada layar monitor komputer dahulu kemudian baru dapat dirubah dan dimodifikasi sehingga tampilan dan hasilnya menjadi bagus yang kemudian dapat disimpan sebagai file text, dokumen dan gambar.
Bentuk dan ukuran scanner bermacam-macam, ada yang besarnya seukuran dengan kertas folio ada juga yang seukuran postcard, bahkan yang terbaru, berbentuk pena yang baru diluncurkan oleh perusahaan WizCom Technologies Inc. Scanner berukuran pena tersebut bisa menyimpan hingga 1.000 halaman teks cetak dan kemudian mentransfernya ke sebuah komputer pribadi (PC).
Scanner berukuran pena tersebut dinamakan Quicklink. Pena scanner itu berukuran panjang enam inci dan beratnya sekitar tiga ons. Scanner tersebut menurut WizCom dapat melakukan pekerjaannya secara acak lebih cepat dari scanner yang berbentuk datar. Data yang telah diambil dengan scanner itu, bisa dimasukkan secara langsung ke semua aplikasi komputer yang mengenali teks ASCII. Perbedaan tiap scanner dari berbagai merk terletak pada pemakaian teknologi dan resolusinya. Pemakaian teknologi misalnya penggunaan tombol-tombol digital dan teknik pencahayaan.

Komentar