1. Sistem Input dan Output pada Komputer I/O
Sistem Input Dan Output Komputer atau sering juga disingkat dengan I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pun juga sebaliknya). Fungsi I/O ini pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode apliksi sangat fleksibel, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash.
Agar pembahasan kita tidak melebar keman-mana, mari kita langsung saja ketopik utama pembahasan kita yaitu tentang Sistem Input Dan Output Komputer. Silahkan disimak berikut adalah penjabarannya.
Teknik Pengoperasian Perangkat I/O
a. Perangkat I/O terprogram (programmed I/O)
Merupakan perangkat I/O komputer yang dikontrol oleh sebuah program. Contohnya, seperti perintah mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk pengalihan data dengan kecepatan tinggi karena memiliki dua alasan yaitu:
- Memerlukan overhead (ongkos) yang tinggi, karena beberapa perintah program harus dieksekusi untuk setiap kata data yang dialihkan antara peralatan eksternal dengan memori utama.
- Banyak peralatan periferal kecepatan tinggi memiliki mode operasi sinkron, yaitu pengalihan data dikontrol oleh clock frekuensi tetap, tidak tergantung CPU.
b. Perangkat berkendalikan interupsi (Interrupt I/O)
Interupsi lebih dari sebuah mekanisme sederhana untuk mengkoordinasi pengalihan I/O. Konsep interupsi berguna di dalam sistem operasi dan pada banyak aplikasi kontrol di mana pemrosesan rutin tertentu harus diatur dengan seksama, relatif peristiwa-peristiwa eksternal.
c. DMA (Direct Memory Address)
Merupakan suatu pendekatan alternatif yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal dan memori utama tanpa intervensi terus menerus oleh CPU.
Evolusi telah terjadi pada sistem komputer. Evolusi antara lain terjadi peningkatan kompleksitas dan kecanggihan komponen-komponen sistem komputer. Evolusi sangat tampak pada fungsi-fungsi I/O, yaitu sebagai berikut:
- pemroses secara langsung mengendalikan peralatan I/O. Teknik ini masih dilakukan sampai saat ini, yaitu untuk peralatan sederhana yang dikendalikan mikroprosesor untuk menjadi intelligent device.
- Peralatan dilengkapi pengendali I/O (I/O controller). Pemroses masih menggunakan I/O terprogram tanpa interupsi. Pada tahap ini, pemroses tak perlu memperhatikan rincian-rincian spesifik interface peralatan.
- Tahap ini sama dengan tahap 2 ditambah fasilitas interupsi. Pemroses tidak perlu menghabiskan waktu untuk menunggu selesainya operasi I/O. Teknik ini meningkatkan efisiensi pemroses.
- Pengendali I/O diberi kendali memori langsung lewat DMA. Pengendali dapat memindahkan blok data ke atau dari memori tanpa melibatkan pemroses kecuali di awal dan akhir transfer.
- Pengendali I/O ditingkatkan menjadi pemroses yang terpisah dengan instruksi-instruksi khusus yang ditujukan untuk operasi I/O. Pemroses pusat mengendalikan/memerintahkan pemroses I/O untuk mengeksekusi program I/O yang terdapat di memori utama.
- Pemroses I/O mengambil dan mengeksekusi instruksi-instruksi ini tanpa intervensi pemroses utama (pusat). Dengan teknik ini dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya diinterupsi ketika seluruh barisan telah diselesaikan.
- Pengendali I/O mempunyai memori lokal yang menjadi miliknya dan komputer juga memiliki memori sendiri. Dengan arsitektur ini, sekumpulan besar peralatan I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang minimum.
Arsitektur ini juga digunakan untuk pengendalian komunikasi dengan terminal-terminal interaksi. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal. Evolusi berlangsung terus, jalur yang dilalui oleh evolusi adalah agar fungsi-fungsi I/O dapat dilakukan lebih banyak dan lebih banyak lagi tanpa keterlibatan pemroses pusat. Pemroses pusat yang tidak disibukkan dengan tugas-tugas yang berhubungan dengan I/O akan meningkatkan kinerja sistem. Tahap 5 & 6 merupakan tahap perubahan utama, yaitu konsep pengendali I/O mampu mengeksekusi program itu sendiri.
2. Apa Itu I/O
I/O atau bisa disebut sebagai Unit Input/Output adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar.
Unit Input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya, seperti data yang berasal dari keyboard atau mouse. Sementara,
Unit Output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya, seperti data yang akan ditampilkan pada layar monitor atau printer.
Lalu, bagian Input (masukan) dan juga keluaran (Output) ini juga memerlukan sinyal kontrol, antara lain untuk baca I/O menggunakan IOR atau kepanjangannya "Input/Ouput Read" dan untuk tulis I/O menggunakan IOW atau kepanjangannya "Input/Output Write".
3. Contoh I/O
4. 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.
a. 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.
b. 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.
c. 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).
Tujuan Communication Synchronization adalah agar data yang dikirimkan dapat ditafsirkan (dimengerti) oleh penerima dengan tepat dan benar.
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.
5. Modul-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.
- Fungsi Modul I/O
a. Control & Timing
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 kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah-langkah penanganan I/O sbb :
- 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.
b. Komunikasi CPU
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.
c. Komunikasi Perangkat (device communication)
Meliputi perintah, informasi status dan data.
d. Data 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.
e. Deteksi Error
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.
6. 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.
Dalam teknik I/O terprogram, terdapat dua macam inplementasi 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 modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori 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 saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.
7. Direct Memory Access (DMA)
DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori.
CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.
8. Saluran I/O dan Processor
a. Saluran I/O
Pada kebanyakan sistem komputer, CPU tidak dibebani menangani tugas yang berhubungan dengan I/O. Tetapi tanggung jawab untuk kontrol peralatan diserahkan pada prosesor I/O, yang dikenal sebagai saluran I/O (I/O channel).
Saluran I/O itu sendiri merupakan prosesor yang sudah diprogram. Program-program yang di-execute ini disebut channel program. Channel program ini menentukan operasi, yang diperlukan untuk akses peralatan dan mengontrol jalur data (data pathway).
b. Macam-Macam Saluran
1. Selector I/O;
Dapat mengatur aliran data antara memori utama dengan sebuah peralatan pada saat tersebut. Karena saluran merupakan processor-processor yang cepat maka saluran selektor biasanya hanya menggunakan peralatan I/O dengan kecepatan tinggi, seperti disk. Penggunaan peralatan dengan kecepatan rendah, misal card reader.
2. Multiplexor Channel;
Dapat mengatur aliran data antara memori utama dengan beberapa peralatan. Saluran Multiplexor lebih efektif bila menggunakan peralatan dengan kecepatan rendah, dibandingkan dengan selector channel. Dengan saluran multiplexor, beberapa peralatan dapat diaktifkan secara serentak, tetapi saluran harus melengkapi saluran program untuk satu peralatan sebelum memulai dengan saluran program lain.
3. Block Multiplexor Channel;
Mengatur aliran data ke berbagai peralatan. Block Multiplexor Channel dapat mengeksekusi satu instruksi dari saluran program untuk satu peralatan, kemudian dapat mengalihkan instruksi-instruksi dari saluran program itu ke peralatan yang lain.
c. Aktif Saluran
Tujuan dari saluran I/O adalah sebagai perantara antara CPU-main memory dengan unit pengontrol penyimpan. CPU berkomunikasi dengan saluran melalui beberapa perintah yang sederhana.
d. Beberapa saluran akan memberi perintah :
- Test I/O, untuk menentukan apakah jalur (pathway) yang menuju peralatan sedang sibuk.
- Start I/O, pada peralatan tertentu.
- Halt I/O, pada peralatan tertentu.
Saluran biasanya berkomunikasi dengan CPU melalui cara interupsi. Interupsi akan terjadi, jika keadaan error terdeteksi, misalnya instruksi CPU yang salah atau jika aktifitas I/O telah diakhiri.
Jika interupsi terjadi, kontrol akan bercabang melalui rutin pengendali interupsi (interrupt-handler routine), dimana kontrol akan menentukan penyebab dari interupsi, melakukan kegiatan yang tepat, kemudian mengembalikan kontrol pada pemanggil (caller).
ROM & Jenis-Jenis ROM
SUMBER:
http://tomkompi.blogspot.com/2013/11/Pengertian-Sistem-Input-Dan-Output-Komputer.html
http://id.wikipedia.org/wiki/I/O
http://blog-izie.blogspot.com/2012/11/io-device-perangkat-inputoutput-komputer.html
http://novisusanti45.wordpress.com/2013/11/09/arsitektur-komputer-pita-magnetik-perangkat-eksternal-dan-modul-modul-io/
http://listiyohany.blogspot.com/2013/01/io-terprogram.html
http://fujhyzhu.wordpress.com/2010/05/22/direct-memory-access-dma/
http://riskydwiyanti.wordpress.com/2013/10/20/saluran-io-dan-processor/
https://ryanflyway.wordpress.com/keamanan-sistem-komputer/jenis-jenis-memori-internal/jenis-jenis-rom/
0 komentar:
Posting Komentar