Mataram, 19 Mei 2016
TUGAS
KELOMPOK ORKOM
INPUT
OUTPUT DEVICE
Disusun
Oleh :
APRILIANI
(1510520170)
MUSTIKA
NILA (1510520155)
RIZKI
SETYAWATI (1510530153)
M.
HUSNULWARDI (1510520164)
KELAS/PRODI
: C/S1.TI
STIMK BUMIGORA MATARAM
TEKNIK INFORMATIKA
2016
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. Beberapa bab sebelumnya telah membahas CPU
dan memori, sekarang akan kita jelaskan tentang peralatan atau modul I/O pada
bab ini. 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.
Ada
beberapa alasan kenapa piranti – piranti tidak langsung dihubungkan dengan bus
sistem
komputer, yaitu :
o
Bervariasinya metode
operasi piranti peripheral, sehingga tidak praktis apabila sistem komputer
herus menangani berbagai macam sisem operasi piranti peripheral tersebut.
o
Kecepatan transfer data
piranti peripheral umumnya lebih lambat dari pada laju transfer data pada CPU
maupun memori.
o
Format data dan panjang
data pada piranti peripheral seringkali berbeda dengan CPU, sehingga perlu
modul untuk menselaraskannya.
Dari
beberapa alasan diatas, modul I/O memiliki dua buah fungsi utama, yaitu :
1. Sebagai piranti antarmuka
ke CPU dan memori melalui bus sistem.
2. Sebagai piranti antarmuka
dengan peralatan peripheral lainnya dengan menggunakan link data tertentu.
A. Sistem
Masukan & Keluaran Komputer
Bagaimana modul
I/O dapat menjalankan tugasnya, yaitu menjembatani CPU dan memori dengan dunia
luar merupakan hal yang terpenting untuk kita ketahui. Inti mempelajari sistem I/O
suatu komputer adalah mengetahui fungsi dan struktur modul I/O. Perhatikan gambar
1.1 yang menyajikan model generik modul I/O.
Gambar
1.1 Model generik dari suatu modul I/O
1.
Fungsi 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 dalam menjalankan tugas
bagi modul I/O dapat dibagi menjadi beberapa katagori, yaitu:
·
Kontrol dan pewaktuan.
·
Komunikasi CPU.
·
Komunikasi perangkat
eksternal.
·
Pem-buffer-an data.
·
Deteksi kesalahan.
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
berikut ini :
1. Permintaan dan
pemeriksaan status perangkat dari CPU ke modul I/O.
2. Modul I/O memberi jawaban
atas permintaan CPU.
3. Apabila perangkat
eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke
modul I/O.
4.
Modul I/O akan menerima
paket data dengan panjang tertentu dari peripheral.
5. 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. 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.
Gambar
1.2 Skema suatu perangkat peripheral
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 terakhir adalah
deteksi kesalahan. 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.
2.
Struktur Modul I/O
Terdapat berbagai
macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang
sederhana dan fleksibel adalah Intel 8255A yang sering disebut PPI (Programmable
Peripheral Interface). Bagaimanapun kompleksitas suatu modul I/O, terdapat
kemiripan struktur, seperti terlihat pada gambar 1.3.
Gambar
1.3 Blok diagram struktur modul I/O
\
Antar muka 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 peripheral, terdapat fungsi
pengaturan dan switching pada blok ini.
B. Teknik
Masukan/Keluaran
Terdapat tiga buah
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.
1.
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.
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.
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.
2.
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, misal 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. Pengolahan
interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah
sebagai berikut :
a. Perangkat I/O akan
mengirimkan sinyal interupsi ke CPU.
b. CPU menyelesaikan operasi
yang sedang dijalankannya kemudian merespon interupsi.
c. CPU memeriksa interupsi
tersebut, kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke
perangkat I/O untuk menghentikan interupsinya.
d. 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:
1.
Status prosesor, berisi
register yang dipanggil PSW (program status word).
2. Lokasi intruksi
berikutnya yang akan dieksekusi. Informasi tersebut kemudian disimpan dalam
stack pengontrol sistem.
e. Kemudian CPU akan
menyimpan PC (program counter) eksekusi sebelum interupsi ke stack pengontrol
bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan interupsi.
f.
Selanjutnya CPU memproses
interupsi sempai selesai.
g. 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.
Teknik
yang paling sederhana adalah menggunakan saluran interupsi berjumlah banyak (Multiple
Interrupt Lines) antara CPU dan modul – modul I/O. Namun tidak praktis
untuk menggunakan sejumlah saluran bus atau pin CPU ke seluruh saluran
interupsi modul – modul I/O. Alternatif lainnya adalah menggunakan software
poll. Prosesnya, apabila CPU mengetahui adanya sebuah interupsi, maka CPU
akan menuju ke routine layanan interupsi yang tugasnya melakukan poll seluruh
modul I/O untuk menentukan modul yang melakukan interupsi. Kerugian software
poll adalah memerlukan waktu yang lama karena harus mengidentifikasi seluruh
modul untuk mengetahui modul I/O yang melakukan interupsi.
Teknik
yang lebih efisien adalah daisy chain, yang menggunakan hardware poll.
Seluruh modul I/O tersambung dalam saluran interupsi CPU secara melingkar (chain).
Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal acknowledge
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 ini
menggunakan saluran permintaan interupsi. Dengan demikian hanya akan terdapat
sebuah modul I/O yang dapat melakukan interupsi.
Ø 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. Gambar 6.4 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.
Gambar
1.4 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 6.5 menunjukkan blok diagram Intel 8255A dan pin layout-nya.
Gambar
1.5 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 diprogram 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 1.6 memperlihatkan contoh penggunaan 8255A untuk
modul I/O Keyboard dan display
Gambar
1.6 Interface kayboard dan display dengan Intel 8255A
3.
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 1.7
berikut :
Gambar
1.7 Blok diagram DMA
Gambar
1.8 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 1.8.
C.
Saluran
I/O Dan Prosesor
1. Evolusi Fungsi I/O
a. CPU
mengontrol peripheral secara langsung.
b. Ditambahkannya sebuah pengontrol
atau modul I/O CPU menggunakan I/O terprogram tanpa menggunakan interrupt.
c. CPU menggunakan interrupt
d.
Menggunakan DMA
e. Modul I/O ditingkatkan kemampuannya
menjadi sebuah prosessor yang memiliki tugasnya sendiri, yang menggunakan
instruksi tertentu untuk I/O tertentu.
f. Modul I/O memiliki memori lokalnya
sendiri dan merupakan sebuah computer yang memiliki tugasnya sendiri.
2. Macam-Macam Saluran I/O
a. 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, seperti disk. Penggunaan
peralatan dengan kecepatan rendah, misal card reader.
b. 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.
c. 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.
D. 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 ada monitor. Keyboard dan monitor
tergolang dalam perangkat eksternal komputer.
Perangkat
eksternal atau lebih umum disebut peripheral tersambung dalam sistem CPU
melalui perangat pengendalinya, yaitu modul I/O seperti telah dijelaskan
sebelumnya. Lihat kembali gambar 6.2. Secara umum perangkat eksternal
diklasifikasikan menjadi 3 katagori:
· Human Readable,
yaitu perangkat yang berhubungan dengan manusia sebagai pengguna komputer.
Contohnya: monitor, keyboard, mouse, printer, joystick, disk drive.
· Machine readable,
yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor
dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.
· Communication,
yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Misalnya: NIC dan
modem.
Pengklasifikasian
juga bisa berdasarkan arah datanya, yaitu perangkat output, perangkat input dan
kombinasi output-input. Contoh perangkat output: monitor, proyektor dan
printer. Perangkat input misalnya: keyboard, mouse, joystick, scanner, mark
reader, bar code reader.
Daftar
Pustaka
(9th Edition)
(William Stallings Books on Computer and Data Communications) William
Stallings-Computer
Organization and Architecture-Prentice Hall (2012)
http://adiputra17.it.student.pens.ac.id
https://riskydwiyanti.wordpress.com/2013/10/20/saluran-io-dan-processor










