SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Dispense del corso di
Architettura dei Calcolatori



Sintesi di Reti Logiche Sequenziali
a.a. 2007/2008
Architettura dei calcolatori


                                          Reti sequenziali

 Reti sequenziali; reti logiche in cui in ogni istante le uscite (e il comportamento
    interno) dipendono non solo dalla configurazione degli ingressi in quell’istante ma
    anche dalle configurazioni degli ingressi negli istanti precedenti.
 • Nelle reti sequenziali il comportamento dipende dalla storia passata; devono
    conservare memoria degli eventi passati nel proprio stato interno.
 • La funzione di commutazione z=f(x1,…,xn) non è più sufficiente ma deve
                                               x
    dipendere anche dal tempo
 • Variazioni delle configurazioni di ingresso modificano oltre che le uscite anche lo
    stato interno. Lo stato interno attuale si dice stato presente mentre lo stato della
          interno                                          presente,
    rete logica in seguito alla variazione degli ingressi si definisce stato futuro

 •      Reti sequenziali sono sincrone o asincrone:
          – asincrone, se le variazioni delle configurazioni di ingresso vengono sentite e
            modificano lo stato e le uscite in qualsiasi istante
          – sincrone, se le variazioni delle configurazioni di ingresso vengono sentite e modificano
            lo stato e le uscite solo in presenza di un opportuno evento di sincronizzazione
 •      L’evento di sincronizzazione è normalmente associato ad un segnale attivo (il
        clock) o al cambiamento d ll stato d l segnale di sincronizzazione (f t d l
         l k)     l     bi     t dello t t del      l      i     i    i    (fronte del
        clock)
                                                                                                        2
a.a. 2007/2008
Architettura dei calcolatori


                                   Memoria binaria: Set-Reset
 • Come nelle reti combinatorie si definiscono i gate elementari, così per le reti    sequenziali
 esistono blocchi elementari per memorizzare lo stato attuale

 Memoria binaria (bistabile asincrono): elemento capace di memorizzare il valore di una
 variabile di stato binaria e di commutare alla presenza di un opportuna configurazione di
 ingresso.

 SET-RESET: è una rete con due ingressi S e R e una uscita Q (ed una uscita complementata
 Q#) tale che l'uscita Q assume il valore 1 quando S=1 e R=0 e il valore 0 quando S=0 e R=1 e
 non cambi allorché S=R=0.
 • L combinazione di i
   La     bi    i       ingresso S R 1 non si verifica mai (
                                 S=R=1       i   ifi     i (configurazione proibita).
                                                               fi     i       ibit )

                                                                              SET
                                                             SR
                                   SR   Q Q#
                  S            Q
                                                      Q(t)        00   01    11      10
                                   00   Q Q#
                                   01   01                        0    0      X      1
                                                             0
                                   10   10
                                   11   --                        1    0      X      1
                  R        Q#                                1


                                                                       RESET
 • Funzione di eccitazione del Set-Reset:
                     Q(t+1)=S+R’Q(t)

                                                                                                       3
a.a. 2007/2008
Architettura dei calcolatori


                                     Set-Reset e latch Set-Reset
                                                                    S                         Q#
 •      Q(t+1)=S+R’Q(t)
 •      Q#(t+1)= (S+(R+Q’)’)’
 •      Esistono diverse realizzazioni:                                                     Q
                                                                    R
                                                                                  Sintesi a NOR
                               S
                                                                        S#
                                                                                      Q
                                                                                          Q
      R


                                                                                          Q
                                                                                          #
                                                                        R#
                               Sintesi alternativa                           Sintesi a NAND
     Latch S-R sensibile a livello (del clock)
                                      (           )
     EN# enable (clock) attivo basso:
                                                              S#
     • se non è attivo (a 1) il secondo stadio ha la                                Q#
       configurazione di ingresso (0,0) e rimane      nello
     stato corrente (stato di hold)
                     (             )
     • se è attivo (a 0) la rete è sensibile al cambiamento
                                                              R#
     degli ingressi:
                                                                                    Q
            • se sono entrambi a 1 la rete rimane in hold,
            • se sono a 0 configurazione vietata
                                g                             EN#
            • altrimenti cambiano di stato


                                                                                                          4
a.a. 2007/2008
Architettura dei calcolatori


                                               D Latch
 •      Memoria capace di mantenere l’uscita costante se il segnale di clock (o enable)
        non è attivo e di cambiare l’uscita campionando l’ingresso quando il clock e’
        attivo (74LS76)


                       D       Q       D CK   Q Q#
                                       -0     Q Q#
                                       01     01
                                       11     10
                       CK      Q
                                   D
                                                          S      Q



                                                          R      Q


                                               CK




                                                                                             5
a.a. 2007/2008
Architettura dei calcolatori


                                                 Flip flop e latch
 •      Si definisce latch un bistabile sincrono trasparente, capace di memorizzare o meno segnali
        di ingresso in funzione di un segnale di abilitazione (clock o enable).
 •      La transizione di stato avviene per tutto il tempo in cui il clock è attivo (alto) e si hanno tante
        transizioni di stato quanti cambiamenti di i
        t      ii i       tt        ti    bi       ti ingressi avvengono i t l periodo. Il l t h è
                                                             i             in tale    id      latch
        trasparente agli ingressi quando l’enable non è attivo
 •      Flip Flop è un dispositivo bistabile privo della proprietà di trasparenza
 •      Nel flip flop il cambiamento della uscita non è conseguenza del cambiamento dell’ingresso
                                                                                              dell ingresso
        di dato ma è conseguenza del cambiamento di un ingresso di controllo sincrono (il clock) o
        asincrono (preset o clear)
 •      I flip flop si definiscono bistabili sincroni a commutazione sul fronte perché la transizione di
        stato avviene nell’istante in cui si ha l’evento significativo del clock (fronte di salita o di
                         nell istante             l evento
        discesa) in base agli ingressi in quel momento

                                    D

                                    Clk

                               Q
                                   7474

                               Q
                                   7476

                                          Edge triggered                      A livello
                                                                                                              6
a.a. 2007/2008
Architettura dei calcolatori



                               Flip flop master slave
 •      Esempio di Flip-Flop D master slave.




                                                                    7
a.a. 2007/2008
Architettura dei calcolatori


                                                   Clock
 •      Segnale di temporizzazione o clock è il segnale che varia periodicamente nel tempo; oscilla
        in un ciclo di clock da valore 1 al valore 0
 •      Si dice periodo di clock la lunghezza del ciclo di clock e frequenza di clock il suo inverso
 •      Il duty cycle è la percentuale del tempo in cui il clock rimane alto
                                                  Tck



                                            Tckh
                                                     Tckl
 •      fronte di salita e di discesa

                                                        Tsup Thold
                                             Input



                                             Clock
                                             Cl k
 •      Tsup (tempo di setup) è il periodo in cui gli ingressi devono rimanere stabili prima del
        fronte del clock per poter essere campionati correttamente
 •      Th (t
           (tempo di hold) è il periodo i cui gli i
                       h ld)        i d in i li ingressi di devono rimanere stabili d
                                                                    i        t bili dopo l’
                                                                                         l’evento d l
                                                                                               t del
        clock

                                                                                                          8
a.a. 2007/2008
Architettura dei calcolatori


                                                    Flip Flop edge triggered
 •      Tutte le misure sono fatte rispetto al fronte positivo del clock

                               T su   T                                T su    T
                                           h                                        h
                               20      5                                20      5
                               ns     ns                                ns     ns
            D
                                               Tw
                                               25
                                               ns
            Clk
                                            T plh                                    T phl
                                           25 ns                                    40 ns
                                           13 ns                                    25 ns
            Q




 •      requisiti temporali del 74LS74:
 •      I tempi che si riportano sono
          –     Setup time
          –     Hold time
          –     Minimum clock width
          –     Propagation delays (low to high Tplh, high to low Tphl, max e typical)

                                                                                                         9
a.a. 2007/2008
Architettura dei calcolatori


                                                Flip Flop JK
 • Flip flop JK progettato per eliminare il problema dell’ingresso proibito (11) del flip flip SR

                                                                                   Q#
                                                      K             R         Q#
        Q(t+1)=Q(t)K’+Q(t)’J
        Q(t 1) Q(t)K’ Q(t)’J
                                                                        R-S
                                                      J             S         Q    Q
 • Dispositivi 74LS109:
        p
   flip flop JK con ingresso
   di PRESET e PRECLEAR
                                                          JK
   (attivi bassi)
                                                   Q(t)
                                                    ()         00   01        11   10
                                                               0    0         1    1
                                                          0

                                                               1    0         0    1
                                                          1

                                                          HOLD RESET TOGGLE             SET



 • vengono usati per il campionamento dei dati:
          –     per memorizzare dato= 0 JK=01
          –     per memorizzare d t 1 JK 10
                         i      dato=1 JK=10
 • basta collegare il dato a J e collegare K a J negato

                                                                                                         10
a.a. 2007/2008
Architettura dei calcolatori


                                         Flip Flop T - Toggle
 •      Molto usati per fare commutare lo stato di uscita
              T
                               J    Q                            D    Q


             ck
                               K    Q#                               Q#
                                                  ck




 •      nel secondo caso sempre abilitato (altrimenti impiego dell’ingresso T in AND)
 •      Q(t+1)=Q(t)T’+Q(t)’T


                                                  T    Q



                                                       Q#
                               ck



                                                                                                   11
a.a. 2007/2008
Architettura dei calcolatori


                                        Flip Flop

 •      Flip Flop e latch sono alla base dei circuiti sequenziali; ma quando
        usarli?
 •      S-R latch
        S R l t h sono poco usati come bl
                                   ti       blocchi f
                                                 hi funzionali ( comunque
                                                        i   li (e
        all’interno dei JK e D).
 •      Flip Flop T sono molto usati (realizzati con JK o D) all’interno dei
            p     p                     (                     )
        contatori o per ricordarsi l’evoluzione di un contesto interno al sistema di
        elaborazione in due stati possibili
 •      Flip Flop JK e D sono entrambi i più usati: con JK si realizzano funzioni
        più complesse con meno logica esterna, ma richiedono più pin. In VLSI si
        usano più i D


                               SR:     Q(t+1)=S+R’Q(t)
                               D:      Q(t+1)=D
                               J-K:    Q(t+1)=JQ’(t)+K’Q(t)
                               T:      Q(t+1)=TQ’(t)+T’Q(t)



                                                                                        12
a.a. 2007/2008
Architettura dei calcolatori


                               Reti asincrone e sincrone

 •      Nel progetto di reti logiche si predilige l’impiego di reti sincrone
 •      Reti asincrone sono alla base delle reti sincrone, ma con un segnale di
        riferimento, il clock.
         if i    t       lk
 •      Anche nelle reti sincrone (come i FF-D) esistono segnali asincroni (clear
        e pre-set)
           p     )

 •      è meglio evitare reti asincrone (soprattutto ad alta frequenza) perché
        sono sensibili ad alee (corse critiche).
                  ibili d l (           iti h )

 In alcuni casi, le reti asincrone sono inevitabili
 • circuiti di reset
 • segnali esterni
 • segnali di handshake
 • segnali di wait nelle memorie



                                                                                       13
a.a. 2007/2008
Architettura dei calcolatori


                                          Reti sequenziali (1/2)

 •      Una rete sequenziale memorizza le informazioni sulle configurazioni di ingresso
        che si verificano nel tempo; la memorizzazione avviene in stati interni
 •      Le variabili di stato che definiscono lo stato interno in cui si trova la rete sono
        memorizzate in elementi di retroazione
 •      Tra le reti sequenziali, importanza fondamentale hanno le macchine a stati finiti
        (FSM,
        (FSM Finite state machine) in cui gli elementi di retroazione sono Flip Flop con
        un unico segnale di clock
 •      L’insieme dei FF è detto registro di stato e memorizza lo stato futuro
        presentando a valle lo stato presente
                                                                   uscite
                                                  Rete
                               ingressi
                                                  logica
                                                  combinat.



                                                         R
                                                         E
                                                         G
                                          Clk
                                          reset

                                                                                               14
a.a. 2007/2008
Architettura dei calcolatori


                                         Automa a stati finiti
 •      Modello generale (automa di Mealy): il valore delle uscite dipende dallo stato presente e
        dagli ingressi in quell’istante                Funzione di stato
                                       x1..xn
                                                             prossimo G
                                       ingressi
                                         g
                                                                                              Stato
                                                                                              St t
                                                                                              futuro
                                                    Stato presente
                                                                        Elemento              Y1..Yk
                                                    y1..yk              di memoria


                                                                                       uscite
                                                                Funzione di
                                                                                                       Z1.. Zm
                                                                uscita F

 •      Modello equivalente (automa di Moore): il valore delle uscite dipende solo dallo stato
        presente e non dagli ingressi in quell’istante
                                                           Funzione di stato
                                     x1..xn
                                                           prossimo G
                                     ingressi
                                                                                         Stato
                                                                                         St t
                                                                                         futuro
                                                  Stato presente
                                                                      Elemento           Y1..Yk
                                                  y1..yk              di memoria


                                                                                     uscite
                                                              Funzione di
                                                                                                  Z1.. Zm
                                                              uscita F

 •      E
        E’ sempre possibile passare da un modello all’altro
                                                     all altro
 •      Il modello di Moore ha più stati ma funzioni di uscita più semplici

                                                                                                                            15
a.a. 2007/2008
Architettura dei calcolatori


                                 Diagramma degli stati

 •      Una rete sequenziale può essere rappresentata da un diagramma degli
        stati:


          – il diagramma degli stati è un grafo con tanti nodi
            quanti gli stati e t ti archi quante l t
                  ti li t ti tanti     hi     t le transizioni
                                                        ii i
            da uno stato all’altro dovute a cambiamenti degli
            ingressi
            i        i

 •      nel diagramma degli stati vengono rappresentati inoltre i valori delle
        uscite per ogni stato:
          – negli archi se il modello è di Mealy
          – nei nodi se il modello è di Moore


                                                                                        16
a.a. 2007/2008
Architettura dei calcolatori


                                            Esempio di sintesi

 •      Esercizio: Progettare una rete sequenziale in grado di riconoscere, in
        presenza di una sequenza di cifre binarie, quando si sono presentati
        successivamente due 0 e un 11.




                           Diagramma di Moore                    Diagramma di Mealy

 •      Tabella di Transizioni (di Moore)
 •      codifica degli stati (y1y0 - stati presenti; Y1Y0 - stati futuri)
                                                        x    0     1
                                                 y1y0
                Y1 = y0 x’ + y1y0                           01    00    0
                                                 00 A
                Y0 = x’                                     11    00    0
                                                 01 B
                z = y1y0’                                               0
                                                                  10
                                                            11
                                                 11 C
                                                 10 D             00    1
                                                            01
                                                                 Y1 Y0 , z
                                                                                                 17
a.a. 2007/2008
Architettura dei calcolatori


                                          Sintesi con Flip Flop D

 •      Flip Flop D:           Q( t+1)= D(t)

 •      l’uscita è uguale all’ingresso
 •      un flip flop per ogni bit di stato da memorizzare
 •      D1=Y1
 •      D0=Y0




                                                                               18
a.a. 2007/2008
Architettura dei calcolatori



                                       Registri
 •      Un registro è un elemento di memoria in cui n flip-flop vengono controllati
        dallo stesso clock,formando sostanzialmente una unità in grado di
        memorizzare parole composte da n bit bit.
 •      Tipicamente sono presenti un segnale di Enable (o Chip Select CS), cioè
        una linea che consente di attivare la fase di memorizzazione e un
        segnale di Output Enable che rende visibile in uscita la parola
        memorizzata.




                                                                                       19
a.a. 2007/2008
Architettura dei calcolatori



                                        Memorie
 •      Le memorie sono dispositivi di memorizzazione logicamente assimilabili
        a banchi di registri, anche se dal punto di vista architetturale se ne
        discostano profondamente
                       profondamente.
 •      Ogni unità di memorizzazione viene detta cella di memoria.
 •      La presenza di p di un registro introduce la ovvia necessità di
            p              più        g
        selezionare a quale registro vogliamo accedere. Dal momento che
        stiamo lavorando con circuiti binari, la scelta più ovvia è quella di
        codificare in n bit il numero e utilizzare un decoder per produrre i segnali
        di abilitazione della cella in questione.
 •      Il numero così codificato viene detto indirizzo della cella e il numero di bit
        per l’i di i
             l’indirizzamento verrà i di t con na d
                             t     à indicato        dove l a i di l parola
                                                          la indica la       l
        address (indirizzo). Il numero di bit contenuti in ogni cella viene indicato
        con nd dove d indica la parola data (dati).




                                                                                          20
a.a. 2007/2008
Architettura dei calcolatori



                               Memorie




                                                    21

Contenu connexe

En vedette

A la trasformata di laplace
A   la trasformata di laplaceA   la trasformata di laplace
A la trasformata di laplaceAlessandro Bolo
 
M4.1 - Radiocomunicazioni
M4.1 - RadiocomunicazioniM4.1 - Radiocomunicazioni
M4.1 - Radiocomunicazionirpadroni
 
MODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computerMODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computerFrancesco Ciclosi
 
IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124
IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124
IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124Giacomo
 
MODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corsoMODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corsoFrancesco Ciclosi
 
Fisica - Onde e suono
Fisica - Onde e suonoFisica - Onde e suono
Fisica - Onde e suonoRoberto Testa
 
MODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazioneMODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazioneFrancesco Ciclosi
 
Presentazione progetto circuito sommatore
Presentazione progetto circuito sommatorePresentazione progetto circuito sommatore
Presentazione progetto circuito sommatoreDario Scalini
 
Architettura dei Calcolatori 04 Componenti Notevoli
Architettura dei Calcolatori 04 Componenti NotevoliArchitettura dei Calcolatori 04 Componenti Notevoli
Architettura dei Calcolatori 04 Componenti NotevoliMajong DevJfu
 
Sistemi lezione-iii-reti-di-calcolatori
Sistemi lezione-iii-reti-di-calcolatoriSistemi lezione-iii-reti-di-calcolatori
Sistemi lezione-iii-reti-di-calcolatoriUniversity of Catania
 
Quinta Lezione
Quinta LezioneQuinta Lezione
Quinta LezioneFil
 
L'amplificatore Operazionale
L'amplificatore OperazionaleL'amplificatore Operazionale
L'amplificatore OperazionaleClaudio Cancelli
 
Infografiche in didattica flip
Infografiche in didattica flipInfografiche in didattica flip
Infografiche in didattica flipLaura Antichi
 

En vedette (20)

Tecnologie & radiazioni
Tecnologie & radiazioniTecnologie & radiazioni
Tecnologie & radiazioni
 
A la trasformata di laplace
A   la trasformata di laplaceA   la trasformata di laplace
A la trasformata di laplace
 
Reti Logic
Reti LogicReti Logic
Reti Logic
 
M4.1 - Radiocomunicazioni
M4.1 - RadiocomunicazioniM4.1 - Radiocomunicazioni
M4.1 - Radiocomunicazioni
 
MODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computerMODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computer
 
IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124
IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124
IUAV BarCamp - La casa del futuro - Giacomo Montefusco 269124
 
MODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corsoMODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corso
 
Fisica - Onde e suono
Fisica - Onde e suonoFisica - Onde e suono
Fisica - Onde e suono
 
MODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazioneMODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazione
 
Presentazione progetto circuito sommatore
Presentazione progetto circuito sommatorePresentazione progetto circuito sommatore
Presentazione progetto circuito sommatore
 
Sistemi lezione-ii
Sistemi lezione-iiSistemi lezione-ii
Sistemi lezione-ii
 
Architettura dei Calcolatori 04 Componenti Notevoli
Architettura dei Calcolatori 04 Componenti NotevoliArchitettura dei Calcolatori 04 Componenti Notevoli
Architettura dei Calcolatori 04 Componenti Notevoli
 
Memorie-Lezione
Memorie-LezioneMemorie-Lezione
Memorie-Lezione
 
Sistemi lezione-iii-reti-di-calcolatori
Sistemi lezione-iii-reti-di-calcolatoriSistemi lezione-iii-reti-di-calcolatori
Sistemi lezione-iii-reti-di-calcolatori
 
Quinta Lezione
Quinta LezioneQuinta Lezione
Quinta Lezione
 
La polarizzazione del transistor
La polarizzazione del transistorLa polarizzazione del transistor
La polarizzazione del transistor
 
信息 Sunday Sermon 17/04/2011
信息 Sunday Sermon 17/04/2011信息 Sunday Sermon 17/04/2011
信息 Sunday Sermon 17/04/2011
 
L'amplificatore Operazionale
L'amplificatore OperazionaleL'amplificatore Operazionale
L'amplificatore Operazionale
 
Infografiche in didattica flip
Infografiche in didattica flipInfografiche in didattica flip
Infografiche in didattica flip
 
C rob-mob-motori-nxt-finale
C rob-mob-motori-nxt-finaleC rob-mob-motori-nxt-finale
C rob-mob-motori-nxt-finale
 

Plus de Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

Plus de Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
6
66
6
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 

Architettura dei Calcolatori 05 Sintesirls

  • 1. Dispense del corso di Architettura dei Calcolatori Sintesi di Reti Logiche Sequenziali
  • 2. a.a. 2007/2008 Architettura dei calcolatori Reti sequenziali Reti sequenziali; reti logiche in cui in ogni istante le uscite (e il comportamento interno) dipendono non solo dalla configurazione degli ingressi in quell’istante ma anche dalle configurazioni degli ingressi negli istanti precedenti. • Nelle reti sequenziali il comportamento dipende dalla storia passata; devono conservare memoria degli eventi passati nel proprio stato interno. • La funzione di commutazione z=f(x1,…,xn) non è più sufficiente ma deve x dipendere anche dal tempo • Variazioni delle configurazioni di ingresso modificano oltre che le uscite anche lo stato interno. Lo stato interno attuale si dice stato presente mentre lo stato della interno presente, rete logica in seguito alla variazione degli ingressi si definisce stato futuro • Reti sequenziali sono sincrone o asincrone: – asincrone, se le variazioni delle configurazioni di ingresso vengono sentite e modificano lo stato e le uscite in qualsiasi istante – sincrone, se le variazioni delle configurazioni di ingresso vengono sentite e modificano lo stato e le uscite solo in presenza di un opportuno evento di sincronizzazione • L’evento di sincronizzazione è normalmente associato ad un segnale attivo (il clock) o al cambiamento d ll stato d l segnale di sincronizzazione (f t d l l k) l bi t dello t t del l i i i (fronte del clock) 2
  • 3. a.a. 2007/2008 Architettura dei calcolatori Memoria binaria: Set-Reset • Come nelle reti combinatorie si definiscono i gate elementari, così per le reti sequenziali esistono blocchi elementari per memorizzare lo stato attuale Memoria binaria (bistabile asincrono): elemento capace di memorizzare il valore di una variabile di stato binaria e di commutare alla presenza di un opportuna configurazione di ingresso. SET-RESET: è una rete con due ingressi S e R e una uscita Q (ed una uscita complementata Q#) tale che l'uscita Q assume il valore 1 quando S=1 e R=0 e il valore 0 quando S=0 e R=1 e non cambi allorché S=R=0. • L combinazione di i La bi i ingresso S R 1 non si verifica mai ( S=R=1 i ifi i (configurazione proibita). fi i ibit ) SET SR SR Q Q# S Q Q(t) 00 01 11 10 00 Q Q# 01 01 0 0 X 1 0 10 10 11 -- 1 0 X 1 R Q# 1 RESET • Funzione di eccitazione del Set-Reset: Q(t+1)=S+R’Q(t) 3
  • 4. a.a. 2007/2008 Architettura dei calcolatori Set-Reset e latch Set-Reset S Q# • Q(t+1)=S+R’Q(t) • Q#(t+1)= (S+(R+Q’)’)’ • Esistono diverse realizzazioni: Q R Sintesi a NOR S S# Q Q R Q # R# Sintesi alternativa Sintesi a NAND Latch S-R sensibile a livello (del clock) ( ) EN# enable (clock) attivo basso: S# • se non è attivo (a 1) il secondo stadio ha la Q# configurazione di ingresso (0,0) e rimane nello stato corrente (stato di hold) ( ) • se è attivo (a 0) la rete è sensibile al cambiamento R# degli ingressi: Q • se sono entrambi a 1 la rete rimane in hold, • se sono a 0 configurazione vietata g EN# • altrimenti cambiano di stato 4
  • 5. a.a. 2007/2008 Architettura dei calcolatori D Latch • Memoria capace di mantenere l’uscita costante se il segnale di clock (o enable) non è attivo e di cambiare l’uscita campionando l’ingresso quando il clock e’ attivo (74LS76) D Q D CK Q Q# -0 Q Q# 01 01 11 10 CK Q D S Q R Q CK 5
  • 6. a.a. 2007/2008 Architettura dei calcolatori Flip flop e latch • Si definisce latch un bistabile sincrono trasparente, capace di memorizzare o meno segnali di ingresso in funzione di un segnale di abilitazione (clock o enable). • La transizione di stato avviene per tutto il tempo in cui il clock è attivo (alto) e si hanno tante transizioni di stato quanti cambiamenti di i t ii i tt ti bi ti ingressi avvengono i t l periodo. Il l t h è i in tale id latch trasparente agli ingressi quando l’enable non è attivo • Flip Flop è un dispositivo bistabile privo della proprietà di trasparenza • Nel flip flop il cambiamento della uscita non è conseguenza del cambiamento dell’ingresso dell ingresso di dato ma è conseguenza del cambiamento di un ingresso di controllo sincrono (il clock) o asincrono (preset o clear) • I flip flop si definiscono bistabili sincroni a commutazione sul fronte perché la transizione di stato avviene nell’istante in cui si ha l’evento significativo del clock (fronte di salita o di nell istante l evento discesa) in base agli ingressi in quel momento D Clk Q 7474 Q 7476 Edge triggered A livello 6
  • 7. a.a. 2007/2008 Architettura dei calcolatori Flip flop master slave • Esempio di Flip-Flop D master slave. 7
  • 8. a.a. 2007/2008 Architettura dei calcolatori Clock • Segnale di temporizzazione o clock è il segnale che varia periodicamente nel tempo; oscilla in un ciclo di clock da valore 1 al valore 0 • Si dice periodo di clock la lunghezza del ciclo di clock e frequenza di clock il suo inverso • Il duty cycle è la percentuale del tempo in cui il clock rimane alto Tck Tckh Tckl • fronte di salita e di discesa Tsup Thold Input Clock Cl k • Tsup (tempo di setup) è il periodo in cui gli ingressi devono rimanere stabili prima del fronte del clock per poter essere campionati correttamente • Th (t (tempo di hold) è il periodo i cui gli i h ld) i d in i li ingressi di devono rimanere stabili d i t bili dopo l’ l’evento d l t del clock 8
  • 9. a.a. 2007/2008 Architettura dei calcolatori Flip Flop edge triggered • Tutte le misure sono fatte rispetto al fronte positivo del clock T su T T su T h h 20 5 20 5 ns ns ns ns D Tw 25 ns Clk T plh T phl 25 ns 40 ns 13 ns 25 ns Q • requisiti temporali del 74LS74: • I tempi che si riportano sono – Setup time – Hold time – Minimum clock width – Propagation delays (low to high Tplh, high to low Tphl, max e typical) 9
  • 10. a.a. 2007/2008 Architettura dei calcolatori Flip Flop JK • Flip flop JK progettato per eliminare il problema dell’ingresso proibito (11) del flip flip SR Q# K R Q# Q(t+1)=Q(t)K’+Q(t)’J Q(t 1) Q(t)K’ Q(t)’J R-S J S Q Q • Dispositivi 74LS109: p flip flop JK con ingresso di PRESET e PRECLEAR JK (attivi bassi) Q(t) () 00 01 11 10 0 0 1 1 0 1 0 0 1 1 HOLD RESET TOGGLE SET • vengono usati per il campionamento dei dati: – per memorizzare dato= 0 JK=01 – per memorizzare d t 1 JK 10 i dato=1 JK=10 • basta collegare il dato a J e collegare K a J negato 10
  • 11. a.a. 2007/2008 Architettura dei calcolatori Flip Flop T - Toggle • Molto usati per fare commutare lo stato di uscita T J Q D Q ck K Q# Q# ck • nel secondo caso sempre abilitato (altrimenti impiego dell’ingresso T in AND) • Q(t+1)=Q(t)T’+Q(t)’T T Q Q# ck 11
  • 12. a.a. 2007/2008 Architettura dei calcolatori Flip Flop • Flip Flop e latch sono alla base dei circuiti sequenziali; ma quando usarli? • S-R latch S R l t h sono poco usati come bl ti blocchi f hi funzionali ( comunque i li (e all’interno dei JK e D). • Flip Flop T sono molto usati (realizzati con JK o D) all’interno dei p p ( ) contatori o per ricordarsi l’evoluzione di un contesto interno al sistema di elaborazione in due stati possibili • Flip Flop JK e D sono entrambi i più usati: con JK si realizzano funzioni più complesse con meno logica esterna, ma richiedono più pin. In VLSI si usano più i D SR: Q(t+1)=S+R’Q(t) D: Q(t+1)=D J-K: Q(t+1)=JQ’(t)+K’Q(t) T: Q(t+1)=TQ’(t)+T’Q(t) 12
  • 13. a.a. 2007/2008 Architettura dei calcolatori Reti asincrone e sincrone • Nel progetto di reti logiche si predilige l’impiego di reti sincrone • Reti asincrone sono alla base delle reti sincrone, ma con un segnale di riferimento, il clock. if i t lk • Anche nelle reti sincrone (come i FF-D) esistono segnali asincroni (clear e pre-set) p ) • è meglio evitare reti asincrone (soprattutto ad alta frequenza) perché sono sensibili ad alee (corse critiche). ibili d l ( iti h ) In alcuni casi, le reti asincrone sono inevitabili • circuiti di reset • segnali esterni • segnali di handshake • segnali di wait nelle memorie 13
  • 14. a.a. 2007/2008 Architettura dei calcolatori Reti sequenziali (1/2) • Una rete sequenziale memorizza le informazioni sulle configurazioni di ingresso che si verificano nel tempo; la memorizzazione avviene in stati interni • Le variabili di stato che definiscono lo stato interno in cui si trova la rete sono memorizzate in elementi di retroazione • Tra le reti sequenziali, importanza fondamentale hanno le macchine a stati finiti (FSM, (FSM Finite state machine) in cui gli elementi di retroazione sono Flip Flop con un unico segnale di clock • L’insieme dei FF è detto registro di stato e memorizza lo stato futuro presentando a valle lo stato presente uscite Rete ingressi logica combinat. R E G Clk reset 14
  • 15. a.a. 2007/2008 Architettura dei calcolatori Automa a stati finiti • Modello generale (automa di Mealy): il valore delle uscite dipende dallo stato presente e dagli ingressi in quell’istante Funzione di stato x1..xn prossimo G ingressi g Stato St t futuro Stato presente Elemento Y1..Yk y1..yk di memoria uscite Funzione di Z1.. Zm uscita F • Modello equivalente (automa di Moore): il valore delle uscite dipende solo dallo stato presente e non dagli ingressi in quell’istante Funzione di stato x1..xn prossimo G ingressi Stato St t futuro Stato presente Elemento Y1..Yk y1..yk di memoria uscite Funzione di Z1.. Zm uscita F • E E’ sempre possibile passare da un modello all’altro all altro • Il modello di Moore ha più stati ma funzioni di uscita più semplici 15
  • 16. a.a. 2007/2008 Architettura dei calcolatori Diagramma degli stati • Una rete sequenziale può essere rappresentata da un diagramma degli stati: – il diagramma degli stati è un grafo con tanti nodi quanti gli stati e t ti archi quante l t ti li t ti tanti hi t le transizioni ii i da uno stato all’altro dovute a cambiamenti degli ingressi i i • nel diagramma degli stati vengono rappresentati inoltre i valori delle uscite per ogni stato: – negli archi se il modello è di Mealy – nei nodi se il modello è di Moore 16
  • 17. a.a. 2007/2008 Architettura dei calcolatori Esempio di sintesi • Esercizio: Progettare una rete sequenziale in grado di riconoscere, in presenza di una sequenza di cifre binarie, quando si sono presentati successivamente due 0 e un 11. Diagramma di Moore Diagramma di Mealy • Tabella di Transizioni (di Moore) • codifica degli stati (y1y0 - stati presenti; Y1Y0 - stati futuri) x 0 1 y1y0 Y1 = y0 x’ + y1y0 01 00 0 00 A Y0 = x’ 11 00 0 01 B z = y1y0’ 0 10 11 11 C 10 D 00 1 01 Y1 Y0 , z 17
  • 18. a.a. 2007/2008 Architettura dei calcolatori Sintesi con Flip Flop D • Flip Flop D: Q( t+1)= D(t) • l’uscita è uguale all’ingresso • un flip flop per ogni bit di stato da memorizzare • D1=Y1 • D0=Y0 18
  • 19. a.a. 2007/2008 Architettura dei calcolatori Registri • Un registro è un elemento di memoria in cui n flip-flop vengono controllati dallo stesso clock,formando sostanzialmente una unità in grado di memorizzare parole composte da n bit bit. • Tipicamente sono presenti un segnale di Enable (o Chip Select CS), cioè una linea che consente di attivare la fase di memorizzazione e un segnale di Output Enable che rende visibile in uscita la parola memorizzata. 19
  • 20. a.a. 2007/2008 Architettura dei calcolatori Memorie • Le memorie sono dispositivi di memorizzazione logicamente assimilabili a banchi di registri, anche se dal punto di vista architetturale se ne discostano profondamente profondamente. • Ogni unità di memorizzazione viene detta cella di memoria. • La presenza di p di un registro introduce la ovvia necessità di p più g selezionare a quale registro vogliamo accedere. Dal momento che stiamo lavorando con circuiti binari, la scelta più ovvia è quella di codificare in n bit il numero e utilizzare un decoder per produrre i segnali di abilitazione della cella in questione. • Il numero così codificato viene detto indirizzo della cella e il numero di bit per l’i di i l’indirizzamento verrà i di t con na d t à indicato dove l a i di l parola la indica la l address (indirizzo). Il numero di bit contenuti in ogni cella viene indicato con nd dove d indica la parola data (dati). 20
  • 21. a.a. 2007/2008 Architettura dei calcolatori Memorie 21