Architettura degli Elaboratori

Documenti analoghi
La codifica. dell informazione

Modulo: Elementi di Informatica

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

I sistemi di numerazione e la numerazione binaria

Codifica dell Informazione

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Lezione 2. Sommario. Il sistema binario. La differenza Analogico/Digitale Il sistema binario

INFORMATICA GENERALE E BASI DI DATI PER ARCHIVI AUDIOVISIVI (PRIMO MODULO) Claudio Piciarelli A.A. 2013/2014

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Codifica dell Informazione

Calcolatore e unità di misura

Rappresentazioni numeriche

Codifica dati e istruzioni. Lezione 9. Codifica dati e istruzioni. Codifica dati e istruzioni. Codifica binaria dell informazione

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Richiami sulla rappresentazione dei numeri in una base fissata

Aspetti dell informazione

La codifica dell informazione

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Esame di Informatica A.A. 2012/13

Informazione analogica e digitale

Unità Didattica 2 Rappresentazione dei Dati

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

I diversi modi di contare

Cifre significative. Andrea Bussani. 4 novembre 2012

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

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

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Numeri Frazionari. Numeri Frazionari

Aritmetica elementare

1 Multipli di un numero

Rappresentazione dei numeri in un calcolatore

(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

= < < < < < Matematica 1

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Rappresentazione di informazioni con un alfabeto finito

Definizioni iniziali

4 3 4 = 4 x x x 10 0 aaa

Algebra di Boole Algebra di Boole

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

Numerazione binaria e rappresentazione delle informazioni

Elementi di Informatica e Programmazione

Rappresentazione binaria delle informazioni oppure Rappresentazione digitale delle informazioni

Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!

la scienza della rappresentazione e della elaborazione dell informazione

Corso di Informatica A (A-L) Corso di Laurea in Scienze e Tecniche Psicologiche a.a 2005/06. Obiettivi del corso. Prof. ssa Maria Luisa Sapino

Sistemi di Numerazione

1 L estrazione di radice

Sistemi di numerazione: generalità

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Rappresentazione dell informazione

IL CODICE EAN (European Article Number)

Sperimentazioni di Fisica I mod. A Lezione 3

Classe ALLENAMENTO INVALSI MATEMATICA (4) - Numeri (2) Cognome e Nome Classe Data

I sistemi di numerazione

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Laboratorio di Architettura degli Elaboratori

La quantità. Rappresentazione dei numeri I numeri rappresentano quantità. Il sistema Binario. Binario

I SISTEMI DI NUMERAZIONE (esercizi svolti)

SULLA RAPPRESENTAZIONE DECIMALE DEI NUMERI

Il calcolatore. Architettura di un calcolatore (Hardware)

La divisione esatta fra a e b è l operazione che dati i numeri a e b (con a multiplo di b) permette di trovare un terzo numero c tale che c b = a.

Cifre significative delle misure di grandezze fisiche

codifica in virgola mobile (floating point)

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Corso di Introduzione all Informatica --- Laurea in scienze dell amministrazione --- Prof. G. Giuffrida

Architettura dei computer

la scienza della rappresentazione e della elaborazione dell informazione

I SISTEMI DI NUMERAZIONE

Rappresentazione dell informazione Codifica Binaria

Un convertitore D/A o digitale/analogico è un dispositivo che ha lo scopo di

LA NUMERAZIONE BINARIA

Fondamenti di Informatica. Codifiche per numeri decimali: virgola fissa e mobile

04 - Numeri Complessi

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA

La codifica dell informazione

Richiami di aritmetica

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Operazioni binarie fondamentali

INFORMATICA CORSO DI ABILITA' INFORMATICHE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Indice. 1 Rappresentazione dei dati... 3

Modulo 1: Le I.C.T. UD 1.2a: Analogico/Digitale

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Concetto di numero. Stefano Ferrari

Le quattro operazioni fondamentali

Definizione: Dato un sottoinsieme non vuoti di. Si chiama funzione identica o identità di in sé la funzione tale che.

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

Note sull implementazione in virgola fissa di filtri numerici

LEZIONE 1. del 10 ottobre 2011

Macchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD

2.12 Esercizi risolti

I SISTEMI DI NUMERAZIONE

METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA. Lezione n

FRAZIONI E NUMERI DECIMALI (prova di verifica delle conoscenze) Cognome. Nome. Classe. Data.

1 Sistema additivo e sistema posizionale

Codifica dell informazione

Transcript:

Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci

Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile e specificato mediante un programma Ø ossia un insieme di ordini, che lavorano su un insieme di dati Ø Che lingua parla un elaboratore? Ø Come codificare e memorizzare opportunamente dati e informazioni? Ø Come impartire le giuste istruzioni per risolvere un problema?

Il linguaggio dei computer Ø I computer «parlano» in binario Ø Alfabeto costituito da due soli simboli, 0 e 1, corrispondenti a Ø Spento (OFF) Ø Acceso (ON) Ø Questi due simboli, detti bit = binary digit corrispondono ai due stati possibili di un circuito elettrico

Rappresentazione Binaria Ø Cosa possiamo rappresentare in binario? Ø Numeri (interi, col segno, con la virgola) Ø Parole Ø Istruzioni Ø Programma Ø Idea fondamentale su cui sono costruiti i calcolatori: Ø Programmi e dati rappresentati da numeri Ø Oggi ci occupiamo della rappresentazione degli interi

Rappresentazione con n bit Quanti interi possiamo rappresentare con una sequenza n bit? E quali sono?

Rappresentazione con n bit n = 1 n = 2 n = 3 n = 4 0 00 =0 0000 0001 0010 0 011 0 01 =1 0100 0101 0 0 =0 0 10 =2 0 110 0 0 1 =1 0 11 =3 0 111 1 1 0 =2 1 00 =4 1000 1 1 =3 1 01 =5 1001 1 10 =6 1010 1 011 1 11 =7 1100 1101 1 110 1 111 =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =10 =11 =12 =13 =14 =15

Rappresentazione con n bit Con n bit è possibile rappresentare tutti i 2 n interi compresi fra 0 e 2 n -1 Perché?

Risposta Se con k bit posso rappresentare p sequenze distinte, con k+1 bit posso rappresentare 2p sequenze distinte 1 bit 2 sequenze distinte 2 bit 4 sequenze distinte 3 bit 8 sequenze distinte 4 bit 16 sequenze distinte...... k bit 2 k sequenze distinte Si formalizza con una prova per induzione

Rappresentazione Binaria E possibile prevedere il numero di bit necessari per rappresentare N in binario?

Numero di bit per rappresentare N Ø E possibile rappresentare 152 con 7 bit? Ø No, perché con 7 bit possiamo rappresentare tutti e soli gli interi da 0 a 2 7 1 = 127 Ø E possibile rappresentare 152 con 8 bit? Ø Si, perché con 8 bit possiamo rappresentare tutti gli interi da 0 a 2 8-1 = 255 In effetti: 2 7-1 < 152 < 2 8-1 Ø Il minimo numero n di bit necessari a rappresentare N in binario è tale che N 2 n -1, da cui n log 2 (N+1) Poiché n deve essere un intero, si considera il più piccolo intero successivo al valore ottenuto

Rappresentazione con n bit n = 1 n = 2 n = 3 n = 4 0 00 =0 0000 0001 0010 0 011 0 01 =1 0100 0101 0 0 =0 0 10 =2 0 110 0 0 1 =1 0 11 =3 0 111 1 1 0 =2 1 00 =4 1000 1 1 =3 1 01 =5 1001 1 10 =6 1010 1 011 1 11 =7 1100 Ma perché 101 = 5 1101 1 110 e 1101 = 13? 1 111 =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =10 =11 =12 =13 =14 =15

Notazione Decimale Ø Anche detta notazione araba Ø E una notazione posizionale Ø Ogni cifra ha un peso diverso secondo la posizione che occupa Ø 7 5 2 = 7 10 2 + 5 10 1 + 2 10 0 Ø 2 unità Ø 5 decine Ø 7 centinaia

Notazione Binaria Ø Anche la notazione binaria è posizionale Ø Ogni cifra ha un peso diverso secondo la posizione che occupa Ø 1 0 1 = 1 2 2 + 0 2 1 + 1 2 0 = 5 Ø 1 1 0 1 = 1 2 3 +1 2 2 + 0 2 1 + 1 2 0 = 13

Evitare ambiguità Ø Per distinguere le due rappresentazioni, indichiamo la base (numero di simboli dell alfabeto) come pedice del numero Ø Binario: base 2 Ø Decimale: base 10 Ø Esempi Ø (101) 2 = (5) 10 Ø (1101) 2 = (13) 10 Ø (1011) 2 = (11) 10

Conversioni Come convertire una sequenza binaria in un intero decimale?

Da Binario a Decimale N = (10110101) 2 N = 1 2 7 + 0 2 6 + 1 2 5 + 1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 2 7 + 2 5 + 2 4 + 2 2 + 2 0 = 128 + 32 + 16 + 4 + 1 = 181

Conversioni Come convertire un intero decimale in una sequenza binaria?

Da Decimale a Binario Dato N = (181) 10, cerco la più grande potenza di 2 contenuta in 181: 181 = 128 + 53 = 2 7 + 53 53 = 32 + 21 = 2 5 + 21 21 = 16 + 5 = 2 4 + 5 5 = 4+1 = 2 2 +1 1 = 2 0 181 = 2 7 + 2 5 +2 4 +2 2 + 2 0 = 1x2 7 +0x2 6 +1x2 5 +1x2 4 +0x2 3 +1x2 2 +0x2 1 +1x2 0 = (10110101) 2 Nota: esiste un unico modo di esprimere un intero come somma di potenze distinte di 2 2 0 =1 2 1 =2 2 2 =4 2 3 =8 2 4 =16 2 5 =32 2 6 =64 2 7 =128 2 8 =256

Notazione posizionale La notazione posizionale è definita solo per le basi 10 e 2?

Base b=10 La sequenza di cifre decimali rappresenta l intero a n-1 a n-2 a 1 a 0 N = a n-1 10 n-1 + a n-2 10 n-2 + + a 1 10 1 + a 0 10 0 n 1 = i i=0 a 10 i

Base b=2 La sequenza binaria a n-1 a n-2 a 1 a 0 rappresenta l intero N = a n-1 2 n-1 + a n-2 2 n-2 + + a 1 2 1 + a 0 2 0 n 1 = i i=0 a 2 i

Base b generica La sequenza a n-1 a n-2 a 1 a 0 di simboli in {0, 1,, b-1} rappresenta l intero N = a n-1 b n-1 + a n-2 b n-2 + + a 1 b 1 + a 0 b 0 n 1 = i i=0 a b i

Esempi (234) 10 (234) 8 2 2 10 + 3 10 + 4 = 2 2 8 + 3 8 + 4 = 156 234 10 10 (234) 16 2 2 16 + 3 16 + 4 = 564 10 (101) 10 (101) 8 2 1 10 + 0 10 + 1 = 2 1 8 + 0 8 + 1 = 65 101 10 10 (101) 2 2 1 2 + 0 2 + 1 = 5 10

Esercizio Ø Da cosa sono caratterizzati i numeri pari in binario? Ø (11010) 2 è pari? Ø Suggerimento: guardate l ultimo bit (il meno significativo) Ø (11010) 2 è caratterizzato da

Conversioni tra basi (più diffuse) Le possibilità Decimale Ottale Binario Esadecimale Linguaggi, Codifica e Rappresentazione dell Informazione

Algoritmi di conversione Binario Decimale Ø Da Binario a Decimale Ø Moltiplico ogni cifra binaria per l opportuna potenza di 2 e poi faccio la somma Ø Da Decimale a Binario Ø Esprimo il numero come somma di potenze di 2, partendo dalla più grande potenza di 2 minore del numero Esistono altri algoritmi, più efficienti, per convertire un numero da binario a decimale e viceversa

Da Binario a Decimale Decimale Ottale Binario Esadecimale Linguaggi, Codifica e Rappresentazione dell Informazione

Da Binario a Decimale Ø Sia N = (a n-1 a n-2 a 1 a 0 ) 2 un intero in binario Ø Il valore di N è N=a n-1 2 n-1 + a n-2 2 n-2 + + a 1 2+ a 0 Ø Definiamo i valori S n-1 = a n-1 S n-2 = a n-2 + 2S n-1 S n-3 = a n-3 + 2S n-2.. S i = a i + 2S i+1.. S 0 = N

Esempio 1 (10110101) 2 n=8 S 7 = a 7 = 1 S 6 = a 6 +2S 7 = 0 + 2 = 2 S 5 = a 5 +2S 6 = 1 + 4 = 5 S 4 = a 4 +2S 5 = 1 + 10 = 11 S 3 = a 3 +2S 4 = 0 + 22 = 22 S 2 = a 2 +2S 3 = 1 + 44 = 45 S 1 = a 1 +2S 2 = 0 + 90 = 90 S 0 = a 0 +2S 1 = 1 + 180 = 181 S 0 = N = 181

Esempio 2 (11101001) 2 n=8 S 7 = a 7 = 1 S 6 = a 6 +2S 7 = 1 + 2 = 3 S 5 = a 5 +2S 6 = 1 + 6 = 7 S 4 = a 4 +2S 5 = 0 + 14 = 14 S 3 = a 3 +2S 4 = 1 + 28 = 29 S 2 = a 2 +2S 3 = 0 + 58 = 58 S 1 = a 1 +2S 2 = 0 + 116 = 116 S 0 = a 0 +2S 1 = 1 + 232 = 233 S 0 = N = 233

Esempio 3 (11111111) 2 n=8 S 7 = a 7 = 1 S 6 = a 6 +2S 7 = 1 + 2 = 3 S 5 = a 5 +2S 6 = 1 + 6 = 7 S 4 = a 4 +2S 5 = 1 + 14 = 15 S 3 = a 3 +2S 4 = 1 + 30 = 31 S 2 = a 2 +2S 3 = 1 + 62 = 63 S 1 = a 1 +2S 2 = 1 + 126 = 127 S 0 = a 0 +2S 1 = 1 + 254 = 255 S 0 = N = 255

Perché funziona? N = a n-1 2 n-1 + a n-2 2 n-2 + + a 1 2+ a 0 = (a n-1 2 n-2 + a n-2 2 n-3 + + a 2 2 + a 1 ) 2 + a 0 S 0 = S 1 2 + a 0 = ( (a n-1 2 n-3 + a n-1 2 n-4 + + a 2 ) 2 + a 1 ) 2 + a 0.... S 1 = S 2 2 + a 1 S 2 = S 3 2 + a 2.. = (( (a n-1 2+ a n-2 ) 2 + + a 2 ) 2 + a 1 )2 + a 0 S n-2 = S n-1 2 + a n-2 = (( ( (a n-1 ) 2+ a n-2 ) 2 + + a 2 ) 2 + a 1 )2 + a 0 S n-1 = a n-1

Algoritmo di conversione: da Binario a Decimale MSD=cifra più significativa N = (a n-1 a n-2 a 1 a 0 ) 2 LSD=cifra meno significativa N = (( ( ( a n-1 ) 2+ a n-2 ) 2 + + a 2 ) 2 + a 1 )2 + a 0 N= S 0 = S 1 2 + a 0 S 1 = S 2 2 + a 1 S 2 = S 3 2 + a 2.. S n-2 = S n-1 2 + a n-2 S n-1 = a n-1 Dal basso verso l alto: da a n-1 a a 0 ; da MSD a LSD S n-1 = a n-1 S n-2 = a n-2 + 2S n-1 S n-3 = a n-3 + 2S n-2.. S i = a i + 2S i+1.. S 0 = a 0 +2S 1 S 0 =N

Da Decimale a Binario Decimale Ottale Binario Esadecimale Linguaggi, Codifica e Rappresentazione dell Informazione

Algoritmo di conversione: da Decimale a Binario Dato: N Risultato: a n-1, a n-2,, a 1, a 0 con a i = 0 o 1 Procedura inversa: dall alto verso il basso (da a 0 ad a n-1 ) N= S 0 = S 1 2 +a 0 S 1 = S 2 2 + a 1 S 2 = S 3 2 + a 2 S i = S i+1 2 + a i S n-2 = S n-1 2 + a n-2 S n-1 = a n-1 a 0 ed S 1 sono il resto e il quoziente della divisione di N = S 0 per 2. a i ed S i+1 sono il resto e il quoziente della divisione di S i per 2. Fino ad ottenere un S i =0 Algoritmo delle divisioni successive

Esempio: N=152 S n-1 = a n-1 N = (a n-1 a n-2 a 1 a 0 ) 2??? S 0 = a 0 +2S 1 = 0 + 2 76 = 152 S 1 = a 1 +2S 2 = 0 + 2 38 = 76 S 2 = a 2 +2S 3 = 0 + 2 19 = 38 S 3 = a 3 +2S 4 = 1 + 2 9 = 19 S 4 = a 4 +2S 5 = 1 + 2 4 = 9 S 5 = a 5 +2S 6 = 0 + 2 2 = 4 S 6 = a 6 +2S 7 = 0 + 2 1 = 2 S 7 = a 7 +2S 8 = 1 + 2 0 =1 152 : 2 = 76 con resto 0 76 : 2 = 38 con resto 0 38 : 2 = 19 con resto 0 19 : 2 = 9 con resto 1 9 : 2 = 4 con resto 1 4 : 2 = 2 con resto 0 2 : 2 = 1 con resto 0 1 : 2 = 0 con resto 1 N = (10011000) 2 STOP

Esempio: N=51 N = (a n-1 a n-2 a 1 a 0 ) 2??? 51 1 2 25 2 1 12 2 0 6 0 N 2 = 110011 2 3 1 2 1 1 2 0 51 = 1*2 5 +1*2 4 +0*2 3+ 0*2 2 +1*2 1 +1*2 0

Esercizi Ø Convertire in base 2 Ø 175 10 Ø 98 10 Ø Scrivere in binario su 7 bit il numero 13 10 Ø Suggerimento: effettuare la conversione e aggiungere i bit mancanti per arrivare a 7 bit Ø Convertire in base 10 Ø 10010101101 2 Ø 00000000001 2

Indovinello: come conta ET? Ø ET viene sulla Terra e ci dice che i re di Roma sono 13 Ø Quante dita ha ET? Ø Il 13 deve essere interpretato come una stringa di simboli Ø Non conosciamo la base della loro numerazione Ø Sappiamo che il loro sistema di numerazione è POSIZIONALE Ø Sappiamo che i re di Roma sono 7 10 Ø E se ET dicesse che i re di Roma sono 111? Linguaggi, Codifica e Rappresentazione dell Informazione

Riepilogo Ø Rappresentazione binaria con n bit Ø Algoritmi di conversione per interi Ø bin->dec e dec->bin [P] parr. 1.1, 1.2, 1.3.1