Perbedaan Antara Interrupt Dan Trap

Perbedaan Antara Interrupt Dan Trap
Perbedaan Antara Interrupt Dan Trap

Video: Perbedaan Antara Interrupt Dan Trap

Video: Perbedaan Antara Interrupt Dan Trap
Video: Apa itu karakter Trap? dan apa fungsinya? 2024, April
Anonim

Interupsi vs Perangkap

Di komputer mana pun, selama menjalankan program secara normal, mungkin ada peristiwa yang dapat menyebabkan CPU berhenti sementara. Peristiwa seperti ini disebut interupsi. Interupsi dapat disebabkan oleh kesalahan perangkat lunak atau perangkat keras. Interupsi perangkat keras disebut Interupsi (sederhana), sedangkan interupsi perangkat lunak disebut Pengecualian atau Perangkap. Exception adalah interupsi perangkat lunak yang dihasilkan secara otomatis, sedangkan Trap adalah interupsi yang dipanggil oleh perangkat lunak yang diprakarsai oleh pemrogram. Setelah interupsi (perangkat lunak atau perangkat keras) dimunculkan, kontrol dipindahkan ke subrutin khusus yang disebut ISR (Interrupt Service Routine) yang dapat menangani kondisi yang dimunculkan oleh interupsi.

Apa itu Interrupt?

Istilah Interupsi biasanya disediakan untuk interupsi perangkat keras. Mereka adalah gangguan kontrol program yang disebabkan oleh kejadian perangkat keras eksternal. Di sini, eksternal berarti eksternal ke CPU. Interupsi perangkat keras biasanya berasal dari berbagai sumber seperti chip timer, perangkat periferal (keyboard, mouse, dll.), Port I / O (serial, paralel, dll.), Drive disk, jam CMOS, kartu ekspansi (kartu suara, video kartu, dll). Itu berarti interupsi perangkat keras hampir tidak pernah terjadi karena beberapa peristiwa terkait dengan program yang sedang dijalankan. Misalnya, peristiwa seperti penekanan tombol pada keyboard oleh pengguna, atau waktu habis pengatur waktu perangkat keras internal dapat meningkatkan jenis interupsi dan dapat memberi tahu CPU bahwa perangkat tertentu memerlukan perhatian. Dalam situasi seperti itu CPU akan menghentikan apa pun yang dilakukannya (yaitu, menghentikan program saat ini),menyediakan layanan yang dibutuhkan oleh perangkat dan akan kembali ke program normal. Ketika interupsi perangkat keras terjadi dan CPU memulai ISR, interupsi perangkat keras lainnya dinonaktifkan (misalnya dalam mesin 80 × 86). Jika Anda memerlukan interupsi perangkat keras lain untuk terjadi saat ISR sedang berjalan, Anda perlu melakukannya secara eksplisit dengan menghapus tanda interupsi (dengan instruksi sti). Pada mesin 80 × 86, menghapus tanda interupsi hanya akan mempengaruhi interupsi perangkat keras.menghapus bendera interupsi hanya akan mempengaruhi interupsi perangkat keras.menghapus bendera interupsi hanya akan mempengaruhi interupsi perangkat keras.

Apa itu Perangkap?

Trap dapat diidentifikasi sebagai transfer kontrol, yang diprakarsai oleh programmer. Istilah Trap digunakan secara bergantian dengan istilah Exception (yang merupakan interupsi perangkat lunak yang terjadi secara otomatis). Tetapi beberapa orang mungkin berpendapat bahwa jebakan hanyalah panggilan subrutin khusus. Jadi mereka termasuk dalam kategori interupsi yang dipanggil oleh perangkat lunak. Misalnya, dalam mesin 80 × 86, programmer dapat menggunakan instruksi int untuk memulai jebakan. Karena jebakan selalu tanpa syarat, kontrol akan selalu ditransfer ke subrutin yang terkait dengan jebakan. Instruksi yang tepat, yang memanggil rutinitas untuk menangani jebakan mudah diidentifikasi karena instruksi eksplisit digunakan untuk menentukan jebakan.

Apa perbedaan antara Interrupt dan Trap?

Interupsi adalah interupsi perangkat keras, sedangkan jebakan adalah interupsi yang dipanggil oleh perangkat lunak. Kemunculan interupsi perangkat keras biasanya menonaktifkan interupsi perangkat keras lainnya, tetapi ini tidak berlaku untuk jebakan. Jika Anda perlu melarang interupsi perangkat keras hingga jebakan disajikan, Anda perlu secara eksplisit menghapus tanda interupsi. Dan biasanya bendera interupsi pada komputer mempengaruhi interupsi (perangkat keras) sebagai lawan dari jebakan. Artinya, membersihkan bendera ini tidak akan mencegah jebakan. Tidak seperti traps, interupsi harus mempertahankan status CPU sebelumnya.

Direkomendasikan: