Järjestelmän keskeytykset 8.1. Laitteiston keskeytyspyyntöjen hallinta

IRQ Priority Management

Laitteiston keskeytyspyyntöjen hallinta

Useimmille suoraan emolevyyn liitetyille komponenteille, mukaan lukien PCI-paikat, IDE-ohjaimet, sarjaportit, näppäimistöportti, jopa CMOS-emolevy, on määritetty erilliset IRQ:t. Laitteiston keskeytyspyyntö tai IRQ keskeyttää prosessorin normaalin toiminnan, jolloin laite voi toimia. Windows 7:n avulla voit priorisoida yhden tai useamman IRQ:n (jotka käännetään yhdelle tai useammalle laitteelle), mikä saattaa parantaa näiden laitteiden suorituskykyä.

Vaiheet IRQ-prioriteetin muuttamiseen

  1. Aloita suorittamalla System Information Utility (msinfo32.exe) ja siirry kohtaan System Information Hardware Resources Interrupts (IRQs) nähdäksesi, mitä IRQ:ita käytetään missäkin laitteissa.
  2. Avaa sitten Rekisterieditori (katso luku 3) ja siirry kohtaan HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl.
  3. Luo uusi DWORD-arvo tähän osioon ja nimeä parametri IRQ#Priority, jossa # on sen IRQ-laitteen numero, jolle haluat asettaa prioriteetin (esimerkiksi IRQ13Priority vastaa IRQ 13:a, joka on aritmeettinen apuprosessori).
  4. Kaksoisnapsauta uutta arvoa ja anna prioriteettinumero. Syötä 1 korkeimmalle prioriteetille, 2 toiselle jne. Varmista, että et syötä samaa numeroa kahdelle merkinnälle, äläkä yritä tehdä kaikkea kerralla, vaan kokeile yhtä tai kahta arvoa.
  5. Kun olet valmis, sulje Rekisterieditori ja käynnistä tietokone uudelleen.

Keskivertokäyttäjä ei yleensä voi sanoa tarkalleen, mitä prosessorijärjestelmän keskeytykset ovat, koska uskotaan, että tämä on jotain tieteiskirjallisuudesta. Mutta kun samanniminen prosessi ilmestyy Task Manageriin lataamassa järjestelmäresursseja, on aika miettiä, miten ongelma korjataan. Mutta ensin vähän siitä, mitä se on. Kaikista näistä prosesseista ja menetelmistä tilanteen korjaamiseksi tarjotaan valmistautumattomalle käyttäjälle helpoimmalla saatavilla olevalla kielellä.

Mitä järjestelmäkeskeytykset ovat?

Niitä ei voida tulkita tietyksi järjestelmäprosessiksi, vaan eräänlaiseksi indikaattoriksi eräänlaisena lakmustestin muodossa, joka osoittaa vain, että jokin "laitteisto"-laite ei toimi oikein tai ei toimi ollenkaan.

Toisin sanoen järjestelmän keskeytykset samassa "Task Managerissa" ovat tietokoneen komponenttien tarkistusprosessi. Tyypillisesti tämän prosessin suorittimen kuormitus (normaalissa tietokoneen tilassa) ei ylitä viittä prosenttia. Jos kuormitus kasvaa, tätä voidaan pitää ensimmäisenä signaalina, joka osoittaa, että jokin laite on viallinen (kiintolevy on pudonnut, RAM-nauhat eivät toimi jne.). Joskus järjestelmän keskeytykset Windows 10:ssä tai järjestelmän aikaisempien sukupolvien versioissa liittyvät vanhentumiseen, virheelliseen asennukseen tai puuttuviin laiteajureihin. Mutta useimmissa tapauksissa tämä viittaa epäsuoraan resurssien kuormituksen lisääntymiseen.

Miksi Windows 10 -järjestelmäkeskeytykset lataavat prosessorin?

Nyt muutama sana kuormituksen kasvun syistä. Yksinkertaisesti sanottuna voidaan todeta, että Windows 10:ssä järjestelmä keskeyttää prosessorin kuormituksen vain siitä syystä, että kun jonkin komponentin toiminnassa havaitaan toimintahäiriöitä, prosessori ottaa vastuulleen epäonnistuneille laitteille osoitettujen komentojen suorittamisen, koska ne yksinkertaisesti sivuuttaa tai ohittaa ne.

Näin ollen, jos laite ei toimi, prosessori ja RAM, kuten sanotaan, kantavat kaiken omalla selkällään. Tällaisesta onnettomuudesta on kuitenkin mahdollista päästä eroon. Eikä aina ole suositeltavaa vaihtaa laitteita, vaikka useimmissa tapauksissa tämä on lisääntyneiden kuormien perimmäinen syy.

Alkuvaiheet laitteiden tarkistamiseksi

Vikojen syyn tarkan selvittämiseksi on suositeltavaa käyttää kolmannen osapuolen apuohjelmia Windowsin järjestelmätyökalujen sijaan.

Voit kuitenkin käyttää tätä työkalua ensin. Tässä tilanteessa sinun on syötettävä "Laitehallinta" (devmgmt.msc "Suorita"-konsolissa) ja poistettava käytöstä kaikki luettelossa olevat laitteet tietokonetta, prosessoria ja järjestelmäkomponentteja lukuun ottamatta ja katsottava sitten Suorittimen käyttö (et voi missään tapauksessa poistaa näitä kolmea komponenttia käytöstä, koska tämä voi johtaa kaatumiseen ja ongelmiin järjestelmän uudelleenkäynnistyksen yhteydessä). Seuraavaksi sinun on vain kytkettävä laitteet päälle yksi kerrallaan ja selvitettävä, mikä niistä vaikuttaa kuormitustasoon.

Keskeytystarkistus

Järjestelmän keskeytyksiä on paljon helpompi seurata, jos käytät pientä kannettavaa DPC Latency Checker -apuohjelmaa (se ei vaadi asennusta).

Aloita asettamalla skannaus käynnistymään. Tulokset näkyvät pääikkunan alareunassa olevassa kentässä. Vianetsintävinkkejä on myös täällä, mutta ne ohjaavat sinut samaan "Laitehallintaan" diagnostiikkaa varten. Mutta jos tämä liittyy itse prosessoriin tai järjestelmälaitteisiin, voit ratkaista ongelman nopeasti yrittämällä asentaa uudelleen tai päivittää vastaavien komponenttien ohjaimet.

Voit käyttää ohjelmia, kuten Driver Booster, jotka etsivät ja asentavat päivityksiä automaattisesti (käyttäjän tarvitsee vain aktivoida tarkistus ja suostua päivitysten asentamiseen).

Mitä muuta se voisi olla?

Joskus keskeytyskuorma liittyy myös joihinkin lisäjärjestelmän asetuksiin. Erityisesti uskotaan, että äänitehosteiden käyttäminen vanhemmilla tai integroiduilla äänikorteilla voi aiheuttaa liiallista kuormitusta. Todellakin, näin voi myös käydä.

Siksi Windowsin ääniasetuksissa parannukset-välilehdellä poista kaikkien tehosteiden käyttö käytöstä.

Lopuksi jotkut asiantuntijat katsovat keskeytyskuormituksen kasvun ensisijaisen BIOS/UEFI-tulo-/lähtöjärjestelmien vanhentuneen laiteohjelmiston ansioksi. Ratkaisu on päivittää laiteohjelmisto. UEFI:llä tämä on melko helppoa, koska päivitystiedosto voidaan ajaa suoraan käyttöjärjestelmäympäristössä, minkä jälkeen päivitys asennetaan uudelleenkäynnistyksen yhteydessä. BIOSissa tämä menettely näyttää hieman monimutkaisemmalta. Jos siellä on päivitysasetuksia, voit käyttää niitä, mutta useimmissa järjestelmissä sinun on ensin ladattava vaadittu tiedosto ja suoritettava päivitys vasta sitten ensisijaisesta järjestelmästä, ei käyttöjärjestelmästä. Minun on sanottava, että menettely on melko hankala, ja ilman erityisiä taitoja on parempi olla tekemättä tällaisia ​​​​asioita, muuten koko tietokonejärjestelmä voidaan yksinkertaisesti tehdä täysin käyttökelvottomaksi.

Johtopäätös

Lopuksi on vielä huomattava, että RAM-muistin toimintahäiriön sattuessa voit käyttää Memtest86+-ohjelmaa diagnostiikkaan tai tarkistaa epäonnistuneet nauhat poistamalla ne emolevyn paikoista. Heti kun viallinen nauha havaitaan ja järjestelmä käynnistyy normaalisti, prosessorin kuormitus keskeytysten muodossa vähenee välittömästi ja merkittävästi.

Yleensä jokaisen käyttäjän tulee ymmärtää selvästi, että jos tällainen tilanne syntyy, ongelma on todennäköisimmin laitteistossa, ei ohjaimissa. Vaikka... koskaan ei tiedä mitä voi tapahtua. Ja nämä olivat vain vikojen ja diagnostisten menetelmien tärkeimmät syyt. On todennäköistä, että mukautetut manuaaliset tietokonekokoonpanot edellyttävät diagnostiikkaohjelmien lataamista ja käyttöä jokaiselle yksittäiselle laitteelle. Mutta on suositeltavaa ladata tällaiset sovellukset yksinomaan laitevalmistajien tai vastaavien kehittäjien verkkosivustoilta tukipalvelujen muodossa. Kannettavien tietokoneiden tapauksessa voit käyttää tavallisia online-diagnostiikkatyökaluja, jotka ovat saatavilla mistä tahansa itseään kunnioittavan valmistajan Internet-resurssista.

Kaikissa tietokoneissa on mekanismi, jolla eri laitteet (tulo/lähtö, muisti) voivat keskeyttää prosessorin normaalin toiminnan. Tärkeimmät yleisesti hyväksytyt keskeytysluokat on lueteltu taulukossa. 1.1.

Taulukko 1.1. Keskeytä tunnit

Keskeytykset on suunniteltu pääasiassa parantamaan työn tehokkuutta. Esimerkiksi useimmat I/O-laitteet ovat paljon hitaampia kuin prosessori. Oletetaan, että prosessori lähettää dataa tulostimelle kuvassa 1 esitetyn piirin mukaisesti. 1.2. Jokaisen toimenpiteen jälkeen prosessori pakotetaan pysähtymään ja odottamaan, kunnes tulostin hyväksyy tiedot. Tämän tauon kesto voi olla satoja tai jopa tuhansia kertoja pidempi kuin ohjejakson kesto, johon liittyy muistin käyttöjä. On selvää, että tällainen prosessorin käyttö on tehotonta.

Tämä asiaintila on havainnollistettu kuvassa. 1,5, a. Käyttäjäohjelma sisältää sarjan WRITE-kutsuja, joiden välissä on muita komentoja. Osat 1, 2 ja 3 sisältävät koodikomentoja, jotka eivät käytä I/O:ta. Kun WRITE-proseduuria kutsutaan, ohjaus siirtyy järjestelmän I/O-apuohjelmaan, joka suorittaa tarvittavat toiminnot. I/O-ohjelma koostuu kolmesta osasta.

Kuvassa numerolla 4 merkitty komentosarja, jonka tarkoituksena on valmistautua varsinaisiin I/O-toimintoihin. Tämä sekvenssi voi sisältää lähtötietojen kopioimisen erityiseen puskuriin ja laitteen ohjaamiseen tarvittavien parametrien valmistuksen.

Itse asiassa syöttö-/lähtökomennot. Jos ohjelma ei käytä keskeytyksiä, sen tulee odottaa, kunnes I/O-laite suorittaa vaaditut toiminnot (tai tarkista sen tila säännöllisesti pollaamalla). Tässä tapauksessa ohjelmalla ei ole muuta vaihtoehtoa kuin vain odottaa ja tarkistaa jatkuvasti, onko I/O-toiminto valmis.

Komentosarja, joka on merkitty kuvassa numerolla 5 ja joita käytetään toiminnon suorittamiseen. Tämä sekvenssi voi sisältää lippujen asettamisen, jotka osoittavat toiminnon onnistuneen tai epäonnistuneen suorittamisen.

Riisi. 1.5. Ohjelman suoritusvirta ilman keskeytyksiä ja niiden käytön kanssa

Koska I/O-toiminnon valmistuminen voi kestää suhteellisen kauan, ohjelma hidastuu odottaessaan toiminnon valmistumista. Siten, jos WRITE-kutsu kohdataan, ohjelman suorituskyky heikkenee merkittävästi.

Keskeytykset ja komentosilmukka

Keskeytysten ansiosta prosessori voi käsitellä muita komentoja I/O-toimintojen ollessa käynnissä. Tarkastellaan kuvassa esitettyä prosessikulkua. 1.5,6. Kuten edellisessä tapauksessa (ilman keskeytyksiä), kutsumalla WRITE-proseduurin ohjelma pääsee järjestelmään. Tämä aktivoi I/O-ohjelman, joka koostuu valmistelevasta koodista ja varsinaisista I/O-komennoista. Kun nämä komennot on suoritettu, ohjaus siirtyy käyttäjäohjelmalle. Samaan aikaan ulkoinen laite vastaanottaa tietoja tietokoneen muistista ja käsittelee niitä (jos tämä laite on esimerkiksi tulostin, niin käsittely tarkoittaa tulostamista). I/O tapahtuu samanaikaisesti käyttäjäohjelman komentojen suorittamisen kanssa.

Sillä hetkellä, kun ulkoinen laite vapautetaan ja on valmis jatkokäyttöön, ts. se on valmis vastaanottamaan uuden osan dataa prosessorilta, tämän laitteen I/O-ohjain lähettää keskeytyspyyntösignaalin prosessorille. Vasteena prosessori keskeyttää nykyisen ohjelman suorittamisen ja siirtyy toimimaan tätä I/O-laitetta (tätä ohjelmaa kutsutaan keskeytyskäsittelijäksi) palvelevan ohjelman kanssa. Ulkoisen laitteen huollon jälkeen prosessori jatkaa keskeytettyä toimintaa uudelleen. Kuvassa Ohjelmassa 1.5,6 kohtaa, joissa keskeytys tapahtuu, on merkitty rastilla.

Käyttäjäohjelman näkökulmasta keskeytykset eivät ole muuta kuin häiriöitä normaalissa suoritussekvenssissä. Kun keskeytyksen käsittely on valmis, työ jatkuu (kuva 1.6). Siten käyttäjäohjelman ei tarvitse sisältää mitään erityistä koodia keskeytyksiä varten. Prosessori ja käyttöjärjestelmä ovat vastuussa käyttäjäohjelman keskeyttämisestä ja sen jatkamisesta siitä kohdasta, jossa se keskeytettiin.


Riisi. 1.6. Ohjauksen siirto keskeytyksen kautta

Keskeytyksen koordinoimiseksi ohjelman kanssa käskyjaksoon lisätään keskeytyssilmukka (katso kuva 1.7, vertaa kuvaan 1.2). Keskeytysjaksossa prosessori tarkistaa keskeytyssignaalien, jotka osoittavat keskeytyksiä tapahtuneen. Kun keskeytys saapuu, prosessori keskeyttää nykyisen ohjelman ja suorittaa sen keskeytyskäsittelijä.

Keskeytyskäsittelijät sisältyvät yleensä käyttöjärjestelmään. Tyypillisesti nämä ohjelmat määrittävät keskeytyksen luonteen ja suorittavat tarvittavat toiminnot. Esimerkiksi käytetyssä esimerkissä käsittelijän on määritettävä, mikä I/O-ohjain loi keskeytyksen; Lisäksi se voi siirtää ohjauksen ohjelmalle, jonka on tulostettava dataa I/O-laitteeseen. Kun keskeytyskäsittelijä saa työnsä valmiiksi, prosessori jatkaa käyttäjäohjelman suorittamista kohdasta, jossa se keskeytettiin.

On selvää, että tähän prosessiin liittyy jonkin verran lisäkustannuksia. Keskeytyskäsittelijän on suoritettava lisäkomentoja määrittääkseen keskeytyksen luonteen ja päättääkseen, mitä tehdä seuraavaksi. Koska I/O-toimintojen valmistuminen kestäisi kuitenkin suhteellisen pitkän ajan, keskeytyksiä voidaan käyttää prosessorin tehokkaampaan hyödyntämiseen.


Riisi. 1.7. Komentosilmukka keskeytyksellä

Arvioidaksesi tehokkuushyötyjä, tarkastele aikakaaviota (kuva 1.8), joka havainnollistaa kuvassa näytettyjen prosessien edistymistä. 1.5,a ja b. Kuvassa esitetyssä tilanteessa. 1.5,6 ja 1.8, oletetaan, että I/O-toiminnot vaativat suhteellisen lyhyen ajan, ts. vähemmän kuin niiden komentojen käsittelyaika, jotka sijaitsevat käyttäjäohjelmassa kirjoitustoimintojen välillä. Tyypillisempi, erityisesti hitaille laitteille, kuten tulostimelle, on tapaus, jossa I/O-toiminnot vievät paljon kauemmin kuin käyttäjän komentojen sarjan suorittaminen. Tämä tilanne on esitetty kuvassa. 1.5, c. Tässä tapauksessa käyttäjäohjelma saavuttaa seuraavan WRITE-puhelun ennen kuin edellisen puhelun luoma I/O-toiminto on valmis. Tämän seurauksena käyttäjän ohjelma jäädytetään tässä paikassa. Kun edellinen I/O-toiminto on valmis, uusi WRITE-kutsu käsitellään ja uudet I/O-toiminnot aloitetaan. Kuvassa Kuvassa 1.9 on kaavio ohjelman suorittamisesta ympäristössä ilman keskeytyksiä ja keskeytysten kanssa kuvatulle tapaukselle. Kuten näette, tässä tilanteessa on edelleen tehokkuushyöty, koska osa ajasta, jonka aikana I/O-toiminnot suoritetaan, menee päällekkäin käyttäjän komentojen suorittamisen kanssa.


Riisi. 1.8 Ohjelman ajoituskaavio: nopea I/O

Keskeytä käsittely

Keskeytys laukaisee sarjan tapahtumia, joita esiintyy sekä laitteistossa että ohjelmistossa. Kuvassa Kuva 1.10 esittää näiden tapahtumien tyypillisen sarjan. Kun I/O-laite sammuu, tapahtuu seuraavaa.

Laite lähettää keskeytyssignaalin prosessorille.

  • Ennen kuin prosessori vastaa keskeytykseen, sen on suoritettava nykyinen käsky (katso kuva 1.7).
  • Prosessori tarkistaa keskeytyksen olemassaolon, havaitsee sen ja lähettää onnistuneen vastaanottosignaalin keskeytyksen lähettäneelle laitteelle. Tämän signaalin avulla laite voi poistaa keskeytyssignaalinsa.


a) ilman keskeytyksiä
Riisi. 1.9. Ohjelman ajoituskaavio: hidas I/O

  • Nyt prosessorin on valmistauduttava siirtämään ohjaus keskeytyskäsittelijälle. Ensin sinun on tallennettava kaikki tärkeät tiedot, jotta voit myöhemmin palata nykyisen ohjelman paikkaan, jossa se keskeytettiin. Vähimmäistieto on ohjelman tilasana ja seuraavan suoritettavan käskyn osoite, joka sijaitsee ohjelmalaskurissa. Nämä tiedot kirjoitetaan järjestelmän ohjauspinoon.


Riisi. 1.10. Yksinkertaisen keskeytyksen käsittely

  • Seuraavaksi prosessorin ohjelmalaskuriin ladataan keskeytyksen käsittelyohjelman tuloosoite, joka vastaa tämän keskeytyksen käsittelystä. Riippuen tietokoneen ja käyttöjärjestelmälaitteen arkkitehtuurista, voi olla joko yksi ohjelma kaikkien keskeytysten käsittelemiseksi tai jokaiselle laitteelle ja jokaiselle keskeytystyypille voi olla oma käsittelyohjelma. Jos keskeytyksiä käsitteleviä ohjelmia on useita, prosessorin on määritettävä, kumpi niistä tulee kutsua. Tämä informaatio voi sisältyä alkuperäiseen keskeytyssignaaliin; Muutoin tarvittavien tietojen saamiseksi prosessorin on kyselyllä kaikki laitteet vuorotellen määrittääkseen, kumpi lähetti keskeytyksen.

Heti kun ohjelmalaskuri on ladattu uudella arvolla, prosessori siirtyy seuraavaan käskyjaksoon ja alkaa hakea sitä muistista. Koska käsky haetaan solusta, jonka numero määräytyy ohjelmalaskurin sisällön mukaan, ohjaus siirtyy keskeytyspalvelurutiinille. Tämän ohjelman suorittaminen sisältää seuraavat toiminnot.

  • Ohjelmalaskurin sisältö ja keskeytetyn ohjelman tilasana on jo tallennettu järjestelmäpinoon. Tämä ei kuitenkaan ole kaikki tiedot, jotka liittyvät suoritettavan ohjelman tilaan. Sinun on esimerkiksi tallennettava prosessorirekisterien sisältö, koska keskeytyskäsittelijä saattaa tarvita näitä rekistereitä. Siksi on tarpeen tallentaa kaikki tiedot ohjelman tilasta. Tyypillisesti keskeytyskäsittelijä aloittaa työnsä kirjoittamalla kaikkien rekisterien sisällön pinoon. Muita tietoja, jotka on säilytettävä, käsitellään luvussa 3, Prosessin kuvaus ja ohjaus. Kuvassa Kuvassa 1.11a on yksinkertainen esimerkki, jossa käyttäjäohjelma keskeytyy, kun komento on suoritettu solusta N. Kaikkien rekisterien sisältö sekä seuraavan komennon (N+1) osoite, yhteensä M sanaa, työnnetään pino. Pinoosoitin päivitetään sitten osoittamaan pinon uuteen yläosaan. Myös ohjelmalaskuri päivitetään, mikä osoittaa keskeytysrutiinin alkamisen.
  • Nyt keskeytyskäsittelijä voi aloittaa työnsä. Keskeytyksen käsittelyprosessiin kuuluu I/O-toimintoihin tai muihin keskeytyksen aiheuttaneisiin tapahtumiin liittyvien tilatietojen tarkistaminen. Tämä voi sisältää myös lisäohjeiden tai ilmoitusviestien lähettämisen I/O-laitteille.
  • Kun keskeytyskäsittely on valmis, aiemmin tallennetut arvot noudetaan pinosta ja kirjoitetaan takaisin rekistereihin, jolloin palautetaan tila, jossa ne olivat ennen keskeytystä (katso esim. kuva 1.11.6).
  • Viimeinen vaihe on ohjelman tilasanan ja ohjelmalaskurin sisällön palauttaminen pinosta. Tämän seurauksena keskeytetyn ohjelman seuraava komento suoritetaan.

Koska keskeytys ei ole ohjelman sisältä kutsuttu aliohjelma, on tärkeää säilyttää kaikki keskeytetyn ohjelman tilatiedot täydellistä palautumista varten. Keskeytys voi kuitenkin tapahtua milloin tahansa ja missä tahansa käyttäjäohjelmassa. Tämä tapahtuma on arvaamaton.

Useita keskeytyksiä

Toistaiseksi olemme tarkastelleet yksittäisen keskeytyksen tapausta. Kuvitellaan tilanne, jossa voi esiintyä useita keskeytyksiä. Esimerkiksi ohjelma vastaanottaa tiedot viestintälinjan kautta ja tulostaa tuloksen välittömästi. Tulostin luo keskeytyksen aina, kun tulostustoiminto on valmis, ja tietoliikennelinjan ohjain luo keskeytyksen aina, kun uusi tieto saapuu. Tämä osa voi koostua yhdestä merkistä tai kokonaisesta lohkosta riippuen palvelujärjestyksestä. Joka tapauksessa on mahdollista, että tiedonsiirto katkeaa tulostinkeskeytyksen käsittelyn aikana.


Riisi. 1.11. Muistin ja rekisterien muuttaminen keskeytystä käsiteltäessä

Tällaisessa tilanteessa kaksi lähestymistapaa on mahdollista. Ensimmäinen on poistaa uudet keskeytykset käytöstä edellisen käsittelyn aikana. Keskeytysten poistaminen käytöstä tarkoittaa, että prosessori voi ja sen tulee jättää huomiotta kaikki uudet keskeytyssignaalit. Jos keskeytys tapahtuu tänä aikana, se jää yleensä odotustilaan ja saa vuoronsa, kun prosessori pystyy taas käsittelemään keskeytyksiä. Siten, jos keskeytys tapahtuu käyttäjäohjelman ollessa käynnissä, muut keskeytykset poistetaan välittömästi käytöstä. Kun keskeytyskäsittelyohjelma on valmis, kielto poistetaan ja prosessori tarkistaa muiden keskeytysten olemassaolon ennen kuin palaa keskeytetyn ohjelman suorittamiseen. Tämä on onnistunut ja yksinkertainen lähestymistapa, jossa keskeytykset käsitellään tarkasti peräkkäisessä järjestyksessä (kuva 1.12a).


b) Sisäkkäisten keskeytysten käsittely
Riisi. 1.12. Ohjauksen siirto useiden keskeytysten aikana

Tämän lähestymistavan haittana on kuitenkin se, että se ei ota huomioon keskeytysprioriteettia ja niitä tilanteita, joissa aika on kriittinen parametri. Esimerkiksi kun informaatiota saapuu viestintälinjaa pitkin, se on ehkä hyväksyttävä nopeasti, jotta muille syötteille jää tilaa. Jos et käsittele ensimmäistä syöttödatapakettia ennen toisen paketin vastaanottamista, tietoja voidaan menettää I/O-laitteen puskurin ruuhkan ja ylivuodon vuoksi.

Toinen lähestymistapa ottaa huomioon keskeytyksen prioriteetin, mikä mahdollistaa alhaisemman prioriteetin keskeytyksen käsittelyn keskeyttämisen korkeamman prioriteetin keskeytyksen hyväksi (kuva 1.12.6). Esimerkkinä tästä lähestymistavasta voidaan harkita järjestelmää, jossa on kolme I/O-laitetta: tulostin, levy ja tietoliikennelinja, joille on asetettu prioriteetit nousevassa järjestyksessä - 2, 4 ja 5, vastaavasti. Kuvassa Kuva 1.13 näyttää järjestyksen, jossa näistä laitteista vastaanotetut keskeytykset käsitellään. Käyttäjäohjelma käynnistyy hetkellä t = 0. Ajanhetkellä t = 10 tulostin keskeytyy. Käyttäjäohjelman tiedot työnnetään järjestelmäpinoon ja keskeytyspalvelurutiini (ISR) otetaan käyttöön. Kun se on käynnissä, tietoliikennekatkos tapahtuu kohdassa t = 15. Koska sen prioriteetti on korkeampi kuin tulostimen keskeytysprioriteetti, prosessori alkaa käsitellä sitä. Tulostimen ISR keskeytyy, sen tila työnnetään pinoon ja ohjaus siirretään tietoliikenteen ISR:lle. Sitten, kun tämä ohjelma on käynnissä, levy keskeytyy (hetkellä t = 20). Koska sen prioriteetti on alhaisempi, viestintä ISR jatkaa työtään, kunnes se on valmis.


Riisi. 1.13. Esimerkki useiden keskeytysten käsittelyjaksosta

Tietoliikennelinjan ISR:n suorittamisen jälkeen (t = 25) palautetaan prosessorin edellinen tila, ts. Työskentely ISR-tulostimen kanssa. Kuitenkin ennen kuin yksittäinen komento tästä ohjelmasta voidaan suorittaa, prosessori alkaa käsitellä levykeskeytystä, jolla on korkeampi prioriteetti, ja ohjaus siirtyy levyn ISR:lle. Vasta tämän ohjelman päätyttyä (t = 35) ISR-tulostin jatkaa toimintaansa. Lopuksi tämän keskeytyksen käsittelyn jälkeen ohjaus siirtyy käyttäjäohjelmalle.

Monissa tapauksissa käyttäjät kohtaavat tietokoneensa suorituskyvyn ja nopeuden jyrkän laskun. Järjestelmän keskeytykset ovat usein syyllisiä. Puhumme artikkelissamme siitä, mikä tämä indikaattori on, mistä se riippuu ja menetelmistä sen säätämiseksi.

Miksi prosessori ylikuormittuu järjestelmän keskeytysten aikana?

Yleensä tämä ongelma ilmenee tapauksissa, joissa oheislaitteiden laitteet tai ajurit on asennettu väärin. Puhumme kuinka optimoida järjestelmän keskeytykset ja päästä eroon hitaan toiminnan ongelmasta.
Jotta keskeytykset voisivat täysin estää keskusprosessorin työn, SP:n on varattava yli 30 % prosessien kokonaismäärästä. Tätä indikaattoria pienemmät keskeytykset eivät vaikuta suorituskykyyn millään tavalla, mutta suuremmat häiriöt johtavat jäätymiseen.

Käsite "järjestelmäkeskeytykset" ja tietokoneongelmien vianmääritys

Keskustellaan siitä, mitkä ovat tehtävähallinnassa näkyvät järjestelmän keskeytykset. Vaikka SP:t eivät ole järjestelmäprosessi, ne voidaan näyttää Task Manager -ikkunassa. Ne kertovat sinulle prosessorin kuormitustasosta.

Keskeytykset voidaan luokitella seuraavasti:

  • Korkein prioriteetti (ei maskattavissa). Ne syntyvät, kun RAM-muistin tai muun laitteen toiminnassa ilmenee virheitä.
  • Laitteisto (naamioitu). Oheislaitteiden aiheuttama.
  • Ohjelmisto. Toteutettu ohjelmistovian vuoksi

SP:n käsittelyssä keskusprosessori ei ole mukana, vaan se toteutetaan muilla tavoilla.
Asiantuntijat uskovat, että yleisin syy tietokoneen suorituskyvyn ajoittain heikkenemiseen on tietokoneeseen asennetut yhteensopimattomat laitteet sekä väärin asennetut ohjelmat, vanhentuneet ja ei-alkuperäiset ohjaimet ja jopa ongelmat itse prosessorin toiminnassa.

Käsitellyt prosessit tapahtuvat, kun prosessori suorittaa sarjan peräkkäisiä tehtäviä, kun käyttäjä antaa komennon suorittaa uusi tehtävä. Esimerkiksi odottaessaan vastausta käynnissä olevalta ohjelmalta hän napsauttaa hiiren toisen ohjelman tai komennon pikakuvaketta. Uusi tehtävä sijoitetaan suoritusjonoon, mutta prosessori antaa sille prioriteetin suorituksessa. Sen valmistumisen jälkeen tehtävän suoritusjärjestys palautetaan. Mutta juuri poikkeuksellisen tehtävän suorittamisen hetkellä suorituskyky laskee.
Eli määritelmän mukaan SP on Windows 7- ja Windows 10 -käyttöjärjestelmien vakiotyönkulku, joka ilmoittaa ongelmista laitteen toiminnassa tai ohjelman suorittamisessa. Keskeytykset liittyvät indikaattoreihin niiden toiminnassa.

Järjestelmähäiriöt - kuinka korjata ne

Tällaisissa tapauksissa käyttäjän ei tarvitse tehdä mitään keskeytyksen mahdollistamiseksi, koska tämä järjestelmätehtävä sisältyy Windows-käyttöjärjestelmän rekisteriin ja aloittaa toimintansa automaattisesti. Tällaista prosessia ohjelmistoympäristössä kutsutaan virtuaalikeskeytyksiksi. Mutta tämä sama järjestelmätoiminto, mutta suhteessa asennettuihin laitteisto-ohjaimiin, myös vähentää järjestelmän suorituskykyä. Mutta se on jo ohjelmisto. Sitä ohjaa järjestelmän keskeytysohjain ja sen ajuri suoraan.

Henkilökohtaisten tietokoneiden käyttäjät kysyvät usein, kuinka poistaa keskeytykset SysTick-järjestelmän ajastimesta. Tätä ei voi tehdä, koska SysTick viittaa mikrokontrollerin ajastimeen, sen käyttökoodi on kirjoitettu Windowsin järjestelmärekisteriin ja sitä on mahdotonta pysäyttää. Voit muuttaa vain laukaisutaajuutta.

Kuvakaappauksessa näet kuvauksen käsiteltävän moduulin rekistereistä.

On selvää, että ilman ammatillista tietämystä on parempi olla jatkamatta tätä ongelmaa tietokoneen vakavan vaurioitumisen välttämiseksi.

Kuinka ratkaista tietokoneen hitaan suorituskyvyn ongelma

Mutta mitä tehdä, jos järjestelmä keskeyttää Windows 7 -prosessorin lataamisen? Kuinka virtaviivaistaa prosesseja ja eliminoida virheelliset järjestelmätehtävät? Mitä tehdä, jos järjestelmäkeskeytykset lataavat Windows 10 -suoritinta ja kuinka ne poistetaan käytöstä? Tarkastellaan kysymystä pääsystä järjestelmäprosessien hallintaan Windows 7- ja 10-käyttöjärjestelmissä.
Olemme jo kirjoittaneet, että kaikki keskeytykset näkyvät Task Managerissa. Avataksesi sen, sinun on painettava ALT+CTRL+DELETE-näppäimiä samanaikaisesti. Menemällä Prosessit-välilehteen näet kaikki käynnissä olevat prosessit. Kun olet löytänyt ongelman luettelon suurimmalla prosessorikuormalla, sinun on korostettava tämä rivi ja napsautettava sitten "Lopeta prosessi" -painiketta. Tällä tavalla voit tunnistaa virheelliset järjestelmäkeskeytykset ja tapoja päästä niistä eroon.
Tehtävienhallinta auttaa ratkaisemaan riittävän määrän tietokoneen ongelmia, jopa yksin.


Yksinkertaisin tapa ratkaista käsitelty ongelma on käynnistää tietokone uudelleen. Tämä voidaan tehdä myös Task Managerilla tai painamalla tietokoneen järjestelmäyksikön etupaneelin Reset-painiketta. Kannettavassa tietokoneessa tämä vaatii lyhyen virtapainikkeen painalluksen.

Suorituskykyongelmien vianmääritys ohjelmistosovellusten avulla

Katsotaanpa joitain sovellusohjelmia ja tapoja ratkaista suorituskykyyn ja jäätymiseen liittyviä ongelmia. Esimerkkinä voisi olla äänen vääristymisongelma kuunneltaessa äänitiedostoja ja työskennellessäsi tietokoneella. Tämä voi johtua RAM-muistin ylikuormituksesta, väärästä äänilaiteohjaimesta tai prosessorin ylikuormituksesta. Latency Mon -ohjelmaa käytetään auttamaan tietokoneen käyttäjää. Voit ladata sen alta:

Tämä apuohjelma auttaa analysoimaan jo käynnissä olevia prosesseja ja valvomaan järjestelmään asennettuja ohjaimia.


Laiteongelmien havaitsemiseksi sinun on aloitettava diagnosoimalla ohjainongelmat. Ja tätä varten on toinen ohjelma - DPC Latency Checker.

Kun olet käynnistänyt tämän ohjelman, sinun on tehtävä seuraavat:

  • Sulje kaikki avoimet ohjelmat ja tallenna ensin työn tulokset niihin.
  • Käynnistä kyseinen ohjelma. Muuten, se ei vaadi asennusprosessia. Ikkunaan avautuu kaavio. Ja jo siinä näet, minkä ohjaimen kanssa ongelma ilmeni.


Kaikki matalan tason prosessit käsitellään BIOSissa, eli sarjassa mikroohjelmia, jotka toteuttavat työskentelyn tietokonelaitteiston ja liitettyjen moduulien kanssa. Tätä ohjelmistoympäristöä käytetään toimimaan vakiolaitteistorajapintaan sisältyvien I/O-laitteiden kanssa.

Jotta prosessori voidaan määrittää tällä tavalla, sinun on tunnettava sisäisten ja laitteisto-ongelmien taulukko ja joukko muita parametreja, jotka näkyvät Biosissa.


Kuten näet, Windows-käyttöjärjestelmissä käsitelty ongelma esiintyy melko usein. Mutta taitavan ja älykkään lähestymistavan avulla voit yrittää saada tietokoneesi oikealle suoritustasolle.

Hyvää päivän jatkoa!