Pagkakaiba sa pagitan ng Interrupt at Trap

Pagkakaiba sa pagitan ng Interrupt at Trap
Pagkakaiba sa pagitan ng Interrupt at Trap

Video: Pagkakaiba sa pagitan ng Interrupt at Trap

Video: Pagkakaiba sa pagitan ng Interrupt at Trap
Video: The Evolution of Human Physical Activity -The Rise and Fall of Climbing in Human Evolution 2024, Hulyo
Anonim

Interrupt vs Trap

Sa anumang computer, sa panahon ng normal na pagpapatupad nito ng isang program, maaaring may mga kaganapan na maaaring maging sanhi ng pansamantalang paghinto ng CPU. Ang mga kaganapang tulad nito ay tinatawag na mga interrupt. Ang mga pagkaantala ay maaaring sanhi ng alinman sa mga error sa software o hardware. Ang mga interrupt sa hardware ay tinatawag na (simpleng) Interrupts, habang ang software interrupts ay tinatawag na Exceptions o Traps. Ang Exception ay isang awtomatikong nabuong software interrupt, habang ang Trap ay isang software-invoked interrupt na pinasimulan ng programmer. Kapag ang isang interrupt (software o hardware) ay nakataas, ang kontrol ay ililipat sa isang espesyal na subroutine na tinatawag na ISR (Interrupt Service Routine) na maaaring hawakan ang mga kundisyon na itinaas ng interrupt.

Ano ang Interrupt?

Ang terminong Interrupt ay karaniwang nakalaan para sa hardware interrupts. Ang mga ito ay mga pagkagambala sa pagkontrol ng programa na dulot ng mga panlabas na kaganapan sa hardware. Dito, ang ibig sabihin ng panlabas ay panlabas sa CPU. Karaniwang nagmumula ang mga hardware interrupts sa maraming iba't ibang source tulad ng timer chip, peripheral device (keyboard, mouse, atbp.), I/O ports (serial, parallel, atbp.), disk drive, CMOS clock, expansion card (sound card, video card, atbp). Nangangahulugan iyon na ang mga pagkaantala ng hardware ay halos hindi nangyayari dahil sa ilang kaganapan na nauugnay sa pagpapatupad ng programa. Halimbawa, ang isang kaganapan tulad ng pagpindot sa key sa keyboard ng user, o isang internal na hardware timer timing ay maaaring magpataas ng ganitong uri ng pagkaantala at maaaring ipaalam sa CPU na ang isang partikular na device ay nangangailangan ng ilang pansin. Sa sitwasyong tulad nito, hihinto ang CPU sa anumang ginagawa nito (ibig sabihin, i-pause ang kasalukuyang programa), ibibigay ang serbisyong kinakailangan ng device at babalik sa normal na programa. Kapag naganap ang mga pagkaantala ng hardware at sinimulan ng CPU ang ISR, ang iba pang mga pagkagambala sa hardware ay hindi pinagana (hal.g. sa 80 × 86 na mga makina). Kung kailangan mo ng iba pang mga pagkagambala sa hardware na maganap habang tumatakbo ang ISR, kailangan mong gawin iyon nang tahasan sa pamamagitan ng pag-clear sa interrupt na bandila (na may sti instruction). Sa 80×86 machine, ang pag-clear sa interrupt na flag ay makakaapekto lang sa mga hardware interrupts.

Ano ang Trap?

A Trap ay maaaring matukoy bilang isang paglipat ng kontrol, na pinasimulan ng programmer. Ang terminong Trap ay ginagamit nang palitan sa terminong Exception (na isang awtomatikong nagaganap na pagkagambala ng software). Ngunit ang ilan ay maaaring magt altalan na ang isang bitag ay isang espesyal na subroutine na tawag lamang. Kaya nahulog sila sa kategorya ng mga interrupt na hinihingi ng software. Halimbawa, sa 80 × 86 na mga makina, maaaring gamitin ng programmer ang int na pagtuturo upang simulan ang isang bitag. Dahil palaging walang kondisyon ang isang bitag, palaging ililipat ang kontrol sa subroutine na nauugnay sa bitag. Ang eksaktong pagtuturo, na nag-uutos ng routine para sa paghawak ng bitag ay madaling matukoy dahil ang isang tahasang pagtuturo ay ginagamit upang tukuyin ang isang bitag.

Ano ang pagkakaiba ng Interrupt at Trap?

Ang mga interrupt ay hardware interrupts, habang ang mga traps ay software-invoked interrupts. Ang mga paglitaw ng mga pagkaantala sa hardware ay karaniwang hindi pinapagana ang iba pang mga pagkagambala sa hardware, ngunit hindi ito totoo para sa mga bitag. Kung kailangan mong huwag payagan ang mga pagkaantala ng hardware hanggang sa maihatid ang isang bitag, kailangan mong tahasang i-clear ang bandila ng interrupt. At kadalasan ang interrupt na flag sa computer ay nakakaapekto sa (hardware) interrupts bilang laban sa mga traps. Nangangahulugan ito na ang pag-clear sa watawat na ito ay hindi maiiwasan ang mga bitag. Hindi tulad ng mga bitag, dapat panatilihin ng mga interrupt ang dating estado ng CPU.

Inirerekumendang: