Insegnamento di Informatica – a.a. 2016-17 Macerata, 4 ottobre 2016 I bit e la loro memorizzazione INSEGNAMENTO DI INFORMATICA – A.A. 2016-17 Francesco Ciclosi Insegnamento di Informatica – a.a. 2016-17 L’elaborazione digitale Consiste nel rappresentare l’informazione in cifre binarie, in modo che possano essere elaborate e utilizzate dalle moderne tecnologie informatiche Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Telegraphic Signals of Marine Vocabulary 10 bandiere colorate per i numeri da 0 a 9 6 speciali bandiere per i codici di controllo: accettazione, terminazione, ecc. Dizionario di 260 voci numerate, poi esteso a 340 Libro di codici appesantito 1779 : Lord Richard Howe, British Royal Navy con il piombo Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 La codifica delle informazioni Ogni informazione è codificata come pattern di zeri e uno Con il termine bit (binary digit, o cifra binaria) si indicano tali cifre I bit sono simboli e non solo valori numerici • Caratteri alfabetici, segni di punteggiatura, valori numerici, immagini, suoni, ecc… Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Le operazioni booleane Ci consentono di manipolare dei valori del tipo vero/falso Possiamo immaginare che: • 0 rappresenti il valore falso • 1 rappresenti il valore vero Si tratta di una convenzione analoga a: • Luce rappresenta il valore vero • Buio rappresenta il valore falso Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Le operazioni booleane di base Sono tre: AND, OR, XOR (OR esclusivo) Combinano una coppia di valori (in input) per restituire un terzo valore (in output, o risultato) Sono analoghe alle operazioni aritmetiche anche se combinano valori logici vero/falso e non valori numerici Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 L’operatore AND (⋀) Riflette la verità o la falsità di un’asserzione formata unendo due asserzioni più semplici Es: R AND S Tale asserzione è vera solo quando entrambe le sue componenti (R, S) sono vere Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 AND: un esempio Consideriamo H AND E, dove: • H = Harry è un mago • E = Ermione è una strega • H AND E → Harry è un mago AND Ermione è una strega L’asserzione finale è • vera (output =1) solo nel caso in cui è vero che: o Harry è un mago e Ermione è una strega • falsa (output = 0 ) in tutti gli altri casi Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 La tabella di verità dell’operatore AND Gode della proprietà associativa La porta logica AND è un meccanismo comune per avere un segnale di vero se un certo numero di altri segnali sono tutti veri Nella teoria degli insiemi corrisponde all’intersezione A B A AND B 0 0 0 0 1 0 1 0 0 1 1 1 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 L’operatore OR (⋁) Riflette la verità o la falsità di un’asserzione formata unendo due asserzioni più semplici Es: R OR S Tale asserzione è vera quando almeno una delle sue componenti (R, S) è vera Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 OR: un esempio Consideriamo H OR R, dove: • H = Harry è un mago • R = Ron è una strega • H OR R → Harry è un mago OR Ron è una strega L’asserzione finale è • vera (output =1) se è vera almeno una delle due: o Harry è un mago o Ron è una strega • falsa (output = 0 ) solo nel caso in cui sono entrambe false Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 La tabella di verità dell’operatore OR Gode della proprietà associativa La porta logica OR è un meccanismo comune per avere A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1 • un segnale alto se almeno un segnale è alto • un segnale basso se e solo se tutti i segnali sono bassi Nella teoria degli insiemi corrisponde all’unione Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 L’operatore XOR (⊕) Riflette la verità o la falsità di un’asserzione formata unendo due asserzioni più semplici Es: R XOR S Tale asserzione è vera quando una delle sue componenti (R, S) è vera, ma non entrambe contemporaneamente Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 La tabella di verità dell’operatore XOR L’operatore è detto A anche EX-OR oppure 0 OR esclusivo 0 Restituisce 1 se e solo se 1 il numero degli operandi 1 uguali a 1 è dispari, mentre restituisce 0 in tutti gli altri casi Nella teoria degli insiemi corrisponde alla differenza simmetrica B A XOR B 0 0 1 1 0 1 1 0 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 L’operatore NOT Opera su di un solo input Il suo output è l’opposto dell’input Es: P = Paolo è un bambino NOT P = Paolo non è un bambino Se l’input rappresenta la verità/falsità di P (Paolo è un bambino), l’output rappresenterà la verità/falsità di NOT P (Paolo non è un bambino) Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 La tabella di verità dell’operatore NOT L’operatore NOT restituisce il valore inverso a quello in entrata Una concatenazione di NOT è semplificabile con • un solo NOT in caso di ripetizioni dispari • nessun NOT in caso di ripetizioni pari A NOT A 0 1 1 0 La porta logica NOT possiede una sola variabile binaria Spesso è inglobato in operatori brevi Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Altri operatori (1/2) NAND NOR A B A NAND B 0 0 1 0 1 1 1 0 1 1 1 0 A B A NOR B 0 0 1 0 1 0 1 0 0 1 1 0 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Altri operatori (2/2) XNOR Buffer A B A XNOR B 0 0 1 0 1 0 1 0 0 1 1 1 A Buffer A 0 0 1 1 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Le porte logiche Una porta logica (gate) è un dispositivo che dati i valori di input produce l’output di un’operazione booleana Nei moderni calcolatori sono realizzate con circuiti elettronici • In questo caso i valori 0 e 1 rappresentano dei livelli di tensione Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Il circuito flip-flop (1/2) È un’unità fondamentale della memoria del computer Produce un valore di output che rimane costante fintanto che un impulso su una delle due linee di input non lo trasforma nell’altro valore • Il valore di output è 0 o 1 • L’impulso è una variazione temporanea a un 1 che torna 0 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Il circuito flip-flop (2/2) Si può configurare un flip-flop in modo che «ricordi» l’output (0 o 1) sotto il controllo di stimoli esterni • Se gli input rimangono entrambi 0 l’output non cambia • Se l’input superiore va temporaneamente a 1 si forma l’output 1 • Se l’input inferiore va temporaneamente a 1 si forma l’output 0 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Un semplice circuito flip-flop 0 0 ??? 1 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Flip-flop con input superiore a 1 1 1 1 1 0 1 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Flip-flop con input superiore che torna a 0 0 1 1 1 0 1 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Flip-flop con input inferiore a 1 0 0 0 0 1 0 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Flip-flop con input inferiore che torna a 0 0 0 0 0 0 1 Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Alcuni scopi del flip-flop 1. È possibile costruire dispositivi a partire dalle porte logiche • Processo di progettazione dei circuiti digitali 2. Ci fornisce un esempio di astrazione e dell’uso di elementi astratti • Esistono diversi modi per costruire un flip-flop, ma le sue proprietà esterne rimangono le stesse 3. Ci fornisce un mezzo per memorizzare un bit in un computer Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Un altro esempio di flip-flop La struttura interna del circuito è differente MA Le sue proprietà esterne sono le stesse Per usarlo come strumento astratto è sufficiente comprendere le sue proprietà esterne Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 Alla base dei chip In un computer si possono utilizzare molti flipflop (in forma di piccoli circuiti elettrici) per registrare le informazioni che sono codificate come pattern binari La tecnologia VLSI (Very Large-Scale Integration) consente la costruzione di milioni di componenti elettrici su un wafer di silicio (chip) Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 I pattern di bit Per descrivere le attività all’interno di un computer usiamo dei pattern di bit, chiamati stringhe di bit Tali stringhe possono essere molto lunghe e prendono il nome di flussi binari • 110110101010 è un esempio di pattern di bit Per semplicità di notazione usiamo una notazione abbreviata detta esadecimale Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 La codifica esadecimale Tale codifica impiega un solo simbolo per esprimere 4 bit I simboli ammessi sono i seguenti: • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2016-17 I miei contatti linkedin http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/ facebook https://www.facebook.com/francesco.ciclosi twitter @francyciclosi www http://docenti.unimc.it/f.ciclosi http://www.francescociclosi.it Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code