Estado (informática)

En informática y teoría de autómatas , el estado de un circuito lógico digital o programa informático es un término técnico para toda la información almacenada a la que el circuito o programa tiene acceso actualmente [1] . La salida de un circuito digital o programa de computadora en un momento dado está completamente determinada por su entrada actual y su estado.

Estado del circuito lógico digital

Los circuitos lógicos digitales se pueden dividir en dos tipos: lógica combinacional , cuyas señales de salida dependen solo de las señales de entrada, y lógica secuencial (en serie) , cuyos datos de salida son una función de los datos actuales y de entrada recibidos en la entrada en el pasado [2 ] .

En lógica secuencial, la información recibida anteriormente en las entradas se almacena en la memoria de elementos electrónicos, como disparadores , celdas de memoria. Los contenidos almacenados de estos elementos de memoria, en un momento dado, denominados colectivamente como el "estado" del circuito, contienen toda la información sobre el pasado a la que tiene acceso el dispositivo [3] .

Por ejemplo, el estado actual de un microprocesador (chip de computadora) está determinado por el contenido de todos sus elementos de memoria: acumuladores , registros de almacenamiento , cachés de datos y banderas .

Cuando pone su computadora en modo de "hibernación" o "reposo" para ahorrar energía apagando el procesador, la memoria y otros dispositivos, el estado del procesador y la RAM se escribe en la memoria externa no volátil, generalmente en el disco de la computadora. , cuando la computadora se enciende desde el modo de hibernación, los contenidos de la memoria RAM y los registros del procesador se restauran y la ejecución del programa interrumpido por la hibernación puede continuar correctamente.

De manera similar, el estado del procesador se guarda cuando se procesan interrupciones de programas externos por eventos externos que pueden ocurrir en momentos inesperados. Para que el programa actual interrumpido reanude correctamente su trabajo después de completar el procesamiento de la interrupción, es necesario guardar el estado de los registros y la memoria que utiliza el controlador de interrupciones. Antes de transferir el control al programa interrumpido, el manejador de interrupciones restaura el estado del procesador y los registros de memoria y transfiere el control al programa interrumpido. Guardar y restaurar el estado lo realiza el controlador de interrupción externo.

Dado que cada elemento de memoria binaria, como un flip-flop o un bit de registro, tiene solo dos estados posibles, "uno lógico" o "cero lógico", y hay un número finito de tales elementos de memoria binaria, cualquier circuito digital tiene un número finito. número de estados posibles. Si el número de elementos de memoria binaria en el circuito es N , entonces el número máximo posible de estados será 2 N.

Estado del programa

Los programas de computadora almacenan datos en variables , que son áreas de almacenamiento de datos en la memoria de la computadora, el contenido de estas áreas de memoria en cualquier momento durante la ejecución del programa se denomina estado del programa [4] [5] [6] .

La programación imperativa  es un paradigma de programación (una forma de diseñar un lenguaje de programación ) que describe en términos de estados y declaraciones que cambian el estado de un programa. En los lenguajes de programación declarativos , por el contrario, el programa describe el resultado deseado sin especificar directamente los cambios de estado. Se utiliza una definición más especializada de estado en algunos programas informáticos que operan en serie en flujos de datos, como analizadores , cortafuegos , protocolos de transferencia de datos y programas de cifrado . Los programas en serie procesan los datos, caracteres o paquetes entrantes de forma secuencial, uno a la vez. En algunos de estos programas, la información sobre los caracteres o paquetes de datos recibidos previamente se almacena en variables y se utiliza para influir en el procesamiento del carácter o paquete actual. Esto se denomina "protocolo de estado", y los datos transferidos del ciclo de procesamiento anterior se denominan "estado". En otros casos, el programa no tiene información sobre el flujo de datos anterior y comienza "limpio" con cada entrada; esto se llama un "protocolo sin estado".

Autómatas finitos

La salida de un circuito en serie o programa de computadora en un momento dado está completamente determinada por los datos de entrada actuales y el estado actual. Dado que cada elemento de memoria binaria tiene solo dos estados posibles, 0 o 1, se supone que el número total de estados de la red es finito y fijo por el número de elementos de memoria. Si el número de elementos de memoria binaria en el circuito es N , entonces el número máximo posible de estados será 2 N. El concepto de estado, enmarcado en un modelo matemático abstracto de computación , se denomina máquina de estados finitos , utilizada para desarrollar tanto circuitos digitales secuenciales como programas informáticos.

Tipos de estado

Existen los siguientes tipos de estados:

Véase también

Notas

  1. Harris, David Dinero; sarah l harris Diseño Digital y Arquitectura de Computadores . - EE.UU.: Morgan Kaufmann , 2007. - Pág. 103. - ISBN 0123704979 . Archivado el 6 de abril de 2014 en Wayback Machine .
  2. Kaeslin, Huberto. Diseño de circuitos integrados digitales : de las arquitecturas VLSI a la fabricación de CMOS  . - Reino Unido: Cambridge University Press , 2008. - P. 735. - ISBN 0521882672 . Archivado el 6 de abril de 2014 en Wayback Machine .
  3. Srinath, Microprocesador NK 8085: programación e  interfaz . — Prentice-Hall of India Pvt. Ltd, 2005. - Pág. 326. - ISBN 978-8120327856 . Archivado el 11 de junio de 2018 en Wayback Machine . - "página 46".
  4. Laplante, Philip A. Diccionario de Informática, Ingeniería y Tecnología  . - EE.UU.: CRC Press , 2000. - P. 466. - ISBN 0849326915 .
  5. Misra, Jayadev. Una disciplina de multiprogramación: teoría de programación para  aplicaciones distribuidas . - Springer, 2001. - Pág. 14. - ISBN 0387952063 . Archivado el 5 de julio de 2014 en Wayback Machine .
  6. Prata, Stephen Prata. C Primer Plus, 5.ª edición . — Educación de Pearson, 2004. - S. 113-114. — ISBN 0132713608 . Archivado el 5 de julio de 2014 en Wayback Machine .