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

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

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

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

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

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

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16 Un ripasso di aritmetica: Conversione dalla base 1 alla base 16 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base sedici sarà del tipo: c m c m-1... c 1 c (le c i sono cifre

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma.

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma. Addizione: PROPRIETA' COMMUTATIVA Cambiando l'ordine degli addendi la somma non cambia. 1) a + b = b + a PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

LATCH E FLIP-FLOP. Fig. 1 D-latch trasparente per ck=1

LATCH E FLIP-FLOP. Fig. 1 D-latch trasparente per ck=1 LATCH E FLIPFLOP. I latch ed i flipflop sono gli elementi fondamentali per la realizzazione di sistemi sequenziali. In entrambi i circuiti la temporizzazione è affidata ad un opportuno segnale di cadenza

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

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

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

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

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

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

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

Indice generale. Modulo 1 Algebra 2

Indice generale. Modulo 1 Algebra 2 Indice generale Modulo 1 Algebra 2 Capitolo 1 Scomposizione in fattori. Equazioni di grado superiore al primo 1.1 La scomposizione in fattori 2 1.2 Raccoglimento a fattor comune 3 1.3 Raccoglimenti successivi

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

Alla pagina successiva trovate la tabella

Alla pagina successiva trovate la tabella Tabella di riepilogo per le scomposizioni Come si usa la tabella di riepilogo per le scomposizioni Premetto che, secondo me, questa tabella e' una delle pochissime cose che in matematica bisognerebbe "studiare

Dettagli

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti 4. Insiemi numerici 4.1 Insiemi numerici Insieme dei numeri naturali = {0,1,,3,,} Insieme dei numeri interi relativi = {..., 3,, 1,0, + 1, +, + 3, } Insieme dei numeri razionali n 1 1 1 1 = : n, m \{0}

Dettagli

Trattamento aria Regolatore di pressione proporzionale. Serie 1700

Trattamento aria Regolatore di pressione proporzionale. Serie 1700 Trattamento aria Serie 7 Serie 7 Trattamento aria Trattamento aria Serie 7 Serie 7 Trattamento aria +24VDC VDC OUTPUT MICROPROCESS. E P IN EXH OUT Trattamento aria Serie 7 Serie 7 Trattamento aria 7 Trattamento

Dettagli

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org.

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Nuovo documento Anteprima di stampa Annulla Galleria Apri Controllo ortografico Ripristina Sorgente dati Salva Controllo

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

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

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali 1 Numeri naturali La successione di tutti i numeri del tipo: 0,1, 2, 3, 4,..., n,... forma l'insieme dei numeri naturali, che si indica con il simbolo N. Tale insieme si può disporre in maniera ordinata

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica IL SAMPLE AND HOLD Progetto di Fondamenti di Automatica PROF.: M. Lazzaroni Anno Accademico

Dettagli

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori" slide a cura di Salvatore Orlando & Marta Simeoni " Architettura degli Elaboratori 1 Interi unsigned in base 2" Si utilizza un

Dettagli

Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una

Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una NUMERI INTERI E NUMERI DECIMALI Come si può esprimere il risultato dl un conteggio e di una misura? Quando si dice che In una cassetta sono contenuti 45 penne e che una lamiera misura 1,35 m. dl lunghezza,

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Modulo 2 - Appendice 3 L'editor vi e cenni su sed

Modulo 2 - Appendice 3 L'editor vi e cenni su sed 1 Modulo 2 - Appendice 3 L'editor vi e cenni su sed Laboratorio di Sistemi Operativi I Anno Accademico 2008-2009 Copyright 2005-2007 Francesco Pedullà, Massimo Verola Copyright 2001-2005 Renzo Davoli,

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Materiale di approfondimento: numeri interi relativi in complemento a uno

Materiale di approfondimento: numeri interi relativi in complemento a uno Materiale di approfondimento: numeri interi relativi in complemento a uno Federico Cerutti AA. 2011/2012 Modulo di Elementi di Informatica e Programmazione http://apollo.ing.unibs.it/fip/ 2011 Federico

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

CIRCUITI INTEGRATI ESEMPI: INTEL

CIRCUITI INTEGRATI ESEMPI: INTEL CIRCUITI INTEGRATI Costruzione di circuiti (logici e non) su un substrato di silicio. Non solo la parte attiva, ma anche le connessioni tra le porte. Incredibile miglioramento nelle prestazioni, nell affidabilità

Dettagli

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo:

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo: ALGORITMI 1 a Parte di Ippolito Perlasca Algoritmo: Insieme di regole che forniscono una sequenza di operazioni atte a risolvere un particolare problema (De Mauro) Procedimento che consente di ottenere

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

Dettagli

Procedura corretta per mappare con ECM Titanium

Procedura corretta per mappare con ECM Titanium Procedura corretta per mappare con ECM Titanium Introduzione: In questo documento troverete tutte le informazioni utili per mappare correttamente con il software ECM Titanium, partendo dalla lettura del

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA 1. RICHIAMI SULLE PROPRIETÀ DEI NUMERI NATURALI Ho mostrato in un altra dispensa come ricavare a partire dagli assiomi di

Dettagli

MATRICI E DETERMINANTI

MATRICI E DETERMINANTI MATRICI E DETERMINANTI 1. MATRICI Si ha la seguente Definizione 1: Un insieme di numeri, reali o complessi, ordinati secondo righe e colonne è detto matrice di ordine m x n, ove m è il numero delle righe

Dettagli

Appunti sulle disequazioni

Appunti sulle disequazioni Premessa Istituto d Istruzione Superiore A. Tilgher Ercolano (Na) Appunti sulle disequazioni Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire

Dettagli

L INFORMATICA RACCONTATA AI GRANDI E AI PICCINI

L INFORMATICA RACCONTATA AI GRANDI E AI PICCINI Angelo Raffaele Meo Aurora Martina Neri L INFORMATICA RACCONTATA AI GRANDI E AI PICCINI PREMESSA Questo libro è destinato ai ragazzi di età compresa tra i 10 e i 14 anni circa. Abbiamo pensato a loro perché

Dettagli

Altri cifrari a blocchi

Altri cifrari a blocchi Altri cifrari a blocchi Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci RC2 [1989] IDEA (International

Dettagli

Manuale d'istruzioni. Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280

Manuale d'istruzioni. Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280 Manuale d'istruzioni Alimentatore DC Programmabile 200 Watt (40 Volt / 5 Amp) Modello 382280 382280 Introduzione Congratulazioni per aver acquistato l'alimentatore DC Programmabile 382280 della Extech.

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

1A ARITMETICA. I numeri naturali e le quattro operazioni. Esercizi supplementari di verifica

1A ARITMETICA. I numeri naturali e le quattro operazioni. Esercizi supplementari di verifica A ARITMETICA I numeri naturali e le quattro operazioni Esercizi supplementari di verifica Esercizio Rappresenta sulla retta orientata i seguenti numeri naturali. ; ; ; 0;. 0 Esercizio Metti una crocetta

Dettagli

LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE

LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE LA MOLTIPLICAZIONE IN PRIMA ELEMENTARE E bene presentarla confrontando tra loro varie tecniche: addizione ripetuta; prodotto combinatorio (schieramenti). Rispetto a quest'ultima tecnica, grande utilità

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC I.T.I. Modesto PANETTI A R I ia Re David, 86-8-54.54. - 75 ARI Fax 8-54.64.3 Internet http://www.itispanetti.it email : ATF5C@istruzione.it Tesina sviluppata dall alunno Antonio Gonnella della classe 5

Dettagli

Matematica B - a.a 2006/07 p. 1

Matematica B - a.a 2006/07 p. 1 Matematica B - a.a 2006/07 p. 1 Definizione 1. Un sistema lineare di m equazioni in n incognite, in forma normale, è del tipo a 11 x 1 + + a 1n x n = b 1 a 21 x 1 + + a 2n x n = b 2 (1) = a m1 x 1 + +

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Esempi di problemi di 1 grado risolti Esercizio 1 Problema: Trovare un numero che sommato ai suoi 3/2 dia 50

Esempi di problemi di 1 grado risolti Esercizio 1 Problema: Trovare un numero che sommato ai suoi 3/2 dia 50 http://einmatman1c.blog.excite.it/permalink/54003 Esempi di problemi di 1 grado risolti Esercizio 1 Trovare un numero che sommato ai suoi 3/2 dia 50 Trovare un numero e' la prima frase e significa che

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

I numeri. Premessa: Che cosa sono e a che servono i numeri?

I numeri. Premessa: Che cosa sono e a che servono i numeri? I numeri Premessa: Che cosa sono e a che servono i numeri? Come ti sarai reso conto, i numeri occupano un ruolo importante nella tua vita: dai numeri che esprimono il prezzo degli oggetti venduti in un

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Algebra Relazionale. algebra relazionale

Algebra Relazionale. algebra relazionale Algebra Relazionale algebra relazionale Linguaggi di Interrogazione linguaggi formali Algebra relazionale Calcolo relazionale Programmazione logica linguaggi programmativi SQL: Structured Query Language

Dettagli

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi Evelina De Gregori Alessandra Rotondi al via 1 Percorsi guidati per le vacanze di matematica e scienze per la Scuola secondaria di primo grado UNITÀ CAMPIONE Edizioni del Quadrifoglio Test d'ingresso NUMERI

Dettagli

Introduzione alle pipeline e all'architettura RISC

Introduzione alle pipeline e all'architettura RISC Introduzione alle pipeline e all'architettura RISC Introduzione Pipeline Processori RISC Salti Appendice A: Storia Bibliografia Versione con i frame Versione in pdf Architettura del processore Una possibile

Dettagli

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione.

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. COMPETENZE MINIME- INDIRIZZO : ELETTROTECNICA ED AUTOMAZIONE 1) CORSO ORDINARIO Disciplina: ELETTROTECNICA

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

2 Rappresentazioni grafiche

2 Rappresentazioni grafiche asi di matematica per la MPT 2 Rappresentazioni grafiche I numeri possono essere rappresentati utilizzando i seguenti metodi: la retta dei numeri; gli insiemi. 2.1 La retta numerica Domanda introduttiva

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Software Emeris Communication Manager

Software Emeris Communication Manager ecm Software Emeris Communication Manager Manuale operativo Fantini Cosmi S.p.A. Via dell Osio 6 20090 Caleppio di Settala MI Tel 02.956821 - Fax 02.95307006 e-mail: info@fantinicosmi.it http://www.fantinicosmi.it

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

Anello commutativo. Un anello è commutativo se il prodotto è commutativo.

Anello commutativo. Un anello è commutativo se il prodotto è commutativo. Anello. Un anello (A, +, ) è un insieme A con due operazioni + e, dette somma e prodotto, tali che (A, +) è un gruppo abeliano, (A, ) è un monoide, e valgono le proprietà di distributività (a destra e

Dettagli

3. TEORIA DELL INFORMAZIONE

3. TEORIA DELL INFORMAZIONE 3. TEORIA DELL INFORMAZIONE INTRODUZIONE MISURA DI INFORMAZIONE SORGENTE DISCRETA SENZA MEMORIA ENTROPIA DI UNA SORGENTE NUMERICA CODIFICA DI SORGENTE 1 TEOREMA DI SHANNON CODICI UNIVOCAMENTE DECIFRABILI

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente 1.1 Il motore a corrente continua Il motore a corrente continua, chiamato così perché per funzionare deve essere alimentato con tensione e corrente costante, è costituito, come gli altri motori da due

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

PRINCIPI BASILARI DI ELETTROTECNICA

PRINCIPI BASILARI DI ELETTROTECNICA PRINCIPI BASILARI DI ELETTROTECNICA Prerequisiti - Impiego di Multipli e Sottomultipli nelle equazioni - Equazioni lineari di primo grado e capacità di ricavare le formule inverse - nozioni base di fisica

Dettagli

PD32. Esercitazione sull interfacciamento con un dispositivo di IO

PD32. Esercitazione sull interfacciamento con un dispositivo di IO PD32 Esercitazione sull interfacciamento con un dispositivo di IO Domanda #5 14/09/2000 Si dispone di un PD32 per effettuare il collaudo di un circuito integrato combinatorio con 5 ingressi e una uscita,

Dettagli

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it)

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) In una rete TCP/IP, se un computer (A) deve inoltrare una richiesta ad un altro computer (B) attraverso la rete locale, lo dovrà

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

APPUNTI DI MATEMATICA GLI INSIEMI NUMERICI

APPUNTI DI MATEMATICA GLI INSIEMI NUMERICI APPUNTI DI MATEMATICA GLI INSIEMI NUMERICI I numeri naturali I numeri interi I numeri razionali Teoria degli insiemi (cenni) ALESSANDRO BOCCONI Indice 1 L insieme N dei numeri naturali 4 1.1 Introduzione.........................................

Dettagli

2009 Elite Computer. All rights reserved

2009 Elite Computer. All rights reserved 1 PREMESSA OrisDent 9001 prevede la possibilità di poter gestire il servizio SMS per l'invio di messaggi sul cellulare dei propri pazienti. Una volta ricevuta comunicazione della propria UserID e Password

Dettagli

Controllare un nastro trasportatore fischertechnik con Arduino

Controllare un nastro trasportatore fischertechnik con Arduino TITOLO ESPERIENZA: Controllare un nastro trasportatore fischertechnik con Arduino PRODOTTI UTILIZZATI: OBIETTIVO: AUTORE: RINGRAZIAMENTI: Interfacciare e controllare un modello di nastro trasportatore

Dettagli

GUIDA ALLE SOLUZIONI

GUIDA ALLE SOLUZIONI La caratteristica delle trasmissioni digitali è " tutto o niente ": o il segnale è sufficiente, e quindi si riceve l'immagine, oppure è insufficiente, e allora l'immagine non c'è affatto. Non c'è quel

Dettagli

Documentazione Servizio SMS WEB. Versione 1.0

Documentazione Servizio SMS WEB. Versione 1.0 Documentazione Servizio SMS WEB Versione 1.0 1 Contenuti 1 INTRODUZIONE...5 1.1 MULTILANGUAGE...5 2 MESSAGGI...7 2.1 MESSAGGI...7 2.1.1 INVIO SINGOLO SMS...7 2.1.2 INVIO MULTIPLO SMS...9 2.1.3 INVIO MMS

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

ESTRAZIONE DI RADICE

ESTRAZIONE DI RADICE ESTRAZIONE DI RADICE La radice è l operazione inversa dell elevamento a potenza. L esponente della potenza è l indice della radice che può essere: quadrata (); cubica (); quarta (4); ecc. La base della

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Nella prima lezione... Che cos è il Digitale. Prima parte: Che cos è il Digitale. Che cos è il Digitale. Che cos è il Digitale

Nella prima lezione... Che cos è il Digitale. Prima parte: Che cos è il Digitale. Che cos è il Digitale. Che cos è il Digitale !"$#%!" #% Nella prima lezione... Definizione di Informatica Cosa è una soluzione algoritmica Esempi di algoritmi cicalese@dia.unisa.it 2 Prima parte: Società dell informazione Ma cosa vuol dire società

Dettagli

Una scuola vuole monitorare la potenza elettrica continua di un pannello fotovoltaico

Una scuola vuole monitorare la potenza elettrica continua di un pannello fotovoltaico ESAME DI STATO PER ISTITUTI PROFESSIONALI Corso di Ordinamento Indirizzo: Tecnico delle industrie elettroniche Tema di: Elettronica, telecomunicazioni ed applicazioni Gaetano D Antona Il tema proposto

Dettagli