I Sistemi di numerazione e la rappresentazione dei dati



Documenti analoghi
Cenni di logica & algebra booleana

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI

SISTEMI DI NUMERAZIONE E CODICI

Informazione analogica e digitale

4 3 4 = 4 x x x 10 0 aaa

ALGEBRA DELLE PROPOSIZIONI

Princìpi dell'algebra di Boole applicata ai circuiti digitali. An Investigations of the Laws of Thought. George Boole, nel 1854, pubblicò un libro,

I sistemi di numerazione

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

la scienza della rappresentazione e della elaborazione dell informazione

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

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

Appunti di Sistemi Elettronici

Informatica. Rappresentazione dei numeri Numerazione binaria

ESEMPIO 1: eseguire il complemento a 10 di 765

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

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

La codifica delle informazioni

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

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

Elementi di Informatica e Programmazione

Appunti sulla Macchina di Turing. Macchina di Turing

APPUNTI DI ELETTRONICA DIGITALE

Dispense di Informatica per l ITG Valadier

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

la scienza della rappresentazione e della elaborazione dell informazione

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Convertitori numerici in Excel

La somma. Esempio: Il prodotto. Esempio:

Nozione di algoritmo. Gabriella Trucco

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

Funzioni inverse Simmetrie rispetto alla bisettrice dei quadranti dispari. Consideriamo la trasformazione descritta dalle equazioni : = y

Alessandro Pellegrini

Lezione 8. La macchina universale

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

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

INFORMATICA DI BASE. Data Processing, elaborazione elettronica dei dati). In

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

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

4. Operazioni aritmetiche con i numeri binari

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

Elementi di informatica

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Rappresentazione dei numeri in un calcolatore

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Codifica binaria dei numeri relativi

Matematica in laboratorio

Laurea Specialistica in Informatica

Conversione tra le basi binarie

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

Esercizio data base "Biblioteca"

Sistemi di Numerazione

Sistemi di Numerazione

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

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

Calcolatori: Algebra Booleana e Reti Logiche

Logica e codifica binaria dell informazione

Corrispondenze e funzioni

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

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

risulta (x) = 1 se x < 0.

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

2. Leggi finanziarie di capitalizzazione

Introduzione alla programmazione in C

Scheda di approfondimento gioco I pixel

Corso di Informatica

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Fasi di creazione di un programma

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

SOMMARIO... 3 INTRODUZIONE...

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Soluzione dell esercizio del 2 Febbraio 2004

Strutturazione logica dei dati: i file

Cos è un Calcolatore?

Sistemi di Numerazione Binaria NB.1

ZIMO. Decoder per accessori MX81. Manuale istruzioni del. nella variante MX81/N per il formato dei dati NMRA-DCC

Quick Reference Giornale di Bordo (e-logbook)

Capitolo 2. Operazione di limite

Architettura hardware

Le Mappe di Karnaugh.

Chapter 1. Circuiti sequenziali: macchine a stati

2. Codifica dell informazione

Uso di base delle funzioni in Microsoft Excel

TECNOLOGIA - SCUOLA PRIMARIA

I SISTEMI DI NUMERAZIONE

Origini e caratteristiche dei calcolatori elettronici

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Operazioni binarie fondamentali

= 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

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

II.f. Altre attività sull euro

Transcript:

I Sistemi di numerazione e la rappresentazione dei dati

LA RAPPRESENTAZIONE DELLE INFORMAZIONI (1) Per utilizzare un computer è necessario rappresentare in qualche modo le informazioni da elaborare e il modo di elaborarle, ovvero rappresentare i dati da elaborare e le istruzioni necessarie per produrre i risultati desiderati. In generale, la rappresentazione delle informazioni è legata alla forma fisica del mezzo usato per la rappresentazione stessa. Un informazione espressa in linguaggio naturale e riportata su un foglio di carta è generalmente codificata attraverso una successione di caratteri scelti da un alfabeto e da simboli, come quelli di punteggiatura, e sia lettere che simboli sono fisicamente rappresentati, ad esempio, dalla traccia di inchiostro lasciato dalla penna. Per la rappresentazione delle informazioni su un elaboratore elettronico, si risale alle caratteristiche fisiche dei suoi componenti: un nucleo magnetico o un nastro magnetico possono essere magnetizzati solo in una delle due possibili direzioni di magnetizzazione; un transistor può essere nello stato di conduzione o interdizione; un circuito può essere chiuso o aperto e così via.

LA RAPPRESENTAZIONE DELLE INFORMAZIONI (2) In generale quindi per rappresentare lo stato degli elementi che compongono un computer è sufficiente un alfabeto composto da due simboli: tali simboli per convenzione sono 0 e 1. Se si utilizzano come simboli 0 e 1, è possibile risolvere tutti i problemi di calcolo numerico (aritmetica) e di presa di decisione in base a condizioni prefissate (logica). Tra i vari sistemi di numerazione, ne esiste, infatti, uno basato su due soli simboli (0 e 1, cifre binarie), detto sistema binario che consente di effettuare operazioni analogamente a quanto avviene con il sistema di numerazione decimale normalmente utilizzato.

LA RAPPRESENTAZIONE DELLE INFORMAZIONI (3) Dall utilizzazione del sistema di numerazione binario deriva il nome dell unità elementare di informazione usata dal computer, il BIT (dall inglese Blnary digit, che vuol dire cifra binaria). Il peso di ogni singola cifra all'interno di un numero e' una potenza di 2, secondo la seguente tabella: Posizione bit Peso 7 6 5 4 3 2 1 0 128 64 32 16 8 4 2 1

LA RAPPRESENTAZIONE DELLE Conversione decimale-binario INFORMAZIONI (4) La conversione è biunivoca, le operazioni binarie possibili sono l'addizione, la sottrazione, la moltiplicazione e difficilmente la divisione. Il sistema di numerazione binario rappresenta il contenuto delle celle di memoria, ma è difficile da leggere o ricordare.

LA RAPPRESENTAZIONE DELLE INFORMAZIONI (5) Per ovviare a questo inconveniente i numeri binari sono tradotti nel sistema esadecimale, che usa 16 cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, in cui le lettere corrispondono rispettivamente a 10, 11, 12, 13, 14, 15 del sistema decimale. DECIMALE BINARIO

LA RAPPRESENTAZIONE DELLE INFORMAZIONI (6) La conversione è biunivoca, le operazioni esadecimali possibili sono l'addizione, la sottrazione, la moltiplicazione e la divisione. Ma nei processi di elaborazione elettronica non si effettuano solo operazioni strettamente matematiche; è infatti necessario rappresentare, per esempio, i caratteri di un alfabeto o altri simboli: il problema viene risolto raggruppando più cifre binarie. La corrispondenza tra raggruppamenti e di cifre binarie e caratteri di un alfabeto è una convenzione stabilita dai progettisti degli elaboratori e costituisce il codice di un dato tipo di computer. Codice morse Come rappresentare la lettera dell alfabeto A Insieme di bit 00110010 Fortunatamente l utilizzatore di un computer non deve necessariamente conoscere la rappresentazione dei dati all interno di una macchina, in quanto esistono appositi programmi che traducono le istruzioni impartite dall utente in un linguaggio a lui comprensibile, in un codice riconoscibile dall elaboratore.

applicata ai circuiti digitali (1) George Boole, nel 1854, pubblicò un libro, An Investigations of the Laws of Thought (Un esame sulle leggi logiche del pensiero), in cui dimostrava che la maggior parte del pensiero logico, privata di particolari irrilevanti e verbosità, potesse essere concepita come una serie di scelte. Questa idea è divenuta la base dei computer.

applicata ai circuiti digitali (2) Qualsiasi processo logico può essere ricondotto ad una sequenza di eventi elementari, che nell'insieme prende il nome di algoritmo. Tale sequenza può essere rappresentata con un diagramma di flusso (Flow chart), il quale a sua volta è facilmente traducibile in un particolare programma comprensibile dall'elaboratore. Per la visualizzazione di un problema con un diagramma di flusso, sono utilizzati vari simboli grafici standard: il rombo per indicare controlli decisionali ed il rettangolo per indicare operazioni da effettuare.

applicata ai circuiti digitali (3) Prenderemo le mosse per la nostra discussione riferendoci ad un "problema" del tutto comune. Questo approccio, ha il vantaggio di evidenziare come un sistema di elaborazione dati permetta di trattare non solo problemi numerici, ma anche alfanumerici (alfabetico-numerici) e dunque di carattere generale. Immaginiamo, per esempio, di voler tradurre in un diagramma di flusso le seguenti affermazioni: "esco se è bel tempo ed è caldo"; "esco se è bel tempo o se è caldo".

applicata ai circuiti digitali (4) E' facile riconoscere che le due decisioni sono distinte: la prima (diagramma a sinistra), comporta il verificarsi di due condizioni (evidenziate in verde); la seconda (diagramma a destra), comporta il verificarsi di almeno una fra due condizioni. E' importante rendersi conto che, come vedremo, l'elaboratore non "comprende" il significato delle frasi "esco... resto in casa": si limita a considerare il valore di certe costanti associate ad ogni singolo evento.

applicata ai circuiti digitali (5) Come secondo passo, si tratta di convertire i diagrammi di flusso in un linguaggio numerico, il solo comprensibile dall'elaboratore. Ciò si ottiene con i cosiddetti operatori logici elementari. Per semplicità, limiteremo la nostra discussione ai tre elementi di base. Con le istruzioni riportate nella tabella a fianco, possiamo tradurre i due differenti diagrammi di flusso in sequenze di istruzioni. Per far questo, è necessario aggiungere un nuovo simbolo grafico (un parallelogramma) di inizializzazione ai nostri diagrammi di flusso. Questo simbolo implica che l'elaboratore si attende che gli vengano forniti i valori di A e B (che possono essere 0 o 1) tramite tastiera. Appena inseriti questi valori (per es. A=1 e B=1), l'elaboratore esegue il programma tenendo conto dei valori di inizializzazione (C=1 "esco"; C=0 "rimango in casa"): a seconda del risultato ottenuto, sullo schermo verrà mostrata una delle due frasi.

applicata ai circuiti digitali (6) A = 1 corrisponde all'evento "bel tempo" B = 1 corrisponde all'evento "caldo" C = 1 corrisponde all'azione "esco" A = 0 corrisponde all'evento "non bel tempo" B = 0 corrisponde all'evento "non caldo" C = 0 corrisponde all'azione "resto in casa" con queste condizioni, il primo diagramma di flusso risulta così formalizzato: IF A AND B THEN C

applicata ai circuiti digitali (7) Le istruzioni AND e OR, dette operatori logici, sono prese dall'algebra di Boole e forniscono il risultato 1 o 0, a seconda del valore delle variabili A e B. Ad esempio, se entrambe le variabili A e B valgono 1, allora l'operatore AND assumerà il valore 1. In questo caso, il simbolismo, tradotto in parole, corrisponde a: SE bel tempo E caldo ALLORA esco viceversa, se una sola delle due variabili, oppure entrambe valgono 0, allora l'operatore AND assumerà il valore 0. In questo caso, il simbolismo, tradotto in parole, corrisponde a: SE non bel tempo E caldo ALLORA resto in casa SE bel tempo E non caldo ALLORA resto in casa SE non bel tempo E non caldo ALLORA resto in casa Come abbiamo detto, i valori delle variabili A e B sono introdotti da tastiera prima di "raggiungere" l'operatore AND. Così, se entrambe le variabili A e B valgono 1, quando saranno esaminate dall'operatore AND seguirà necessariamente il risultato C = 1.

applicata ai circuiti digitali (8) Ora che abbiamo visto come definire un linguaggio numerico (ricordiamo che l'elaboratore non comprende il significato delle frasi che leggiamo) interpretabile dall'elaboratore, vediamo come applicarlo. Per far questo, esaminiamo un semplice "elaboratore" in grado di automatizzare la nostra decisione. La realizzazione di questo - e di tutti gli elaboratori - richiede la costruzione di circuiti detti porte logiche. Per esempio, osservando il circuito elettrico schematizzato in figura, è facile riconoscere che la lampadina si accenderà solo se entrambi gli interruttori A e B verranno abbassati in modo da chiudere il contatto elettrico. Questo circuito, corrisponde ad un operatore logico AND. Per riassumere il comportamento di una porta logica, si ricorre alle cosiddette tavole di veridicità. Per la porta AND, la tavola è in tabella a destra del circuito. Si osservi, per esempio, che quando A=1 e B=1 (entrambi gli interruttori abbassati), allora la lampadina (indicata con C) è accesa e quindi C=1.

applicata ai circuiti digitali (9) Ora, come secondo passo, esaminiamo un altro circùito: in questo caso, è facile riconoscere che la lampadina si accenderà solo se almeno uno degli interruttori A e B verrà abbassato in modo da chiudere il contatto elettrico. Questo circuito, corrisponde all'operatore logico OR. La sua rappresentazione secondo una normativa standardizzata, è rappresentata con il simbolo sottoindicato. A destra, è riportata la corrispondente tavola di veridicità. Si noti come sia sufficiente che un solo interruttore sia abbassato per accendere la lampadina.

applicata ai circuiti digitali (10) Oltre alle porte AND e OR, c'è la porta NOT, capace di invertire il segnale in ingresso: se vale 1, diventa 0 e viceversa. Il corrispondente circuito, comprende due alimentatori con polarità opposta. Quando il circuito inferiore è aperto (0), la batteria A alimenta il circuito superiore e la lampadina è accesa; quando il circuito inferiore è chiuso, la seconda batteria fornisce una corrente uguale e opposta che impedisce il passaggio di corrente per cui la lampadina si spegne. La tavola di veridicità corrispondente a questo circuito, comprende un solo ingresso. Si osservi che quando l'interruttore è alzato (A=0), la lampadina è accesa (C=1) e viceversa.

applicata ai circuiti digitali (11) La combinazione di più porte logiche, permette di ottenere risultati più articolati. Per esempio, nella figura sotto è mostrata una porta NOR, costituita dalla combinazione di due porte AND, due porte NOT ed una porta OR. Questa porta permette di selezionare un valore positivo (1) se e solo se uno dei due dati in ingresso è positivo (a differenza della porta OR che fornisce un valore unitario anche se entrambi i dati in ingresso sono positivi). Il lettore può verificare da solo il funzionamento della porta NOR, tenendo conto che i dati in ingresso A e B sono duplicati però formando coppie invertite, e quindi inviati a due porte AND. Per esempio, nella figura a sinistra, il segnale al morsetto A vale 1: questo segnale è sdoppiato in modo da raggiungere una porta AND con il segnale 1 e l'altra porta AND con il segnale invertito, 0; il segnale al morsetto B vale 0: questo segnale è sdoppiato in modo da raggiungere una porta AND con il segnale 0 e l'altra porta AND con il segnale invertito, 1. Dalle due porte AND escono quindi due segnali 0 e 1, che raggiungono la porta OR fornendo un segnale 1.

applicata ai circuiti digitali (12) Quello che abbiamo esaminato finora, può definirsi un semplice elaboratore dedicato, capace cioè di eseguire un compito particolare: verificare la presenza di due eventi (bel tempo, caldo) o di un evento alternativo (impegno). E' ovvio che un simile elaboratore è troppo semplice per avere qualche utilità. Tuttavia, si può facilmente intuire che gli elementi discussi costituiscono la base per combinare tra loro più porte logiche in modo da ottenere rapidamente, e senza confusione, decisioni immediate. Inoltre, si possono costruire circuiti in grado di effettuare operazioni matematiche.

applicata ai circuiti digitali (13) Quanto discusso ci permette di comprendere come opera un elaboratore analogico. In realtà, un processore elettronico non è costituito da parti mobili, tuttavia la logica di base può essere compresa con alcune semplici considerazioni. I circuiti elettronici digitali sono costituiti da transistor. Un transistor permette di far passare o non far passare elettroni. Il passaggio di elettroni è un segnale elettronico binario (1 se passano elettroni, 0 se non passano). La caratteristica che distingue gli interruttori elettronici dai più comuni interruttori elettrici è che essi sono comandati da un segnale elettronico binario e non dall'intervento umano. Questo significa che è possibile usare il segnale elettronico di un transistor per comandare un altro transistor e così ottenere un nuovo segnale elettronico che, a sua volta, può comandare un altro transistor e così via. L'insieme di questi interruttori elettronici che si comandano a vicenda viene detto circuito elettronico. Vi sono infinite possibilità di costruzione di circuiti elettronici, ma essenzialmente sono tutte riconducibili agli elementi fondamentali qui esaminati.