Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti...
Transcript of Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti...
![Page 1: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/1.jpg)
Cenni alle reti logiche
Luigi Palopoli
![Page 2: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/2.jpg)
Cosa sono le reti logiche?
• Fino ad ora abbiamo visto § Rappresentazione dell’informazione § Assembler
• L’obbie:vo di questo corso è mostrare come si proge>o una computer
• Quindi abbiamo adesso bisogno di fare una piccola digressione su come si proge>ano I circuiA logici
• Avremo un corso specifico su questo…..
![Page 3: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/3.jpg)
Valori logici
• I computer moderni sono realizzaA tramite circuiA ele>ronici
• Tra>andosi di elemenA digitali avremo due livelli fondamentali § Alto, Asserito (1): associato alla tensione di alimentazione Vdd
§ Basso, negato (0): associato alla massa (tensione = 0)
• Altri livelli di tensione sono non significaAvi e assunA solo in fase transitoria
![Page 4: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/4.jpg)
Reti logiche
• Le porte logiche sono dei circuiA che trasformano alcuni valori logici in ingresso in altri valori logici in uscita
• Le porte logiche sono di due Api § Combinatorie
ü Relazione funzionale tra ingresso e uscita ü Non hanno memoria ü L’uscita dipende solo dal valore dell’ingresso
§ Sequenziali ü L’uscita dipende dalla storia degli ingressi passaA e non solo dal valore a>uale
ü Hanno memoria (de>a anche stato della rete)
![Page 5: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/5.jpg)
Tabella di verità
• Una possibile maniera di specificare una rete logica combinatoria è tramite una tabella di verità che elenca I valori delle uscite in corrispondenza dei vari ingressi
INPUT OUTPUT
A B C D E F
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 1 0
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 1 0
1 1 1 1 0 1
![Page 6: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/6.jpg)
Algebra di boole
• Una maniera più compa>a è di specificare le funzioni logiche combinatorie tramite espressioni algebriche definite con l’algebra di boole
• Esistono tre operatori di base § AND
ü viene rappresentato tramite il simbolo di prodo>o. Esempio A•B. ü Produce 1 se entrambi gli operandi sono uno e zero negli altri casi
§ OR ü rappresentato tramite il simbolo della somma (+). Esempio A+B ü Produce zero se e solo se entrambi gli operandi sono 0
§ Not ü Rappresentato da una barra. Esempio: Ā ü Ha l’effe>o di inverAre il valore logico
![Page 7: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/7.jpg)
Algebra di Boole
• Ci sono una serie di regole che ci perme>ono di manipolare facilmente le espressioni logiche § IdenAtà: A+0=A, A•1=A § Regola zero e uno: A + 1 = 1, A•0=0 § Regola dell’inversa A + Ā=1, A•Ā=0 § Regola commutaAva: A+B=B+A, A•B=B•A § Regola AssociaAva: A+(B+C)=(A+B)+C, A•(B•C)=(A•B)•C
§ Regola distribuAva: A•(B+C)=(A•B)+(A•C), A+B•C=(A+B)(A+C)
![Page 8: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/8.jpg)
Algebra di Boole
• In più esistono dure regole molto importanA, de>e di De Morgan
• Queste leggi ci dicono che se abbiamo una nand, o una nor tu: gli altri operatori logici si possono ricavare
A ·B = A+B
A+B = A ·B
![Page 9: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/9.jpg)
Algebra di Boole Esempio
• Torniamo alla nostra tabella
INPUT OUTPUT
A B C D E F
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 1 0
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 1 0
1 1 1 1 0 1
• Possiamo vedere facilmente D = A+B + C
F = A ·B · C
![Page 10: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/10.jpg)
Algebra di Boole - Esempio
• Torniamo alla nostra tabella
INPUT OUTPUT
A B C D E F
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 1 0
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 1 0
1 1 1 1 0 1
E vale 1: § Se A=1, B=1, C=0 oppure
§ Se A=1, C=1 B = 0 oppure
§ Se B=1, C=1, A= 0
E = (A ·B · C) + (A · C ·B) + (B · C ·A)
E = (A+B + C) · (A+ C +B) · (B + C +A)
• O usando De Morgan
![Page 11: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/11.jpg)
Porte logiche
• In realtà esistono dei circuiA ele>ronici (porte logiche) che mi implementano gli operatori booleani fondamentali
AND OR NOT
![Page 12: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/12.jpg)
Porte logiche
• Le porte si possono combinare tra di loro (con il not che può essere semplificato tramite un cerchio)
A+B
![Page 13: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/13.jpg)
Alcuni circuiti
• Decoder
![Page 14: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/14.jpg)
Alcuni circuiti
• MulAplexor
• Deviatore che sulla base di un input di controllo, determina quale degli input passa.
![Page 15: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/15.jpg)
Alcuni circuiti
• MulAplexor a N vie
Decoder
••••
••••
![Page 16: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/16.jpg)
Forme canonica SP
• Abbiamo visto che Arare fuori un’espressione logica da una tabella di verità è semplice
• Basta prendere ciascuna riga uguale a 1 e scrivere un termine di prodo>o logico de>ato dalla configurazione degli ingressi
• A quel punto si può fare la somma di tu: I prodo: individuaA
![Page 17: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/17.jpg)
Altro esempio
• Consideriamo come ulteriore esempio:
INPUT OUTPUT A B C D 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1
D = (A ·B · C) + (A ·B · C) + (A ·B · C) + (A ·B · C)
![Page 18: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/18.jpg)
PLA
• La stru>ura che abbiamo visto si compone di due stadi: la prima è una barriera di AND (cde: anche mintermini) e una barriera di OR
• La dimensione totale del PLA è data dalla somma di Piano AND (numero di mintermini e loro complessità) e del piano OR (Numero di uscite)
• Cara>erisAche importanA: § Ci sono porte logiche solo per le configurazione che prudcono 1
§ Se un mintermine è condiviso tra varei uscita, basta una sola entry
![Page 19: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/19.jpg)
Esempio • Ritorniamo all’esempio
INPUT OUTPUT
A B C D E F
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 1 0
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 1 0
1 1 1 1 0 1
![Page 20: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/20.jpg)
Esempio • Implementazione tramite porte logiche
D = A+B + C
F = A ·B · CE = (A ·B · C) + (A · C ·B) + (B · C ·A)
![Page 21: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/21.jpg)
Esempio • Una diversa rappresentazione (usando i punA nei piani and e or)
D = A+B + C
F = A ·B · CE = (A ·B · C) + (A · C ·B) + (B · C ·A)
![Page 22: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/22.jpg)
Costo
• Le funzioni logiche possono essere implementate in maniera diversa (più o meno efficiente)
• Per COSTO di una rete logica si intende normalmente la somma del numero di porte e del numero di ingressi della rete (indipendentemente dal fa>o che siano posiAvi o negaA)
• E’ possibile trovare delle implementazioni di una rete che hanno cosA diversi
![Page 23: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/23.jpg)
Minimizzazione di funzioni logiche
• La minimizzazione di alcune espressioni logiche è banale, in altri casi è necessario applicare le regole algebriche in modo “furbo”
• Es. f(x1, x2, x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3
= x1x2(x3 + x3) + x1x2(x3 + x3)
= x1x2 + x1x2
= (x1 + x1)x2
= x2
![Page 24: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/24.jpg)
Minimizzazione
• Esistono metodi di minimizzazione sistemaAci basaA sull’applicazione iteraAva di queste regole
• Altri metodi sono basaA su rappresentazioni grafiche (mappe di Karnaugh), ma si applicano solo a casi più semplici
• Questo argomento si chiama “sintesi logica” e per gli interessaA è coperto nel corso di reA logiche
![Page 25: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/25.jpg)
Array di elementi logici
• Molto spesso si costruiscono array di elemenA che operano su daA complessi
• Ad esempio come realizzare un mulAplexer che opera su un bus a 32 bit uAlizzando elemenA a un bit
• BUS: insieme di file (ad esempio 32) che viene visto come un singolo segnale logico
![Page 26: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/26.jpg)
Multiplexor a 32 bit
![Page 27: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/27.jpg)
ALU
• ALU: la algebraic logic unit è una componente che è in grado di effe>uare varie operazioi logiche e aritmeAche (secondo la selezione che viene fa>a).
• Esempio ALU a un bit che effe>ua (a comando) AND o OR
![Page 28: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/28.jpg)
Sommatore a un bit
• Fino a ora c’e’ la parte logica ma non quella aritmeAca • Come fare una sommatore a un bit (full adder)? • Teniamo presente che oltre agli operandi abbiamo in input il
riporto (carry in), e produciamo in output un altro riporto (carry out)
![Page 29: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/29.jpg)
Sommatore a un bit
• Il sommatore a un bit è una rete logica combinatoria per la quale possiamo scrivere la tabella di verità
![Page 30: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/30.jpg)
Sommatore a un bit
• Per il carry out l’espressione come SP è: CarryOut = (a · b · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn
= (a · b · CarryIn) + (a · b · CarryIn) + a · b= (b · CarryIn) + (a · CarryIn) + a · b
• L’ulAmo passaggio si giusAfica perchè a · b · CarryIn 6= b · CarryIn $ a = 1, b = 1
Ma in quel caso a•b=1 porta comunque a 1 l’espressione
![Page 31: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/31.jpg)
Sommatore a un bit
• Per la sum l’espressione come SP è: sum = (a · b · CarryIn) + (b · a · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn)
• Circuito per carryout
![Page 32: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/32.jpg)
ALU a 1 bit
• Possiamo ora combinare le tre operazioni
![Page 33: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/33.jpg)
Una ALU a 32 bit
• I blocchi che abbiamo visto si possono combinare per o>enere una ALU a 32 bit
![Page 34: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/34.jpg)
Sottrattore
• Cosa succede se se:amo il carry in a 1? • Molto semplicemente possiamo sommare: a + b + 1 Se neghiamo b possiamo o>enere un comporamento da so>razione (complemento a due):
a+ b+ 1 = a+ (b+ 1) = a+ (�b) = a� b
![Page 35: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/35.jpg)
Circuito complessivo
• Circuito risultante • Per so>rare basta selezionare la somma, se>are Binvert e CarryIn a 1
![Page 36: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/36.jpg)
NOR
• Abbiamo visto che nell’assembly del MIPS c’e’ anche l’operazione di nor….
• La possiamo facilmente implementare con le leggi di De Morgan Questo vuol dire che abbiamo bisogno anche della possibilità di uAlizzare come operando a inverAto
(a+ b) = a · b
![Page 37: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/37.jpg)
ALU a 1 bit
• Selezionando And, Ainvert, Binvert o>eniamo nor
![Page 38: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/38.jpg)
Confronti e overflow
• L’operazione slt si può effe>ure con la seguente considerazione
• Quindi slt deve effe>uare la so>razione ma resAtuire come risultato il bit di segno (il più significaAvo) del risultato della so>razione al bit meno significaAvo e lasciare 0 nelle altre posizioni
• Anche il bit di overflow si genera considerando il carry sul modulo più signifiicaAvo o i segni di operandi e risultato
a < b $ a� b < 0
![Page 39: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/39.jpg)
Schema complessivo
SLT: Si fa una so>razione e il bit più signiifvaAvo viene trasferito su quello meno signiifcaAvo del
risultato mentre gli altri devono essere 0
![Page 40: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/40.jpg)
Schema delle singole celle
Cella relaAva a bit meno significaAvo mi deve propagare less (che viene se>ato a zero ecce>o
che per il primo) per operazione slt.
Cella relaAva a bit a bit meno significaAvo che deve generare il nit di segno in caso di operazione di slt.
![Page 41: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/41.jpg)
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 42: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/42.jpg)
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 43: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/43.jpg)
Elemento base di
memoria (latch)
realizzazione con due porte NOR
e schema di “temporizzazione”
della tavola di verità
![Page 44: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/44.jpg)
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 45: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/45.jpg)
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 46: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/46.jpg)
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 47: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/47.jpg)
• 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”
Abilitazione
![Page 48: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/48.jpg)
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 49: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/49.jpg)
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 50: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/50.jpg)
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 51: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/51.jpg)
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 52: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/52.jpg)
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 53: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/53.jpg)
Vantaggi dell’edge triggered
• Una metodologia edge triggered perme>e di aggiornare lo stato a parAre dal quello presente senza creare delle situazioni di corse
• Questo porta alle macchine a staA in cui: § Lo stato successivo dipende da quello presente e dall’input § L’output dipende dallo stato presente e dall’input (macchina di mealy), o solo dall stato presente (macchina di moore)
![Page 54: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/54.jpg)
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 55: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/55.jpg)
Register file
• I registri possono essere organizzaA in un array (memoria) con la possibilità di scrivere o leggere su alcuni di essi
![Page 56: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/56.jpg)
Register file -- lettura
• Possiamo leggere due registri. Per sceglire quali usiamo un mux
![Page 57: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione](https://reader031.fdocument.pub/reader031/viewer/2022021810/5c6698f309d3f20f218c800a/html5/thumbnails/57.jpg)
Register file -- scrittura
• Possiamo scrivere in un registro. Per sceglier quale usiamo un decoder