Stat (datalogi)

I datalogi og automatteori er tilstanden af ​​et digitalt logisk kredsløb eller computerprogram en teknisk betegnelse for al lagret information, som kredsløbet eller programmet i øjeblikket har adgang til [1] . Outputtet af et digitalt kredsløb eller computerprogram på ethvert givet tidspunkt er fuldstændig bestemt af dets aktuelle input og dets tilstand.

Det digitale logiske kredsløbs tilstand

Digitale logiske kredsløb kan opdeles i to typer: kombinationslogik , hvis udgangssignaler kun afhænger af indgangssignaler, og sekventiel (seriel) logik , hvis udgangsdata er en funktion af både nuværende og inputdata modtaget ved input tidligere [2 ] .

I sekventiel logik lagres informationen modtaget tidligere ved indgangene i hukommelsen af ​​elektroniske elementer, såsom triggere , hukommelsesceller. Det lagrede indhold af disse hukommelseselementer på et givet tidspunkt, samlet benævnt "tilstanden" af kredsløbet, indeholder al information om fortiden, som enheden har adgang til [3] .

For eksempel er den aktuelle tilstand for en mikroprocessor (computerchip) bestemt af indholdet af alle dens hukommelseselementer: akkumulatorer , lagerregistre , datacaches og flag .

Når du sætter din computer i "dvale" eller "dvale"-tilstand for at spare strøm ved at slukke for processoren, hukommelsen og andre enheder, skrives processorens og RAM -tilstanden til ekstern ikke-flygtig hukommelse, normalt på computerens disk , når computeren tændes fra dvaletilstand, gendannes indholdet af RAM- og processorregistrene, og udførelsen af ​​programmet afbrudt af dvaletilstand kan fortsættes korrekt.

På samme måde gemmes processorens tilstand, når eksterne programafbrydelser behandles af eksterne hændelser, der kan forekomme på uventede tidspunkter. For at det afbrudte aktuelle program korrekt kan genoptage sit arbejde efter afslutningen af ​​afbrydelsesbehandlingen, er det nødvendigt at gemme tilstanden for de registre og hukommelse, der bruges af afbrydelsesbehandleren. Før overførsel af kontrol til det afbrudte program, gendanner afbrydelsesbehandleren tilstanden af ​​processoren og hukommelsesregistrene og overfører kontrol til det afbrudte program. Lagring og gendannelse af tilstanden udføres af den eksterne interrupt-handler.

Da hvert binært hukommelseselement, såsom en flip-flop eller registerbit, kun har to mulige tilstande, "logisk en" eller "logisk nul", og der er et endeligt antal af sådanne binære hukommelseselementer, har ethvert digitalt kredsløb et endeligt antal mulige stater. Hvis antallet af binære hukommelseselementer i kredsløbet er N , så vil det maksimalt mulige antal tilstande være 2 N.

Programstatus

Computerprogrammer gemmer data i variabler , som er områder med datalagring i computerens hukommelse, indholdet af disse områder af hukommelsen på et hvilket som helst tidspunkt under programmets udførelse kaldes programmets tilstand [ 4] [5] [6] .

Imperativ programmering  er et programmeringsparadigme (en måde at designe et programmeringssprog på ), der beskriver i form af tilstande og udsagn, der ændrer et programs tilstand. I deklarative programmeringssprog beskriver programmet derimod det ønskede resultat uden direkte at specificere tilstandsændringer. En mere specialiseret definition af tilstand bruges i nogle computerprogrammer, der opererer serielt på datastrømme, såsom parsere , firewalls , dataoverførselsprotokoller og krypteringsprogrammer . Serielle programmer behandler indgående data, tegn eller pakker sekventielt én ad gangen. I nogle af disse programmer lagres information om tidligere modtagne tegn eller datapakker i variabler og bruges til at påvirke behandlingen af ​​det aktuelle tegn eller den aktuelle pakke. Dette kaldes "tilstandsprotokollen", og de data, der overføres fra den foregående behandlingscyklus, kaldes "tilstanden". I andre tilfælde har programmet ingen information om den tidligere datastrøm og starter "ren" med hvert input; dette kaldes en "statsløs protokol".

Finite automata

Outputtet af et serielt kredsløb eller computerprogram på et givet tidspunkt er fuldstændig bestemt af de aktuelle inputdata og den aktuelle tilstand. Da hvert binært hukommelseselement kun har to mulige tilstande, 0 eller 1, antages det samlede antal netværkstilstande at være endeligt og fastsat af antallet af hukommelseselementer. Hvis antallet af binære hukommelseselementer i kredsløbet er N , så vil det maksimalt mulige antal tilstande være 2 N. Begrebet en tilstand, indrammet i en abstrakt matematisk computermodel , kaldes en endelig tilstandsmaskine , der bruges til at udvikle både sekventielle digitale kredsløb og computerprogrammer.

Tilstandstyper

Der er følgende typer stater:

Se også

Noter

  1. Harris, David Money; Sarah L Harris Digitalt design og computerarkitektur . - USA: Morgan Kaufmann , 2007. - S. 103. - ISBN 0123704979 . Arkiveret 6. april 2014 på Wayback Machine
  2. Kaeslin, Hubert. Digitalt integreret kredsløbsdesign : Fra VLSI-arkitektur til CMOS-fremstilling  . - Storbritannien: Cambridge University Press , 2008. - S. 735. - ISBN 0521882672 . Arkiveret 6. april 2014 på Wayback Machine
  3. Srinath, NK 8085 Mikroprocessor: Programmering og  grænseflader . — Prentice-Hall of India Pvt. Ltd, 2005. - S. 326. - ISBN 978-8120327856 . Arkiveret 11. juni 2018 på Wayback Machine . - "side 46".
  4. Laplante, Philip A. Dictionary of Computer Science, Engineering and Technology  . - USA: CRC Press , 2000. - S. 466. - ISBN 0849326915 .
  5. Misra, Jayadev. En disciplin af multiprogrammering: programmeringsteori for distribuerede  applikationer . - Springer, 2001. - S. 14. - ISBN 0387952063 . Arkiveret 5. juli 2014 på Wayback Machine
  6. Prata, Stephen Prata. C Primer Plus, 5. udg . — Pearson Education, 2004. - S. 113-114. — ISBN 0132713608 . Arkiveret 5. juli 2014 på Wayback Machine