Modul I/O ( Organisai dan Arsitektur Komputer )




Modul Input / Output 



A.   
Sistem Masukan & Keluaran Komputer  



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 : 


  
Bervariasinya
metode operasi piranti peripheral, sehingga tidak praktis apabila sistem
komputer herus menangani berbagai macam sisem 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 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. 


Sebagai piranti antarmuka dengan peralatan peripheral lainnya
dengan menggunakan link data tertentu. 


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 yang
menyajikan model generik modul I/O. 


style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-8831837670047990"
data-ad-slot="8165358656">


























 


Gambar 1.
Model generik dari suatu modul I/O 





A.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. 



style="display:block"
data-ad-client="ca-pub-8831837670047990"
data-ad-slot="5777540486"
data-ad-format="auto">



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. 


Pada sisi modul I/O ke perangkat
peripheral juga terdapat komunikasi yang meliputi komunikasi data, kontrol maupun
status. Perhatikan gambar 2 berikut. 




  


Gambar 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. 
 


A.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 3.
 




 


Gambar 3 Blok
diagram struktur modul I/O 





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 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. 


B.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: 


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.   


B.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 : 


1.  Perangkat I/O akan mengirimkan sinyal
interupsi ke CPU. 



style="display:block"
data-ad-client="ca-pub-8831837670047990"
data-ad-slot="5777540486"
data-ad-format="auto">



2.  CPU menyelesaikan operasi yang sedang
dijalankannya kemudian merespon interupsi. 


3.  CPU memeriksa interupsi tersebut,
kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.  


4.  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: 


a.  Status prosesor, berisi register yang
dipanggil PSW (program status word). 


b.  Lokasi intruksi berikutnya yang akan
dieksekusi. 


   
Informasi tersebut kemudian disimpan dalam stack pengontrol sistem. 


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
sempai selesai. 


7.  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 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 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 6.6 memperlihatkan contoh
penggunaan 8255A untuk modul I/O Keyboard dan display. 
















 


Gambar 6.
Interface kayboard dan display dengan Intel 8255A 





B.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. 



style="display:block"
data-ad-client="ca-pub-8831837670047990"
data-ad-slot="5777540486"
data-ad-format="auto">



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 7 berikut : 

































Gambar 7. Blok diagram
DMA
























































Gambar 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 8.   


C.    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. 




buat kalian yang ingin materi lengkap yang sudah bahsa indonesia sperti yang di atas, silahkan melakukan download e-book pada LINK INI

untuk contoh makalahnya silahkan download DI SINI



sekian dan seperti biasa, wassalamualaykum warahmatullah wabarokaatuh

selamat pagi, siang, dan malam

Post a Comment

Lebih baru Lebih lama