ELEMENTI PROGETTAZIONE LOGICA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ELEMENTI PROGETTAZIONE LOGICA"

Transcript

1 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 2

3 i PREMESSA Queste dispense ad uso degli studenti presentano in forma completa ancorché condensata gli elementi di guida alla progettazione dei sistemi digitali. Nel capitolo sono presentate le numerazioni decimale, binaria ed esadecimale. Sono introdotti il codice binario ed i codici ad esso collegati (BCD, GRAY, ASCII). Nel capitolo 2 sono introdotti gli elementi di logica delle decisioni. Nel capitolo 3 viene introdotta l Algebra di Boole, strumento principe per trattare le funzioni di decisione binarie: si scrivono le funzioni logiche binarie nella loro forma piú semplice. Nel capitolo 4 sono introdotti i simboli grafici e le definizioni delle funzioni logiche elementari, nonché i circuiti logici che le meccanizzano. Nel capitolo 5 viene introdotta la LOGICA COMBINATORIA, usata per generare le funzioni logiche di decisione, base dei circuiti elettronici di controllo delle macchine digitali. Nel capitolo 6 viene introdotta la LOGICA SEQUENZIALE SINCRONA, con la quale si realizzano le macchine a stati, che sono i costituenti primari di tutte le moderne macchine elettroniche digitali. Nel capitolo 7 si studiano i contatori, che sono le piú semplici macchine sequenziali sincrone: viene introdotto il contatore binario universale (UBC), struttura base per costruire una larga parte delle macchine sequenziali. Nel capitolo 8 sono introdotti i registri a scorrimento, elementi dedicati al trattamento di dati binari. Viene introdotto il registro universale a scorrimento (USR), struttura base per la realizzazione dei vari tipi di registro a scorrimento. Nel capitolo 9 viene trattata la progettazione dei sistemi digitali sincroni. Questo capitolo, unitamente al capitolo 7, forma il nucleo di guida alla progettazione e realizzazione di macchine elettroniche digitali. Gli ultimi due capitoli 0 e introducono alla progettazione e realizzazione di macchine digitali mediante sistemi CAD (Computer Aided Design) basati su linguaggi di definizione di alto livello (HDL). Sono aggiunte due appendici. Nell appendice A viene trattato in forma completa un caso generale della progettazione sequenziale sincrona, secondo quanto presentato nel capitolo 6. Nell appendice B si esamina un caso di elaborazione alternativa seriale-parallelo. Giuliano F. Boella 20 giugno 2005

4 ii

5 Indice NUMERAZIONI E CODICI. Introduzione Numerazione binaria Numerazione ottale ed esadecimale Conversione fra numeri di diversi sistemi numerici Codici numerici Codice binario Codice BCD Codice di Gray Codice ASCII Logica delle decisioni 9 2. Elementi Operatori logici e variabili logiche Equivalenze di De Moivre Funzioni di decisione complesse L algebra di Boole 5 3. Postulati Teoremi Funzioni booleane Tabella delle combinazioni Tabella della veritá Mappe di Karnaugh Minimizzazione delle funzioni booleane Manipolazioni algebriche Uso delle mappe di Karnaugh Meccanismo della semplificazione Esempi Condizioni di indifferenza e ridondanze I Circuiti Logici 3 4. Definizioni Simboli logici fondamentali (in logica positiva) Logica a diodi Circuiti integrati Considerazioni sul circuito NAND iii

6 iv INDICE 5 Logica Combinatoria Definizioni Progettazione Esempi Blocchi logici funzionali Il decoder binario Il multiplexer binario Il demultiplexer Altri blocchi logici funzionali Logica Sequenziale Dalla logica combinatoria alla logica sequenziale Logica sequenziale asincrona Logica sequenziale sincrona La Memoria Stati interni e variabili di stato Analisi di una logica sequenziale Il diagramma degli stati Sintesi di reti sequenziali sincrone Esempio Gli stati ridondanti I Contatori Sintesi di un contatore binario sincrono Sintesi di un contatore decimale codificato in binario Contatore binario universale I registri a scorrimento Struttura dei registri a scorrimento Il registro universale a scorrimento La progettazione di sistemi digitali sincroni 7 9. Struttura di un sistema sincrono L unitá di controllo nei sistemi digitali sincroni Struttura dell unitá di controllo basata su contatore Progettazione dell unitá di controllo Esempio di progetto di un sistema sincrono con contatore Metodologia di progettazione sincrona Sincronizzazione di segnali esterni Realizzazione di una macchina sequenziale Sintesi di macchine sequenziali con un linguaggio HDL Cenni sull utilizzo di ABEL Scrittura delle dichiarazioni Inserimento di commenti Scrittura delle equazioni Esempio di file di lavoro Uso di costrutti evoluti Uso delle strutture globali Struttura when-then-else

7 INDICE v Linguaggi di descrizione di macchine a stati 95. La struttura state diagram di ABEL Esempio d uso del costrutto state diagram Costruzione del diagramma degli stati La struttura truth table di ABEL Esempio col costrutto truth table Conclusioni A Esempio di progettazione di una rete sequenziale sincrona 07 B Elaborazione alternativa seriale-parallela 5

8 vi INDICE

9 Capitolo NUMERAZIONI E CODICI. Introduzione Il sistema numerico che usiamo normalmente é il sistema numerico posizionale decimale. Questo sistema, che ci sembra fondamentale, é solo uno di una infinita varietá di possibili sistemi numerici. Il numero decimale 234 rappresenta un migliaio, due centinaia, tre decine e quattro unitá ed é composto dalle cifre, 2, 3 e 4. Il sistema decimale fa uso di 0 cifre: 0,, 2, 3, 4, 5, 6, 7, 8, 9 per rappresentare i numeri fino a 9 ed usa i multipli delle potenze di 0 per i numeri oltre 9. Cosí, il numero decimale 234 rappresenta la somma di 000 (= 0 3 ) piú 200 (= ) piú 30 (= 3 0 ) piú 4 (= ). Questo sistema numerico é basato sulla radice 0. In un sistema con base o radice r le cifre usate vanno da 0 a r. Perció il sistema numerico decimale richiede 0 cifre, le cifre da 0 a 9 che ben conosciamo. Un numero intero N puó essere espresso matematicamente come N = a n r n + a n r n a 2 r 2 + a r + a 0 r 0 dove n = 0,, 2,... r = radice del sistema numerico a = cifra con valore fra 0 e r- Analogamente la parte frazionaria F di un numero puó essere espressa matematicamente come F = a r + a 2 r 2 + a 3 r a m r m. Un numero viene rappresentato con una stringa di cifre, nella quale alla posizione di ogni cifra viene attribuito un peso, cioé una potenza della radice. Ecco allora la scrittura di un generico numero decimale D in forma di stringa: d n d n 2...d 2 d d 0.d d 2...d m costituita da n cifre intere e da m cifre frazionarie, separate dal punto (.) che individua la demarcazione fra le due parti, la parte intera e la parte frazionaria. Se il punto non esiste, si assume che il numero é intero. La cifra d n é la cifra piú significativa; la cifra d m é la cifra meno significativa. Il valore del numero é la somma di ciascuna cifra moltiplicata per la corrispondente potenza della radice: D = i=n i= m d i r i.

10 2 CAPITOLO. NUMERAZIONI E CODICI.2 Numerazione binaria Poiché in elettronica é piú facile e piú affidabile realizzare una condizione dicotomica (presenza o assenza di corrente; presenza o assenza di tensione), appare evidente far ricorso a variabili binarie e alla numerazione binaria. Il sistema numerico binario ha radice 2. Poiché r = 2, sono necessarie due sole cifre, 0 e, per rappresentare i numeri nel sistema numerico binario. Un generico numero binario puó essere scritto in forma di stringa: b n b n 2...b 2 b b 0.b b 2...b m La cifra binaria viene usualmente detta bit, contrazione dalla espressione inglese binary digit. La cifra b n é la cifra piú significativa (most significant bit: MSB); la cifra b m é la cifra meno significativa (least significant bit: LSB). Anche qui il punto separa la parte intera dalla parte frazionaria: esso é detto punto binario. Il valore B del numero é la somma di ciascuna cifra moltiplicata per la corrispondente potenza della radice 2: B = i=n i= m b i 2 i Applicando le definizioni giá viste possiamo scrivere, effettuando il calcolo nel sistema decimale: N = 0 2 = ( ) 0 = ( ) 0 = 23 0 Quindi al numero 0 in base 2 corrisponde il numero 23 in base 0. Diamo un esempio con un numero binario avente parte frazionaria: = ( ) 0 = Numerazione ottale ed esadecimale La base 0 é importante perché la usiamo normalmente. La base 2 é importante per l uso che se ne fa nei circuiti elettronici. I numeri in base 8 e 6 hanno interesse perché forniscono un modo conveniente per una rapida rappresentazione dei numeri binari multibit. Il sistema numerico ottale usa la base 8 e necessita di 8 cifre: si usano le ordinarie cifre da 0 a 7 (8 e 9 ovviamente non compaiono mai!). Il sistema numerico esadecimale usa la base 6 e necessita di 6 cifre: si usano le ordinarie 0 cifre da 0 a 9 a cui vengono aggiunte altre sei cifre, che sono A, B, C, D, E, F. Per utilizzare questi sistemi occorre scrivere le relative tabelle pitagoriche, poi operare in analogia a quanto si fa per il sistema decimale. Vediamo ora un utilizzo pratico delle numerazioni ottale ed esadecimale. Nella Tabella. sono listati i primi 6 numeri interi nelle quattro numerazioni: BIN per binario, OCT per ottale, DEC per decimale, HEX per esadecimale. Sono affiancate altre due colonne con le stringhe binarie a 3 e 4 bit, 3ST e 4ST. Poiché una stringa di 3 bit puó assumere solo 8 differenti combinazioni, ne segue che essa é in corrispondenza biunivoca con una cifra ottale: si confrontino le colonne OCT e 3ST della tabella. Analogamente una stringa di 4 bit puó assumere 6 differenti combinazioni, ne segue che essa é in corrispondenza biunivoca con una cifra esadecimale: si confrontino le colonne HEX e 4ST della tabella. É quindi molto facile convertire un numero binario in un numero ottale. Partendo dal punto binario e

11 .3. NUMERAZIONE OTTALE ED ESADECIMALE 3 andando a sinistra, raggruppiamo le cifre binarie a tre a tre (eventualmente inserendo zeri all inizio per completare la tripletta piú a sinistra) e rimpiazziamo ciascun gruppo con la corrispondente cifra ottale: = = Se il numero é frazionario, se cioé vi sono cifre a destra del punto binario, sempre partendo dal punto e procedendo sia verso destra che verso sinistra raggruppiamo le cifre binarie a tre a tre (eventualmente aggiungendo zeri in testa e in coda per completare le triplette): = = Tabella. BIN DEC OCT 3ST HEX 4ST A B C D E F In maniera analoga si procede per la conversione di un numero binario in un numero esadecimale, questa volta raggruppando le cifre binarie a quattro a quattro e rimpiazzando ciascun gruppo di quattro bit con la corrispondente cifra esadecimale: = = DA = = 5.AB 6 Con due cifre esadecimali si rappresenta un numero binario di 8 bit, cioé un byte. É ovvio che é piú facile ricordare due cifre esadecimali piuttosto che ricordare tutti e 8 i bit di un byte. Un esempio: = D9 6 Inoltre é invalso l uso dei numeri esadecimali per rappresentare gli indirizzi di memoria dei computer. Ad esempio, in un microprocessore i singoli byte di una memoria di 64k sono identificati da un indirizzo a 6 bit, mnenonicamente piú facile da ricordare e da confrontare se espresso con 4 cifre esadecimali: B = D9F 3 H Chi programma i sistemi a microprocessore conosce bene l utilitá dei numeri esadecimali.

12 4 CAPITOLO. NUMERAZIONI E CODICI.4 Conversione fra numeri di diversi sistemi numerici Le conversioni fra i sistemi binario, ottale ed esadecimale sono semplicissime da effettuarsi, poiché si tratta di operare delle sostituzioni, passando sempre attraverso la rappresentazione binaria e mettendo in corrispondenza i gruppi di cifre binarie con gli equivalenti ottali ed esadecimali B = B = 3352 O B = B = 5EA H 234 O = B 234 O = B = B = 29C H CAD H = B CAD H = B = B = 6235 O dove B sta per binario, O per ottale, H per esadecimale. Le conversioni per passare dai sistemi binario, ottale, esadecimale al sistema decimale si fanno applicando la formula di sommatoria D = i=n i= m d i r i facendo il calcolo nel sistema decimale e utilizzando ogni volta il corretto valore della radice: r = 2, 8, 6 rispettivamente per binario, ottale, esadecimale. 0 B = ( ) D = 27 D 27 O = ( ) D = 87 D CAD H = ( ) D = 3245 D Le conversioni dal sistema decimale ai sistemi binario, ottale, esadecimale si fanno mediante divisioni successive. Partiamo dalla formula generale della sommatoria D = riscrivendola nel modo seguente, limitata a m = 0: i=n i= m d i r i D = ((...((d n ) r + d n 2 ) r +...) r + d ) r + d 0 Se dividiamo l espressione per r, otteniamo un quoto della stessa forma del numero di partenza D = (...((d n ) r + d n 2 ) r +...) r + d e un resto pari a d 0 : abbiamo ottenuto l ultima cifra significativa d 0. Iterando il procedimento otteniamo via via tutte le altre cifre del numero cercato. Usiamo la sequente procedura in ambito decimale: scriviamo il numero decimale da convertire, tracciamo alla sua destra una linea verticale, sotto il numero scriviamo il quoto (ottenuto per divisione intera del numero) e accanto al numero, al di lá linea, il resto. Iterando il processo di divisione fino ad azzerare il quoto otteniamo il valore convertito prendendo in sequenza i resti a partite dall ultimo ottenuto, che rappresenta la cifra piú significativa. Come esempio convertiamo il numero decimale 7 nel corrispondente numero binario, effettuando la divisione per 2 nel sistema decimale.

13 .5. CODICI NUMERICI Pertanto: 7 D = 00 B. Convertiamo ora il numero decimale 234 nel corrispondente numero ottale, effettuando la divisione per 8 nel sistema decimale Pertanto: 234 D = 2322 O. Convertiamo infine il numero decimale 234 nel corrispondente numero esadecimale, effettuando la divisione per 6 nel sistema decimale D Pertanto: 234 H = 4D2 H..5 Codici numerici Un codice é un modo sistematico di rappresentare un informazione..5. Codice binario É possibile rappresentare 2 n differenti messaggi con un puro codice binario di n bit. Una particolare combinazione di n bit é detta parola. Un byte é un codice di 8 bit. Word é un codice di 6 bit..5.2 Codice BCD Un codice a 4 bit molto comune é il codice BCD (Binary Coded Decimal), che codifica le cifre decimali da 0 a 9 in una rappresentazione assoluta. Esso é molto utilizzato nei sistemi elettronici che operano direttamente in decimale o per l uscita dati in decimale verso un utenza esterna. Nella Tabella.2 che segue viene data la corrispondenza tra cifre decimali e codici BCD. Si noti che un codice a 4 bit consente 6 combinazioni, ma di esse ne vengono utilizzate soltanto 0. Le rimanenti 6 non sono direttamente utilizzate (si vedrá che possono essere utilizzate per effettuare delle semplificazioni a livello dei circuiti logici). Delle molte varietá possibili é stato scelto il codice binario naturale con pesi 8,4,2, in modo da avere la corrispondenza diretta fra il valore della cifra digitale ed il valore del codice

14 6 CAPITOLO. NUMERAZIONI E CODICI binario. Tabella.2 DEC BCD Si notino i sei codici non utilizzati, listati nella parte bassa della tabella..5.3 Codice di Gray Nelle applicazioni elettromeccaniche dell elettronica, in particolare nelle macchine utensili a controllo numerico, é necessario avere un sensore che produca un valore numerico in corrispondenza ad ogni posizione meccanica. Ció puó essere realizzato con una maschera a tratti pieni e vuoti, con m piste che ripetono le configurazioni del codice binario a m bit, con m scelto in base alla risoluzione voluta (ad es., m = 0 consente 024 posizioni), rigidamente fissata sul pezzo di cui si vuol misurare lo spostamento. Una serie di fotocelle allineate legge un tratto di ogni pista e rileva il codice. Si realizza in tal modo un codificatore di posizioni o encoder. L encoder puó codificare uno spostamento rettilineo o uno spostamento angolare a seconda che le piste siano rettilinee o disposte su una corona circolare. L encoder presenta un problema quando la posizione da rilevare é in corrispondenza alla demarcazione fra due regioni codificate contigue. Se cambia un solo bit, non vi sono problemi. Ma se cambiano piú bit, certamente le fotocelle non scattano tutte contemporaneamente nello stesso punto: pertanto si creano ambiguitá, cioé il codice prodotto puó essere momentaneamente errato. Questo problema é stato risolto da Gray costruendo un codice che presenta un solo cambiamento per ogni coppia di regioni contigue lungo tutte le piste dell encoder. Il codice di Gray é un codice ciclico, con la caratteristica di essere anche riflesso. Usando questa seconda caratteristica il codice viene costruito in modo ricorsivo. Il codice di Gray a bit ha due parole, 0 e. Il codice di Gray a 2 bit si ottiene da quello a bit facendo precedere le due parole da uno 0, poi scrivendo di seguito le due parole a bit riflesse e facendole precedere da un, ottenendo quindi 4 parole.

15 .5. CODICI NUMERICI 7 Iterando con lo stesso procedimento si puó scrivere un codice a n bit, come si puó vedere dalla Tabella.3, nella quale sono riportati il codice binario a 4 bit e di fianco il codice di Gray a 4 bit. Tabella.3 DEC BIN GRAY Un semplice algoritmo permette di passare dal codice Gray al corrispondente codice binario, che viene usato nel calcolo..5.4 Codice ASCII Il codice ASCII (si pronuncia askii), acronimo di American Standard Code for Information Interchange, é il piú noto codice di caratteri. Nato inizialmente su 7 bit, é stato esteso a 8 bit; quindi é un codice a byte che rappresenta 255 caratteri piú il carattere nullo. Nei primi 28 codici sono contenuti 32 caratteri di controllo, seguiti dai codici relativi alle lettere dell alfabeto maiuscole e minuscole, alle cifre, alla punteggiatura. Nei restanti 28 codici sono contenuti vari caratteri da stampa. I primi 28 caratteri sono fissi in ogni implementazione del codice ASCII, i secondi 28 caratteri possono variare da implementazione a implementazione. Possiamo considerare il codice ASCII come l alfabeto generale dei calcolatori: il calcolatore elabora stringhe di caratteri ASCII e compie le azioni conseguenti.

16 8 CAPITOLO. NUMERAZIONI E CODICI

17 Capitolo 2 Logica delle decisioni 2. Elementi Consideriamo il quadrato di Fig 2.. Esso rappresenta l universo: cioé circonda un area e stabilisce dei confini. Dentro l area tracciamo una linea che la biseca verticalmente. Sono individuate due regioni. La regione di sinistra é il dominio di una generica variabile logica A. Possiamo affermare che la variabile A é vera nel suo dominio e che é falsa nella regione di destra, dominio della variabile Ā (detta A complemento o A negato). A Ā Fig. 2. Ridisegnamo lo stesso quadrato-universo (Fig 2.2) e tracciamo una linea che lo biseca orizzontalmente. Sono individuate due regioni, rispettivamente domini delle variabili B e B, in analogia con quanto giá visto per la variabile A. B B Fig. 2.2 Sovrapponiamo i due quadrati delle Figg. 2. e 2.2 nella Fig Nello stesso universo sono presenti i domini delle due variabili logiche A e B. Ovviamente, la variabile A é vera nella metá sinistra del quadrato, cioé nel suo dominio, cosí come appare in Fig. 2.. La variabile B é vera nella metá superiore del quadrato, cosí come appare nella Fig L indicazione delle variabili é riportata esternamente al quadrato. 9

18 0 CAPITOLO 2. LOGICA DELLE DECISIONI A Ā B B Fig. 2.3 Consideriamo ora la Fig La regione quadrettata riunisce i due domini in cui é vera la variabile A o la variabile B. Introduciamo l operatore unione. L espressione A B individua la regione a quadretti della Fig A Ā B B Fig. 2.4 Consideriamo ora la Fig La zona quadrettata individua la regione in cui sono vere entrambe le variabili A e B. Introduciamo l operatore intersezione. L espressione A B individua la regione a quadretti della Fig A Ā B B Fig Operatori logici e variabili logiche All operatore unione dell espressione A B equivale nel mondo delle variabili logiche A e B l operatore OR. All espressione A B sostituiamo l espressione A OR B e in modo pratico l espressione A + B (letto a or b : somma logica). All operatore intersezione dell espressione A B equivale nel mondo delle variabili logiche A e B l operatore AND. All espressione A B sostituiamo l espressione A AND B e in modo pratico l espressione A B (letto a and b : prodotto logico). Introduciamo inoltre l operatore NOT. Esso consente di passare dalla variabile A al suo complemento Ā

19 2.2. OPERATORI LOGICI E VARIABILI LOGICHE (inversione logica) secondo l espressione: Ā = NOT A (e quindi A = NOT Ā). Riprendendo la Fig. 2.3, possiamo ridisegnarla (Fig. 2.6) indicando le espressioni che individuano le 4 regioni dell universo logico: le espressioni A B, Ā B, A B, Ā B individuano i quattro quadranti in cui é diviso l universo logico. A Ā B A B Ā B B A B Ā B Fig. 2.6 Le variabili logiche sono variabili binarie e possono assumere soltanto due valori, VERO e FALSO. In alternativa, si usa il valore per VERO, il valore 0 per FALSO. Quindi una generica variabile X puó assumere il valore (X = ) e di conseguenza ( X = 0); oppure X = 0 e di conseguenza X =. Usando i valori e 0 per le variabili si puó sintetizzare il comportamento degli operatori AND e OR in semplici tabelle. Scriviamo dapprima la tabella dell operatore AND applicato a due variabili logiche. Nella zona di sinistra della tabella elenchiamo tutte le combinazioni possibili delle due variabili; nella zona di destra (dopo la barra verticale) scriviamo il risultato dell operazione: A B A B Tab. 2. Occorre che entrambe le variabili siano vere (=) perché il risultato sia vero (=). Scriviamo la tabella dell operatore OR applicato a due variabili: A B A + B Tab. 2.2 Basta che almeno una delle variabili sia vera (=) perché il risultato sia vero (=). Notiamo che il risultato dell operazione AND coincide con il prodotto aritmetico delle due variabili A e B, mentre quello dell operatore OR si differenzia dalla somma aritmetica nell ultimo caso ( + = ).

20 2 CAPITOLO 2. LOGICA DELLE DECISIONI E ovvia la generalizzazione a un numero qualsiasi di variabili. Scriviamo ora la tabella per il caso di tre variabili: A B C A + B + C A B C Tab. 2.3 All operatore OR viene anche dato il nome di OR INCLUSIVO, in quanto si ha risultato nel caso in cui entrambe le variabili sono vere. E stato introdotto l operatore OR ESCLUSIVO (EXOR, ), applicato a due sole variabili, per la rilevanza che esso assume nella logica. Scriviamo la tabella dell EXOR di due variabili: A B A B Tab. 2.4 Come si vede dalla tabella, viene escluso il caso in cui entrambe le variabili A e B sono vere. All operatore EXOR é stato dato un simbolo pratico: A B. L operatore EXOR non é un operatore primario, come invece sono AND, OR, NOT. Si puó infatti scrivere, combinando gli operatori con l uso standard delle parentesi: ovvero A EXOR B = (A AND B) OR (Ā AND B) A B = (A B) + (Ā B) 2.3 Equivalenze di De Moivre Sono utili le seguenti equivalenze, la cui correttezza puó essere verificata col diagramma di Fig A + B = (Ā B)

21 2.4. FUNZIONI DI DECISIONE COMPLESSE 3 e, scambiando fra loro AND e OR, A B = (Ā + B) Queste equivalenze possono essere generalizzate a piú di due variabili: A + B K = (Ā B... K) A B... K = (Ā + B K) 2.4 Funzioni di decisione complesse Le funzioni di decisione elementari sono: AND e OR. Con esse, variamente combinate, é possibile costruire qualsivoglia funzione di decisione piú complessa. Abbiamo giá visto il semplice caso dell EXOR. Anche le equivalenze di De Moivre sono funzioni di decisione appena piú complesse. Se si ha a che fare con un numero piú alto di variabili logiche definite nello stesso universo, é facile intuire come si possano generare delle funzioni di decisione complesse. Esaminiamo ora il caso della somma aritmetica in binario. Calcoliamo la somma S e il riporto R di due numeri binari di un solo bit. Scriviamo una tabella (Tab. 2.5) in cui riportiamo tutti i casi possibili: A B S R Tab. 2.5 Studiando attentamente la tabella notiamo che la somma S e il riporto R possono essere ottenuti con l uso delle funzioni di decisione giá viste. Infatti: S = A B R = A B Ricordiamo che la sottrazione aritmetica puó essere ottenuta come somma del minuendo col sottraendo opportunamente complementato. Inoltre le operazioni aritmetiche di moltiplicazione e divisione sono riconducibili rispettivamente a sequenze di somme e di sottrazioni opportune. Quindi con le sole funzioni di decisione binarie AND, OR, NOT si possono implementare non solo le funzioni di decisione ma anche le funzioni elementari dell aritmetica binaria. Realizzando le funzioni di decisione in forma elettronica é possibile costruire calcolatori elettronici binari e in generale qualsiasi tipo di elaboratore elettronico.

22 4 CAPITOLO 2. LOGICA DELLE DECISIONI

23 Capitolo 3 L algebra di Boole A questo punto sorge la necessitá di avere uno strumento efficiente ed efficace per trattare le funzioni di decisione binarie. Questo strumento esiste ed é l algebra di Boole. George Boole (85-64) introduce attorno al 850 un algebra della logica, con la quale intende investigare le leggi del pensiero umano: l intera struttura del calcolo delle proposizioni dipende dal presupposto che le affermazioni logiche, che vengono fatte, possono essere o vere o false: non sono ammesse condizioni intermedie. Nel 938 C. E. Shannon si accorge che l algebra di Boole é lo strumento cercato per trattare le funzioni logiche binarie usate in elettronica. Oggi, l algebra di Boole é il fondamento della progettazione logica dei moderni elaboratori elettronici. Non intendiamo dare qui una rigorosa trattazione matematica dell algebra di Boole: per questo rimandiamo a testi specializzati. Presentiamo invece un sommario dei postulati e teoremi; inoltre diamo un riferimento per il normale uso dell algebra di Boole orientato alla progettazione dei sistemi logici. 3. Postulati Presentiamo qui l insieme dei postulati che sono alla base dell algebra di Boole. Postulato a X = se X 0. Postulato b X = 0 se X. Questi due postulati definiscono formalmente una variabile binaria, cioé a due valori. Postulato 2a 0 0 = 0. Postulato 2b + =. Questi postulati introducono le notazioni e +. La notazione = é accettata nel suo significato convenzionale. implica lo AND logico. + implica lo OR logico. Si noti che i postulati con suffisso a e b sono uno il duale dell altro. Postulato 3a =. Postulato 3b = 0. Postulato 4a 0 = 0 = 0. Postulato 4b 0 + = + 0 =. Postulato 5a 0 =. Postulato 5b = 0. 5

24 6 CAPITOLO 3. L ALGEBRA DI BOOLE I postulati dal 2 al 4 definiscono le operazioni AND e OR. I postulati 4a e 4b introducono la proprietá commutativa nell algebra di Boole. I postulati 5a e 5b introducono l operazione complemento (NOT). Questi postulati costituiscono la base di tutti i teoremi che seguono. 3.2 Teoremi Anche nell algebra di Boole le lettere dell alfabeto sono usate per rappresentare le variabili, che sono binarie e che possono assumere due soli valori: o 0 o. In elettronica possiamo definire che un interruttore puó essere nello stato ON (chiuso) quando conduce, nello stato OFF (aperto) quando interrompe il circuito. Possiamo identificare lo stato ON dell interruttore con lo stato booleano, lo stato OFF con lo stato 0 booleano: in elettronica le cifre e 0 non rappresentano un numero, bensí uno stato! Se l interruttore A é in conduzione, possiamo scrivere A =. I due stati e 0 di una variabile non possono esistere simultaneamente: se assumiamo A = implichiamo Ā = 0; parimenti se assumiamo A = 0 implichiamo Ā = (se un interruttore é ON non puó allo stesso tempo essere OFF). Nota - Spesso il simbolo viene omesso se dal contesto appare che non si creano ambiguitá. L espressione A B + C appare scritta AB + C. Teorema a X + 0 = X. Teorema b X = X. Continuando con l analogia elettronica, definiamo OR la connessione di due o piú interruttori in parallelo. Se X denota un interruttore che puó essere aperto ( 0 ) o chiuso ( ), il teorema a definisce che lo stato della rete elettrica equivalente (Fig. 3.) é totalmente dipendente dallo stato dell interruttore X. 0 X + 0 = X X Fig. 3. In modo duale, definiamo AND la connessione di due o piú interruttori in serie. Se X denota un interruttore che puó essere aperto ( 0 ) o chiuso ( ), il teorema b definisce cho lo stato della rete elettrica equivalente (Fig. 3.2) é totalmente dipendente dallo stato dell interruttore X. X X = X Fig. 3.2 In senso formale, i Teoremi a e b sono dimostrati mediante la tecnica nota come analisi deduttiva. Cioé, i Postulati 2 e 3 sono applicati in sequenza per rendere conto di tutti i possibili stati di X, verificando che i Teoremi a e b sono uguaglianze valide.

25 3.2. TEOREMI 7 Teorema 2a X + =. Teorema 2b X 0 = 0. Teorema 3a X + X = X. Teorema 3b X X = X. Teorema 4a (X) = X. Teorema 4b ( X) = X. Teorema 5a X + X =. Teorema 5b X X = 0. I Teoremi 2-5 completano i fondamenti formali aritmetici dell algebra booleana. Essi possono essere dimostrati mediante l analisi deduttiva. Nella Fig. 3.3 sono mostrate le reti elettriche equivalenti. X + = X X X 0 = 0 0 X X + X = X X X X X X = X Fig. 3.3 Diamo infine alcuni teoremi, che sono molto utili nella manipolazione algebrica delle equazioni booleane. Questi teoremi sono dimostrabili mediante i teoremi giá introdotti. Alcuni dei teoremi usano la proprietá distributiva, valida anche per l algebra booleana. Teorema 6a X(X + Y ) = X. Teorema 6b X + XY = X. Teorema 7a X( X + Y ) = XY. Teorema 7b X + XY = X + Y. Teorema 8a XY + XZ = X(Y + Z). Teorema 8b (X + Y )(X + Z) = X + Y Z. Teorema 9a XY + Y Z + XZ = XY + XZ. Teorema 9b (X + Y )( X + Z) = XZ + XY.

26 8 CAPITOLO 3. L ALGEBRA DI BOOLE 3.3 Funzioni booleane 3.3. Tabella delle combinazioni Ciascuna variabile booleana puó assumere uno dei due stati o 0. Due variabili prese insieme possono individuare 2 2 = 4 stati. La variabile A puó essere presente come A o Ā. Una seconda variabile B puó anch essa essere presente come B o B. Queste due variabili prese insieme possono dare luogo a quattro combinazioni: AB, A B, ĀB, Ā B. Assegnando alla variabile vera e 0 alla variabile complementata possiamo riscrivere i quattro stati come,0,0,00. Tre variabili possono essere scritte in 2 3 differenti combinazioni, dando luogo a 2 3 stati; n variabili danno luogo a 2 n stati. La tabella delle combinazioni é un elencazione sistematica di tutte le combinazioni che un gruppo di variabili binarie puó assumere, ordinate secondo la sequenza numerica binaria. Date tre variabili A, B, C, sono possibili 2 3 = 8 differenti combinazioni di queste variabili prese insieme. In Tab. 3. é mostrata la tabella delle combinazioni delle tre variabili A, B, C. A B C Comb Ā C 0 0 Ā BC ĀB C ĀBC 0 0 A B C 0 A BC 0 AB C ABC Tab Tabella della veritá Una funzione booleana f(a, B, C) é un espressione algebrica in cui compaiono le variabili A, B, C sia nella forma vera che in quella complementata, variamente collegate fra loro con gli operatori AND e OR. Una funzione booleana viene univocamente definita dalla sua tabella della veritá. La tabella della veritá é un estensione della tabella delle combinazioni: a questa viene aggiunta sulla destra una colonna nella quale é indicato lo stato che la funzione assume in corrispondenza di ogni combinazione delle variabili, per tutte le combinazioni. In Tab 3.2 é mostrata la tabella della veritá di una funzione f di tre variabili: A B C Comb f Ā C Ā BC 0 0 ĀB C 0 0 ĀBC 0 0 A C 0 0 A BC 0 AB C ABC 0 Tab. 3.2

27 3.3. FUNZIONI BOOLEANE 9 E immediato scrivere l espressione booleana della funzione f partendo dalla tabella della veritá. La funzione é data dallo OR delle combinazioni (somma canonica) per le quali f = : f = Ā BC + ĀBC + A BC + AB C. Il metodo appena illustrato mostra come si giunge alla sintesi delle funzioni booleane. L espressione appena scritta é l espressione primitiva della funzione f. Applicando i teoremi dell algebra booleana é possibile scrivere l espressione piú semplice della funzione f Mappe di Karnaugh Una piú eloquente ed utile rappresentazione di una funzione booleana é data dalla mappa di Karnaugh. Tutte le possibili combinazioni che un gruppo di variabili puó assumere sono rappresentate in forma di matrice nella mappa. La mappa della funzione di una variabile é tracciata in Fig 3.4. Entro l area del rettangolo c é un dominio (o cella) dove la funzione é vera e un dominio dove la funzione é falsa. A 0 Ā A Fig. 3.4 In modo simile, la mappa della funzione di due variabili (Fig. 3.5) é costituita da quattro celle, ove ogni cella rappresenta una combinazione delle due variabili. B 0 A 0 Ā B A B ĀB AB Fig. 3.5 Si puó dire che la funzione A é contenuta nelle due celle che formano la colonna di destra della matrice; la funzione Ā é contenuta nelle due celle che formano la colonna di sinistra della matrice. Assegnando A = e Ā = 0, B = e B = 0 possiamo tracciare il diagramma della mappa di Karnaugh delle combinazioni di due variabili (Fig. 3.6). Notiamo che la variabile A é listata superiormente in orizzontale, mentre la variabile B é listata lateralmente a sinistra in verticale. Le intersezioni delle colonne di A con le righe di B formano in maniera univoca le combinazioni delle due variabili. B 0 A Fig. 3.6

28 20 CAPITOLO 3. L ALGEBRA DI BOOLE La mappa di Fig. 3.5 denota le celle in funzione di A e di B. La mappa di Fig. 3.6 mostra lo stato binario associato a ciascuna cella. Le due mappe sono equivalenti. Vediamo ora l utilitá delle mappe di Karnaugh per dimostrare un teorema in un caso molto semplice. Consideriamo il Teorema 6b, X + XY = X. Questo é un problema a due variabili e puó essere contenuto nella mappa di due variabili, che abbiamo giá visto, come illustriamo in Fig X 0 X 0 X 0 Y 0 Y 0 Y 0 X XY X + XY = X Fig. 3.7 La variabile X é contenuta nelle due celle della colonna di destra. La funzione XY é contenuta nella cella singola all intersezione della colonna di destra, dove X =, con la riga inferiore, dove Y =. Si vede che la funzione X contiene o include la funzione XY ; perció la funzione XY é ridondante. Di qui la prova del Teorema 6b. La mappa di Karnaugh puó essere usata per definire una funzione. In ogni cella corrispondente alla combinazione delle variabili per cui la funzione é vera si pone ; dove la funzione é falsa si pone 0. Essa dá una definizione del tutto equivalente a quella data dalla tabella della veritá. Per fare un esempio, tracciamo, una accanto all altra (Fig. 3.8), la tabella della veritá e la mappa di Karnaugh della stessa funzione di due variabili: A B f B 0 A Fig Minimizzazione delle funzioni booleane Si puó effettuare la minimizzazione delle funzioni booleane mediante manipolazioni algebriche, utilizzando i teoremi dell algebra di Boole, oppure mediante l elaborazione delle mappe di Karnaugh Manipolazioni algebriche Facciamo alcuni esempi di manipolazioni algebriche che consentono di minimizzare le funzioni booleane. Esempio : f = A BC + Ā BC = BC(A + Ā) = BC.

29 3.4. MINIMIZZAZIONE DELLE FUNZIONI BOOLEANE 2 Esempio 2: Esempio 3: Esempio 4: f = Ā + B + C + A BC = (A BC) + A BC = f = AC + BC + ĀB = AC + BC(A + Ā) + ĀB = AC + ABC + ĀBC + ĀB = AC( + B) + ĀB(C + ) = AC + ĀB f = AB + C(AB + C) = AB + ABC + C C = AB( + C) = AB Uso delle mappe di Karnaugh Abbiamo giá visto le mappe di Karnaugh per funzioni di o 2 variabili. La mappa di Karnaugh é una disposizione ordinata di celle, che contengono le combinazioni delle variabili in modo che nel passare da una cella ad una contigua cambi lo stato di una sola variabile. La mappa contiene una cella per ogni combinazione delle variabili, in modo da esaurire tutte le combinazioni possibili. Una mappa di 2 variabili deve contenere 4 celle, perché vi sono 2 2 combinazioni differenti delle due variabili. Una mappa di tre variabili deve contenere 2 3 celle; una mappa di n variabili deve contenere 2 n celle. Raffiguriamo (Fig. 3.9) la mappa di Karnaugh di tre variabili. AB C 0 Fig. 3.9 Le variabili alfabetiche sono identificate sopra e a lato del diagramma. Al di sopra delle celle sono disposte le combinazioni delle variabili A e B secondo la disposizione del codice di Gray a 2 variabili. In verticale, a sinistra delle celle, é disposta la variabile C. Le otto celle corrispondono alle otto combinazioni di tre variabili.

30 22 CAPITOLO 3. L ALGEBRA DI BOOLE Raffiguriamo (Fig. 3.0) il diagramma della mappa di Karnaugh per quattro variabili. 00 AB CD 0 Fig. 3.0 Le variabili sono identificate sopra e a lato del diagramma. Le combinazioni delle variabili A e B sopra in orizzontale e delle varibili C e D lateralmente in verticale sono disposte secondo il codice di Gray di due variabili. La costruzione dei diagrammi delle mappe di cinque o piú variabili é la ovvia estensione di quanto fatto per giungere fino a quattro variabili. Consideriamo ora la struttura delle mappe di quattro variabili. Avendo ordinato le combinazioni, contenute nelle celle, secondo il codice di Gray, che é ciclico, i due bordi superiore ed inferiore della tabella risultano adiacenti e una sola variabile cambia stato nell attraversamento del bordo. Pertanto a questo punto possiamo considerare la mappa come cilindrica, con i due bordi superiore ed inferiore coincidenti. Una considerazione analoga vale per i bordi destro e sinistro: anch essi sono coincidenti. Ecco allora che la mappa di Karnaugh, che disegnamo in forma di matrice piana, é in realtá in forma di una superficie toroidale, senza bordi. Di conseguenza, qualsiasi cella ha una cella contigua su ognuno dei suoi quattro lati Meccanismo della semplificazione Si parte scrivendo la tabella della veritá della funzione. Da essa si ricava quali sono le combinazioni vere e si pone un nelle celle della mappa corrispondenti alle combinazioni vere. Ogni collocato nella mappa corrisponde ad una combinazione presente nella somma canonica, espressione della funzione. Per come é stata costruita la mappa, a due collocati in celle contigue corrispondono combinazioni che differiscono soltanto in una variabile: le rispettive combinazioni nella somma canonica si sommano secondo il teorema (in forma generalizzata) term Y + term Ȳ = term (Y + Ȳ ) = term. La semplificazione delle funzioni avviene attraverso l applicazione ripetuta del suddetto teorema. Inoltre le ridondanze sono automaticamente eliminate, come giá visto al paragrafo Le mappe di Karnaugh sono lo strumento piú potente per elaborare le funzioni booleane. La minimizzazione delle funzioni avviene attraverso il riconoscimento di configurazioni tipiche di gruppi di celle.

31 3.4. MINIMIZZAZIONE DELLE FUNZIONI BOOLEANE 23 Elenchiamo qui di seguito le regole da seguire per individuare i gruppi di celle rilevanti per costruire l espressione semplificata di una funzione. i gruppi possono contenere, 2, 4, 8 o in generale 2 n celle i gruppi non possono includere celle contenenti uno 0 i gruppi possono essere orizzontali o verticali, ma non diagonali: i gruppi sono quindi in forma di rettangoli o di quadrati ogni gruppo deve essere il piú largo possibile, cioé deve contenere quanti piú possibile ogni cella contenente un deve appartenere ad almeno un gruppo i gruppi si possono sovrapporre le celle che si trovano sui bordi possono venir raggruppate con quelle corrispondenti dal lato opposto (ricordiamoci del toroide ) i gruppi devono essere nel minor numero possibile senza contraddire alcuna delle regole elencate precedentemente Esempi Presentiamo ora alcuni esempi che illustrano le regole suddette. Le configurazioni dei gruppi possono essere, con riferimento ad una mappa di quattro variabili: due in celle contigue, che fanno eliminare una variabile; quattro su quattro celle in linea o su quattro celle in quadrato, che fanno eliminare due variabili; otto su otto celle in un rettangolo 2 4, che fanno eliminare tre variabili. E ovvia l estensione a mappe con piú di quattro variabili. Seguono alcuni esempi di semplificazione con mappe di tre variabili.

32 24 CAPITOLO 3. L ALGEBRA DI BOOLE C AB C AB B C Ā B C 0 AB C AB AC B C C 0 AB C AB A C C AB C AB B C + A C Ā B + Ā C C 0 AB C AB A + C B + C Fig. 3.

33 3.4. MINIMIZZAZIONE DELLE FUNZIONI BOOLEANE 25 Seguono alcuni esempi di semplificazione con mappe di quattro variabili CD 0 AB ĀD 00 0 CD 0 AB B D AB AB CD CD 0 BD B D AB CD 00 0 CD AB CD ĀB Fig. 3.2

34 26 CAPITOLO 3. L ALGEBRA DI BOOLE 00 AB AB CD 0 CD 0 0 A C 00 0 CD 0 AB B AB CD 0 D 0 AB CD CD + AC 00 0 CD 0 AB ĀB + ACD 00 0 CD 0 AB CD + A Fig AB CD ĀB + CD

35 3.4. MINIMIZZAZIONE DELLE FUNZIONI BOOLEANE 27 Lo scopo della minimizzazione di una funzione sta nel ricavare l espressione piú semplice della funzione, partendo dalla somma canonica delle combinazioni ottenuta dalla tabella della veritá. L espressione minima é una somma logica col minor numero di termini, ove ciascun termine deve contenere il minor numero di varia-bili. Il metodo sta nel cercare le configurazioni che raggruppano il maggior numero di, poiché esse consentono la semplificazione piú efficiente. Il metodo va ripetuto fino ad esaurire tutti gli presenti nella mappa. Facciamo un esempio utilizzando la mappa iniziale della Fig. 3.4a CD 0 AB (a) 00 0 CD 0 AB (b) 00 0 AB CD (c) 00 0 CD 0 AB (d) 00 0 AB CD (e) Fig. 3.4 Nella Fig. 3.4b é tracciato il miglior raggruppamento per i due della prima riga. Nella Fig. 3.4c é tracciato il miglior raggruppamento per i quattro della terza riga. Nella Fig. 3.4d é tracciato il miglior raggruppamento per i quattro delle colonne prima e quarta. Dalla Fig. 3.4e si ricava che tutti

36 28 CAPITOLO 3. L ALGEBRA DI BOOLE gli sono stati raggruppati nel modo piú efficiente. Pertanto si puó scrivere l espressione della funzione nella sua forma piú semplice: f = B C D + CD + BC in luogo della somma canonica di 8 termini, ciascuno di 4 variabili. Riportiamo nel seguito alcuni esempi di minimizzazione di funzioni. Esempio 3. f = ĀB CD + ĀBCD + AB C D + AB CD + ABC D + ABCD 00 0 CD 0 AB f = AB + BD Esempio 3.2 f 2 = ĀB C D + ĀB CD + AB CD + Ā BCD + ĀBCD + ABCD + A BCD + Ā BC D + ĀBC D 00 0 CD AB Esempio 3.3 f 2 = ĀC + ĀB + BD + CD f 3 = Ā B C D + ĀB C D + Ā B CD + ĀB CD + Ā BCD + ABCD + ĀBCD + Ā BC D + ABC D

37 3.4. MINIMIZZAZIONE DELLE FUNZIONI BOOLEANE CD AB Esempio 3.4 f 3 = Ā B + Ā C + ĀD + ABC f 4 = ĀB C D + AB C D + Ā B CD + ĀB CD + A B CD + AB CD + ABCD + A BCD + ABC D + Ā BCD 00 0 CD 0 AB f 4 = BC + BD + AB Esempio 3.5 f 5 = Ā B CD + ĀB CD + A B CD + ABCD + A BCD + ĀBCD 00 0 CD 0 AB CD 0 AB f 5 = B CD + ĀBD + ACD = Ā CD + BCD + A BD Nell Esempio 3.5 vediamo due diverse soluzioni di uguale complessitá, quindi equivalenti.

38 30 CAPITOLO 3. L ALGEBRA DI BOOLE Condizioni di indifferenza e ridondanze Puó accadere che nella tabella della veritá di una funzione compaiano condizioni in cui per una qualche combinazione il valore della funzione puó essere indifferentemente o 0. Questa condizione viene indicata nella tabella con il simbolo φ. Tale simbolo appare anche nella mappa di Karnaugh. Puó accadere inoltre che certe combinazioni non si verifichino mai (ad es., quando usiamo il codice BCD sei delle sedici combinazioni non si verificano mai): queste combinazioni sono dette ridondanze. Nella tabella della veritá in corrispondenza della ridondanza viene posto il simbolo. Tale simbolo appare anche nella mappa di Karnaugh. Sia la condizione di indifferenza sia la ridondanza vengono utili nella minimizzazione delle espressioni delle funzioni. Basta scegliere uguali a le condizioni di indifferenza che consentono una semplificazione. Le ridondanze non si verificano mai, quindi possiamo attribuire loro, dove é utile, il valore fittizio unicamente per consentire la semplificazione (dal punto di vista della logica in questo caso sommiano un termine che vale sempre 0, quindi non alteriamo la funzione). La tabella della veritá presentata in Tab. 3.3 illustra le considerazioni fatte. A B C f f φ 0 0 φ 0 0 φ 0 0 φ φ 0 0 φ 0 Disegnamo le mappe di Karnaugh per f e f 2 e ricaviamo le funzioni semplificate. AB AB C 0 φ φ C 0 φ φ φ φ f f 2 Risultano: f = ĀC; f 2 = C. Non considerando le condizioni di indifferenza e le ridondanze si avrebbe: f = Ā BC; f 2 = ĀBC.

39 Capitolo 4 I Circuiti Logici 4. Definizioni Accenneremo brevemente allo hardware che implementa elettronicamente le funzioni booleane. Dobbiamo prima introdurre alcune definizioni e convenzioni ed i simboli logici standard. digitale: é sinonimo di numerico; logica: la scienza dei principi formali del ragionamento; logica digitale: la scienza del ragionamento con stati binari; funzione logica: una funzione booleana che esprime una relazione fra variabili booleane in ingresso ed in uscita; simbolo logico: la rappresentazione grafica delle parti che realizzano una funzione logica; schema logico: uno schema grafico che rappresenta le funzioni logiche senza riferimento all implementazione fisica. Assegnamento dei livelli logici Consideriamo il dispositivo logico schematizzato in Fig. 4.. L uscita F é funzione degli ingressi A e B. A B Fig. 4. F L uscita e gli ingressi possono assumere soltanto valori fissi scelti arbitrariamente. E ormai uso consolidato distinguere fra due livelli, alto (HIGH; H) e basso (LOW; L). Ad esempio, si usa assegnare una banda di valori possibili a ciascun livello: H 2 3 volt L 0 volt mentre la banda di valori volt 2volt é proibita. Si opera in logica positiva quando lo stato é assegnato a rappresentare il livello H, mentre lo stato 0 é assegnato a rappresentare il livello L. Si opera in logica negativa quando 0 é assegnato a rappresentare il livello H, mentre é assegnato a 3

40 32 CAPITOLO 4. I CIRCUITI LOGICI rappresentare il livello L. Nel seguito si userá sempre la logica positiva: si segnalerá l uso della logica negativa quando occasionalmente sará utilizzata. 4.2 Simboli logici fondamentali (in logica positiva) Introduciamo i simboli logici delle funzioni logiche elementari dell algebra di Boole. AND - Il simbolo che segue rappresenta l operatore AND a due ingressi. A fianco é data la tabella della veritá dell AND nelle due forme, con (L,H) e con (0, ): A B F = AB F A B L L L H H L H H F L L L H A B F OR - Il simbolo che segue rappresenta l operatore OR a due ingressi. A fianco é data la tabella della veritá dell OR nelle due forme, con (L,H) e con (0, ): A B F = A + B F A B L L L H H L H H F L H H H A B F NOT - Il simbolo che segue rappresenta l operatore NOT o INVERTER: A F = A F A L H F H L A F 0 0 NAND - Il simbolo che segue rappresenta l operatore NAND a due ingressi. A fianco é data la tabella della veritá del NAND nelle sue due forme, con (L,H) e con (0, ): A B F = AB F A B L L L H H L H H F H H H L A B F NOR - Il simbolo che segue rappresenta l operatore NOR a due ingressi. A fianco é data la tabella della veritá del NOR nelle sue due forme, con (L,H) e con (0, ):

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

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

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

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

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

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

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica. MAPPE DI KARNAUGH 1. Generalità Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica. E ovvio che più semplice è la funzione e più semplice

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

Le Mappe di Karnaugh.

Le Mappe di Karnaugh. Le Mappe di Karnaugh. Introduzione Le mappe di Karnaugh rappresentano un metodo grafico-sistematico per la semplificazione di qualsiasi funzione booleana. Questo metodo si basa su poche regole e se applicate

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

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

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso

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

Operatori logici e porte logiche

Operatori logici e porte logiche Operatori logici e porte logiche Operatori unari.......................................... 730 Connettivo AND........................................ 730 Connettivo OR..........................................

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

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

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

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

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

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896 2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

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

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

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

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

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

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

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013 LGEBR DI BOOLE I.I.S. Primo Levi Badia Polesine.S. 2012-2013 Nel secolo scorso il matematico e filosofo irlandese Gorge Boole (1815-1864), allo scopo di procurarsi un simbolismo che gli consentisse di

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense di Informatica per l ITG Valadier La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di

Dettagli

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE La base del sistema decimale è 10 I simboli del sistema decimale sono: 0 1 2 3 4 5 6 7 8 9 Il sistema di numerazione decimale è un sistema posizionale. L aggettivo

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati

Dettagli

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

Dettagli

USO DI EXCEL CLASSE PRIMAI

USO DI EXCEL CLASSE PRIMAI USO DI EXCEL CLASSE PRIMAI In queste lezioni impareremo ad usare i fogli di calcolo EXCEL per l elaborazione statistica dei dati, per esempio, di un esperienza di laboratorio. Verrà nel seguito spiegato:

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

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

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

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente

Dettagli

11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210 Il sistema BINARIO e quello ESADECIMALE. Il sistema di numerazione binario è particolarmente legato ai calcolatori in quanto essi possono riconoscere solo segnali aventi due valori: uno alto e uno basso;

Dettagli

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa. Algebra booleana Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati e occorre conoscere i concetti di base dell algebra delle proposizioni. L algebra

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione La Codifica dell informazione (parte 1) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente:

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 2 per la Scuola secondaria di secondo grado UNITÀ CAMPIONE Edizioni del Quadrifoglio à t i n U 1 Sistemi di primo grado

Dettagli

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno Parte II Indice Operazioni aritmetiche tra valori rappresentati in binario puro somma sottrazione Rappresentazione di numeri con segno modulo e segno complemento a 2 esercizi Operazioni aritmetiche tra

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

Rappresentazione di informazioni con un alfabeto finito

Rappresentazione di informazioni con un alfabeto finito Rappresentazione di informazioni con un alfabeto finito Sia A = { a 1,, a k } un insieme (alfabeto) di k simboli, detti anche lettere. Quante sono le sequenze composte da n simboli (anche ripetuti) di

Dettagli

2. Codifica dell informazione

2. Codifica dell informazione 2. Codifica dell informazione Codifica Una codifica è una regola per associare in modo univoco i valori di un dato da codificare con sequenze di simboli. La corrispondenza definita dalla codifica è arbitraria,

Dettagli

RETI E SOTTORETI. Copyright 2010 Marco Salatin Pagina 1

RETI E SOTTORETI. Copyright 2010 Marco Salatin Pagina 1 RETI E SOTTORETI Copyright 2010 Marco Salatin Pagina 1 COME CREARE UNA RETE DI COMPUTER Le maschere di rete Una maschera è uno schema usato per filtrare precisi caratteri o numeri da stringhe di caratteri

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

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

Conversione tra le basi binarie

Conversione tra le basi binarie Conversione tra le basi binarie In questa lezione impareremo la conversione tra binario e ottale la conversione tra binario ed esadecimale la conversione tra ottale ed esadecimale LEZIONE 10 Introduzione

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

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

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? Cosa c è dietro a questo nome? BIT è un acronimo e deriva da BInary digit, cioè cifra binaria Che

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

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

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione Lezione 3 Le operazioni aritmetiche binarie Sommario L aritmetica binaria La somma La sottrazione La moltiplicazione 1 Definizione Si indica con il termine bit più significativo il bit più a sinistra,

Dettagli

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

Dettagli

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

Dettagli

Codifica binaria dei numeri relativi

Codifica binaria dei numeri relativi Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche

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

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI 119 4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI Indice degli Argomenti: TEMA N. 1 : INSIEMI NUMERICI E CALCOLO

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

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

Aritmetica dei Calcolatori 1

Aritmetica dei Calcolatori 1 Architettura degli Elaboratori e Laboratorio 1 Marzo 2013 1 Sistema di numerazione sistema posizionale 2 rappresentazione binaria cambio di base basi potenze di 2 3 Rappresentazione binaria con segno Sistema

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

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

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

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

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Sistemi di Numerazione Binaria NB.1

Sistemi di Numerazione Binaria NB.1 Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Codifica binaria dei numeri

Codifica binaria dei numeri Codifica binaria dei numeri Caso più semplice: in modo posizionale (spesso detto codifica binaria tout court) Esempio con numero naturale: con 8 bit 39 = Codifica in virgola fissa dei numeri float: si

Dettagli

UNIVERSITÀ DEGLI STUDI DI TERAMO

UNIVERSITÀ DEGLI STUDI DI TERAMO UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA (Classe 7) Corso di Matematica per l Economia (Prof. F. Eugeni) TEST DI INGRESSO Teramo, ottobre 00 SEZIONE

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

2.12 Esercizi risolti

2.12 Esercizi risolti Codifica dell'informazione 55 Lo standard IEEE prevede cinque cause di eccezione aritmetica: underflow, overflow, divisione per zero, eccezione per inesattezza, e eccezione di invalidità. Le eccezioni

Dettagli

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag. SOMMARIO CAPITOLO : I RADICALI. I radicali pag.. I radicali aritmetici pag.. Moltiplicazione e divisione fra radicali aritmetici pag.. Potenza di un radicale aritmetico pag.. Trasporto di un fattore esterno

Dettagli

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale Elementi di Informatica ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale Il sistema di numerazione posizionale decimale Nella numerazione posizionale ogni cifra del numero

Dettagli

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme: Lezione 1 Gli Insiemi La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme: degli iscritti ad un corso di laurea delle stelle in cielo dei punti di un piano

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

MAPPE DI KARNAUGH e sintesi ottima

MAPPE DI KARNAUGH e sintesi ottima MAPPE DI KARNAUGH e sintesi ottima (prima stesura da rivedere) Sappiamo che una funzione logica può essere espressa in diverse forme, tra loro equivalenti e noi siamo già in grado di passare da una all

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

Dettagli

Definizioni iniziali

Definizioni iniziali Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Definizioni iniziali BIT: unita elementare di informazione Due soli valori: 0 e 1 Byte: sequenza di 8 bit Fondamenti di Informatica: Codifica

Dettagli

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,

Dettagli

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche Docente: Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi 089-963334 ALGEBRA DI COMMUTAZIONE Lo scopo di questa algebra

Dettagli

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013 Complementi di Analisi per nformatica *** Capitolo 2 Numeri Complessi e Circuiti Elettrici a Corrente Alternata Sergio Benenti 7 settembre 2013? ndice 2 Circuiti elettrici a corrente alternata 1 21 Circuito

Dettagli