appunti di CALCOLATORI ELETTRONICI I

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "appunti di CALCOLATORI ELETTRONICI I"

Transcript

1 copyright (c) 2005 stefano frangioni. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being just this first page, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". questo materiale è fornito così com'è, senza alcuna garanzia in merito alla sua correttezza; ogni affermazione contraria, sia implicita che esplicita, è da considerarsi nulla. questo materiale è disponibile su senza necessità di password o altro, così come prescritto dalla FDL. appunti di CALCOLATORI ELETTRONICI I parte I basati sui miei appunti di calcolatori elettronici. Contributi: -il libro del bucci; -gli appunti di alessio bazzica; -droscy (teoria dell'informazione); -chiunque altro vuole contribuire!! appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 1 di 58

2 convenzioni: //?testo?// indica del testo non chiaro, non preciso, probabilmente sbagliato, provvisorio o da correggere. /*testo*/ indica un commento nota: il sorgente è scritto con openoffice.org su sistema linux, usando prevalentemente i caratteri Nimbus Roman No9 L, Bitstream Vera Sans Mono, Nimbus Mono L. Prima di modificare il documento conviene installarsi questi font, altrimenti il testo potrebbe risultare un po' scombinato. Questi caratteri sono scaricabili da appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 2 di 58

3 Indice Introduzione al corso...5 Rappresentazione dei dati...7 Basi per la rappresentazione...8 Rappresentazione binaria di numeri interi relativi...8 complemento a complemento a Operazione somma nel calcolatore...10 Operatori logici (porte logiche)...11 operatore NOT...11 operatore AND...11 operatore OR...11 shift left e shift right...12 Rappresentazione di caratteri alfanumerici...12 Logica booleana...13 Algebra booleana...13 Funzioni logiche...14 XOR...14 NOR...14 NXOR...14 NAND...14 Forme canoniche...16 prima forma canonica...16 seconda forma canonica...16 Sommatore...17 Moduli di logica combinatoria...19 decodificatori (decoder)...19 codificatori (encoder)...21 multiplexer...22 demultiplexer...23 parity checker...23 comparatore...25 Le ROM...25 ALU...27 Reti sequenziali...28 LATCH...29 Diagramma di stato...31 Il segnale di clock (CLK)...31 FLIP FLOP SR...31 Flip Flop JK...32 Flip flop D...33 appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 3 di 58

4 Flip flop T...33 in generale, come è rappresentabile una macchina sequenziale sincrona...34 Sommatore seriale...35 Descrizione in parte operativa e parte di controllo...38 Macchine autonome (o reti autonome)...38 REGISTRO CONTATORE...39 UP...39 DOWN...40 Registro...41 Shift register (registro a scorrimento)...41 Alcuni problemi...43 dato un contatore UP, farlo contare DOWN...43 dato un contatore solo UP, farlo contare UP/DOWN...43 esempio...44 esercizio 09/09/ Moltiplicatore...45 di interi positivi...45 di interi...48 Divisore di interi positivi...49 Teoria dell'informazione...52 GNU Free Documentation License...54 appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 4 di 58

5 Corso di calcolatori elettronici a.a Le prime pagine introduttive sono state riprese dagli appunti di Alessio Bazzica. Introduzione al corso I II parte argomenti 1. introduzione ai sistemi digitali 2. rappresentazione dell'informazione 3. reti logiche (combinatorie e sequenziali) 4. il microprocessore (CPU) 5. la memoria 6. l'i/o : architettura hardware : programmazione Un primo sistema a blocchi che rappresenti un calcolatore generico nel più semplice dei modi è il seguente: dati ingresso calcolatore dati uscita questo schema può essere commentato dicendo che il calcolatore elabora i dati di ingresso restituendo un'uscita. per avere un'idea di architettura possiamo osservare il seguente modello, modello in cui viene focalizzata l'importanza della memoria per contenere dati e istruzioni da eseguire. il modello, per questa sua ultima caratteristica, prende esempio dalla struttura di calcolatore di Von Neumann. dati ingresso unità di input MP unità di output dati output memoria bisogna notare il verso delle frecce tra i vari blocchi. l'unità di input invia i dati (comprensibili dal MP) al MP (microprocessore). il MP esegue il programma presente in memoria (leggendo istruzioni) che prevede di elaborare i dati d'ingresso (che vengono quindi scritti in memoria al loro arrivo). il programma prevede di leggere dati giunti dall'unità di input per elaborarli e generarne nuovi utili all'output. Dopo l'elaborazione, sempre nel linguaggio del MP, i dati vengono portati ad un'unità di output che, per esempio, si occupa della loro visualizzazione su uno schermo. il linguaggio compreso dalle reti logiche è il linguaggio binario, ovvero un linguaggio dove ogni cosa appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 5 di 58

6 può assumere due determinati valori che rappresentano due soli stati associabili ai valori 0 e 1 (alto o basso, acceso o spento). quindi un singolo bit si può esprimere nel seguente modo: b {0,1} (può assumere due valori, è possibile aggregare più bit formando una parola di bit. per esempio possiamo ottenere una parola b 1 b 0 utilizzando due bit. In questo caso otteniamo 4 combinazioni b 1 b 0 {00,01,10,11}. Quindi, data una certa parola di n bit otteniamo 2 n combinazioni. È importante quindi conoscere le potenze del due. Ricordarsi delle proprietà delle potenze a b a c =a b c per calcolare potenze di valore elevato senza conoscerle a memoria. Le potenze fondamentali sono: 2 20 =1 K 1 K =1 M = ; 2 30 =1 K 1 M =1G ;2 40 =1G 1 K =1T N 2 n Fare attenzione alle abbreviazioni (es 1M, 1G, etc). Sono forme informatiche di abbreviazione delle quantità di dati. 1K NON è 1000, ma è 1024! Per calcolare le potenze del 2 possiamo sfruttare le proprietà delle potenze citate in precedenza. Esempio: 2 19 = =1024*512= K (forma informatica per esprimere 1024) Se vediamo più in dettaglio si può notare come il MP interagisce con la memoria: address il MP e la memoria comunicano i dati tra loro attraverso un MP bus dati. I dati sono allocati in memoria e ognuno di essi si dato memoria trova in una cella che ha un proprio indirizzo. Il MP imposta un indirizzo per raggiungere un dato in memoria (nel caso della lettura) o imposta un indirizzo di destinazione (nel caso della scrittura). appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 6 di 58

7 Arrivando ad una rappresentazione completa dell'interfaccia tra MP e memoria, notiamo anche il bus controlli; queste linee di comunicazione sono bidirezionali e, per esempio, impostano lo stato di lettura o scrittura dal processore verso la memoria. MP Bus indirizzi: m linee di trasporto Bus dati: n linee di trasporto memoria Bus controlli: k linee di trasporto I bus, canali di comunicazione, traportano i dati sulle linee di comunicazione. Ogni linea corrisponde ad un bit. Con si indica un bus di x bit x Conoscendo il numero di bit indirizzati dai bus possiamo conoscere le possibili locazioni di memoria e la dimensione della memoria: locazioni di memoria=2 m (m è il numero di bit del bus indirizzi). Sapendo poi che ogni locazione di memoria individua una stringa di n bit moltiplicando il numero di locazioni di memoria per la lunghezza della stringa dati di una cella di memoria (ovvero il numero di bit del bus dati): dimensione memoria=2 m n bit = 2 m n 8 byte. È tipico esprimere la quantità di memoria in byte e nei suoi multipli (KB, MB, ecc). Nota: 1byte=8bit. Notare anche il ruolo del bus controlli: per esempio il bit per la lettura/scrittura può essere indicato con R W. Questa scrittura significa che se il bit relativo a questo segnale è attivo (1) allora stiamo richiedendo R, la fase di lettura, se vogliamo scrivere (W) dobbiamo porre W=1, ma W=1 => W =0 quindi il bit deve essere portato ad un valore logico basso (zero). Rappresentazione dei dati La rappresentazione dei dati si occupa di assegnare ad una parola di n bit un significato. Ad una combinazione di bit può essere assegnato più di un significato (che varia in base alla codifica scelta) Un esempio di codifica è il set di caratteri ASCII. Qualsiasi informazione viene quantificata e poi codificata in linguaggio binario per essere comprensibile alla macchina. È necessario illustrare le rappresentazioni utilizzate per rappresentare le informazioni quantificate. Per esempio un utente di un programma inserisce più facilmente un numero decimale che poi verrà convertito in base binaria per essere interpretabile dal calcolatore. Un programmatore per indicare indirizzi di memoria utilizza la base esadecimale in modo da usare meno cifre per rappresentare un indirizzo di una locazione di memoria. appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 7 di 58

8 Basi per la rappresentazione Dato un numerale (valore numerico di cui non si conosce la base) di n cifre e la base b, la scrittura per indicarlo è la seguente: c n 1 c n 2...c 1 c 0 b in cui c n 1 è la cifra più significativa (MSB, Most Significant Bit) c 0 è la cifra meno significativa (LSB). Questo numero si esprime come somma pesata, ovvero come 0 c i b i. i=n 1 Esempio = Ricordare che un numerale si legge leggendo le cifre separatamente e non come un numero decimale. Se abbiamo un indirizzo di memoria a 24 bit può essere più comodo rappresentarlo in base 16 ovvero in base esadecimale. Le cifre ammesse in questa base sono 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Ecco un esempio di conversione: indirizzo binario indirizzo hex B B 8 => (B267B8) 16 è possibile passare da una base binaria ad un'altra base in modo veloce raggruppando un numero di bit n tale che 2 n =base di destinazione. Per convertire in base 8 per esempio si utilizzano gruppi di 3 bit. Per passare, invece, da una base decimale ad un'altra base si effettuano delle divisioni successive sul numero da convertire e come divisore di utilizza la base di destinazione. Le divisioni si effettuano finché non si ottiene quoziente nullo. Il risultato si legge accodando i resti delle divisioni partendo dall'ultimo (che diventa quindi la MSB del numero convertito) verso il primo (diventa LSB). Esempio: trovare il corrispondente in binario di (21) 10 faccio così: 21 2 =10 con resto1 LSB, 10 2 =5con resto 0, 5 2 =2 con resto1, 2 2 =1con resto 0, 1 =0 con resto1 MSB 2 => (21) 10 =(10101) 2 Infine per passare da una qualsiasi base b alla base 10 si usa il metodo delle somme pesate, cioè b k 1 b k 2... b 0 b = b k 1 b k 1 b k 2 b k 2... b 0 b 0 10, in cui b i {0,..., b 1} per i=1,..., k 1, k è il numero di cifre del numero di partenza e b è la base del numero di partenza, espressa in base 10. Rappresentazione binaria di numeri interi relativi k 2 sia {N }=b k 1 2 k 1 i=0 k 2 b i 2 i, in cui MSB=b k 1 e M= i=0 Rappresentazione del numero N in modulo e segno: in questo metodo viene usato il MSB per indicare il segno (1=negativo, 0=positivo) mentre le altre cifre binarie servono per rappresentare il modulo. Quindi {N } m s = 1 MSB M. In questo modo si perde un bit per rappresentare il segno ed il valore zero viene rappresentato due volte, una volta come +0 (MSB=0 e M=0) e una volta come 0 (MSB=1 e M=0). Questo è uno spreco. Per una parola di n bit il range di valori rappresentabili risulta b i 2 i appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 8 di 58

9 dall'intervallo [ 2 n 1 1,2 n 1 1]. Calcolare il complemento a b di un numero : dato un numero N in base b il suo complemento a b considerando k bit è C b N =b k N. Rappresentazione del numero N in complemento a 1: {N } c1 =MSB 2 k 1 1 M. Anche in questa rappresentazione lo zero è rappresentato due volte (una volta quando MSB=0 e M=0, l'altra quando MSB=1 e M=tutti 1=2 k.1 1). Il complemento a 1 di N, in base 2, su k bit, si calcola così: C 1 N =2 k 1 N. Per calcolarlo in modo rapido basta notare che in binario C 1 (N)=NOT(N), cioè che il complemento ad 1 di N si calcola scambiando in N, bit per bit, zero con uno e viceversa. Esempio: N= => C 1 (N)= = Rappresentazione del numero N in complemento a 2: {N } c2 =MSB 2 k 1 M. In questa rappresentazione lo zero è rappresentato una sola volta (solo quando MSB=0 e M=0; infatti quando MSB=1 e M=tutti 1=2 k 1 1 ottengo il numero 1). In questo modo il range di rappresentazione si amplia e diventa [ 2 k 1, 2 k 1 1]. Si nota inoltre che {N } c2 ={N } c1 MSB. Il complemento a 2 di N, in base 2, su k bit, si calcola così: C 2 N =2 k N. È immediato vedere che C 2 N =C 1 N 1. Una regola veloce per trovare direttamente il complemento a 2 di un numero N è riscrivere il numero N da destra verso sinistra finché non si incontra un bit 1; una volta scritto anche tale bit si procede a scrivere i bit seguenti (sempre verso sinistra) ricordandosi di scrivere 1 al posto di 0 e viceversa. Ad esempio: N= => C 2 (N)= = Tabella riepilogativa di esempio, avendo a disposizione 4 bit Decimale Modulo e segno Complemento a 1 Complemento a ; ; ; ; ; ; ; ; ; ; 4 appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 9 di 58

10 Decimale Modulo e segno Complemento a 1 Complemento a ; ; ; ; ; ; 1 8 Non rappresentabile Non rappresentabile 1000; 0 Note: dato un numero binario espresso in complemento a 2 si può trovare il suo equivalente decimale, con il seguente modo: b k 1 b b 2...b 0 C 2 = b k 1 2 k 1 b k 2 2 k 2 b k 3 2 k 3... b Ad esempio 101 C 2 = = 4 1= 3. se provo a rappresentare in complemento a due con k bit un numero non rappresentabile con soli k bit in tale rappresentazione ottengo come risultato il numero dal quale sono partito. Ad esempio C con 3 bit=100 per il fatto che per rappresentare 100 (cioè 4) ho bisogno di almeno 4 bit. Con 4 bit ottengo C =1100. Le memorie degli elaboratori hanno celle per la rappresentazione dei valori di lunghezza fissa. Spesso però devono essere svolti calcoli tra i valori di lunghezza differente. In rappresentazione complemento a due, per esempio, non è possibile effettuare direttamente la somma di due numeri di lunghezza differente. Proprietà dell'estensione di segno: afferma che un numero in complemento a due è uguale ad un altro numero in complemento a due costituito da un gruppo di bit significativi di lunghezza arbitraria e di valore 1 seguito dal numero iniziale, ad esempio C 2 = 1101 C 2, lo si vede facilmente ricordando che 101 C 2 = 4 0 1= 3 e che 1101 C 2 = = 3. Operazione somma nel calcolatore In binario: 0+0=0, 1+0=0+1=1, 1+1=0 con riporto di 1. Ecco alcuni esempi di procedure per effettuare la somma di due numeri binari di due bit (il numero di bit è indipendente da ciò che si deve dimostrare, per semplicità ne sono stati scelti due). Supponiamo di avere quindi a disposizione 2 bit e che i numeri siano espressi in complemento a = 100 dove 1 in grassetto è il bit di riporto = 010 in questo caso il bit di riporto è nullo. Il risultato è sbagliato, il numero +2 non è rappresentabile in C 2 con soli 2 bit Chiamiamo il bit di riporto con il termine CARRY = 101 in questo caso il bit di riporto è 1. Il risultato è sbagliato (devo considerare solo i 2 bit di destra), è la somma di due negativi e non può essere un positivo appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 10 di 58

11 Diciamo che abbiamo un OVERFLOW quando il risultato di una somma non è rappresentabile con il numero di bit a disposizione o non è logicamente accettabile. È possibile notare che l'overflow in C 2 si verifica quando, avendo a disposizione k bit, sommando due quantità dello stesso numero di bit e dello stesso segno si ottiene una quantità, considerando k cifre a partire da destra, di segno opposto (quindi senza considerare il riporto). In generale se devo fare a 1 a 0 b 1 b 0 =s 1 s 0 ho un overflow <=> OR(AND( a 1 =1, b 1 =1, s 1 =0 ), AND( a 1 =0,b 1 =0, s 1 =1 ) Schematizzazione di un sommatore: Operatori logici (porte logiche) Una porta logica è un circuito digitale composto principalmente da transistor (componenti elettronici) che effettua calcoli in logica booleana sugli ingressi. Le porte logiche fondamentali sono tre: la negazione (NOT), la somma logica (OR) e il prodotto logico (AND). operatore NOT Rappresentazioni logiche x A B 2 NOT(x) = x Sommatore x 2 S (somma) carry overflow NOT(x) operatore AND x y AND(x, y)=xy (prodotto logico) x y xy (prodotto logico) operatore OR x y OR(x, y)=x+y (somma logica) x y x+y (somma logica) appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 11 di 58

12 NOTA: per rappresentare una negazione posso usare anche un pallino (vuoto) e basta, inserito ad esempio al termine di una linea o sulla punta di un OR di un AND. Posso quindi riscrivere la condizione per l'overflow in questo modo: a 1 b 1 s 1 a 1 b 1 s 1 o anche a 1 b 1 s 1 overflow shift left e shift right dato un numero in binario l'operazione di scorrimento a sinistra di p bit (ottenuta scrivendo n volte 0 a destra di LSB), detta shift left, corrisponde ad una moltiplicazione per 2 p (attenzione se il range di rappresentazione è limitato!); dato un numero in binario l'operazione di scorrimento a destra di p bit (ottenuta scrivendo n volte 0 a sinistra di MSB e cancellando ogni volta l'lsb (il numero di bit è fissato)), detta shift right, corrisponde ad una divisione per 2 p. Se i vari LSB sono 0, la divisione è esatta. Esempio: lo shift a destra di (1101) 2 è (0110) 2 Rappresentazione di caratteri alfanumerici I caratteri alfanumerici comprendono caratteri numerici ('0', '1', '2', '3',..., '9'), caratteri alfabetici ('a',..., 'z', 'A',..., 'Z') e simboli ('.', ':',...). Per rappresentare un carattere alfanumerico in un elaboratore, che lavora solo in binario, è necessario stabilire una corrispondenza fra un insieme di bit ed i caratteri da rappresentare. Per la conversione esiste la codifica ASCII (acronimo di American Standard Code for Interchange Information) che ad ogni carattere assegna un corrispondete numero binario di 8 bit (lo standard originario era su 7 bit, ma è stato ampliato per rappresentare più caratteri, mettendo l'ottavo bit a zero). La tabella di corrispondenza fra caratteri e cifre binarie si può trovare su internet //? copia incollare la tabella!?//. Attenzione però, in generale 0 ' 0', cioè la rappresentazione binaria del numero zero è diversa dal appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 12 di 58

13 numero binario che corrisponde al carattere alfanumerico '0', infatti 0 è rappresentato con tutti i bit a zero, mentre '0' in ASCII è , cioè 30h (h sta per 'base esadecimale'). Per passare da un carattere numerico al corrispondente numero ci sono due metodi (validi solo per il fatto che la tabella di codifica dei caratteri ASCII è stata costruita in un certo modo). Il primo metodo di tipo aritmetico consente di scrivere che 7='7' '0', cioè = , il secondo metodo di tipo logico, che impiega meno tempo per essere eseguito, consente di scrivere che 7=AND('7', 0Fh), cioè =AND( , ). Esiste inoltre un altro tipo di rappresentazione, chiamata rappresentazione BCD (Binary Coded Decimal), che ad ogni cifra decimale associa la sua rappresentazione binaria su 4 bit. Ad esempio il numero 147 in BCD è , che in binario corrisponde a Logica booleana Usando i tre operatori AND, OR, NOT sopra descritti è possibile costruire qualsiasi funzione logica f :{0,1} n {0,1} m, espressa in forma vettoriale, dove n è il numero di bit che compongono le parole (in genere le funzioni si esprimono componente per componente). Algebra booleana (tutte le dimostrazioni possono essere fatte per induzione perfetta, cioè provando tutti i possibili casi costruendosi le necessarie tabelle di verità) proprietà proprietà di idempotenza x x=x x x=x x x=1 x x=0 elemento neutro x 0=x x 1=x elemento forzante x 1=1 x 0=0 commutativa x y=y x x y=y x associativa x y z=x y z x y z=x y z distributiva z x y = z x z y x y x z =x y z proprietà di assorbimento doppia negazione (è autoduale) x x y=x dim: x x y=x 1 x y=x 1 y = = x 1=x x=x x x y =x dim: x x y =x x x y = = x x y=x leggi di De Morgan x y= x y x y= x y Tutte le proprietà elencate sono state date in coppia, tale fatto deriva dal principio di dualità. Per passare da una proprietà alla corrispondente è necessario scambiare gli OR con gli AND e viceversa e gli 1 con gli 0 e viceversa appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 13 di 58

14 Funzioni logiche Se ho n ingressi, in generale possono avere 2 2n funzioni univoche associate. Esempio: se ho 1 ingresso (n=1) posso trovare 4 funzioni, cioè: x f 0 (id) f 1 (not) f 2 f Esempio: se ho 2 ingressi (n=2) posso trovare 16 funzioni, cioè: x y 0 AND x>y x x y y XOR x y OR NOR NXOR x=y y x y x x y x y NAN D Note: NOR sta per NOT OR, NAND sta per NOT AND, XOR sta per exclusive OR (OR esclusivo), NXOR sta per NOT XOR. In generale se ho due ingressi posso scrivere x y f 0 0 f f f f 11 rete logica: traduzione di una funzione logica in termini di circuito. NOR si rappresenta negando l'or, cioè con il pallino sulla punta della freccia 1 x y NOR(x, y) = x y NOR(x, y)=/*de Morgan*/= =AND(NOT(x), NOT(y)) la stessa cosa vale per il NAND x NAND(x,y) y = x y NAND(x, y)=/*de Morgan*/= =OR(NOT(x), NOT(y)) appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 14 di 58

15 Rappresentazione di XOR. Nota: x y= x y x y (prima forma canonica) x x y y È possibile scrivere qualsiasi funzione logica utilizzando esclusivamente l'operatore NAND oppure l'operatore NOR. Dimostrazione: ( ricordando che NOT(AND(x, y))=nand(x, y) e che NOT(OR(x, y))=nor(x, y) ) Operatore NAND NOR NOT NOT(x)=NOT(AND(x, x))= =NAND(x, x) NOT(x)=NOT(OR(x, x))=nor(x, x) x NOT(x) x NOT(x) AND AND(x, y)=not(not(and(x, y)))=not (NAND(x, y))= /*uso che NOT(x)=NAND(x, x)*/ =NAND(NAND(x, y), NAND(x, y)) x y AND(x, y) AND(x, y)=not(not(and(x, y)))= /*uso De Morgan*/ =NOT(OR(NOT x, NOT y))= =NOR(NOT x, NOT y)= /*uso che NOT(x)=NOR(x, x)*/ =NOR(NOR(x, x), NOR(y, y) x y AND(x, y) OR OR(x, y)=not(not(or(x, y)))= /*uso De Morgan*/ =NOT(AND(NOT x, NOT y))= =NAND(NOT x, NOT y)= /*uso che NOT(x)=NAND(x, x)*/ =NAND(NAND(x, x), NAND(y, y)) x y OR(x, y) OR(x, y)=not(not(or(x, y)))= =NOT(NOR(x, y)= /*uso che NOT(x)=NOR(x, x)*/ =NOR(NOR(x, y), NOR(x, y)) x y OR(x, y) appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 15 di 58

16 Forme canoniche Ci sono due forme canoniche, la prima forma canonica (SP, somma di prodotti) e la seconda forma canonica (PS, prodotti di somme). Prendiamo ad esempio questa funzione generale con due ingressi: x y f 0 0 f f f f 11 posso scrivere una qualsiasi di queste funzioni in questo modo: f x, y = x y f 00 x y f 01 x y f 10 x y f 11 ciascun prodotto degli ingressi si chiama prodotto fondamentale. Ogni prodotto fondamentale vale 1 soltanto per una unica configurazione di ingresso. Data una funzione, per trovarne la prima forma canonica (o somma di prodotti, SP) si deve scrivere la somma di tanti addendi quante sono le righe in cui la funzione vale 1 e ciascun addendo è costituito dal prodotto di tutti i termini (prodotti fondamentali o mintermini), ciascuno dei quali appare in forma negata o meno, a seconda del suo valore in corrispondenza di una certa riga (va negato se il suo valore è 0). Ad esempio per questa funzione di tre variabili x 1 x 2 x 3 f(x 1, x 2, x 3 ) la prima forma canonica si scrive così: f x 1, x 2, x 3 = x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 in cui ogni addendo è un prodotto fondamentale. In questo caso la funzione è sempre uguale ad x 2, quindi si può semplificare. Infatti x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 = x 1 x 2 x 3 x 3 x 1 x 2 x 3 x 3 = x 1 x 2 x 1 x 2 =x 2 x 1 x 1 =x 2. Data una funzione, per trovarne la seconda forma canonica (prodotti di somme, PS) si deve scrivere il appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 16 di 58

17 prodotto di tanti fattori tanti quante sono le righe in cui la funzione vale zero e ciascun fattore è costituito dalla somma di tutti i termini (somme fondamentali o maxtermini), ciascuno dei quali appare in forma negata o meno a seconda del suo valore in corrispondenza di una certa riga (va negato se il suo valore è 1). La seconda forma canonica dell'esempio sopra è la seguente: f x 1, x 2, x 3 = x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 in cui ogni fattore è una somma fondamentale. È importante notare che da un punto di vista logico le due forme sono equivalenti, rappresentano la stessa funzione. Notare inoltre che la seconda forma canonica non è altro che la forma duale della prima forma canonica. Esercizio: scrivere la funzione f(a, b, c)=a (b+c) in prima forma canonica e rappresentarla usando solo operatori NAND. a (b+c) = /*prima forma canonica di XOR*/= a b c a b c = = a b a c a b c = /*moltiplico il primo termine per c c ed il secondo per b b (che sono uno)*/= a b c a b c a b c a b c a b c = /*elimino il terzo termine perché x+x=x / = a b c a b c a b c a b c ed ottengo la funzione in prima forma canonica (SP). Negando due volte ogni addendo ottengo a b c a b c a b c a b c = /*uso che NOT(AND(x, y, z))=nand(x, y, z) e che OR( a, b, c, d )=NOT(AND(a, b, c, d))=nand(a, b, c, d) */ = =NAND(NAND( a, b, c ), NAND( a, b, c ), NAND( a, b, c ), NAND( a, b, c )) Sommatore Si vuole costruire un circuito che faccia la somma aritmetica a n bit facendo delle operazioni logiche. Vediamo come sommare due parole di 1 bit: a b S(a, b) (somma) R(a, b) (riporto) Si vede immediatamente che S(a, b)=xor(a, b)=a b e che R(a, b)=and(a, b)=ab Rappresentazione a porte logiche: a b HA (Half Adder, semisommatore) S R appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 17 di 58

18 Consideriamo ora di avere due parole di k bit: A=A k 1 A k 2... A 2 A 1 A 0 B=B k 1 B k 2... B 2 B 1 B 0 Per costruire un sommatore completo è necessario tenere conto del riporto R i 1 ottenuto dalla somma delle cifre precedentemente sommate, per cui: A i B i R i 1 S i R i A i B i R i 1 FA (Full Adder) R i S i Scriviamo il tutto in prima forma canonica: S i = A i B i R i 1 A i B i R i 1 A i B i R i 1 A i B i R i 1 = A i B i R i 1 B i R i 1 A i B i R i 1 B i R i 1 = =/*il contenuto della prima parentesi è la forma canonica di XOR, il contenuto della seconda parentesi è la forma canonica di XOR negato*/= = A i B i R i 1 A i B i R i 1 =/*è un altro XOR negato*/= = A i B i R i 1 nota: questa espressione, in pratica, controlla che il numero complessivo di 1 in ingresso sia dispari e se lo è restituisce 1, altrimenti zero. mentre per R i la forma canonica è la seguente: R i = A i B i R i 1 A i B i R i 1 A i B i R i 1 A i B i R i 1 =R i 1 A i B i A i B i A i B i = = A i B i R i 1 A i B i per costruire il sommatore si utilizza questa espressione, che può però diventare = A i B i R i 1 A i B i =A i R i 1 B i R i 1 A i B i Rappresentazione a porte logiche del Full Adder, per mezzo dell'ha: A i A i B i B i HA A i B i HA (A i B i )R i 1 R i 1 FA (Full Adder): esegue la somma di due bit con riporto R i =(A i B i )R i 1 +A i B i S i =(A i B i ) R i 1 appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 18 di 58

19 Per fare la somma di due parole di k bit è necessario quindi usare k FA, collegandone uno con il successivo per mezzo del riporto. Ad esempio per k=4 bit: A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 R 1 =0 inizio Overflow FA FA FA FA Ripple Carry Overflow carry=r 3 S 3 R 2 S 2 R 1 S 1 R 0 S 0 C'è da dire che il risultato fornito NON è immediatamente il risultato esatto, in quanto per avere un bit corretto nel risultato è necessario che siano stati prima calcolati tutti i bit precedenti, per via dei riporti. Quindi se il tempo di calcolo per ogni FA è T, ottengo LSB dopo un tempo T ed il risultato completo ed esatto dopo un tempo 4T dall'inizio del processo. NOTA: il circuito di overflow, che preleva A 3, B 3, S 3, è implementabile con il metodo visto in precedenza. Moduli di logica combinatoria decodificatori (decoder) Un decodificatore (decoder) è un componente combinatorio binario che accetta in ingresso un codice di k bit e che presenta in uscita 2 k linee. In uscita viene asserita la sola linea che corrisponde alla codifica in ingresso. Le linee di uscita sono numerate da 0 a 2 k 1, in modo tale che se in ingresso ho una certa parola in uscita ho asserito solo la linea il cui numero rappresenta tale parola. Esempio con n=2: se (x, y)=(1, 0) allora in uscita la sola linea che vale 1 è la numero 2 0 k DEC k 1 y x Ci sono però dei casi in cui posso non essere interessato a decodificare tutti i possibili ingressi, ma solo alcuni. Ad esempio nelle interfacce dei dispositivi (ad esempio per l'interfaccia di I/O) ci sono dei decodificatori di indirizzo che rispondono solo a particolari indirizzi. Supponiamo ad esempio che l'interfaccia di I/O risponda solo agli indirizzi F9h e FAh (dove h sta ad indicare che gli indirizzi sono espressi in formato esadecimale) con un bus a 8 bit. F9h= Fah= appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 19 di 58

20 Si nota che solo i primi due bit sono diversi. Il tutto può essere realizzato così: a 7 a 6 a 5 a 4 a 3 a 2 il risultato è 1 nei due soli casi sopra descritti a 1 a 0 oppure anche così, tramite una porta AND a 8 ingressi (tipicamente il numero di ingressi delle porte è pari a 2 n ) ed una XOR. a 7 a 6 a 5 a 4 a 3 a 2 anche qui il risultato è 1 nei due soli casi sopra descritti a 1 a 0 1 ultimo esempio: la seguente porta a 7 a 6 a 5 a 4 a 3 a risponde a F8h= F9h= FAh= FBh= appunti di calcolatori elettronici I a.a. 2004/2005 (sotto licenza FDL) 30 maggio 2005 Pagina 20 di 58

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi: Modulo 8 Elettronica Digitale Contenuti: Introduzione Sistemi di numerazione posizionali Sistema binario Porte logiche fondamentali Porte logiche universali Metodo della forma canonica della somma per

Dettagli

x y z F x y z F 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario

x y z F x y z F 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario Esercitazione di Calcolatori Elettronici Prof. Gian Luca Corso di Laurea in Ingegneria Elettronica Sommario Mappe di Karnaugh Analisi e sintesi di reti combinatorie Analisi e sintesi di reti sequenziali

Dettagli

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche Esercitazione di Calcolatori Elettronici Ing. Battista Biggio Corso di Laurea in Ingegneria Elettronica Esercitazione 1 (Capitolo 2) Reti Logiche Sommario Mappe di Karnaugh Analisi e sintesi di reti combinatorie

Dettagli

Introduzione ai microcontrollori

Introduzione ai microcontrollori Introduzione ai microcontrollori L elettronica digitale nasce nel 1946 con il primo calcolatore elettronico digitale denominato ENIAC e composto esclusivamente di circuiti a valvole, anche se negli anni

Dettagli

APPUNTI DI ELETTRONICA DIGITALE

APPUNTI DI ELETTRONICA DIGITALE APPUNTI DI ELETTRONICA DIGITALE ITIS MARCONI-GORGONZOLA docente :dott.ing. Paolo Beghelli pag.1/24 Indice 1.ELETTRONICA DIGITALE 4 1.1 Generalità 4 1.2 Sistema di numerazione binario 4 1.3 Operazioni con

Dettagli

Flip-flop Macchine sequenziali

Flip-flop Macchine sequenziali Flip-flop Macchine sequenziali Introduzione I circuiti digitali possono essere così classificati Circuiti combinatori Il valore delle uscite ad un determinato istante dipende unicamente dal valore degli

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica, Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011 Docente: Gian

Dettagli

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 In questo documento vengono illustrate brevemente le operazioni aritmetiche salienti e quelle logiche ad esse strettamente collegate.

Dettagli

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali. Reti Logiche Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali. - Elaborano informazione rappresentata da segnali digitali, cioe

Dettagli

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

Dettagli

Memorie ROM (Read Only Memory)

Memorie ROM (Read Only Memory) Memorie ROM (Read Only Memory) Considerando la prima forma canonica, la realizzazione di qualsiasi funzione di m variabili richiede un numero di porte AND pari al numero dei suoi mintermini e di prolungare

Dettagli

Macchine a stati finiti sincrone

Macchine a stati finiti sincrone Macchine a stati finiti sincrone Modulo 6 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Microelettronica e Bioingegneria (EOLAB) Macchine a stati finiti Dall

Dettagli

Componenti combinatori

Componenti combinatori Componenti combinatori Reti combinatorie particolari (5.., 5.3-5.8, 5.) Reti logiche per operazioni aritmetiche Decoder ed encoder Multiplexer Dispositivi programmabili: PROM e PLA Reti combinatorie particolari

Dettagli

Rappresentazione e Memorizzazione dei Dati

Rappresentazione e Memorizzazione dei Dati Rappresentazione e Memorizzazione dei Dati Giuseppe Nicosia CdL in Matematica (Laurea Triennale) Facoltà di Scienze MM.FF.NN. Università di Catania Bit e loro Memorizzazione Definizioni Algoritmo: una

Dettagli

CONTATORI ASINCRONI. Fig. 1

CONTATORI ASINCRONI. Fig. 1 CONTATORI ASINCRONI Consideriamo di utilizzare tre Flip Flop J K secondo lo schema seguente: VCC Fig. 1 Notiamo subito che tuttigli ingressi J K sono collegati alle Vcc cioe allo stato logico 1, questo

Dettagli

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I)

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Codifica delle Informazioni T insieme delle informazioni da rappresentare E insieme

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

Programmazione modulare a.s.2015-2016

Programmazione modulare a.s.2015-2016 Programmazione modulare a.s.015-016 Indirizzo:Informatica \Disciplina: Telecomunicazioni Prof. MAIO Patrizia Rosi Filippo Classe:3 A 3 B Informatica ore settimanali 3 di cui di laboratorio) Libro di testo:telecomunicazioni

Dettagli

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche 3.1 LE PORTE LOGICHE E GLI OPERATORI ELEMENTARI 3.2 COMPORTAMENTO A REGIME E IN TRANSITORIO DEI CIRCUITI COMBINATORI I nuovi

Dettagli

1. Operazioni in logica binaria e porte logiche

1. Operazioni in logica binaria e porte logiche 1. Operazioni in logica binaria e porte logiche Espressione di un numero in base 10 (notare a pedice p.es del numero 21); 21 10 =210 1 +110 0 527,98 10 =5 10 2 +2 10 1 +7 10 0 +9 10 1 +8 10 2 407,563 10

Dettagli

LA NUMERAZIONE BINARIA

LA NUMERAZIONE BINARIA LA NUMERAZIONE BINARIA 5 I SISTEMI DI NUMERAZIONE Fin dalla preistoria l uomo ha avuto la necessità di fare calcoli, utilizzando svariati tipi di dispositivi: manuali (mani, bastoncini, sassi, abaco),

Dettagli

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio ceccarelli@unisannio.it Angelo Ciaramella DMI-Università degli

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Calcolatori Elettronici Parte IV: Logica Digitale e Memorie

Calcolatori Elettronici Parte IV: Logica Digitale e Memorie Anno Accademico 2013/2014 Calcolatori Elettronici Parte IV: Logica Digitale e Memorie Prof. Riccardo Torlone Università di Roma Tre Semplici elementi alla base di sistemi complessi Riccardo Torlone - Corso

Dettagli

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Esonero del 25 maggio 2005 Esercizio 1 (punti 3) Una scheda di memoria di un telefono cellulare mette a disposizione 8Mbyte di

Dettagli

Algebra di Boole. Le operazioni base sono AND ( ), OR ( + ), NOT ( )

Algebra di Boole. Le operazioni base sono AND ( ), OR ( + ), NOT ( ) Algebra di Boole Circuiti logici: componenti hardware preposti all'elaborazione delle informazioni binarie. PORTE LOGICHE (logical gate): circuiti di base. Allo scopo di descrivere i comportamenti dei

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Appunti di reti logiche. Ing. Luca Martini

Appunti di reti logiche. Ing. Luca Martini Appunti di reti logiche Ing. Luca Martini 11 aprile 2003 Capitolo 1 Reti combinatorie Sommario In questo breve documento mostreremo sia alcuni concetti base sulle reti combinatorie, che alcuni dei moduli

Dettagli

Circuiti logici. Parte xxv

Circuiti logici. Parte xxv Parte xxv Circuiti logici Operatori logici e porte logiche....................... 729 Operatori unari....................................... 730 Connettivo AND...................................... 730

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

ISTITUTO ISTRUZIONE SUPERIORE L. EINAUDI ALBA ANNO SCOLASTICO 2015/2016 ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016 CLASSE 3 I Discip lina: Elettrotecnica ed Elettronica PROGETTAZIONE DIDATTICA ANNUALE Elaborata e sottoscritta dai docenti: cognome

Dettagli

Codifica binaria e algebra di Boole

Codifica binaria e algebra di Boole Codifica binaria e algebra di Boole Corso di Programmazione A.A. 2008/09 G. Cibinetto Contenuti della lezione Codifica binaria dell informazione Numeri naturali, interi, frazionari, in virgola mobile Base

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori Informazione e computer Si può rappresentare l informazione attraverso varie forme: Numeri Testi Suoni Immagini 0001010010100101010 Computer Cerchiamo di capire come tutte queste informazioni possano essere

Dettagli

Nel seguito verranno esaminati i diversi tipi di dato e il modo in cui essi sono rappresentati all interno del calcolatore.

Nel seguito verranno esaminati i diversi tipi di dato e il modo in cui essi sono rappresentati all interno del calcolatore. In una delle molteplici possibili definizioni di informazione, questa viene fatta corrispondere a qualunque elemento, in grado di essere rappresentato e comunicato, che consenta di fornire o aumentare

Dettagli

Circuiti sequenziali e elementi di memoria

Circuiti sequenziali e elementi di memoria Il Livello Logicoigitale I circuiti sequenziali Corso ACSO prof. Cristina SILVANO Politecnico di Milano Sommario Circuiti sequenziali e elementi di memoria Bistabile SR asincrono Temporizzazione e clock

Dettagli

Logica e codifica binaria dell informazione

Logica e codifica binaria dell informazione Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

Nel seguito verranno esaminati i diversi tipi di dato e il modo in cui essi sono rappresentati all interno del calcolatore.

Nel seguito verranno esaminati i diversi tipi di dato e il modo in cui essi sono rappresentati all interno del calcolatore. In una delle molteplici possibili definizioni di informazione, questa viene fatta corrispondere a qualunque elemento, in grado di essere rappresentato e comunicato, che consenta di fornire o aumentare

Dettagli

Architettura degli Elaboratori e delle Reti

Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Pagina lasciata intenzionalmente bianca i Indice 9 Marzo 006... 1 Insiemi... 1 Funzioni booleane... 1 Mintermini... 4 14 Marzo 006... 5 Logica proposizionale...

Dettagli

FONDAMENTI DI LOGICA DIGITALE 1 DL 3155E20 LOGICA. Blocchi funzionali. Argomenti teorici

FONDAMENTI DI LOGICA DIGITALE 1 DL 3155E20 LOGICA. Blocchi funzionali. Argomenti teorici L1 LOGICA FONDAMENTI DI LOGICA DIGITALE 1 Concetti di logica: teoremi fondamentali dell'algebra booleana Sistema binario Funzioni logiche Descrizione algebrica delle reti logiche e le tavole della verità

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema

Dettagli

Variabili logiche e circuiti combinatori

Variabili logiche e circuiti combinatori Variabili logiche e circuiti combinatori Si definisce variabile logica binaria una variabile che può assumere solo due valori a cui si fa corrispondere, convenzionalmente, lo stato logico 0 e lo stato

Dettagli

Architettura dei Calcolatori Algebra delle reti Logiche

Architettura dei Calcolatori Algebra delle reti Logiche Architettura dei Calcolatori Algebra delle reti Logiche Ing. dell Automazione A.A. 20/2 Gabriele Cecchetti Algebra delle reti logiche Sommario: Segnali e informazione Algebra di commutazione Porta logica

Dettagli

Aritmetica dei Calcolatori 2

Aritmetica dei Calcolatori 2 Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. I METODI DI NUMERAZIONE I numeri naturali... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. Il numero dei simboli usati per valutare la numerosità costituisce la base

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin Calcolatori Elettronici A a.a. 2008/2009 RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin 1 Esercizio 1: implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente

Dettagli

Capitolo 1 - Numerazione binaria

Capitolo 1 - Numerazione binaria Appunti di Elettronica Digitale Capitolo - Numerazione binaria Numerazione binaria... Addizione binaria... Sottrazione binaria... Moltiplicazione binaria... Divisione binaria... Complementazione... Numeri

Dettagli

Verifica di Sistemi. 2. Il latch SR a porte NOR non accetta la condizione: a. S=0, R=0 b. S=1, R=1 c. S=0, R=1 d. S=1, R=0

Verifica di Sistemi. 2. Il latch SR a porte NOR non accetta la condizione: a. S=0, R=0 b. S=1, R=1 c. S=0, R=1 d. S=1, R=0 Verifica di Sistemi 1.Qual è la differenza tra un latch asincrono e un Flip Flop? a. Il latch è abilitato da un segnale di clock b. Il latch ha gli ingressi asincroni perché questi ultimi controllano direttamente

Dettagli

Logica combinatoria. La logica digitale

Logica combinatoria. La logica digitale Logica combinatoria La logica digitale La macchina è formata da porte logiche Ogni porta riceve in ingresso dei segnali binari (cioè segnali che possono essere 0 o 1) e calcola una semplice funzione (ND,

Dettagli

PROGRAMMA SVOLTO E L E T T R O N I C A Anno Scolastico 2014/2015 Classe III Ae Prof. Boldrini Renato Prof. Procopio Sostene

PROGRAMMA SVOLTO E L E T T R O N I C A Anno Scolastico 2014/2015 Classe III Ae Prof. Boldrini Renato Prof. Procopio Sostene PROGRAMMA SVOLTO E L E T T R O N I C A Anno Scolastico 2014/2015 Classe III Ae Prof. Boldrini Renato Prof. Procopio Sostene LIBRI DI TESTO: Autore: Conte/Ceserani/Impallomeni Titolo: ELETTRONICA ED ELETTROTECNICA

Dettagli

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno 2007-08 Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari Mariagiovanna Sami Corso di reti Logiche 8 Anno 27-8 8 Quali componenti, se non AND e OR (e NOT )? Si è detto inizialmente che

Dettagli

PROGRAMMAZIONE MODULARE

PROGRAMMAZIONE MODULARE PROGRAMMAZIONE MODULARE ANNO SCOLASTICO 2013-2014 Indirizzo: ELETTROTECNICA - SIRIO Disciplina: ELETTRONICA Classe: 3^ Sezione: AES Numero di ore settimanali: 2 ore di teoria + 2 ore di laboratorio Modulo

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch. Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario

Dettagli

Flip-flop, registri, la macchina a stati finiti

Flip-flop, registri, la macchina a stati finiti Architettura degli Elaboratori e delle Reti Lezione 9 Flip-flop, registri, la macchina a stati finiti Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell nformazione Università degli Studi di

Dettagli

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2 Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via

Dettagli

1/20 Segnali Analogici e Digitali Franco Moglie Istituto di Elettromagnetismo e Bioingegneria Università Politecnica delle Marche Ultimo aggiornamento: 15 gennaio 2005 2/20 GNU Free Documentation License

Dettagli

Parte 1. Vettori di bit - AA. 2012/13 1.1

Parte 1. Vettori di bit - AA. 2012/13 1.1 1.1 Parte 1 Vettori di bit 1.2 Notazione posizionale Ogni cifra assume un significato diverso a seconda della posizione in cui si trova Rappresentazione di un numero su n cifre in base b: Posizioni a n

Dettagli

Logica binaria. Porte logiche.

Logica binaria. Porte logiche. Logica binaria Porte logiche. Le porte logiche sono gli elementi fondamentali su cui si basa tutta la logica binaria dei calcolatori. Ricevono in input uno, due (o anche più) segnali binari in input, e

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Parte I Sui testi di approfondimento: leggere dal Cap. del testo C (Console, Ribaudo):.,. fino a pg.6 La codifica delle informazioni Un calcolatore memorizza ed elabora informazioni

Dettagli

Classe III specializzazione elettronica. Elettrotecnica e elettronica

Classe III specializzazione elettronica. Elettrotecnica e elettronica Classe III specializzazione elettronica Elettrotecnica e elettronica Macro unità n 1 Sistema binario e porte logiche Sistema di numerazione binario: conversioni binario-decimale e decimale-binario Porte

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,...

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,... Automi Con il termine automa 1 s intende un qualunque dispositivo o un suo modello, un qualunque oggetto, che esegue da se stesso un particolare compito, sulla base degli stimoli od ordini ricevuti detti

Dettagli

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND. IPSI G. Plana Via Parenzo 46, Torino efinizione di Mintermine onsiderata una qualunque riga della tabella di verità in cui la funzione booleana di uscita Q vale, si definisce mintermine il prodotto logico

Dettagli

Macchine combinatorie

Macchine combinatorie Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine combinatorie Lezione 10 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Analisi e Sintesi di un sistema 1/2 Per analisi di

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

A L'operatore NOT si scrive con una linea sopra la lettera indicante la variabile logica A ; 0 1 1 0. NOT di A =

A L'operatore NOT si scrive con una linea sopra la lettera indicante la variabile logica A ; 0 1 1 0. NOT di A = ALGEBRA DI BOOLE L'algebra di Boole è un insieme di regole matematiche; per rappresentare queste regole si utilizzano variabili logiche, funzioni logiche, operatori logici. variabili logiche: si indicano

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 2006/2007 RETI LOGICHE: RICHIAMI Massimiliano Giacomin 1 Due tipi di unità funzionali Elementi di tipo combinatorio: - valori di uscita dipendono solo da valori in ingresso

Dettagli

T9 REGISTRI, CONTATORI, MEMORIE A SEMICONDUTTORE

T9 REGISTRI, CONTATORI, MEMORIE A SEMICONDUTTORE T9 REGISTRI, CONTATORI, MEMORIE A SEMICONDUTTORE T9.1 I registri integrati hanno spesso una capacità di 4 bit o multipla di 4 bit. Nel linguaggio informatico un gruppo di 4 bit viene detto: [a] byte....

Dettagli

Algoritmo = Dati e Azioni Sistema numerico binario Rappresentazioni di numeri binari Rappresentazione in modulo e segno

Algoritmo = Dati e Azioni Sistema numerico binario Rappresentazioni di numeri binari Rappresentazione in modulo e segno Algoritmo = Dati e Azioni Dati: Numeri (naturali, interi, reali, ) Caratteri alfanumerici (a, b, c, ) Dati logici (vero, falso) Vettori di elementi, matrici, ([1,2,3], [[1,1],[1,2], ]) Azioni o istruzioni:

Dettagli

CAPITOLO 2 CIRCUITI SEQUENZIALI

CAPITOLO 2 CIRCUITI SEQUENZIALI 34 CAPITOLO 2 CIRCUITI SEQUENZIALI I circuiti sequenziali sono caratterizzati dal fatto che, in un dato istante, le uscite non dipendono solo dai livelli logici presenti sugli ingressi nello stesso istante

Dettagli

Lezione 3 Prof. Angela Bonifati

Lezione 3 Prof. Angela Bonifati Lezione 3 Prof. Angela Bonifati Complemento a 2 Algebra booleana Le infrastrutture hardware Esercizi sulla codifica dei numeri Eseguire le seguenti conversioni: Da base 2 e 16 in base 10: 110 2 =???? 10

Dettagli

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI Scienza ed industria hanno oggi costituito legami molto forti di collaborazione che hanno portato innovazione tecnologica sia a livello organizzativo-amministrativo

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Corso: Fondamenti Informatica I Prof. Paolo Nesi A.A. 2002/2003

Corso: Fondamenti Informatica I Prof. Paolo Nesi A.A. 2002/2003 Dispense Introduzione al calcolatore Corso: Fondamenti Informatica I Prof. Paolo Nesi A.A. 2002/2003 Nota: Queste dispense integrano e non sostituiscono quanto scritto sul libro di testo. 1 Sistemi di

Dettagli

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it Lezione 2 Circuiti logici Mauro Piccolo piccolo@di.unito.it Bit e configurazioni di bit Bit: una cifra binaria (binary digit) 0 oppure 1 Sequenze di bit per rappresentare l'informazione Numeri Caratteri

Dettagli

Tecnologie informatiche - Parte 1. Hardware

Tecnologie informatiche - Parte 1. Hardware Tecnologie informatiche - Parte 1. Hardware 1. Introduzione. I segnali binari. La parola informatica deriva dal termine francese informatique: è la fusione di due parole information e automatique che significa

Dettagli

Reti logiche e componenti di un elaboratore

Reti logiche e componenti di un elaboratore FONDAMENTI DI INFORMATICA Ing. Davide PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Reti logiche e componenti di un elaboratore 2000-2007 P.L. Montessoro - D. Pierattoni (cfr. nota di

Dettagli

acquisire informazioni su grandezze analogiche, trasformandole in stringhe di bit

acquisire informazioni su grandezze analogiche, trasformandole in stringhe di bit Convertitori analogico/digitali Un convertitore analogico digitale ha la funzione inversa a quella di un convertitore DAC, poiché il suo scopo è quello di permetter ad un sistema a microprocessore di acquisire

Dettagli

Architettura dei Calcolatori Reti Sequenziali Sincrone

Architettura dei Calcolatori Reti Sequenziali Sincrone Architettura dei Calcolatori Reti Sequenziali Sincrone Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Reti Sequenziali Sincrone Sommario: Introduzione, tipi e definizione Condizioni per il corretto

Dettagli

Circuiti integrati. Circuiti integrati

Circuiti integrati. Circuiti integrati Circuiti integrati Circuiti integrati Le porte logiche non vengono prodotte isolatamente, ma sono realizzate su circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Comparatori. Comparatori di uguaglianza

Comparatori. Comparatori di uguaglianza Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",

Dettagli

I sistemi di elaborazione

I sistemi di elaborazione 2 I sistemi di elaborazione 2.0 I sistemi di elaborazione c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 2.0 0 2 I sistemi di elaborazione Architettura

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it a.a. 2007-2008 http://digilander.libero.it/rosario.cerbone Sintesi di Reti Sequenziali Sincrone

Dettagli

ELEMENTI PROGETTAZIONE LOGICA

ELEMENTI PROGETTAZIONE LOGICA UNIVERSITA DEGLI STUDI DI MILANO BICOCCA CORSO DI LAUREA IN INFORMATICA ELEMENTI PROGETTAZIONE DI LOGICA Dispense per il Corso di PROGETTAZIONE LOGICA Prof. Giuliano F. BOELLA 2 i PREMESSA Queste dispense

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati Il Livello LogicoDigitale i Blocchi funzionali combinatori Circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati

Dettagli

P R O G E T T O L A R S A A P P U N T I S U L P. L. C.

P R O G E T T O L A R S A A P P U N T I S U L P. L. C. P R O G E T T O L A R S A A P P U N T I S U L P. L. C. L automazione di un qualunque procedimento industriale si ottiene mediante un insieme d apparecchiature, opportunamente collegate tra loro, in modo

Dettagli

I CONTATORI SINCRONI

I CONTATORI SINCRONI I CONTATORI SINCRONI Premessa I contatori sincroni sono temporizzati in modo tale che tutti i Flip-Flop sono commutato ( triggerati ) nello stesso istante. Ciò si realizza collegando la linea del clock

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Corso di Laurea in Scienze dell'educazione, 2014-15 Lorenzo Bettini http://www.di.unito.it/~bettini Informazioni generali Ricevimento studenti su appuntamento Dipartimento di

Dettagli

Le componenti fisiche di un computer: l hardware

Le componenti fisiche di un computer: l hardware Le componenti fisiche di un computer: l hardware In questa sezione ci occuperemo di come è strutturato e come funziona l hardware di un computer. In particolare, nella Sezione ci occuperemo del punto di

Dettagli