Valtio (tietokonetiede)

Tietojenkäsittelytieteessä ja automaatioteoriassa digitaalisen logiikkapiirin tai tietokoneohjelman tila on tekninen termi kaikille tallennetuille tiedoille, joihin piirillä tai ohjelmalla on tällä hetkellä pääsy [1] . Digitaalisen piirin tai tietokoneohjelman lähtö milloin tahansa määräytyy täysin sen nykyisen tulon ja tilan mukaan.

Digitaalisen logiikkapiirin tila

Digitaaliset logiikkapiirit voidaan jakaa kahteen tyyppiin: yhdistelmälogiikkaan , jonka lähtösignaalit riippuvat vain tulosignaaleista, ja peräkkäiseen (sarja)logiikkaan , jonka lähtötiedot ovat funktio sekä nykyisestä että tulotiedosta, joka on vastaanotettu sisäänmenossa aiemmin [2 ] .

Sekvenssilogiikassa aikaisemmin tuloista vastaanotettu tieto tallennetaan elektronisten elementtien, kuten liipaisujen , muistisolujen muistiin. Näiden muistielementtien tallennettu sisältö tiettynä ajankohtana, jota kutsutaan yhteisesti piirin "tilaksi", sisältää kaiken tiedon menneisyydestä, johon laitteella on pääsy [3] .

Esimerkiksi mikroprosessorin (tietokonesirun) nykyinen tila määräytyy kaikkien sen muistielementtien sisällön mukaan: akut , tallennusrekisterit , tietovälimuistit ja liput .

Kun asetat tietokoneesi "horrostilaan" tai "lepotilaan" säästääksesi virtaa sammuttamalla prosessorin, muistin ja muut laitteet, prosessorin ja RAM -muistin tila kirjoitetaan ulkoiseen haihtumattomaan muistiin, yleensä tietokoneen levylle . , kun tietokone käynnistetään horrostilasta, RAM-muistin ja prosessorirekisterien sisältö palautetaan ja lepotilan keskeyttämän ohjelman suorittamista voidaan jatkaa oikein.

Samoin prosessorin tila tallennetaan, kun käsitellään ulkoisia ohjelman keskeytyksiä ulkoisista tapahtumista, jotka voivat tapahtua odottamattomina aikoina. Jotta keskeytetty nykyinen ohjelma voisi jatkaa työtään oikein keskeytyskäsittelyn päätyttyä, on tarpeen tallentaa niiden rekisterien ja muistin tila, joita keskeytyskäsittelijä käyttää. Ennen ohjauksen siirtämistä keskeytetylle ohjelmalle keskeytyskäsittelijä palauttaa prosessorin ja muistirekisterien tilan ja siirtää ohjauksen keskeytetylle ohjelmalle. Tilan tallennuksen ja palauttamisen suorittaa ulkoinen keskeytyskäsittelijä.

Koska jokaisella binäärimuistielementillä, kuten flip-flopilla tai rekisteribitillä, on vain kaksi mahdollista tilaa, "looginen yksi" tai "looginen nolla", ja tällaisia ​​binäärimuistielementtejä on äärellinen määrä, millä tahansa digitaalisella piirillä on äärellinen mahdollisten tilojen määrä. Jos binäärimuistielementtien lukumäärä piirissä on N , niin suurin mahdollinen tilojen lukumäärä on 2 N .

Ohjelman tila

Tietokoneohjelmat tallentavat tiedot muuttujiin , jotka ovat tietojen tallennusalueita tietokoneen muistissa, näiden muistialueiden sisältöä milloin tahansa ohjelman suorittamisen aikana kutsutaan ohjelman tilaksi [ 4] [5] [6] .

Imperatiivinen ohjelmointi  on ohjelmointiparadigma (tapa suunnitella ohjelmointikieli ), joka kuvaa tilojen ja lauseiden avulla, jotka muuttavat ohjelman tilaa. Deklaratiivisissa ohjelmointikielissä ohjelma sen sijaan kuvaa halutun tuloksen ilman, että se määrittelee suoraan tilan muutoksia. Erikoisempaa tilan määritelmää käytetään joissakin tietovirroissa sarjassa toimivissa tietokoneohjelmissa, kuten jäsentimissä , palomuureissa , tiedonsiirtoprotokollassa ja salausohjelmissa . Sarjaohjelmat käsittelevät saapuvat tiedot, merkit tai paketit peräkkäin, yksi kerrallaan. Joissakin näistä ohjelmista tiedot aiemmin vastaanotetuista merkeistä tai datapaketeista tallennetaan muuttujiin ja niitä käytetään vaikuttamaan nykyisen merkin tai paketin käsittelyyn. Tätä kutsutaan "tilaprotokollaksi", ja edellisestä käsittelyjaksosta siirrettyä dataa kutsutaan "tilaksi". Muissa tapauksissa ohjelmalla ei ole tietoa edellisestä datavirrasta ja se alkaa "puhtaasti" jokaisella syötteellä; tätä kutsutaan "valtiottomaksi protokollaksi".

Finite automata

Sarjapiirin tai tietokoneohjelman lähtö kulloinkin määräytyy täysin nykyisen tulodatan ja nykyisen tilan mukaan. Koska kullakin binäärimuistielementillä on vain kaksi mahdollista tilaa, 0 tai 1, verkon tilojen kokonaismäärän oletetaan olevan äärellinen ja muistielementtien lukumäärän määräämä. Jos binäärimuistielementtien lukumäärä piirissä on N , niin suurin mahdollinen tilojen lukumäärä on 2 N . Tilan käsitettä, joka on kehystetty laskennan abstraktiin matemaattiseen malliin , kutsutaan äärellistilakoneeksi , jota käytetään sekä peräkkäisten digitaalisten piirien että tietokoneohjelmien kehittämiseen.

Tilatyypit

On olemassa seuraavan tyyppisiä tiloja:

Katso myös

Muistiinpanot

  1. Harris, David Money; Sarah L Harris Digitaalinen suunnittelu ja tietokonearkkitehtuuri . - USA: Morgan Kaufmann , 2007. - P. 103. - ISBN 0123704979 . Arkistoitu 6. huhtikuuta 2014 Wayback Machinessa
  2. Kaeslin, Hubert. Digitaalinen integroitu piirisuunnittelu : VLSI-arkkitehtuurista CMOS-valmistukseen  . - Iso-Britannia: Cambridge University Press , 2008. - P. 735. - ISBN 0521882672 . Arkistoitu 6. huhtikuuta 2014 Wayback Machinessa
  3. Srinath, NK 8085 Mikroprosessori: Ohjelmointi ja  liitäntä . - Prentice-Hall of India Pvt. Ltd, 2005. - s. 326. - ISBN 978-8120327856 . Arkistoitu 11. kesäkuuta 2018 Wayback Machinessa . - "sivu 46".
  4. Laplante, Philip A. Tietojenkäsittelytieteen, tekniikan ja tekniikan  sanakirja . - USA: CRC Press , 2000. - S. 466. - ISBN 0849326915 .
  5. Misra, Jayadev. Moniohjelmoinnin tieteenala: Ohjelmointiteoria hajautetuille  sovelluksille . - Springer, 2001. - s. 14. - ISBN 0387952063 . Arkistoitu 5. heinäkuuta 2014 Wayback Machinessa
  6. Prata, Stephen Prata. C Primer Plus, 5. painos . — Pearsonin koulutus, 2004. - S. 113-114. — ISBN 0132713608 . Arkistoitu 5. heinäkuuta 2014 Wayback Machinessa