Struktur dan Fungsi Komputer
Struktur komputer didefinisikan sebagai cara-cara dari setiap komponen yang saling terkait. Struktursebuah komputer secara sederhana, dapat digambarkan dalam diagram blok pada gambar dibawah.
Sedangkan fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur. Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut:
1. Input Device (Alat Masukan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah kedalam komputer.
2. Output Device (Alat Keluaran)
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluarannya dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.
3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data keluar sistem. Peralatan input dan output di atas terhubung melalui port ini.
4. CPU (Central Processing Unit)
CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU(Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit)sebagai pengontrol kerja komputer.
5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal.Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read OnlyMemory) yaitu memori yang hanya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.
6. Data Bus
Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data busini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16,32, atau 64 jalur paralel.
7. Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca. Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.
8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 sampai 10 jalur paralel.
Input Device
Input device adalah alat yang digunakan untuk menerima input dari luar sistem, dan dapat berupa signal input atau maintenance input. Didalam sistem komputer, signal input berupa data yang dimasukkan ke dalam sistem komputer, sedangkan maintenance input berupa program yang digunakan untuk mengolah data yang dimasukkan. Dengan demikian, alat input selain digunakan untuk memasukkan data juga untuk memasukkan program.
Beberapa alat input mempunyai fungsi ganda, yaitu disamping sebagai alat input juga berfungsi sebagai alat output sekaligus. Alat yang demikian disebut sebagai terminal. Terminal dapat dihubungkan ke sistem komputer dengan menggunakan kabel langsung atau lewat alat komunikasi.
Terminal dapat digolongkan menjadi non intelligent terminal, smart terminal, dan intelligent terminal. Non intelligent terminal hanya berfungsi sebagai alat memasukkan input dan penampil output, dan tidak bisa diprogram karena tidak mempunyai alat pemroses. Peralatan seperti ini juga disebut sebagai dumb terminal. Smart terminal mempunyai alat pemroses dan memori di dalamnya
sehingga inputyang terlanjur dimasukkan dapat dikoreksi kembali.Walaupundemikian, terminal jenis ini tidak dapat diprogram oleh pemakai, kecuali oleh pabrik pembuatnya. Sedangkan intelligent terminal dapat diprogram oleh pemakai.
Peralatan yang hanya berfungsi sebagai alat input dapat digolongkan menjadi alat input langsung dan tidak langsung. Alat input langsung yaitu input yangdimasukkan langsung diproses oleh alat pemroses, sedangkan alat input tidak langsung melalui media tertentu sebelum suatu input diproses oleh alat pemroses. Alat input langsung dapat berupa papan ketik (keyboard), pointing device (misalnya mouse, touchscreen, lightpen, digitizergraphics tablet), scanner (misalnya magnetic ink character recognition, optical data reader atau optical character recognition reader), sensor (misalnya digitizingcamera), voice recognizer (misalnya microphone). Sedangkan alat input tidak langsung misalnya key punch yang dilakukan melalui media punchedcard (kartuplong), key-to-tapeyang merekam data ke media berbentuk pita (tape) sebelum diproses oleh alat pemroses, dan key-to-disk yang merekam data ke media magnetic disk (misalnya disket atau harddisk) sebelum diproses lebih lanjut.
Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Tiga golongan pertama adalah output yang dapat digunakan langsung oleh manusia, sedangkan golongan terakhir biasanya digunakan sebagai input untuk proses selanjutnya dari komputer.
Output Device
Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Tiga golongan pertama adalah output yang dapat digunakan langsung oleh manusia, sedangkan golongan terakhir biasanya digunakan sebagai input untuk proses selanjutnya dari komputer.
Peralatan output dapat berupa:
Output bentuk pertama sifatnya adalah permanendan lebih portable (dapat dilepas dari alat outputnya dan dapat dibawa kemana-mana). Alat yang umum digunakan untuk ini adalah printer, plotter, dan alat microfilm. Sedangkan output bentuk kedua dapat berupa video display, flat panel, dan speaker. Dan alat output bentuk ketiga yang menggunakan media magnetic disk adalah disk drive, dan yang menggunakan media magnetic tape adalah tape drive. Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan image pada media lunak yang berupa sinyal elektronik.
Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.
Pengertian Register

Register ialah sebagian kecil memori komputer yang dipakai untuk tempat penampungan data dengan ketentuan bahwa data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan menampung register tersebut.
Register terbagi dalam 5 golongan antara lain:
- General Purpose Register (Scratch-Pad Register), terdiri dari:
- AX (AH + AL) - Accumulator Register
- BX (BH + BL) - Base Register
- CX (CH + CL) - Counter Register
- DX (DH + DL) - Data Register
- Segment Register
- CS - Code Segment Register
- DS - Data Segment Register
- SS - Stack Segment Register
- ES - Extra Segment Register
- Pointer Register
- IP - Instruction Pointer Register
- SP - Stack Pointer Register
- BP - Base Pointer Register
- Index Register
- SI - Source Index Register
- DI - Destination Index Register
- Flag Register
General Purpose Register terdiri dari emapt register yang mempunyai kemampuan 16 bit dan dapat dibagi menjadi Register Low dan High Bits yang masing-masing berkemampuan 8 bit.
Register AX
Register AX merupakan register aritmatik, karena register ini selalu dipakai dalam operasi penambahan, pengurangan, perkalian dan pembagian.
Setiap register general purpose mempunyai Register Low dan Register High, maka untuk AX register low-nya adlaah AL dan register high-nya adalah AH. Register AH merupakan tempat menaruh nilai service number untuk beberapa Interrupt tertentu.
Register BX
Register BX adalah salah satu dari dua register base Addressing Mode yang dapat mengambil atau menulis langsung dari atau ke memori.
Register CX
Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada Loop yang anda lakukan.
Register DX
Register DX memiliki 3 tugas antara lain:
Membantu AX dalam proses perkalian dan pembagian, terutama perkalian dan pembagian 16 bit.
DX merupakan register offset dari DS
DX bertugas menunjukkan nomor port pada operasi port
Pointer Register bertugas untuk menyimpan offset dari relative address.
Register IP
Pasangan register IP adalah register CS yang merupakan register terpenting untuk menunjukkan baris perintah program. Pada pertama program dijalankan register ini akan langsung menunjuk pada awal program.
Register SP
Pasangan register SP adalah register SS yang digunakan untuk operasi stack. Pada saat program pertama dijalankan register ini akan menunjuk pada byte terakhir stack.
Register BP
Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dan membaca ke atau dari memori secara langsung.
Perbedaannya adalah BX menulis dan membaca dengan segment SS (Stack Segment).
Register BP digunakan juga dalam komunikasi anatara bahasa komputer, seperti PASCAL dengan Assembler ataupun Turbo C dengan Assembler.
Index Register terdiri dari dua register yaitu register DI dan SI, dimana kedua register ini merupakan register yang dipakai untuk melakukan Operasi String.
Kedua register ini sering digunakan untuk menulis dan membaca ke atau dari memori seperti BX dan BP
| X | X | X | X | O | D | I |T | S | Z | X | A | X | P | X | C |
Flag Bits:
O - Overflow Flag
D - Direction Flag
I - Interrupt Flag
T - Trap Flag
S - Sign Flag
Z - Zero Flag
A - Auxiliary Carry Flag
P - Parity Flag
C - Carry Flag
X - Reserved (kosong)
Flag register ini merupakan suatu komposisi register 16 bit dengan ketentuan seperti gambar diatas, dimana komposisi bit nya dapat mengecek apakah sesuatu berfungsi atau tidak.
Sumber : http://icikomputer.blogspot.co.id/2015/09/pengertian-register-dan-macam-macam-register.html
Siklus Instruksi
Assalamualaikum wr. wb.
Kali ini saya akan berbagi ilmu tentang Siklus Instruksi pada komputer
Sebuah siklus instruksi meliputi subsiklus-subsiklus berikut ini:
- Fetch: membaca instruksi berikutnya dari memori ke dalam cpu.
- Execute: menginterpretasikan opcode dan melakukan operasi yang diindikasikan.
- Interrupt: apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status proses saat itu dan layani interrupt.
- Store: data atau hasil perhitungan disimpan dalam register atau RAM
Siklus Tak Langsung
Eksekusi sebuah instruksi melibatkan sebuah operand atau lebih di dalam memori, yang masing-masing operand memerlukan akses memori. Kemudian, apabila digunakan pengalamatan tak langsung, maka diperlukan akses memori tambahan.
Machine cycle
Machine cycle atau nama lainnya adalah processor cycle atau instruction cycle merupakan merupakan suatu siklus instruksi dasar yang dikerjakan oleh cpu di dalam melakukan eksekusi suatu instruksi. Rangkaian proses eksekusi instruksi ini dimulai dari proses fetching data dan instruksi yang ada didalam memori hingga proses penulisan kembali hasil eksekusi instruksi tersebut ke dalam memori.
Secara garis besar siklus instruksi (machine cycle) dibagi ke dalam beberapa tahapan yaitu:
- Proses Fetching: Merupakan proses dimana instruksi dan data akan di load dari memori ke dalam cpu. Proses ini dimulai dari pengambilan alamat instruksi yang terdapat di dalam pc (program counter). Alamat yang terdapat di dalam pc ini merupakan alamat valid dari instruksi dan data yang disimpan ke dalam memori utama, dan merupakan alamat instruksi yang akan dieksekusi. Berdasarkan alamat instruksi yang terdapat di dalam pc, cpu akan mengambil instruksi tersebut untuk ditempatkan ke dalam register (instruction register/ ir) yang menyimpan instruksi yang akan dieksekusi.
- Proses Decoding: Merupakan tahapan dimana instruksi akan di terjemahkan (interpret) ke dalam perintah-perintah bahasa mesin dasar (add, sb, mba, sta, jmp, dll). Proses ini dilakukan oleh instruction decoder.
- Proses Executing: Tahapan dimana instruksi akan dieksekusi di dalam cpu, yaitu oleh alu (arithmetic logic unit).
Setelah tahapan diatas dikerjakan, maka hasil dari eksekusi tersebut akan dikembalikan ke dalam memori untuk disimpan. Proses penyimpanan kembali hasil eksekusi isntruksi terdiri dari beberapa tahapan yaitu:
- Proses penempatan alamat memori yang digunakan untuk menyimpan hasil instruksi ke dalam mar
- Proses penempatan data (hasil instruksi) kedalam mdr
- Proses mengaktifkan memory write control signal pada control bus
- Proses menunggu memori untuk melakukan write data pada alamat tertentu
- Proses untuk menonaktifkan memory write control signal pada bus
Dalam menjalakan instruction cycle/machine cycle ada beberapa komponen yang berperan, yaitu:
- Program counter (pc): Nama lainnya adalah instruction pointer, merupakan suatu pointer (penunjuk), bagi sejumlah instruksi yang ditempatkan di dalam memori dan akan dieksekusi oleh cpu.
- Memory address register (mar): Adalah salah satu register yang terdapat di dalam cpu yang fungsinya adalah untuk menyimpan alamat memori dari data yang akan diambil (fetch) oleh cpu untuk dieksekusi. Selain itu mar juga akan menyimpan alamat memori dari data (hasil instruksi) yang akan ditulis kembali ke dalam memori.
- Memory data register (mdr): Merupakan register yang terdapat dalam cpu yang fungsinya adalah menyimpan data sementara yang akan dieksekusi oleh cpu. Setiap kali proses fetching berlangsung, data akan disimpan di dalam mdr sebelum dilakukan proses eksekusi. Demikian juga hasil dari eksekusi instruksi akan disimpan di dalam register ini sebelum dilakukan proses penulisan kembali ke memori.
- Instruction register: Sama seperti mar dan mdr, instruction register (ir) ini terletak di dalam cpu. Ir ini bertanggung jawab untuk menyimpan instruksi yang akan dieksekusi oleh cpu. Pada beberapa jenis prosesor (terutama yang ada sekarang), digunakan konsep pipeline pada ir ini, dimana pada setiap stage pipeline melakukan proses decoding, dan proses yang lain pada waktu instruksi dikerjakan.
- Control unit (cu): Control unit mengkoordinasi semua komponen-komponen yang ada di sistem computer, terutama yang berkaitan dengan pengolahan data dan eksekusi instruksi. Cu mengatur proses fetching instruksi maupun data dari memori ke cpu. Selain itu juga mengatur unit yang lain dengan menyediakan timing dan control signal.
- Arithmetic logic unit (alu): Merupakan sirkuit digital yang terdapat di dalam cpu yang memiliki fungsi untuk melakukan komputasi aritmatika dan logika. Alu merupakan unit dasar dari pengolah data dan eksekusi instruksi.
- Sumber : http://rplsmkn1lmj.blogspot.co.id/2015/08/tentang-siklus-instruksi-instruction.html
Pipelining Instruksi
Posted: October 30, 2013 in Uncategorized
0
Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara continue pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik Pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.
Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi.
Konsep pemrosesan pipeline dapat digunakan dalam sebuah komputer untuk memperbaiki throughput sistem tersebut dalam berbagai variasi cara. Tiga jenis pokok pipelining adalah pipelining aritmatika, instruksi, dan prosesor. Peningkatan throughput sistem dengan satu atau lebih jenis pipelining ini tergantung pada fungsi dan harga pipelining. Harga pipelining termasuk tambahan perangkat keras yang diperlukan untuk mekanisme latch dan kendali, serta waktu yang tidak produktif bagi pengisian pipeline dan memaksa latensi untuk menghindari adanya tubrukan.
Pipelining instruksi dalam suatu komputer nonpipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelining instruksi, disebut juga instruction lihat-ke-muka (look-ahead), mem-fetch instruksi secara berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabganan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan (branched-to instruction) tersebut di-fetch.
Instruksi pada pipeline
Tahapan pipeline
- Mengambil instruksi dan membuffferkannya
- Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut
- Pada saat tahapan kedua sedang mengeksekusi instruksi ,tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya.
Berikut ini adalah gambaran tentang Instuksi pipeline :
Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh :
Instruksi 1 : ADD AX, AX Instruksi 2: ADD EX, CX
Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi 1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).
Contoh pengerjaan instruksi tanpa pipeline :
Contoh pengerjaan instruksi dengan pipeline :
Dengan adanya pipeline dua instruksi selesai dilaksanakan padadetik keenam (sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T. Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2, 14x dari 15T menjadi hanya 7T.
Untuk kasus pipeline sendiri, 2 instruksi dapat dikerjakan dalam 6T (CPI = 3) dan instruksi dapat dikerjakan dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat dikerjakan dalam 8T (CPI =2). Ini berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi ideal CPI akan harga 1.
Proses Interrupt
Pengertian Interrupt
Interupsi atau interrupt adalah suatu permintaan khusus pada mikroprocessor 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.
Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 s/d 255. Nomor interupsi 0 s/d 1Fh disediakan oleh ROM BIOS yaitu suatu IC di dalam komputer yang mengatur operasi dasar komputer. Jadi jika terjadi interupsi dengan nomor 0 s/d 1Fh maka secara default komputer akan beralih ke ROM BIOS dan melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler, dan hanya dijalankan jika terjadi sesuatu kejadian khusus (event). Kejadian ini bisa berupa timer yang mengalami overflow, penerimaan karakter melalui port serial, mengirimkan karakter melalui port serial, atau salah satu dari dua kejadian eksternal. Setiap interrupt akan mengekseskusi interrupt handlernya masing masing berdasarkan nomornya. Sedangkan alamat dari masing masing interrupt handler tercatat di memori dalam bentuk array yang besar elemennya masing masing 4 byte.
Keempat byte ini dibagi lagi yaitu 2 byte pertama berisi kode offset sedangkan 2 byte berikutnya berisi kode segmen dari alamat interrupt handler yang bersangkutan. Jadi besarnya array itu adalah 256 elemen dengan ukuran elemen masing masing 4 byte. Total keseluruhan memori yang di pakai adalah sebesar 1024 byte (256x4=1024) atau 1 KB dan disimpan dalam lokasi memori absolut 0000h sampai 3FFh. Array sebesar 1 KB ini disebut interrupt vector table. Nilai nilai yang terkandung pada interrupt vector table ini tidak akan sama di satu komputer dengan yang lainnya.
Proses yang dilakukan oleh mikrokontroler saat melayani interrupt adalah sebagai berikut. Proses yang terjadi saat mikrokontroler melayani interrupt adalah sebagai berikut:
- Instruksi terakhir yang sedang dijalankan diselesaikan terlebih dahulu
- Program Counter (alamat dari instruksi yang sedang berjalan) disimpan ke stack
- Interrupt Status disimpan secara internal
- Interrupt dilayani sesuai peringkat dari interrupt (lihat Interrupt Priority)
Program Counter terisi dengan alamat dari vector interrupt (lihat Interrupt Vector) sehingga mikrokontroler langsung menjalankan program yang terletak pada vector interrupt Program pada vector interrupt biasanya diakhiri dengan instruksi RETI di mana pada saat ini proses yang terjadi pada mikrokontroler adalah sebagai berikut:
- Program Counter di isi dengan alamat yang tersimpan dalam stack pada saat interrupt terjadi sehingga mikrokontroler kembali meneruskan program di lokasi saat interrupt terjadi.
- Interrupt Status dikembalikan ke kondisi terakhir sebelum terjadi interrupt.
Interupsi terjadi bila suatu perangkat Input/output ingin memberitahu prosesor bahwa ia siap menerima perintah, output sudah dihasilkan,atau terjadi error.
1. Jenis Interupsi
a. Internal HW interruptions :
1) Ditimbulkan/digenerasi oleh peristiwa tertentu yang terjadi pada waktu/selama eksekusi program.
2) Diatur oleh HW dan tidak dapat dirubah.
3) Contoh : tipe interrupt untuk counter clock internal; HW call interrupt ini untuk memaintance “time to date.”
b. External HW interrupstion
1) Ditimbulkan/digenerasi oleh devais peripheral, seperti keyboard, printers, mouse, dsb.
2) Biasa juga ditimbulkan/digenerasi oleh Co-processor
3) Tidak mungkin mendeaktivekan
4) Tidak dikirim langsung ke CPU, melainkan ke IC yang memiliki fungsi untuk menghandle secara eksklusive interrupts ini.
2. Software interruption :
a. Diaktifkan langsung oleh assembler melalui sejumlah interupsi yang di harapkan dengan intruksi INT
b. Terdapat 2 jenis : DOS interrupstions & BIOS interruptions. Perbedaan nya, DOS interruptions lebih mudah digunakan, namun lebih lambat, karena interruptions jenis ini menggunakan BIOS, BIOS interruptions lebih cepat, namun banyak kerugiannya karena BIOS bagian HW dan HW-specific. Pemilihan interrupt tergantung pada karakteristik yang akan kita berikan pada program : SPEED -> BIOS interruptions . PORTABILITY -> DOS interruptions.
3. Fungsi interupsi sebagai berikut :
a. Interupsi memindahkan pengendalian kepada interrupt service routine melalui interrupt vektor yang berisi alamat dari semua service routine.
b. Arsitektur interrupt harus menyimpan alamat intruksi yang di interrupt.
c. Interrupt yang datang berikutnya dibatalkan ketika interrupt lain sedang diproses untuk mencegah hilangnya suatu interrupt.
d. Trap adalah software generated interrupt yang disebabkan oleh kesalahan atau karena permintaan user.
e. Suatu sistem operasi dikendalikan oleh interrupt.
4. Ada beberapa tahapan dalam penanganan interupsi:
Pertama-tama Controller mengirimkan sinyal interupsi melalui interrupt-request-line, lalu Sinyal interupsi tersebut dideteksi oleh prosesor. Selanjutnya Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya(informasi Tentang proses yang sedang dikerjakan). Kemudian Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler.
Selanjutnya Transfer kontrol ke interrupt handler. Setelah interupsi berhasil diatasi, prosesor akan kembali kekeadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
Siklus penanganan interupsi2.
Polling atau juga disebut Busy-waiting adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear. Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.
a. Interrupt Vector
Interrupt Vector adalah harga yang disimpan ke Program Counter pada saat terjadi interrupt sehingga program akan menuju ke alamat yang ditunjukkan oleh Program Counter. Pada saat program menuju ke alamat yang ditunjuk oleh Interrupt Vector maka flag-flag yang set karena terjadinya interrupt akan di-clear kecuali RI dan TI.
Masing-masing alamat vektor mempunyai jarak yang berdekatan sehingga akan timbul masalah bila diperlukan sebuah Interrupt Service Routine yang cukup panjang.
b. Penanganan Interupsi
1. Ada beberapa tahapan dalam penanganan interupsi:
2. Controller mengirimkan sinyal interupsi melalui interrupt-request-line
3. Sinyal dideteksi oleh prosesor
4. Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya (informasi tentang proses yang sedang dikerjakan)
5. Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler
6. Transfer kontrol ke interrupt handler
7. Setelah interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
c. Tipe-Tipe Interupsi
1) Interupsi Clock (Clock Interrupt)
Sistem operasi (penjadwalan) menentukan apakah proses yang sedang running telah mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya, maka proses dialihkan ke state ready dan proses lain dijadwalkan running.
2) Interupsi Masukan/Keluaran (I/O Interrupt)
Kejadian dimana peralatan masukan/keluaran interupsi meminta layanan sistem operasi. Sistem Operasi segera menentukan aksi-aksi masukan/keluaran yang harus dilakukan. IRQ (Interupt Request) adalah nomor yang terdapat di dalam komputer untuk Permintaan Interupsi (Interrupt Request). Interrupt Request dipergunakan oleh perangkat (device) dan memungkinkannya untuk meng-“interupsi”, atau untuk mengirim sinyal ke komputer ketika telah menyelesaikan suatu proses.
Pada komputer model lama, kita harus men-set nilai IRQ untuk suatu device. Komputer dan Sistem operasi yang lebih baru menggunakan “Plug-n-Play”, yang memungkinkan pengguna komputer untuk tidak perlu men-set nilai IRQ secara manual.




.jpg)
