Archive for Juli 2017
PENGERTIAN DAN HUBUNGAN ANTARA CPU, MEMORI DAN MODUL I/O, SIKLUS-SIKLUS FETCH DAN EKSEKUSI
Jumat, 07 Juli 2017
Posted by Unknown
1. PENGERTIAN DAN HUBUNGAN ANTARA CPU, MEMORI DAN MODUL I/O
Memori
:
Memori
umumnya terdiri atas N word
memori dengan panjang yang sama. Masing–masing
word diberi alamat numerik yang unik (0, 1, 2, …N-1). Word
dapat dibaca maupun
ditulis pada memori dengan
kontrol Read dan Write. Lokasi
bagi
operasi
dispesifikasikan
oleh sebuah alamat.
Modul I/O
:
Operasi modul I/O adalah
pertukaran data dari dan
ke dalam komputer. Berdasakan
pandangan
internal, modul I/O
dipandang sebagai sebuah
memori dengan operasi
pembacaan
dan penulisan. Seperti
telah dijelaskan
pada bab
6 bahwa modul I/O dapat
mengontrol lebih
dari sebuah perangkat
peripheral. Modul I/O juga dapat mengirimkan
sinyal interrupt.
CPU :
Dari
jenis pertukaran data yang diperlukan
modul–modul komputer, maka struktur
interkoneksi harus mendukung perpindahan data.
· Memori ke CPU
: CPU melakukan
pembacaan data maupun instruksi dari memori.
· CPU ke Memori :
CPU melakukan penyimpanan atau
penulisan data ke memori.
· I/O ke CPU : CPU membaca data dari peripheral melalui modul I/O.
· CPU ke I/O : CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
· I/O ke Memori atau dari Memori : digunakan pada sistem DMA
· Memori ke I/O
: digunakan
pada sistem DMA
2. Siklus-siklus Fetch dan Eksekusi
Pada awal setiap
siklus instruksi, CPU membaca instruksi
dari memori. Pada CPU yang
umum, suatu register yang disebut program
counter (PC) dipakai untuk mengawasi instruksi
yang akan dibca selanjutnya.
Intruksi yang dibaca akan
dimuatkan ke dalam
sebuah
register di dalam
CPU
yang dikenal
sebagai
instruction register (IR).
CPU menginterpretasikan
intruksi dam melakukan aksi yang
diperlukan. Secara umum, aksi-aksi
ini dapat dibagi menjadi
empat
kategori:
· CPU-Memori:
data dapat dipindahkan dari
CPU ke memori atau dari memori ke CPU.
· CPU-I/O: Data dapat kea tau
dunia luar denga pemindahan
antara CPU dan
modul
I/O.
· Pengolahan
data: CPU dapat
membentuk sejumlah operasi
aritmetik atau logic terhadap
data.
· Control: Sebuah
instruksi dapat menguabah
urutan eksekusi (misalnya,
insruksi lompat IAS,
Tabel 2.1).
Misalnya, CPU
dapat membaca instruksi dari
lokasi 149, yang menentukan
bahwa instruksi
berikutnya dibaca dari lokasi
182. CPU akan mengingat hal ini dengan menyetel
program counter ke 182.
Jadi,
pada siklus fetch berikutnya, instruksi
akan
dibaca dari lokasi
182, bukannya 150.
CPU
terdiri dari akumulator (AC) untuk menyimpan data secara sementara. Baik
data dan instruksi
panjangnya 16 bit.
Format instruksi,
menandakan bahwa akan
terdapat
sejumlah 24
= 16
op code yang berlainan dan
sejumlah 212 = 4096 (4K)
word memori yang dapat
diamati secara langsung.
Diperlukan
tiga buah instruksi, yang dapat dijelaskan sebagai tiga siklus
fetch dan
tiga eksekusi :
1. Program
counter (PC) berisi
300 alamat instruksi pertama.
Alamat ini dimuatkan
ke dalam instruction register (IR).
Perlu
dicatat bahwa proses ini akan melibatkan penggunaan
memory address register (MAR)
dan memory buffer register (MBR).
Untuk mudahnya,
register-register intermediate-nya di abaikan.
2. 4 bit pertama di
dalam IR mengindikasikan bahwa akumulator (AC) akan
dimuatkan.
12
bit sisanya menentukan alamat, yaitu 940.
3. PC
dinaikkan nilainya, dan instruksi
berikutnya akan diambil.
4. Isi
AC yang lama dan
isi lokasi 941 ditambahkan, dan
hasilnya disimpan
di dalam AC.
5. PC
dinaikkan nilainya, dan instruksi
berikutnya akan diambil.
6. Isi
PC akan disimpan
pada lokasi 941.
Instruksi PDP-11 yang diungkapkan secara simbolik sebagai ADD B, A menyimpan jumlah
isi lokasi memori B dan A ke dalam
lokasi memori A. Terjadi suatu
siklus instruksi tunggal dengan langkah-langkah sebagai
berikut.
1. Mengambil (fetch) instruksi
ADD,
2. Membaca isi
lokasi memori A ke
dalam CPU.
3. Membaca isi
lokasi memori B ke dalam
CPU. Agar isi A tidak hilang,
CPI
harus memiliki sedikitnya dua buah
register untuk menyimpan nilai-nilai memoti.
4. Menambahkan kegua nilai itu.
5. Menuliskan hasilnya dari
CPU Kke lokasi memori A.
Jadi, siklus eksekusi
untuk instruksi tertentu dapat melibatkan lebih
dari sebuah referensi
ke memori, juga, disamping referensi
memori, suatu instruksi
dapat
menentukan suatu
operasi I/O. Untuk sembarang siklus instruksi yang diketahui, sebagian keadaan dapat
null dan lainnya dapat lebih
dari
sekali.
Keadaan teersebut adalah
:
· Instruction
Address Calculation (aic): Menenetukan alamat
instruksi berikutnya yang
akan
dieksekusi. Biasanya,
hal ini melibatkan penambahan
bilangan tetap ke alamat
instruksi sebelumnya.
· Instruction Fetch (if): Membaca instruksi dari lokasi
memorinya ke dalam
CPU.
· Instruction
Operation Decoding (oac): Bila operasi
melibatkan referensi ke
operand didalam
memori atau dapat
diperoleh melalui I/O, maka tentukan
alamat
operand.
· Operand Fetch (of): Ambil
operand dari memori dan baca operand itu dari I/O.
· Data Operation
(do):
Bentuk operasi yang ditunjukkan
di dalam instruksi.
· Operand
Store (os): Tuliskan hasilnya ke dalam
memori atau keluarkan ke I/O.
Untuk
sebagian
mesin, instruksi tunggal
dapat
menentukan operasi yang akan
di bentuk pada suatu vector (array dimensi satu)
bilangan-bilangan atau suatu
string (array dimensi
satu) karakter-karakter.
Download Materi Selengkapnya disini => Download
Download Materi Selengkapnya disini => Download
PERANGKAT EKSTERNAL,
MODUL I/
I/O TERPROGRAM, INTERUPT
– DRIVEN I/O
NAMA : MASDINO
NPM : 151601009
TEKNIK
INFORMATIKA
STMIK
WIT CIREBON
2017
DAFTAR ISI
1.
Daftar Isi.............................................................. 2
2.
Perangkat Eksternal............................................. 3
3.
Modul I/O............................................................ 7
4.
I/O Terprogram.................................................... 10
5.
Interrupt – Driven I/O.......................................... 12
1.
Perangkat Eksternal/Peripheral
Pengertian peripheral
Peripheral adalah hardware tambahan yang disambungkan ke
komputer, biasanya dengan bantuan kabel ataupun sekarang sudah banyak perangkat
peripheral wireless. Peripheral ini bertugas membantu komputer menyelesaikan
tugas yang tidak dapat dilakukan oleh hardware yang sudah terpasang didalam
casing.
1. Peripheral utama (main peripheral)
Yaitu
peralatan yang harus ada dalam mengoperasikan komputer. Contoh peripheral
utama yaitu: monitor, keyboard dan mouse.
2. Peripheral pendukung (auxillary peripheral)
Yaitu
peralatan yang tidak mesti ada dalam mengoperasikan komputer tetapi diperlukan untuk
kegiatan tertentu. Contohnya yaitu: printer, scanner, modem, webcam dan lain-lain.
Peripheral input
a. Keyboard
Keyboard
merupakan unit input yang paling penting dalam suatu pengolahan data dengan
komputer. Keyboard dapat berfungsi memasukkan huruf, angka, karakter khusus
serta sebagai media bagi user (pengguna) untuk melakukan perintah-perintah
lainnya yang diperlukan, seperti menyimpan file dan membuka file. Keyboard
sekarang yang kita kenal memiliki beberapa jenis port, yaitu port serial, ps2,
usb dan wireless.
Jenis-Jenis
Keyboard :
1.)
QWERTY
2.)
DVORAK
3.)
KLOCKENBERG
Keyboard
yang biasanya dipakai adalah keyboard jenis QWERTY, yang bentuknya ini mirip
seperti tuts pada mesin tik. Keyboard QWERTY memiliki empat bagian yaitu :
1.
typewriter key
2.
numeric key
3.
function key
4.
special function key.
b. Mouse
Mouse
adalah salah unit masukan (input device). Fungsi alat ini adalah untuk
perpindahan pointer atau kursor secara cepat. Selain itu, dapat sebagai
perintah praktis dan cepat dibanding dengan keyboard.
c. Touchpad
Unit
masukkan ini biasanya dapat kita temukan pada laptop dan notebook, yaitu dengan
menggunakan sentuhan jari. Biasanya unit ini dapat digunakan sebagai pengganti
mouse. Selain touchpad adalah model unit masukkan yang sejenis yaitu pointing
stick dan trackball.
d.
Light Pen
Light pen adalah pointer elektronik
yang digunakan untuk modifikasi dan men-design gambar dengan screen (monitor).
Light pen memiliki sensor yang dapat mengirimkan sinyal cahaya ke komputer yang
kemudian direkam, dimana layar monitor bekerja dengan merekam enam sinyal
elektronik setiap baris per detik.
e.
Joy Stick dan Games Paddle
Alat
ini biasa digunakan pada permainan (games) komputer. Joy Stick biasanya
berbentuk tongkat, sedangkan games paddle biasanya berbentuk kotak atau persegi
terbuat dari plastik dilengkapi dengan tombol-tombol yang akan mengatur gerak
suatu objek dalam komputer.
f.
Barcode
Barcode
termasuk dalam unit masukan (input device). Fungsi alat ini adalah untuk
membaca suatu kode yang berbentuk kotak-kotak atau garis-garis tebal vertical
yang kemudian diterjemahkan dalam bentuk angka-angka. Kode-kode ini biasanya
menempel pada produk-produk makanan, minuman, alat elektronik dan buku.
g.
Scanner
Scanner
adalah sebuah alat yang dapat berfungsi untuk meng-copy atau menyalin gambar
atau teks yang kemudian disimpan ke dalam memori komputer. Dari memori komputer
selanjutnya, disimpan dalam harddisk ataupun floppy disk. Fungsi scanner ini
mirip seperti mesin fotocopy, perbedaannya adalah mesin fotocopy hasilnya dapat
dilihat pada kertas sedangkan scanner hasilnya dapat ditampilkan melalui
monitor terlebih dahulu sehingga kita dapat melakukan perbaikan atau modifikasi
dan kemudian dapat disimpan kembali baik dalam bentuk file text maupun file
gambar. Selain scanner untuk gambar terdapat pula scan yang biasa digunakan
untuk mendeteksi lembar jawaban komputer.
h.
Mikropon dan Headphone
Unit
masukan ini berfungsi untuk merekam atau memasukkan suara yang akan disimpan
dalam memori komputer atau untuk mendengarkan suara. Dengan mikropon, kita
dapat merekam suara ataupun dapat berbicara kepada orang yang kita inginkan
pada saat chating
i.
Graphics Pads
Teknologi
Computer Aided Design (CAD) dapat membuat rancangan bangunan, rumah, mesin
mobil, dan pesawat dengan menggunakan Graphics Pads. Graphics pads ini
merupakan input masukan untuk menggambar objek pada monitor. (Zulkarnain,
2012)
Peripheral Output
a. Monitor
Monitor adalah periferal komputer
yang digunakan untuk menampilkan data yang sedang diproses oleh sistem komputer
yang selanjutnya ditampilkan kepada user.
Secara umum, monitor terdiri atas dua jenis yaitu LCD
Monitor (Liquid Cristal Display) dan CRT Monitor (Catoda Ray Tube). Jenis
monitor yang paling baik digunakan adalah jenis LCD karena memiliki radiasi sinar
yang lebih rendah dan lebih hemat listrik dibandingkan dengan CRT.
b. Printer
Printer adalah perangkat output yang digunakan untuk
mencetak data pada dokumen yang biasanya berupa kertas. Printer sekarang, bukan
hanya sebagai penetak dokumen saja, namun sudah dilengkapi dengan scanner dan
alat lain seperti card leader, LAN an sebagainya. Printer terdiri atas beberapa
jenis yaitu Buble Jet, Laser Jet, Ink Jet, Dot Metric, Dye Sublimation. Dari
sekalian jenis printer tersebut yang memiliki kecepatan cetak paling tinggi
adalah Laser Jet yang menggunakan Toner sebagai “Tinta”. (Audianingrum, 2013).
c. Plotter
Plotter merupakan jenis printer yang dirancang secara khusus
guna menghasilkan output komputer yang berupa gambar ataupun grafik. Dengan
menghubungkan plotter pada sistem komputer, maka pelbagai bentuk gambar akan
dapat disajikan secara prima. Landscape-arsitektur banyak menggunakan plotter
guna menghasilkan gambar landscape, potongan pohon, ataupun untuk membantu
memvisualisasikan efek dari segala kegiatan yang ada. (Muhammad Ghufron, 2013)
d. Speaker
Speaker adalah peralatan output pada
komputer yang berfungsi ;untuk mengeluarkan output berupa suara. Speaker akan
terhunbung dengan soudcard pada komputer agar bisa menerima hasil proses berupa
suara dari komputer.Speaker adalah peralatan output pada komputer yang
berfungsi ;untuk mengeluarkan output berupa suara. Speaker akan terhunbung
dengan soudcard pada komputer agar bisa menerima hasil proses berupa suara dari
komputer.Speaker adalah peralatan output pada komputer yang berfungsi ; untuk
mengeluarkan output berupa suara. Speaker akan terhunbung dengan soudcard pada
komputer agar bisa menerima hasil proses berupa suara dari computer.
2.
Modul I/O
Modul I/O Adalah interface atau
central switch untuk mengendalikan satu atau lebih peripheral atau perangkat
input output. Konektor mekanis berisi fungsi logik untuk komunikasi antara bus
dan peripheral. Tidak hanya sekedar modul penghubung, tetapi sebuah piranti
yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus
computer.
- Modul I/O adalah komponen dalam system computer:
1)
Bertanggung jawab atas pengontrolan
sebuah perangkat luar
2)
Bertanggung jawab atas pertukaran
data antar perangkat luar tersebut dengaan memori utama ataupun dengan
register-register CPU
3)
Antarmuka internal dengan computer
(CPU dengab memori utama)
4)
Antarmuka internal dengan perangkat
external untuk menjalankan fungsi-fungsi pengontrolan
- Fungsi utama modul I/O:
1)
Sebagaai piranti antarmuka ke CPU
dan memori ke bus system
2)
Sebagaai piranti antarmuka dengan
peraalatan periperaal lainnyaa dengaan menggunakan link data tertentu
Untuk lebih jelasnya dapat dilihat gambar dibawah ini:
Fungsi modul I/O:
v Control dan timing
v Komunikasi CPU
sebagai
media komunikasi dari CPU menuju device eksternal
v Komunikasi perangkat
sebagai
media komunikasi dari device eksternal menuju CPU
v Buffering
berfungsi sebagai penampung data sementara baik dari CPU/memori maupun dari peripheral-peripheral
berfungsi sebagai penampung data sementara baik dari CPU/memori maupun dari peripheral-peripheral
v Deteksi error
berfungsi
sebagai pendeteksi kesalahan yang ditimbulkan oleh device
Skema
perangkat peripheral
Interface ke modul I/O adalah dalam bentuk signal-signal kontrol,status,dan
data. Data berbentuk sekumpulan bit untuk dikirimkan ke modul I/O atau diterima
dari modul I/O. control signal menentukan fungsi-fungsi yang akan dilakukan
perangkat, seperti mengirimkan data ke modul I/O ( input atau read), menerima
data dari modul I/O ( output / write), report status, atau membentuk fungsi
kontrol tertentu ke perangkat ( misalnya, posisi head disk). signal status
menandai status perangkat untuk mengirimkan data.
Control logic berkaitan dengan perangkat yang
mengontrol operasi perangkat dalam memberikan respons yang berasal dari modul
I/O. Transduser mengubah data dari energi listrik menjadi energi lain selama
berlangsungnya output dan dari bentuk energi tertentu menjadi energi listrik
selama berlangsungnya input. Umumnya, suatu buffer dikaitkan dengan transduser
untuk menampung sementara data yang ditansfer diantara modul I/O dan dunia
luar. Ukuran buffer yang umum adalah 8 hingga 16 bit.
Buffering
Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungaan perbedaaan laaju transfer data dari perangkat periperaal dengan kecepatan pengolahan data CPU.
Umumnya buffering memiliki laju tranfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpanan. contoh nya sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk kecepatan modem tersebut kira-kira hanyalah 1/1000 dari pada hard disk. jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem.
Struktur Bus I/O
- Saluran data
Saluran yang memberikan lintasan bagi perpindahan data antara dua modul system.
Umumnya bus data terdiri dari 8,16,32 saluran, jumlah saluran dikaitkan dengan
lebar bus data. Karena pada saat tertentu masing-masing saluran hanya dapat
membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan
pada saat tertentu. Lebar bus data merupakan factor penting dalam mentukan
kinerja system secara keseluruhan. Bila bus data lebarnya 8 bit, dan setiap
intruksinya dengan panjang 16 bit, maka CPU harus 2kali mengakses modul memori
dalam setiap siklus intruksinya.
- Saluran control
Bus control digunakan untuk mengontrol akses ke saluran alamat, penggunaan data
dan saluran alamat. Karena data dan saluran alamat digunakan bersama oleh
seluruh komponen, maka harus ada alat untuk mengontrol penggunaanya.
Signal-signal control melakukan trasmisi baik perintah maupun informasi
perwaktuan diantara modul-modul system.
- Saluran alamat
Digunakan untuk menandakan sumber atau tujuan data pada bus data, misalnya CPU
akan membaca sebuah word (8,16,32 bit ) data memori, maka CPU akan menaruh
alamat word yang dimaksud pada saluran alamat. Lebar bus menentukan kapasitas
memori maksimum system. Selain itu umumnya saluran alamat ini digunakan untuk
memilih lokasi memori atau port I/O pada modul.
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 dibawah ini:
Modul dihubungkan dengan bagian-bagian computer lainnya melalui saluran signal
(misalnya, saluran bus system). Data yang dipindahkan ke modul dan dari modul
di-buffer-kan dalam sebuah register data atau lebih. Mungkin juga terdapat
sebuah register status atau lebih yang memberikan informasi status saat itu.
Register status dapat juga berfungsi sebagai register control, untuk menerima
informasi control secara detail dari CPU. Logic pada modul berinteraksi dengan
CPU melalui sejumlah saluran control. Saluran-saluran ini digunakan oleh CPU
untuk memberikan perintah ke modul I/O. beberapa saluran control dapat
digunakan oleh modul I/O. modul juga dapat mengetahui dan menghasilkan
alamat-alamat yang berkaitan dengan perangkat yang dikontrolnya. Setiap modul
I/O memiliki alamat yang unik, atau apabila modul I/O mengontrol lebih dari
sebuah perangkat eksternal, maka terdapat sekumpulan alamat yang unik.
Terakhir, modul I/O terdiri dari logic yang bersifat khusus bagi interface
dengan setiap perangkat yang dikontrolnya.
3.
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.
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.
4.
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.
Pengolahan
interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah
sebagai berikut :
- 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.
- 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.
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.
Flowchart
proses interupsi yang simpel :
- 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
:
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
Download Materi Selengkapnya Disini => Download