M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r | 1
MATERI 1 PENGANTAR SISTEM KOMPUTER
Oleh :
Muhammad Adri, S.Pd., M.T Email : [email protected]
1.1 Elemen Dasar Komputer 1.2 Jenis Register dalam Prosesor
A. Register yang dapat diakses (User-Visible Register) B. Kontrol dan status
C. Register
1.3 Proses Pengeksekusi Instruksi
A. Pegambilan (Feth) dan Eksekusi Instruksi B. Fungsi I/O
1.4 Interupsi
A. Interupt dan siklus Instruksi B. Pemrosesan Interupsi
C. Interupt berganda (Multiple) D. Multiprogramming
Lisensi Dokumen:
Copyright © 2020 Universitas Negeri Padang
Seluruh dokumen di e-Learning Universitas Negeri Padang, hanya digunakan untuk kalangan Internal Universitas, untuk kebutuhan Perkuliahan Online. Penggunaan dokumen ini di luar UNP tidak diizinka dan tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari
Penulis dan Universitas Negeri Padang.
2 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
Materi ini akan membahas tinjauan tentang hardwae sistem komputer, umumnya pembahasannya cukup singkat sesuai dengan asumsi bahwa para pembaca telah mengenal permasalahan dengan baik akan tetapi beberapa masalah akan di jelaskan secara mendalam mengingat pentingnya masalah tersebut bagi topik yang akan di bahas selanjutnya di dalam modul ini.
Suatu Sistem Operasi akan memanfaatkan sumber daya hardware sebuah prosesor atau lebih, dalam menyediakan layanan layanan nya bagi para pengguna sistem. Sistem Operasi juga mengatur memori sekunder dan perangkat perangkat I/O atas nama pengguna penggunanya karena itu apabila kita akan menguji sistem sistem operasi pemahaman tentang hardware sistem komputer tertentu sangat lah di perlukan
1.1 ELEMEN DASAR KOMPUTER
Pada tingkatan paling atas sebuah komputer terdiri dari komponen komponen prosesor memori I/O, dengan sebuah modul atau lebih pada setiap komponennya. Komponen tersebut di interkoneksikandengan cara tertentu untuk mendapatkan fungsi utama komputer, yang digunakan untuk mengesekusi program. Dengan demikian terdapatempat elemen struktural utama :
 Prosesor : Mengontrol operasi komputer dan melakukan fungsi pengolahan data. Apabila hanya terdapat sebuah prosesor, prosesor tersebut disebut central prosesor unit (CPU)
 Memori Utama : Menyimpan data dan program. Memori ini umumnya bersifat volatif memori utama juga disebut real memori atau memori printer.
 Modul modul I/O : memindahkan data antara komputer dengan lingkungan eksternalnya. Lingkungan eksternal terdiri dari bermacam macam perangkat eksternal, yang meliputi perangkat memori sekunder, peralatan komunikasi, dan terminal.
 Sistem Bus : Beberapa struktur dan mekanisme yang melakukan komunikasi antara prosesor, memori utama, dan modul I/O.
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 3 Gambar 1.1 menjelaskan komponen komponen tingkat paling atas, Prosesor umumnya berada didalam kontrol. Salah satu fungsinya adalah untuk melakukan pertukaran pertukaran data dengan memori. Untuk itu umumnya prosesor menggunakan register internal (terhadap prosesor) memori address register
(MAR)yang mencirikan
alamatdalam memori untuk keperluan pembacaan atau penulisan berikutnya, dan memori buffer register (MBR)yang berisi data yang akan dituliskan kedalam memori yang menerima data yang dibaca dari memori. Demikian pula I/O address register (I/O AR) mencirikan perangkat I/O tertentu.
I/O buffer register (I/O BR) digunakan untuk pertukaran data antara modul I/O dengan prosesor
Gambar 1.1 Komponen Komputer: Tampilan Tingkat Atas (Stalling, 2012)
Modul memori terdiri dari sejumlah lokasi, yang memiliki nomor alamat yang berurutan. Modul I/O memindahkan data dari perangkat eksternal ke prosesor dan memori dan sebaliknya. Modul ini berisi buffer internal untuk menampung data secara temporer sampai data itu dikirimkan.
1.2 REGISTER PROSESOR
Sebuah prosesor terdiri dari sejumlah register yang merupakan memori berkecapatan paling tinggi dan berukuran lebih kecil daripada memori utama, Register didalam prosesor mempunyai dua fungsi, sebagai berikut :
 User-Visible register : memungkinkan pemrogram bahasa mesin atau bahasa Asembler dapat mengurangi referensi memori utama dengan mengoptimalkan penggunaan register.
4 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
 Control dan status register : digunakan oleh prosesor untuk mengontrol operasi prosesor dan oleh privileged, routin routin sistem operasi untuk mengontrol eksekusi programm.
Tidak ada pemisahan yang jelas antara kedua kategori di atas misalnya pada sebagian mesin program counter bersifat user-visible tetapi pada mesin mesin lainnya tidak user-visible namun untuk membantu pembahasan berikut ini, akan digunakan kategori yang disebutkan diatas.
A. User-Visible Register
User-Visible Register dapat di referensikan dengan menggunakan bahasa mesin yang di eksekusi oleh prosesor selain yang umumnya dapat dipakai oleh seluruh program, termasuk program aplikasi dan program sistem. Jenis register yang pada umumnya tersedia adalah register data, alamat, dan kode kondisi.
Data Register, dapat di assign keberaneka ragam fungsi oleh pemrogram..
Address register, berisi alamat data dan instruksi yang terdapat di dalam memori utama. Untuk melakukan pengalamatan dilakukan dengan cara :
 Indeks Register : Pengalamatan terindeks adalah mode pengalamatan biasa yang dipakai untuk mendapatkan alamat efektifnya melibatkan penambahan suatu indeks terhadap nilai basis.
 Segment Pointer : Pada pengalamatan tersegmentasi memori dibagi menjadi segmen, yang memiliki blok blok word yang panjang nya tidak tetap.
 Stack Pointer : Apabila terdapat pengalamatan user-visible stack terdapat sebuah register yang diperuntukkan untuk menunjukan kebagian atas stack, ini memungkinkan penggunan interuksi yang tidak mengandung field alamat, seperti push dan pop.
B. Control Register dan status Register
Bermacam macam register digunakan untuk mengontrol operasi prosesor, pada sebagian besar mesin, sebagian besar register register bersifat tidak visible terhadap pengguna beberapa register dapat di akses oleh interuksi interuksi mesin yang di eksekusi dalam mode sistem operasi.
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 5 Disamping register register MAR,MBR, I/OAR, dan I/OBR, terdapat register register yang penting bagi eksekusi interuksi seperti di bawah ini :
 Program Counter (PC) : Berisi alamat intruksi yang akan diambil.
 Instuction Register (IR) : Berisi Instruksi yang terakir digunakan
Semua rancangan prosesor juga mencakup sebuah rugister atau sejumlah register, yang dikenal sebagai program status word (PSW) yang berisi informasi keadaan , misalnya interupt enable/disable bit dan supervisor/user modebit.
Terdapat beberapa faktor yang menentukan rancangan organisasi register status dan register kontrol yaitu :
 Informasi kontrol yang merupakan ulilitas yang spesifik bagi sistem operasi.
 Alokasi informasi kontrol antara register dengan memori.
1.3 EKSEKUSI INSTRUKSI
Fungsi dasar yang dilakukan oleh sebuah komputer adalah eksekusi program. Program yang akan dieksekusi terdiri dari sejumlah instruksi yang berada di dalam memori utama. Prosesor melakukan tugas aktualnya dengan melaksanakan instruksi yang telah ditetapkan di dalam program.
Bentuk yang paling sederhana, dalam pengolahan instruksi terdiri dari dua langkah : Prosesor membaca (fetch) instruksi dari dalam memori secara satu per satu dan mengeksekusi (execute) instruksi itu. Eksekusi instruksi dapat terdiri dari beberapa operasi dan tergantung pada sifat instruksinya.
Pengolahan yang dilakukan sebuah instruksi disebut sebagai siklus instruksi. Dengan menggunakan deskripsi dua langkah yang telah disederhanakan, siklus instruksi dapat digambarkan seperti pada Gambar 1.2.
kedua langkah itu dikenal sebagai siklus Pengambilan (felch cycle) dan siklus eksekusi (execution cycle). Eksekusi program hanya akan terhenti apabila mesin dimatikan, yang menyebabkan akan terjadi kesalahan yang tidak dapat dipulihkan, atau akan terjadi instruksi program yang menghentikan komputer.
6 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
A. Pengambilan (Fetch) dan Pengeksikusian (Execute) Instruksi
Pada awal setiap siklus instruksi, proesor membaca instruksi memori dari memori. Pada prosesor tertentu, program counter (PC) menyimpan alamat dari urutan instruksi berikutnya yang akan dibaca.
Gambar 1.2 Siklus Instruksi Dasar (Stalling, 2012)
Sebagai contoh, ambil setiap komputer yang setiap instruksinya menggunakan sebuah word 16 bit memori. Asumsikan bahwa program counter disetel ke lokasi 300. Kemudian processor akan membaca instruksi yang terdapat di lokasi yang terdapat di lokasi 300. Pada siklus instruksi berikutnya, processor akan membaca instruksi dari lokasi-lokasi 301, 302, 303, dan seterusnya.
Secara umum, aksi pemrosesn instruksi ini dapat digolongkan menjadi empat kategori sebagai berikut.
 Prosesor-memori: Data dapat dipindahkan dari prosesor ke memori atau dari memori ke prosesor.
 Prosesor-I/O: Data dapat dipindahkan dari perangkat periferal atau ke perangkat periferal dengan melakukan pemindahan antara prosesor dengan modul I/O.
 Pengolahan data: prosesor dapat melakukan operasi aritmetik atau logik terhadap data.
 Control: Sebuah intruksi yang digunakan untuk melakukan perubahan pada urutan eksekusi.
Ambil contoh yang sederhana dengan menggunakan sebuah mesin hipotesis yang memiliki karakteristik seperti yang terlihat pada Gambar 1.3.
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 7 Gambar 1.3 Contoh eksekusi Program (dalam Heksadesimal)
Prosesor berisi sebuah register data tunggal yang disebut akumulator (AC).
Instruksi dan datanya memiliki panjang 16 bit. Karena itu, akan mudah apabila mengorganisasikan memori dengan memakai lokasi-lokasi 16 bit, atau word.format instruksi menyediakan 4 bit untuk opcode (dinyatakan oleh sebuah digit heksadesimal tunggal): sehingga akan terdapat 24 buah opcode yang berbeda, dan hingga 212=4.096(4k) word memori dapat diamati secara langsung.
Gambar 1.4 Contoh eksekusi Program
Gambar 1.4 menjelaskan eksekusi program parsial yang menggambarkan bagian-bagian memori dan prosesor register yang terkait. Potongan program ini menambahkan isi word memori di alamat 940 ke isi word memori di alamat 941
8 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
dan menyimpan hasilnya di alamat yang disebut terakhir. Diperlukan tiga instruksi yang dapat dijelaskan sebagai tiga siklus pembacaan (pengambilan) dan tiga siklus eksekusi.
Urutan prosesnya dapat dijelaskan sebagai berikut :
1. Step 1
a. PC menetapkan alamat memori instruksi yang akan diambil adalah 300
b. MAR akan memberikan bantuan kepada Prosesor untuk menunjukkan lokasi dari alamat memori 300, dan mendapatkan isi instuksinya adalah 1940 c. Isi instruksi 1940 ini kemudian
melalui MBR dimuatkan ke dalam IR untuk dibaca dan
diterjemahkan, yang disimpulkan oleh IR 940 adalah alamat memori data yang akan dieksekusi isi datanya dan instruksinya 1 (pemuatan data ke dalam akumulator).
2. Step 2
a. IR mengambil data yang ada pada alamat memori data 940, dengan nilai datanya adalah 0003.
b. Kemudian nilai 0003 tersebut disimpan di dalam akumulator
3. Step 3
a. Setelah selesai mengeksekusi instruksi pertama, maka secara otomatis, alamat akan dinaikkan oleh PC menjadi 301
b. MAR akan menunjukkan alamat
301 tersebut dan kemudian dengan MBR memuat isi instruksi nya ke dalam IR 5941
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 9 c. IR saat ini berisi data 5941, dan membaca isi instruksi tersebut yang
menunjukkan lokasi memori data pada alamat 941 dan instruksinya 5 (operasi penjumlahan)
4. Step 4
a. Berdasarkan pembacaan instruksi pada Step 3, maka kemudian dilihat isi alamat memori 941 yaitu 0003
b. Isi data 0003 ini kemudian dimuat ke dalam akumulator dan dijumlahkan dengan data yang ada (lihat step 2) yaitu 0002
c. Hasil operasi penjumlahan 0003 + 0002 = 0005 kemudian disimpan di dalam akumulator
5. Step 5
a. PC menaikkan alamat 302
b. Saat ini alamat 302 berisi instruksi 2941 dan instruksi ini kemudian dimuat ke dalam IR
c. IR membaca isi instruksi 2941 yang menujukkan alamat memori data 941 dan instruksi 2 ( muat isi data akumulator ke dalam alamat memori) 6. Step 6
a. Akumulator pada saat ini berisi data 0005 (lihat step 4)
b. Isi data 0005 ini kemudian dimasukkan ke alamat memori 941.
c. Akhirnya alamat 941 berisi 0005.
Dalam contoh ini, tiga siklus instruksi, yang masing-masing terdiri dari siklus pengambilan (step 1, 3, dan 5) dan siklus eksekusi (step 2, 4 dan 6) , diperlukan untuk menambahkan isi lokasi 940 ke isi lokasi 941.
10 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r B. Fungsi I/O
Suatu modul I/O (misalnya disk controller) dapat saling bertukar data secara langsung dengan prosesor. Sesaat setelah prosesor dapat menginisiasi pembacaan dan atau penulisan dengan memori, yang menandai alamat suatu lokasi tertentu, maka prosesor juga dapat membaca data dari modul I/O. Pada penulisan ke modul I/O, prosesor mengidentifikasi perangkat tertentu yang dikontrol oleh modul I/O tertentu. Dengan demikian, sebuah rangkain instruksi bentuknya mirip dengan apa yang terlihat pada Gambar 1.4, dengan menggantikan instruksi yang mereferensikan memori dengan instruksi- instruksi I/O.
1.4 INTERUPSI
Sebenarnya, semua komputer memiliki mekanisme yang modul-modul lainnya (I/O, Memori) dapat menginterupsi pengolahan normal prosesor itu. Tabel 1.1 merupakan daftar-daftar kelas interrupt.
Interrupt ditunjukan terutama sebagai cara untuk meningkatkan efisiensi pengolahan. Misalnya, umumnya perangkat eksternal lebih lambat dibandingkan dengan prosesor. Sebuah prosesor sedang memindahkan data ke sebuah printer yang menggunakan pola siklus instruksi seperti Gambar 1.2.
Tabel 1.1 Kelas-Kelas Interupt
Kelas Interupsi Keterangan
Program Dihasilkan oleh bebrapa kondisi yang terjadi sebagai hasil eksekusi sebuah instruksi, misalnya overflow aritmetik, pembagian dengan nol, usaha untuk mengeksekusi instruksi mesin secara legal, dan refereni ruang memori yang berada diluar yang diizinkan untuk pengguna.
Timer (clock) Dihasilkan oleh sebuah clock yang berada didalam prosesor. Hal ini memungkinkan sistem operasi untuk melakukan fungsi-fungsi tertentu seperti biasanya.
I/O Dihasilkan oleh sebuah i/o controller, untuk
memberikan tanda selesainya suatu operasi secara
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 11 normal atau untuk menandakan telah terjadi
bermacam-macam keadaan error.
Kegagalan Hardware Dihasilkan oleh kegagalan seperti tidak adanya daya listrik atau memori parity error.
Setiap setelah operasi penulisan, prosesor harus berhenti dan idle sampai printer menyelesaikan seluruhnya. Lama waktu berhenti prosesor ini dapat ratusan atau bahkan ribuan siklus instruksi yang tidak melibatkan memori. Jelas hal ini akan membuang waktu pemakaian prosesor.
Gambar 1.5a menjelaskan tentang keadaan terjadinya . program pengguna melakukan beberapa pangilan WRITE yang berselang seling dengan pengolahan.
Segment pengolahan 1, 2 dan 3 mengacu kerangkain instruksi yang tidak melibatkan I/O. Pemanggilan WRITE ditunjukan ke program-program I/O yang merupakan utilitas sistem dan yang akan melakukan operasi I/O aktual. Program I/O terdiri dari tiga bagian :
 Rangkain instruksi, yang pada gambar diberi label 4, untuk menyiapkan operasi I/O aktual. Bagian ini dapat mencakup penyalinan data yang akan menjadi output kedalam buffer tertentu dan menyiapkan parameter- parameter untuk perintah perangkat.
Gambar 1.5 Alur Program dari Control Tanpa dan dengan Interrupt
12 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
 Perintah I/O aktual. Tanpa menggunakan interrupt, stelah perintah ini diterbitkan, program harus menunggu perangkat I/O melakukan fungsi request. Program dapat menunggu dengan melakukan pengujian secara berulang-ulang untuk menentukan bahwa operasi I/O telah selesai.
 Rangkain instruksi, yang pada gambar yang diberi label 5, untuk menyelesaikan operasi. Bagian ini dapat mencakup penyetelan flag yang mengindifikasikan berhasil atau gagalnya operasi itu.
Karena mungkian suatu operasi memerlukan waktu penyelesaian yang relatif lama, program I/O dihentikan untuk menunggu operasi itu selesai, karena itu, program pengguna dihentikan pada posisi saat pemanggilan WRITE dalam periode waktu yang agak lama.
A. Interrupt Dan Siklus Instruksi
Dengan adanya interrupt, prosesor dapat melakukan eksekusi instruksi lainnya sambil ,elakukan operasi I/O. Ambil aliran control pada Gambar 1.5b.
Seperti sebelumnya program pengguna akan mencapai posisi program itu melakukan sebuah sistem call dalam bentuk WRITE call. Program I/O yang diminta dalam hal ini hanya terdiri dari kode persiapan dan perintah I/O aktual.
Setelah instruksi ini dieksekusi, control dikembalikan ke program pengguna.
Sementara itu, perangkat eksternal berada dalam keadaan sibuk menerima data dari memori komputer dan mencetak data. Operasi I/O ini dilakukan secara bersamaan dengan eksekusi instruksi-instruksi yang berada di dalam program pengguna.
Apabila perangkat eksternal berada dalam keadaan siap untuk dilayani – yaitu, pada saat perangkat eksternal itu siap menerima lagi data dari prosesor – modul I/O untuk perangkat eksternal tersebut mengirimkan signal, interrupt request ke prosesor. Proseosr memberikan respon dengan menghentikan operasi program saat itu, dan kemudian bercabang ke program untuk melayani perangkat I/O tertentu itu, yang dikenal sebagai interrupt handler, dan melanjutkan eksekusi asal setelah perangkat selesai dilayani. Dalam Gambar 1.5b, titik tempat interrupt itu terjadi ditandai dengan x.
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 13 Gambar 1.6 Transfer dari Kontrol melalui Interrupt
Dari sudut pandang program pengguna, sebuah interrupt hanya berupa suatu interupsi rangkaian eksekusi yang normal . Apabila pengolahan interrupt telah selesai di eksekusi dilanjutkan kembali (Gambar 1.6).
Gambar 1.7 Siklus Instruksi dengan Interrupt
Untuk mengakomodasi interrupt, siklus interrupt ditambahkan ke siklus intruksi, seperti yang ditunjukkan pada Gambar 1.7. Dalam siklus interrupt, prosesor memeriksa apakah terdapat interrupt, yang diindikasikan oleh adanya signal interrupt. Apabila tidak ada interrupt menunggu, prosesor
14 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
melanjutkan ke siklus pengambilan dan mengambil intruksi program berikutnya. Apabila terdapat interrupt yang menunggu prosesor menghentikan eksekusi program saat itu dan mengeksekusi routine interrupt handler. Program interrupt handler umumnya merupakan bagian sistem operasi. Biasanya, program ini menentukan sifat interrupt dan melakukan aksi apa pun yang di perlukan. Misalnya, dalam contoh yang kita ambil, handler menentukan modul I/O yang dihasilkan interrupt dan dapat bercabang ke program yang akan menulis lagi data ke modul I/O itu.
Apabila routine interrupt handler telah selesai, prosesor dapat melanjutkan eksekusi program pengguna tadi pada posisi di mana interupsi terjadi.
Gambar 1.8 Timing Program: Waktu Tunggu I/O yang pendek
Untuk memahami
perolehan efisiensi, perhatikan Gambar 1.8, yang merupakan timing diagram yang di dasarkan pada aliran kontrol Gambar 1.5a dan Gambar 1.5b.
Gambar 1.5b dan gambar 1.8 mengasumsikan bahwa waktu yang dibutuhkan untuk menyelesaikan eksekusi instruksi diantara dua operasi penulisan di dalam program pengguna. Keadaan yang lebih khusus lagi, terutama bagi perangkat yang lambat seperti printer, dengan operasi I/O akan membutuhkan waktu lebih banyak dibandingkan dengan pengeksekusian rangkaian instruksi pengguna. Gambar 1.5c menunjukkan kejadian tersebut.
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 15 Gambar 1.9 Timing Program:
Waktu Tunggu I/O yang panjang
Gambar 1.9 menunjukkan timing situasi tersebut dengan interrupt dan tanpa interrupt.
Kita dapat melihat bahwa masih ada perolehan efisiensi karena bagian waktu selama operasi I/O sedang berlangsung bertumpang- tindih dengan eksekusi instruksi - instruksi pengguna.
B. Pengolahan Interrupt
Keberadaan interrupt menimbulkan sejumlah event, baik di dalam hardware prosesor maupun di dalam software. Gambar 1.10 menunjukkan rangkaian event secara umum. Apabila operasi I/O telah selesai, rangkaian event hardware berikut ini akan terjadi.
1. Perangkat akan mengeluarkan signal interrupt ke prosesor
2. Prosesor akan menyelesaikan eksekusi intruksi saat itu sebelum memberikan respons ke interrupt seperti ditunjukkan pada Gambar 1.7.
3. Prosesor memeriksa adanya interrupt, menentukan bahwa terdapat interrupt, dan mengirimkan signal acknowledgement ke perangkat yang mengeluarkan interrupt. Acknowledgement mengizinkan perangkat untuk menghilangkan signal interrupt-nya.
4. Sekarang prosesor perlu menyiapkan pemindahan kontrol ke interrupt routine. Untuk melakukannya, prosesor harus menyimpan informasi yang dibutuhkan untuk melanjutkan program saat itu di posisi
16 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
Gambar 1.10 Pengolahan Intererupsi Sederhana
5. terjadinya interrupt.
Informasi minimum yang dibutuhkan adalah program status word (PSW) dan lokasi instruksi berikutnya yang akan dieksekusi,yang terdapat didalam program counter.
Informasi ini dapat di-push ke dalam system control stack (lihat lampiran 1B).
6. Kemudian prosesor dapat memuatkan program counter dengan lokasi entry program interrupt handling yang akan memberikan respons ke interrupt itu. Bergantung pada arsitektur komputer dan rancangan sistem operasinya, mungkin akan terdapat sebuah program tunggal, yaitu program untuk semua jenis interrupt atau untuk semua perangkat dan semua jenis interrupt. Apabila terdapat interrupt routine handling yang lebih dari satu, prosesor harus menentukan routine mana yang akan digunakan. Informasi tersebut mungkin telah termasuk di dalam signal interrupt asal, atau prosesor dapat mengeluarkan suatu request ke perangkat yang menerbitkan interrupt untuk memperoleh respons yang berisi informasi yang dibutuhkan.
Apabila program counter telah dimuatkan, prosesor melanjutkannya ke siklus instruksi, yang diawali dengan pembacaan instruksi. Karena pembacaan instruksi ditentukan oleh isi program counter, akibatnya control akan dipindahkan ke program interrupt handler. Eksekusi program ini akan menyebabkan operasi-operasi di bawah ini:
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 17 Pada posisi ini, program counter dan PSW yang berkaitan dengan program yang diinterupsi telah disimpan di dalam stack. Akan tetapi, ada informasi lain yang dianggap sebagai bagian status program yang melakukan eksekusi. Khususnya isi register prosesor perlu disimpan, karena register- register ini mungkin akan digunakan oleh interrupt handler. Karena itu, seluruh nilai tersebut, serta informasi status lainnya, perlu disimpan.
Umumnya interrupt handler akan memulainya dengan menyimpan isi seluruh register di stack. Informasi status lainnya yang perlu disimpan akan dibahas dalam Bab 3. Gambar 1.11a menunjukkan sebuah contoh yang sederhana. Dalam contoh ini, sebuah program pengguna diinterupsi setelah instruksi berada di lokal N. Isi semua register beserta alamat instruksi berikutnya (N + 1) di-push ke dalam stack. Stack pointer di-update ke agar menunjuk ke bagian teratas stack yang baru, dan program counter di-update agar menunjuk ke awal interrupt service routine.
7. Sekarang interrupt hander dapat melanjutkannya untuk memproses interrupt. Proses ini akan meliputi pemeriksaan informasi status yang berkaitan dengan operasi I/O atau event lainnya yang menyebabkan interrupt. Proses ini dapat juga mencakup pengiriman perintah-perintah tambahan atau acknowledgement ke perangkat I/O.
8. Pada saat pengolahan interrupt selesai, nilai-nilai register yang disimpan dicari dari stack dan menyimpannya ke register (misalnya, lihat Gambar 1.11b).
9. Aksi akhir yang dilakukan adalah menyimpan kembali nilai-nilai PSW dan program counter stack. Akibatnya, instruksi selanjutnya yang akan dieksekusi akan berasal dari program-program yang diinterupsi sebelumnya.
Penyimpanan informasi status tentang program yang di interupsi sangat lah penting untuk melanjutkannya kembali apabila diperlukan. Penyimpanan itu harus dilakukan karena interup bukanlah suatu routine yang dipanggil oleh program tersebut . akan tetapi interupt dapat terjadi setiap saat sehingga pada sembarang titip dalam eksekusi program pengguna keberadaannya tidak dapat diramalkan.
18 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r
Gambar 1.11 Perubahan dalam Memori dan Register untuk Sebuah Interupt
C. Interrupsi jamak
Sejauh ini pembahasan hanya mencangkup keberadaan interupt tunggal , namun anggaplah bahwa interupt berjumlah banyak juga dapat terjadi, misalnya suatu program penerima data dari saluran komunikasi dan hasil percetakkan. Setiap kali menyelesaikan operasi percetakan , printer akabn menghasilkan interupt sementara pengontrol saluran komunikasi akan menghasilkan interupt setiap kali data tiba . unit dapat berbentuk karakter tunggal atau data blok, terganttung padas ifat komunikasinya. Umumnya komukasi interupt dapat terjadi pada saat interupt printer sedang di proses.
B a b 1 . P e n g a n t a r S i s t e m K o m p u t e r | 19 Sehubungan dengan adanya interupt jamak ini dapat dilakukan dua pendekatan.
 Pendekatan pertama dengan tidak mengizinkan interupt pada saat interupt sedang diproses. Seperti terlihat pada Gambar 1.12. a
Gambar 1.12 Perpindahan Kontrol dengan Interrupt Jamak
 Pendekatan kedua dengan menetapkan prioritas interupt dan dengan mengizinkan interupt yang memiliki interupt yang lebih tinggi menyebab kan interupt handler yang berprioritas lebih rendah untuk mengintrupsikan dirinya (lihat Gambar 1.12. b). Gambar 10.13 menjelaskan sebuah rangkaian kejadiannya.
20 | M a t e r i 1 . P e n g a n t a r S i s t e m K o m p u t e r D. Multiprograming
Bahkan dengan menggunakan interupt pun sebuah prosesor tidak dapat di gunakan secaara efisien. Misalnya pada gambar diatas , apabila waktu yang dibutuhkan untuk menyelesaikan n operasi I/O jauh lebih lama dari kode pengguna diantara dua pemanggilan I/O ( situsi yang umum terjadi ) maka prosesor akan ideal dalam waktu yang lebih banyak. Solusi untuk masalah ini adalah dengan mengizinkan beberapa program pengguna untuk diaktifkan pada saat yang bersamaan .
REFERENSI UTAMA :
Hennessy, John L and Patterson, David. (2011). Computer Architecture : A Quantitative Approach, 5th Edition, New Jersey : Morgan Kaufmann
Kifer, Michael and Smolka, Scott A. (2007). Introduction to Operating System Design and Implementation, The OSP Approach, New York : Springer Naghibzadeh, Mahmoud. (2005). Operating System, Concept and Techniques,
New York : iUniverse, Inc.
Patterson, David Hennessy and John L. (2014). Computer Organization and Design : The Hardware/ Software Interface, 5th Edition, Oxford : Morgan Kaufmann
Silberschatz et.al (2014). Operating System Concept Essentials, 2nd Edition, New Jersey, USA : John Wiley & Sons, Inc
Stalling, William. (2012). Operating Systems : Internals and Design Principles, 7th Edition, Boston, USA : Prentice-Hall.Inc
Stalling, William. (2013). Computer Organization and Architecture: Designing for Performance, 9th Edition, New Jersey : Prentice-Hall, Inc.
Tanenbaum , Andrew S. and Austin, Tod. (2013). Structured Computer Organization, 6th Edition, New Jersey : Pearson Education, Inc.
Tanenbaum , Andrew S. and Bos, Herbert. (2014). Modern Operating System, 4th Edition, New Jersey : Pearson Education, Inc.