MÁQUINAS DE ESTADOS FINITOS

Documentos relacionados
Introducción a los Sistemas Secuenciales. Problemas estructurales en un circuito secuencial asíncrono

Autómatas Deterministas. Ivan Olmos Pineda

TEMA I: INTRODUCCIÓN A LOS CIRCUITOS SECUENCIALES

Departamento de Tecnología Electrónica Universidad de Sevilla. Circuitos Electrónicos Digitales. Análisis y diseño de circuitos secuenciales

Circuitos Secuenciales: concepto de estado

Sistemas Combinacionales y Sistemas Secuenciales

Lógica Secuencial. Circuitos Digitales, 2º de Ingeniero de Telecomunicación ETSIT ULPGC

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Organización y Estructura del Computador II Semestre I-2014.

EIE SISTEMAS DIGITALES Tema 8: Circuitos Secuenciales (Síntesis) Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas

9-Sistemas Secuenciales

TEMA 1 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

Análisis y síntesis de circuitos con elementos de memoria. Proceso de Análisis y síntesis de circuitos con elementos de memoria

Temario TEMARIO. Sist. Electrónicos Digitales 1

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Introducción Flip-Flops Ejercicios Resumen. Lógica Digital. Circuitos Secuenciales - Parte I. Francisco García Eijó

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

INDICE. XVII 0 Introducción 0.1. Historia de la computación

Electrónica. Tema 6 Circuitos Secuenciales. Tema 1 Fundamentos de semiconductores

DISEÑO DE CIRCUITOS SECUENCIALES

Fundamentos de Programación Visual Basic

Electrónica Digital. Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

Autómatas Finitos Deterministicos (DFA)

Dispositivos Digitales. EL-611 Complemento de Diseño Lógico y. Dispositivos Digitales

Síntesis de circuitos secuenciales síncronos: Máquinas de estados finitos

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

Fundamentos de programación JAVA

NOT. Ejemplo: Circuito C1

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008

SISTEMAS DIGITALES MÉTODOS DE DISEÑO LDD eman ta zabal zazu

Práctica 7. Control de una Máquina Expendedora Mediante Máquinas de Estado Finito (FSM)

5.2. Sistemas de codificación en binario

Modelos Computacionales

TEMA 8. REGISTROS Y CONTADORES.

11. ANALISIS DE MAQUINAS SECUENCIALES SINCRONICAS. Red Combinacional

Computabilidad y Lenguajes Formales: Autómatas Finitos

4. Síntesis de un circuito secuencial síncrono

Representación de datos y aritmética básica en sistemas digitales

Bloques Aritméticos - Multiplicadores

sistemas secuenciales

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

GUIAS ÚNICAS DE LABORATORIO DIAGRAMA DE ESTADOS AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS

Álgebra de Boole. Valparaíso, 1 er Semestre Prof. Rodrigo Araya E.

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS

Generación de Variables Aleatorias. UCR ECCI CI-1453 Investigación de Operaciones Prof. M.Sc. Kryscia Daviana Ramírez Benavides

Introducción a los Sistemas Digitales. Tema 1

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

PRINCIPIOS DE SISTEMAS DE CONTROL

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

M C BR M C 3 BL Z. Complementos formativos de Automatización (Másteres-EUITI 2011)

Operación de circuitos lógicos combinatorios.

Representación de la Información.... en los Computadores

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

S i s t e m a s A n a l ó g i c o s y D i g i t a l e s

Aritmética de Enteros

TEMA III: OPERACIONES CON LOS DATOS

2. SEÑALES Y SISTEMAS DISCRETOS EN EL TIEMPO. Una señal puede ser definida como una portadora física de información. Por ejemplo,

Métodos, Algoritmos y Herramientas

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Resumen de CONVERSORES ANALÓGICO DIGITALES Y DIGITALES ANALÓGICOS

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

+ Máquinas de Estado Finitas

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria


MONOGRAFÍA CIENTÍFICA

CIRCUITOS SECUENCIALES. Tema 6: ANÁLISIS Y DISEÑO DE CIRCUITOS SECUENCIALES SÍNCRONOS

Tema IV. Unidad aritmético lógica

CONTENIDO Capitulo 2. DE CONMUTACION

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

Programación en java. Estructuras algorítmicas

RECUERDA QUE TIENES UNA HORA PARA 30 REACTIVOS Esperamos que te resulte útil.

PROGRAMA DE CURSO Modelo 2009

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

TEMA 11. CIRCUITOS ARITMÉTICOS TICOS DIGITALES

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

Diseño de una calculadora

Análisis y Síntesis. Introducción a los Sistemas Lógicos y Digitales 2008

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

5. PLL Y SINTETIZADORES

Tema 7. Análisis de Circuitos Secuenciales

SELECCIÓN DE PROBLEMAS

Sistemas Digitales. Diseño lógico con Verilog. Sinopsis. Prólogo.

PRÁCTICA 4. CONTADORES

CURSO: ELECTRÓNICA DIGITAL UNIDAD 2: SISTEMAS COMBINATORIOS - TEORÍA PROFESOR: JORGE ANTONIO POLANÍA 1. CIRCUITOS ARITMÉTICOS

Electrónica Digital II. M. C. Felipe Santiago Espinosa

CAPÍTULO II SISTEMAS NUMÉRICOS. Este método de representar los números se llama sistema de numeración decimal, donde 10 es la base del sistema.

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

Práctica 5. Generadores de Señales de Reloj y Flip-flops

Práctica I.- Introducción a los Sistemas Secuenciales

2. Representación de números 1

Introducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:

CONTADORES Y REGISTROS

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

Tipos de sistemas digitales: Sistemas combinacionales: las variables de salida dependen en todo instante de los valores de las variables de entrada.

Tema 3. 2 Sistemas Combinacionales

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Transcripción:

MÁQUINAS DE ESTADOS FINITOS Arquitectura de Computadoras I Prof. Marcelo Tosini 2 INTRODUCCIÓN Evento discreto: ocurrencia de una característica en la evolución de una señal Por ejemplo. * flanco de subida * paso por un cierto nivel * pulso, llegada de un dato CONTINUO ESTADO DISCRETO Eventos discretos TIEMPO CONTINUO DISCRETO Sistemas analógicos Sistemas por muestreo Sistemas Asíncronos Sistemas Síncronos

INTRODUCCIÓN Sistemas discretos: sistemas que cambian de estado ante la ocurrencia de eventos discretos. El estado sólo puede adquirir un conjunto discreto de valores y Puede ser representado de forma simbólica en vez de numérica. Tiempo continuo (sistemas asíncronos)» El estado del sistema puede cambiar en cualquier instante ante la llegada de un evento. Ej.: accionamiento de un interruptor. Tiempo discreto (sistemas síncronos)» El estado del sistema sólo cambia cada T seg en función del estado y entradas presentes en esos instantes de tiempo. Evento: señal de reloj.» O bien con un evento de sincronización -> validación CONCEPTO DE AUTÓMATA. Autómata de MEALY Una máquina secuencial de tipo MEALY es una 5-tupla con: M=(Q,I,O,δ,β) Q Ø un conjunto finito de estados I Ø un conjunto finito de entradas O Ø un conjunto finito de salidas δ: QxI Q función de transición de estado β: QxI O función de salida I δ Q β O

CONCEPTO DE AUTÓMATA. Autómata de MOORE Una máquina secuencial de tipo MOORE es una 5-tupla con: M=(Q,I,O,δ,λ) Q Ø un conjunto finito de estados I Ø un conjunto finito de entradas O Ø un conjunto finito de salidas δ: QxI Q función de transición de estado λ: Q O función de salida I δ Q λ O CONCEPTO DE AUTÓMATA. Ejemplo: Sumador binario serie de bit Dos entradas binarias x y x2 Una salida binaria y x + y x 2

CONCEPTO DE AUTÓMATA. Modelo MEALY Q = {q,q} donde» q estado de no acarreo» q estado de acarreo Función de transición de estado:» δ(q,) = q δ(q,//) = q» δ(q,) = q δ(q,//) = q Función de salida:» β(q,/) = β(q,/) =» β(q,/) = β(q,/) = CONCEPTO DE AUTÓMATA. Modelo MOORE Q = {q,q,q,q} donde» q estado de no acarreo con salida y=» q estado de no acarreo con salida y=» q estado de acarreo con salida y=» q estado de acarreo con salida y= Función de transición de estado:» δ(q/q,) = q δ(q/q,) = q» δ(q/q,) = q δ(q/q,) = q» δ(q/q,/) = q δ(q/q,/) = q Función de salida:» λ(q/q) = λ(q/q) =

REPRESENTACIÓN Tabla de transición Representación tabular de las funciones de transición de estado y salida Ejemplo: Sumador binario serie de bit» Modelo MEALY >> Modelo MOORE O q q, q, q, q, q q q q q q q, q, q, q, q q q q q q q q q q q q q q q REPRESENTACIÓN Diagrama de transición Grafo cuyos nodos representan estados y los arcos cambios de estado. Ejemplo: Sumador binario serie de bit / /» Modelo MEALY,/ / q q /,/ q / q /,» Modelo MOORE,,, q / q /

DEFINICIONES Equivalencia: Una máquina M es equivalente a otra M*, si para cualquier secuencia de entrada es posible encontrar algún estado inicial tal que la secuencia de salida sea la misma. Esta relación es denotada por M = M*. Compatibilidad: Una máquina 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 relación se denota por M ~ M*. Máquina completamente especificada: es una máquina en la cual no existe ningún estado total para los que no esté especificada la función de próximo estado y/o de salida. En caso contrario, se dice que la máquina está incompletamente especificada. EJEMPLOS Máquina completamente especificada A través de una línea serie va llegando bits, se desea realizar una máquina que indique la llegada de la secuencia -> ->. Un sistema que permita detectar vehículos que circulan en dirección contraria por una autovía. Dicho sistema tendrá dos entradas e y e2 que serán las señales de dos células fotoeléctricas situadas a una distancia menor que la longitud del vehículo y la separación entre vehículos. Máquina INcompletamente especificada

REDUCCIÓN DE AUTOMATAS Autómatas completamente especificados Una vez construido un modelo:» Es posible reducir el número de estados? coste de una realización manejabilidad del modelo Estados equivalentes: Dado un autómata 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 autómata a partir de cualquiera de los dos estados es el mismo. REDUCCIÓN DE AUTÓMATAS Ejemplo: Reconocedor de cadenas x y Rec.()...... I: x={,} O: y={,} donde» cadena no reconocida» cadena reconocida / / / NADA / / / / / Estados: NADA nada reconocido subcadena reconocida subcadena reconocida cadena reconocida

REDUCCIÓN DE AUTÓMATAS y NADA NADA NADA NADA equivalente a NADA y NADA NADA NADA NADA / / NADA / / / / REDUCCIÓN DE AUTÓMATAS Autómatas incompletamente especificados Ejemplo: Detector de coches en sentido contrario» Especificar un sistema que permita detectar vehículos que circulan en dirección contraria por una autovía. Dicho sistema tendrá dos entradas e y e2 que serán las señales de dos células fotoeléctricas situadas a una distancia menor que que la longitud del vehículo y la separación entre vehículos. e2 e q q2 q3 q4 q5 q6 q7

REDUCCIÓN DE AUTÓMATAS S q q q5 - q2 q2 - - q3 q2 q3 - q4 q3 - q4 q q4 - - q5 - q5 q6 - q6 - - q6 q7 q7 q - - q7 Estados compatibles: Dado un autómata de estados finitos A=(Q,I,O,δ,λ) incompletamente especificado, se dice que dos estados qi, qj Q son compatibles (qi ~ qj) () e I tal que δ(qi,e) y δ(qj,e) están especificadas δ(qi,e) = δ(qj,e) ó δ(qi,e) ~ δ(qj,e) (2) λ(qi) = λ(qj) si ambas están especificadas 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 idénticas siempre que ambos estados de salida estén completamente especificados Esta relación es denotada por Si ~ Sj. En caso contrario, los estados se denominan incompatibles. REDUCCIÓN DE AUTÓMATAS S q q q5 - q2 q2 - - q3 q2 q3 - q4 q3 - q4 q q4 - - q5 - q5 q6 - q6 - - q6 q7 q7 q - - q7 Compatibles Incompatibles Cuando los estados son incompatibles, ya que existe combinaciones de entrada para las que el valor de las señales de salida es diferente, se identifica con un blanco ( ). Cuando los estados son compatibles, ya que para todas las combinaciones de entrada tanto el valor de las salidas como los próximos 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 próximos estados, se identifica con la pareja de los próximos estados, ya que estos nos determinarán si realmente existe compatibilidad o no. q q2 q3 q4 q5 q6 q7

REDUCCIÓN DE AUTÓMATAS q q2 q3 q4 q5 q6 q7 C C2 C3 q x q2 x x q3 x q4 x q5 x q6 x q7 x 6 (q6 q7) 5 (q6 q7) (q5 q6) (q5 q7) (q5 q6 q7) 4 (q5 q6 q7) 3 (q5 q6 q7) (q3 q4) 2 (q5 q6 q7) (q3 q4) (q2 q4) (q2 q3) (q5 q6 q7) (q2 q3 q4) (q5 q6 q7) (q2 q3 q4) (q q2) REDUCCIÓN DE AUTÓMATAS q C (sistema en reposo) q2,q3,q4 C2 (coche en sentido permitido) q5,q6,q7 C3 (coche en sentido contrario) S C C C3 - C2 C2 C C2 C2 C2 C3 C C3 C3 C3,,,,, C3/ C/ C2/

Conversión entre Mealy y Moore Equivalencias entre máquinas de estados Dos máquinas de estados A y B son funcionalmente equivalentes si y sólo si, para cualquier entrada, ellas realizan el mismo cálculo. Dos máquinas de estados A y B son semánticamente equivalentes si y sólo si ellas son funcionalmente equivalentes y usan el mismo conjunto de entradas (I) y de salidas (O). Dos máquinas de estados A y B son equivalentes paso a paso (pathwise) si y sólo si son semánticamente equivalentes y si y sólo si, para cualquier entrada (e), ellos ejecutan una idéntica secuencia de salidas y de cambios de estado. Conversión entre Mealy y Moore El método clásico para obtener un autómata de Moore similar a un autómata de Mealy dado, se basa en la búsqueda de un autómata equivalente paso a paso. RECORDAR: En Moore las salidas no pueden depender de las entradas Sean ei I ; σi O y Qi Q Mealy Q e/σ Q La salida se traslada del arco en que está (en Mealy) al estado siguiente Moore e Q/ Q/σ

Conversión entre Mealy y Moore Otros casos de transformación Mealy Moore Q e/σ Q Q/ e Q/σ e2/σ2 Q2 e2 Q2/σ2 Q e/σ Q e/σ Q3 Q3/? Q2 e2/σ2 Q2 e2/σ2 Como queda el nuevo estado Q3 Q3/ σ ó Q3/σ2??? Conversión entre Mealy y Moore Otros casos de transformación Mealy Q e/σ Q2 e2/σ2 Q3 e3/σ3 Q4 Moore Q/ e Q3/σ e3 Q4/σ3 Q2/ e2 Q32/σ2 e3 Cualquier estado con fuentes múltiples se replica en estados equivalentes

Conversión entre Mealy y Moore Como se convierte una máquina Mooreen Mealy??? Unidades de control y de cálculo Las máquinas de estado pueden usarse para modelar la parte de control y la parte de cálculo de cualquier sistema. El modelado de la parte de cálculo implica la descripción del proceso de cálculo de los distintos operadores utilizados (operaciones aritméticas y lógicas: sumas, productos, desplazamientos, comparadores, etc). Usualmente la descripción de los operadores de cálculo NO se realiza como máquina de estado pues la representación de todos los estados de datos puede ser costosa Ejemplo: Contador de 3 bits /S= CLK CLK CLK.S /S= CLK.S CLK.S 2/S2= CLK.S /S= /S= 2/S2= Sum. 3 bits CLK Reg. 3 bits / CLK / CLK 2/2 CLK 3/3 CLK CLK 7/7 CLK 6/6 CLK 5/5 CLK 4/4

La unidad de control (UC) La unidad de control modela el algoritmo que controla el sistema que se está implementando. Sus salidas son las señales que controlan las operaciones de cálculo del sistema (operadores aritméticos, lógicos, operaciones en registros, etc.) Pueden ser modeladas como autómatas de Mealy o Moore indistintamente. Ejemplo: una máquina que realice el cociente de dos números X e Y de 8 bits con X < Y. Cont:=; R:=X Cont = 8? σ FIN R:=R*2 Cont:=Cont+ σ R < Y? Sin:=; S:=S << ; R:=R - Y Sin:=; σ 3 σ S:=S << ; 2 La unidad de control (UC) Cont X Y R Sin S sigma ---- ---- ---- ---- Prueba del algoritmo ---- Cont<>4 Sea X = 3 e Y = 4 R>=Y entonces Cont<>4 3 S = X / Y = 3 / 4 =,75 R>=Y 3 Cont<>4 R<Y 2 Cont<>4 R<Y 2 Cont=4 X/Y = 3 / 4 = / = =, =,75

La unidad de control (UC) Modelo Mealy Z2/σ2 t/σ Z/σ q q q2 Z/- Z2/σ3 qf q2/σ2 con: Z = si Cont = 8 = en otro caso q/σ Z Z2 q2/σ2 Z2 q3/σ3 Z2 = si R < Y = en otro caso Z Z Z Modelo Moore qf/- Implementación de máquinas de estado Mediante lógica de de compuertas Mediante arreglos homogéneos de de compuertas (PLA s) Mediante ROM+Mux 4 estados (q..q3) se direccionan con 2 bits y,y Determinación de las ecuaciones de salida y y = q σj = mi. Qi = N(m,Q) Qi σj y y y y = q = q2 σ =. y. y σ = z. y. y σ2 = z2. y. y σ3 = z2. y. y y y = q3

Implementación de máquinas de estado Mediante lógica de de compuertas Mediante arreglos homogéneos de de compuertas (PLA s) Mediante ROM+Mux Determinación de las ecuaciones de salida y y / z z 2 Q Q Q 2 Q 3 y + y + = Qj + y + = y o y + = z + y y + y Implementación de máquinas de estado Mediante lógica de de compuertas Mediante arreglos homogéneos de de compuertas (PLA s) Mediante ROM+Mux σ z y + y σ Reg. y y + Reg. σ2 z2 σ3

Implementación de máquinas de estado Mediante lógica de de compuertas Mediante arreglos homogéneos de de compuertas (PLA s) Mediante ROM+Mux Se utilizan las mismas ecuaciones del caso anterior z. y. y z2. y. y z2. y. y y y. y z y z z2 y y y + y + σ σ σ2 σ3 Reg. Reg. Implementación de máquinas de estado Mediante lógica de de compuertas Mediante arreglos homogéneos de de compuertas (PLA s) Mediante ROM+Mux Se puede representar la maquina de estados como una secuencia de operaciones de la forma: Qi Zi σi Qm Zi σj Qn con Qi : estado actual Qm, Qn : estados siguientes Zi : i-esima entrada al autómata σi, σj : salidas con la siguiente dinámica: ) si Zi = entonces se realiza la acción σi y se salta al estado Qm 2) si Zi = entonces se realiza la acción σj y se salta al estado Qn

Implementación de máquinas de estado Mediante lógica de de compuertas Mediante arreglos homogéneos de de compuertas (PLA s) Mediante ROM+Mux Bajo esta definición el algoritmo de división se puede escribir como sigue: q t σ q q z σ q2 z λ q3 q2 z2 σ3 q z2 σ2 q q3 t λ q3 De este modo se puede almacenar cada estado en una celda de una memoria ROM con los campos necesarios para almacenar los parámetros: σ i : acción si se cumple Zi σj : acción 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 con t = true λ = no acción Implementación de máquinas de estado Mediante lógica de de compuertas Mediante arreglos homogéneos de de compuertas (PLA s) Mediante ROM+Mux C dir dir σ σ codificaciones utilizadas: -- -- -- -- C: z z2 t σ σ σ σ2 σ3 λ Z s lógica comb. -- no importa Reg. salida