• No se han encontrado resultados

Máquinas de estados finitos

N/A
N/A
Protected

Academic year: 2021

Share "Máquinas de estados finitos"

Copied!
18
0
0

Texto completo

(1)

Máquinas de estados finitos

Martín Vázquez

Maquinas de estados vistas en el curso

 Los circuitos con memoria (secuenciales) implementan máquinas de estados

 Observemos algunos FF estudiados en el curso. Ecuaciones de próximo estado

 D: Q+ = D

 SR: Q+ = S + R´Q

 JK: Q+= JQ´ + K´Q

 T: Q+ = T ⊕ Q

(2)

Máquina de Estados Finitos 3

Máquinas de estados conocidas

 Los cambios de estados se producen en el evento del clock.

 Donde Q = Q+, cuando clk↑(flanco ascendente) o clk↓

(flanco descendente)

 Tablas y grafos de estados. Para FF D

1 1 0

1

0 1 0

0

1 X = 0

Output Q+

Q

Máquinas de estados conocidas

 Para FF JK

1 0 1 0 1 1

0 1 1 0 0 0

11 10 01 JK = 00

Output Q+

Q

Tabla de estados

Diagrama de estados

(3)

Máquina de Estados Finitos 5

Concepto de autómata

 Autómata de Moore

Una máquina secuencial 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 δ: QxIQ función de transición de estado λ:Q O función de salida

Concepto de autómata

 Autómata de Mealy

Una máquina 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 δ: QxIQ función de transición de estado β: QxIO función de salida

(4)

Máquina de Estados Finitos 7

Concepto de autómata

¿Que máquinas de estados implementan los flip-flops D y JK?

Diagrama de estados de FF D Diagrama de estados de FF JK

Implementan una máquina de Moore Lo mismo sucede con FFs T y SR

Implementación de máquinas de estados (modelo general)

 Moore

Dk

. . . D1

D0 Q0

Q1

Qk

Circuito Combinacional

(prox. estado) Q0+

Q1 +

Qk +

. . . .

. . . . .

. . . x0

x1

xm z0

z1

zn

. . .

Circuito Combinacional

(salidas)

(5)

Máquina de Estados Finitos 9

Implementación de máquinas de estados (modelo general)

 Mealy

Dk

. . . D1

D0 Q0

Q1

Qk

Circuito Combinacional

Q0+

Q1+

Qk+

. . . .

. . . . .

. . . x0

x1

xm

z0

z1

zn

Más ejemplos de máquinas de estados conocidos

 Contador sincrónico basado en FF D. Máquina de Moore

(6)

Máquina de Estados Finitos 11

Ejemplos de diferentes modelos de ALU básica

Máquina de Mealy Máquina de Moore

Acca AccAcc + b Output Acc

Acca OutputAcc + b

Sumador binario serie

 1 Full Adder de 1 bit

 3 registros de desplazamiento de N bits: para x1, x2 e y.

 En cada ciclo i

 se realiza yi= x1i+ x2i

 se debe considerar el carry generado en ciclo anterior

y x1

x2

1

1 1

1 1

0 1

0 1

0 1

0 1 0

+ 1

(7)

Máquina de Estados Finitos 13

Sumador binario serie

 Modelo Mealy

 estados asociados al acarreo de instancia anterior

q0 q1

00/0 11/1

11/0 00/1

01,10/0 01,10/1

Tabla de estados

Diagrama de estados

1 0 0 1 q1

q1

q1

q0

q1

0 1 1 0 q1 q0 q0 q0 q0

11 10 01 00 11 10 01 x1 x2= 00

Output Q+

Q

Sumador binario serie

 Circuito que implementa el modelo de Mealy

yi= x1ix2iq Full Adder

q+= x1ix2i + x1iq + x2iq (acarreo)

(8)

Máquina de Estados Finitos 15

Sumador binario serie

 Modelo Moore

 estados asociados al acarreo de instancia anterior y resultado

00 11 10,01

00 01,10 11

00 11

01,10

00 11

01,10

q00/0 q10/0

q11/1 q01/1

Tabla de estados Diagrama de estados

1 q11 q10 q10 q01 q11

0 q11 q10 q10 q01 q10

1 q10 q01 q01 q00 q01

0 q10

q01

q01

q00

q00

11 10 01 x1 x2 = 00

Output Q+

Q

Sumador binario serie

 Circuito que implementa el modelo de Moore

q0+= x1ix2i + x1iq0+ x2iq0 (acarreo) q1+= x1ix2i q1 Full Adder

(9)

Máquina de Estados Finitos 17

Máquinas de Mealy vs. Moore

 Las máquinas de Moore producen salidas estables

 En las máquinas de Mealy, las salidas pueden que sean inestables. Las salidas dependen también de las entradas

 Para toda máquina de Mealy se puede encontrar una máquina Moore equivalente

 La cantidad de estados que poseen las máquinas de Moore, con frecuencia es superior a la cantidad de estados presente en máquinas de Mealy. Considerando máquinas equivalentes

 Dos sistemas secuenciales son equivalentes, si generan la misma secuencia de salida para la misma secuencia de estrada

Mealy Moore

 Sea xiI ; σi O y Qi Q

Q0 x11 Q1

Q0/0 x1 Q11

Mealy

Moore

La salida se traslada del arco en que está (en Mealy) al estado siguiente

(10)

Máquina de Estados Finitos 19

Mealy Moore

¿Como queda el nuevo Q3? Q3/σ

1ó Q3/σ

2

Q0

Q1 x11

Mealy Moore

Q2 x22

Q0/0

Q11 x1

Q22 x2

Q3 Q1 x11

Q2 x22

Q3/?

Q1 x11

Q2 x22

Mealy Moore

Mealy

Moore

Cualquier estado con fuentes múltiples Q3

Q1 x11

Q2 x22

Q311 Q1/0 x1

Q2/0

x2 Q322 Q4 x33

Q43 x3

x3

(11)

Máquina de Estados Finitos 21

Implementación de algoritmos

 La implementación de un algoritmo en un sistema digital se realiza mediante dos máquinas de estados

 Unidad de Control

 Unidad de Procesamiento o Operacional

 Concepto introducido por Glushkov en1965: “Automaton theory and formal microprogram transformation”, Kibernetica I, p.1-9

 Sistema microprogramado.

 Máquina de control con algoritmo. Ejecuta µ-programa.

 Máquina operacional o de procesamiento. Realiza las operaciones u órdenes indicadas por la máquina de control

Modelo de Glushkov

 Modelo de Glushkov de un sistema µ-programado

 Los máquinas de estados pueden ser: Moore-Mealy, Mealy- Moore o Moore-Moore. Pero NO Mealy-Mealy ¿Porque?

(12)

Máquina de Estados Finitos 23

Microinstrucciones

 Definimos µ-instrucciones con la siguiente forma:

 Tipo IF: Ni σ

1Nj z σ

2 Nk

 Tipo EXE y/o GOTO: Ni tσ

1Nj

 Donde

 los z’s son predicados elementales que provienen de la Unidad de Procesamiento

 los σ’s son µ-órdenes

 t (true) significa siempre verdadero

 Problema: Obtener la cantidad de ocurrencias de la secuencia y (3 bits) en la cadena x (16 bits), mediante un sistema microprogramado

 Para la secuencias

 Se obtiene el resultado r = 4

 Nótese que r está en el [0, 14]

x = 1001010101101001 e y = 101

Ejemplo: Sistema microprogramado de identificación de subsecuencias

(13)

Máquina de Estados Finitos 25

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Implementación del sistema digital microprogramado:

 Definir el algoritmo

 Identificar los recursos involucrados en Unidad de Procesamiento,

 Identificar µ-órdenes (σ‘s) y predicados elementales (z’s)

 Construir autómata de control

 Construir µ–programa de control

 codificación de estados y µ-órdenes

 obtener funciones de salida (σ) y de próximo estado (Q+)

 Sintetizar la unidad de control

 PLA, AOI, ROM-MUX, etc

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Algoritmo

z0

z1 σ0

σ1 σ

2

(14)

Máquina de Estados Finitos 27

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 La Unidad de procesamiento posee tres registros: Rx (16 bits), Ry (3 bits), count (4 bits) y result de 4 bits.

 Predicados elementales generados por la Unidad de Proceso

 z0=1 si count<14, sino z0=0

 z1=1 si Rx[15:13] = Ry, sino z1=0

 µ-órdenes generados por la Unidad de Control

 σ0: Rx = x, Ry = y, count = 0 y result = 0

 σ1: count = count+1 y Rx = Rx[14:0] & ‘0’

 σ2: count = count+1, Rx = Rx[14:0] & ‘0’ y result = result+1

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Unidad de Procesamiento u Operacional. Máquina de Moore

(15)

Máquina de Estados Finitos 29

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Construcción de autómata de control

z0

z1 σ0

σ1 σ

2

N0

N1

N2 N3

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Construcción de µ-programa de control

 Codificación de µ-órdenes y estados

 λ= (000), σ0= (001), σ1= (010), σ2= (100)

 Ni= (q1q0); N0 = (00), N1 = (01), N2 = (10), N3 = (11)

 µ-programa de control asociado al autómata

N3 t λ

N3

N1 σ2

z1

N1 σ1 z1´ N2

N2 z0 λ

N3 z0´ λ N1

N1 σ0

t N0

(16)

Máquina de Estados Finitos 31

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Obtención de funciones de salida (σ) y de próximo estado (q1+ q0+)

 σ0= q1´q0´; σ1= q1q0´z1´ y σ2= q1q0´z1

 Para Ni+= (q1+ q0+)

01 11 11 01

01 11 10 01

01 11 10 01

01 11 11 01

q0

q1

z1 z0

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Para Ni+= (q1+ q0+)

0 1 1 0

0 1 1 0

0 1 1 0

0 1 1 0

q0

q1

z1 z0

01 11 11 01

01 11 10 01

01 11 10 01

01 11 11 01

q0

q1

z1

1 1 1 1

1 1 0 1

1 1 0 1

1 1 1 1

q0

q1

z1 z0

z0

q1+ q0+

+ q+= q+ q´+ z´

(17)

Máquina de Estados Finitos 33

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Síntesis de Unidad de Control mediante compuertas básicas

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Síntesis de Unidad de Control mediante PLA

0 0 0 1 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 1 0

1 0

01 00 00 00

1 0

00 00 01 00

1 0

00 00 00 10

0 0

00 00 10 00

0 0

00 10 01 10

0 0

00 01 01 10

0 1

00 00 01 01

q1 q0 z1 z0 σ0 σ1 σ2 q1+q0+

AND OR

(18)

Máquina de Estados Finitos 35

Ejemplo: Sistema microprogramado de identificación de subsecuencias

 Síntesis de Unidad de Control mediante ROM y MUX (genérico)

Condiciones Salida

1 Salida

0 Dirección

1 Dirección

0

Indentificador de entradas

0 1 0 1

Entradas Z 0 1 0 1

D D

Salidas σ

. . . . . .

log2m p p n n

. . .

...

... ... ...

Microprogramación en procesadores

 Un procesador es un sistema µ-programado (o nanoprogramado, o…)

 En un procesador multiciclo

 cada instrucción de su repertorio es interpretada por un µ-programa

 la ejecución de cada instrucción involucra varios ciclos del procesador

 cada µ-instrucción puede ser interpretada por un nanoprograma, y asi…

 a modo de ejemplo, la instrucción add r3,r1,r2(r3= r1+r2) consume 3 ciclos de reloj. Ejecuta 3 microinstrucciones

 obtener instrucción desde memoria de programa (FETCH)

 obtener r1y r2desde el banco de registros y ejecutar suma en ALU

 almacenar r3el resultado en del banco de registros

Referencias

Documento similar

20 847 funcionarios (al 1 de febrero de 2010): oficiales elegidos, puestos de plantilla y puestos de asistencia temporaria general. 21 Anexo I – Organigramas de las oficinas sobre

Eliminación de resultados por operaciones realizadas entre empresas multigrupo y empresas del

Cuerpo con contactos, entrada de cable para Pg 13, fijo, 2 accionamientos Pulsador con roldana. reforzada

Este modelo consiste en una cadena de Markov con un único estado de error y en la cual las transiciones entre estados libres de error están prohibidas.... Esto significa que

• La operación de equilibrado consiste en cambiar la distribución de masa del rotor para reducir las fuerzas centrífugas?. desequilibrantes, y, con ellas, las fuerzas de reacción

Teniendo en cuenta las temperaturas de fusión y ebullición de cada una de las sustancias, a 20ºC el etanol y el mercurio estarían en estado líquido, ya que esta temperatura

(Papalia y Wendkos‐Olds, 1996) Secuencia  de  imágenes,  emociones y  pensamientos que  pasan  a  través  de  la  mente  dormida  de  una  persona.  Los  sueños 

a) El valor de Activos medidos por su valor Costo en el Estado de Situación Financiera de Apertura (ESFA), para los periodos de los años 2019 y 2020, se considera como costo