Anda di halaman 1dari 10

TeoriPertemuan 9

Konsep I/O

I/O adalah bagian dari struktur sebuah komputer yang berfungsi sebagai pintu gerbang bagi
CPU untuk dapat berinteraksi dengan lingkungan nya atau “environment”-nya.
Environment CPU dapat berupa peralatan-peralatan lain diluar CPU seperti: peripheral
(harddisk, CD-ROM drive, sensor, mouse dsb.) , user (manusia) .Tanpa I/O maka sebuah
komputer tidak dapat berinteraksi dengan lingkungannya, seperti halnya sebuah rumah yang
tidak memiliki pintu , atau jendela.

Modul I/O

Modul I/O adalah 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 system
komputer, yaitu :  
 Bervariasinya metode operasi piranti peripheral, sehingga tidak praktis apabila
system computer harus menangani berbagai macam system 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 : 
 Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
 Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan
menggunakan link data tertentu.

Teknik Pengoperasian Perangkat I/O

1. Perangkat I/O terprogram (Programmed I/O)


2. Perangkat berkendalikan interupsi (Interrupt I/O)
3. DMA (Direct Memory Address)
1. Perangkat I/O Terprogram (Programmed I/O)

 Merupakan perangkat I/O komputer yang dikontrol oleh program.

 Pada I/O terprogram, data salingdipertukarkanantara CPU dan modul I/O. CPU
mengeksekusi program yang memberikanoperasi I/O kepada CPU secaralangsung,
sepertipemindahan data, pengirimanperintahbacamaupuntulis, dan monitoring
perangkat. 
 Kelemahanteknikiniadalah CPU akanmenunggusampaioperasi I/O
selesaidilakukanmodul I/O sehinggaakanmembuangwaktu, apalagi CPU lebihcepat
proses operasinya. Dalamteknikini, modul I/O tidakdapatmelakukaninterupsikepada
CPU terhadap proses – proses yang diinteruksikanpadanya. Seluruh proses
merupakantanggungjawab CPU sampaioperasilengkapdilaksanakan. 
 Untukmelaksanakanperintah – perintah I/O, CPU
akanmengeluarkansebuahalamatbagimodul I/O dan
perangkatperipheralnyasehinggaterspesifikasisecarakhusus dan sebuahperintah I/O
yang akandilakukan. 
 Perangkat I/O terprogram tidak sesuaiuntuk pengalihan data dengan kecepatan tinggi
karena dua alasan yaitu:

1. Memerlukan overhead (ongkos) yang tinggi, karena beberapa perintah program


harus dieksekusi untuk setiap kata data yang dialihkan antara peralatan eksternal
dengan memori utama.

2. Banyak peralatan peripheral kecepatan tinggi memiliki mode operasi sinkron,


yaitu pengalihan data dikontrol oleh clock frekuensi tetap, tidak tergantung CPU.

Perludiketahuibahwa Programmed I/O bisadibilangmetode yang paling


primitifdibandingteknikoperasi I/O yang lain dimanateknikinitidakbisamenjalankan 2
instruksisekaligus, Misalkanbilakomputerandasedangnge-print
sesuatumakakomputerandatidakbisamenjalankanproyektor yang andacolokan,
dimanaandaperlumenungguinstruksiawalyakninge-print sampaiselesai,
barulahandabisamenjalankanproyektor yang andacolokan
2. Interrupt Driven I/O

 Interupsiadalahmekanismepenghentianataupengalihanpengolahaninstruksidalam CPU
kepada routine interupsi. Hampirsemuamodulmemori dan (I/O) memilikimekanisme
yang dapatmenginterupsikerja CPU.

 Tujuaninterupsisecaraumumuntukmenejemenpengeksekusian routine instruksi agar


efektif dan efisienantar CPU dan modul - modul I/O maupunmemori.
Setiapkomponenkomputerdapatmenjalankantugasnyasecarabersamaan,
tetapikendaliterletak pada CPU disampingitukecepataneksekusimasing -
masingmodulberbedasehinggadenganadanyafungsiinterupsiinidapatsebagaisinkronisas
ikerjaantarmodul.

 Macam-macamkelassinyalinterupsi : 

1. Program, yaituinterupsi yang dibangkitkandenganbeberapakondisi yang terjadi


pada hasileksekusi program. Contohnya: arimatika overflow, pembagiannol,
oparasiilegal. 
2. Timer, adalahinterupsi yang dibangkitkanpewaktuandalamprosesor.
Sinyalinimemungkinkansistemoperasimenjalankanfungsitertentusecarareguler. 
3. I/O, sinyalinterupsi yang dibangkitkan oleh modul I/O
sehubunganpemberitahuankondisi error dan penyelesaiansuatuoperasi. 
4. Hardware failure, adalahinterupsi yang dibangkitkan oleh
kegagalandayaataukesalahanparitasmemori

Apabilainterupsiditerimaatauditangguhkan, prosesorakanmelakukanhal- haldibawahini:

 Prosesormenangguhkaneksekusi program yang dijalankan dan


menyimpankonteksnya. Tindakaniniadalahmenyimpanalamatinstruksiberikutnya yang
akandieksekusi dan data lain yang relevan. 

 ProsesormenyetelProgram Counter(PC) kealamatawalRoutine Interrupt Handler.

Terdapatbermacamteknik yang digunakan CPU dalammenangani program interupsiini,

diantaranya : 

1. Multiple Interrupt Lines. 


Teknik yang paling
sederhanaadalahmenggunakansaluraninterupsiberjumlahbanyak (Multiple
Interrupt Lines) antara CPU dan modul – modul I/O.
Namuntidakpraktisuntukmenggunakansejumlahsaluran bus atau pin CPU
keseluruhsaluraninterupsimodul – modul I/O.
2. Software poll. 
Alternatiflainnyaadalahmenggunakan software poll. Prosesnya,
apabilaCPUmengetahuiadanyasebuahinterupsi, maka CPU akanmenujuke
routine layananinterupsi yang tugasnyamelakukan poll seluruhmodul I/O
untukmenentukanmodul yang melakukaninterupsi. Kerugian software poll
adalahmemerlukanwaktu yang lama
karenaharusmengidentifikasiseluruhmoduluntukmengetahuimodul I/O
yang melakukaninterupsi.
3. Daisy Chain. 
Teknik yang lebihefisienadalah daisy chain, yang menggunakan hardware
poll. Seluruhmodul I/O tersambungdalamsaluraninterupsi CPU
secaramelingkar (chain). Apabilaadapermintaaninterupsi, maka CPU
akanmenjalankansinyal acknowledge yang berjalan pada
saluraninterupsisampaimenjumpaimodul I/O yang mengirimkaninterupsi.
4. ArbitrasiBus.
Teknik berikutnyaadalaharbitrasi bus. Dalammetodeini, pertama –
tamamodul I/O memperolehkontrol bus
sebelummodulinimenggunakansaluranpermintaaninterupsi.
Dengandemikianhanyaakanterdapatsebuahmodul I/O yang
dapatmelakukaninterupsi.

 ContohPengontrol Interrupt pada Chip Intel 8259A :


Intel mengeluarkan chips 8259A yang dikonfigurasikansebagai interrupt arbiter pada
mikroprosesor Intel 8086. Intel 8259A melakukanmanajemeninterupsimodul - modul
I/O yang tersambungpadanya. Chips
inidapatdiprogramuntukmenentukanprioritasmodul I/O yang lebihduluditangani CPU
apabilaadapermintaaninterupsi yang bersamaan. Berikut mode – mode interupsi yang
mungkinterjadi : 
•   Fully Nested: permintaaninterupsidenganprioritasmulai 0 (IR0) hingga 7(IR7). 

•   Rotating:
bilasebuahmodultelahdilayaniinterupsinyaakanmenempatiprioritasterendah. 

•   Special Mask: prioritasdiprogramuntukmodul I/O tertentusecaraspesial. 

 Kelemahan I/O terprogram dan Interrupt Driven I/O 

Proses yang terjadi pada modul I/O masihmelibatkan CPU secaralangsung,


berimplikasipada : 

a.    Kelajuan transfer I/O yang tergantungkecepatanoperasi CPU. 

b.    Kerja CPU terganggukarenaadanyainterupsisecaralangsung 

 Elemen-elemen pada sistem Interrupt- Driven I/O 

a.     SIM :Untukmenghalangi hardware interrupt 

b.    Bit MSE :Untukmengaktifkanpemasangan mask 

c.     RIM :Untukmembaca status dari interrupt masking 

d.    PC :Untukmenghitungindeksdari stack yang sedangdiproses 

e.     RS :Untukmenyimpan byte atau opcode instruksi 

f.     Informasi yang berkenaandengan program yang diinterupsi

3. Direct Access Memory (DMA)

 Merupakansuatupendekatanalternatif yang digunakansebagai unit pengaturankhusus


yang disediakanuntukmemungkinkanpengalihanblok data
secaralangsungantaraperalataneksternal dan
memoriutamatanpaintervensiterusmenerus oleh CPU.

 Teknik ini pada dasarnyasamadengankeduateknik di atasnamun yang


membedakanadalahterdapatmodul DMA tersendiri di dalammodul I/O pada teknikini.
Pada gambar di atasmenggambarkanbahwa CPU tidakberhubunganlangsungdengan
I/O secaralangsungmelainkanberhubungandenganmodul DMA yang mana
secarapenjelasanringkasbahwa DMA menyimpaninstruksi-intruksi yang diterima oleh
I/O, kemudianbila CPU sudahsiapmakainstruksitersebutakandieksekusi. Karena
itubisadianalogikanketikabanyaknya proses I/O yang masukmaka CPU
tidakakanmengalami Crash, karenasegalainstruksinyadisimpandidalammodul DMA.

 Jenis-Jenis DMA (Direct Memory Access)


Ada 2 jenis DMA, yaitu:

1. Third−party DMA, untukmelakukanoperasi transfer data menggunakan DMA


controller yang ada pada motherboard.

2. First−party DMA (busmastering DMA). Untukmelakukanoperasi transfer data


dikerjakan oleh bagian logic di interface card.

 Struktur DMA (Direct Memory Access)


1. Transfer data dari buffer kememoriatausebaliknyadilakukan per-karakter.
2. Setiap kali transfer selaluadainterruptdari CPU sebelum dan sesudah transfer.
3. Jikawaktuuntukmentransfersatukaraktersebesar 2 μs dan sekali interrupt butuh
1ms, makauntukmentransfer data darimemorikebufferbutuh 4 μs per karakter.
4. Denganmenggunakan DMA transfer data dapatdilakukansecaralangsung oleh
device controller per-bloktanpaadacampurtangandari CPU.
5. CPU hanyamemberikan interrupt sebelumdansesudah transfer setiapblok.

 Fungsi DMA (Direct Memory Access)


Agar CPU dapatmelakukanpekerjaanatauinstruksi yang
berbedaketikamelakukanoperasibacatulisdariperangkat peripheral. Tanpaadanya 
DMA CPU akanterussibukmelakukanoperasibacatulis (transfer data) dan
tidakdapatmelakukanataumenyelesaikaninstruksi yang lain. Denganadanya DMA,
CPU cukupmempersiapkan DMA chip
dengancaramemberikanbeberapainformasisepertijumlah data bit yang ditransfer,
alamatdari device dan memory yang diperlukan dan arahdarialiran data tersebut,
setelahitu DMA chip sendiri yang akanmenyelesaikannya. DMA chip
akanmelakukaninterupt, ketikapekerjaannyasudahselesai. Selama DMA chip
melakukantugasnyahinggamunculnyainterupt, CPU dapatmenyelesaikaninstruksi
yang lainnya

 Metode DMA DalamMentransfer Data


1. Metode yang sangatbaku dan sederhanadisebut HALT, atau Burst Mode DMA,
karenapengendali DMA memegangkontroldarisistem bus dan
mentransfersemuablok data keataudarimemori pada single burst. Selagi transfer
masihdalamprosres, sistemmikroprosessordiset idle,
tidakmelakukaninstruksioperasiuntukmenjaga internal register. Tipeoperasi DMA
sepertiiniada pada kebanyakankomputer.
2. Metodekedua, mengikutsertakanpengendali DMA
untukmemegangkontroldarisistem bus untukjangkawaktu yang lebihpendek pada
periodedimanamikroprosessorsibukdenganoperasi internal dan
tidakmembutuhkanakseskesistem bus. Metode DMA inidisebut cycle stealing
mode. Cycle stealing DMA lebihkompleksuntukdiimplementasikandibandingkan
HALT DMA, karenapengendali DMA
harusmempunyaikepintaranuntukmerasakanwaktu pada saatsistem bus terbuka.

 Cara Kerja DMA


Adapun juga carakerjanyasebagaiberikut: 
 I/O Device terhubungdengan DMA controller memberikaninstruksi yang
harus di proses.
 DMA controller mengirimkanpemberitahuanke processor akanada proses yang
dihandle oleh DMA controller.
 Processor menginformasikanke memory bahwa DMA akanmengakses
memory untukpemrosesansuatuinstruksi.
 DMA Controller terhubungdengan memory dan aksesalamat, data yang
diperlukan.
 DMA controller mengirimkanhasil proses kembalike I/O device.
 Jika proses selesai, DMA controller kembalimelaporkanke processor bahwa
proses telahberesdilakukan.

 Langkah transfer DMA


Ada 3 langkahdalam transfer DMA :
1. Prosesormenyiapkan DMA transfer denganmenyediakan data-data dariperangkat,
operasi yang akanditampilkan, alamatmemori yang menjadisumber dan tujuan
data, dan banyaknya byte yang ditransfer.
2. Pengendali DMA memulaioperasi (menyiapkan bus, menyediakanalamat, menulis
dan membaca data), sampaiseluruhbloksudah di transfer.
3. Pengendali DMA meng-
interupsiprosesordimanaselanjutnyaakanditentukantindakanberikutnya

 Konfigurasimodul DMA
1. Konfigurasi 1 (Single Busatau Detached DMA)

- Karakteristik :Sederhana, murahKelemahanyaadalahJumlahsiklus Bus


Terlalutinggisehinggakinerjasistem bus kurang optimal
- DMA dan modul I/O terpisah
- Setiap transfer harusmengakses bus 2 kali: modul I/O ke DMA kemudian
DMA kememori
- Lebihlambat CPU (tertunda 2 kali)

2. Konfigurasi 2 (Single Bus, Integrated DMA-I/O)


- Karakteristik: Modul I/O dan DMA di-integrasikandalamsatublok - Siklus Bus
berkurangPerancangan DMA lebihrumit
- Modul I/O terintegrasi
- Satu DMA controller dapatmenangani>1 modul I/O
- Setiap transfer hanyaperlumengakses bus satu kali saja DMA kememori
- CPU hanyatertundasatu kali (lebihbaikdarikonfigurasi 1)

3. Konfigurasi 3 (I/O Bus)

- Karakteristik: Menggunakan Bus Khususyaitu I/O Bus


untukmenanganikoneksidengan I/O ,Siklus Bus sangatberkurang, Kinerja DMA
lebihefisien
- Digunakan bus I/O secaraterpisah
- LebihhemathardwareàSemuamodul I/O cukupdilayanidengansebuah DMA
- Setiap transfer hanyaperlumengakses bus satu kali saja DMA kememori
- CPU hanyatertunda (lebihbaikdarikonfigurasi 2)

 Keuntunganmenggunakan DMA
1. Dapatdilihat pada operasimultiaskingseperti UNIX.
2. Transfer data dengan mode DMA akanmenghematsumberdaya CPU sehingga
CPU dapatmelakukanpekerjaan yang lain.
3. Sedangkan pada DOS (yang merupakanoperasi single-tasking)
harusmenunggusampai proses selesaiterlebihdahulubaru
kemudianbisamenjalankan proses berikutnya

Anda mungkin juga menyukai