Friday, September 19, 2014

Perangkat Eksternal / Peripheral

September 19, 2014

Perangkat Eksternal
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 adamonitor.Keyboard dan monitor tergolong dalam perangkat eksternal komputer.
Perangkat eksternal yang dihubungkan modul I/O seringkali disebut perangkat peripheral, atau untuk mudahnya disebut peripheral.
Sistem komputer tidak akan berguna tanpa adanya peralatan input dan output. Operasi-operasi I/O diperoleh melalui sejumlah perangkat eksternal yang menyediakan alat untuk pertukaran data di antara lingkungan luar dengan komputer. Perangkat eksternal dihubungkan dengan komputer oleh suatu link dengan modul I/O
Link digunakan untuk pertukaran kontrol, status, dan data antara modul I/O sering kali disebut sebagai perangkat peripheral, atau untuk mudahnya disebut peripheral.
  • Klasifikasi
    Secara umum perangkat eksternal diklasifikasikan menjadi 3 katagori
    1. Human Readable
        yaitu perangkat yang berhubungan dengan manusia sebagai pengguna komputer.
        Cocok untuk berkomunikasi dengan pengguna komputer.
        Contohnya: monitor, keyboard, mouse, printer, joystick, disk drive.
    2. Machine readable
        yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor
        dan tranduser untuk monitoring dan kontrol suatu peralatan atausistem.
        cocok untuk berkomunikasi dengan peralatan.
    3. Communication
       yatu perangkat yang berhubungan dengan komunikasi jarak jauh.Misalnya: NIC dan
       modem. cocok untuk berkomunikasi dengan perangkat jarak jauh.
Interface ke modul I/O adalah dalam bentuk signal-signal control, status dan data.
  • Cara Kerja Secara Umum
Perangkat eksternal dihubungkan dengan komputer oleh suatu link dengan modul I/O. Link digunakan untuk pertukaran control, status dan data antara modul I/O dengan perangkat eksternal.
Data berbentuk sekumpulan bit untuk dikirimkan ke modul I/O atau diterima dari modul I/O. Control Signal menentukan fungsi-fungsi yang akan dilakukan perangkat, seperti mengirimkan data ke modul I/O (INPUT atau READ), menerima data dari modul I/O (OUTPUT atau WRITE), report status, atau membentuk fungsi control tertentu ke perangkat. Signal status menandai status perangkat. Misalnya READY/NOT READY untuk menunjukan kesiapan perangkat untuk mengirimkan data.
Control logic berkaitan dengan perangkat yang mengontrol operasi perangkat dalam memberikan respons yang berasal dari modul I/O. Transducer mengubah data dari energi listrik menjadi energi lain selama berlangsungnya output dan dari bentuk energi tertentu menjadi energi listrik selama berlangsungnya input. Umumnya, suatu buffer dikaitkan dengan transducer untuk menampung sementara data yang ditransfer di antara modul I/O dan dunia luar. Ukuran buffer yang umum adalah 8 hingga 16 bit.
Prinsip kerja yang dilakukan perangkat input adalah merubah perintah yang dapat dipahami oleh manusia kepada bentuk yang dipahami oleh komputer (machine readable form), ini berarti mengubahkan perintah dalam bentuk yang dipahami oleh manusia kepada data yang dimengerti oleh komputer yaitu dengan kode-kode binary (binary encoded information). Perangkat input dapat digolongkan menjadi dua golongan, yaitu perangkat input langsung dan perangkat input tidak langsung. Perangkat input langsung yaitu input yang digunakan langsung diproses di CPU, tanpa melalui media lain. Sedangkan perangkat input tidak langsung adalah input yang dimasukkan tidak langsung dip roses di CPU.
  • Koneksi
Perangkat eksternal dapat dipasang melalui saluran, port, atau colokan tertentu. Pada komputer PC, saluran ini biasanya adalah saluran serial, saluran paralel, saluran USB, dan saluran PCMCIA. Dalam beberapa aplikasi, misalnya untuk menggabungkan dengan telepon seluler, dapat juga digunakan saluran inframerah (IrDA).
  1. Tujuan  Communication Synchronization adalah agar data yang dikirimkan dapat ditafsirkan (dimengerti) oleh penerima dengan tepat dan benar.
  2. Fungsi sinkronisasi:
    • Agar penerima mengetahui dengan tepat dan benar apakah sinyal yang diterima merupakan bit dari suatu data (sinkronisasi bit).
    • Agar penerima mengetahui dengan tepat bit data (data bit) yang membentuk sebuah karakter (sinkronisasi karakter).
Perangkat-perangkat komunikasi memungkinkan komputer untuk saling bertukar data dengan perangkat jarak jauh, yang mungkin berupa perangkat human-readable, serperti terminal, perangkat mesin readable, atau bahkan komputer lainnya.

Port Komputer
Port komputer hardware berfungsi sebagai antarmuka sebuah komputer dengan komputer atau device lain.

Port serial
jenis ini mengirim dan menerima data 1 bit pada saat melalui kabel tunggal.
Digunakan antara lain : LCD

Port Paralel
Dapat mengirim dan menerima sejumlah bit data pada satu saat melalui satu set kabel.

Universal Serial BUS
Pengembangan dari port serial. Sejumlah vendor dari devais standar seperti mouse dan printer telah beralih ke USB. USB lebih memudahkan berkoneksi, plug and play, dirancang tidak bergantung kepada expansion slot, bila dipasang copot, tidak perlu me-reboot komputer.

USB hub
Sebuah USB hub selain dapat menampung sejumlah device, juga dapat menampung sejumlah USB hub.
PCMCIA
Alat yang digunakan untuk menghubungkan komputer laptop (note book) dengan jaringan kabel , contohnya: 3 com.pcmcia ini sangat berguna sekali bagi pengguna note book agar terhubung dengan jaringan komputer.
Hub\Switch
Alat yang digunakan untuk menghubungkan kabel-kabel pada sebuah jaringan komputer. jadi hub ini berfungsi sebagaikonsentrator dari sebuah jaringan selain itu, hub juga berfungsi untuk mengatur arus data yang masuk dan keluar server, bisa di ibaratkan hub ini seperti lampu lalulintas, bila tidak ada lampu lalulintas, dapat dipastikan banyak terjadi kemacetan atau tabrakan, ini pula dapat terjadi pada jaringan. 
Nir Kabel
Bluetooth, Infra merah, wireless, dll.

Unit Masukan dan Keluaran

September 19, 2014
Sistem Komputer
Sistem komputer memiliki tiga komponen utama, yaitu : CPU, Memory (primer & sekunder), dan peralatan masukan/keluaran (I/O) seperti printer, monitor, keyboard, mouse dan modem. dalam menjalankan fungsinya sebagai masukan dan keluaran diperlukan modul I/O. Modul I/O merupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat periperhal.
Modul I/O tidak hanya sekedar mosul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara perperhal dan bus komputer.          Ada beberapa alasan kenapa tidak langsung dihubungkan dengan bus komputer yaitu:
  1. Bervariasinya metode operasi piranti periperhal, sehingga tidak praktis apabila sistem komputer harus menangani berbagai macam sistem operasi periperhal tersebut.
  2. Kecepatan transfer data piranti periperhal umumnya lebih lambat daripada laju transfer data pada CPU
  3. Format dan panjang data pada piranti periperhal seringkali berbeda dengan CPU, sehingga perlu modul untuk menselaraskannya.
       Dari beberapa alasan diatas, modul I/O memiliki 2 buah fungsi utama, yaitu : 
  1. Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
  2. Sebagaimana piranti antarmuka dengan peralatan periperhal lainnya menggunakan link data tertentu.
Sistem Masukan dan Keluaran Komputer
      Bagaimana modul I/O dapat menjalankan tugasnya, yaitu menjembatani CPU dan memori dengan dunia luar merupakan hal terpenting untuk kita ketahui. Inti mempelajari sistem I/O komputer adalah mengetahui fungsi dan struktur kerja modul I/O. 


Gambar 1. model generik dari suatu modul I/O
Fungsi Modul Input/Output
      Modul I/O adalah sebuah komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab juga terhadap pertukaran data antara perangkat luar tersebut dengan memori utama ataupun register-register dalam CPU. Dalam mewujudkan fungsi tersebut, diperlukan antarmuka internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi-fungsi pengontrolan.
Dua fungsi utama Modul I/O ialah :
·       Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
·      Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link data tertentu
      Fungsi dalam menjalankan tugas, modul I/O dapat dibagi menjadi beberapa kategori, yaitu:
  • Kontrol dan pewaktuan
  • Komunikasi CPU
  • Komunikasi dengan perangkat eksternal
  • Pem-buffer-an data
  • Deteksi kesalahan
      Fungsi kontrol dan pewaktuan (control & timming) 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 data yang beragam, baik dengan perangkat internal seperti register-register, memori utama, memori sekunder, perangkat periperhal.  Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan.  Contoh kontrol pemindahan data dari periperhal ke CPU melalui sebuah modul I/O meliputi langkah-langkah sebagai berikut:
  1. Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
  2. Modul I/O memberikan jawaban atas permintaan CPU tersebut.
  3. Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O
  4. Modul I/O akan menenrima paket data dengan panjang tertentu dari periperhal.
  5. Selanjutnya data dikirim ke CPU setelah diadakan seinkronisasi 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. 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.


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.