Vous êtes sur la page 1sur 14

Mquina de estados

Se denomina mquina de estados a un modelo de comportamiento de un sistema con


entradas y salidas, en donde las salidas dependen no slo de las seales de entradas
actuales sino tambin de las anteriores.
Las mquinas de estados se definen como un conjunto de estados que sirve de
intermediario en esta relacin de entradas y salidas, haciendo que el historial de
seales de entrada determine, para cada instante, un estado para la mquina, de
forma tal que la salida depende nicamente del estado y las entradas actuales.
Una mquina de estados se denomina mquina de estados finitos (FSM por finite state
machine) si el conjunto de estados de la mquina es finito, este es el nico tipo de
mquinas de estados que podemos modelar en un computador en la actualidad;
debido a esto se suelen utilizar los trminos mquina de estados y mquina de estados
finitos de forma intercambiable. Sin embargo un ejemplo de una mquina de estados
infinitos sera un computador cuntico esto es debido a que los Qubit que utilizara
este tipo de computadores toma valores continuos, en contraposicin los bits toman
valores discretos (0 1). Otro buen ejemplo de una mquina de estados infinitos es
una Mquina universal de Turing la cual se puede definir tericamente con una "cinta"
o memoria infinita.
La representacin de una mquina de estados se realiza mediante un Diagrama de
estados, sin embargo tambin es posible utilizar un Diagrama de flujo.
Es posible clasificar las mquinas de estados en aceptoras o transductoras:
a) Aceptoras (tambin llamadas reconocedoras o discriminadoras): Son aquellas en
donde la salida es binaria (s/no), depende nicamente del estado y existe un
estado inicial. Puede decirse, entonces, que cuando la mquina produce una salida
"positiva" (es decir, un "si"), es porque ha "reconocido" o "aceptado" la secuencia
de entrada. En las mquinas de estados aceptoras, los estados con salida "positiva"
se denominan estados finales.

b) Transductoras: Son las ms generales, que convierten una secuencia de seales de


entrada en una secuencia de salida, pudiendo sta ser binaria o ms compleja,
dependiendo de la entrada actual (no slo del estado) y pudiendo tambin
prescindirse de un estado inicial.
La bibliografa a veces llama autmata finito a las aceptoras, mientras que en otros
casos se emplea autmata como sinnimo de mquina de estados sin importar su tipo.
Las aceptoras son los de mayor inters en la Teora de la Computacin, ms
precisamente en la Teora de autmatas, siendo stas ramas de la matemtica. Las
transductoras, en cambio, lo son en la electrnica digital y la computacin prctica. Es
por eso que, por lo general, en los textos sobre matemtica y ciencias de la
computacin se suele hablar de autmatas (y se refieren a las aceptoras) mientras que
los de electrnica y computacin prctica hablan de mquinas de estados (y se
refieren a los transductoras).
En UML (Lenguaje Unificado de Modelado), dice que una mquina de estado es aquel
comportamiento que permite hacer un seguimiento de la vida de un objeto en el
transcurso de un tiempo finito.
En el desarrollo de sistemas digitales combinacionales las salidas de nuestro circuito en
un momento dado dependen nicamente de los valores de las entradas en ese
momento. En un sistema secuencial adems del valor de las entradas en un instante
dado tenemos que tener en cuenta tambin el estado anterior por el que ha pasado el
sistema, por lo que ha estos circuitos se les suele llamar sistemas con memoria. Para
implementar esa memoria se suele utilizar biestables (flip-flop) memorias ROM.
Pero...
A que se le llama un autmata secuencial finito?
Una definicin podra ser la siguiente: Un autmata es una mquina secuencial
sncrona (controlada por una seal de reloj) que se puede encontrar en uno de entre
un nmero posible de estados, recibe una serie de entradas binarias y en funcin de
estas entradas y del estado particular en el que se encuentra, genera una o varias
salidas binarias determinadas. Se le llama finito por que el nmero de estados en el
que puede encontrarse el autmata tiene que quedar perfectamente determinado, de
ah que a estos sistemas se les llame tambin deterministas.

Siempre que hagamos el diseo de un circuito con autmatas secuenciales finitos


podremos diferenciar en l los siguientes elementos:
Una memoria que permite almacenar el estado actual del autmata.
Dos circuitos combinacionales, uno para calcular el estado siguiente del
autmata y el otro para hallar la salida.
Un diagrama de bloques del circuito sera el siguiente:
Bsicamente existen dos tipos de autmatas finitos: el autmata de Mealy y el
autmata de Moore.

Autmatas de Mealy
En un Autmata de Mealy, tanto la salida del autmata como su estado siguiente, en
un instante determinado, depende tanto del estado en el que se encuentra el
autmata en ese instante como de la entrada entradas binarias introducidas.
Esto implica que un autmata de Mealy, estando en un determinado estado, puede
evolucionar hacia estados siguientes distintos y producir salidas distintas si se
introduce una varias entradas binarias distintas.

Un ejemplo en el que podemos ver los diferentes elementos que componen un


diagrama de Transicin de Estados de un Autmata de Mealy sera el siguiente:

En el podemos distinguir los siguientes elementos:


Estados: que se pueden definir como las posibles situaciones a las que puede
llegar el autmata.
Transiciones: son los eventos producidos por las entradas y que producirn el
cambio de un estado a otro, en el sentido indicado por las flechas.
Un ejemplo de cmo debe leerse el diagrama para su comprensin sera el siguiente:
desde el estado Q0, con entradas 11, se pasa al estado Q1 y produce salida 0; desde el
estado Q1, con entradas 00 se pasa al estado Q0, y la salida ser igual a "1", y as para
todas las posibles transiciones.

Para que el autmata sea determinista de cada estado deben de salir 2 elevado a n
transiciones donde n es el nmero de entradas.
Como vemos en el DTE (Diagrama de Transicin de Estados), la salida depende del
estado en que nos encontremos y del valor de las entradas.

Autmatas de Moore
Son aquellos en los cuales el estado siguiente, en un instante determinado, depende
tanto del estado en el que se encuentra el autmata como de la entrada o entradas
binarias introducidas, pero la salida en ese mismo instante slo depende del estado en
el que se encuentra el autmata.
Esto implica que un autmata de Moore, estando en un determinado estado, produce
siempre la misma salida, independientemente de cul sea la entrada entradas de
datos en ese estado.

Un ejemplo de un Diagrama de Estados de un Autmata de Moore sera el siguiente:

Como vemos en el DTE la salida depende del estado en que nos encontremos pero no
del valor de la entrada o entradas de ese estado.
El diagrama debe de interpretarse de la siguiente forma: desde el estado 00 (en el cual
siempre se da salida 0) y con entrada E0=1 se pasa al estado 01 (en el que siempre
tenemos salida 0), una vez que el sistema a evolucionado a este nuevo estado y con
entrada E0=1 se pasa al estado 10 con salida 0), y as para todas las posibles
transiciones.
Al igual que el autmata de Mealy de cada estado debe salir 2 elevado a n transiciones
donde n es el nmero de entradas.
Pero qu Autmata elegir para mis diseos?
La mayora de las veces suele ser una cuestin de gustos. Algunos puntos prcticos que
diferencian a ambos autmatas son los siguientes:
En Mealy la salida es obtenida antes que en Moore.
Mealy es ms gil y nervioso que Moore, que es ms ordenado y tranquilo.
Los diseadores tienen a Mealy por peligroso, ya que tiene cierto carcter
asncrono.
Los estados en Mealy suelen o pueden ser ms abstractos que en Moore.
Mealy suele o puede tener menos estados que Moore, por tanto su
implementacin resulta ms econmica.
Suele ser ms cmodo obtener el DTE de Moore que el de Mealy, pero como
he dicho antes suele ser una cuestin de gustos. En el ejemplo prctico que
vamos hacer utilizaremos a Moore.
Tablas de excitacin de los biestables
Si utilizamos biestables como dispositivo de memoria para almacenar el estado actual
del autmata, estas tablas nos sirven para relacionar el estado actual y el estado
siguiente en que se encuentre el autmata con las entradas del biestable. En el
ejemplo prctico que vamos hacer veremos cmo utilizarlas para hacer la tabla de
verdad de nuestro autmata. Cada biestable tiene su propia tabla de excitacin, en la
figura de abajo se nuestra la tabla de excitacin para cada uno de los biestables
existentes.
1) Realizar el diagrama de estado del nmero 101

a) Realizar el diagrama de estados

1/0

S1

0/0
1/0

S0 S2
0/0

1/1

1/0
0/0 0/0
S3

b) Representar los datos de las salidas y las entradas con su estado inicial y su
estado siguiente con la tabla de excitacin del flip flop JK

A B E A` B` JA KA JB KB S
0 0 0 0 0 0 X 0 X 0
0 0 1 0 1 0 X 1 X 0
0 1 0 1 0 1 X X 1 0
0 1 1 0 1 0 X X 0 0
1 0 0 1 0 X 0 0 X 0
1 0 1 0 0 X 1 0 X 1
1 1 0 0 0 X 1 X 1 0
1 1 1 0 0 X 1 X 1 0

c) Reducir los trminos agrupando los unos mediante el mapa de karnaught

JA= KA= B + E

JB= KB= +
S=
d) Armar el siguiente circuito con una entrada y una salida representado por un
led con flanco de subida
2) Realizar el diagrama de estado del nmero 1100

a) Diagrama de estados

0/0

S1

1/0 1/0

0/0

S2 1/0
S0

0/1 0/0
S3

1/0

b) Tabla de estados

A B E A` B` JA KA JB KB S
0 0 0 0 0 0 X 0 X 0
0 0 1 0 1 0 X 1 X 0
0 1 0 0 1 0 X X 0 0
0 1 1 1 0 1 X X 1 0
1 0 0 1 1 X 0 1 X 0
1 0 1 1 0 X 0 0 X 0
1 1 0 0 0 X 1 X 1 1
1 1 1 1 1 X 0 X 0 0

c) Simplificacin con mtodo de karnaught

JA=BE KA=

JB= + = A E > OR EXCLUSIVO KB= A E

S=
d) Circuito armado
3) Realizar el diagrama de estado del nmero 0011 no reversible

a) Diagrama de estado

S1

0/0 0/0
1/0
1/1

S0 0/1 S2

0/1

1/1 1/0

S3

b) Tabla de estados

A B E A` B` JA KA JB KB S
0 0 0 0 1 0 X 1 X 0
0 0 1 0 0 0 X 0 X 0
0 1 0 1 0 1 X X 1 0
0 1 1 0 0 0 X X 1 1
1 0 0 0 0 X 1 0 X 1
1 0 1 1 1 X 0 1 X 0
1 1 0 0 0 X 1 X 1 1
1 1 1 0 0 X 1 X 1 1

c) Simplificacin con mapa de karnaught

JA= KA= B +

JB= AE + KB= 1

S= BE + A
d) Representacin del circuito
4) Realizar el diagrama de estado del nmero 01011

a) Diagrama de estado
1/0

S2

0/0 0/0 0/0


1/0

S1 S3

0/0 1/0

1/0 S0 S4
1/1

0/0
S5 /0
0/0 /0 0/0
1/0
/0 0/0
1/0
/0 /0
/0 S6

/0 S7/0

b) Tabla de estados

A B C E A` B` C` JA KA JB KB JC KC S
0 0 0 0 0 0 1 0 X 0 X 1 X 0
0 0 0 1 0 0 0 0 X 0 X 0 X 0
0 0 1 0 0 0 1 0 X 0 X X 0 0
0 0 1 1 0 1 0 0 X 1 X X 1 0
0 1 0 0 0 1 1 0 X X 0 1 X 0
0 1 0 1 0 1 0 0 X X 0 0 X 0
0 1 1 0 0 1 1 0 X X 0 X 0 0
0 1 1 1 1 0 0 1 X X 1 X 1 0
1 0 0 0 1 0 0 X 0 0 X 0 X 0
1 0 0 1 0 0 0 X 1 0 X 0 X 1
1 0 1 0 0 0 0 X 1 0 X X 1 0
1 0 1 1 0 0 0 X 1 0 X X 1 0
1 1 0 0 0 0 0 X 1 X 1 0 X 0
1 1 0 1 0 0 0 X 1 X 1 0 X 0
1 1 1 0 0 0 0 X 1 X 1 X 1 0
1 1 1 1 0 0 0 X 1 X 1 X 1 0

c) Simplificacin por el mtodo de karnaught

JA= BCE KA = B + E + C

JB= E KB= A +CE

JC= KC= A + E

S=
d) Representacin del circuito

Vous aimerez peut-être aussi