Modul 2 sistem komputer dan eksekusi 1
Modul 2. Sistem Komputer dan Eksekusi Instruksi
2
2.1.
MODUL 2
SISTEM KOMPUTER DAN EKSEKUSI INSTRUKSI
Komponen Sistem Komputer
Secara garis besar sistem komputer tersusun dari 3 (tiga) komponen utama,
yaitu :
CPU (Central Processing Unit) atau Prosesor, yang terdiri dari: ALU (Arithmetic
and Logic Unit), Register dan Control Unit
Memory
I/O Device
Ketiga komponen tersebut dihubungkan dengan suatu Struktur Interkoneksi tertentu.
Pengetahuan
tentang
komponen-komponen
ini
beserta
operasi
atau
interaksinya memungkinkan kita untuk melihat lebih dalam penyebab kelambatan
sistem, jalur alternatif, skala kegagalan sistem dan peluang untuk peningkatan unjuk
kerja. Gambar 2.1. memperlihatkan komponen-komponen sebuah sistem komputer.
Gambar 2.1. Komponen Sistem Komputer
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
1
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Von Neumann berjasa karena idenya tentang Pengendalian Operasi Hardware
Komputer melalui manipulasi sinyal kendali. Sebelum idenya direalisasikan, komputer
pertama (ENIAC) harus diubah secara fisik (sambungan atau solderannya) jika fungsi
komputasi komputer ingin diubah. Tetapi kemudian hal ini tidak terjadi lagi setelah Von
Neumann memperkenalkan penggunaan memori untuk menyimpan program yang
berupa urutan instruksi untuk dieksekusi dalam manipulasi sinyal kendali. Program ini
dibuat untuk mewujudkan operasi tertentu. Ini merupakan peralihan dari rancang
ulang hardware menjadi pemrograman software. Arsitektur Von Neumann ini
merupakan basis bagi seluruh rancangan komputer sejak komputer generasi pertama.
Karakteristik Arsitektur Komputer Von Neuman adalah sebagai berikut:
Baik data maupun instruksi (urutan kendali) diletakkan dalam memori yang sama.
Sehingga data tidak bisa dibedakan dari memori karena keduanya ditulis dengan
cara yang sama (biner code) dan diletakkan di tempat yang sama (memori)
Isi memori dapat diakses berdasarkan alamatnya, tanpa memperdulikan type data
atau instruksi yang dikandungnya
Eksekusi instruksi dilakukan secara berurutan, mulai dari instruksi yang ditulis
pada lokasi awal memori , kemudian lokasi berikutnya dan seterusnya sampai
akhir program
Secara umum, yang dilakukan prosesor adalah mengambil instruksi dari memori,
kemudian menterjemahkan istruksi tersebut menjadi aksi untuk transfer maupun
olah data dalam ALU. Gambar 2.2. memperlihatkan skema hal tersebut.
Gambar 2.2. Cara kerja prosesor
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
2
Modul 2. Sistem Komputer dan Eksekusi Instruksi
2.2.
Eksekusi Instruksi (Instruction Execution)
Eksekusi instruksi meliputi langkah-langkah berikut :
a.
Penentuan alamat instruksi berikutnya yang akan dieksekusi
b.
Pengambilan
instruksi
dari
lokasi
yang
ditunjuk
tersebut,
kemudian
meletakkannya di register instruksi (Instruction Register) yang terletak
berdampingan dengan Control Unit.
c.
Penterjemahan (decode) instruksi untuk mengetahui operasi apa yang harus
dilakukan.
d.
Kalkulasi alamat operand (data yang akan dilibatkan dalam operasi), kemudian
ambil operand tersebut.
e.
Melakukan operasi tertentu terhadap operand tersebut.
f.
Simpan hasilnya pada salah satu lokasi data, register atau memori.
g.
Pengecekan terhadap keberadaan interupsi. Jika ada, maka eksekusi instruksi
berikutnya ditunda dan operasi instruksi interupsi dimulai.
Gambar 2.3 memperlihatkan siklus instruksi yang secara garis besar terdiri dari
tahap pengambilan (fetch cycle) dan tahap eksekusi (execution cycle). Sedangkan
Gambar 2.4 berisi diagram keadaan (state diagram ) yang merupakan rincian siklus
eksekusi instruksi.
Gambar 2.3. Siklus Instruksi
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
3
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.4. Diagram Keadaan untuk Langkah Instruksi
Gambar 2.5 memperlihatkan contoh siklus eksekusi sebuah instruksi yang
terdiri dari 6 tahap, yaitu :
1.
Karena PC (Program Counter) berisi angka 300, maka instruksi yang akan
diambil adalah instruksi yang terletak di memori alamat 300, yaitu instruksi
dengan kode 1940. Instruksi tersebut diambil dari memori kemudian disimpan di
register instruksi (Instruction Register).
2.
Misalkan kode 1940 merupakan instruksi dengan kode operasi (Operation Code,
opcode) 1, diikuti dengan 940 yang merupakan alamat operand. Opcode 1
berarti instruksi untuk mengcopy data dari alamat operand (dalam hal ini 940) ke
akumulator. Maka data yang terletak di alamat 940 dicopy ke accumulator untuk
diproses dalam siklus eksekusi ini.
3.
Setelah itu isi PC ditambah satu (incremented) sehingga isinya menjadi 301.
Artinya, instruksi berikutnya yang harus diambil dari memori dan dieksekusi
terletak di memori alamat 301, yaitu instruksi dengan kode 5941. Instruksi
tersebut mengandung opcode 5 dan alamat operand 941.
4.
Karena 5 berarti penjumlahan antara isi akumulator dengan isi memori yang
alamatnya diberikan di sebelah angka 5, maka isi akumulator dijumlahkan
dengan isi memori alamat 941. Kemudian hasil penjumlahannya dikembalikan
ke akumulator.
5.
Setelah PC ditambah satu, maka isinya menjadi 302, sehingga instruksi
berikutnya yang diambil dari memori adalah 2941, yaitu opcode 2 dan operand
941.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
4
Modul 2. Sistem Komputer dan Eksekusi Instruksi
6.
Arti 2941 adalah perintah untuk mengcopy isi akumulator ke memori alamat 941.
Gambar 2.5. Contoh Eksekusi Program
2.3.
Interupsi (Interrupt)
Dalam proses eksekusi program, dikenal istilah interupsi, yaitu mekanisme
pengalihan kendali CPU dari program utama atau eksekusi normal ke program
subrutin karena interupsi dari suatu modul I/O. Biasanya I/O device ini 1 sampai 10
kali lebih lambat dari CPU, sehingga sangat tidak efisien jika CPU harus
menunggunya tanpa melakukan operasi apapun. Selama menunggu I/O device
tersebut, CPU dapat melakukan operasi eksekusi program normal. Tetapi ketika terjadi
interupsi, eksekusi normal tersebut dihentikan sementara untuk melayani interupsi
berupa eksekusi program atau instruksi lain.
Gambar 2.6. memperlihatkan alur kendali kendali eksekusi program dengan dan tanpa
interupsi. Pada gambar (a) terlihat bahwa pengalihan kendali eksekusi dilakukan
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
5
Modul 2. Sistem Komputer dan Eksekusi Instruksi
karena opcode instruksi terakhir, dalam hal ini instruksi CALL, bukan karena dicegat
oleh interupsi. Sedangkan pada gambar (b) dan (c), pengalihan kendali eksekusi
disebabkan oleh interupsi. Perbedaan gambar (b) dengan (c) adalah sebagai berikut.
Pada short I/O wait, penundaan eksekusi program (program suspending) dapat terjadi
di mana saja pada akhir eksekusi instruksi. Gambar 2.7. memperlihatkan proses ini
lebih rinci. Sedangkan pada Long I/O wait (lihat juga gambar 2.8.), program
suspending hanya boleh terjadi pada saat-saat tertentu saja, yaitu pada akhir
potongan program, bukan pada akhir eksekusi instruksi saat terjadinya interupsi.
Gambar 2.6. Alur Kendali Program dengan dan tanpa interupsi
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
6
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.7. Pengalihan Kendali via interupsi
Gambar 2.8. Program Timing: Long I/O wait
Prosesor dan Operating System bertanggung jawab untuk mengidentifikasi
interupsi,
menunda
eksekusi
program
normal,
melayani
interupsi
dengan
mengeksekusi program atau instruksi tertentu, kemudian melanjutkan eksekusi
program normal yang tertunda tadi. Interupsi diproses dalam siklus interupsi yang
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
7
Modul 2. Sistem Komputer dan Eksekusi Instruksi
terkandung dalam keseluruhan siklus instruksi. Gambar 2.9. memperlihatkan siklus
eksekusi instruksi yang memungkinkan adanya interupsi. Sedangkan gambar 2.10.
memperlihatkan lebih rinci siklus eksekusi yang diselipi interupsi. Gambar 2.10. ini
merupakan modifikasi gambar 2.4.
Gambar 2.9. Siklus Instruksi dengan interupsi
Gambar 2.10. Diagram Keadaan untuk Siklus Instruksi, dengan interupsi.
Berikut ini adalah urutan siklus interupsi :
a.
Pada setiap akhir eksekusi instruksi, yaitu setelah penyimpanan operand ke
dalam memori atau register, prosesor mengecek keberadaan interupsi.
b.
Jika tidak ada interupsi, maka eksekusi program normal dilanjutkan ke instruksi
berikutnya. Tetapi jika ada, maka :
- Eksekusi program normal ditunda sementara dan keadaan prosesor (isi
seluruh register penting) direkam dalam tumpukan (stack).
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
8
Modul 2. Sistem Komputer dan Eksekusi Instruksi
- Lompat ke Interrupt Service Routine (ISR), yaitu ke lokasi memori yang berisi
program pelayanan untuk interupsi terkait. Kemudian proses eksekusi
instruksi dimulai seperti biasa.
- Setelah eksekusi program ISR selesai, keadaan prosesor ketika ditunda
sementara (suspended) dikembalikan, yaitu mengcopy isi stack ke dalam
register-register. Setelah itu eksekusi instruksi dimulai seperti biasa.
Sebuah sistem komputer dapat memiliki beberapa sampai lusinan sumber
interupsi, masing-masing akan dilayani oleh ISR terkait. Proses yang harus dilakukan
jika lebih dari 1 interupsi terjadi pada waktu bersamaan, atau interupsi datang ketika
prosesor sedang mengeksekusi ISR interupsi lain, adalah sebagai berikut:
Sebelumnya, sistem harus menentukan tingkatan prioritas untuk setiap interupsi.
Pada saat memulai siklus interupsi, interupsi yang memiliki prioritas lebih tinggi
dapat menunda eksekusi ISR yang sedang berlangsung.
Interupsi lainnya akan dilayani kemudian.
Jika interupsi terjadi ketika prosesor sedang mengeksekusi ISR, maka :
- Instruksi yang terbaru diabaikan (dengan cara disable interrupt) sampai
proses
eksekusi
ISR
selesai.
Misal
pada
mikrokontroler
Motorolla
MC68HC11.
- Identifikasi dan pelayanan interupsi dilakukan hanya jika interupsi terbaru
memiliki prioritas lebih tinggi dari interupsi yang sedang dilayani. Misal pada
prosesor Intel 8085.
Gambar 2.11. memperlihatkan skema eksekusi program yang disela oleh 2
interupsi. Kedua ISR dieksekusi secara berurutan (sequential), sebagaimana terlihat
pada gambar (a). Sedangkan gambar (b) memperlihatkan skema eksekusi yang disela
oleh 1 interupsi, kemudian ketika ISR pertama dieksekusi, disela lagi oleh interupsi
berikutnya yang memiliki prioritas lebih tinggi.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
9
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.11.Peralihan Kendali dengan interupsi ganda.
Sedangkan Gambar 2.12. memperlihatkan skema eksekusi program yang
disela oleh 3 interupsi. ISR komunikasi dapat menyela ISR printer karena prioritas
komunikasi lebih tinggi daripada printer. Sedangkan ISR disk tidak dapat menyela ISR
komunikasi karena prioritas disk lebih rendah dari komunikasi. Tetapi karena disk
memiliki prioritas lebih tinggi daripada printer, maka segera setelah ISR komunikasi
dieksekusi, ISR disk dieksekusi.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
10
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.12. Urutan waktu untuk interupsi ganda.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
11
2
2.1.
MODUL 2
SISTEM KOMPUTER DAN EKSEKUSI INSTRUKSI
Komponen Sistem Komputer
Secara garis besar sistem komputer tersusun dari 3 (tiga) komponen utama,
yaitu :
CPU (Central Processing Unit) atau Prosesor, yang terdiri dari: ALU (Arithmetic
and Logic Unit), Register dan Control Unit
Memory
I/O Device
Ketiga komponen tersebut dihubungkan dengan suatu Struktur Interkoneksi tertentu.
Pengetahuan
tentang
komponen-komponen
ini
beserta
operasi
atau
interaksinya memungkinkan kita untuk melihat lebih dalam penyebab kelambatan
sistem, jalur alternatif, skala kegagalan sistem dan peluang untuk peningkatan unjuk
kerja. Gambar 2.1. memperlihatkan komponen-komponen sebuah sistem komputer.
Gambar 2.1. Komponen Sistem Komputer
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
1
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Von Neumann berjasa karena idenya tentang Pengendalian Operasi Hardware
Komputer melalui manipulasi sinyal kendali. Sebelum idenya direalisasikan, komputer
pertama (ENIAC) harus diubah secara fisik (sambungan atau solderannya) jika fungsi
komputasi komputer ingin diubah. Tetapi kemudian hal ini tidak terjadi lagi setelah Von
Neumann memperkenalkan penggunaan memori untuk menyimpan program yang
berupa urutan instruksi untuk dieksekusi dalam manipulasi sinyal kendali. Program ini
dibuat untuk mewujudkan operasi tertentu. Ini merupakan peralihan dari rancang
ulang hardware menjadi pemrograman software. Arsitektur Von Neumann ini
merupakan basis bagi seluruh rancangan komputer sejak komputer generasi pertama.
Karakteristik Arsitektur Komputer Von Neuman adalah sebagai berikut:
Baik data maupun instruksi (urutan kendali) diletakkan dalam memori yang sama.
Sehingga data tidak bisa dibedakan dari memori karena keduanya ditulis dengan
cara yang sama (biner code) dan diletakkan di tempat yang sama (memori)
Isi memori dapat diakses berdasarkan alamatnya, tanpa memperdulikan type data
atau instruksi yang dikandungnya
Eksekusi instruksi dilakukan secara berurutan, mulai dari instruksi yang ditulis
pada lokasi awal memori , kemudian lokasi berikutnya dan seterusnya sampai
akhir program
Secara umum, yang dilakukan prosesor adalah mengambil instruksi dari memori,
kemudian menterjemahkan istruksi tersebut menjadi aksi untuk transfer maupun
olah data dalam ALU. Gambar 2.2. memperlihatkan skema hal tersebut.
Gambar 2.2. Cara kerja prosesor
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
2
Modul 2. Sistem Komputer dan Eksekusi Instruksi
2.2.
Eksekusi Instruksi (Instruction Execution)
Eksekusi instruksi meliputi langkah-langkah berikut :
a.
Penentuan alamat instruksi berikutnya yang akan dieksekusi
b.
Pengambilan
instruksi
dari
lokasi
yang
ditunjuk
tersebut,
kemudian
meletakkannya di register instruksi (Instruction Register) yang terletak
berdampingan dengan Control Unit.
c.
Penterjemahan (decode) instruksi untuk mengetahui operasi apa yang harus
dilakukan.
d.
Kalkulasi alamat operand (data yang akan dilibatkan dalam operasi), kemudian
ambil operand tersebut.
e.
Melakukan operasi tertentu terhadap operand tersebut.
f.
Simpan hasilnya pada salah satu lokasi data, register atau memori.
g.
Pengecekan terhadap keberadaan interupsi. Jika ada, maka eksekusi instruksi
berikutnya ditunda dan operasi instruksi interupsi dimulai.
Gambar 2.3 memperlihatkan siklus instruksi yang secara garis besar terdiri dari
tahap pengambilan (fetch cycle) dan tahap eksekusi (execution cycle). Sedangkan
Gambar 2.4 berisi diagram keadaan (state diagram ) yang merupakan rincian siklus
eksekusi instruksi.
Gambar 2.3. Siklus Instruksi
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
3
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.4. Diagram Keadaan untuk Langkah Instruksi
Gambar 2.5 memperlihatkan contoh siklus eksekusi sebuah instruksi yang
terdiri dari 6 tahap, yaitu :
1.
Karena PC (Program Counter) berisi angka 300, maka instruksi yang akan
diambil adalah instruksi yang terletak di memori alamat 300, yaitu instruksi
dengan kode 1940. Instruksi tersebut diambil dari memori kemudian disimpan di
register instruksi (Instruction Register).
2.
Misalkan kode 1940 merupakan instruksi dengan kode operasi (Operation Code,
opcode) 1, diikuti dengan 940 yang merupakan alamat operand. Opcode 1
berarti instruksi untuk mengcopy data dari alamat operand (dalam hal ini 940) ke
akumulator. Maka data yang terletak di alamat 940 dicopy ke accumulator untuk
diproses dalam siklus eksekusi ini.
3.
Setelah itu isi PC ditambah satu (incremented) sehingga isinya menjadi 301.
Artinya, instruksi berikutnya yang harus diambil dari memori dan dieksekusi
terletak di memori alamat 301, yaitu instruksi dengan kode 5941. Instruksi
tersebut mengandung opcode 5 dan alamat operand 941.
4.
Karena 5 berarti penjumlahan antara isi akumulator dengan isi memori yang
alamatnya diberikan di sebelah angka 5, maka isi akumulator dijumlahkan
dengan isi memori alamat 941. Kemudian hasil penjumlahannya dikembalikan
ke akumulator.
5.
Setelah PC ditambah satu, maka isinya menjadi 302, sehingga instruksi
berikutnya yang diambil dari memori adalah 2941, yaitu opcode 2 dan operand
941.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
4
Modul 2. Sistem Komputer dan Eksekusi Instruksi
6.
Arti 2941 adalah perintah untuk mengcopy isi akumulator ke memori alamat 941.
Gambar 2.5. Contoh Eksekusi Program
2.3.
Interupsi (Interrupt)
Dalam proses eksekusi program, dikenal istilah interupsi, yaitu mekanisme
pengalihan kendali CPU dari program utama atau eksekusi normal ke program
subrutin karena interupsi dari suatu modul I/O. Biasanya I/O device ini 1 sampai 10
kali lebih lambat dari CPU, sehingga sangat tidak efisien jika CPU harus
menunggunya tanpa melakukan operasi apapun. Selama menunggu I/O device
tersebut, CPU dapat melakukan operasi eksekusi program normal. Tetapi ketika terjadi
interupsi, eksekusi normal tersebut dihentikan sementara untuk melayani interupsi
berupa eksekusi program atau instruksi lain.
Gambar 2.6. memperlihatkan alur kendali kendali eksekusi program dengan dan tanpa
interupsi. Pada gambar (a) terlihat bahwa pengalihan kendali eksekusi dilakukan
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
5
Modul 2. Sistem Komputer dan Eksekusi Instruksi
karena opcode instruksi terakhir, dalam hal ini instruksi CALL, bukan karena dicegat
oleh interupsi. Sedangkan pada gambar (b) dan (c), pengalihan kendali eksekusi
disebabkan oleh interupsi. Perbedaan gambar (b) dengan (c) adalah sebagai berikut.
Pada short I/O wait, penundaan eksekusi program (program suspending) dapat terjadi
di mana saja pada akhir eksekusi instruksi. Gambar 2.7. memperlihatkan proses ini
lebih rinci. Sedangkan pada Long I/O wait (lihat juga gambar 2.8.), program
suspending hanya boleh terjadi pada saat-saat tertentu saja, yaitu pada akhir
potongan program, bukan pada akhir eksekusi instruksi saat terjadinya interupsi.
Gambar 2.6. Alur Kendali Program dengan dan tanpa interupsi
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
6
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.7. Pengalihan Kendali via interupsi
Gambar 2.8. Program Timing: Long I/O wait
Prosesor dan Operating System bertanggung jawab untuk mengidentifikasi
interupsi,
menunda
eksekusi
program
normal,
melayani
interupsi
dengan
mengeksekusi program atau instruksi tertentu, kemudian melanjutkan eksekusi
program normal yang tertunda tadi. Interupsi diproses dalam siklus interupsi yang
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
7
Modul 2. Sistem Komputer dan Eksekusi Instruksi
terkandung dalam keseluruhan siklus instruksi. Gambar 2.9. memperlihatkan siklus
eksekusi instruksi yang memungkinkan adanya interupsi. Sedangkan gambar 2.10.
memperlihatkan lebih rinci siklus eksekusi yang diselipi interupsi. Gambar 2.10. ini
merupakan modifikasi gambar 2.4.
Gambar 2.9. Siklus Instruksi dengan interupsi
Gambar 2.10. Diagram Keadaan untuk Siklus Instruksi, dengan interupsi.
Berikut ini adalah urutan siklus interupsi :
a.
Pada setiap akhir eksekusi instruksi, yaitu setelah penyimpanan operand ke
dalam memori atau register, prosesor mengecek keberadaan interupsi.
b.
Jika tidak ada interupsi, maka eksekusi program normal dilanjutkan ke instruksi
berikutnya. Tetapi jika ada, maka :
- Eksekusi program normal ditunda sementara dan keadaan prosesor (isi
seluruh register penting) direkam dalam tumpukan (stack).
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
8
Modul 2. Sistem Komputer dan Eksekusi Instruksi
- Lompat ke Interrupt Service Routine (ISR), yaitu ke lokasi memori yang berisi
program pelayanan untuk interupsi terkait. Kemudian proses eksekusi
instruksi dimulai seperti biasa.
- Setelah eksekusi program ISR selesai, keadaan prosesor ketika ditunda
sementara (suspended) dikembalikan, yaitu mengcopy isi stack ke dalam
register-register. Setelah itu eksekusi instruksi dimulai seperti biasa.
Sebuah sistem komputer dapat memiliki beberapa sampai lusinan sumber
interupsi, masing-masing akan dilayani oleh ISR terkait. Proses yang harus dilakukan
jika lebih dari 1 interupsi terjadi pada waktu bersamaan, atau interupsi datang ketika
prosesor sedang mengeksekusi ISR interupsi lain, adalah sebagai berikut:
Sebelumnya, sistem harus menentukan tingkatan prioritas untuk setiap interupsi.
Pada saat memulai siklus interupsi, interupsi yang memiliki prioritas lebih tinggi
dapat menunda eksekusi ISR yang sedang berlangsung.
Interupsi lainnya akan dilayani kemudian.
Jika interupsi terjadi ketika prosesor sedang mengeksekusi ISR, maka :
- Instruksi yang terbaru diabaikan (dengan cara disable interrupt) sampai
proses
eksekusi
ISR
selesai.
Misal
pada
mikrokontroler
Motorolla
MC68HC11.
- Identifikasi dan pelayanan interupsi dilakukan hanya jika interupsi terbaru
memiliki prioritas lebih tinggi dari interupsi yang sedang dilayani. Misal pada
prosesor Intel 8085.
Gambar 2.11. memperlihatkan skema eksekusi program yang disela oleh 2
interupsi. Kedua ISR dieksekusi secara berurutan (sequential), sebagaimana terlihat
pada gambar (a). Sedangkan gambar (b) memperlihatkan skema eksekusi yang disela
oleh 1 interupsi, kemudian ketika ISR pertama dieksekusi, disela lagi oleh interupsi
berikutnya yang memiliki prioritas lebih tinggi.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
9
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.11.Peralihan Kendali dengan interupsi ganda.
Sedangkan Gambar 2.12. memperlihatkan skema eksekusi program yang
disela oleh 3 interupsi. ISR komunikasi dapat menyela ISR printer karena prioritas
komunikasi lebih tinggi daripada printer. Sedangkan ISR disk tidak dapat menyela ISR
komunikasi karena prioritas disk lebih rendah dari komunikasi. Tetapi karena disk
memiliki prioritas lebih tinggi daripada printer, maka segera setelah ISR komunikasi
dieksekusi, ISR disk dieksekusi.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
10
Modul 2. Sistem Komputer dan Eksekusi Instruksi
Gambar 2.12. Urutan waktu untuk interupsi ganda.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB
Dr. Ir. Andi Adriansyah, M.Eng
ARSITEKTUR SISTEM KOMPUTER
11