La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

5.1 - Memorie a sola lettura 5.2 - Matrici logiche programmabili 5.3 - Unità aritmetica e logica Capitolo 5 Circuiti programmabili.

Presentazioni simili


Presentazione sul tema: "5.1 - Memorie a sola lettura 5.2 - Matrici logiche programmabili 5.3 - Unità aritmetica e logica Capitolo 5 Circuiti programmabili."— Transcript della presentazione:

1

2 5.1 - Memorie a sola lettura Matrici logiche programmabili Unità aritmetica e logica Capitolo 5 Circuiti programmabili

3 La programmazione dellhardware Funzioni di n variabili Ho bisogno di questa! macchina di programmazione

4 Rete combinatoria programmabile - Rete combinatoria in grado di presentare diverse relazioni ingresso/uscita singolarmente selezionabili mediante lattribuzione di una determinata configurazione ad un gruppo di ingressi detti bit di programmazione. Le reti combinatorie programmabili x1x1 x2x2 xnxn Rete combinatoria programmabile z1z1 z2z2 zmzm p1p1 p2p2 pypy z i = F (p 1,p 2,…..,p y,x 1,x 2,…..,x n )= F p (x 1,x 2,…..,x n )

5 5.1 Memorie a sola lettura

6 La rete basata sullespressione generale F(0) F(1) F(2 n -1) x 1 x 2 xnxn F F(x 1,x 2,...x i,..x n ) = m(i) F(i). i=0 2 n -1 Espressione in grado di descrivere qualsiasi funzione di n variabili Rete combinatoria programmabile in grado di realizzare qualsiasi funzione di n variabile F(i): bit di programmazione

7 MUX come reti programmabili SN74151 I 0 I 1 I 2 I 3 Z I 4 I 5 I 6 I 7 CBA SN74153 I 0 I 1 I 2 Z I 3 B A SN74157 I 0 I 1 Z A SN74150 I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 Z I 8 I 9 I 10 I 11 I 12 I 13 I 14 I 15 DCBA A,B,C,D ingressi ( x i ) IiIi bit di programmazione ( p i )

8 ROM (Read Only Memory) I MUX disponibili nelle famiglie logiche hanno un basso numero di segnali di selezione. Difatti al crescere di n cresce esponenzialmente il numero dei pin del circuito integrato da utilizzare per i bit di programmazione. Esempio: n= = pin per la programmazione ! Le ROM sono reti combinatorie programmabili basate sulla espressione generale SP ed aventi i bit di programmazione integrati allinterno del dispositivo.

9 Struttura di una ROM (1) Una diversa realizzazione del MUX ( T5 ) I contatti al posto dei segnali di programmazione F(0)F(1)F(2)F(3) F x 1 x 0 F F(i)=0/1 Contatto aperto/chiuso

10 contatto chiuso contatto aperto Struttura di una ROM (2) x 1 x 0 F Rappresentazione compatta della struttura di una ROM : Realizzazione integrata di più funzioni. Esempio: in un contenitore da 24 pin è possibile alloggiare un chip che realizza o 8 funzioni di 14 variabili o una funzione di 21 variabili. GO

11 Le ROM come circuiti di memoria Ogni configurazione delle variabili di ingresso può essere vista come lindirizzo di un dato formato dai bit che sono stati programmati nella riga corrispondente. Bit di programmazione D0D0 D1D1 DkDk A 0 A 1. A n-1 DECDEC m0m0 m 2 n -1 m1m1

12 Le vere e proprie ROM I contatti vengono realizzati dal costruttore nellultimo stadio del processo di fabbricazione del circuito su ordine dellacquirente: Le ROM sono programmabili una sola volta (OTP: one time programmable). memorie a sola lettura (Read Only). memorie non volatili

13 Memorie non volatili a sola lettura Memorizzazione di informazioni che devono permanere quando il sistema non è alimentato e che non non cambiano durante il funzionamento. Limitazioni delle ROM Esempi: il loader visto in 3.2, il programma di un sistema embedded, il BIOS del PC ….. Costi fissi elevati Non adatte allo sviluppo (OTP) Grossi volumi di produzione.

14 PROM (Programmable ROM) La programmazione viene effettuata dallutente mediante unapposita apparecchiatura che consente di bruciare selettivamente i fusibili inseriti dal costruttore. Convenienti per bassi-medi volumi di produzione Dispositivi programmabili una sola volta i

15 Q EPROM (Erasable PROM) Costo superiore a quello delle PROM Cancellazione ottenuta convogliando luce ultravioletta sui terminali di comando attraverso una finestra di quarzo presente sul contenitore. Programmazione effettuata dallutente mediante una apposita apparecchiatura che consente di inviare impulsi elettrici che provocano accumulazione di carica sul terminale di comando. Dispositivi riprogrammabili Q

16 Memorie a sola lettura cancellabili elettricamente EEPROM (Electrically Erasable PROM) : si programmano e cancellano byte-per-byte tramite segnali elettrici e senza rimuovere il dispositivo dalla piastra stampata. FLASH-EPROM: si programmano/cancellano elettricamente direttamente sulla piastra. La cancellazione è più veloce rispetto alle EEPROM: con ununica operazione è possibile cancellare lintero dispositivo oppure uno o più settori.

17 Bit di programmazione Selezione a due dimensioni (1) F(A 2,A 1, A 0 ) = A 2 A 1 A 0 F(0) + A 2 A 1 A 0 F(1) + A 2 A 1 A 0 F(2) + A 2 A 1 A 0 F(3) + A 2 A 1 A 0 F(4) + A 2 A 1 A 0 F(5) + A 2 A 1 A 0 F(6) + A 2 A 1 A 0 F(7) A2A2 F A0A1A0A1 DECDEC m0m0 m3m3 m1m1 m2m2 MUX = A 2 (A 1 A 0 F(0) + A 1 A 0 F(1) + A 1 A 0 F(2) + A 1 A 0 F(3)) + A 2 (A 1 A 0 F(4) + A 1 A 0 F(5) + A 1 A 0 F(6) + A 1 A 0 F(7)) F(0) F(1) F(2) F(3) F(4) F(5) F(6) F(7)

18 Matrice di bit di programmazione Selezione a due dimensioni (2) D1D1 DkDk MUXMUX D0D0 A m A m+1 A n-1 A 0 A 1 A m-1 ROwROw DECDEC COLCOL DECDEC

19 Estensione del numero di uscite Collegamento in parallelo di più ROM z k+1 z k+2 …z 2k+1 z 0 z 1 … z k A 0 A 1 ……..A n-1 ROM D 0 D 1 …D k A 0 A 1 ……..A n-1 ROM D 0 D 1 …D k xnx1x0xnx1x0

20 Estensione del numero di ingressi Teorema di espansione m n-m DkDk MUX AmAm A n-1.. DkDk A 0 A 1 ……..A m-1 ROM A 0 A 1 ……..A m-1 ROM A 0 A 1 ……..A m-1 ROM D0D0 D0D0 D0D0 D0D0 MUX AmAm A n-1.. N.B. - Al primo livello occorrono 2 (n-m) ROM

21 Amplificatore a 3 stati duscita I O OE OEIO HLL HHH LXZ I O OE Lo stato elettrico del segnale è indefinito o fluttuante (Terzo Stato, Stato di Alta Impedenza) OE I O

22

23

24

25 MUX con amplificatori 3-state (1) In ogni istante di tempo non deve esserci più di un 3-state abilitato ! DEC 0321 I0I0 I1I1 I2I2 I3I3 Z A0A0 A1A1 MUX 4:1 Le uscite del decoder non variano simultaneamente Situazione di corto circuito (conflitto elettrico) con possibili malfunzionamenti del sistema Nei 3-state il tempo di risposta allabilitazione (t pZH, t pZL ) è inferiore a quello necessario per il passaggio nel terzo stato (t pHZ, t pLZ )

26 MUX con amplificatori 3-state (2) DEC I0I0 I1I1 I2I2 I3I3 Z A0A0 A1A1 AiAi EN Z I0I0 I1I1 I2I2 I3I3 Z DEC 0321 A0A0 A1A1 EN

27 Stadio di uscita di una ROM CE OE O0O0 O1O1 OkOk D1D1 DkDk Bit di programmazione D0D0 A m A m+1 A n-1 A 0 A 1 A m-1 DECDEC COLCOL ROWROW DECDEC MUX

28 Progetto di un banco di ROM (1) Supponiamo di voler connettere 32K byte di ROM ad una CPU con 16 bit di indirizzo (A 0..A 15 ) ed 8 bit di dato e di avere a disposizione dispositivi ROM da 8K x 8. Supponiamo inoltre che la CPU veda il banco di ROM nella parte alta del suo spazio di indirizzamento (8000H - FFFFH, cioè A 15 =1). Estensione del numero degli ingressi a[0..12] A 0 A 1 …A 12 ROM D0D0 A 0 A 1 …A 12 ROM A 0 A 1 …A 12 ROM A 0 A 1 …A 12 ROM D0D0 D0D0 D0D0 D7D7 d0d0 MUX d7d7 a[13,14] MRD a15

29 Progetto di un banco di ROM (1) a13 a14 a15 DECDEC a[0..12] ROM A 0 A 1 …A 12 D0D0 D0D0 D0D0 D0D0 D7D7 D7D7 D7D7 D7D7 d0 d7 MRD* OE* CE*

30 Esercizi 5.1 e 5.2 Si riprogetti il banco di ROM da 32KB (byte) nel caso in cui si disponga di una ROM 16K x 8, una ROM 8K x 8, due ROM 4K x 8. Si individui uno schema che consente di collegare al bus dati 8 pulsanti di cui il processore deve poter fare il polling allindirizzo di I/O 0000H.

31 5.2 Matrici logiche programmabili

32 Matrice AND Programmata dal costruttore Matrice OR Programmata dallutente Rappresentazione di una ROM in termini di matrici AND e OR ROM 2x2Caso generale N.B. - Ogni AND realizza un potenziale mintermine e può essere impiegato per la programmazione di ciascuna uscita (espressione generale SP). N AND = 2 n

33 Matrice AND Programmata dallutente Matrice OR Programmata dallutente PLA e PAL Matrice AND Programmata dallutente Matrice OR Programmata dal costruttore PLA:Programmable Logic Array PAL:Programmable Array Logic N.B. - Ogni AND realizza un implicante (espressione normale SP). Nelle PLA gli implicanti possono essere comuni a più uscite. N AND << 2 n

34 Sintesi con PLA a ba b cd z a ba b cd w a b c d z w

35 Sintesi con PAL a ba b cd z a ba b cd w a b c d z w N.B. - Quando non si dispone di un numero sufficiente di AND può essere utile realizzare la funzione complemento.

36 Esercizio 5.3 BCD Gray A B C D X X X X W X Y Z Si sintetizzi un trascodificatore da codice BCD a codice Gray utilizzando una PAL con 4 ingressi, 4 uscite e 4 AND per uscita.

37 PAL con I/O programmabile (16L8)

38 5.3 Unità aritmetica e logica

39 ALU: Arithmetic and Logic Unit u = F c (x, y) ALU x y u flag c ALU - Rete combinatoria in grado di eseguire diverse operazioni di tipo aritmetico o logico. Loperazione di volta in volta eseguita dipende dal valore attribuito ai bit di programmazione (codice operazione)

40 01 CI C 2 C 1 C 0 x + yx + y + 1 x -yx - y -1 x yy y-(y +1) , x x + 1 x M=0 pag C3C3 C 2 C 1 C 0 x y x or y (x y) x yy x or y y 0000x and y x or y x x 1111 M=1 pag. 5.23

41 Sottrazione fra numeri naturali a n-1 aiai a1a1 a0a0 b n-1 bibi b1b1 b0b0 - p n-1 pipi p1p1 0 d n-1 didi d1d1 d0d0 D = A - B (A B) Sottrazione fra due numeri da un bit = 0 ; = 1 ; = 0 ; : quantità non rappresentabile. Sottrazione colonna per colonna fra due numeri da n bit p a bPD

42 Complemento a 2 di un numero naturale N formato da n bit Calcolo di A - B con A B A - B = A + (2 n - B) - 2 n = (A + 2 B) - 2 n calcola A + 2 B elimina il bit più pesante A A - B B CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO N = 2 n - N Calcolo di 2 N senza la sottrazione 2 N = 2 n - N = (2 n - 1) - N + 1 = not (N) + 1

43 Numeri relativi: rappresentazione segno-valore assoluto N [ -(2 n-1 - 1), +(2 n-1 - 1) ] b n-1 b n-2 b1b1 b0b0 n bit segno (0: positivo, 1: negativo) valore assoluto |N| = ( b n-2.2 n-2 + …+ b )

44 Numeri relativi: rappresentazione in complemento a 2 N = -2 n-1. b n-1 + b n-2.2 n-2 + …+ b N [ -2 n-1, +(2 n-1 - 1) ] b n-1 b n-2 b1b1 b0b0 n bit +1 = = = N.B. - anche nella rappresenta- zione in complemento a 2 il bit più significativo indica il segno (0:positivo, 1:negativo). Esempi ( n=4 ) +7 = = = N 0 : segno-valore assoluto N < 0 : 2 (-N) con (-N) espresso in segno-valore assoluto

45 Proprietà della rappresentazione in complemento a 2 eseguendo 2 A si ottiene -A eseguendo A+B si ottiene la somma algebrica fra A e B: Siano A e B due numeri nella rappresentazione in complemento a 2: eseguendo A + 2 (B) si ottiene A - B = A = -3 B = = A = -4 B = = A = -4 B = N.B. - per sommare o sottrarre due numeri relativi espressi in complemento a 2 è sufficiente un addizionatore. A: (+1) A: (-1) (-7) (+7)

46 Esercizi 5.4 e 5.5 Utilizzando una rappresentazione in complemento a 2 con n=5 si eseguano le seguenti operazioni: (-12) + (+4) (-12) + (-1) (-12) - (-12) (-12) + (+12) (-12) + (-4) (+10) - (+5) (+10) - (+11) (+12) +(+5) (-14) + (-4) Qualè il valore dei seguenti numeri relativi espressi nella rappresentazione in complemento a 2: 1111, , , 1110, ,

47 Un adder/subtractor programmabile x MUXMUX 0 1 y CI C0C0 CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO u CI C0C0 x + yx + y + 1 x -yx - y - 1

48 ….. più operazioni aritmetiche 01 CI C 2 C 1 C 0 x + yx + y + 1 x -yx - y -1 x yy y-(y +1) , x x + 1 x CI CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO u MUXMUX 0 1 C0C0 x 0000 MUXMUX 0 1 y MUXMUX 0 1 C2C2 C1C1

49 Sintesi della rete di pre-elaborazione b k = c 0 ( c 1 y k ) + c 0 ( c 1 y k ).... = c 0 ( c 1 y k ). C0C0 C2C2 x0x0 x1x1 x2x2 x3x3 C1C1 y0y0 y1y1 y2y2 y3y3 CI u s0 s1 s2 s3 s0 s1 s2 s3 4 BIT ADDER CI a0a0 a1a1 a2a2 a3a3 b0b0 b1b1 b2b2 b3b3 CO s0s0 s1s1 s2s2 s3s3 4 BIT ADDER a k = c 2 x k +c 2 0 = c 2 x k...

50 Bit di modalità e operazioni logiche CIC2C2 Rete di pre-elabor. x y C1C1 C0C0 CI a 0 a 1 a 2 a 3 b 0 b 1 b 2 b 3 CO s 0 s 1 s 2 s 3 u 4 BIT ADDER con M M M (bit di modalità, 0: logica, 1: aritmetica) FA rabrab s rabrab R s R M M=0 s = a b M=0 C 2 C 1 C 0 x y (x y) x y x y

51 ....più operazioni logiche C3C3 ukuk xkxk ykyk C2C2 C0C0 C1C1 FA M=0 akbkakbk sksk r R C 2 C 1 C 0 C3C3 0 1 x y(x y) xxyy x + y (x y) x + yxy x y1111. N. B. - In questa tabella. è il simbolo della somma logica e + quello del prodotto.

52 Segnali di flag flag ALU x y u c ZF ZERO FLAG: vale 1 se il risultato vale 0. SF SIGN FLAG: vale 1 se il risultato è negativo. CF CARRY FLAG: vale 1 se CO=1. OF OVERFLOW FLAG: vale 1 in caso di traboccamento del risultato di unoperazione fra numeri relativi rappresentati in complemento a 2. PF PARITY FLAG: vale 1 se il bit di parità del risultato vale 1.

53 Generazione dei flag per una ALU a 4 bit ZF = (u 0 + u 1 + u 2 + u 3 ) OF = r 3 CO SF = u 3 CF = CO PF = u 0 u 1 u 2 u = (-7) (-2) CO r 3 r 2 r = (+7) (+2) CO r 3 r 2 r 1

54 La ALU a 4 bit ZFSFOFPF C1C1 Rete di pre-elabor. C3C3 C2C2 C0C0 y0y0 y1y1 y2y2 y3y3 x0x0 x1x1 x2x2 x3x3 u0u0 u1u1 u2u2 u3u3 M a0b0a0b0 M r 0 R a1b1a1b1 M r 1 R a2b2a2b2 s2s2 M r 2 R a3b3a3b3 M r 3 R CI s0s0 s1s1 s3s3 CF CO

55 Uno shifter a 4 bit w0w0 w1w1 w2w2 w3w3 LR u0u0 u1u1 u2u2 u3u3 0 0 W 0 = 0 L R + u 0 L R + u 1 L R W i = u i-1 L R + u i L R + u i+1 L R i=1, W 3 = u 2 L R + u 3 L R + 0 L R......

56 Esercizi 5.6 e 5.7 Si determini la tabella delle operazioni eseguite dalla ALU nel caso M=1. Si indichi come deve essere modificato lo shifter per poter eseguire anche delle divisioni per 2 su numeri relativi rappresentati in complemento a 2.


Scaricare ppt "5.1 - Memorie a sola lettura 5.2 - Matrici logiche programmabili 5.3 - Unità aritmetica e logica Capitolo 5 Circuiti programmabili."

Presentazioni simili


Annunci Google