tema2impre_2

13
3. Diagramas de máquinas de estados algorítmicas (ASM) Diagrama ASM: • Forma gráfica para representar un FSMD. • Totalmente equivalente a tabla estado-acción. • Constituido por bloques ASM. • Bloque ASM fila en tabla estado-acción. Diseño a nivel de transferencia de registros © 2002 - A.D. Urrestarazu 16

Upload: hugo-martinez-rivas

Post on 24-Sep-2015

3 views

Category:

Documents


2 download

DESCRIPTION

tema 2

TRANSCRIPT

  • 3. Diagramas de mquinas de estados algortmicas (ASM)

    Diagrama ASM: Forma grfica para representar un FSMD.

    Totalmente equivalente a tabla estado-accin.

    Constituido por bloques ASM.

    Bloque ASM fila en tabla estado-accin.

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu16

  • Asignacin incondicionalde variables y salidas

    Cdigo del estado

    Nombre del estado

    Condicin01

    Asignacin condicional de variables y salidas

    Caja de estado

    Caja de decisin

    Caja de condicin (accin condicional)

    S

    mbolos

    01

    01

    Bloque ASM

    3. Diagramas ASM Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu17

  • Diagrama ASM

    Uno o ms bloques ASM conectados de forma que:

    cada salida de un bloque est conectada a

    una, y slo una, caja de estado.

    Un diagrama ASM describe a un FSMD si:

    1.- (estado actual y conjunto de condiciones) hay un solo estado siguiente.

    2.- Todo camino definido por la red de cajas de

    decisin conduce a otro estado.

    3. Diagramas ASM Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu18

  • Diagramas ASM que no describen un FSMD

    0 1 0 1Cond1 Cond2

    s1

    s2 s3

    s1

    0 1Cond1

    0 1Cond2

    s2 s3

    3. Diagramas ASM Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu19

  • 3. Diagramas ASM Diagrama ASM para el contador de unos

    Contador := Contador + Temp

    s5

    Dato:=Entrada

    s1

    Contador = 0

    s2

    Mscara := 1

    s3

    Temp := Dato AND Mscara

    s4

    Dato := Dato >>1

    s6

    Final := 1Salida := Contador

    s7

    Dato0

    Inicio

    s0

    10

    0 1

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu20

  • 5. Optimizacin en tiempo

    mayor retardo registro-registro

    Corresponde a la unidad funcional ms lenta

    Las dems slo estarn ocupadas parte del ciclo

    Ciclo reloj

    En caminos de datos tpicos:

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu21

  • 5. Optimizacin en tiempo Encadenamiento

    La nueva unidad funcional calcula asignaciones

    que implican dos o ms operadores

    En ocasiones,

    conectar en serie dos o ms unidades funcionales

    Siempre que: retardo total ciclo reloj

    Encadenar

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu22

  • 5. Optimizacin en tiempo Multiciclo

    Si una unidad funcional es bastante lenta,

    en vez de ajustar el ciclo de reloj a esta unidad

    MulticicloEmplear ms de un ciclo para que genere su resultado

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu23

  • 5. Optimizacin en tiempo Ejemplo. Calculador de hipotenusa

    a2 + b2 max ((0.875 a + 0.5 b), a)

    Sabiendo que X >> n = X 2-n:

    (0.875 a + 0.5 b) = (1 - 0.125) a + 0.5 b = a (a>>3) + (b>>1)

    Repetir Si Inicio entonces a := In1 b:= In2 t1 := a t2 := b x := max(t1, t2) y := min(t1, t2) t3 := x >>3 t4 := y >>1 t5 := x - t3 t6 := t4 + t5 t7 := max(t6 , x) Final := 1 Sal := t7 Finsihasta siempre

    Y para reducir el efecto de la prdida de precisin, el desplazamiento de tres posiciones se hace sobre el mayor de los nmeros, a y b, en valor absoluto .

    Algoritmo:

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu24

  • 5. Optimizacin en tiempo Ejemplo. Calculador de hipotenusa

    [abs/min/+/][abs/max] [>>1] [>>3]

    Banco deregistros16 mRegistro a

    Registro b

    Bus ABus B

    Bus Res1Bus Res2

    In1 In2

    Sal

    Repetir Si Inicio entonces a := In1 b:= In2 t1 := a t2 := b x := max(t1, t2) y := min(t1, t2) t3 := x >>3 t4 := y >>1 t5 := x - t3 t6 := t4 + t5 t7 := max(t6 , x) Final := 1 Sal := t7 Finsihasta siempre

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu25

  • 5. Optimizacin en tiempo Ejemplo. Calculador de hipotenusa

    Inicio

    t1 := at2 := b

    s1

    t3 := x >>3t4 := y >>1

    s3

    t5 := x - t3

    s4

    t6 := t4 + t5

    s5

    s6

    t7 := max(t6 , x)

    s7

    Final := 1Sal := t7

    x := max(t1, t2)y := min(t1, t2)

    s2

    a := in1b := in2

    s0

    1 0

    [abs/min/+/][abs/max] [>>1] [>>3]

    Banco deregistros16 mRegistro a

    Registro b

    Bus ABus B

    Bus Res1Bus Res2

    In1 In2

    Sal

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu26

  • 5. Optimizacin en tiempo Ejemplo. Calculador de hipotenusacon unidades encadenadas

    Inicio

    t1 := at2 := b

    s1

    t5 := x - t3

    s3

    t6 := t4 + t5

    s4

    s5

    t7 := max(t6 , x)

    s6

    Final := 1Sal := t7

    x := max(t1, t2)t3 := max(t1, t2) >>3t4 := min(t1, t2) >>1

    s2

    a := in1b := in2

    s0

    1 0

    [abs/min/+/][abs/max]

    [>>1][>>3]

    Banco deregistros16 mRegistro a

    Registro b

    Bus ABus B

    Bus Res1

    Bus Res2

    In1 In2

    Sal

    MUX

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu27

  • 5. Optimizacin en tiempo Ejemplo. Calculador de hipotenusacon unidades multiciclo

    Inicio

    t1 := at2 := b

    s1

    t5 := x - t3

    s4

    t6 := t4 + t5

    s5

    s6

    t7 := max(t6 , x)

    s7

    Final := 1Sal:= t7

    x := max(t1, t2)t3 := max(t1, t2) >>3[t4] := min(t1, t2) >>1

    s2

    a := in1b := in2

    s0

    1 0

    t4 := [min(t1, t2) >>1]

    s3

    [abs/+/][abs/max]

    [>>3]

    Banco deregistros16 mRegistro a

    Registro b

    Bus ABus B

    Bus Res1

    Bus Res2

    In1 In2

    Sal

    [min >> 1]

    Diseo a nivel de transferencia de registros

    2002 - A.D. Urrestarazu28