Perbezaan antara pengundian dan gangguan

Perbezaan antara pengundian dan gangguan

Pada masa -masa tertentu, pemproses utama berhenti bekerja dan memeriksa jika beberapa pengawal mempunyai mesej untuknya, jika ada, memproses mesej dan resume operasi. Ini dipanggil pengundian. Selain itu, jelas bahawa pemproses utama melakukan tugasnya, dan peranti melakukan tugas mereka. Sekiranya peranti menyelesaikan tugasnya atau ralat berlaku, peranti memberitahu pemproses utama dengan permintaan mengganggu.

Apa itu mengundi?

Dalam sistem di mana lebih banyak litar logik luaran berkomunikasi melalui pelbagai sambungan U/I dengan satu mikropemproses, pengundian U/I digunakan. Mikrokomputer secara berkala memanggil setiap litar logik luaran dan meneliti sama ada ia telah meminta perkhidmatan. Jika litar logik luaran tidak memerlukan servis, mikrokomputer meneliti litar logik luaran seterusnya, dll. Sekiranya salah seorang daripada mereka memerlukan servis, mikrokomputer beralih untuk menjalankan program hidangan litar logik luaran masing -masing. Fungsi pemindahan U/I dimasukkan dalam program. Dengan kata lain, pengundian adalah proses panggilan pelanggan (komputer atau terminal) yang boleh menghantar data selepas dipanggil (jika mereka mempunyai apa -apa). Sekiranya pelanggan mempunyai data yang dia hantar selepas pengundian, dan jika tidak ada data, pelanggan bertindak balas negatif, dan pelayan memanggil klien seterusnya. Sesetengah peranti mungkin memerlukan servis dari pengawal (e.g. Apabila sesetengah peranti menyelesaikan pengukuran atau apabila ralat berlaku). Permintaan dihantar ke pengawal dengan menetapkan garis SRQ ke Rendah. Selepas pengawal menerima permintaan untuk perkhidmatan, maka dia memanggil semua peranti di dalam bas untuk mencari peranti yang menghantar permintaan itu.

Apa yang mengganggu?

Semasa pelaksanaan program, mikropemproses boleh menerima isyarat gangguan melalui garis IRQ khas. Gangguan paling biasa dilakukan dengan memanggil subrutin sistem yang sesuai untuk pemprosesan gangguan - ini dipanggil BIOS atau DOS gangguan rutin pemprosesan. Selepas pemprosesan mengganggu, pemproses terus melaksanakan program yang terganggu. Juga, program aplikasi itu sendiri mungkin mengandungi arahan yang memerlukan pelaksanaan rutin BIOS atau DOS mengganggu. Operasi input-output paling kerap dicapai dengan cara ini. Sebagai contoh, jika program mahu mencetak tanda pada skrin, ia boleh melakukannya dengan memanggil rutin mengganggu yang sesuai. BIOS mengandungi satu set rutin input-output asas yang berjalan dengan cepat, dan rutin DOS yang sama lebih perlahan tetapi keupayaannya lebih besar (kemungkinan mengatasi saluran input-output, kemungkinan mengawal kesilapan dan sebagainya). Oleh itu, gangguan perkakasan adalah isyarat yang diterima oleh pemproses dari peranti lain di komputer, dan gangguan perisian adalah proses pelaksanaan rutin BIOS atau DOS (subrutin) yang secara automatik dipanggil untuk memproses isyarat gangguan yang diterima atau dipanggil untuk melaksanakan arahan yang sepadan.

Perbezaan antara pengundian dan gangguan

Latar belakang pengundian dan gangguan

Dalam kes pertama, pemproses memeriksa pada selang waktu biasa jika peranti memerlukan tindakan. Sekiranya berlaku gangguan terdapat mekanisme yang mana pemproses membenarkan peranti luaran (e.g. papan kekunci, kad bunyi, dll.) untuk menarik perhatian pemproses.

Mekanisme pengundian dan gangguan

Gangguan adalah mekanisme yang teratur untuk komunikasi peranti periferal. Peranti memberitahu CPU jika tindakan diperlukan. Pengundian adalah protokol - CPU meminta peranti secara berkala jika tindakan diperlukan.

Servis pengundian dan gangguan

Dalam mengundi perkhidmatan mikrokontroler peranti yang memerlukan perhatian, dan selepas itu bergerak ke peranti seterusnya untuk pemantauan. Sekiranya gangguan, apabila isyarat gangguan diterima, CPU berhenti dengan aktiviti dan perkhidmatan semasa peranti. Perkhidmatan atau gangguan yang diproses dinamakan Rutin Perkhidmatan Interrupt (ISR) atau Pengendali Interrupt.

CPU

Dalam proses pengundian, CPU ditahan dan memeriksa jika mana -mana peranti memerlukan perkhidmatan. Masa ini tidak perlu dibuang. Sekiranya proses gangguan, sebaliknya, CPU hanya terganggu jika diperlukan.

Penampilan pengundian dan gangguan

Peranti boleh ditinjau hanya pada selang masa yang tetap apabila mereka diperiksa. Gangguan boleh berlaku pada bila -bila masa.

Kelebihan pengundian dan gangguan

Beberapa kelebihan pengundian adalah program yang agak mudah, kebolehpercayaan penghantaran yang berlaku pada kelajuan maksimum, i.e. sebaik sahaja peranti I/O siap dan tidak memerlukan cip akses tambahan. Gangguan bermanfaat kerana ia dapat melayani pelbagai peranti, ia lebih fleksibel dan cekap.

Kelemahan pengundian dan gangguan

Kekurangan pengundian adalah masa siap sedia beberapa peranti yang lebih pendek daripada masa tindak balas dan kemudian kaedah penghantaran lain harus digunakan, dan juga bahawa CPU menggunakan masa yang tidak perlu untuk memeriksa peranti yang tidak mencari pemindahan data. Kekurangan gangguan adalah keperluan untuk perkakasan/perisian yang lebih kompleks dan kehilangan masa sehingga CPU menetapkan unit mana yang meminta gangguan.

Pengundian vs. Gangguan: carta perbandingan

Ringkasan pengundian vs. Mengganggu

  • Sekiranya mengundi bacaan siklik peranti yang disambungkan ke satu CPU dilakukan. Sekiranya litar logik luaran tidak memerlukan servis, mikrokomputer mengkaji litar logik luaran seterusnya. Sekiranya salah seorang daripada mereka memerlukan servis, mikrokomputer beralih untuk menjalankan program untuk melayani litar logik luaran masing -masing.
  • Apabila terganggu, atas permintaan logik luaran, mikrokomputer mengganggu menjalankan program semasa dan bertukar untuk menjalankan program gangguan. Struktur yang terganggu membolehkan mikropemproses untuk bertindak balas terhadap peristiwa tak segerak, i.e. Permintaan dari logik luaran, jangan menunggu di gelung untuk memeriksa keadaan litar logik luaran.