Sistem, Fungsi, dan Struktur Masukan
A. Pengantar Sistem I/O
Perangkat masukan dan keluaran yang terhubung dengan CPU melalui port data tertentu yang bertugas menangani proses masukan dan keluaran setiap data yang menuju CPU.
Ilustrasi Sistem Input - Proses - Output |
- Jenis peranti masukan dan keluaran yang terus berkembang
- Beragamnya bentuk, format, dan panjang data pada peranti
- Perbedaan kemampuan transfer data antara peranti I/O dan CPU
Perangkat masukan adalah suatu komponen yang berfungsi memasukan data atau perintah dari luar sistem ke dalam suatu memori dan prosesor untuk diolah guna menghasilkan informasi yang diperlukan.
Sistem komputer memiliki tiga komponen utama, yaitu : CPU, memori (primer dan sekunder), dan peralatan masukan/keluaran (I/O devices) seperti printer, monitor, keyboard,mouse, 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.
- Bervariasinya metode operasi piranti peripheral, sehingga tidak praktis apabila sistem komputer harus menangani berbagai macam sistem operasi piranti peripheral tersebut.
- Kecepatan transfer data piranti peripheral umumnya lebih lambat dari pada laju transfer data pada CPU maupun memori.
- Format data dan panjang data pada piranti peripheral seringkali berbeda dengan CPU, sehingga perlu modul untuk menselaraskan.
- Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
- Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link data tertentu.
Sistem Input ( Masukan )
Sistem adalah sebuah jaringan pada elemen-elemen yang saling berhubungan, membentuk satu kesatuan untuk melaksanakan suatu tujuan dari sistem tersebut . sedangkan Input merupakan suatu energi yang dimasukkan ke dalam suatu sistem, yang dapat berupa signal input dan maintenance input. Signal input adalah energi yang akan diolah oleh sistem, berupa data yang dimasukkan ke sistem komputer. Sedangkan maintenance input adalah energi yang digunakan untuk mengolah signal input, berupa program yang digunakan untuk mengolah data yang dimasukkan. Jadi sistem input adalah suatu jaringan yang bekerja sama dan saling berhubungan untuk memasukkan data ke dalam sistem komputer yang akan diolah oleh suatu program tertentu melalui sebuah perangkat masukkan (input device). Perangkat masukkan atau input device merupakan peralatan yang dapat digunakan untuk menerima data yang akan diolah ke dalam komputer. Perangkat ini yang digunakan oleh pengguna untuk melakukan interaksi dengan komputer agar komputer melaksanakan perintah yang diberikan penggunanya.
Prinsip Perangkat Input
Prinsip kerja yang dilakukan perangkat input adalah merubah perintah yang dapat dipahami oleh manusia kepada bentuk yang dipahami oleh komputer (machine readable form), berarti merubah perintah dengan kode-kode biner (binary encoded information). Sebelum mempelajari sistem I/O suatu komputer kita harus mengetahui fungsi dan struktur masukkan atau input.
Model Generik Modul I/O |
Fungsi Input ( Masukan )
Fungsi untuk menjalankan tugas bagi perangkat masukkan adalah:- Kontrol dan pewaktuan
- Komunikasi CPU
- Komunikasi perangkat eksternal.
- Pem-buffer-an data
Fungsi dari 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.
Fungsi komunikasi antara input masukkan dengan CPU dan perangkat eksternal yang memungkinkan adanya sebuah transfer data yang tidak akan terlepas keterkaitannya dengan penggunaan sistem bus, maka akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.
Fungsi selanjutnya adalah 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.
Fungsi masukkan/alat input menurut Jogiyanto adalah untuk memasukkan data ke dalam sistem komputer. Selain itu juga memiliki fungsi untuk memasukkan program ke dalam sistem komputer. Namun, ada beberapa alat input memiliki fungsi ganda, yaitu sebagai alat input sendiri dan sebagai alat output untuk menampilkan hasil. Alat input/output demikian disebut dengan terminal. Apabila terminal dihubungkan dengan pusat komputer yang letaknya jauh dari terminal melalui alat telekomunikasi, maka disebut dengan Remote Job Entry (RJE) Terminal atau Remote Batch Terminal. Terminal dapat digolongkan sebagai berikut ini:
Non intelligent terminal terbatas hanya berfungsi sebagai alat pemasukkan input dan penampil output saja. Terminal seperti ini tidak bisa diprogram, karena tidak mempunyai processor. Non intelligent terminal disebut juga dengan nama dumb terminal. Contoh non intelligent terminal adalah teleprinter terminal, yaitu terminal yang mempunyai keyboard untuk memasukkan input dan alat pelacak untuk menampilkan hasil.
Smart terminal mempunyai suatu microprocessor dan beberapa internal memory di dalamnya.Dengan smart terminal, input yang sudah terlanjut dimasukkan dapat dikoreksi kembali.Smart terminal tidak dapat diprogram oleh pemakai komputer.
Intelligent terminal disebut juga dengan nama logic terminal atau programmable terminal, karena dapat diprogram oleh pemakai komputer. intelligent terminal juga mempunyai microprocessor dan internal memory di dalamnya. Input dapat dimasukkan ke terminal ini, dikoreksi kembali bila masih salah, dan dapat dikirimkan ke pusat komputer bila dihubungkan dengan pusat komputer untuk diproses. Intelligent terminal biasanya digunakan untuk sistem komputer yang berbentuk network (jaringan kerja), yaitu beberapa terminal dihubungkan ke pusat komputer yang berupa CPU yang lebih besar.Intelligent terminal umumnya terdiri dari keyboard, visual display, internal memory dan simpanan luar berupa mini disk.Micro computer yang dihubungkan dengan komputer yang lebih besar merupakan contoh dari intelligent terminal.
Struktur Masukkan (Input)
Struktur input dalam (Supriyanto, 2005, hal. 49) berupa interupsi input, DMA (Direct Memory Access) serta perbedaan dalam penanganan interupsi. Interupsi input bertugas memulai operasi input, CPU meload register yang bersesuaian ke device controller. Sebaliknya device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi input dijalankan ada dua kemungkinan, yaitu synchronous input dan asynchronous input. Pada synchronous input, kendali dikembalikan ke proses pengguna setelah proses masukkan selesai dikerjakan. Sedangkan pada asynchronous input, kendali dikembalikan ke proses pengguna tanpa menunggu proses input selesai. Sehingga proses input dan proses pengguna dapat dijalankan secara bersamaan.
Sedangkan Direct Memory Access (DMA) merupakan suatu metode penanganan input dimana device controller langsung berhubungan dengan memori tanpa campur tangan CPU. Setelah menset buffers, pointers, dan counters untuk perangkat input, device controller mentransfer blok data langsung ke penyimpanan tanpa campur tangan CPU. DMA digunakan untuk perangkat input dengan kecepatan tinggi. Hanya terdapat satu interupsi setiap blok, berbeda dengan perangkat yang mempunyai kecepatan rendah dimana interupsi terjadi untuk setiap byte (word).
B. Teknik Input Output
Perangkat I/O membantu kita berinteraksi dengan komputer agar dapat memberi dan menerima data, program dan hasil, ke / dari komputer. Setiap perangkat I/O memiliki I/O driver yang merupakan sekumpulan program I/O untuk berbagai operasi pada perangkat I/O yang spesifik. I/O driver dari semua perangkat I/O dikenal dengan BIOS.
Metode Transfer Data Perangkat I/O
Metode transfer data perangkat input/output terdapat dua macam yaitu, metode software dan metode hardware.Pada metode software, tugas-tugas mengenai operasi input/output dibuat ke dalam suatu program yang dijalankan oleh CPU. Sehingga CPU tidak terbebani secara total dalam operasi I/O.
Pada metode hardware, program memberikan tanggungjawab pelaksanaan operasi I/O ke unit hardware lain yang disebut DMA Controller.
Terdapat tiga teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt - driven I/O, dan DMA (Direct Memory Access). Ketiganya memiliki keunggulan maupun kelemahan, yang penggunaannya disesuaikan sesuai unjuk kerja masing - masing teknik.
Teknik Input Output |
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:
a. Perintah Control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
b. 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.
c. Perintah Read.
d. 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.
Interrupt - Driven I/O
Teknik 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 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, missal read. 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.
- Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
- CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon interupsi.
- CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
- CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang diperlukan berupa:
- Status prosesor, berisi register yang dipanggil PSW (program status word).
- Lokasi intruksi berikutnya yang akan dieksekusi. Informasi tersebut kemudian disimpan dalam stack pengontrol sistem.
- Kemudian CPU akan menyimpan PC (program counter) eksekusi sebelum interupsi ke stack pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan interupsi.
- Selanjutnya CPU memproses interupsi sempai selesai.
- Apabila pengolahan interupsi selasai, CPU akan memanggil kembali informasi yang telah disimpan pada stack pengontrol untuk meneruskan operasi sebelum interupsi. Terdapat bermacam teknik yang digunakan CPU dalam menangani program interupsi ini, diantaranya:
- Multiple Interrupt Lines
- Software poll.
- Daisy Chain.
- Arbitrasi bus.
- lnterupsi maskable : Interupsi yang dapat didisable (dimatikan) untuk sementara dengan sebuah instruksi disable interupsi khusus.
- Interupsi nonmaskable : Interupsi yang tidak dapat didisable dengan instruksi perangkat lunak.
Dalam sistem komputer terdapat lebih dari satu piranti yang memerlukan pelayanan interupsi, metode untuk pelayanannya :
- Polling/polled interrupt
Berdasarkan urutan prioritas yang telah ditentukan sebelum piranti memerlukan interupsi. Misal : piranti A dan B mempunyai urutan prioritas A lebih Iebih dulu dari B, maka jika A dan B secara bersamaan memerlukan pelayanan interupsi, maka piranti A akan didahulukan.
- Vector Interupt
Peralatan yang berinterupsi diidentifikasikan secara Iangsung dan dihubungkan routine pelayanan vector interrupt.
Pengontrol Interrupt Intel 8259A
Intel mengeluarkan chips 8259A yang dikonfigurasikan sebagai interrupt arbiter pada mikroprosesor Intel 8086. Intel 8259A melakukan manajemen interupsi modul - modul I/O yang tersambung padanya. Chips ini dapat diprogram untuk menentukan prioritas modul I/O yang lebih dulu ditangani CPU apabila ada permintaan interupsi yang bersamaan. Gambar1. menggambarkan pemakaian pengontrol interupsi 8259A. Berikut mode – mode interupsi yang mungkin terjadi :
- Fully Nested: permintaan interupsi dengan prioritas mulai 0 (IR0) hingga 7(IR7).
- Rotating: bila sebuah modul telah dilayani interupsinya akan menempati prioritas terendah.
- Special Mask: prioritas diprogram untuk modul I/O tertentu secara spesial.
Pemakaian pengontrol interupsi 8559A pada 8086 |
Programmable Peripheral Interface Intel 8255A
Contoh modul I/O yang menggunakan I/O terprogram dan interrupt driven I/O adalah Intel 8255A Programmable Peripheral Interface (PPI). Intel 8255A dirancang untuk keperluan mikroprosesor 8086. Gambar berikut menunjukkan blok diagram Intel 8255A dan pin layout-nya.
Modul I/O 8255A |
Bagian kanan dari blok diagram Intel 8255A adalah 24 saluran antarmuka luar, terdiri atas 8 bit port A, 8 bit port B, 4 bit port CA dan 4 bit port CB. Saluran tersebut dapat deprogram dari mikroprosesor 8086 dengan menggunakan register kontrol untuk menentukan bermacam-macam mode operasi dan konfigurasinya. Bagian kiri blok diagram merupakan interface internal dengan mikroprosesor 8086. Saluran ini terdiri atas 8 bus data dua arah (D0 - D7), bus alamat, dan bus kontrol yang terdiri atas saluran CHIP SELECT, READ, WRITE, dan RESET.
Pengaturan mode operasi pada register kontrol dilakukan oleh mikroprosesor. Pada Mode 0, ketiga port berfungsi sebagai tiga port I/O 8 bit. Pada mode lain dapat port A dan port B sebagai port I/O 8 bit, sedangkan port C sebagai pengontrol saluran port A dan B.
PPI Intel 8255A dapat diprogram untuk mengontrol berbagai peripheral sederhana. Gambar berikut memperlihatkan contoh penggunaan 8255A untuk modul I/O Keyboard dan display.
Interface keyboard dan display dengan Intel 8255A |
Direct Memory Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada:
- Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
- Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA).
Prinsip kerja DMA adalah 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. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi. Blok diagram modul DMA terlihat pada gambar berikut :
Blog Diagram DMA |
Konfigurasi modul DMA |
Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus.
Penghentian sementara penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja. Terdapat tiga buah konfigurasi modul DMA seperti yang terlihat pada gambar diatas.
Posting Komentar untuk "Sistem, Fungsi, dan Struktur Masukan"