architettura degli elaboratori 1 -...
TRANSCRIPT
25 marzo 2003
1
Internal use, DO NOT reproduce
Circuiti digitali 1Circuiti digitali 1
Architettura degli Elaboratori 1Architettura degli Elaboratori 1A.A. 2002A.A. 2002--0303
© Roberto Bisiani, 2000, 2001, 2002, Fabio Marchese 2003
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
2
Internal use, DO NOT reproduce
Argomenti trattati in...Argomenti trattati in...Queste trasparenzeQueste trasparenze
Patterson & HennessyPatterson & HennessyAppendice B (senza sezione su PLA)Appendice B (senza sezione su PLA)Capitolo 1, parte del 4Capitolo 1, parte del 4
Tanenbaum Cap. 3, sezioni:Tanenbaum Cap. 3, sezioni:•• 3.1 tutto3.1 tutto•• 3.2.1, 3.2.2 (PLA no), 3.2.3, 3.2.43.2.1, 3.2.2 (PLA no), 3.2.3, 3.2.4•• 3.3.1 (3.3.1 (latchlatch D no), 3.3.2 , 3.3.3 D no), 3.3.2 , 3.3.3 •• 3.3.4, 3.3.5, 3.3.63.3.4, 3.3.5, 3.3.6•• 3.4.1, 3.4.2 (non 3.4.1, 3.4.2 (non wiredwired--oror), 3.4.3), 3.4.3•• 3.6.1, 3.6.2 (fino all’arbitraggio escluso), 3.6.33.6.1, 3.6.2 (fino all’arbitraggio escluso), 3.6.3•• 3.7.23.7.2
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
3
Internal use, DO NOT reproduce
Scopi e modiScopi e modi
Durata:Durata:Circa 1 settimana Circa 1 settimana
Goal:Goal:sapere il MINIMO necessario per poter comprendere sapere il MINIMO necessario per poter comprendere il funzionamento di un calcolatore al livello il funzionamento di un calcolatore al livello architetturale (quello architetturale (quello assemblerassembler, per intenderci), per intenderci)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
4
Internal use, DO NOT reproduce
I calcolatori funzionano con I calcolatori funzionano con circuiti:circuiti:
basati su una semplice logica basati su una semplice logica
ma ...ma ...
implementabili con tecnologie molto implementabili con tecnologie molto diversediverse
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
5
Internal use, DO NOT reproduce
Funzioni logicheFunzioni logicheSono relazioni tra variabili di ingresso e di uscitaSono relazioni tra variabili di ingresso e di uscitaEs.: funzione che segnala se l’ascensore e’ Es.: funzione che segnala se l’ascensore e’ disponibile, disponibile, cioecioe’ se e’ al piano e se la porta e’ ’ se e’ al piano e se la porta e’ apertaaperta
Ingresso:Ingresso:Variabile A == 1 se l’ascensore e’ al piano, 0 altrimentiVariabile A == 1 se l’ascensore e’ al piano, 0 altrimentiVariabile B == 1 se la porta e’ aperta, 0 se e’ chiusaVariabile B == 1 se la porta e’ aperta, 0 se e’ chiusa
Uscita:Uscita:Variabile C == 1 se l’ascensore e’ disponibileVariabile C == 1 se l’ascensore e’ disponibile
C = f(A,B), C == 1 se sia A che B sono == 1C = f(A,B), C == 1 se sia A che B sono == 1
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
6
Internal use, DO NOT reproduce
Funzioni e circuitiFunzioni e circuiti
Variabili (logiche) di:Variabili (logiche) di:ingresso (A, B)ingresso (A, B)uscita (C)uscita (C)
Morsetti (fili) di:Morsetti (fili) di:ingressoingressouscitauscita
A Cf(•,•)B
Val = 5 Val = 0f(•,•)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
7
Internal use, DO NOT reproduce
Valori logiciValori logiciDue valori Due valori EQUIVALENTIEQUIVALENTI
SpentoSpentoAccesoAccesoDispositivoDispositivoApertoApertoChiusoChiusoContattoContatto
……
Valore tensioneValore tensioneValore algebricoValore algebricoValore logicoValore logico
…………
BassaBassaAltaAlta0011
FalsoFalsoVeroVero
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
8
Internal use, DO NOT reproduce
Tabelle di Tabelle di veritaverita’’Semplice rappresentazione tabellare di Semplice rappresentazione tabellare di una funzione logicauna funzione logicaUtilizzabili Utilizzabili percheperche’ i possibili valori di una ’ i possibili valori di una funzione logica sono (relativamente) funzione logica sono (relativamente) limitatilimitatiEs.: ascensore disponibileEs.: ascensore disponibile A B C
0 0 00 1 01 0 01 1 1
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
9
Internal use, DO NOT reproduce
Valori logici / valori fisiciValori logici / valori fisiciLa mappatura di valori logici in valori fisici, La mappatura di valori logici in valori fisici, cioecioe’ dipendenti dalla tecnologia, e’ arbitrario’ dipendenti dalla tecnologia, e’ arbitrario
Tutte e due le mappature sono Tutte e due le mappature sono correttecorrette: : basta che un circuito sia basato su una sola basta che un circuito sia basato su una sola mappatura coerentemappatura coerente
Es. 1: tensione alta Es. 1: tensione alta 1 1 -- tensione bassa tensione bassa 00Es. 2: tensione alta Es. 2: tensione alta 0 0 -- tensione bassa tensione bassa 11
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
10
Internal use, DO NOT reproduce
Valori delle variabili di ingressoValori delle variabili di ingresso
Soro realizzati da dispositivi esterni (es. Soro realizzati da dispositivi esterni (es. interruttori) o dalle uscite di altri circuiti logici interruttori) o dalle uscite di altri circuiti logici con tecnologie compatibilicon tecnologie compatibili
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
11
Internal use, DO NOT reproduce
Cenni tecnologiciCenni tecnologici
Un circuito logico può essere implementato in Un circuito logico può essere implementato in molti modimolti modiLe proprietà richieste alla tecnologia sono:Le proprietà richieste alla tecnologia sono:
possibilitapossibilita’ di rappresentare due valori ben distinti’ di rappresentare due valori ben distintitensione alta/bassa; corrente alta/bassa; luce/buio; suoni di tensione alta/bassa; corrente alta/bassa; luce/buio; suoni di frequenza diversa; …frequenza diversa; …possibilitapossibilita’ di combinare valori per calcolare nuovi valori il ’ di combinare valori per calcolare nuovi valori il piupiu’ velocemente possibile (ad esempio la luce ’ velocemente possibile (ad esempio la luce puopuo’ avere ’ avere valori di valori di intensitaintensita’ distinti ma non si combina facilmente)’ distinti ma non si combina facilmente)
verranno fatti degli esempi durante l’esposizioneverranno fatti degli esempi durante l’esposizione
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
13
Internal use, DO NOT reproduce
Porte logiche Porte logiche (1)(1)
Dal punto di vista logico: una funzione tra Dal punto di vista logico: una funzione tra variabili di ingresso e di uscitavariabili di ingresso e di uscita
Dal punto di vista tecnologico: circuito Dal punto di vista tecnologico: circuito con “valori fisici” di ingresso e uscitacon “valori fisici” di ingresso e uscita
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
14
Internal use, DO NOT reproduce
Porte logiche Porte logiche (2.1)(2.1)
NOTNOTX = NOT A = AX = NOT A = A
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
15
Internal use, DO NOT reproduce
Porte logiche Porte logiche (2.2(2.2))
Tecnologia: interruttore comandato Tecnologia: interruttore comandato (relais)(relais)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
16
Internal use, DO NOT reproduce
Porte logiche Porte logiche (2.3)(2.3)
Implementazione a relais di una porta NOTImplementazione a relais di una porta NOT
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
17
Internal use, DO NOT reproduce
Porte logiche Porte logiche (2.4)(2.4)Tecnologia: Tecnologia: transistor transistor Implementazione a transistor di una porta NOTImplementazione a transistor di una porta NOT
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
18
Internal use, DO NOT reproduce
Porte logiche Porte logiche (3.1)(3.1)
ANDANDX = A X = A ·· B = ABB = AB
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
19
Internal use, DO NOT reproduce
Porte logiche Porte logiche (3.2)(3.2)Tecnologia: Tecnologia: relais relais Implementazione a relais di una porta ANDImplementazione a relais di una porta AND
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
20
Internal use, DO NOT reproduce
Porte logichePorte logiche (3.3)(3.3)Tecnologia: Tecnologia: transistor transistor Implementazione a transistor di una porta ANDImplementazione a transistor di una porta AND
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
21
Internal use, DO NOT reproduce
Porte logiche Porte logiche (4.1)(4.1)
ORORX = A + BX = A + B
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
22
Internal use, DO NOT reproduce
Porte logiche Porte logiche (4.2)(4.2)
Tecnologia: Tecnologia: diodi diodi Implementazione a diodi di una porta ORImplementazione a diodi di una porta OR
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
23
Internal use, DO NOT reproduce
Porte logiche Porte logiche (5.1)(5.1)
NANDNANDX = NOT(AB) = ABX = NOT(AB) = AB
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
24
Internal use, DO NOT reproduce
Porte logichePorte logiche (5.2)(5.2)Tecnologia: Tecnologia: transistor transistor Implementazione a transistor di una porta NANDImplementazione a transistor di una porta NAND
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
25
Internal use, DO NOT reproduce
Porte logiche Porte logiche (6.1)(6.1)
NORNORX = NOT(A+B) = A + BX = NOT(A+B) = A + B
Esercizio: implementare a transistorEsercizio: implementare a transistor
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
26
Internal use, DO NOT reproduce
Porte logiche Porte logiche (6.2)(6.2)
Soluzione dell’esercizio:Soluzione dell’esercizio:Implementazione a transistor di una porta NORImplementazione a transistor di una porta NOR
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
27
Internal use, DO NOT reproduce
Porte logiche Porte logiche (7)(7)
OR esclusivo (EXOR esclusivo (EX--OR)OR)X = A X = A ⊕⊕ B = AB + ABB = AB + AB
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
28
Internal use, DO NOT reproduce
Algebra BooleanaAlgebra BooleanaAlgebra con variabili e funzioni a due Algebra con variabili e funzioni a due valorivaloriUna funzione Booleana di n variabili ha 2Una funzione Booleana di n variabili ha 2nn
valorivaloriquindi si può rappresentare con una tabella quindi si può rappresentare con una tabella (chiamata tabella di verità)(chiamata tabella di verità)
NOT, AND, OR, ecc. sono semplici funzioni NOT, AND, OR, ecc. sono semplici funzioni BooleaneBooleane
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
29
Internal use, DO NOT reproduce
Funzioni BooleaneFunzioni Booleane
Ci sono quattro diverse funzioni di una Ci sono quattro diverse funzioni di una variabilevariabile
Quali ???Quali ???
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
30
Internal use, DO NOT reproduce
Funzioni Booleane, Funzioni Booleane, contcont..
Ci sono quattro diverse funzioni di una Ci sono quattro diverse funzioni di una variabilevariabile
A, NOT A, 0, 1A, NOT A, 0, 1
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
31
Internal use, DO NOT reproduce
Funzioni Booleane, Funzioni Booleane, contcont..
Ci sono quattro diverse funzioni di una Ci sono quattro diverse funzioni di una variabilevariabile
A, NOT A, 0, 1A, NOT A, 0, 1Ci sono 16 funzioni di due variabiliCi sono 16 funzioni di due variabili
Come mai?Come mai?Quante funzioni di n variabili?Quante funzioni di n variabili?
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
32
Internal use, DO NOT reproduce
Esempio di funzione “complessa”Esempio di funzione “complessa”
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
33
Internal use, DO NOT reproduce
Dalla tabella di Dalla tabella di veritaverita’ alla ’ alla funzionefunzione
Somma di prodottiSomma di prodottiM = ABC + ABC + ABC + ABCM = ABC + ABC + ABC + ABC
La funzione e’ espressa come somma La funzione e’ espressa come somma (OR) delle combinazioni di variabili di (OR) delle combinazioni di variabili di ingresso (AND) che fanno assumere alla ingresso (AND) che fanno assumere alla funzione il valore 1funzione il valore 1
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
34
Internal use, DO NOT reproduce
Sintesi di semplici funzioni Sintesi di semplici funzioni booleanebooleane
Tabella di veritàTabella di verità
Funzione in forma di somma di prodottiFunzione in forma di somma di prodotti
Implementazione con sole porte Implementazione con sole porte NOT, AND e ORNOT, AND e OR
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
35
Internal use, DO NOT reproduce
Completezza di NAND e NORCompletezza di NAND e NORUna qualunque funzione si Una qualunque funzione si puopuo’ ’ implementare anche solo con dei NAND implementare anche solo con dei NAND (o NOR)(o NOR)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
36
Internal use, DO NOT reproduce
Completezza di NAND e NORCompletezza di NAND e NOR
Una qualunque funzione si Una qualunque funzione si puopuo’ ’ implementare anche solo con dei NAND implementare anche solo con dei NAND (o NOR)(o NOR)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
37
Internal use, DO NOT reproduce
Equivalenza dei circuiti Equivalenza dei circuiti (1)(1)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
38
Internal use, DO NOT reproduce
Equivalenza dei circuiti Equivalenza dei circuiti (2)(2)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
39
Internal use, DO NOT reproduce
Equivalenza dei circuiti Equivalenza dei circuiti (3)(3)
I due circuiti sono in un caso I due circuiti sono in un caso
“OR di AND” “OR di AND”
e nell’altro e nell’altro
“AND di OR”“AND di OR”
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
40
Internal use, DO NOT reproduce
LeggiLeggi
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
41
Internal use, DO NOT reproduce
Rappresentazioni equivalentiRappresentazioni equivalentiLa legge di De La legge di De MorganMorgan suggerisce delle suggerisce delle trasformazioni che permettono di trasformazioni che permettono di rappresentare la stessa funzione sia con porte rappresentare la stessa funzione sia con porte OR che con porte AND (OR che con porte AND (piupiu’ la negazione NOT)’ la negazione NOT)
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
42
Internal use, DO NOT reproduce
Rappresentazioni con un solo Rappresentazioni con un solo tipo di porta, esempiotipo di porta, esempio
25 marzo 2003 Architettura degli Elaboratori 1 – A.A. 2002-03
43
Internal use, DO NOT reproduce
Come mai ci sono 16 diverse Come mai ci sono 16 diverse funzioni di due variabili?funzioni di due variabili?
Una funzione di due variabili ha quattro (2Una funzione di due variabili ha quattro (222) ) valori in corrispondenza delle quattro valori in corrispondenza delle quattro possibili combinazioni di ingressopossibili combinazioni di ingresso
Ci sono 16 (2Ci sono 16 (22222) combinazioni della variabile ) combinazioni della variabile di uscita di una funzione logicadi uscita di una funzione logica