13ejs

Upload: yaeltudelabarroso

Post on 05-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/15/2019 13ejs

    1/27

    UC amb seqüenciador: Exercicis

    11Elena Valder rama & Mercè Rullan

    Universidad Autónoma de Barcelona

  • 8/15/2019 13ejs

    2/27

    Problema 1

  • 8/15/2019 13ejs

    3/27

    Problema 1

  • 8/15/2019 13ejs

    4/27

    Programa de control

    0 IF (not-inici) GOTO 0

    1 EXE (acció 1)

    2 IF X1 GOTO 5

    3 EXE (acció 3)

    4 GOTO 6

    5 EXE (acció 2)

    6 EXE (acció 4)

    7 IF X2 GOTO 10

    8 EXE (acció 6) (fi=1)

    9 GOTO 0

    10 EXE (acció 5)

    11 GOTO 6

    Problema 1

  • 8/15/2019 13ejs

    5/27

    0 IF (not-inici) GOTO 0

    1 EXE (acció 1)

    2 IF X1 GOTO 5

    3 EXE (acció 3)

    4 GOTO 6

    5 EXE (acció 2)

    6 EXE (acció 4)

    7 IF X2 GOTO 10

    8 EXE (acció 6) (fi=1)

    9 GOTO 0

    10 EXE (acció 5)

    11 GOTO 6

    Problema 1

    0 IF (not-inici) GOTO 0

    1 EXE (Z02

  • 8/15/2019 13ejs

    6/27

    Memòria ROM

  • 8/15/2019 13ejs

    7/27

    Memòria ROM

    Contador

    Load

    CK

    … 

  • 8/15/2019 13ejs

    8/27

    Memòria ROM

    Contador

    Load

    CK

    … 

    next_address o Z’s 

    Tipus d’instrucció Condició

  • 8/15/2019 13ejs

    9/27

    Contador

    Cond TI next_address o Z’s 

    TI TI(1) T

    IF 0

    GOTO 0

    EXE 1

    Cond C(1)

    not-inici 0

    X1 0

    X2 1

    Load

    CK

  • 8/15/2019 13ejs

    10/27

    Contador

    Cond TI next_address o Z’s 

    = 0 +

    TI TI(1)

    IF 0

    GOTO 0

    EXE 1

    Cond C(1)

    not-inici 0

    X1 0

    X2 1

    CK

    2

    CK

    Inici

    X1

    X2

    Load

  • 8/15/2019 13ejs

    11/27

    Contador

    Cond TI next_address o Z’s 

    TI TI(1) T

    IF 0

    GOTO 0

    EXE 1

    TI(1)

    CK

    2

    CK

    Inici

    X1

    X2

    Load

    = 0 +

  • 8/15/2019 13ejs

    12/27

    Programa de

    controlCond  TI 

    n ext_ address o Z ’ s C(1)  C( 0 )  TI(1)  TI(0) 

    0  IF not - inici GOTO 0 

    1  EXE (acció 1) 

    2  IF X1 GOTO 5 

    3  EXE (acció 3 ) 

    4  GOTO 6 

    5  EXE (acció 2 ) 

    6  EXE (acció 4 ) 

    7  IF X2 GOTO 1 0 

    8  EXE (acció 2 ) (fi  =1  ) 

    9  GOTO 0 

    10  EXE (acció 5 ) 

    11  GOTO 6 

  • 8/15/2019 13ejs

    13/27

    Programa de

    controlTI

    IF

    GOTO

    EXE

    Cond TInext_add(3) next_add(2) next_add(1) next_add(0)

    Z02 Z13  Z45   fiC(1) C(0) TI(1) TI(0)

    0 IF not-inici GOTO 0 0 0 0 0 0 0 0 0 0

    1 EXE (acció 1) 0

    2 IF X1 GOTO 5 0

    3 EXE (acció 3) 0

    4 GOTO 6 0

    5 EXE (acció 2) 0

    6 EXE (acció 4) 0

    7 IF X2 GOTO 10 0

    8 EXE (acció 2) (fi=1)  1

    9 GOTO 0 0

    10 EXE (acció 5) 0

    11 GOTO 6 0

    Cond

    not-ini

    X1

    X2

  • 8/15/2019 13ejs

    14/27

    Programa de

    controlCond TI

    next_add(3) next_add(2) next_add(1) next_add(0)

    Z02 Z13  Z45   fiC(1) C(0) TI(1) TI(0)

    0 IF not-inici GOTO 0 0 0 0 0 0 0 0 0 0

    1 EXE (acció 1) - - 1 0 1 0 0 - 0

    2 IF X1 GOTO 5 0 1 0 0 0 1 0 1 0

    3 EXE (acció 3) 0

    4 GOTO 6 0

    5 EXE (acció 2) 0

    6 EXE (acció 4) 0

    7 IF X2 GOTO 10 0

    8 EXE (acció 2) (fi=1)  1

    9 GOTO 0 0

    10 EXE (acció 5) 0

    11 GOTO 6 0

    TI

    IF

    GOTO

    EXE

    noop acció 1

    acció 2

    acció 3

    acció 4

    acció 5

    acció 6

    Cond

    not-ini

    X1

    X2

  • 8/15/2019 13ejs

    15/27

    Programa de

    controlCond TI

    next_add(3) next_add(2) next_add(1) next_add(0)

    Z02 Z13  Z45   fiC(1) C(0) TI(1) TI(0)

    0 IF not-inici GOTO 0 0 0 0 0 0 0 0 0 0

    1 EXE (acció 1) - - 1 0 1 0 0 - 0

    2 IF X1 GOTO 5 0 1 0 0 0 1 0 1 0

    3 EXE (acció 3) - - 1 0 0 1 1 - 0

    4 GOTO 6 - - 0 1 0 1 1 0 0

    5 EXE (acció 2) - - 1 0 0 0 1 - 0

    6 EXE (acció 4) - - 1 0 1 0 1 - 0

    7 IF X2 GOTO 10 1 0 0 0 1 0 1 0 0

    8 EXE (acció 2) (fi=1)  - - 1 0 0 0 1 - 1

    9 GOTO 0 - - 0 1 0 0 0 0 0

    10 EXE (acció 5) - - 1 0 1 1 0 - 0

    11 GOTO 6 - - 0 1 0 1 1 0 0

    TI

    IF

    GOTO

    EXE

    noop acció 1

    acció 2

    acció 3

    acció 4

    acció 5

    acció 6

    Cond

    not-ini

    X1

    X2

  • 8/15/2019 13ejs

    16/27

    Contador

    Cond TI next_address o Z’s   fi

    43

    4

    4

    TI(1)2

    CK

    Inici

    X1

    X2

    Load

  • 8/15/2019 13ejs

    17/27

    Inici

    X1

    X2

    Contador

    Load

    CK

    Cond TI next_address o Z’s   fi

    43

    42

    4

    seqüenciadorcontrol

    seq.

    W1k

    TI(1)

  • 8/15/2019 13ejs

    18/27

    Problema 2

  • 8/15/2019 13ejs

    19/27

    Problema 4: cos(x)

  • 8/15/2019 13ejs

    20/27

    Problema 4: cos(x)

    INI: If not inici then goto INI;

    cos

  • 8/15/2019 13ejs

    21/27

    INI: If not inici then goto INI;

    cos

  • 8/15/2019 13ejs

    22/27

    mòdul acció inputs output

    M/D multiplica x,x q

    S/R resta 0,q q

    M/D multiplica p,q p

    S/R suma k,1 k

    M/D multiplica k,f f

    S/R suma k,1 k

    M/D multiplica k,f f

    S/R resta n,k ff

    M/D divide p,f R

    S/R suma cos,R cos

    Si sign=1 => k>n

  • 8/15/2019 13ejs

    23/27

    0 1 2 3 0 1 2 3 0 1 2 30 1 2 3

    0 1

    S / R M / D

    ff

    cos p f k q

    0 k R q k cos p f p q k f

    XN

    X1 Resultat

    1

    Z1 Z2

    Z3 Z4

    Z5

    Z12

       Z   6 

       Z   7 

       Z   8 

       Z   9 

       Z   1   0 

       Z   1   1 

    resetresetresetreset

  • 8/15/2019 13ejs

    24/27

    0 IF not-inici GOTO 0

    1 EXE (cos

  • 8/15/2019 13ejs

    25/27

    Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z10 Z11

    Mux

    S/R

    Mux

    M/D S/R M/D Mux q

    Load

    cos Load p Load f Load k Load q

    Load

    R

    noop 00 00 0 0 0 0 0 0 0 0 0

    cos:=1;k:= 0;p:= 1;f:=1;q:= x

    * x- 00 - 0 0 0 0 0 0 1 -

    q := 0 –q 00 -- 1 - 1 0 0 0 0 1 -

    p := p * q; k:= k +1 01 01 0 0 - 0 1 0 1 0 -

    f := f * k; k:= k +1 01 10 0 0 - 0 0 1 1 0 -

    f := f * k; ff:= signe(n-k) 10 10 1 0 - 0 0 1 0 0 -

    R:= p/f -- 11 - 1 - 0 0 0 0 0 1

    cos := cos + R 11 -- 0 - - 1 0 0 0 0 0

    (fi = 1) 00 00 0 0 0 0 0 0 0 0 0

    Tabla de correspondencia

  • 8/15/2019 13ejs

    26/27

    Z1  Z2b  Z4  Z6  Z7  Z8  Z9  Z10  ZC1 

    noop 00 0 0 0 0 0 0 0 0

    cos:=1;k:= 0;p:= 1;f:=1;q:= x * x - 0 0 0 0 0 0 1 0

    q := 0 –q 00 - - 0 0 0 0 1 1

    p := p * q; k:= k +1 01 1 0 0 1 0 1 0 0

    f := f * k; k:= k +1 01 0 0 0 0 1 1 0 1

    f := f * k; ff:= signe(n-k) 10 0 0 0 0 1 0 0 1

    R:= p/f -- 1 1 0 0 0 0 0 1

    cos := cos + R 11 - - 1 0 0 0 0 -

    fi = 1 00 0 0 0 0 0 0 0 0

    Za = Z5 = Z = ZC 

    Z3 = Z = ZC 

    Tabla de correspondencia simplificada

  • 8/15/2019 13ejs

    27/27

    k

    (11)