Funzioni e Reti Logiche -...

59
Funzioni e Reti Logiche Architettura degli Elaboratori I [email protected]

Transcript of Funzioni e Reti Logiche -...

Page 1: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

Funzioni e Reti Logiche

Architettura degli Elaboratori I [email protected]

Page 2: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 2

Funzioni circuitali •  I circuiti elettronici non sono in grado di svolgere

operazioni complesse o algebriche •  Le funzioni base che si riescono a svolgere con

logica basata su commutatori bistabili (transistor) sono operazioni logiche (AND, OR, EX-OR) tra bit

•  Dobbiamo imparare a maneggiare le funzioni logiche

•  Per semplicità grafica useremo i simboli algebrici (+) al posto di OR e (·) al posto di AND, se non ci sono ambiguità (·) può venire omesso

Page 3: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 3

Operatori logici •  AND (·) – ha le stesse proprietà della

moltiplicazione nell’algebra convenzionale, in particolare 1 · X = X

•  OR (+) – la le stesse proprietà della somma nell’algebra convenzionale, inoltre 1+X = 1, da cui deriva ovviamente 1+1 = 1

•  Negazione (x) – inverte il valore della variabile •  EX-OR ( ) – può essere espresso come una

somma di prodotti x y = xy+yx e assume valore 1 quando uno solo degli ingressi è uno

Page 4: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 4

Funzioni logiche •  Le funzioni logiche sono combinazioni di AND, OR,

EX-OR e negazioni di variabili logiche •  Es.

–  f1(x,y) = xy+yx –  f2(x,y,z) = xy+x+z –  f3(x,y,z) = x+y(x+z) –  f4(x,y,z,w) = xw yz

Page 5: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 5

Funzioni logiche e mappe di verità •  Una combinazione logica (funzione) di variabili xi porta

alla definizione di una mappa di verità •  Es.

•  Dove si riconosce –  f1(x1 , x2) = x1 + x2 –  f2(x1 , x2) = x1 · x2

1 1 1 1 0 1 0 1 0 1 1 0

0 0 0 0 f2 f1 x2 x1

Page 6: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 6

Accendiamo una lampadina ...

supply

Light

Pos ition 0

Position 1

Position 0

Position 1

Common ground

Power bulb Switch x

1

Switch x 2

tipica configurazione per l’accensione di una lampadina da due punti

Page 7: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 7

Accendiamo una lampadina ...

0 0 1

1 1 1 1 1 1

1 0

0 0 0 0

1

0

0

1

1

1 1

x 1

x 2

f x 1

x 2

, ( ) x 1

x 2

+ = x 1

x 2

Configurazione degli interruttori in OR

Page 8: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 8

Accendiamo una lampadina ...

1 0 0 0 0 0

0 0 1

1 1 1

1 1

0 0

x 1

x 2

x 1

x 2

f x 1

x 2

, ( ) x 1

x 2

·=

configurazione degli interruttori in AND

Page 9: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 9

Accendiamo una lampadina ...

1 1 0 1 1

0

0 0 0 0

0 1

1 1 1 1 1 1

1 0

0 0

x 1 x 2

x 1

x 2

f x 1

x 2

, ( ) x 1

x 2

⊕ =

configurazione degli interruttori in EX-OR

Page 10: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 10

Porte logiche •  Le operazioni logiche elementari vengono svolte da

circuiti elettronici realizzati appositamente per effettuare la funzione, che vengono in genere chiamate “porte” o “gate” in inglese

•  Ogni funzione ha una sua porta ... porta AND, porta OR, ...

•  L’uscita della porta ha il valore della funzione logica implementata

Page 11: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 11

Porte logiche

Rappresentazione standard delle porte logiche più comuni

Ai fini della sintesi di un circuito che realizza una funzione logica è uso dare una rappresentazione grafica delle porte

Le porte possono essere collegate tra loro per realizzare reti logiche, che sono la base di tutti i circuiti, siano essi integrati o a componenti discreti

Page 12: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 12

Negazione degli ingressi

è uso rappresentare gli ingressi negati con un semplice pallino sull’ingresso

anzichè con la porta NOT

Le porte logiche possono anche avere più di 2 ingressi

Page 13: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 13

Torniamo alle mappe di verità •  Una mappa di verità contiene tante righe quante sono

le possibili combinazioni delle variabili, cioè 2n dove n è il numero di variabili.

•  Ciascuna riga della colonna corrisponde per cui la funzione vale 1 corrisponde all’AND logico di una data combinazione delle variabili o delle variabili negate

•  La funzione logica complessiva è definita dall’OR logico di tutte le combinazioni che danno per risultato 1

•  La mappa di verità definisce una funzione somma (OR) di prodotti (AND)

Page 14: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 14

Esempio

x1 x2 x3

x1 x2 x3

x1 x2 x3

x1 x2 x3 1 1 0 0

1 1 1 0

0 1 0 1

0 1 1 1 1 0 1 1

1 0 0 1

0 0 1 0

0 0 0 0 f x3 x2 x1

f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3

Page 15: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 15

Sintesi di reti logiche •  Una rete logica può essere sintetizzata

direttamente dalla tavola di verità, ovvero dalla sua forma “somma di prodotti”

•  Risulta una rete a due stadi, il primo di porte AND, il secondo con una sola porta OR

•  Qualche esempio ...

Page 16: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 16

Sintesi di reti logiche

•  rete che realizza una funzione XOR tra due ingressi

Page 17: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 17

Un’altra funzione

x1 x2 x3

x1 x2 x3

x1 x2 x3

x1 x2 x3

1 1 0 0

1 1 1 0

0 1 0 1

1 1 1 1 0 0 1 1

0 0 0 1

0 0 1 0

1 0 0 0 f1 x3 x2 x1

f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3

Page 18: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 18

Sintesi di reti logiche

•  Possiamo realizzarla con un numero minore di porte?

Page 19: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 19

Costo di una rete logica

•  Per COSTO di una rete logica si intende normalmente la somma del numero di porte e del numero di ingressi della rete (indipendentemente dal fatto che siano positivi o negati)

5 porte più

16 ingressi ⇒ costo 21

Page 20: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 20

Minimizzazione di funzioni logiche •  Data una funzione logica esistono molte reti logiche

diverse per realizzarla ... non tutte equivalenti dal punto di vista del costo

•  Dalla tavola di verità si ottiene una rete logica a due stadi, non necessariamente quella a costo minimo

•  Esiste un modo per minimizzare la una funzione logica in modo che il suo costo implementativo sia minimo?

Page 21: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 21

Minimizzazione di funzioni logiche •  Una espressione logica si dice minima quando il

costo della rete logica che la realizza è minimo •  È possibile che una rete minima abbia più di due

stadi, cioè l’espressione corrispondente non è in forma somma-di-prodotti

•  Le configurazioni con più di due stadi hanno applicazioni limitate perché introducono un ritardo maggiore nell’elaborazione (propagazione dei segnali dagli ingressi delle porte alle uscite delle porte e quindi agli ingressi dello stadio successivo)

Page 22: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 22

Identità e regole algebriche booleane

x = 1•x x = 0+x

0 = 0•x 1 = 1+x x + y = x•y x•y = x + y De Morgan

yx = xy y+x = x+y commutativa

x(yz) = (xy)z x+(y+z) = (x+y)+z associativa

xy+xz = x(y+z) (x+y)(x+z) = x+yz distributiva

0 = xx 1 = x + x complemento

x = xx x = x+x identità o idempotenza

AND (•) OR (+) nome

Page 23: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 23

f(x1,x2,x3) = x2 + x1x3

Minimizzazione di funzioni logiche •  La minimizzazione di alcune espressioni logiche è

banale, in altri casi è necessario applicare le regole definite prima in modo “furbo”

•  Es.

f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3

f(x1,x2,x3) = x2 + x1x2x3 furbo (costo 7)

più furbo (costo 6)

Page 24: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 24

Esercizi •  Realizzare in forma canonica (somma di prodotti) la

funzione XOR negata, cioè la coincidenza •  Dimostrare che

–  (a b) c = abc + abc + abc +abc –  x + wx = x –  xy + yw + xw = xy + xw usando sia le manipolazioni algebriche che le mappe di

verità delle funzioni

Page 25: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 25

Minimizzazione metodo “grafico” •  La minimizzazione algebrica di funzioni logiche non

è un processo semplice e diretto •  Per poche variabili è possibile usare una forma

particolare delle mappe di verità che consente una minimizzazione “a vista” della rete implementativa molto semplice

•  Mappe di Karnaugh

Page 26: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 26

Mappe di Karnaugh (MdK) •  Una MdK è una tabella a due

dimensioni che riporta le variabili logiche come indici delle righe e delle colonne e come valore nelle caselle il valore della funzione

•  L’idea di base per la minimizzazione con le MdK è sfruttare l’adiacenza dei valori positivi, che indicano una possibile fattorizzazione o aggregazione dei termini moltiplicativi della tavola di verità

1 0

0 0

A 0 1 B 0

1

0 1

1 0

A 0 1 B 0

1

MdK di AB

MdK di A B

1 1

0 0

A 0 1 B 0

1

MdK di B

Page 27: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 27

MdK a 3 variabili •  è una tabella di 8 elementi •  In genere si mettono 2 variabili

nelle colonne •  Si noti la codifica delle coppie

di bit tipo “gray”

•  f = x1x2+x1x2x3+x1x3

1

10 11 01 0

00 x1x2

x3

1 1 0 0 1 0 10

1 11

0 01

0 0 00

x1x2

x3

Page 28: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 28

MdK a 4, 5, 6, ... variabili •  Con 4 variabili è una tabella di

16 elementi •  Con 5 di 34 •  Con 6 di 64 •  ....

•  Si noti ancora la codifica delle coppie di bit tipo “gray” che è fondamentale per la minimizzazione

01

10 11 01 00

00 x1x2

x3x4

11 10

Page 29: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 29

Uso delle MdK •  L’idea chiave è che “1” adiacenti nelle MdK corrispondono a

termini che differiscono per una sola variabile e indicano quindi una possibile semplificazione algebrica

•  Una MdK, disegnata sul piano, va interpretata come ripiegata su un toroide ⇒ le celle sui bordi sono adiacenti a quelle sul bordo opposto

Page 30: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 30

Uso delle MdK •  Raggruppando gli “1”

adiacenti si trovano dei termini prodotto

•  Più è grande il gruppo meno variabili ci sono nel termine

•  Lo stesso “1” può far parte di diversi gruppi

1 1 0 0 1 0 10

1 11

0 01

0 0 00

x1x2

x3

1 1 0 0 1 1 10

1 11

0 01

0 0 00

x1x2

x3

1 1 0 0 1 0 10

1 11

0 01

0 0 00

x1x2

x3

x1x2

x1

x1x2

x1x3

Page 31: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 31

Esempio

x1 x2 x3

x1 x2 x3

x1 x2 x3

x1 x2 x3 1 1 0 0

1 1 1 0

0 1 0 1

0 1 1 1 1 0 1 1

1 0 0 1

0 0 1 0

0 0 0 0 f x3 x2 x1

f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3

data la funzione a fianco minimizzarla usando le MdK

Page 32: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 32

Esercizi •  Disegnare le MdK delle seguenti funzioni e trovarne una

espressione minima

Page 33: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 33

Condizioni di “don’t care” •  Esistono situazioni in cui il valore di una variabile o

di un gruppo di variabili non ha importanza per una funzione, cioè può assumere un valore “d”. Es: –  x = d –  xyz = d

•  Le MdK consentono di tenere conto di queste situazioni, perchè si può assegnare le caselle “d” a gruppi di “1”, che generano un termine nella funzione oppure lasciarle a “0”

Page 34: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 34

MdK con “don’t care”

•  f = x1x4 + x2x3x4 + x2x3x4

01

10 11 01

1 d 0 0 0 d 0 0 00

00 x1x2

x3x4

d d 1 0 d d 0 1 11

10 x2x3x4

x1x4

x2x3x4

Page 35: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 35

Altri esercizi ... •  Usando le MdK si trovi una realizzazione a costo minimo

della funzione f(x1,x2,x3,x4) che assume valore “1” quando uno o due degli ingressi assumono valore “1” e zero altrimenti

•  Derivare tutte le possibili forme minime delle seguenti funzioni

–  Vi sono più forme minime equivalenti?

–  Ve ne sono di “preferibili”? –  Giustificare le risposte

0 1 d d d 1 1 0 f4

1 1 0 d 1 0 1 d f3

1 0 0 0 1 1 1 1 f2

1 1 0 0

0 1 1 0

0 1 0 1

1 1 1 1 1 0 1 1

1 0 0 1

0 0 1 0

1 0 0 0 f1 x3 x2 x1

Page 36: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 36

Altri esercizi ... •  Si consideri la seguente condizione di “don’t care”

d = x1x2(x3x4+x3x4) + x1x3x4

Data la funzione f = x1(x2x3+x2x3+x2x3x4) + x2x4(x3+x1)

se ne trovi la realizzazione come somma di prodotti di costo minimo

•  La realizzazione è unica?

Page 37: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 37

Altre porte logiche •  Qualsiasi funzione logica si può realizzare con porte AND e

OR •  Esistono però molti altri tipi di porte logiche: l’EX-OR ne è un

esempio •  Nella pratica ingegneristica le porte più usato sono le porte

NAND e NOR, cioè delle funzioni AND e OR con negazione dell’uscita

•  La ragione è la facile realizzazione in tecnologia c-mos delle suddette porte

•  In generale i circuiti integrati mettono a disposizione del progettista solo due tipi di porte, una per “moltiplicare” e una per “sommare”

Page 38: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 38

Porte NAND e NOR

•  Qualsiasi funzione realizzabile con AND e OR può essere realizzata con NAND e NOR ... solo che la “logica inversa” è un po’ meno intuitiva

Page 39: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 39

Reti con reazione e memoria •  Le funzioni logiche e le relative reti di

implementazione visto fino ad ora sono note come “reti combinatorie”

•  Le reti combinatorie non hanno una nozione “esplicita” del tempo e non hanno memoria del passato: in ogni istante di tempo l’uscita dipende solamente dagli ingressi nell’istante considerato

•  In molte applicazioni è necessario introdurre memoria nel sistema ...

•  In realtà si dà sempre per scontato che un elaboratore sia in grado di memorizzare informazioni

Page 40: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 40

Reti con reazione e memoria •  La memoria in una rete logica si ottiene con una

“reazione” cioè alimentando l’uscita di alcune porte sugli ingressi di porte del medesimo stadio in modo da formare un anello in cui gli ingressi dipendono dalle uscite (e viceversa)

•  La reazione complica in modo significativo l’analisi e la sintesi di una rete logica

•  La memoria deriva dal fatto che gli ingressi “ricordano” il passato della rete attraverso il valore delle uscite passate

Page 41: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 41

Elemento base di

memoria (latch)

realizzazione con due porte NOR

e schema di “temporizzazione”

della tavola di verità

Page 42: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 42

Analogia Fisica

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Vin

V1V2

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Vin

VinV2

Equilibrio 0!

Equilibrio 1!

Metastabile!

Stabile left Stablie destra

. Metastabile

Page 43: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 43

Memorizzare un bit

Q+!

Q–!

R!

S!

R-S Latch!

Q+

Q–

R

S

Q+

Q–

R

S

Reset!1

0

1 0

0 1

Q+

Q–

R

S

Q+

Q–

R

S

Set!0

1

0 1

1 0

Q+

Q–

R

S

Q+

Q–

R

S

Memorizzare!0

0

!q q

q !q

Elemento Bistabile!

Q+!

Q–!

q

!q

q = 0 or 1!

Page 44: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 44

Stati indecidibili e temporizzazione •  Dato che i segnali non si propagano in tempo nullo, l’effetto

del cambio di un ingresso di propaga in tempo finito sulle uscite

•  Se le uscite sono reazionate questo può creare problemi di indecidibilità dello stato di una rete con memoria

•  Gli elementi di memoria sono quindi sempre temporizzati, cioè sono governati da un segnale speciale chiamato “clock”

•  Un elemento base di memoria temporizzato viene normalmente indicato come “gated latch”

Page 45: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 45

•  Il clock viene inserito come “ingresso di abilitazione” attraverso porte AND: se ck è a zero la rete reazionata ha gli ingressi forzati a zero e non può cambiare stato

•  Quando ck è a uno la gli ingressi della rete reazionata sono gli ingressi R ed S del circuito

•  Circuiti di questo tipo hanno rappresentazione grafiche “standard”

Page 46: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 46

Realizzazione di un latch con porte NAND

Qual’è la tavola di verità di questo circuito?

Page 47: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 47

Elementi di memoria “reali” celle D e flip-flop

•  Le reti viste prima sono note come latch S-R (Set-Reset)

•  Hanno il difetto di avere uno stato indecidibile (cioè l’uscita non può essere nota con certezza) quanto entrambi gli ingressi sono a uno

•  In molti casi questo è inaccettabile

•  Si può rimediare?? –  latch-D (data) –  flip-flop

Page 48: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 48

latch tipo “D”

•  Gli ingressi al circuito base sono ottenuti da una unica variabile

•  Non vi può essere ambiguità

•  Il circuito è abilitato durante tutta la fase positiva del clock

Page 49: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 49

flip-flop master-slave D Q

Q

Master Slave

D

Clock

Q

Q

D Q

Q

Q m Q s

D

Clock

Q m

Q Q s =

D Q

Q

(a) Circuit

(b) Timing diagram

(c) Graphical symbol

Clk Clk

•  Configurazioni più complesse (come questa) consentono ad esempio di ottenere che l’uscita del circuito commuti esattamente al termine dell’impulso di clock

Page 50: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 50

Registri

–  Impiegati per registrare delle word di dati –  Collezione di latch edge-triggered –  Caricano gli input sul fronte in salita del clock

I! O!

Clock!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

i7!i6!i5!i4!i3!i2!i1!i0!

o7!

o6!

o5!

o4!

o3!

o2!

o1!

o0!

Clock!

Structure!

Page 51: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 51

Operazioni su registri

–  Memorizzano bit –  La maggior parte delle volte operano come una barriera

tra input e output –  Sul fronte in salita del clock memorizzano l’input

State = x"Rising"clock""

Output = x"Input = y"x" "

State = y"

Output = y"y"

Page 52: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 52

Esempio di macchina a stati

–  Circuito accumulatore

–  A ogni ciclo carica l’input e lo accumula

Comb. Logic!

A"L"U"

0"

Out!MUX"0"

1"

Clock!

In!Load!

x0" x1" x2" x3" x4" x5"

x0" x0+x1" x0+x1+x2" x3" x3+x4" x3+x4+x5"

Clock!

Load!

In!

Out!

Page 53: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 53

flip-flop tipo “T”

•  “T” sta per “toggle” cioè “oscillatore”

•  Commuta lo stato dell’uscita ad ogni colpo di clock se l’ingresso è positivo

•  Molto usato per realizzare contatori

•  Perchè?

Page 54: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 54

flip-flop “J-K”

•  Combina le proprieta` dei flip-flop di tipo T con i latch S-R

•  è un circuito versatile perchè può memorizzare dati o realizzare contatori

Page 55: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 55

flip-flop master-slave con preset e clear

•  Consente di “forzare” delle particolari configurazioni sulle uscite (zero o uno) indipendentemente dalla “storia” del circuito

Page 56: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 56

Qualche esempio di circuiti “reali”

Shift register (registo a scalamento) di 4 bit

D Q

Q Clock

D Q

Q

D Q

Q

D Q

Q

In Out

F 1 F 2 F 3 F 4

•  Sapete realizzare uno shift register ciclico?

Registers

Page 57: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 57

Shift register ad accesso parallelo

Page 58: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 58

Contatore a tre bit

•  Conta in su (up-counter) o conta in giù (down-counter)?

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2

(a) Circuit

Clock

Q 0

Q 1

Q 2

Count 0 1 2 3 4 5 6 7 0

(b) Timing diagram

Page 59: Funzioni e Reti Logiche - latemar.science.unitn.itlatemar.science.unitn.it/LODE/Architettura_degli_elaboratori_2013/... · Architettura degli Elaboratori I palopoli@dit.unitn.it .

[email protected] Architetture degli Elaboratori 1 – I 59

Decodificatore per display BCD a sette

segmenti

•  Sapreste progettare un decodificatore per display a 7 segmenti che presenta le lettere dell’alfabeto (maiuscole) nello stesso modo dei numeri?