lab_ac6

7

Click here to load reader

Upload: constantin-alexandru

Post on 16-Nov-2015

217 views

Category:

Documents


0 download

DESCRIPTION

Automatica si Calculatoare

TRANSCRIPT

  • Principii de microprogramare automatelor secventiale Actiunile necesare pentru implementarea functionala se numesc microoperatii (deplasari, resetari, transferuri). Acestea pot fi codificate cu un numar adecvat de biti. De asemenea se pot codifica si intrarile de control n EFA, precum si iesirile de conditii din EFA. Deci, n fiecare secventa trebuie sa precizam microoperatia executata asupra carui element din schema se actioneaza sau ce conditii se testeaza. Ansamblul codurilor necesare este o microinstructie, plasata n memorie la o adresa data. n sinteza automatelor microprogramate se utilizeaza cel putin doua tipuri de instructiuni: - instructiune de comanda, concretizata printr-un impuls aplicat la

    intrarea unui element dat (resetare, incrementare, transfer). Din punct de vedere al programarii se continua cu instructiunea avnd adresa imediat urmatoare

    - instructiune de salt, la alta adresa daca o conditie particulara este realizata. n acest caz de conditie falsa se continua cu instructiunea urmatoare. Obs. La secventiatoarele cablate, putem cuprinde ntr-o secventa, att

    o actiune, ct si o testare a unei conditii. La secventiatoarele microprogramate vom considera n cadrul unei secvente numai o actiune, sau numai o testare de conditii.

    DISTRIBUITOR DE Ceas-uri

    CALCUL COND. SALT

    CALCUL COND.

    NUMARARE

    CALCUL COND. OPRIRE

    CALCUL COND.

    PORNIRE

    SECVENTIATOR MICROPROGRAMAT

    ncarcare Incrementare Stop Start Clk

    REGISTRU ADRESE

    h2

    ADRESA ROM (RAM)

    CALCUL ACTIUNI EFA

    ACTIUNI EFA CONDITII

  • Plecndu-se dintr-o stare initiala automatul fiind oprit prin resetare manuala sau automata la o valoare START este incrementata adresa continuta in regiunea de adrese, astfel ca, la iesirea memoriei este prezenta urmatoarea instructiune. Clock-ul h1 determina calculul actiunilor pentru EFA care se executa pe durata unei secvente .

    Se stabileste functie de tipul instructiunii in curs de executie ce adresa urmeaza: respectiv adresa urmatoare pentru o instructiune de comanda sau de salt cu conditie falsa, respectiv adresa indicata ntr-un cmp special de adresa pentru instructiunea de salt cu conditie adevarata. Noua adresa este validata n regim de adrese, de catre clock-ul h2. Implementarea instructiunilor de comanda Codul instructiunilor sau cmpul (1) este pe un bit materializnd prin variabila TIS, respectiv tip al instructiunii. Pentru instructiunea de comanda TIS =0. Cmpul Ei codifica o iesire de comanda (pentru ncarcarea unui registru, incrementare). Cmpul Fi precizeaza eventual o intrare de date a unui circuit secvential sau combinational.

    De exemplu, un CBB care primeste un impuls de clock conform

    codului Ei, poate primi valorile intrarilor de date din cmpul Fi.

    REG. ADRESA MEMORIE

    CODUL INSTR

    (1)

    Ei (2)

    Fi (3)

    DECODOR INSTR

    DECODOR (Ei)

    h2 TIS

    TIS TIS

    h1

    CS

    REG. INSTR

    E0 E1 .E7

    DATA

    Clk K

  • Implementarea instructiunilor de salt conditionat Codul instructiunilor de un bit, notat TIS si pentru conditiile de salt

    TIS=1. Cmpul Ci reprezinta codul conditiei care poate provoca saltul, iar

    cmpul A reprezinta adresa la care se gaseste urmatoarea instructiune de executat, daca conditia Ci este satisfacuta.

    Cu referire la acelasi prim exemplu de automat realizam implementarea secventiatorului, ca secventiator microprogramat.

    Codificarea tipului de instructiuni se va face pe 1 bit, notat TIS, avnd valorile 0 pentru instructiunile de comanda si 1 pentru instructiunile de salt.

    Cmpurile Ei de codificare a actiunilor secventiatorului respectiv Ci, de codificare a conditiilor vor avea alocate 3 biti, respectiv:

    ACTIUNE COD SEMNAL

    ( )

    ( )RPRP

    CDEC

    RPLOAD

    PRES

    1

    1

    1

    100011010001000

    4

    3

    2

    1

    0

    a

    a

    a

    a

    a

    REG. ADRESA LOAD

    MEMORIE

    CODUL INSTR

    (1)

    Ci (2)

    A (3)

    DECODOR INSTR

    h2 TIS

    TIS TIS

    h2

    COND. SALT

    REG. INSTR

    .

    MUX

    ci

    ci ci

  • CONDITIE Cod

    ( )( )START

    0C0R

    NECOND

    M

    ==

    011010001000

    ( )( )

    END,NECOND,1ST,START,1:END

    RPP,a,0:2A

    1A,NECOND,1Cluireadecrementa,a,0

    RPMP,a,0

    0Cdaca,2Alasalt2A,0C,1:1A0Mdaca,2Alasalt2A0RM,1

    CsiRMincarcare,a,0

    RPresetare,a,0

    ST,START,1:ST

    4

    3

    112

    1

    10

    +

    ====

    Explicitarea continutului memoriei

    Valorile indiferente sunt dese zero, echivalent cu starea neprogramata

    a bitilor de memorie utilizati. ETICHETA ADRESA BINAR HEXA ST 0000

    0001 0010 0011

    10110000 00000000 00010000 10011000

    B0 00 10 98

    A1 0100 0101 0110 0111

    10101000 00100000 00110000 10000100

    A8 20 30 84

    A2 1000 1010

    10110000 10001001

    B0 89

  • Tema :Implementati microprogramat automatele discutate la cursul anterior Se lucreaza direct pe schema logica

    CPD Q0 Q1 Q2 Q3 MR 4193 CPU D3 D2 D1 D0

    A4 A3 A2 A1 A0 74188 D7 D6 D5 D4 D3 D2 D1 D0

    495

    S

    h1 CK2

    VCC

    VCC

    D C B A 442

    I0 I1 I2 I3 442

    VCC ZM ZC START

    S

    Ci Ci

    a4

    a1

    a0

    h1 TIS

    TIS TIS

    Ci D

    CK

    h2

    Q

    VCC

    Ci TIS

  • RM .

    LOAD RM

    qn-1 q1 q0 ZM .

    A2n-1 An An-1 A1 A0

    21 1 0 .. RP1

    RP

    DISPLAY

    DATA