You are on page 1of 18

MQUINAS DE ESTADOS

FINITOS
Arquitectura de Computadoras I
Prof. Marcelo Tosini
2010

INTRODUCCIN
Evento discreto: ocurrencia de una caracterstica en la
evolucin de una seal
Por ejemplo.
* flanco de subida
* paso por un cierto nivel
* pulso, llegada de un dato

CONTINUO
DISCRETO

Eventos discretos

TIEMPO

ESTADO
CONTINUO

DISCRETO

Sistemas
analgicos

Sistemas
Asncronos

Sistemas
por
muestreo

Sistemas
Sncronos

INTRODUCCIN
Sistemas discretos: sistemas que cambian de estado ante la
ocurrencia de eventos discretos.
 El estado slo puede adquirir un conjunto discreto de valores
y
 Puede ser representado de forma simblica en vez de
numrica.
 Tiempo continuo (sistemas asncronos)
El estado del sistema puede cambiar en cualquier instante ante la
llegada de un evento. Ej.: accionamiento de un interruptor.

 Tiempo discreto (sistemas sncronos)


El estado del sistema slo cambia cada T seg en funcin del
estado y entradas presentes en esos instantes de tiempo.
Evento: seal de reloj.
O bien con un evento de sincronizacin -> validacin

CONCEPTO DE AUTMATA.
Autmata de MEALY
Una mquina secuencial de tipo MEALY es una 5-tupla
M=(Q,I,O,,)
con:
Q un conjunto finito de estados
I un conjunto finito de entradas
O un conjunto finito de salidas
: QxI Q funcin de transicin de estado
: QxI O funcin de salida

CONCEPTO DE AUTMATA.
Autmata de MOORE
Una mquina secuencial de tipo MOORE es una 5-tupla
M=(Q,I,O,,)
con:
Q un conjunto finito de estados
I un conjunto finito de entradas
O un conjunto finito de salidas
: QxI Q funcin de transicin de estado
: Q O funcin de salida

CONCEPTO DE AUTMATA.
Ejemplo: Sumador binario serie de 1 bit

Dos entradas binarias x1 y x2

Una salida binaria y

0 1 1 1 1

x1

+
0 1 1 0 0

x2

1 1 0 1 1

CONCEPTO DE AUTMATA.
Modelo MEALY
 Q = {q0,q1} donde
q0 estado de no acarreo
q1 estado de acarreo

 Funcin de transicin de estado:


(q0,11) = q1

(q0,00/01/10) = q0

(q1,00) = q0

(q1,10/01/11) = q1

 Funcin de salida:
(q0,00/11) = 0

(q0,01/10) = 1

(q1,00/11) = 1

(q1,01/10) = 0

CONCEPTO DE AUTMATA.
Modelo MOORE
 Q = {q00,q01,q10,q11} donde
q00 estado de no acarreo con salida y=0
q01 estado de no acarreo con salida y=1
q10 estado de acarreo con salida y=0
q11 estado de acarreo con salida y=1

 Funcin de transicin de estado:


(q00/q01 ,00) = q00

(q00/q01 ,11) = q10

(q10/q11 ,00) = q01

(q10/q11 ,11) = q11

(q00/q01 ,01/10) = q01 (q10/q11,01/10) = q10

 Funcin de salida:
(q00/q10) = 0

(q01/q11) = 1

REPRESENTACIN
Tabla de transicin
 Representacin tabular de las funciones de transicin de estado y
salida
 Ejemplo: Sumador binario serie de 1 bit
Modelo MEALY

q0
q1

00
01
11
10
q0,0 q0,1 q1,0 q0,1
q0,1 q1,0 q1,1 q1,0

>> Modelo MOORE

q00
q01
q10
q11

00
q00
q00
q01
q01

01
q01
q01
q10
q10

11
q10
q10
q11
q11

10
q01
q01
q10
q10

O
0
1
0
1

REPRESENTACIN
Diagrama de transicin
 Grafo cuyos nodos representan estados y los arcos cambios de
estado.
 Ejemplo: Sumador binario
serie de 1 bit

00/0

11/1

Modelo MEALY

11/0
01,10/1

q0

q1

01,10/0

q10 /0

10,01

11
00

11

q01 /1

00

01,10

01,10

Modelo MOORE

11

q00 /0

00

00

01,10

00/1

q11/1

11

DEFINICIONES
Equivalencia: Una mquina M es equivalente a otra M*, si para cualquier
secuencia de entrada es posible encontrar algn estado inicial tal que la
secuencia de salida sea la misma. Esta relacin es denotada por M = M*.

Compatibilidad: Una mquina M es compatible con otra M*, si para cualquier


secuencia de entrada es posible encontrar un estado inicial tal que la secuencia
de salida sea la misma, siempre y cuando sta est especificada. Esta
relacin se denota por M ~ M*.

Mquina completamente especificada: es una mquina en la cual no existe


ningn estado total para los que no est especificada la funcin de
prximo estado y/o de salida. En caso contrario, se dice que la mquina est
incompletamente especificada.

EJEMPLOS
Mquina completamente especificada
A travs de una lnea serie va
llegando bits, se desea realizar
una mquina que indique la
llegada de la secuencia
1 -> 0 -> 1.

Un sistema que permita detectar


vehculos que circulan en direccin
contraria por una autova. Dicho
sistema tendr dos entradas e1 y e2
que sern las seales de dos clulas
fotoelctricas situadas a una
distancia menor que la longitud del
vehculo y la separacin entre
vehculos.

Mquina INcompletamente especificada

REDUCCIN DE AUTOMATAS
Autmatas completamente especificados
 Una vez construido un modelo:
Es posible reducir el nmero de estados?

coste de una realizacin

manejabilidad del modelo

Estados equivalentes: Dado un autmata de estados finitos


A=(Q,I,O,,), dos estados qi, qj Q se dicen equivalentes
(qi,e) = (qj,e) e I y (qi) =(qj). (MEALY (qi,e) = (qj,e) e I)
Dos estados equivalentes son INDISTINGUIBLES
 El comportamiento del autmata a partir de cualquiera de los dos
estados es el mismo.

REDUCCIN DE AUTMATAS
Ejemplo: Reconocedor de cadenas 101
x
...111011011

Rec.(101)

...001001000

0/0

 I: x={0,1}
 O: y={0,1} donde
0

cadena
no reconocida

NADA

1/0
1/0

0/0

10

0/0

1 cadena reconocida

Estados:

1/0

0/0

NADA

nada reconocido

subcadena 1 reconocida

10

subcadena 10 reconocida

101

cadena 101 reconocida

1/1

101

REDUCCIN DE AUTMATAS
NADA
1
10
101

0
NADA
10
NADA
NADA

1
1
1
101
1

y
0
0
1
0

101 equivalente a NADA


0
NADA
10
NADA

NADA
1
10

1
1
1
NADA

0/0

y
0
0
1

1/0

NADA

1/0

0/0

10

0/0
1/1

REDUCCIN DE AUTMATAS
Autmatas incompletamente especificados
 Ejemplo: Detector de coches en sentido contrario
Especificar un sistema que permita detectar vehculos que circulan en
direccin contraria por una autova. Dicho sistema tendr dos entradas e1
y e2 que sern las seales de dos clulas fotoelctricas situadas a una
distancia menor que que la longitud del vehculo y la separacin entre
vehculos.
e2

e1

q1

q2

q3

q4

q5

q6

q7

REDUCCIN DE AUTMATAS
q1
q2
q3
q4
q5
q6
q7

00
q1
q1
q1

01
q5
q4
q4
q5
-

11
q3
q3
q6
q6
-

10
q2
q2
q7
q7

S
1
1
1
1
0
0
0

Estados compatibles: Dado un autmata de estados


finitos A=(Q,I,O,,) incompletamente especificado, se dice
que dos estados qi, qj Q son compatibles (qi ~ qj)
(1)

e I tal que (qi,e) y (qj,e) estn


especificadas (qi,e) = (qj,e)
(qi,e) ~ (qj,e)

Estados compatibles: Dos


estados internos Si y Sj se
denominan compatibles,
si para cualquier secuencia
de entrada, tomando ambos
estados como iniciales, las
dos secuencias de salida
correspondientes resultan
idnticas siempre que ambos
estados de salida estn
completamente especificados
Esta relacin es denotada
por Si ~ Sj. En caso
contrario, los estados se
denominan
incompatibles.

(2) (qi) = (qj) si ambas estn


especificadas

REDUCCIN DE AUTMATAS
q1
q2
q3
q4
q5
q6
q7

00
q1
q1
q1

01
q5
q4
q4
q5
-

11
q3
q3
q6
q6
-

10
q2
q2
q7
q7

S
1
1
1
1
0
0
0

Compatibles

Incompatibles

q1
Cuando los estados son incompatibles, ya que existe
combinaciones de entrada para las que el valor de las
seales de salida es diferente, se identifica con un
blanco ( ).

q2
q3
q4

Cuando los estados son compatibles, ya que para todas


las combinaciones de entrada tanto el valor de las
salidas como los prximos estados son iguales, se
identifica con una equis (X).
Cuando no se cumple ninguna de las condiciones
anteriores, es decir, todas las combinaciones de entrada
tienen el mismo valor de salida pero diferentes prximos
estados, se identifica con la pareja de los prximos
estados, ya que estos nos determinarn si realmente
existe compatibilidad o no.

q5
q6
q7

REDUCCIN DE AUTMATAS
q1

C1 C2
q1 x
q2 x x
q3
x
q4
x
q5
q6
q7

q2
q3
q4
q5
q6
q7

6
5
4
3
2
1

C3

x
x
x

(q6 q7)
(q6 q7) (q5 q6) (q5 q7) (q5 q6 q7)
(q5 q6 q7)
(q5 q6 q7) (q3 q4)
(q5 q6 q7) (q3 q4) (q2 q4) (q2 q3) (q5 q6 q7) (q2 q3 q4)
(q5 q6 q7) (q2 q3 q4) (q1 q2)

REDUCCIN DE AUTMATAS
 q1 C1 (sistema en reposo)
 q2,q3,q4 C2 (coche en sentido permitido)
 q5,q6,q7 C3 (coche en sentido contrario)

C1
C2
C3

00
C1
C1
C1

01
C3
C2
C3

11
C2
C3

10
C2
C2
C3

01,11,10

C3/0

S
1
1
0

00,11
00
01

C1/1

01,11,10
10
00

C2/1

Conversin entre Mealy y Moore


Equivalencias entre mquinas de estados
Dos mquinas de estados A y B son funcionalmente equivalentes si y
slo si, para cualquier entrada, ellas realizan el mismo clculo.
Dos mquinas de estados A y B son semnticamente equivalentes si y
slo si ellas son funcionalmente equivalentes y usan el mismo conjunto
de entradas (I) y de salidas (O).
Dos mquinas de estados A y B son equivalentes paso a paso
(pathwise) si y slo si son semnticamente equivalentes y si y slo si,
para cualquier entrada (e), ellos ejecutan una idntica secuencia de
salidas y de cambios de estado.

Conversin entre Mealy y Moore


El mtodo clsico para obtener un autmata de Moore similar a un autmata
de Mealy dado, se basa en la bsqueda de un autmata equivalente paso a
paso.
RECORDAR: En Moore las salidas no pueden depender de las entradas
Sean ei I ; i O y Qi Q

Mealy

Q0

e1/1

Q1

La salida se traslada del arco


en que est (en Mealy) al estado
siguiente

Moore

Q0/0

e1

Q1/1

Conversin entre Mealy y Moore


Otros casos de transformacin
Mealy
e1/1

Moore
Q1

Q0

Q1/1

e2

Q2/2

Q0/0
e2/2

Q1

e1

Q2

e1/1

e1/1

Q1
Q3

Q2

Q3/?

e2/2

e2/2

Q2

Como queda el nuevo estado Q3


Q3/ 1 Q3/2 ???

Conversin entre Mealy y Moore


Otros casos de transformacin
Mealy
Q1

e1/1
Q3

Q4
e3/3

Q2

e2/2

Moore
Q1/0

e1

Q31/1

e3
Q4/3

Q2/0

e2

Q32/2

e3

Cualquier estado con fuentes mltiples


se replica en estados equivalentes

Conversin entre Mealy y Moore

a
n
i
u
q

m
a ??
n
u y?
e
t al
r
ie Me
v
n n
o
c ee
e
s or
o o
m
M
o

Unidades de control y de clculo


Las mquinas de estado pueden usarse para modelar la parte de control
y la parte de clculo de cualquier sistema.
El modelado de la parte de clculo implica la descripcin del proceso de
clculo de los distintos operadores utilizados (operaciones aritmticas y
lgicas: sumas, productos, desplazamientos, comparadores, etc).
Usualmente la descripcin de los operadores de clculo NO se realiza
como mquina de estado pues la representacin de todos los estados de
datos puede ser costosa
0/S0=0

1/S1=0

Ejemplo: Contador de 3 bits


CLK

CLK.S0

CLK

CLK.S0

0/S0=1

1/S1=1

Sum. 3 bits

CLK

Reg. 3 bits
0/0

CLK

1/1

CLK

2/2

CLK

CLK
7/7

3/3
CLK

CLK

6/6

CLK

5/5

CLK

2/S2=0

4/4

CLK.S1

CLK.S1
2/S2=1

La unidad de control (UC)


La unidad de control modela el algoritmo que controla el sistema que se
est implementando.
Sus salidas son las seales que controlan las operaciones de clculo del
sistema (operadores aritmticos, lgicos, operaciones en registros, etc.)
Pueden ser modeladas como autmatas de Mealy o Moore
indistintamente.
Cont:=0;
R:=X

Ejemplo: una mquina que realice el


cociente de dos nmeros X e Y de 8
bits con X < Y.

Cont = 8?

FIN

R:=R*2
Cont:=Cont+1

1
R < Y?

Sin:=1;
S:=S << 1;
R:=R - Y

Sin:=0;
S:=S << 1;

La unidad de control (UC)


Prueba del algoritmo

Sea

X=3 e Y=4

Cont

Sin

----

0011

0100

----

----

----

000

0011

0100

0011

----

0000

sigma

0
Cont<>4

001

0110

1
R>=Y

0010

0001

entonces

3
Cont<>4

010

0100

S = X / Y = 3 / 4 = 0,75

R>=Y
0000

0011

3
Cont<>4

011

0000

1
R<Y
0

0110

2
Cont<>4

100

0000

1
R<Y
0

1100

2
Cont=4

X/Y =

3/4 =

0011 /

0100

1100

= 0,1100

= 0,75

La unidad de control (UC)


Modelo Mealy
Z2/2
t/0

q1

q0

Z1/-

Z1/1

q2

Z2/3

qf

q2/2
Z2

Z1

con:

Z2

Z1 = 1 si Cont = 8
= 0 en otro caso

q10/0

Z2 = 1 si R < Y
= 0 en otro caso

q13/3

q12/2

Z1

Z1

Z1

qf/-

Modelo Moore

Implementacin de mquinas de estado


Mediantelgica
lgicade
decompuertas
compuertas
Mediante
Mediantearreglos
arregloshomogneos
homogneosde
decompuertas
compuertas(PLAs)
(PLAs)
Mediante
MedianteROM+Mux
ROM+Mux
Mediante
4 estados (q0..q3) se
direccionan con
2 bits y1,y0

y1

y0

= q0

y1

y0

= q1

y1

y0

= q2

y1

y0

= q3

Determinacin de las ecuaciones de salida


j = mi . Qi = N(m,Q)
Qi j
0
1
2
3

= 1 . y1
= z1 . y1
= z2 . y1
= z2 . y1

.
.
.
.

y0
y0
y0
y0

Implementacin de mquinas de estado


Mediantelgica
lgicade
decompuertas
compuertas
Mediante
Mediantearreglos
arregloshomogneos
homogneosde
decompuertas
compuertas(PLAs)
(PLAs)
Mediante
MedianteROM+Mux
ROM+Mux
Mediante
Determinacin de las ecuaciones de salida
y1y0/ z1z2 00 01 10 11
0
0
1
1

0
1
0
1

01
10
01
11

01
10
01
11

01
11
01
11

y1+y0+ = Qj+

01
11
01
11

Q0
Q1
Q2
Q3

y1+ = yo
y0+ = z1 + y1 y0 + y1

Implementacin de mquinas de estado


Mediantelgica
lgicade
decompuertas
compuertas
Mediante
Mediantearreglos
arregloshomogneos
homogneosde
decompuertas
compuertas(PLAs)
(PLAs)
Mediante
MedianteROM+Mux
ROM+Mux
Mediante
1
z1

y0+

y1

y0

y1+

2
z2

Reg.

Reg.

Implementacin de mquinas de estado


Mediantelgica
lgicade
decompuertas
compuertas
Mediante
Mediantearreglos
arregloshomogneos
homogneosde
decompuertas
compuertas(PLAs)
(PLAs)
Mediante
MedianteROM+Mux
ROM+Mux
Mediante
Se utilizan las mismas ecuaciones del caso anterior
00

00

01

10

z1 . y1 . y0

00

00

10

01

z2 . y1 . y0

00

01

00

00

z2 . y1 . y0

00

00

10

00

y1

00

00

01

01

y1 . y0

10

00

00

00

z1

00

00

00

10

y0

z1

z2

y1

y0

1
1

1
y0+

y1+

Reg.
Reg.

Implementacin de mquinas de estado


Mediantelgica
lgicade
decompuertas
compuertas
Mediante
Mediantearreglos
arregloshomogneos
homogneosde
decompuertas
compuertas(PLAs)
(PLAs)
Mediante
MedianteROM+Mux
ROM+Mux
Mediante
Se puede representar la maquina de estados como una secuencia de operaciones de la forma:
Qi

Zi

Qm

Zi

Qn

con
Qi
Qm, Qn
Zi
i, j

: estado actual
: estados siguientes
: i-esima entrada al autmata
: salidas

con la siguiente dinmica:


1) si Zi = 1 entonces se realiza la accin i y se salta al estado Qm
2) si Zi = 0 entonces se realiza la accin j y se salta al estado Qn

Implementacin de mquinas de estado


Mediantelgica
lgicade
decompuertas
compuertas
Mediante
Mediantearreglos
arregloshomogneos
homogneosde
decompuertas
compuertas(PLAs)
(PLAs)
Mediante
MedianteROM+Mux
ROM+Mux
Mediante
Bajo esta definicin el algoritmo de divisin se puede escribir como sigue:

q0

q1

q1

z1
z1

q2
q3

q2

z2
z2

3
2

q1
q1

q3

q3

con

De este modo se puede almacenar cada estado en


una celda de una memoria ROM con los campos
necesarios para almacenar los parmetros:
i : accin si se cumple Zi
j : accin si NO se cumple Zi
qm : estado destino si se cumple Zi
qn : estado destino si NO se cumple Zi
Ci : indicador de que en este estado se
debe evaluar la entrada Zi

t = true
= no accin

Implementacin de mquinas de estado


Mediantelgica
lgicade
decompuertas
compuertas
Mediante
Mediantearreglos
arregloshomogneos
homogneosde
decompuertas
compuertas(PLAs)
(PLAs)
Mediante
MedianteROM+Mux
ROM+Mux
Mediante

Zs

dir

dir

11

--

01

--

0001

01

10

11

0010

0000

10

01

01

1000

0100

11

--

11

--

0000

lgica
comb.

Reg.

codificaciones utilizadas:

salida

C:

01
10
11

z1
z2
t

0001
0010
0100
1000
0000

0
1
2
3

--

no importa