UNIT INPUT OUTPUT
Unit Input Output atau yang lebih dikenal dengan I/O merupakan bagian dari sistem mikroprosesor yang bekerja menjembatani mikroprosesor dengan peralatan I/O seperti keyboard, printer, monitor, mouse, dan sebagainya. I/O umumnya bersifat dapat diprogram (programmable).
1.Unit Input Output
Selain CPU dan Unit Memori, Unit Input Output (I/O) merupakan komponen pokok dalam sebuah sistem mikroprosesor. Sistem mikroprosesor memerlukan unit I/O untuk menyajikan proses dan hasil pengolahan CPU. Unit I/O bekerja sebagai penghubung antara CPU dengan alat-alat input seperti keypad, keyboard, mouse dan juga sebagai penghubung dengan alat output seperti monitor, printer dan sebagainya. Unit I/O juga bekerja sebagai saluran komunikasi antara CPU dengan sistem diluar. Biasanya untuk berkomunikasi keluar unit I/O yang digunakan dalam sistem mikroprosesor adalah jenis I/O serial.
Monitor sebagai salah satu alat output digunakan untuk menyajikan proses dan hasil pengolahan sebuah komputer. Monitor dalam sistem mikroprosesor semula berfungsi hanya sebagai umpan balik bagi user. Tetapi sekarang telah berkembang dimana lewat monitor sebuah komputer bekerja menerima masukan karakter. Sebenarnya jika keseluruhan proses dan hasil pengolahan CPU telah diyakini kebenarannya bisa saja sebuah komputer dioperasikan tanpa monitor. Akan tetapi karena proses kerja komputer saat ini telah berkembang dalam ukuran data yang besar maka sangat sulit bekerja dengan komputer tanpa monitor. Keberadaan monitor dalam sistem mikroprosesor menjadi mutlak diperlukan. Monitor sebuah komputer dapat berupa sebuah indikator lampu LED, seven segment, LCD, atau monitor tabung CRT.
Untuk mencetak hasil pengolahan data dalam sebuah komputer diperlukan printer. Printer bekerja menghasilkan cetakan berupa hardcopy. Peralatan output sejenis lainnya yang serupa dengan printer adalah plotter. Plotter digunakan untuk mencetak gambar dengan ukuran yang lebih besar dan dengan berbagai jenis warna. Saat ini peralatan cetak berbasis komputer sudah semakin canggih disediakan di pusat-pusat photo copy.
Informasi di luar CPU harus diakses sebagai data masukan. Seperti entri input dari keyboard, mouse, atau beberapa jenis alat input seperti kamera dan sebagainya. Setiap tombol yang ditekan pada keyboard harus ada mekanisme membaca dan mememorikan kode-kode tombol. Demikian juga dengan berbagai jenis input yang lain seperti mouse, scanner, atau dari berbagai jenis sensor yang digunakan dalam sistem kendali. Begitu diproses informasi harus disajikan ke monitor sehingga pengguna komputer mendapat kejelasan baik secara visual atau audio terhadap interaksi kerja yang sedang dilaksanakan. Disinilah peran monitor dan sound diperlukan.
Perkembangan mikroelektronika telah mendukung perkembangan I/O dari unprogrammable ke programmable sistem. I/O semula bekerja tetap dengan perangkat hardware semata tanpa program (unprogrammable). I/O semacam ini fungsinya menjadi terbatas dan tidak fleksibel. Programmable I/O dikembangkan untuk memberi jawaban kelemahan- kelemahan unprogrammable I/O. Dengan programmable I/O sistem mikroprosesor menjadi sangat fleksibel. Sebelum ada program sebuah programmable I/O belum membentuk format fungsi port. Apakah sebuah port sebagai input atau output. Fungsi port terbentuk setelah ada inisialisasi. Inisialisasi adalah proses dimana sebuah program kecil bekerja membentuk fungsi port apakah sebagai masukan, keluaran, atau dua arah. Inisialisasi dilakukan diawal pemakaian melalui program inisialisasi Setelah program inisialisasi bekerja baru I/O memiliki format fungsi khusus. Port I/O bekerja menjembatani CPU dengan alat input dan alat output.
Beberapa komponen I/O terprogram yang sangat populer dalam dunia sistem mikroprosesor adalah Z-80 PIO dan PPI 8255. Berdasarkan pola aliran data pada I/O dapat digolongkan menjadi dua yaitu I/O Paralel I/O Serial.
I/O Paralel
I/O paralel adalah jenis I/O yang mengalihkan data pada setiap port saluran secara paralel. Alih data secara paralel bekerja mengalihkan data secara serempak dari D0 sampai dengan D7. Ada sejumlah saluran pengalir data yang disebut dengan Port. Biasanya setiap port terdiri dari 8 bit saluran. Setiap port paralel dapat diprogram fungsi dan arah aliran data yang dibutuhkan. Port paralel menyediakan keuntungan pada kecepatan akses karena data ditransmisikan secara simultan. Berikut dibahas dua jenis I/O paralel yang sangat populer digunakan di lapangan yaitu Z-80 PIO dan PPI 8255
I/O SERIAL
I/O serial adalah unit masukan keluaran yang bekerja atas dasar prinsip urut/seri. Dalam hal ini diperlukan proses konversi dari data paralel ke bentuk serial dan sebaliknya .
Sistem I/O (Input/Output)
Pengertian Sistem Input Dan Output 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 pula sebaliknya). Fungsi I/O 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 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 program.Contohnya, perintah mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk pengalihan data dengan kecepatan tinggi karena 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)
Direct Memory Access (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.
Tiga langkah dalam transfer DMA:
1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.
2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
3. Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.
Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama ialah metode yang sangat baku dan sederhana disebut HALT, atau Burst Mode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih
dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode yang kedua, mengikutsertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle stealing DMA lebih kompleks untuk diimplementasikan
dibandingkan HALT DMA, karena pengendali DMA harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka.
Kelemahan I/O terprogram dan Interrupt- Driven I/O
• Kelajuan transfer I/O yang tergantung kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.
Prinsip kerja DMA
• CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi
• Melaksanakan transfer data secara mandiri :
1. DMA memerlukan pengambilalihan kontrol bus dari CPU
2. DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus
3. Teknik cyclestealing, modul DMA mengambil alih siklus bus.
I/O Terprogram
Terdapat tiga buah teknik yang dapat digunakan dalam operasi I/O. Pada I/O terprogram, data saling dipertukarkan antara CPU dengan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, termasuk status perangkat pengindera, pengiriman perintah pembacaan atau penulisan dan pemindahan data. Ketika CPU mengeluarkan perintah ke modul I/O, maka CPU harus menunggu sampai operasi I/O selesai. Apabila CPU lebih cepat dibandingkan modul I/O maka hal ini akan membuang-buang waktu CPU. Dengan menggunakan interrupt driven I/O, CPU mengeluarkan perintah CPU dilanjutkan dengan mengeksekusi instruksi-instruksi lainnya dan diinterupsi oleh modul I/O apabila instruksi-instruksi tersebut telah selesai dilaksanakan. Dengan menggunakan I/O terprogram dan I/O interrupt maka CPU bertanggungjawab atas pengeluaran data dari memori utama untuk keperluan output dan penyimpanan data di dalam memori utama untuk keperluan input. Alternatifnya dikenal sebagai direct memory access(DMA). Dalam mode ini, modul I/O dan main memori saling bertukar data secara langsung tanpa melibatkan CPU.
Contoh Komponen I/O
Perangkat input adalah perangkat yang digunakan untuk memasukkan data atau
perintah ke dalam komputer. Peralatan yang hanya berfungsi sebagai alat input dapat
digolongkan menjadi :
Alat input langsung
Alat input tidak langsung
1. Alat Input langsung
Yaitu alat input yang dimasukan dan langsung diproses oleh alat pemroses, contohnya yaitu:
Keyboard
merupakan peranti masukan yang terdiri dari kumpulan huruf, angka dan karakter khusus. Keyboard juga memberikan kemudahan bagi user untuk memberikan perintah yang diperlukan apabila menekan kombinasi antara karakter yang ada pada keyboard dengan tombol-tombol tertentu.
Mouse
Peranti masukan dengan bentuk seperti tikus ini berfungsi untuk memindahkan pointer atau kursor secara cepat
Scanner
berfungsi untuk menyalin (copy) file atau dokumen baik berupa teks atau gambar menjadi teks atau gambar digital.
Barcode
berfungsi untuk membaca suatu kode yang berbentuk kotak atau garis-garis vertikal tipis dan tebal yang selanjutnya diterjemahkan dalam bentuk angka-angka. Biasanya kode barcode ini ditemukan pada kemasan makanan, minuman, buku, alat elektronik serta produk-produk. Biasanya barcode ini memudahkan kasir yang ada di toko swalayan atau departemen store untuk mengidentifikasi suatu barang yang dibeli.
2. Alat Input tidak langsung
Yaitu alat input yang dimasukan melalui media tertentu sebelum suatu input diproses oleh alat pemroses. Contohnya yaitu:
a. Key To Card
Key to card atau keypunch adalah salah satu alat masuka paling tua, alat ini memungkinkan operator memasukan data yang akan dipindah terlebih dahulu ke dalam bentuk media punched card. Bila digunakan beberapa unit alat keypunch,maka dapat dilakukan pembagian tugas merubah data dari sumber data ke dalam bentuk kartu plong.kumpulan kartu plong selanjutnya dapat dibacakan ke komputer untuk diproses melalui card reader
b. Key To Tape
Alat ini memungkinkan operator untuk merekamkan data ke media penyimpanan luar pita magnetic sebelum diproses ke CPU. Data yang tersimpan di pita magnetic diproses ke CPU dapat dibacakan ke computer lewat alat pembaca pita magnetic
c. Key To Disk
Seperti key to card, maka key to disk memungkinkan operator untuk merekam data lebih dulu ke media simpanan luar, misalnya disket. Data yang disimpan dalam disket dibaca di CPU lewat Flopy Disk Drive.
2. Perangkat Proses
“Perangkat proses yaitu perangkat komputer yang berfungsi untuk memproses atau mengelola data yang masuk sehingga menjadi suatu informasi yang diinginkan”.
a. Cpu (Central Procesing Unit)
merupakan tempat pemrosesan instruksi – instruksi program biasa disebut microprocessor terdiri dari :
Ø Unit kendali (control unit)
Ø Unit aritmatika dan logika (aritmetic and logic unit) alu
Ø Simpanan (register)
b. Main Memory
- Register
- Main memory
a. Ram (random access memory) adalah memory yang dapat diakses dan bersifat volatile
b. Rom ( read only memory) adalah memory yang hanya dapat dibaca dan bersifat non volatile
- Simpanan luar (external memory)
3. Perangkat Output
“Output Device yaitu perangkat keras yang berfungsi untuk mengeluarkan data yang telah diproses sehingga menjadi suatu informasi”.
Yang termasuk perangkat output diantaranya :
Alat keluaran juga dapat berbentuk :
1. Hard copy device
2. Soft copy device
a. Hard Copy Device
Merupakan alat keluaran yang digunakan untuk mencetak tulisan, grafik, atau gambar pada media pencetak. Alat hard copy device yang umum diperguanakan adalah printer. Selain itu juga dikenal plotter, yaitu alat cetak yang mempunyai kemampuan mencetak grafik atau gambar dengan baik, biasanya menggunakan pen plotter.
b. Soft Copy Device
Merupakan alat yang digunakan untuk menampilkan tulisan, image, dan suara pada media soft (lunak) yang berupa sinyal elektronik. Contoh soft copy device adalah video display (monitor), flat panel display (Liquid Crystal Display), dan speaker.
Prinsip Perangkat Keras I/O
Batasan : bagaimana hardware tersebut di program
Manajemen perangkat I/O mempunyai beragam fungsi, diantaranya :
- mengirimkan perintah ke perangkat I/O agar menyediakan layanan
- menangani interupsi perangkat I/O
- menangani kesalahan pada perangkat I/O
- menyediakan interface ke pemakai
Jenis-jenis Perangkat I/O
Secara umum, terdapat beberapa jenis perangkat I/O, seperti :
- perangkat penyimpanan (disk, tape)
- perangkat transmisi (network card, modem) dan
- perangkat antarmuka dengan pengguna (screen, keyboard, mouse).
Perangkat tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki oleh perangkat akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/shared direct access), dan pengendali (host adapter). Port ialah koneksi yang digunakan oleh perangkat untuk berkomunikasi dengan mesin. Bus ialah koneksi yang menghubungkan beberapa perangkat menggunakan kabel-kabel. Pengendali ialah alat-alat elektronik yang berfungsi untuk mengoperasikan port, bus, dan perangkat. Langkah yang ditentukan untuk perangkat ialah command-ready, busy, dan error. Host mengeset command-ready ketika perintah telah siap untuk dieksekusi oleh pengendali. Pengendali mengeset busy ketika sedang mengerjakan sesuatu, dan men-clear busy ketika telah siap untuk menerima perintah selanjutnya. Error diset ketika terjadi kesalahan.
Modul I/O (Input/Output)
Adalah interface atau central switch untuk mengendalikan satu atau lebih peripheral atau perangkat input output.
Konektor mekanis berisi fungsi logik untuk komunikasi antara bus dan peripheral..
Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus computerModul I/O adalah suatu komponen dalam sistem komputer yang Bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan juga,Bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register – register CPU termasuk internal interface(antarmuka internal) dengan komputer (CPU dan memori utama) dan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan
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 kategori :
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
yaitu 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.
Saluran I/O dan Processor
Proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung, berimplikasi pada :
• CPU akan mendelegasikan kerja I/O kepada DMA
• CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja
Klasifikasi berdasar arah data
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).
MACAM-MACAM SALURAN
1. Selector Channel
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, sepertidisk.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.
MACAM-MACAM DEVICE
1. Dedicated Device
Digunakan untuk pengaksesan oleh satu orang pada setiap saat.
Contoh : Terminal.
2. Shared Device
Digunakan untuk pengaksesan oleh banyak pemakai secara bersamaan.
Contoh : Disk.
Aktifitas I/O untuk shared device adalah sangat kompleks dibanding aktifitas I/O pada dedicated device. Dua fungsi yang sangat penting dari shared device adalah alokasi tempat dan pemberian akses yang tepat.
AKTIVITAS 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.
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).
Sumber :