A.UNIT INPUT DAN OUTPUT
Komputer menerima informasi yang dikodekan melalui perantara
perangkat sebuah inputan,yang akan membaca data tersebut.adapun peralatan input
yang paling populer adalah keyboard,kapanpun suatu tombol di tekan,huruf,angka
dan simbol-simbol yang sesuai akan secara otomatis di terjemahkan menjadi
sebuah kode biner yang tepat dan di transmisikan melalui kabel ke memori atau
prosessor sedangkan unit ouput adalah untuk mengirimkan hasilnya yang telah di
proses ke dunia luar.contoh paling umum dari sebuah peralatan tersebut adalah
printer,speaker dll,printer menggunakan mekanikal head impact,ink jet
stream,atau teknik fotokopi seperti dalam printer laser untuk melakukan
pencetakan.
B. PROSES AKSES PERANGKAT I/O
Salah satu fitur dasar suatu
komputer adalah kemampuannya untuk mempertukarkan data dengan perangkat lain.
Misalnya menggunakan keyboard, printer, layar display dan alat-alat input
lainnya untuk mengolah data, teks, grafik dan lain sebagainya.
Pengaturan sederhana untuk
menghubungkan perangkat I/O ke suatu perangkat komputer adalah dengan
menggunakan pengaturan bus tunggal, Biasanya pengaturan tersebut terdiri dari
tiga set jalur yang digunakan untuk membawa alamat, data, dan sinyal kontrol.
Maka setiap perangkat I/O ditetapkan dengan suatu set alamat yang unik. Ketika
suatu prosesor menerima atau meletakkan suatu alamat pada jalur alamat, maka
perangkat yang mengenali alamat tersebut akan merespon perintah yang telah
dinyatakan pada jalur kendali. Prosesor akan meminta operasi baca atau tulis
dan data yang telah ditransfer dijalur data.
Gambar. Struktur Bus Tunggal
Kebanyakan dalam sistem komputer menggunakan memory-mapped I/O.
Beberapa prosesor memiliki intruksi in dan out khusus untuk menjalankan
transfer I/O.
Gambar. Antar muka I/O untuk perangkat input
Perangakat I/O beroperasi pada kecepatan yang
sangat berbeda dengan prosesor. Ketika saat operator manusia memasukkan
karakter pada keyboard, prosesor mampu mengeksekusi jutaan intruksi antar entri
karakter yang berurutan. Suatu intruksi yang membaca karakter dari keyboard
sebaiknya hanya dieksekusi pada saat karakter tersebut tersedia dalam input
buffer antar muka keyboard. Dan kita juga harus memastikan karakter input
tersebut hanya terbaca satu kali.
C. INTERRUPT
Interrupt ialah cara kerja sederhana bagi modul lain
untuk bisa melakukan interruptsi operasi normal pada CPU.biasanya ,interrupt
meng-enable transfer control dari satu program dengan program lainnya.untuk itu ,dapat
menginisiasikan sutu event yang external terhadap computer itu. Interupsi
atau interrupt ialah suatu permintaan khusus atau perintah untuk melakukan sesuatu, jika terjadi
interupsi maka komputer akan menghentikan dahulu apa yang sedang dikerjakan dan
melakukan apa yang di minta oleh yang menginterupsi, setelah selesai maka aliran
program akan kembali ke pernyataan program sebelum terjadinya interupsi.
Interupsi merupakan sub rutin yang sudah tersedia dalam memori komputer.
Teknik
interrupt I/O prosesnya ialah CPU
memberikan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan oleh
modul, maka CPU dapat melakukan eksekusi perintah-perintah lainnya. Apabila modul I/O telah selesai menjalankan
instruksi yang diberikan, maka modul I/O tersebut akan memberikan interupsi
pada CPU bahwa tugasnya telah selesai. Cara kerja teknik interupsi di sisi
modul I/O yaitu modul menerima perintah, misalnya read. Kemudian modul
melaksanakan perintah pembacaan dari periperhal dan meletakkan paket data ke register
data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui
saluran control. 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
2.
CPU
menyelesaikan operasi yang sedang dijalankan kemudian merespon interupsi.
3.
CPU
memeriksa interupsi
4.
CPU
mempersiapkan pengontrolan transfer rountine interupsi. Hal yang dilakukan
adalah menyimpan informasi yang di perlukan untuk melanjutkan operasi yang tadi
dijalankan sebelum adanya interupsi.
5.
Kemudian
CPU akan menyimpan PC (Program Counter) eksekusi sebelum interupsi ke stack
pegontrol bersama informasi. Selanjutnya mempersiapkan PC untuk penanganan interupsi.
6.
Selanjutnya
CPU memproses interupsi sampai selesai
7.
Apabila
interupsi telah selesai, CPU akan memanggil kembali informasi yang telah disimpan
pada Stack pengontrol untuk meneruskan operasi sebelum interupsi
1.
STRUKTUR INTERRUPT ARM
ARM merupakan
prosessor 32-bit RISC yang dikemukakan oleh ARM Limited. Biasa
dikenal sebagai Advanced RISC Machine. sebelumnya dikenal sebagai Acorn
RISC Machine. Prosesor ARM mempunyai cara kerja
exception-handling sederhana tapi sangat berguna. Ada lima source untuk
exception, diantaranya hanya dua merupakan jalur interrupt-request eksternal,
IRQ & FIQ. Umumnya ARM yaitu prosesor desktop yang kini didominasi
oleh keluarga x86. Tetapi rancangan yang sederhana membuat prosesor ARM tepat
untuk aplikasi berdaya rendah. Pada hal ini, prosesor ARM kini mendominasi pasar mobile electronic dan
embedded system hanya membutuhkan daya dan harga yang rendah.
Pada tahun 2007, hanya 98% dari satu
miliar mobile phone yang terjual menggunakan sebuah prosesor
ARM. Dan ketika tahun 2009, prosesor ARM mendominasi hanya 90% dari semua pasar
prosesor 32-bit RISC. Prosesor ARM digunakan di segala bidang seperti
elektronik umum, termasuk PDA, media player, music player dan periperal
komputer seperti hard disk drive dan router.
Exception merupakan
pembatalan eksternal dikarenakan error bus & usaha untuk mengeksekusi
instruksi yang tidak terdefinisikan. Exception ditangani Berdasarkan menurut struktur yang diutamakan sebagai berikut:
Ø
Reset
(prioritas tertinggi)
Ø
Data
abort
Ø
FIQ
Ø
IRQ
Ø
Prefetch
abort
Ø
Undefined
instruction (prioritas terendah)
2. INTERRUPT HARDWARE
Kita nyatakan bahwa sebuah perangkat
I/O meminta interrupt dengan mengaktifkkan jalur bus yang di sebut interrupt
request.kebanyakan computer tampaknya memiliki beberapa perangkat I/O yang dapat meminta interrupt.
Jalan aliran interrupt-request
tunggal dapat di manfaatkan untuk melayanin perangkat, untuk meminta suatu
interrupt, perangkat menutup switch-nya. Sehingga saat semua sinyal interrupt-request INTR1 hingga
INTR2 tidak aktif yaitu jika semua switch terbuka, maka tegangan
pada jalur interrupt –request akan setara dengan Vdd, ini adalah
keadaan dimana jalur tersebut tidak aktif.
Pada saat perangkat meminta suatu
interrupt dengan menutup switch-nya, maka tegangan pada jalur tersebut jatuh ke
0, menyebabkan sinyal interrupt-request, INTR, yang di terima oleh prosesor
menjadi 1. Karena menutup satu atau lebih switch akan menyebabkan tegangan
sebuah jalur jatuh ke 0, maka untuk nilai INTR adalah logika OR dari sebuah
request perangkat individu, yaitu
INTR = INTR1+……+INTRn
3. ENABLING DAN DISABLING INTERRUPT
Fasilitas yang tersedia dalam
computer harus memberi programer kontrol lengkap pada event yang terjadi selama
eksekusi program.
Saat muncul interrupt request
dari perangkat eksternal menyebabkan prosesor menunda eksekusi satu program dan
mulai mengeksekusi program lain, banyak situasi yang mana prosesor sebaiknya
mengabaikan interrupt request, contohnya dalam program computer-print, suatu
interrupt request dari printer hanya dapat di terima jika ada jalur output yang
akan dicetak.
Pada saat suatu perangkat
mengaktifkan interrupt request, perangkat tersebut menjaga sinyal tetap aktif
hingga mendapati prosesor telah menerima request-nya.sangat penting untuk
memastikan bahwas sinyal request aktif ini tidak menyebabkan interrupsi yang
berkelanjutan , yang menyebabkan system memasuki loop yang tidak dapat
dipulihkan.
Kemungkinan pertama adalah
hardware prosesor mengabaikan jalur interrupt-request hingga eksekusi intruksi
pertama dari routine interrupt-service telah selesai, kemudian, dengan menggunakan
instruksi interrupt-disable sebagai instruksi pertama dalam routine interrupt-
service, maka programar dapat memastikan bahwa tidak ada interripsi lebih
lanjut yang terjadi hingga instruksi interrupt-enable dieksekusi.
Pilihan kedua, yang sesuai
untuk prosesor sederhana dengan hanya satu jalur interrupt-request, adalah
prosesor yang secara otomatis men-disable interrupt sebelum memulai eksekusi
routine interrupt-service.
Pilihan ketiga, prosesor memiliki jalur interrupt-request khusus
dimana sirkuit interrupt-hendling hanya merespon pada leading edge sinyal,
jalur semacam ini di sebut edgetriggered.
D. MENANGANI BANYAK PERANGKAT.
Perangakat
komputer memiliki kemampuan untuk menginisiasi interupt terhubung ke
prosesor.Informasi yang diperlukan untuk mengetahui apakah suatu perangkat
meminta interupt, telah tersedia didalam status register-nya.Pada saat suatu
perangkat memunculkan interuppt request , maka salah satu bit didalam status
register-nya di-set menjadi 1, yang disebut dengan bit IRQ , contoh bit KIRG
dan DIRG , kedua bit ini adalah bit
interrupt untuk keyboard dan
display.Jika ada perangkat yang sedang menginterupsi cara untuk mengenalinya
adalah meminta routine interrupt-service mem-poll semua perangakat I/O yang
terhubung ke sistem bus.Perangkat yang harus dilayani adalah perangkat yang
pertama di temukan dengan bit IRQ dan telah di-set, dan subroutine di panggil
untuk menyediakan pelayanan yang di request.
Skema
polling mudah untuk diimplementasikan , tetapi skema polling memiliki kerugian
yaitu waktu yang dihabiskan untuk mengetahui bit IRQ semua perangkat yang
mungkin tidak meminta pelayanan apapun.Pendekatan alternatif adalah dengan
menggunakan vectored interrupt , yang di deskripsikan berikutnya.
a. Vectored
Interrupt
Suatu perangkat yang meminta interrupt
dapat mengidentifikasi dirinya dengan mengirim kode khusus ke prosesor melalui
bus. Panjang kode tersebut biasanya memiliki rentang 4-8 bit. Sisa alamat
disediahkan oleh prosesor berdasarkan
pada area dalam memorinya dimana alamat untuk routine interrupt-servis
ditempatkan.
Pengaturan
ini menyatakan bahwa routine
interrupt-servise untuk suatu perangkat harus selalu mulai pada lokasi yang
sama.Lokasi yang ditunjuk oleh perangkat yang mengintruppsi digunakan untuk
menyimpan alamat awal routine interuppt-servise .Prosesor mampu membaca alamat
, yang disebut unterrupt vector dan me-load ke dalam PC . Interrupt vector
dapat pula menyertakan nilai baru untuk
procesor status register.
Pada
komputer , Perangakt I/O mengirim kode interrupt-vector melalui bus
data, yaitu dengan menggunakan sinyal kontrol bus untuk memastikan bahwa
perangkat tidak saling mempengaruhi satu sama lain.Pada saat prosesor siap
untuk menerima kode interrupt-vector , maka prosesor mengaktifkan jalur
interrupt-acknowledge ,INTA.Dan perangakat I/O merespon dengan mengirim kode
interrupt-vector dan mematikan sinyal
INTR. Jika perangkat mengirim suatu interrupt request , dan prosesor
tidak siap untuk menerima kode interrupt-vector , maka perangkat yang
mengintrrupsi harus menunggu untuk meletakkan data pada bus saat prosesor siap
untuk menerimanya.
b. Interrupt Nesting
Perangkat
I/O diatur dalam struktur
prioritas. Suatu interrupt request dari
perangakat high-priority sebaiknya di terima pada saat prosesor melayani
request lain dari perangkat lower-priority .Organisasi priority multiple-level
berarti selama eksekusi routine interrupt-service ,interrupt request akan diterima dari beberapa perangkat
. Tingkat prioritas prosesor adalah prioritas program yang sedang dieksekusi.
Prioritas
prosesor biasanya di encode dalam beberapa bit word status prosesor. Hal ini
dapat diubah dengan intruksi program
yang ditulis ke PS. Ini adalah intruksi privileged, yang dapat di eksekusi saat
prosesor sedang berjalan dalam mode supervisor. Usaha untuk mengeksekusi
intruksi prinvileged pada saat berada dalam mode user memunculkan type
interrupt khusus yang di sebut dengan privilege exception .
Skema
multiple-priority dapat di terapkan dengan mudah menggunakan jalur interrupt
request dan interupt acknowledge yang terpisah untuk setiap perangkat, dimana
suatu request di terima hanya jika memiliki tingkat prioritas yang lebih tinggi
daripada yang sedang ditetapkan ke
prosesor.
KET :
Sirkuit arbitration prioritas
Gambar 1 : Implementasi prioritas
interrupt menggunakan jalur interrupt- request dan acknowledge
c
. Request Serentak
Polling register status perangakat I/O adalah mekanisme yang paling
sederhana.Prioritas ditetapkan dengan urutan perangkat dengan urutan perangkat
yang di-poll.Skema yang banyak digunakan
adalah menghubungkan perangkat tersebut untuk membentuk Daisy –Chain .
Jalur interrupt-request INTR adalah yang umum digunakan untuk semua
perangkat.Jalur- interrupt-acknowledge INTA , dihubungkan dengan cara
Daisy-Chain , Sehingga sinyal INTA
memperbanyak secara serial melalui perangkat tersebut. Dalam pengaturan Daisy-chain ,perangkat yang paling dekat secara elektrik
dengan prosesor memiliki prioritas tertinggi.
Gambar 2 : Skema prioritas interrupt
INTR
INTA
Gambar 3 : Pengaturan kelompok
Prioritas
Skema pada gambar 1 mempunyai keutamaan
yaitu skema tersebut memungkinkan prosesor menerima interrupt request dari
beberapa perangkat tetapi tidak dari beberapa perangkat yang lain , dan interrupnya tergantung dari
prioritasnya masing – masing.Sedangkan pada gambar 2 tidak memerlukan kabel
yang terlalu banyak di banding pada gambar 1 . Skema 1 dan 2 jika di gabungkan
akan menghasilkan skema yang lebih umum yaitu pada skema no 3.Perangkat
diorganisasi dalam kelompok , dan tiap kelompok dihubungkan pada tingkat
prioritas yang berbeda . Dalam kelompok , perangkat di hubungkan dalam Daisy-
Chain . Organisasi ini banyak di gunakan dalam sistem komputer.
E. MENGONTROL
REQUEST PERANGKAT
Proses
interrupt –request hanya di
hasilkan oleh perangkat I/O yang
digunakan dalam program tertentu .Hal ini karena perangkat yang diam(idle)
tidak diperbolehkan menghasilkan interrupt-
request , sekalipun perangkat tersebut siap berpartisipasi dalam operasi
transfer I/O . Maka dari itu kita membutuhkan mekanisme dalam sirkuit antarmuka
perangkat individu untuk mengontrol apakah suatu perangkat di izinkan melakukan
suatu proses interrupt –request.Biasanya kontrol di sediakan dalam bentuk bit
interrupt-enable dalam sirkuit antar muka perangkat.
1)
Misalnya : (a) Flag keyboard interrupt-enable
(b)
KEN
(c)
Display interrupt –enable
(d)
DEN dalam register
CONTROL .
Flag- flag diatas jika
di-set , maka sirkuit antar muka menghasilkan interrupt request kapanpun flag
status yang sesuai dalam register STATUS di-set.
Dari penjelasan diatas dapat di simpulkan
bahwa ada dua mekanisme mandiri untuk mengontrol interrupt request yaitu Pada ujung perangkat dan pada
ujung prosesor .
a.
Pada ujung perangkat jika
suatu bit interrupt-enable dalam
register kontrol menentukan apakah perangkat tersebut diijinkan untuk
menghasilkan interrupt request.
b.
Pada ujung prosesor jika
suatu bit interrupt-enable dalam register PS atau prioritas menentukan apakah
interrupt request akan diterima.
Jika suatu prosesor yang
menggunakan skema vectored interrupt , dengan alamat awal routine interrupt
–servisnya di simpan didalam lokasi memori INTVEC.Maka kita dapat melakukan
beberapa hal berikut ini.
1)
Load alamat awal routine
interrupt –servise pada lokasi INTVEC
2)
Load alamat MINE dalam
lokasi memori PNTR .Routine interrupt –servise akan menggunakan lokasi ini sebagai pointer
untuk menyimpan karakter input dalam memori.
3)
Enable interrupt keyboard
dengan men –set bit 2 dalam register CONTROL ke1.
4)
Enable interrupt dalam
prosesor dengan men-set bit IE ke 1 dalam prosesor status register ,PS.
Setelah inisialisasi
selesai maka pengetikan karakter dalam
keyboard akan menyebabkan suatu interrupt request yang dihasilkan oleh antar
muka keyboard.
Routine
ini harus menjalankan tugas sebagai berikut:
1.Membaca
karakter input dari register data input keyboard . Hal ini akan menyebabkan
sirkuit antar muka menghilang interrupt requestnya.
2.Menyimpan
karakter dalam lokasi memori yang ditunjuk oleh PNTR , dan menaikkan PNTR.
3.Pada
saat mencapai ujung jalur , men-disable interrupt keyboard dan memberitahu
program Main.
4.Kembali
dari interrupt.
Operasi I/O pada komputer
biasanya lebih banyak diguanakan ,sebagaimana sistem operasi komputer melakukan
operasi komputer melalui operasi ini dan atas nama program user.
F . EXCEPTION
Exception adalah suatu event interrupt yang menyebabkan eksekusi
satu program ditunda dan eksekusi program lain dimulai.Istilah Exception sering
mengacu kepada ivent interrupsi , oleh karenanya Interrupt I/O adalah salah
satu contoh exception.
Beberapa jenis Exception :
A . Pemulihan dari error
Komputer banyak menggunakan berbagai
variasi teknik untuk memastikan bahwa semua hardware beroperasi secara baik dan
tepat.Jika terjadi error , hardware kontrol mendeteksi dan memberitahukan
kepada prosesor dengan memunculkan interrupt.
Main
Program
Move #LINE,PNTR Intilialize buffer pointer.
Clear EOL Clear end –of-line indicator.
BitSet #2,CONTROL Enable keyboard interrupt.
BitSet #9,PS Set interrupt-enable
bit in the PS.
Interrupt-servise
routine
READ MoveMultiple R0-R1,-(SP) Save
register R0 and R1 on stack.
Move PNTR,R0 Load address pointer.
MoveByte DATAIN,R1 Get input character and
MoveByte R1,(R0)+ Store it in memory.
Move R0,PTRN Up date pointer.
CompareByte #$0D,R1 Check
if Carriage Return.
Branch6≠0 RTRN
Move #1,EOL Indicate end
of line
BitClear #2,CONTROL Disable keyboard interrupts.
RTRN MoveMultiple (SP)+,R0-R1 Restore
registers R0 and R1.
Return-from-interrupt.
Pada
saat pengolahan exception tersebut diinisialisai sebagai berikut dari error
,maka prosesor bekerja dengan cara yang tepat sama seperti dalam hal interrupt
request I/O.
B . Debugging
Software sistem biasanya selalu
menyertakan suatu program yang disebut debugger, yang di gunakan untuk membantu
programer untuk menemukan suatu error dalam program. Debugger menggunaka dua
fasilitas yang penting yang di sebut trace
dan breakpoint.
-
Trace adalah suatu
exception terjadi eksekusi tiap intruksi, menggunakan debugging program sebagai
routine exception-servise.Trace exception di –disable selama eksekusi debugging
program.
-
Breakpoint adalah
penyedia fasilitas yang mirip dengan program, kecuali program yang di-debug
diinterupsi hanya pada titik tertentu
yang dipilih oleh user .Breakpoint mempunyai suatu intruksi yaitu Trap
atau Software-interrupt.
C . Privilige Exception.
Adalah
intruksi tertentu yang hanya dapat di akses pada saat prosesor berada dalam mode
supervisor.
G. ENGGUNAAN
INTERRUPT DALAM SISTEM OPERASI
System operasi sangat
bertanggung jawab dalam mengkordinasi semua kegiatan di dalam komputer. OS
memperluas penggunaan interrupt untuk melakukan operasi I/O dan berkomunikasi
dan mengontrol eksekusi program user.Mekanisme interrupt meng-enable sistem
operasi untuk menetapkan prioritas , berpindah dari satu program user ke
program lain, menerapkan fitur keamanan dan proteksi serta mengkordinir
kegiatan I/O.Sistem operasi menggabungkan routine interrupt-servise untuk semua
perangkat yang terhubung ke komputer.
Untuk
mengilustrasikan interaksi antara program aplikasi dan sistem operasi biasanya
menggunakan mode multitasking . Multitasking adalah mode operasi dimana
prosesor mengeksekusi beberapa program user pada waktu yang sama.
Routine sistem operasi
contoh I/O routines.
IOINIT Ser prosecc status to Blocked.
Initialize memory buffer
addres pointer and counter.
Call device driver to
initialize device and enable interrupts
in the device interface.
Return from subroutine.
IODATA Poll devices to determine source of
interrupt.
Call appopriate driver.
If END = 1, then set
proces status to Runnable Return from interrupt.
H. DIRECT MEMORY ACCESS
Suatu instruksi
dalam mentransfer data input dan output di eksekusi hanya setelah prosessor
menetapkan bahwa Perangkat-perangkat I/O telah siap.dalam melakukan hal
ini,prosessor melakukan pool flag status di dalam antarmuka perangkat atau
menunggu perangkat tersebut mengirim
interrup request.pada kedua kondisi tersebut,dilibatkan sejumlah
overhead,karena beberapa instruksi program harus segera di eksekusi dalam tiap
word data yang di transfer.selain polling register status perangkat,instruksi
di butuhkan untuk meningkatkan address memori dan mencatat word count.pada saat
kondisi interrupt di gunakan,terdapat overhead tambahan yang saling terkait
dengan penyimpanan dan pemulihan program counter dan informasi keadaan yang
lain.
Di dalam
melakukan transfer blok besar data dalam
kecepatan tinggi, di gunakan pendekatan yang alternatif.suatu unit control di
sediakan yang memungkinkan transfer blok data secara langsung antar perangkat
eksternal dan memori utama,tanpa intervensi secara terus menerus dari
prosessor. Pendekatan ini di sebut direct memeory access,atau DMA.
Transfer di DMA
ini di lakukan oleh sirkuit kontrol yang
mana merupakan bagian dari antar muka perangkat I/O.kita sebut sirkuit ini
sebagai sirkuit kontroler DMA.kontroler DMA memeiliki Fungsi yang biasa di
lakukan oleh prosessor ketika mengakses memori utama.dalam tiap word yang di
transfer.dan kontroler ini menyediakan address memory dan segala sinyal bus
yang melakukan kontrol terhadap trsansfer data.karna harus mentransfer blok
data,maka kontroler DMA meningkatkan/menaikkan alamat memory untuk setiap word
yang berurut dan mencatat jumlah transfer yang di lakukan.walaupun DMA mampu
mentransfer data tanpa adanya intervensi dari prosessor,pengoprasiannya harus
tetap berada di bawah kontrol program-program yang di eksekusi prosessor.dalam
menginisiasi sebuah transfer blok.prosessor akan mengirim adress awal,jumlah
setiap word dalam blok,dan arah transfer.ketika menerima informasi
ini,controler DMA melakukan operasi yang diinginkan.ketika seluruh blok sudah di
transfer,kontroler tersebut akan menginformasikan dan memberi tahu prosessor
dengan menampilkan sinyal Interrup.dan saat transfer DMA di lakukan,program yang di merequest tersebut
terhenti dan prosessor dapat di gunakan mengesekusi program lain.Sesudah transfer
DMA selesai,prosessor akan kembali ke program yang meminta transfer tersebut.
Operasi I/O
Selalu di lakukan oleh operating system sebagai suatu bentuk respon terhadap
permintaan dari program aplikasi.operating system juga memiliki tanggung jawab
untuk menunda ekseskusi satu program dan memulai eksekusi program lain oleh
karena itu untuk operasi I/O Melibatkan DMA,OS dalam menetapkan program yang
merequest transfer tersebut pada kondisi blocked.Gamabar berikut akan
menunjukkan register kontroler DMA yang di akses prosessor dalam menginisiasi
operasi transfer. Dua register di gunakan dalam menyimpan Alamat awal dan word
count.dan register ketiga berisi flag kontrol dan statusnya Bit R/W menetukan
arah transfer ,dan ketiak bit ini di set ke-1 oleh program instruksi ,kontroler
melakukan operasi baca yaitu melakukan transfer data dari memory ke perangkat
I/O.sebaliknya kontroler melakukan operasi tulis.ketika kontroler menyelasaikan
transfer blok pada data dan telah siap menerima instruksi yang lain,maka flag
done di set ke 1.Bit 30 adalah flag interrupt-enable,IE.ketika flag di set ke
1,kontroler akan manampilkan interrupt setelah menyelasaikan transfer blok
data.dan selanjutnya kontroler menset bit IRQ
ke 1 setelah merequest interrupt.
IE
DONE
R/W
Strating addrres
Word count
Gambar
Pembangunan Kontroler DMA dalam system Komputer sbb:
Suatu contoh
sistem Komputer yang terdapat pada gambar tersebut menunjukkan bagaimana
kontroler DMA bekerja dan di gunakan.Kontroler Dma menghubungkan jaringan
jaringan high-speed ke bus komputer.kontroler disk,yang mengontrol kedua disk
selain itu memiliki kemampuan DMA dan menyediakan dua Saluran DMA,kontroler
tersebut mampu melakukan dua opersi DMA sekaligus/Mandiri,seakan-akan tiap disk
memiliki kontroler DMA Masing-masing .Register yang di butuhkan dalam penyimpanan address,word count
dan lain sebagainya di duplikasi,sehingga satu set bisa di gunakan dengan tiap
perangkat.ketika memulai transfer DMA
Suatu Blok data dari memori utama ke salah satu dsik,suatu program
menulis informasi address dan word count ke dalam register saluran kontroler
disk yang cocok.program tersebut juga menginformasikan kepada kontroler disk
untuk mengindentifikasi data untuk pengambilan selanjutnya,Kontroler DMA akan
meneruskan implementasi operasi tretentu secara mandiri.ketika transfer DMA
selesai,fakta ini di rekam dalam rgister status dan kontrol saluran DMA dengan
menset bit done.saat yang sama apabila
BIT IE di set,maka kontroler akan mengirim interrupt request ke prosessor dan men set bit IRQ.Register staus dapat pula
di gunakan dalam merekam informasi lain,contohnya apakah transfer berjalan baik
ataukah terjadi error.
Pengaksesan
memory oleh prosessor dan kontroler DMA saling terkait.request dari perangkat
DMA dlam menggunakan bus selalu mendapat prioritas lebih tinggi daripada request
dari prosessor.antar perangkat DMA yang berlainan,prioritas tertinggi akan di
berikan untuk peripheral berkecapatan tinggi seperti disk,antarmuka sebuah
jaringan berkecapatn tinggi ataukah display grafik.karena prosessor
menghasilakan siklus akses yang sangat banyak,kontroler DMA juga dapat di katakan “mencuri” Proses memori
dari sebuah prosessor,oleh karena itu dalam Teknik interweaving ini biasanya disebut
“cycle stayling”.atau dapat pula Di katakan kontroler DMA di berikan akses
ekslusif ke memori utama dalam mentransfer blok data tanpa interrupsi.dan ini
di kenal sebagai mode block atau burst.
Kebanyakan
kontroler DMA menggabungkan buffer penyimpanan data,contohnya dalam hal antar
muka jaringan pada gambar di atas,Kontroler
DMA membaca blok data memori utama dan menyimpannya dalam input
buffernya.transfer ini akan menggunakan burst pada kecepatan yang sesuai dengan
memori dan bus komputer.setelah itu data dalam buffer di transmisikan melalui
jaringan pada kecepatan sebuah jaringan.Suatu hal akan terjadi jika prosessor
dan Kontroler DMA atau dua kontroler DMA
mencoba memakai bus pada kondisi yang bersamaan dalam mengakses memeori utama.
BAB III
PENUTUP
A. Kesimpulan
Teknologi di era ini sudah mengalami
kemajuan yang pesat oleh karena itu memudahkan segala aktivitas manusia
termasuk dalam memenuhi kebutuhan sehari-hari, contohnya ialah komputer.
Komputer(CPU) memiliki sistem yaitu Sistem I/O (Input/Output).
Pada sistem komputer, I/O memiliki
peranan atas pengontrolan,pengendalian sebuah perangkat luar ataupun eksternal
dan bertanggung jawab pula dalam melakukan pertukaran suatu data antara perangkat-perangkat
luar dengan register-register pada CPU.
Di dalam melakukan hal ini, kita memerlukan antarmuka internal dengan
komputer(CPU Interface) dan antarmuka dengan perangkat eksternalnya untuk
mngetahui jalannya fungsi-fungsi pengontrolan. Selain dari sistem I/O ada juga modul modul
I/O.sistem komputer ini yang memiliki andil atas pengontrolan sebuah perangkat
luar atau lebih dan bertanggung jawab pula dalam melakukan pertukaran-pertukaran data antara perangkat
luar lainnya dengan main memori ataupun dengan register – register pada sebuah
CPU. Selain itu ada juga I/O yang
terprogram yang berperan dalam bertukar
data antar CPU seperti moving data, pengiriman perintah baca maupun tulis, dan
memonitoring perangkat akan tetapi cara ini memiliki kelemahan yaitu CPU akan menunggu sampai operasi I/O selesai
dilakukan modul I/O , apalagi CPU memiliki kecepatan operasi yang sangat bagus.
Kunci utama dalam organisasi I/O ialah
mempunyai fungsi dan perintah masing-masing yang memiliki peranan atau andil
yang signifikan untuk sistem komputer.