informatica quaderno di testo prof. antonio...

140
Politecnico di Torino INFORMATICA quaderno di testo Prof. Antonio Lioy Anno Accademico 2010-2011

Upload: trinhlien

Post on 24-Jan-2019

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Politecnico di Torino

INFORMATICA

quaderno di testo

Prof. Antonio Lioy

Anno Accademico 2010-2011

Page 2: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

PREFAZIONE Il presente volumetto raccoglie in forma cartacea il materiale elettronico sviluppato per i corsi di Informatica del primo anno al Politecnico di Torino.

Più che costituire un “libro di testo”, questo vuole essere una sorta di “quaderno di testo”, in cui gli studenti trovano pre-organizzata una gran parte del materiale presentato in aula: definizioni, schemi, formule, grafici e tabelle. Tradizionalmente questo richiede molto tempo per essere trascritto sui quaderni, senza contare i possibili e probabili errori di trascrizione. Grazie al “quaderno di testo” lo studente può concentrarsi maggiormente sui concetti che vengono esposti e sul filo logico che lega i vari argomenti tra di loro. Il materiale è stato organizzato in un formato con ampi spazi bianchi per gli appunti personali, sottolineando così che non si tratta di un libro di testo ma di una base informativa da integrarsi necessariamente con le note prese a lezione.

Questo materiale è stato preparato dal Prof. Antonio Lioy, in coordinamento con gli altri docenti del corso di Informatica nell’anno accademico 2010-2011: Proff. Andrea Acquaviva, Alfredo Benso, Fulvio Corno, Juan Carlos De Martin, Pietro Laface, Alberto Macii, Enrico Macii, Marco Mezzalama, Bartolomeo Montrucchio, Elio Piccolo, Massimo Poncino, Maurizio Rebaudengo, Silvano Rivoira, Andrea Sanna, Antonio Servetti, Riccardo Sisto e Giovanni Squillero.

Questo materiale è soggetto alla licenza d’uso Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo” 2.5 Italia:

http://creativecommons.org/licenses/by-nc-sa/2.5/it/

Torino, 2 ottobre 2010 L’autore

Page 3: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

INDICE I. L’elaboratore elettronico ....................................................................................... 1

II. Elaborazione dell’informazione numerica ........................................................... 5

III. Elaborazione dell’informazione non numerica ................................................. 31

IV. La logica degli elaboratori elettronici ............................................................... 48

V. Tecnologia elettronica digitale ........................................................................... 57

VI. Architettura di un elaboratore elettronico ......................................................... 66

VII. Dispositivi di memoria di massa ..................................................................... 87

VIII. Dispositivi di input / output ........................................................................... 98

IX. Il software ....................................................................................................... 104

X. Il sistema operativo .......................................................................................... 111

XI. Collegamento di dispositivi periferici ............................................................ 116

XII. Trasmissione dati ........................................................................................... 124

Appendice A. Il codice ASCII .............................................................................. 129

Appendice B. Esercizi sulle codifiche numeriche ................................................ 130

Appendice C. Esercizi sulle codifiche non numeriche .......................................... 133

Appendice D. Esercizi sulle funzioni logiche ........................................................ 135

Appendice E. Esercizi sulle architetture di elaborazione ...................................... 137

Page 4: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. I

L’elaboratore elettronico (computer)

input outputp

(dati)

p

(risultati)

processing(elaborazione)

Problematiche

• codifica dei datiin un formato comprensibileall’elaboratore

• codifica degli ordinigsequenza di operazioni checompongono l’elaborazione

• decodifica dei risultatiin un formato comprensibile agli umani

Hardware e software

Hardware:

l’insieme delle apparecchiature(elettroniche, meccaniche, …) checostituiscono fisicamente il sistema dielaborazione

Software:

l’insieme dei programmi e dei dati chepermettono lo svolgimento delle funzionidi elaborazione

1

Page 5: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. I

Istruzioni e programmi

Un’istruzione è la specifica di unaoperazione che può essere svolta daun elaboratore.

Un programma è un insieme ordinatodi istruzioni (non è necessariamenteuna sequenza!)

Le generazioni informatiche

1942-’57, 1a gen. = tubi a vuoto

1958-’63, 2a gen. = transistori

1964-’80 3a gen = circuiti integrati1964- 80, 3a gen. = circuiti integrati

1980-oggi, 4a gen. = circuiti VLSI

(futuro) 5a gen. = ?

“Penso che nel mondo ci sia mercato per quattro o cinque computer”

Thomas Watson (Presidente IBM, 1943)

Alcuni recenti modelli di “computer”

2

Page 6: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. I

Sistemi “embedded”

• un auto di media cilindrata prodotta nel 2010 dispone di più di 30 tra minicomputer e sensori intelligenti, controllati da un buon numero di KB di sw

• nel 2009 venduti circa 4 milioni di PC, ma 14 milioni di elettrodomestici, l’80% dei quali ha 1 o 2 microprocessori e qualche migliaio di istruzioni

I dati digitali: tutto diventa “bit”

TestiTesti

DatiDati

VoceVoce

MusicaMusica

ImmaginiImmagini

FilmatiFilmati

01101100

Dati digitali

• qualità inalterata nel tempo (… ma attenzione ai supporti fisici: il caso dei nastri magnetici della missioni Apollo)

• compressione dei dati (= riduzione della p (quantità senza perdita di informazione) molto efficiente

• trasmissione efficiente dei dati (un’unico tipo di rete per tutti i tipi di dati)

– es. TRIPLE PLAY = Internet + TV + telefonia

3

Page 7: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. I

I dati numerici

• sono quelli più usati in ambito scientifico

• nei moderni sistemi di elaborazione … tutti gli altri tipi di dato sono trasformati in dati numerici

• tutti i tentativi di elaborare direttamente dati non numerici o sono falliti o si sono mostrati molto più inefficienti che non effettuare l’elaborazione solo dopo aver trasformato i dati in forma numerica

4

Page 8: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Elaborazione dell’informazione numerica

x2 + y2 = 9raggio?

raggio = 3

0 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1 0 1

costo = 100IVA = 19%totale?

totale = 119

0 1 1 1 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1

Come contiamo?

252 = 2 × 100 + 5 × 10 + 2 × 1

= 2 × 102 + 5 × 101 + 2 × 100

Il sistema di numerazione del mondooccidentale (sistema arabo) è:

• decimale

• posizionale

Sistemi di numerazione

Non posizionali:

• numeri romani (es. V, L, D)

• operazioni aritmetiche difficili(es. V + V = X)( )

Posizionali:

• arabo (decimale)

• maya (ventesimale)

5

Page 9: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Sistema di numerazione posizionale

Occorre definire la base B da cui discendono varie caratteristiche:

• cifre = { 0, 1, 2, ..., B-1 }

• peso della cifra i-esima = B ip

• rappresentazione (numeri naturali) su N cifre

iN

ii Ba

1

0A

Il sistema binario

Base = 2

Cifre = { 0, 1 }

Esempio:

1012 = 1 × 22 + 0 × 21 + 1 × 20

= 1 × 4 + 1 × 1

= 510

Alcuni numeri binari

0 ... 0 1000 ... 81 ... 1 1001 ... 9

10 ... 2 1010 ... 1011 ... 3 1011 ... 11

100 4 1100 12100 ... 4 1100 ... 12101 ... 5 1101 ... 13110 ... 6 1110 ... 14111 ... 7 1111 ... 15

6

Page 10: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Alcune potenze di due

20 ... 1 29 ... 51221 ... 2 210 ... 102422 ... 4 211 ... 204823 ... 8 212 ... 409624 16 213 819224 ... 16 213 ... 819225 ... 32 214 ... 1638426 ... 64 215 ... 3276827 ... 128 216 ... 6553628 ... 256

BIT (BInary digIT) 0 1

BYTE = otto bit 00110110

Terminologia

WORD = n byte 00001111

10101010

Terminologia

1 0 1 1 0 1 1 0

LSBMSB LSB

LeastSignificantBit

MSB

MostSignificantBit

7

Page 11: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Multipli binari

Si usano le potenze di due invece che di dieci (potenziale confusione, anche commerciale):

chilo k 210 ~ un migliaio

mega M 220 ~ un milione

giga G 230 ~ un miliardo

tera T 240 ~ mille miliardi

peta P 250 ~ un milione di miliardi

exa E 260 ~ un miliardo di miliardi

Sinora scarso successo del tentativo IEC di usare prefissi diversi (es. k = 103, ki = 210).

Il sistema ottale

• base = 8(talvolta indicata con Q per Octal)

• cifre = { 0, 1, 2, 3, 4, 5, 6, 7 }

• utile per scrivere in modo compatto i p pnumeri binari ( 3:1 )

1 0 1 1 1 0 0 1 2

2 7 1 8

Il sistema esadecimale

• base = 16(talvolta indicata con H per Hexadecimal)

• cifre = { 0, 1, ..., 9, A, B, C, D, E, F }

• utile per scrivere in modo compatto i• utile per scrivere in modo compatto i numeri binari ( 4:1 )

1 0 1 1 1 0 0 1 2

B 9 16

8

Page 12: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Limiti del sistema binario(rappresentazione naturale)

Consideriamo numeri naturali in binario:

• 1 bit ~ 2 numeri ~ { 0, 1 }2 ~ [ 0 … 1 ]10

• 2 bit ~ 4 numeri ~ { 00, 01, 10, 11}2 ~ [0…3]10

Quindi in generale per numeri naturali a N bit:Quindi in generale per numeri naturali a N bit:

• combinazioni distinte2N

• intervallo di valori0 x 2N – 1 [ base 10 ]

(000...0) x (111...1) [ base 2 ]

Limiti del sistema binario(rappresentazione naturale)

bit simboli min10 max10

4 16 0 15

8 256 0 255

16 65,536 0 65,535

32 4,294,967,296 0 4,294,967,295

Conversione di numeri naturalida binario a decimale

Si applica direttamente la definizione effettuando la somma pesata delle cifre binarie:

11012 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20

= 8 + 4 + 0 + 1

= 1310

9

Page 13: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Conversione di numeri naturalida decimale a binario

Esprimiamo un generico numero A in forma simbolica sia in decimale sia in binario:

A2 = aN-1× 2N-1 + ... + a2× 22 + a1× 21 + a02 N-1 2 1 0

= 2 (aN-1× 2N-2 + ... + a2× 21 + a1) + a0

= 2 [ 2 (aN-1× 2N-3 + ... + a2) + a1] + a0

A10 = 2 × Q0 + R0

= 2 × ( 2 × Q1 + R1 ) + R0

Da decimale a binario

Dal confronto tra l’espressione di A come numero binario e come risultato della divisione intera per due si ottiene:

• a0 = R0

• a1 = R1

• ...

• ai = Ri

Da decimale a binario

Regola pratica:

• divisioni (intere, ossia quoziente e resto) successive per due

• si prendono i resti in ordine inversop

Esempio:

13 6 3 1 0 quozienti

1 0 1 1 resti

1310 = 11012

10

Page 14: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

EserciziConvertire da decimale a binario, e viceversa:

• 1410 [ 11102 ]

• 3310 [ 1000012 ]

• 5710 [ 1110012 ]

31 [ 11111 ]• 3110 [ 111112 ]

Convertire in binario e decimale:

• 1238 [ 10100112 ; 8310 ]

• 1288 [ impossibile ]

• A1A16 [ 1010 0001 10102 ; 258610 ]

• 123H [ 0001 0010 00112 ; 29110 ]

Esercizi

• determinare la base X in cui vale la seguente uguaglianza:

43X + 24X = 100X [ x = 7 ]

• effettuare i seguenti cambiamenti di base:

– 2310 in base 6 [ 356 ]

– 117 in base 10 [ 810 ]

1000 euro di stipendio,meno 500 euro di affitto,

meno 100 euro di benzina,meno

Operazioni aritmetiche

meno ...

11

Page 15: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Somma in binario

Regole base:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 11 + 0 = 1

1 + 1 = 0 ( carry = 1 )

Somma in binario

Si effettuano le somme parziali tra i bit dellostesso peso, propagando gli eventuali riporti:

1 10 1 1 0 +0 1 1 10 1 1 1 =

1 1 0 1

Overflow

Si usa il termine overflow per indicare l’erroreche si verifica in un sistema di calcoloautomatico quando il risultato di un’operazionenon è rappresentabile con la medesimacodifica e numero di bit degli operandicodifica e numero di bit degli operandi.

12

Page 16: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Overflow

Nella somma in binario puro si ha overflow quando:

• si lavora con numero fisso di bit

• si ha carry sul MSBy

Overflow - esempio

Ipotesi: operazioni su numeri da 4 bit codificati in binario puro

0101 +1110 =

-----------overflow 10011

Moltiplicazione e divisione in binario

In linea teorica è possibile operare come nel sistema decimale.

Nella pratica spesso si usano accorgimenti particolari basati sull’operazione di shift.

13

Page 17: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

L’operazione di shift

• consiste nel “far scorrere” i bit (a sinistra o a destra) inserendo opportuni valori nei posti lasciati liberi

• equivale ad una moltiplicazione o divisione t d ll bper una potenza della base

• errori: overflow e troncamento

Shift binario a sinistra

• si inserisce come LSB un bit a zero

• equivale ad una moltiplicazione per due

• overflow quando si lavora su numero fisso di bit e si scarta un bit diverso da zero

• esempi (binario puro su 4 bit):

0011 « 1 = 0110 ( 3 × 2 = 6 )

0011 « 2 = 1100 ( 3 × 4 = 12 )

0011 « 3 = 1000 overflow!

Moltiplicazione / shift

E’ possibile eseguire un qualunque prodotto usando solo operazioni di shift e somma:

34 × 7 = 34 × ( 4 + 2 + 1 )

= 34 × 4 + 34 × 2 + 34 × 1

= 34 « 2 + 34 « 1 + 34

14

Page 18: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Shift a destra

• equivale ad una divisione per due

• shift logico: inserisce come MSB un bit a zero

• shift aritmetico: inserisce un bit uguale al MSBMSB

• esempi (shift logico in binario puro su 4 bit):

0110 » 1 = 0011 ( 6 : 2 = 3 )

0110 » 2 = 0001 ( 6 : 4 = 1 ) troncamento!

Esercizi

Trasformare gli operandi in binario (codifica naturale su 5 bit) e quindi eseguire le seguenti operazioni, segnalando eventuali errori:

• 23 + 12 6 + 7

• 23 – 12 6 – 7

• 5 « 2 5 « 4

• 17 » 2 17 » 3 (shift logico)

I numeri relativi

-5 oC

+ 32 oC

15

Page 19: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

I numeri con segno

Il segno dei numeri può essere solo di due tipi:

positivo ( + )

negativo ( – )

E’ quindi facile rappresentarlo in binario maE quindi facile rappresentarlo in binario ... ma non sempre la soluzione più semplice è quella migliore!

Codifica “modulo e segno”

• un bit per il segno (tipicamente il MSB):

– 0 = segno positivo ( + )

– 1 = segno negativo – )

N 1 bit per il valore assoluto (anche detto• N-1 bit per il valore assoluto (anche detto modulo)

segno modulo

1 bit N-1 bit

Modulo e segno: esempi

Usando una codifica su quattro bit:

+ 310 0011M&S

310 1011M&S

0000 + 00000M&S + 010

1000M&S 010

16

Page 20: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Modulo e segno

Svantaggi:

• doppio zero (+ 0, - 0)

• operazioni complesse

• es somma A+B• es. somma A+B

A > 0 A < 0B > 0 A + B B - |A|B < 0 A - |B| - ( |A| + |B| )

Modulo e segno: limiti

In una rappresentazione M&S su N bit:

- ( 2N-1 - 1 ) x + ( 2N-1 - 1 )

Esempi:

• 8 bit = [ -127 ... +127 ]

• 16 bit = [ -32,767 ... +32,767 ]

Codifica in complemento a due

In questa codifica per un numero a N bit:

• il MSB ha peso negativo (pari a -2N-1)

• gli altri bit hanno peso positivo

Ne consegue che MSB indica sempre il segno:Ne consegue che MSB indica sempre il segno:

0 = + 1 = (perché?)

Esempi (complemento a due su 4 bit):

• 1000CA2 = -23 = -810

• 1111CA2 = -23 + 22+ 21 + 20 = -8 +4 +2 +1 = -110

• 0111CA2 = 22 + 21 + 20 = 710

17

Page 21: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Complemento a uno

Considerando numeri binari da N bit, sidefinisce complemento a uno di un numero A la quantità:

A = 2N – 1 – A

Anche detta semplicemente complemento.

Si indica con una linea orizzontale sopra al numero oppure con un apostrofo (A’).

Complemento a uno

Regola pratica:

il complemento a uno di un numerobinario A si ottiene cambiando ilvalore di tutti i suoi bit

Esempio:

A = 1011 A 0100

Complemento a due (operazione)

Considerando numeri binari da N bit, si definisce complemento a due di un numero A la quantità:

A = 2N – A = A + 1

18

Page 22: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Complemento a due

Regola pratica:

il complemento a due di un numerobinario A si ottiene sommando uno alsuo complemento

Esempio:

A = 1011 A = 0100 A = A + 1 0101

Complemento a due (bis)

Regola pratica (bis):

il complemento a due di un numerobinario A si ottiene partendo dal LSB ecopiando tutti i bit sino al primo “1”i l l t d t tti i bitincluso e complementando tutti i bitsuccessivi.

Esempio:

A = 10110 A 01010

Codifica in complemento a due

Per rappresentare numeri relativi:

( A 0 ) ACA2 = 0 A2

( A < 0 ) A | A |( A < 0 ) ACA2 = | A | 2

19

Page 23: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Complemento a due: esempi

Usando una codifica su quattro bit:

+ 310 0 ( 32 ) 0011CA2

310 0011 + 1 1101CA210 CA2

oppure 8 + 5 1101CA2

0000CA2 + ( 000 ) + 010

1000CA2 8 + 0 810

Esercizi

Trasformare i seguenti numeri da (oppure a) codifica modulo e segno e complemento a due su 5 bit:

• +1110 – 1110

• +1310 – 1310

• 01010M&S 11010M&S

• 01010CA2 11010CA2

Complemento a due: limiti

In una rappresentazione su N bit:

- 2N-1 x + ( 2N-1 - 1 )

Esempi:

• 8 bit = [ -128 ... +127 ]

• 16 bit = [ -32,768 ... +32,767 ]

20

Page 24: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Somma e sottrazione in CA2

La somma si effettua direttamente, senza badare ai segni degli operandi:

ACA2 + BCA2 ACA2 + BCA2

La sottrazione si effettua sommando al minuendo il CA2 del sottraendo:

ACA2 – BCA2 ACA2 + BCA2

(nota: nella sottrazione B è già codificato in CA2 ma gli si applica l’operazione CA2)

Somma in CA2 - esempio

00100110 + 11001011

00100110 +11001011 =---------------11110001

verifica: 38 + (– 53) = – 15

Sottrazione in CA2 - esempio

00100110 – 11001011

00100110 +00110101 =---------------01011011

verifica: 38 – (– 53) = 91

21

Page 25: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Overflow nella somma in CA2

Operandi con segno discorde: non si può mai verificare overflow

Operandi con segno concorde: c’è overflow quando il risultato ha segno discorde

In ogni caso, si trascura sempre il carry sul MSB

Nota: non occorre definire l’overflow per la sottrazione in CA2 perché è sempre effettuata con un’addizione.

Overflow in CA2

0101 + 1110 +0100 = 1101 =--------- ----------1001 11011 =

10111011

overflow! OK

Shift a destra in complemento a due

• quando si effettua lo shift a destra di un numero in complemento a due, si fa sempre lo shift aritmetico (perché il MSB è significativo)

i (CA2 4 bit)• esempio (CA2 su 4 bit):– 5 » 11011 » 1 = 1101 (con troncamento)verifica: 1101CA2 = 0011 = – 310

22

Page 26: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Shift a sinistra in complemento a due

• quando si effettua lo shift a sinistra di un numero in complemento a due, si inserisce a destra uno zero ma si deve prestare attenzione all’overflow

i (CA2 4 bit)• esempio (CA2 su 4 bit):+5 « 1

ossia0101 « 1 = 1010 (cambio segno: overflow!)

verifica:0101CA2 = +5101010CA2 = – 610

Rappresentazioni numeriche

• dati N bit …

• … si possono codificare 2N “oggetti” distinti

• … usabili per varie rappresentazioni numeriche

• esempio (usando 3 bit):

000 001 010 011 100 101 110 111“oggetti” binari

0 1 2 3 4 5 6 7num. naturali

+0 +1 +2 +3 -0 -1 -2 -3num. relativi (M&S)

+0 +1 +2 +3 -4 -3 -2 -1num. relativi (CA2)

I numeri razionali (o frazionari)

FONDAMENTI DI INFORMATICA PROMOZIONI

3 tentativi2 tentativi

2%2 tentativi

15%1

tentativo83%

23

Page 27: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Numeri razionali

Esprimibili come un rapporto di numeri interi.

In altre parole sono il risultato di una divisione tra numeri interi.

Rappresentati in forma frazionaria oppure :

• parte intera

• parte frazionaria

Ad esempio:

R = 15 / 4 = 3.75

Conversione in binario della parte frazionaria di un numero

A = 0, ...= a-1 2-1 + a-2 2-2 + ...

2 × A = a-1 20 + a-2 2-1 + a-3 2-2 + ...= a-1 + ( a-2 2-1 + a-3 2-2 + ... )

Si ottiene quindi:

a-1 = int ( 2 × A )a-2 = int ( 2 × fraz(2 × A) )a-3 = int ( ... )

Parte frazionaria

Regola pratica:

• moltiplicazioni successive per due

• si considerano le parti interenell’ordine in cui sono state generatenell ordine in cui sono state generate

.25 .5 .0

0 1

( 0.25 ) 10 = ( 0.01 ) 2

24

Page 28: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Numeri non rappresentabili

Esistono numeri decimali frazionari finiti non rappresentabili esattamente in binario (numero infinito di cifre):

4 8 6 2 4.4 .8 .6 .2 .4 ...

0 1 1 0 ...

( 0.4 ) 10 = ( 0.0110 ) 2

Problema: quante cifre si considerano?

Errore assoluto ( )

Dato un numero A composto da N cifre, l’errore assoluto della sua rappresentazione è non superiore alla quantità – non nulla –

più piccola (in valore assoluto)

Nota: talvolta l’errore assoluto è anche detto“precisione (assoluta)” di un numero.

più piccola (in valore assoluto) rappresentabile con N cifre.

Errore assoluto - esempi

Qualunque sia la base ed il numero di cifre,l’errore assoluto dei numeri interi è semprenon superiore a 1:

510 110 2710 11010 10 10 10

L’errore assoluto dei numeri razionalidipende dal numero di cifre usate perrappresentarli:

• es. 0.510 0.110

• es. 0.5010 0.0110

• es. 1.010 0.110

25

Page 29: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Approssimazionedei numeri frazionari

L’errore assoluto è inferiore al peso del LSB:

0.012 : 1/4

Verifica:

• limite inferiore (best case)0.010000... = 0.25

• limite superiore (worst case) 0.011111... == 1/4 + 1/8 +1/16 + ...= 1/4 × ( 1 + 1/2 + 1/4 + ... )< 0.25 × 2

• intervallo [ 0.25 ... 0.5 [ < 1/4

Approssimazionedei numeri frazionari

Dato l’errore decimale desiderato, si deve includere nella rappresentazione almeno la cifra binaria di peso immediatamente inferiore

0.410 (con 0.110) = 0.01102

( 1/16 < 0.110 )

Verifica:

• 0.01102 = 0.37510

• | 0.4 - 0.375 | = 0.025 < 0.1

Esercizi

Trasformare i seguenti numeri decimali in binario puro con errore assoluto non superiore a 1/100:

• 0.3010 0.7010 0.501010 10 10

Trasformare i seguenti numeri binari in decimale, indicando la loro precisione assoluta in decimale:

• 0.00112 0.10100002 0.1012

26

Page 30: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Numeri reali

Problematiche:

• intervallo di valori rappresentabile

• precisione della rappresentazione

errore assoluto– errore assoluto

Rappresentazione fixed-point

Si usa un numero fisso di bit per la parte intera e per quella frazionaria (e non si rappresenta la virgola!)

Ad esempio (4 + 4 bit, binario puro):

15.9375 = 1111 1111

0.0625 = 0000 0001

N.B. virgola sottintesa

Fixed-point

+ operandi allineati = operazioni facili

+ precisione assoluta fissa

– piccolo intervallo di valori

divisione tra parte intera e parte frazionaria– divisione tra parte intera e parte frazionariafissa e non adatta a tutti i campi applicativi

Il fixed-point viene quindi usato raramente neisistemi general-purpose, mentre è piùfrequente nei sistemi special-purpose.

27

Page 31: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Codifica fixed-point in CA2

• si consideri il numero A = I.Fove I = int ( A ) e F = fraz ( A )

• se A 0 ACA2 = 0 I2 . F2

• se A 0 ACA2 = I2 . F2 + 1LSB

Limiti della codifica fixed-point CA2

Con N bit per la parte intera e F bit per la parte frazionaria:

• frazmax = 1/2 + 1/4 + ... + 1/2F

• max = + ( 2N–1 – 1 ) . frazmax( )

• min = – 2N–1 . 0

• risoluzione (o step) = 1/2F

Limiti della codifica fixed-point CA2

Esempio (fixed-point, CA2, 3 I + 2 F):

• max = 011 11 = + 3 . 75

• min = 100 00 = – 4 . 0

• step = 000 01 = 0 25• step = 000 01 = 0.25

• valori –4.0 –3.75 –3.5 –3.25–3.0 –2.75 –2.5 . . .. . . . . . . . . +2.75+3.0 +3.25 +3.5 +3.75

28

Page 32: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Rappresentazione floating-point

Si usa sempre il formato esponenziale:

N = mantissa × base esponente

Vari formati decimali:

• esempi di possibili codifiche per N=35000

• standard 3.5 × 104 3.5E+4

• scientifico 0.35 × 105 0.35E+5

• ingegneristico 35 × 103 35E+3

Floating-point

+ grande intervallo di valori

+ adattabilità a vari ambiti applicativi

– operandi non allineati operazioni complessep p

– errore assoluto variabile

Formato IEEE-754

Standard IEEE per il floating-point (SP e DP).

Singola precisione (SP)

• 1 bit segno, 23 bit mantissa, 8 bit esponente

• intervallo ~ -1038 1038• intervallo ~ -1038 … 1038

• precisione ~ 7 cifre decimali

Doppia precisione (DP)

• 1 bit segno, 52 bit mantissa, 11 bit esponente

• intervallo ~ -10308 … 10308

• precisione ~ 16 cifre decimali

29

Page 33: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. II

Formato IEEE-754

• mantissa nella forma “1,…” (valore max < 2)

• base dell’esponente pari a 2

• IEEE 754 SP:

esponentesegno mantissa

• IEEE 754 DP:

23 bit8 bit

esponentesegno mantissa

1 bit

52 bit11 bit

esponentesegno mantissa

1 bit

IEEE-754 SP: intervallo di valori

underflow ( 0 )

0-1038 -10-38 10-38 1038

overflow (NaN)

Interi o floating-point?

Interi:

• precisione = 1

• intervallo di valori limitato

• es (32 bit) ~ 2 000 000 000• es. (32 bit) ~ 2,000,000,000

• es. (64 bit) ~ 9,000,000,000,000,000,000

Floating-point:

• precisione = variabile

• es. (32 bit) ~ 9,999,999 × 10 38

• es. (64 bit) ~ 9,999,999,999,999,999 × 10 308

30

Page 34: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Elaborazione dell’informazione non numerica

Nel mezzodel cammindi nostravita ...

Informazione non numerica

Se in quantità finita, si può mettere in corrispondenza coi numeri interi.

00 01 10

Dagli oggetti ai codici

Per rappresentare K oggetti distinti occorreun numero minimo di bit pari a:

N = log2 K g2

31

Page 35: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

La funzione ceiling

La funzione matematica ceiling applicata all’argomento x restituisce il minor numero intero maggiore o uguale a x.

In pratica è l’approssimazione per eccesso.

E iEsempi:

• 4 4• 4.3 5• - 4 - 4

• - 4.3 - 4 ATTENZIONE!

Caratteri

Occorre una codifica standard perché è il genere di informazione più scambiata:

• codice ASCII (American Standard Code for Information Interchange)

di EBCDIC (E t d d BCD• codice EBCDIC (Extended BCD Interchange Code)

Codice ASCII

Usato anche nelle telecomunicazioni.

Usa 8 bit (originariamente 7 bit per US-ASCII) per rappresentare:• 52 caratteri alfabetici (a...z A...Z)

• 10 cifre (0...9)

• segni di interpunzione (,;!?...)

• caratteri di controllo

32

Page 36: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Caratteri di controllo

CR ( 13 ) Carriage ReturnLF, NL ( 10 ) New Line, Line FeedFF, NP ( 12 ) New Page, Form Feed

HT ( 9 ) Horizontal TabVT ( 11 ) Vertical Tab( )

NUL ( 0 ) NullBEL ( 7 ) BellEOT ( 4 ) End-Of-Transmission

. . . . . . . . .

Codice ASCII - esempio

01000001 A 0010000001110101 u 01110100 t01100111 g 01110101 u01110101 u 01110100 t01110101 u 01110100 t01110010 r 01110100 t01101001 i 01101001 i00100000 00100001 !01100001 a

Rappresentazione di un testo in formato ASCII

• caratteri in codice ASCII

• ogni riga terminata dal terminatore di riga:

– in MS-DOS e Windows = CR + LF

in UNIX = LF– in UNIX = LF

– in MacOS = CR

• pagine talvolta separate da FF

33

Page 37: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Codice ASCII: problema

Un testo è composto di 40 pagine, ciascuna contenente 50 righe di 60 caratteri.

Se il testo viene codificato in ASCII, con righe terminate da CR-LF e pagine terminate da FF, quanti byte sono necessari per memorizzare il testo?

riga: 60 caratteri + CR + LF = 62 byte

pagina: 50 62 + FF = 3101 byte

testo: 40 3101 = 124,040 bytetesto: 124,040 : 1024 = 121.1 kB

Caratteri estesi

I caratteri con codice ASCII maggiore di 127 non sono standard (perché non presenti nel codice ASCII originale che era su soli 7 bit).

In pratica i caratteri con MSB=1 sono usati per:per:

• codici di controllo aggiuntivi

• alfabeti locali (es. à á ä ã æ )

• caratteri grafici (es. )

Codifiche ASCII estese

Telecomunicazioni:

• MSB è spesso usato come bit di parità

Computer:

• code page (CP) nazionalicode page (CP) nazionali

• es. MS-DOS CP 850 (138 = è, 232 = Þ)

• es. MS-Windows CP 1252 (138 = Š, 232 = è)

• es. ISO-8859-1 (138 = VTS, 232 = è)

Nota: ISO-8859-1 è il default per le pagine web

34

Page 38: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Codifiche ISO (per ASCII esteso)

ISO-8859-1 (Latin-1) = europa occidentale

ISO-8859-2 (Latin-2) = europa centrale

ISO-8859-3 (Latin-3)

ISO-8859-4 (Latin-4) = paesi baltici

ISO-8859-5 (Latin/Cyrillic)

ISO-8859-6 (Latin/Arabic)

ISO-8859-7 (Latin/Greek)

ISO-8859-8 (Latin/Hebrew)

ISO-8859-9 (Latin-5) = Turchia

ISO-8859-15 (Latin-9) ~ Latin-1 + Euro

UNICODE e UTF-8

Unicode esprime tutti i caratteri di tutte le lingue del mondo (più di un milione).

UTF-8 è la codifica di Unicode più usata:

• 1 byte per caratteri US-ASCII (MSB=0)y p ( )

• 2 byte per caratteri Latini con simboli diacritici, Greco, Cirillico, Armeno, Ebraico, Arabo, Siriano e Maldiviano

• 3 byte per altre lingue di uso comune

• 4 byte per caratteri rarissimi

• raccomandata da IETF per e-mail

Compressione dei dati

• per ridurre la quantità di dati da memorizzare / trasmettere si può cercare di eliminare le ripetizioni

• esempio (codifica run-length) AAAAAAABAAAAAAA può diventareAAAAAAABAAAAAAA può diventareA 7 B 1 A 7 (da 15 byte a 6 byte)

• esempio (codifica con “dizionario”)“I Torinesi abitano a Torino” può diventare “I äesi abitano a äo” con l’informazione aggiuntiva (=dizionario)

ä = Torin

35

Page 39: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Compressione senza / con perdita

• compressione senza perdita (lossless) se è possibile ricostruire esattamente i dati originali

• compressione con perdita (lossy) se si ricostruiscono dei dati molto simili maricostruiscono dei dati molto simili ma non identici a quelli originali (si trascura qualche dettaglio)

• esempio (compressione lossy)AAAAAAABAAAAAAA può diventareA 15 (trascurando B)

Misurazione della compressione

Rapporto o fattore di compressione:

• C = dim. dati / dim. dat compressi

• solitamente espresso come N:1 o Nx

Risparmio di spazio:

• S = 1 – dim. dat compressi / dim. dati

• solitamente espresso come %

Misurazione della compressione

Esempio – 10 MB compressi a 2 MB:

• C = 5 : 1 (o 5x)

• S = 80%

NOTA: spesso è chiamato “fattore dicompressione” il risparmio di spazio (!!!)

Non fidarsi quindi del termine usatoma guardare l’unità di misura:

• K% è un risparmio di spazio

• N:1 o Nx è un fattore di compressione

36

Page 40: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Codifica di immagini

• se l’immagine è molto complessa ed irregolare si preferisce una codifica raster (anche detta bitmap o pixmap), ossia fatta punto per punto

• punto = dot o pixel (picture element)• punto = dot o pixel (picture element)

• se l’immagine contiene forme geometriche regolari si preferisce una codifica vettoriale, ossia fatta specificando gli elementi geometrici

Codifica raster

• si suddivide l’immagine in tanti punti, definendo R righe e C colonne

• per ogni punto si memorizza il colore:

– scelto tra i 2N disponibili nella tavolozzascelto tra i 2 disponibili nella tavolozza ( palette )

– colore = dato codificato su N bit(spesso indicato con BPP, bit-per-pixel)

• memoria totale per un’immagine:

M = R C N [ bit ]

Formati raster: BMP e GIF

BMP (Bitmap)

• Microsoft

• pixmap, senza compressione

GIF (Graphic Interchange Format):GIF (Graphic Interchange Format):

• 8 BPP (256 colori) immagini semplici

• buona compressione (senza perdita)

• animazione tramite sequenza

• uso in calo perché coperto da brevetto

37

Page 41: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Formati raster: PNG

PNG (Portable Network Graphics)

• standard W3C

• ottima compressione (senza perdita)

• 24 BPP (16M colori) RGB palette RGB• 24 BPP (16M colori) RGB, palette RGB, greyscale

• ottimizzato per grafica (es. icone, disegni)

• ottimizzato per fotografie

Formati raster: JPEG

JPEG (Joint Photographic Experts Group):

• 24 BPP (16M colori) vasta gamma di colori e sfumature

• grado di compressione variabilegrado di compressione variabile

• massima compressione con perdita

• ottimizzato per fotografie

• file con estensione .JPG o .JPEG

Codifica vettoriale

• si identificano gli elementi geometrici presenti (linee, cerchi, ...)

• si codificano con un opportuno formato (es. LINE(0,0,10,10) )

difi lt tt bil• codifica molto compatta ma non usabile per immagini generiche (non geometriche)

• formati più comuni:

– CGM, DWG, DXF

– PostScript e PDF sono formati misti raster/vettoriale/testo

38

Page 42: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Modifica dimensioni di un’immagine

• si parla di “scaling”: riduzione o ingrandimento

• in generale scalano meglio le immagini vettoriali (=istruzioni per disegnarle) che quelle raster (=riduzione o ingrandimentoquelle raster (=riduzione o ingrandimento dei pixel)

• differenza evidente soprattutto negli ingrandimenti

Scaling: confronto raster - vettoriale

raster vettoriale

Esercizio

Un calcolatore ha una memoria grafica di 4 MB usata in modo raster senza compressione; quanti colori può visualizzare simultaneamente con una risoluzione di 1024 x 768?

Risposta: circa 4000 miliardi di colori

39

Page 43: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Codifica di suoni

• frequenze udibili < 4 kHz

• campionamento ad intervalli regolari

• fedeltà all’originale data da:

frequenza di campionamento (misurata– frequenza di campionamento (misurata in Hertz, ossia campioni/s)

– numero di livelli distinti (ossia bit per campione)

• max compressione lossless circa 2:1

Campionamento

segnale

Tc

frequenza di campionamento: fC = 1/TC

t

Quantizzazione

10

11

00

01

K livelli n = log2 K bit

t

40

Page 44: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Errori di campionamento e di quantizzazione

t

Il segnale memorizzato differiscenecessariamente da quello originale.

Formato CD audio

Brani digitali su CD audio codificati con:

• 16 bit/campione

• 2 canali (stereo)

• campionamento a 44.1 kHzp

Velocità di lettura/trasmissione (bitrate):

• 44,100 camp/s x 16 bit/camp x 2 canali

• = 1,400,000 bit/s (bps, bit-per-second)

• = 175,000 byte/s (Bps, byte-per-second)

Esempio: 10 MB = 1’ di audio su CD musicale.

Capacità di un CD

Capacità nominale è per registrare dati

• 650 o 700 MB (equivalenti a 74’ o 80’)

Settori fisici da 2352 byte per:

settori logici dati (es MP3) = 2048 byte• settori logici dati (es. MP3) = 2048 byte

• settori logici audio = 2352 byte

Capacità reale è maggiore:

• 700 MB / 2 kB = 358,400 settori fisici

• 358,400 sett x 2352 B/sett = 842,956,800 B

• 842,956,800 B / 175,000 B/s = 4,816” = 80’

41

Page 45: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Il formato MP3

• MPEG-1 audio layer 3

• compressione con perdita, identificando:

– frequenze a cui l’orecchio umano è meno sensibile

– suoni mascherati da altri a maggior ampiezza

• qualità quasi uguale a CD-audio, con compressione 12x

• ottimizzato per velocità 32-320 Kbps (tipicamente, 64 Kbps)

Il formato MIDI(Musical Instrument Digital Interface)

• codifica uno spartito musicale (le note … e gli strumenti che devono eseguirle!)

• solo musica, non voce umana

• per riprodurre i suoni richiede “campioni” d i i t tidei vari strumenti

• molto efficiente (es. 6’19” della 5a sinfonia di Beethoven = 91 KB)

• usato da sintetizzatori musicali, videogiochi e siti web

Il formato PCM

• Pulse Code Modulation

• inventato nel 1937, è tra i formati più usati per codificare i suoni in digitale (es. CD, DVD, BD e VoIP)

t d d t l f i di it l 8 kH 8• standard per telefonia digitale: 8 kHz a 8 bit/campione, ossia 64 kbit/s (= velocità base ISDN)

• DCPM (Differential), ADPCM (Adaptative) e Delta modulation usano varie tecniche lossless per ridurre la quantità di dati che è necessario memorizzare o trasmettere

42

Page 46: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Il formato CELP

• Code-Excited Linear Prediction

• famiglia di codifiche che permettono di avere basse velocità di trasmissione (~10 kbit/s))

• usato per telefonia cellulare, MPEG-4 ed alcune applicazioni Internet (es. RealAudio)

Codifica di filmati video

• filmato = sequenza di immagini (ciascuna chiamata fotogramma o frame)

• minimo 16 frame/s (FPS) affinché l’occhio umano non percepisca i singoli fotogrammifotogrammi(es. pellicola cinematografica = 24 FPS)

• è inefficiente codificare completamente ogni frame

• alcuni frame si codificano tutti, altri solo nelle parti che differiscono da quelli “adiacenti”

Formati video

MPEG (Moving Picture Experts Group):

• standard anche non informatico (SAT, DTT)

• molto efficiente ma complesso

QuickTime:QuickTime:

• proposto da Apple

• un po’ meno efficiente ma più semplice

43

Page 47: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

MPEG

MPEG-1 (1991)

• per video-CD e CD-I; 1.5 Mbps

MPEG-2 (1994)

• per TV digitale (e DVD); 4 … 10 Mbps

MPEG-4 (1998)

• interattività

• compressione (64 Kbps o 2 Mbps)

MPEG-7 (in corso di sviluppo)

• meta-informazioni su dati multimediali, per indicizzazione e ricerca

Protezione dagli errori (casuali)

Vari fenomeni fisici possono accidentalmente cambiare l’informazione:

• esposizione ad alte temperature

• radiazioni (es. raggi X, gamma, cosmici)

• interferenze elettromagnetiche

• campi magnetici

Danno permanente = una funzione non è più disponibile

Errore transitorio = modifica di un dato

Errori transitori

Errori in trasmissione:

• dati ricevuti diversi dai dati inviati

Errori di memorizzazione:

• dati letti diversi dai dati scritti

44

Page 48: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Tipi di errore

0 1

Nel sistema binario, un errore può essere solo l’inversione di un bit:

1 0

Codici a rivelazione d’errore

• EDC = Error Detecting Code

• aggiungono ai dati dei bit (di controllo) per rilevare errori

• utili quando si dispone di un’altra copia d i d ti ( b k ) è ibildei dati (es. backup) oppure è possibile ritrasmetterli

Codici a rivelazione d’errore

Vari codici:

• parità, checksum, CRC-32, …

Esempio ( parità dispari ):

0 0 1 0 1 0 0 dato0 0 1 0 1 0 0 dato

1 0 0 1 0 1 0 0 dato + bit di parità

dati osservati

1 0 0 1 0 1 0 0 nessun errore

1 1 0 1 0 1 0 0 errore (0 11 0 0 1 0 0 0 0 errore (1 0

45

Page 49: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Esercizio

I seguenti numeri sono protetti con un codice di parità dispari ed il bit di parità è il MSB.Indicare quali numeri sono affetti da errore:

• 00110010

• 11001010

• 01000001

• 11100001

• 10101000

Cosa cambierebbe se il bit di parità fosse il LSB?

Codici a correzione d’errore

• ECC = Error Correcting Code

• EDAC = Error Detection And Correction

• aggiungono ai dati dei bit (di controllo) per rivelare e correggere errori

• indispensabili quando non si possono ritrasmettere i dati (es. perché non si può informare il mittente dell’errore)

• codici FEC (Forward Error Correction)

Codici a correzione d’errore

Vari codici: Hamming, Solomon-Reed, …

Esempio (parità orizzontale e verticale, SECDED – Single Error Correction, Double Error Detection):

d ti + ità d t tdati + parità dato osservato1 0 0 0 0 1 0 0 0 00 0 0 1 0 0 0 1 1 01 0 1 0 1 1 0 1 0 11 0 0 1 1 1 0 0 1 10 1 0 1 1 0 1 0 1 1

errore!

errore!

bit errato

46

Page 50: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. III

Applicazioni di EDC / ECC

• memorizzazione di dati

– memorie RAM ECC (o EDAC)

– CRC-32 per rilevazione (HD, file ZIP)

– Solomon-Reed per correzione (HD, CD)p ( , )

• trasmissioni in rete

– CRC-32 per pacchetti Ethernet

– checksum per pacchetti IP, UDP e TCP

• trasmissioni TV digitale (SAT, DTT)

• trasmissioni spaziali

47

Page 51: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

La logica deglielaboratori elettronici

Ma quale logicadel $@#?! ...

La logica Booleana

Nel 1847 George Booleintrodusse un nuovo tipodi logica formale, basata esclusivamente su enunciatidi cui fosse possibiledi cui fosse possibileverificare in modoinequivocabilela verità o la falsità.

Variabili Booleane

Variabili in grado di assumere solo due valori:

VERO FALSO

In ogni problema è importante distinguere leIn ogni problema è importante distinguere le variabili indipendenti da quelle dipendenti.

48

Page 52: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Logica Booleana: un esempio

Se domani ci sarà il sole, allora andrò a fare una gita.

“Se domani ci sarà il sole,allora andrò a fare una gita”

Variabile indipendente:A (“domani ci sarà il sole”)

Variabile dipendente:B (“andrò a fare una gita”)B ( andrò a fare una gita )

Relazione:A B (“se A, allora B”)

L’insieme B

E’ l’insieme dei valori Booleani:

B = { V, F }

F,F F,V

V,F V,V

V

FB B2

49

Page 53: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Operatori Booleani

• operatori unari (es. Not )

op : B B

• operatori binari (es. And )

op : B2 Bop : B2 B

• descritti tramite una tavola della verità(per N operandi, la tabella ha 2N righe cheelencano tutte le possibili combinazioni divalori delle variabili indipendenti ed ilvalore assunto dalla variabile dipendente)

Tavola della verità (truth table)

falso

A

falso

B

falso

A op B

falso vero

falso

vero

vero

vero

falso

vero

falso

Espressioni Booleane

Un’espressione Booleana è una combinazione di variabili ed operatori Booleani.

Ad esempio:

A e ( non B )

50

Page 54: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Funzioni Booleane

Una funzione Booleana è un’applicazione molti-a-uno:

f : BN B

Ad esempio:Ad esempio:

f (A, B) = A e ( non B )

Operatore NOT

vero

A

falso

A

vero falso

Nota: per comodità grafica talvolta la negazione è indicata con un apice dopo la variabile o l’espressione negata (es. A’)

Operatore AND

falso

f l

A

falso

B

falso

f l

A B

falso vero

falso

vero

vero

vero

falso

falso

vero

51

Page 55: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Operatore OR

falso

f l

A

falso

B

falso

A + B

falso vero

falso

vero

vero

vero

vero

vero

vero

Operatore XOR

falso

falso

A

falso

vero

A B

falso

vero

B

falso

vero

vero

vero

vero

falso

vero

falso

vero

Proprietà commutativae associativa

A B = B A

A + B = B + A

A B C ( A B) C A (B C) (A C) BA B C = ( A B) C = A (B C) = (A C) B

A + B + C = (A + B) + C = A + (B + C) = (A + C) + B

52

Page 56: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Proprietà distributiva

A ( B + C ) = A B + A C

A + ( B C ) = ( A + B ) ( A + C )

Ordine delle operazioni

• ordine degli operatori base:

(1) NOT(2) AND(3) OR(3) OR

• l’ordine delle operazioni può essere alterato mediante l’uso di parentesi (solitamente si usano solo parentesi tonde)

Dimostrazioni in algebra Booleana

Siccome l’algebra Booleana contempla solo due valori è possibile effettuare le dimostrazioni (di proprietà o teoremi) considerando esaustivamente tutti i casi possibili:possibili:

• 2 variabili 4 combinazioni

• 3 variabili 8 combinazioni

• 4 variabili 16 combinazioni

• ecc.

53

Page 57: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Dimostrazioni: un esempio

A + ( B C ) = ( A + B ) ( A + C ) ?

A B C A + B C (A + B) (A + C)0 0 0 0 + 0 0 = 0 (0+0) (0+0) = 00 0 1 0 + 0 1 = 0 (0+0) (0+1) = 00 1 0 0 + 1 0 = 0 (0+1) (0+0) = 00 1 1 0 + 1 1 = 1 (0+1) (0+1) = 11 0 0 1 + 0 0 = 1 (1+0) (1+0) = 11 0 1 1 + 0 1 = 1 (1+0) (1+1) = 11 1 0 1 + 1 0 = 1 (1+1) (1+0) = 11 1 1 1 + 1 1 = 1 (1+1) (1+1) = 1

Teoremi base

A A’ = falso

A + A B = A

A + A’ B = A + B

A + A’ = vero

A ( A + B ) = A

A ( A’ + B ) = A B

Teorema di De Morgan

Teorema:

f ( a, b, ..., z; +, ) = f ’( a’, b’, ..., z’; , + )

ovvero (negando entrambi i membri):

f ’ ( b ) f ( ’ b’ ’ )f ’ ( a, b, ..., z; +, ) = f ( a’, b’, ..., z’; , + )

Ad esempio:

A + B = ( A’ B’ )’

( A + B )’ = A’ B’

54

Page 58: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Applicare il teorema di De Morgan

• utile in programmazione per ridurre la complessità (e quindi il tempo di calcolo) di un’espressione Booleana

• i calcolatori impiegano lo stesso tempo a gfare un test di uguaglianza o disuguaglianza

• esempio:– apertura porta con tesserino per lab in cui

gli studenti sono esclusi

– apri la porta se non è uno studente Polito o Erasmus

if not((id=s_polito) or (id=s_erasmus))

then open_door

if (not (id=s_polito))and(not (id=s erasmus))

4 operazioni

if (id <> s_polito)and(id <> s_erasmus))

then open_door

(not (id=s_erasmus))then open_door

3 operazioni

5 operazioni

Un aumento di capitale (problema)

La società Alpha effettua un aumento di capitale gratuito: verranno assegnate 100 azioni ordinarie a chi possiede almeno 1000 azioni di risparmio, oppure a chi non le possiede ma ha sottoscritto un precedentepossiede ma ha sottoscritto un precedente aumento di capitale a pagamento.

55

Page 59: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IV

Un aumento di capitale (analisi)

La società Alpha effettua un aumento di capitale gratuito: verranno assegnate 100 azioni ordinarie a chi possiede almeno 1000 azioni di risparmio, oppurea chi non le possiede ma ha sottoscritto una chi non le possiede ma ha sottoscritto un precedente aumento di capitale a pagamento.

Un aumento di capitale (variabili)

Variabili indipendenti:R (possesso di almeno 1000 azioni di

risparmio)P (sottoscrizione dell’aumento a

pagamento)pagamento)

Variabile dipendente:A (assegnazione gratuita di 100 azioni ordinarie)

Un aumento di capitale (soluzione)

Forma immediata (3 operazioni):

A = R + R’ P

Forma minima (1 operazione):Forma minima (1 operazione):

A = R + P

56

Page 60: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

Tecnologia elettronica

Il transistore

È l’elemento base degli attuali elaboratori elettronici digitali:

• piccole dimensioni ( nm )

• basso consumo di energia ( W )• basso consumo di energia ( W )

• alta velocità di funzionamento (milioni di operazioni al secondo)

Il suo comprtamento può essere interpretatoin modo binario:

• aperto o chiuso (conduce o non coduce corrente)

Il transistore MOS(Metal-Oxide Semiconductor)

Gate

Source

G=VH G=VLGate

Drain

G VH G VL

( transistore MOS a canale n , o nMOS )

57

Page 61: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

Le porte logiche

Una porta logica è un insieme di transistori che fornisce un determinato risultato quando agli ingressi sono applicate le tensioni elettriche VH e VL.

Associando a VH e VL due valori logici distinti è possibile interpretare il funzionamento dei circuiti elettronici a transistori come operatori Booleani.

Associando invece due cifre binarie distinte è possibile interpretare il funzionamento in modo aritmetico.

La porta INV / NOT

YA

Y = A’

Trivalenza di una porta logica

A Y interpretazione

VL VH circuito elettronico InverterVH VL

falso vero operatore Booleano NOTfalso vero operatore Booleano NOTvero falso

0 1 operazione binaria1 0 complemento a uno

58

Page 62: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

INV: funzionamento (ideale)

VL

VHA

VL

VHY

t

La porta AND

YA

B

Y = A B

La porta NAND

YA

B

Y = ( A B )’ = A’ + B’

59

Page 63: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

La porta OR

YA

B

Y = A + B

La porta NOR

YA

B

Y = ( A + B )’ = A’ B’

La porta XOR

YA

B

Y = A B = A B’ + A’ B

60

Page 64: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

La porta XNOR (o EQV)

YA

B

Y = ( A B )’ = A B + A’ B’

transistore

porta logica( logic gate )

10

10 100,000

circuito integrato ( chip )

piedino ( pin )

,

Piastra elettronica ( board )

connettorepista (o traccia)

61

Page 65: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

Una motherboardCPU

(con ventola)connettori perdischi interni

PATA (2x)

banchi diRAM (2x)

batteriatampone

l t PCI

mouse etastiera USB

(2x)parallela (sopra)seriali (2x, sotto)

porta joystick (sopra)jack audio (3x, sotto)

slot PCI(6x)

slotschedagrafica

Circuiti logici combinatori

Sono circuiti il cui valore delle uscite dipende esclusivamente dai valori presenti sugli ingressi ad un singolo istante di tempo.

In altre parole, il valore di uscita è una combinazione dei valori presenti in ingresso ad un determinato istante.

Circuiti combinatori ideali:

Ut = f ( Xt )

Velocità e ritardo

Circuiti combinatori reali:

Ut = f ( X t - è detto ritardo di propagazione ed è il tempo che i segnali impiegano a propagarsitempo che i segnali impiegano a propagarsi all’interno del circuito.

La velocità di funzionamento (massima) è:

v = 1 /

62

Page 66: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

Velocità e ritardo

Esempio - porta And:

• ritardo = 4 ns

• velocità = 250 milioni AND/s

Esempio sommatore:Esempio - sommatore:

• ritardo = 20 ns

• velocità = 50 milioni somme/s

Analisi di un circuito combinatorio

• per ogni possibile configurazione di valori logici sugli ingressi ...

• ... si calcola il valore delle uscite delle porte che hanno tutti gli ingressi g gspecificati ...

• ... si ripete il passo precedente fino ad arrivare alle uscite del circuito

Sommatore

AB

S (sum)

C (carry)

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10

A B

0 00 11 01 1

C

0001

S

0110

63

Page 67: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

Memoria

E’ importante non solo fare calcoli ma anchememorizzare dati (es. i risultati parziali diuna lunga sequenza di operazioni).

A questo fine si usa un elemento logicogspeciale: il flip-flop.

• elemento base dei circuiti con memoria

• memorizza un bit

• funzionamento sincrono o asincrono

Sincrono o asincrono?

Funzionamento sincrono:

• esiste un segnale di riferimento (solitamente detto clock ) che sincronizza le operazioni di tutti i circuiti

• ordine facilità di progetto

• si attende il circuito più lento!

Sincrono o asincrono?

Funzionamento asincrono:

• ogni circuito esegue il proprio lavoro in modo indipendente dagli altri ... non appena i dati sono pronti ... o anche quando solo una parte dei dati è disponibile!

• grande velocità

• disordine difficoltà di progetto

64

Page 68: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. V

Il flip-flop di tipo D sincrono

D

CKQDFF

D CK Q

0 01 1– 0,1 Q-1

Il flip-flop di tipo D

VL

VH

Q

VH

D

CKt

VL

VH

VL

VH

I registri

D3 D2 D1 D0

Un registro è un insieme di N flip-flop comandati da un unico clock.

E’ quindi in grado di memorizzare N bit.

D3 D2 D1 D0

CK

Q0Q3 Q2 Q1

65

Page 69: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Architettura di unelaboratore elettronico

Blocchi funzionali

MEM

INPOUT UO

UC

Flusso dei dati

INPOUT UO

MEM

INPOUT UO

UC

66

Page 70: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Informazioni di stato

MEM

INPOUT UO

UC

Ordini

MEM

INPOUT UO

UC

Struttura a blocchi(architettura di Von Neumann)

MEM

INPOUT UO

UC

67

Page 71: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Unità di input: schema funzionale

TADCBdato

ready control logicreadyget

Unità di input

Acquisisce informazioni trasformandole dal mondo umano a quello del computer:

• umano = diversi tipi di segnali fisici, analogici, asincroni

• computer = segnali solo elettronici, digitali, sincroni

Trasduttore

• trasforma un segnale da un dominio fisico ad un altro

• nei calcolatori, tipicamente si usano trasduttori elettro-xxx

• esempi:– elettro-ottico (cellula fotoelettrica)

– elettromeccanico (tastiera)

• nell’unità di input è spesso detto “sensore”

• nell’unità di output è spesso detto “attuatore”

68

Page 72: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Analog-Digital-Converter

• trasforma un segnale elettrico analogico

• ... in un segnale elettronico digitale

• risoluzione temporale (velocità)– campionamentop

• risoluzione di valori (n. di bit)– quantizzazione

Buffer

• elemento di memoria locale

• conserva i dati nell’attesa che vengano prelevati

• permette di continuare ad acquisire nuovi dati (equalizzazione delle velocità: il mondo “esterno” e quello “interno” operano a velocità diverse)

Unità di output: schema funzionale

TDACBdato

dcontrol logic

readyput

69

Page 73: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Unità operativa

Svolge tutte le elaborazioni richieste (aritmetiche, logiche, grafiche, ...).

E’ composta di:

• ALU

• flag

• registri

ALU (Arithmetic-Logic Unit)

• svolge tutti i calcoli (aritmetici e logici)

• solitamente composta da circuiti combinatori

Flag

• indicatori di stato del risultato dell’operazione della ALU

• sono singoli bit (0=falso, 1=vero)

• solitamente raggruppati in un registro

• flag più comuni:Z (zero) V (overflow)CY (carry) N (negative)

70

Page 74: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Registri

• elementi di memoria locale usati per conservare temporaneamente dei dati(es. risultati parziali).

• pochi (8...128)

• dimensione di una word (8...64 bit)

Unità operativa: schema funzionale

operandi

dati

registrioperandi

operazione

destinazione

flag

risultato

ALU F

CPU e FPU

Central Processing Unit (CPU):

• CPU = UO + UC

• microprocessore (P) = CPU + “frattaglie”

Floating Point Unit (FPU):

• UO dedicata ai numeri reali

• alias “coprocessore matematico”

71

Page 75: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Memoria

Memorizza i dati e le istruzioni necessarie all’elaboratore per operare.

Caratteristiche:

• indirizzamento

• parallelismo

• accesso (sequenziale o casuale)

Indirizzamento

La memoria è organizzata in celle (mimima unità accessibile direttamente). Ad ogni cella di memoria è associato un indirizzo (numerico) per identificarla univocamente.

1

2

3

5

6

7

8

9

Parallelismo

Ogni cella di memoria contiene una quantità fissa di bit:

• identica per tutte le celle (di una certa unità di memoria)

• accessibile con un’unica istruzione

• è un multiplo del byte

• minimo un byte (tipicamente una word per la memoria principale a supporto dell'UO)

72

Page 76: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Memoria interna

• all’interno dell’elaboratore

• è allo stato solido (chip)

• solitamente è volatile

• veloce (nanosecondi, 10-9s)veloce (nanosecondi, 10 s)

• quantità limitata (qualche GB)

• non rimovibile

• costosa (0.1 € / MB)

Memoria esterna

• all’esterno dell’elaboratore

• talvolta rimovibile

• non elettronica (es. magnetica)

• permanentepermanente

• lenta (millisecondi, 10-3 s)

• grande quantità (qualche TB)

• economica (0.1 € / GB)

Memoria RAM(Random Access Memory)

• circuiti integrati

• il tempo di accesso è costante (indipendente dalla cella scelta)

Ta = costantea

• ormai sinonimo di memoria interna volatile casuale a lettura e scrittura

73

Page 77: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Memoria ROM (Read-Only Memory)

E’ un concetto (memorie a sola lettura ) … ma anche una classe di dispositivi allo stato solido (memorie a prevalente lettura = molto più veloce o facile della scrittura).

ROM

• dati scritti in fabbrica

PROM (Programmable ROM)

• dati scritti dall’utente tramite un apparecchio speciale (programmatore)

EPROM (Erasable PROM)

• PROM cancellabile tramite UV

EAROM (Electrically Alterable ROM)

• PROM cancellabile tramite circuito elettronico speciale

EEPROM, E2PROM (Electrically Erasable PROM)

• scrivibile/cancellabile mediante specifiche istruzioni mentre è installata sul sistema

Flash memory

• EEPROM veloce nella cancellazione (un blocco/tutta invece di un byte alla volta)

Memoria: schema funzionale

MEMindirizzo

readyMEMread/write'

dato

ready

74

Page 78: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

La memoria cache (caricamento)

Cella 24! 0

1

2

24 : C

25 : I

26 : A24

25

. . .

C

ICR1

registricache RAM

2

3

26 : A

27 : O

… : … 4

… : …

25

26

I

A

O 27

. . .

R2

R3

R4

La memoria cache (uso)

Cella 25! 0

1

2

24 : C

25 : I

26 : A24

25

. . .

C

ICR1

registricache RAM

2

3

26 : A

27 : O

… : … 4

… : …

25

26

I

A

O 27

. . .

IR2

R3

R4

Caratteristiche della cache

• copia in un colpo solo un intero blocco di memoria dalla RAM

• ha un tempo di accesso più vicino a quello dei registri che a quello della RAM (tipicamente è i t ll CPU)interna alla CPU)

• è indirizzabile in base al contenuto(CAM, Content Addressable Memory):

– ad esempio: “voglio la cella 25!”

– altrimenti non potrebbe funzionare perché il programma non sa in quale cella della cache si trovi il dato desiderato

75

Page 79: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Prestazioni della cache

Tempo medio di accesso in memoria:

TM = H · Tcache + ( 1 - H ) · TRAM

ove H = hit ratio (percentuale di celle trovatenella cache rispetto al totale degli accessi in memoria)

H 90% TM Tcache

Prestazioni della cache – esempio

Ipotesi:

• Tcache = 20 ns

• TRAM = 80 ns

Caso 1:Caso 1:

• H = 60%

• TM = 0.6 · 20 + 0.4 · 80 = 44 ns

Caso 2:

• H = 95%

• TM = 0.95 · 20 + 0.05 · 80 = 23 ns

Livelli di cache

• nelle CPU ad alta velocità, la differenza di velocità tra RAM e registri è molto elevata e quindi si spezza la cache in vari livelli: L1, L2, talvolta anche L3

ti i t l L1 h è hi i• tipicamente almeno L1 cache è on-chip, ossia integrata sul medesimo chip della CPU

• cache dedicata ai dati (d-cache)

• cache dedicata alle istruzioni (i-cache)

76

Page 80: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

La cache dei dischi

Essendo i dischi abissalmente lenti rispetto alla memoria centrale, è possibile usare quest’ultima come cache per gli ultimi dati letti:

• disk cache

• read-ahead

Sempre più spesso la disk cache è integrata all’interno del controller del disco.

Gerarchia di memoria

registri

cache

RAMvelocità capacità

(cache del disco)

disco

Unità di controllo

E’ il cuore dell’elaboratore:

• in base al programma fornitole ...

• ed allo stato di tutte le unità ...

• decide l’operazione da eseguire ...decide l operazione da eseguire ...

• ed emette gli ordini relativi

77

Page 81: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

I programmi

Un programma è una specifica univoca di una serie di operazioni che l’elaboratore deve svolgere:

• costituito da una sequenza di istruzioni

• specificato in codice macchina

• per essere eseguito, deve essere presente nella memoria interna

Le istruzioni

Ogni istruzione specifica un’operazione elementare che l’elaboratore deve svolgere:

• funzione (es. ADD, MOV )

• operandi (es. R1, M[126] )

• destinazione del risultato (stessa sintassi degli operandi)

Il codice macchina

E’ un particolare codice binario usato per specificare le istruzioni all’elaboratore:

• diverso per ogni elaboratore (perché ogni elaboratore ha un’organizzazione di MEM e UO di )UO diversa)

• formato fisso (= semplice ma scarsa efficienza)

• formato variabile (= efficiente ma complesso)

78

Page 82: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Un esempio di codice macchina

dati in memoria interpretazione

1010 0000 00000101 R0 perif(5)

1010 0001 00000101 R1 perif(5)

0001 0010 0000 0001 R2 R0 + R10001 0010 0000 0001 R2 R0 R1

1011 0010 00000110 perif(6) R2

1111 000000000000 Stop

operazioni(0001 = Add, 1010 = Input, 1011 = Output, 1111 = Stop)

operandi (id registri o periferici)

Unità di controllo: schema funzionale

PC

IR

M

logica dicontrollo

stato

comandi

Componenti dell’UC

• PC (Program Counter)registro che indica sempre l’indirizzo della cella di memoria che contiene la prossimaistruzione da eseguire

• IR (Instruction Register)registro che memorizza temporaneamentel’operazione corrente da eseguire

• logica di controllointerpreta il codice macchina in IR per decidere ed emette gli ordini che le varie unità devono eseguire

79

Page 83: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Esecuzione di un’istruzione

Tre fasi distinte:

• fetch IR M [ PC ]PC PC + 1

• decode ordini decode(IR)

• execute ready? go!

Inizializzazione

Cosa succede all’accensione di un calcolatore?

• nel PC viene forzato l’indirizzo della cella di memoria ove inizia il primo programma da eseguire (programma di bootstrap)

• questo programma iniziale risiede in ROM

Il clock

Ogni elaboratore contiene un elemento di temporizzazione (detto clock ) che genera un riferimento temporale comune per tutti gli elementi costituenti il sistema di elaborazione.

80

Page 84: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Il clock

t

• T = periodo di clock– unità di misura = s

• f = frequenza di clock ( = 1 / T )– unità di misura = s–1 = Hz (cicli/s)

T

Tempistica delle istruzioni

• un ciclo-macchina è l’intervallo di tempo in cui viene svolta una operazione elementare ed è un multiplo intero del periodo del clock

• l’esecuzione di un’istruzione richiede un i t di i li hi i bilnumero intero di cicli macchina, variabile a

seconda del tipo di istruzione

Velocità di elaborazione

Valutazione molto difficile perché dipende pesantemente da:

• programma eseguito

• dati

• architettura dell’elaboratore (istruzioni macchina, cache, ...)

81

Page 85: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

MIPS( Million Instructions Per Second )

f = frequenza di clock [ Hz = cicli/s ]

T = periodo di clock = 1 / f [ s ]

C = cicli macchina / istruzioneC = cicli macchina / istruzione

IPS = f / C = 1 / ( T C )

MIPS = IPS / 106

50 MIPS !?

quali istruzioni?

quale valore di C (min, max, med)?

quali dati (dentro/fuori cache)?

S

MFLOPS ( Million FLoating-point Operations Per Second )

• velocità di elaborazione per problemi di tipo scientifico

• dubbi analoghi a quelli per i MIPS

82

Page 86: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Valutazione di unsistema di elaborazione

Altri criteri in dipendenza dal tipo di applicazione:

• velocità di I/O

• numero di utenti

• numero di transazioni (TPS)

Struttura a bus

Problema: collegamento completo tra N unitàrichiede N (N-1) / 2 collegamenti

Esempi: 4U:6C, 10U:45C, 20U:190C

C

A B

D

Struttura a bus

Soluzione:segnali omologhi raggruppati in un bus, usato a turno dalle varie unità

A CB D

83

Page 87: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Caratteristiche di un bus

• trasporto di un solo dato per volta

• frequenza = n. di dati trasportati al secondo

• ampiezza = n. di bit di cui è costituito un singolo dato

• se mal dimensionato, potrebbe essere un collo di bottiglia

Tipi fondamentali di bus

• bus dati ( DBus )

• bus degli indirizzi ( ABus )

• bus di controllo ( CBus )

M1 IM2 O

Vecchie CPU Intel per PC

No

No

No

CPU

8088

8086

80286

DBus

8 bit

16 bit

16 bit

No

No

No

CacheABus FPU

20 bit

20 bit

24 bit No

No

8 KB

8+8KB

8+8/256

80286

80386

80486

Pentium

P-PRO

16 bit

32 bit

32 bit

64 bit

64 bit

No

No

24 bit

32 bit

32 bit

32 bit

32 bit

84

Page 88: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Massima memoria interna(fisicamente presente)

• la dimensione dell’Abus determina il max numero di celle di memoria indirizzabili

• la dimensione del Dbus “suggerisce” la dimensione di una cella di memoria (ma sono(possibili anche celle di maggior dimensione cherichiedono due o più trasferimenti sul Dbus)

• max mem = 2|Abus| |Dbus| bit

• esempio (Abus da 20 bit, Dbus da 16 bit):max mem = 220 x 2 byte = 2 MB

ossia 1 M celle di memoria, ognuna da 2 byte

Massima memoria esterna

• la memoria esterna (es. dischi) non dipende dall’Abus perché viene vista come un periferico (di input e/o di output)

• la massima quantità di memoria esterna di d d l b di I/O ( ll idipende dal bus di I/O (quello su cui sono collegati i periferici)

CPU multi-core

Aumentare le prestazioni aumentando la frequenzadi clock è difficile (interferenze EM, dissipazione dicalore, velocità dei componenti):

MIPS f ma anche Potenza (e Temperatura) f

quindi:

f0 2 f0 I0 2 I0 ma T0 2 T0

Più facile aumentare il numero di operazioni svoltesimultaneamente (CPU multi-core):

1 core( f0 ) = ( I0 , T0 ) 2 core( f0 ) = ( 2I0 , T0 )

85

Page 89: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VI

Esempio: CPU dual-core

CPU coreL1 cache

CPU coreL1 cache

Nota: un singolo processo non può usufruire di più di un core (a meno che il programma, la CPU ed il Sistema Operativo siano multi-thread).

L2 cacheinterfaccia bus

Architettura di un PC tradizionale

CPU + cache

northbridgeschedagrafica

PCIe x 16

( AGP )

FSB

RAM

( custom )

southbridge

super I/O

keyb

N slotPCI / PCI-X

dischiPATA dischi

SATAporteUSB

N slot PCIe x 1( custom )

audio

mouse

parallela

seriale

FDD

LPC

BIOS

graficaon-board

int.NIC

Nomenclatura

• FSB = Front Side Bus– una volta esisteva anche il Back Side Bus per

collegare la CPU alla cache

• LPC = Low Pin Count bus– ha sostituito il bus ISA per periferici lenti

• northbridge + southbridge = chipset– northbridge = MCH (Memory Controller Hub)

– southbridge = ICH (I/O Controller Hub)

86

Page 90: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Dispositivi di memoria di massa

Categorie di dispositivi

dischi

nastri

Valutazione della prestazioni

• capacità:– massima quantità di dati memorizzabile

• tempo di accesso (seek time):( )– tempo per il posizionamento dell’elemento di

lettura/scrittura su un blocco di dati

• velocità di trasferimento (throughput):– massima quantità di dati trasferibile nell’unità

di tempo

87

Page 91: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

I dischi

• accesso casuale

• tempo di accesso: O (10 ms)

• magnetici, ottici, magneto-ottici

• dischi fissi o rimovibilidischi fissi o rimovibili

Organizzazione dei dischi

traccia(cilindro)

gapsettore

Dischi magnetici - tecnologia

• supporto rigido ricoperto di materiale ferromagnetico

• testina di lettura/registrazione (elettrocalamita)

• la testina sfiora il disco a circa 1m

88

Page 92: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Dischi magnetici - tecnologia

piatto testina

braccio

Hard disk

Dischi rigidi (HD, “Winchester”):

• capacità: 10 GB ... 2 TB

• tempo di accesso: O(10 ms)

• velocità di trasferimento: O(10 MB/s)velocità di trasferimento: O(10 MB/s)

• fissi, racchiusi in un contenitore in cui è fatto il vuoto

• velocità di rotazione:– 10-15,000 RPM (dischi veloci, per server)

– 5-10,000 RPM (per PC e WS)

– 3-5,000 RPM (per computer portatili)

Dischi RAID

Invece di costruire dischi che non si guastano (che costerebbero cari) si usano dischi di qualità inferiore con meccanismi di correzione degli errori misti HW/SW:

R RedundantR RedundantA Array ofI Independent (Inexpensive)D Disks

89

Page 93: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Livelli RAID

RAID-0 disk stripingvelocità ma nessuna protezione

RAID-1 disk mirroringprotezione al costo del 50%

RAID 3 disk byte stripingRAID-3 disk byte-stripingun disco dedicato a ECC

RAID-4 disk block-stripingun disco dedicato a ECC

RAID-5 disk block-stripingECC distribuito su tutti i dischi

RAID-6 disk block-stripingdoppio ECC distribuito su tutti i dischi

SSD (Solid State Disk)

• disco composto da chip di memoria– SLC (Single-Level Cell)

1 bit/cella, veloce ma bassa densità

– MLC (Multi-Level Cell)2 bit/cella lento ma alta densità2 bit/cella, lento ma alta densità

• lettura veloce, scrittura lenta

• tempo seek costante e molto basso O(0.1 ms)

• velocità di trasferimento: O(100 MB/s)

SSD: vantaggi e svantaggi

• peso simile a HDD (contenitore)

• risparmio energetico limitato (chip sempre alimentati)

• silenziosi e robusti

• bassa temperatura (no parti in movimento)

• costo elevato

• max 10,000-100,000 scritture

• grossa variabilità sulla durata della memorizzazione

90

Page 94: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

CD (Compact Disc)

• dischi ottici, a sola/prevalente lettura

• singola faccia, rimovibili

• capacità: 650-700 MB dati (74-80’ audio)

• lenti: tempo di accesso 300 mslenti: tempo di accesso 300 ms

• uso: distribuzione di software o dati

• tipologie:– CD-ROM (dati registrati in produzione)

– CD-R (dati registrabili da utente)

– CD-RW (dati registrabili e cancellabili da utente, ma con perdita di capacità)

Tecnologia dei CD ottici

CDLANDPIT

Velocità dei drive per CD-ROM

Velocità di trasferimento:

• base = 150 KB/s

• oggi 2x, 3x, 4x, 8x, 16x, ..., 52x

Quando sono indicate tre velocità esse sonoQuando sono indicate tre velocità esse sono nell’ordine:

• write-once / rewrite / read

• es. 12x / 10x / 32x (= 1.8 / 1.5 / 4.8 MB/s)

Tempo di accesso:

• O ( 100 ms )

91

Page 95: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

DVD (Digital Versatile Disc)

• anche Digital Video Disc perché molto usati per i filmati (in formato MPEG-2)

• dischi con diametro 12 cm (8 cm = miniDVD)

• single side (SS) o double side (DS)g ( ) ( )

• single layer (SL) o double layer (DL)

• 2 GB = 1 ora di video ad alta qualità, con 3 colonne sonore differenti (durata ancora maggiore se video con qualità VHS)

• velocità 1x = 1.32 MB/s

Formati DVD (12 cm)

• DVD-5 (12cm, SS/SL) = 4.7 GB

• DVD-9 (12cm, SS/DL) = 8.5 GB

• DVD-10 (12cm, DS/SL) = 9.4 GB

• DVD-18 (12cm DS/DL) = 17 0 GBDVD 18 (12cm, DS/DL) 17.0 GB

• DVD-R (12cm, SS/SL) = 4.7 GB

• DVD-R (12cm, DS/SL) = 8.5 GB

• DVD-RAM (12cm, SS/SL) = 2.40 GB

• DVD-RAM (12cm, DS/SL) = 4.80 GB

Formati in competizione

DVD Forum (www.dvdforum.org)

• formati DVD-

DVD+RW Alliance (www.dvdrw.com)

• Dell HP Verbatim Philips Ricoh SonyDell, HP, Verbatim, Philips, Ricoh, Sony, Thomson, Yamaha

• formati: DVD+

• maggiore compatibilità coi lettori esistenti

Oggi la maggior parte dei driver sono DVD+/–.

92

Page 96: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Blue-ray DVD (BD)

• nuovo formato DVD (incompatibile col precedente)

• usa laser blu-violetto (=405 nm) invece che rosso (=650 nm)

• 25 / 50 GB (single / double layer)

• richiesto per memorizzare un film in HD

• http://www.bluraydisc.com

Memorie SD

• Secure Digital (www.sdcard.org)

• alta capacità (4 GB, in crescita)

• no parti mobili (basso consumo energia)

• dimensioni ridotte (24x32 mmdimensioni ridotte (24x32 mm,o miniSD 20x21.5 mm)

• veloce (100 Mbps 4-bit mode,25 Mbps 1-bit SPI mode)

• dispositivo attivo (protezionedel copyright - Secure DigitalMusic Initiative, SDMI)

Inizializzazione dei dischi

formattazione fisica(settori, tracce, ...)

formattazione logica(cluster, area di sistema,

MFT, direttori, ...)

93

Page 97: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Il file system

• organizzazione logica dei dati sulla memoria di massa

• tipi di file (formato fisso, variabile, binario/stream, con indice, ...)

• organizzazione a direttori, folder, cartelle

• nomi e protezioni dei file

• dipende dal Sistema Operativo!

• FAT-16, FAT-32, NTFS, UFS, EXT3, …

Identificazione dei file

Per trovare un file su una memoria di massa bisogna identificarlo tramite il suo “pathname”.

Esempio (Windows):

C:\utenti\marco\lez5.ppt

discosequenza di cartelle

da attraversarenome

estensione

Allocazione file su disco• file registrati in cluster

• 1 cluster = 2N settori

• dimensione su disco >= quantità dati

• se dim. file >= dim. cluster, allora si lt i l toccupano altri cluster

S1 S2 S3 S4 S5 S6 S7 S8 S9 S10

C1 C2 C3 C4 C5

a.txt (1) b.txt free a.txt (2) free

settori

cluster

file

0101 0011 11..dati

94

Page 98: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Settori e cluster (NTFS)

> fsutil fsinfo ntfsinfo C:NTFS Volume Serial Number : 0x76bdf8890fb5e386Version : 3.1

50.334.416 settori da 512 B ciascuno( dim disco ~ 25 GB )

Number Sectors : 0x0000000003000ad0Total Clusters : 0x000000000060015aFree Clusters : 0x00000000000c073fTotal Reserved : 0x0000000000000000Bytes Per Sector : 512Bytes Per Cluster : 4096. . .

8 settori per cluster = 4 kB( occupazione minima su disco )

Dimensione logica e fisicaCiao mamma,guarda come mi diverto!

dimensione logica = 36 B

dimensione fisica = 4 KB

Frammentazione

• frammentazione se cluster non contigui

• alta frammentazione comporta alti tempi di lettura/scrittura

• programmi di deframmentazioneg

• percentuale di frammentazione:F = (n.frammenti – 1) / n.cluster

• es. file con 3 cluster in 2 frammentiF = (2 – 1) / 3 = 33%

ossia in media un accesso su tre richiede seek

95

Page 99: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Esercizio

Un HD contiene un file da 1 GB, memorizzato su cluster contigui, senza frammentazione. Sapendo che il disco ha tempo di accesso di 20 ms e velocità di trasferimento di 32 MB/s, si determini il tempo necessario a leggere l'interodetermini il tempo necessario a leggere l intero file.

Soluzione:

• T = 20 ms + 1 GB / 32 MB/s= 20 ms + 32 s= 32.02 s

Esercizio

Un HD contiene un file da 1 GB, completamente frammentato. Sapendo che il disco ha cluster da 512 byte, tempo di accesso di 20 ms e velocità di trasferimento di 32 MB/s, si determini il tempo necessario a leggere l'interodetermini il tempo necessario a leggere l intero file.

Soluzione:

• T = 20 ms x 220 KB / 0.5 KB+ 1 GB / 32 MB/s

= 10485.76 s + 32 s= 10517.76 s ~ 2.9 ore

Frammentazione e file-system

• la frammentazione è un problema soprattutto nei file-system pensati per S.O. mono-utente mono-task:– es. molto grave in FAT-16 e FAT-32

i NTFS– es. grave in NTFS

• frammentazione non importante per file-system di S.O. multi-utente multi-task (perché usano algoritmi di ordinamento delle richieste):– es. irrilevante in UFS, EXT-2, EXT-3

96

Page 100: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VII

Dischi logici e dischi fisici (I)

• un singolo disco fisico può essere visto dal file system come più dischi logici (o partizioni)

• operazione di partizionamento

• esempio: se su un PC è presente un unico disco fisico, è buona prassi suddividerlo in due dischi logici– uno per il S.O. ed i programmi applicativi

– uno per i dati degli utenti

Windows XP – dischi logici e fisici

Impostazioni > Pannello di controllo > Amministrazione > Gestione del computer

Dischi logici e dischi fisici (II)

• più dischi fisici possono essere visti come un unico disco logico

• operazione svolta:– in hardware (es. controllore di tipo JBOD, Just

B h Of Di k i il id ti da Buch Of Disks, simile ma non identico ad un controllore RAID-0)

– in software, tipicamente dal S.O.(es. Linux, Windows)

97

Page 101: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VIII

Dispositivi di visualizzazione

Schema funzionale di una VDU( Video Display Unit )

memoria video(video memory) processore grafico

(grahic processing unit)

VRAM

GPU

scheda grafica(graphics board/adapter)

schermo(screen)

Parametri di confronto

• capacità grafiche

– solo caratteri o controllo del singolo pixel (minimo elemento grafico)

• risoluzione

– righe x colonne e “dot pitch”

• colori (simultanei)

– K colori richiedono log2 K bit/px

• dimensione dello schermo

– diagonale (in pollici, 1”=25.4 mm)

98

Page 102: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VIII

La memoria video

Domanda: quanta memoria video occorre per visualizzare un’immagine 640 480 a 256 colori?

Soluzione:640 480 = 307 200 pixel640 480 = 307,200 pixel307,200 : 1024 = 300 Kpixellog2 256 = 8 bit/pixel = 1 byte/pixel

Risposta:300 Kbyte

Collegamento scheda grafica – CPU

Discrete / dedicated graphics:

• scheda grafica con GPU e VRAM

Integrated / shared / on-board graphics:

• GPU integrata sulla scheda madre• GPU integrata sulla scheda madre

• VRAM = parte della RAM di sistema

Hybrid graphics:

• GPU + una piccola memoria VRAM

• accesso a parte della RAM di sistema

• ATI HyperMemory, NVIDIA TurboCache

Connettori scheda grafica - monitor

connettore D-SUB (anche detto VGA)15 pin, solo segnale analogico

connettore DVI-D (Digital Video Interface)24 pin, solo segnale digitale

connettore DVI-I29 pin = 24 pin segnale digitale (DVI-D) + 5 pin

segnale analogicoanalogico / digitale mutuamente esclusivo

99

Page 103: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VIII

Dispositivi di stampa

Parametri di valutazione

• velocità di stampa

• capacità grafiche

• risoluzione

• formato della carta• formato della carta

• caratteri di stampa (font, punti, formati)

• colori

Velocità di stampa

Unità di misura:

• per stampanti “a caratteri”

– CPS ( Characters Per Second )

• per stampanti “di linea”• per stampanti di linea

– LPS ( Lines Per Second )

– LPM ( Lines Per Minute )

• per stampanti grafiche (o “di pagina”)

– PPM ( Pages Per Minute )

100

Page 104: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VIII

Risoluzione di stampa

• solitamente specificata solo per stampanti con capacità grafiche

• si misura in DPI (Dots Per Inch)

• si ricordi 1 inch = 2.54 cm

• maggiore è la risoluzione e più fini saranno i dettagli stampabili (ossia “punti” più piccoli)

• per stampanti solo alfanumeriche si può misurare in CPI (Characters Per Inch)

Dispositivi di input

Categorie di dispositivi

Input a caratteri:

• tastiera

Puntatore ( point-and-click ):

• mouse video sensibile tavoletta grafica• mouse, video sensibile, tavoletta grafica

Scansione di immagine:

• scanner

Lettura di dati pre-registrati:

• lettori ottici, magnetici e radio

101

Page 105: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VIII

La tastiera ( keyboard )

• caratteri alfanumerici

• tasti funzione e caratteri di controllo

• numero e disposizione dei tasti( layout ) variabili( y )

• modelli ruggerized per ambienti industriali o “ostili” (es. deserto, paludi)

Lo scanner

• dispositivo di acquisizione immagini (pixmap)

• risoluzione (DPI)

• formato (A3, A4)( , )

• bianco/nero, toni di grigio, colori

+ grande precisione

– necessita di appositi programmi per riconoscimento di testo (OCR, Optical Character Recognition)

Scanner - funzionamento

Ciao!

102

Page 106: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. VIII

Scanner - memoria richiesta

Quanta memoria occupa un’immagine5” 3” acquisita tramite uno scanner a 300 DPI, 256 toni di grigio?

300 DPI 5” 1500 D300 DPI 5” = 1500 D300 DPI 3” = 900 D1500 900 = 1,350,000 pixel256 toni 8 bit/pixel = 1 byte/pixel1,350,000 byte 1.3 MB

Carte elettroniche

Carte passive:

• solo memorizzazione di dati

• banda magnetica o chip di memoria

Carte attive ( smart card ):

• carte a chip (= microprocessore + memoria)

Identificazione radio

• tag RFID (Radio Frequency Identifier)

• esempi:

– gestione spesa supermercato

inventario automatico di un magazzino– inventario automatico di un magazzino

• servizi location-based (tel. cellulare):

– tracciamento persone

– offerte speciali per chi si trova in una certa area

103

Page 107: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IX

Il software

0 1 01

1

0

0

The Tao of Programming, Book 8th (8.1)Thus spake the master programmer:

"Without the wind, the grass does not move.Without software, hardware is useless."

Definizioni

Softwarel’insieme di dati e programmi che permettono ad un elaboratore di svolgere le sue funzioni

Firmwaref i l il f i diun software essenziale per il funzionamento di

uno strumento ed indissolubilmente legato ad esso; solitamente memorizzato in ROM

Classificazione del software

software applicativo

hardware

software di base

middleware

104

Page 108: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IX

Linguaggi di programmazione

Servono a tradurre gli algoritmi in istruzioni per l’elaboratore.

Ne esistono varie categorie:

• linguaggi macchinag gg

• linguaggi assembler

• linguaggi ad alto livello

Linguaggio macchina

• codifica binaria delle istruzioni

• molto efficiente

• dipende dalla CPU (registri, operazioni, ...)

• dipende dall’architettura del calcolatore• dipende dall architettura del calcolatore (quantità di memoria, modalità di I/O, ...)

Linguaggio assembler

• codifica simbolica delle istruzioniADD R1, R2, M[R4] ; R1= R2+ M [ R4 ]

• meta-istruzioniTOT: DB 0 ; crea ed azzera TOT

• linguaggio unico per architettura di CPU (es. Dec AXP, Intel 80x86)

105

Page 109: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IX

Linguaggi ad alto livello(HLL - High Level Language)

• elaboratore virtuale

• istruzioni orientate alla soluzione di problemiA = SINH (5.57*C)( )

• linguaggio indipendente dalla piattaforma HW ( traduttori!)

• esempi:– Basic, C, C++, Java, Pascal

– Fortran (scientifico)

– Cobol (gestionale)

Traduzione dei linguaggi (compilati)

editor

compilatore

filesorgentealgoritmo a=2*x

0111

p

linker

fileoggetto

fileeseguibilelibreria

010001

01001011

Esecuzione di un programma

fileeseguibile

loaderRAM

01001011

0A2F

loader

PC

106

Page 110: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IX

10 for I=1 to 520 print I, I*I30 next IRUN

filesorgente

Traduzione dei linguaggi (interpretati)

RAM

interprete

Alcuni interpreti

• interprete di un linguaggio di programmazione (Basic, Java, …)

• interprete dei comandi di un sistema operativo (command.com in MS-DOS,

dcmd.exe in Win32, le shell UNIX, ...)

• i fogli elettronici (Lotus 1-2-3, Excel, QuattroPro, ...)

Interprete o compilatore?

Interprete:

• controlla e traduce le istruzioni ad ogni esecuzione del programma

i d li i d b+ correzione degli errori e debug veloce

– caricamento ed esecuzione lenta

– codice sorgente leggibile

107

Page 111: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IX

Interprete o compilatore?

Compilatore (+ linker + loader):

• controlla e traduce le istruzioni una sola volta

+ caricamento ed esecuzione veloce

+ codice sorgente non leggibile

– correzione degli errori e debug lenti

Sistemi integrati di programmazione

• IDE (Integrated Development Environment)

• uniscono editor, compilatore, linker e debugger

• hanno rimpiazzato gli interpretip g p

• commerciali: Borland (es. TurboC, C++Builder, Delphi), Microsoft (es.VisualC, VisualBasic), …

• open-source: Quincy, CodeBlocks, Eclipse, …

Librerie statiche

Il codice delle funzioni di libreria necessarie viene inserito nel file eseguibile:

file eseguibile

file oggetto

libreria

linker

g

cod. libreria

cod. oggetto

108

Page 112: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IX

Librerie statiche

RAM

prog n.3prog n.2prog n.1

libreria(statica)

libreria(statica)

libreria(statica)

Librerie dinamiche (o condivise)

• anche note come DLL (Dynamic Link Library) oppure shared library

• il codice delle funzioni di libreria necessarie NON viene inserito nel file eseguibile ma

i if iviene solo messo un riferimento

• maggior lavoro per il loader che deve:– copiare l'eseguibile in RAM

– caricare in RAM anche la libreria (se assente)

– modificare l'eseguibile inserendo i riferimenti alla libreria in RAM

Librerie dinamiche

prog n.1 prog n.2 prog n.3

RAM

libreria(shared)

109

Page 113: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. IX

Librerie statiche o dinamiche?

Vantaggio delle librerie dinamiche:

• ridotta dimensione dell’eseguibile(=spazio su disco, velocità di caricamento, occupazione di RAM)

Vantaggio delle librerie statiche:

• autoconsistenza (=portabilità)

Portabilità del software

Per portabilità si intende la capacità di un modulo software di essere eseguito su piattaforme (hw/sw) diverse da quella su cui è stato sviluppato:

i i ?• codice macchina?

• struttura del file eseguibile?

• interazione col S.O.?

In generale la portabilità del software è molto scarsa ed è stata parzialmente raggiunta solo in alcuni ambiti (es. PC Intel con Windows).

110

Page 114: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. X

Il sistema operativo

Il sistema operativo

Funzionalità svolte:

• gestione delle risorse del sistema di elaborazione

• interfaccia uomo macchina• interfaccia uomo-macchina(HMI = Human-Machine Interface)(HCI = Human-Computer Interface)

Abbreviazioni:

• S.O. (Sistema Operativo)

• O.S. (Operating System)

S.O. - caratteristiche

• gestione della CPU (processi e thread)

• gestione della memoria RAM

• gestione della memoria di massa(file system)(file system)

• gestione dei periferici

• interfaccia utente

111

Page 115: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. X

Programmi, processi e thread

Programma (o applicazione):

• codice eseguibile (presente in un file su disco), es. PES2010.exe

Processo (o task):Processo (o task):

• programma in esecuzione (codice eseguibile in RAM + controllo della CPU)

Thread:

• unità logica di esecuzione (solo se il programma è stato scritto multi-thread)

Sistemi multitaskCol termine multitask si indica la capacità di un S.O. di eseguire più programmi “simultaneamente” (in apparenza …).

Se questa capacità manca, si parla di sistema monotask.

Usa la tecnica del time-sharing per dividere il tempo di uso della CPU tra i vari processi.

Suddivisione del lavoro a livello di processo o di thread: sistemi multithreading(combinazione di capacità hw della CPU e di capacità sw del S.O.)

Time-sharing: schema

Ipotesi: 1 MIPS, 4 utenti, 0.25 s/utente

Conseguenze:

• 0.25 MIPS/utente

T 4 T 0 00”• TELA = 4 TCPU

C B

AD

0.00”

0.25”0.75”

0.50”

112

Page 116: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. X

Time-sharing: diagramma temporale

C

tA

B

La memoria virtuale

• la dimensione dell’A-BUS limita superiormente la quantità di memoria indirizzabile direttamente ...

• ... ma non è detto che questa sia tutta qfisicamente presente !

• esempio: Intel Core i7 ha ABUS da 64 bit, ossia circa 16000 TB teorici, ma solitamente solo qualche GB di memoria fisica

M[20] 32. . .47

mem. virtuale

16. . .31

0. . .15

( 0...15 )( 32...47 )

disco

mem. reale

programma. . .

A = M[20];. . .

M[4]

47

RAM

0. . .15

( 32...47 )

RAM[4]

113

Page 117: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. X

Lo swap

• i dati dei programmi non in esecuzione (ed anche i dati non immediatamente utili dei programmi in esecuzione) possono essere tolti dalla memoria centrale e parcheggiati

di ll’ disu disco nell’area di swap

• dimensionamento:– (per desktop) swap : RAM = 3 : 1 (max)

– (per server) swap : RAM = 1 : 1 (max)

Multitask e swap

A

B

A.pag1

B.pag9

. . .

B.pag1

RAM

A.pag2

B.pag9

A.pag3

A.pag3

A.pag2

Protezione della memoria

Il S.O. deve garantire che la memoria usata da un processo non possa essere letta o modificata da un altro processo.

Nei S.O. meno evoluti (MS-DOS, MS-( ,Windows) questo non capita:

• crash del sistema

• virus

114

Page 118: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. X

Lo scheduling (pianificazione)

• componente dei S.O. multitasking

• politica di sequenzializzazione dei processi

• classi + priorità (fissa o variabile)• classi + priorità (fissa o variabile)

• gestita dal pianificatore ( scheduler )

Scheduling

running

top

ready

attivazione

tempo scaduto

attesa (es. I/O)

evento

terminewait

115

Page 119: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

Collegamento di dispositivi periferici

??

?

?

Collegamento di principio

elaboratore

interfaccia(controller) interfaccia

periferico

canale di comunicazione

Nota: il periferico può avere più interfacce(es. USB e Firewire).

Comunicazione tra apparecchiature elettroniche

canaleT

(trasmettitore)R

(ricevitore)

velocità ditrasmissione

velocità diricezione

capacità delcanale

bit/s (BPS, Bit Per Second)

116

Page 120: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

Comunicazione seriale

Dati trasmessi uno per volta in sequenza ordinata:

0 0 1 0 1 1 0 1t

+ collegamento semplice

– comunicazione lenta

Comunicazione parallela

Più dati trasmessi simultaneamente:

0100

0000

1101

1010

1110

1110

0110

1010

+ comunicazione veloce

– collegamento complesso

– possibile interferenza tra i dati

0 0 1 0 0 0 0 0t

Comunicazione sincrona

I due apparati possiedono uno stesso riferimento temporale con cui delimitano la durata dei dati:

+ comunicazione veloce

– sincronizzazione dei riferimenti

T R

117

Page 121: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

Comunicazione asincronaI due apparati sincronizzano lo scambio dei dati mediante speciali segnali detti segnali di controllo (1/2 start bit, 0/1 stop bit):

0 1 1 0 1 0 0 1

+ nessun riferimento temporale comune

– comunicazione lenta

T R0 1 1 0 1 0 0 1

Comunicazione unidirezionale (half-duplex)

Ad ogni istante di tempo i dati viaggiano in una sola direzione:

T Rt0

+ collegamento semplice

– comunicazione bidirezionale impossibile o lenta (inversione del flusso)

T R

Comunicazione bidirezionale (full-duplex)

Ad ogni istante di tempo è sempre possibile uno scambio simultaneo di dati:

t0

+ comunicazione veloce

– collegamento complesso

T R0

118

Page 122: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

SATA (serial ATA)

• trasmissione seriale su linea dedicata, interna al PC

• cavo sottile, flessibile e lungo

• 7 fili (4 segnali + 3 ground) contro 40/7G fili in PATA (80/40G da ATA-3); ciò diminuisce:

influenza reciproca tra segnali adiacenti– influenza reciproca tra segnali adiacenti (crosstalk)

– interferenze elettromagnetiche con altri dispositivi (EMI)

• throughput base = 150 MB/s (SATA-1)

• SATA-2 = 300 MB/s

• pianificata evoluzione a 600 MB/s (SATA-3)

S.M.A.R.T.

• Self-Monitoring, Analysis, and Reporting Technology

• sistema di auto-analisi dei dischi per:

– verificarne lo stato

predirne i guasti– predirne i guasti

• funziona solo verso i dischi collegati con interfaccia nativa (es. PATA o SATA interni, non con SATA esterno dentro un contenitore USB)

• vari strumenti (es. HDD Health)

USB (Universal Serial Bus)

• trasmissione seriale, half-duplex (full-duplex da USB 3.0)

• polling comandato dal computer

• collegamento logico a bus, max 127 dispositivi,

• alimentazione dal bus (5V e 500mA; 2 5 4 5 W• alimentazione dal bus (5V e 500mA; 2.5–4.5 W collegando due USB allo stesso dispositivo)

• sistema plug-and-play

• USB 1.x = low (1.5 Mbps) o full speed (12 Mbps)

• USB 2.0 = high speed (480 Mbps), 500mA

• USB 3.0 = super speed (5 Gbps) e high-power (3–5A)

119

Page 123: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

USB: cablaggio

• cavo a 4 fili con connettore piatto (2 per dati, 2 per alimentazione a 5 V)

• lunghezza max cavo = 5 m

• hub per collegare più dispositivi

• collegamento in cascata di massimo 5 hub (quindi• collegamento in cascata di massimo 5 hub (quindi distanza max = 30 m)

USB #1USB hub

USB #2USB hub

IEEE-1394

• Firewire (Apple)

– nota: nome molto usato invece dello standard

• i.LINK (Sony)

• standard de facto per collegamenti digitali (non analogici!) tra dispositivi video: videocamereanalogici!) tra dispositivi video: videocamere, videoregistratori, DVD, sistemi di editing video, PC, …

120

Page 124: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

IEEE 1394 - caratteristiche

• trasferimento asincrono o isocrono

• velocità:

– 100/200/400/800 Mbps (sul cavo, tra peer)

– 12.5/25/50/100 Mbps (dentro al computer)

t (di tt t t di iti i)• peer-to-peer (direttamente tra dispositivi)

• collegamento logico a stella, massimo 63 dispositivi, alimentabili dal bus (12-25 V, 15 W)

• lunghezza massima cavo = 4.5 m

• collegamento in cascata di massimo 16 dispositivi (quindi distanza max = 72 m)

• in arrivo Firewire 3200 (Mbps)

Bluetooth

• comunicazione via radio per dispositivi a basso consumo (tipicamente portatili e a batteria)

• corto raggio (~1 m)

– aumentabile sino a 100 m con dispositivi a maggior potenza e/o antenna direzionalegg p

• bassa velocità (da 1 a 3 Mbps)

• per creare reti di dispositivi personali (PAN, Personal Area Network)

– es. cellulare, notebook, stampante, fotocamera digitale

PCI (Peripheral Connect Interface)

• per collegare le schede dei periferici alla piastra madre

• bus parallelo (32 o 64 bit) half-duplex

• gerarchia di bus a due livelli

livello base = 32 bit @ 66 MHz o 64 bit @ 33– livello base = 32 bit @ 66 MHz, o 64 bit @ 33 MHz

– livello avanzato = 64 bit @ 66 MHz

• max troughput tra CPU e periferici = 532 MB/s

• tutti i trasferimenti avvengono con la velocità del periferico più lento collegato al bus

121

Page 125: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

PCI-X

• PCI eXtended

• bus parallelo (64 bit) half-duplex

• gerarchia di bus a due livelli

– livello base= 64 bit @ 66 MHz

– livello avanzato = 64 bit @ 133 MHz

• max troughput tra CPU e periferici = 1.06 GB/s

• compatibile con schede PCI normali

• tutti i trasferimenti avvengono con la velocità del periferico più lento collegato al bus

PCI / PCI-X

bus primario (64 bit)

ario

t) h d #1 ario

t)h d #3

bu

s se

con

da

(32

/ 64

bit scheda #1

(dischi)

scheda #2(rete) b

us

seco

nd

a(3

2 / 6

4 b

itscheda #3(nastri)

scheda #4(USB)

PCIe (o PCI-E)• PCI Express

• canale punto-punto seriale full-duplex

– un canale = 2 link unidirezionali

– possibile raggruppare più canali verso uno stesso dispositivo (es. scheda grafica con p ( gPCIe x16)

• velocità massima (per singolo canale):

– v1 / v2 / v3 = 0.25 / 0.5 / 1 GB/s

– ogni canale può adottare una velocità diversa, adattandosi allo specifico periferico collegato

• switch PCIe per dialogo tra vari dispositivi

122

Page 126: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XI

Bus standard per periferici - confronto

ABus[ bit ]

20, 24

20 24 32

velocità[ MB/s ]

5.3

33

DBus[ bit ]

8, 16

8 16 32

bus

ISA

EISA 20, 24, 32

20, 32

32

32

N.A.

33

20

133 / 532

532 / 1064

8192 (v2)

8, 16, 32

8,16, 32

32, 64

64

16

EISA

MCA

PCI

PCI-X

PCIe (x 16)

123

Page 127: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XII

Trasmissione dati

0 1 1 0 1

Politecnico

1 1 0 0 1 0

110

Problematiche di trasmissione dati

• per distanze superiori a qualche decina di metri, occorrono apparati di telecomunicazione= collegamento fisico (es. Ethernet, ISDN, WiFi, ADSL), , )

• poiché i sistemi coinvolti possono essere di tipo diverso, occorre definire degli standard per lo scambio e l’interpretazione dei dati= collegamento logico, ossia protocolli e reti (es. TCP/IP)

Reti locali / geografiche

LAN

• Local Area Network (~1 km)

MAN

• Metropolitan Area Network (~10 km)p ( )

WAN

• Wide Area Network (>10 km)

Tecnologie: Ethernet, Frame Relay, ATM, Sonet/SDH, …

124

Page 128: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XII

Modem(modulatore - demodulatore)

01011... …11010

modem modem

Modem

• apparato di telecomunicazione atto a scambiare dati digitali su sistemi di comunicazione non digitali

• esempio: modem V.90 per linee telefoniche tradizionali velocità 57600telefoniche tradizionali, velocità 57600 bps (anche detto “modem 56k”)

• esempio: modem incorporato nel telefono cellulare (GSM: 9600 bps; GPRS: 56-114 kbps) collegabile ad un PC via USB o Bluetooth

ISDN

• Integrated Services Digital Network

• canale digitale (= linea ISDN)

– non necessario modem

– necessario telefono / scheda ISDN

• 2 o 3 canali digitali (aggregabili):

– canale dati n.1 (64 Kbps)

– canale dati n.2 (64 Kbps)

– canale ausiliario (16 Kbps), solitamente dedicato alla fonia o alle segnalazioni ausiliarie

125

Page 129: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XII

ADSL

• Asymmetric Digital Subscriber Line

• trasmissione digitale sul normale doppino telefonico (tramite modem / router specifico)

3 li• 3 canali:

– download dati (tra 2 e 8 Mbps)

– bidirezionale dati (max 640 Kbps)

– bidirezionale voce (per backup, nel caso si guasti quello dati su cui normalmente passa anche la voce)

Ethernet e WiFi

Ethernet:

• standard per LAN cablate (IEEE 802.3)

• 10 Mbps (originale), 100 Mbps, 1000 Mbps (anche detta Gigabit Ethernet)

velocità freq. compat.802.11b 11 Mbps 2.4 GHz b802.11a 54 Mbps 5.0 GHz a802.11g 54 Mbps 2.4 GHz b, g802.11n 100 Mbps 2.4 GHz b, g, n

WiFi (= Wireless Fidelity):

• standard per LAN radio (IEEE 802.11)

Switch e access-point

In una rete aziendale o domestica, tipicamente più computer usano uno stesso apparato di rete per comunicare con gli altri computer o con altre reti (es. Internet):)

• banda condivisa = conflitto tra le esigenze dei vari utenti

• servizio “best effort” = dati possono essere persi (non c’è accumulo nei nodi intermedi) e devono essere ritrasmessi

126

Page 130: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XII

Un esempio di rete aziendale

routerrete esterna(es. Internet)

wireless

backbone(1 Gbps)

server8 Mbps

PC1 PC3

switch switch access point

PC5 PC6 PC9PC8

PC7PC2PC4

100 Mbps(per porta)

100 Mbps(per porta)

54Mbps(condivisi)

La rete Internet

• è una rete che collega tra loro varie reti

• i nodi della rete (router) si scambiano i dati fino a farli arrivare a destinazione

• un canale (o link) tra due router può t tt i lt t i d ti ditrasmettere simultaneamente i dati di più utenti sino a saturare la capacità del canale

• se più utenti usano simultaneamente un canale, la sua capacità viene divisa equalmente tra tutti gli utenti

• nota: modello molto semplificato

gestoretelefonico

abitazione

Accesso ad Internet via ADSL

ADSLmodem/ router

Ethernet ADSLmodem/ router

lineatelefonica

o WiFi

InternetServiceProvider

router

routerInternet router

. . .

. . .

canalelogico

127

Page 131: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Informatica cap. XII

Esercizio

Due utenti sono collegati via ADSL 2 Mbps alla stessa centrale telefonica, collegata ad Internet tramite una linea a 10 Mbps.

Calcolare il tempo complessivo affinché ciascun utente scarichi un file da 100 MBciascun utente scarichi un file da 100 MB.

Soluzione:

• ciascun utente accede ai dati a 2 Mbps

• 8 x 100 Mbit / 2 Mbit/s = 400 s = 6’ 40”

• tempo totale = 6’ 40” (perché i due utenti operano in parallelo)

Esercizio

Due utenti sono collegati via ADSL 2 Mbps alla stessa centrale telefonica, collegata ad Internet tramite una linea a 2 Mbps.

Calcolare il tempo complessivo affinché ciascun utente scarichi un file da 100 MBciascun utente scarichi un file da 100 MB.

Soluzione:

• ciascun utente accede ai dati a 1 Mbps (perché il collegamento centrale-Internet è usato al 50% da ciascun utente)

• 8 x 100 Mbit / 1 Mbit/s = 800 s = 13’ 20”

• tempo totale = 13’ 20”

128

Page 132: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

Tabella dei primi 128 codici ASCII (codifica decimale ed esadecimale)

dec hex char dec hex char dec hex char dec hex char0 0 NUL 32 20 spazio 64 40 @ 96 60 ‘1 1 SOH 33 21 ! 65 41 A 97 61 a2 2 STX 34 22 " 66 42 B 98 62 b3 3 ETX 35 23 # 67 43 C 99 63 c4 4 EOT 36 24 $ 68 44 D 100 64 d5 5 ENQ 37 25 % 69 45 E 101 65 e6 6 ACK 38 26 & 70 46 F 102 66 f7 7 BEL 39 27 ’ 71 47 G 103 67 g8 8 BS 40 28 ( 72 48 H 104 68 h9 9 HT 41 29 ) 73 49 I 105 69 i10 A LF 42 2A * 74 4A J 106 6A j11 B VT 43 2B + 75 4B K 107 6B k12 C NP 44 2C , 76 4C L 108 6C l13 D CR 45 2D - 77 4D M 109 6D m14 E SO 46 2E . 78 4E N 110 6E n15 F SI 47 2F / 79 4F O 111 6F o16 10 DLE 48 30 0 80 50 P 112 70 p17 11 DC1 49 31 1 81 51 Q 113 71 q18 12 DC2 50 32 2 82 52 R 114 72 r19 13 DC3 51 33 3 83 53 S 115 73 s20 14 DC4 52 34 4 84 54 T 116 74 t21 15 NAK 53 35 5 85 55 U 117 75 u22 16 SYN 54 36 6 86 56 V 118 76 v23 17 ETB 55 37 7 87 57 W 119 77 w24 18 CAN 56 38 8 88 58 X 120 78 x25 19 EM 57 39 9 89 59 Y 121 79 y26 1A SUB 58 3A : 90 5A Z 122 7A z27 1B ESC 59 3B ; 91 5B [ 123 7B {28 1C FS 60 3C < 92 5C \ 124 7C |29 1D GS 61 3D = 93 5D ] 125 7D }30 1E RS 62 3E > 94 5E ˆ 126 7E ˜31 1F US 63 3F ? 95 5F _ 127 7F DEL

Nomi dei caratteri di controllo

ACK Acknowledgment EOT End of TransmissionBEL Bell ESC EscapeBS Backspace ETB End of Transmission Block

CAN Cancel ETX End of TextCR Carriage Return FF Form Feed (o New Page, NP)

DC1 Device Control 1 (o XON) FS File SeparatorDC2 Device Control 2 GS Group SeparatorDC3 Device Control 3 (o XOFF) HT Horizontal TabDC4 Device Control 4 LF Line Feed (o New Line, NL)DEL Delete NAK Negative AcknowledgementDLE Data Link Escape NUL NullEM End of Medium SI Shift In

ENQ Enquiry SO Shift OutSOH Start of Header STX Start of TextSUB Substitute SYN Synchronous IdleUS Unit Separator VT Vertical Tab

129

Page 133: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle codifiche numeriche- v. 1.0

Esercizio 1Effettuare i seguenti cambiamenti di codifica su numeri naturali:

• 12310 = x2

• 0111012 = x10

• 2310 = x5

• 1235 = x10

• 12310 = xH

• A1H = x10

• 91H = xQ

• 1414 = x10

Esercizio 2Effettuare i seguenti cambiamenti di codifica su numeri relativi considerando numeri binari da 6 bit:

• +1310 = xMS

• -1310 = xMS

• +3210 = xMS

• -3210 = xMS

• +1310 = xCA2

• -1310 = xCA2

• +3210 = xCA2

• -3210 = xCA2

• 010001MS= x10

• 010001CA2= x10

• 100001MS= x10

• 100001CA2= x10

130

Page 134: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle codifiche numeriche- v. 1.0

Esercizio 3Effettuare le seguenti operazioni considerando numeri binari da 6 bit ed indicando sempre se sieverificato errore e di quale tipo:

• (binario puro)010101 + 000111

• (binario puro)010101 + 010001

• (binario puro)010101 - 000111

• (binario puro)010101 - 011001

• (CA2) 010101 + 000111

• (CA2) 010101 + 010001

• (CA2) 010101 - 000111

• (CA2) 010101 - 011001

• (binario puro)010101 � 1

• (binario puro)010101 � 2

• (binario puro)110101 � 1

• (CA2) 001101 � 1

• (CA2) 010101 � 1

• (CA2) 010101 � 2

• (CA2) 110101 � 1

Esercizio 4Indicare la precisione assoluta dei seguenti numeri decimali:

n10 = 15 30 15.0 30.0 15.4 15.44

Esercizio 5Indicare la precisione assoluta binaria e decimale dei seguenti numeri binari:

n2 = 0 10 1.1 1.01 1.001 1.0001

Esercizio 6Effettuare le seguenti conversioni in binario puro con la precisione decimale indicata:

• 0.910 = x2 (ε = 0.1)

• 12.510 = x2 (ε = 0.01)

• 12.6310 = x2 (ε = 0.001)

131

Page 135: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle codifiche numeriche- v. 1.0

Esercizio 7Effettuare la seguenti conversioni mantenendo la stessa precisione assoluta:

• 10.0112 = x10

• 10.01102 = x10

• 0.01010010002 = x10

Esercizio 8Discutere applicabilita, vantaggi e svantaggi delle seguenti codifiche nel caso di un sensore digitaledi temperatura che deve operare nel campo -20◦. . . +44◦ C:

• numeri da 6 bit in binario puro, MS e CA2;

• numeri da 8 bit in binario puro, MS e CA2.

Esercizio 9Convertire il numero decimale−3.25 in binario con le codifiche specificate, indicando anche laprecisione assoluta decimale del numero binario risultante:

• binario fixed-point CA2 4I + 4F

Esercizio 10Per ciascuna delle seguenti codifiche binarie, indicare l’intervallo di valori numerici rappresentabile(in modo naturale, senza particolari ipotesi o accorgimenti) e la precisione assoluta:

• binario puro su 6 bit

• modulo e segno su 6 bit

• complemento a due su 6 bit

• fixed-point 6I + 3F

• fixed-point complemento a due 6I + 3F

Esercizio 11Indicare le basi in cui valgono le seguenti uguaglianze:

• 201x+33x = 351x

• 201z−33z = 135z

Le soluzioni saranno pubblicate sul sito web del corso al termine delle lezioni.

132

Page 136: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle codifiche non numeriche - v. 1.0

Esercizio 1Si desidera salvare su file in formato ASCII (ISO-8859-1) un testo di 100 pagine, ognuna compostada 50 righe di 69 caratteri. Ogni rigae terminata dal carattere LF ed ogni paginae terminata dalcarattere FF. Calcolare la dimensione del file espressa in kB.

Esercizio 2Su un floppy-disk da 1.44 MB si devono scrivere i dati relativi agli studenti di una scuola. Ad ognistudente corrisponde un file che contiene i seguenti dati:

• cognome (32 caratteri ASCII)

• nome (32 caratteri ASCII)

• data di nascita (GGMMAAAA codificata in ASCII)

• matricola (numero intero di 6 cifre codificato in binario puro)

Sapendo che ai dati di ogni studente deve corrispondere un numero intero di byte, calcolare il numeromassimo di studenti i cui dati possono essere scritti sul floppy-disk.

Esercizio 3Si desidera salvare su file in formato Unicode con codifica UTF-8 un testo in lingua Italiana compostoda 20,000 caratteri. Sapendo che in Italiano la frequenza media delle lettere accentatee il 5%, stimarela dimensione del file espressa in kB.

Esercizio 4Se un file da 100 MB viene compresso con un algoritmo avente fattore di compressione 4×, qualesara la dimensione del file compresso?

Esercizio 5Un archivio in formato compresso ZIP contiene 10 file per un totale di 4 MB. Sapendo che questoarchivio ha un fattore di compressione del 73 %, determinare lo spazio in MB occupato dai file unavolta estratti dall’archivio.

Esercizio 6Una macchina fotografica digitale fornisce foto in formato grafico raster con risoluzione 2048×1152e 16 milioni di colori. Calcolare la quantita di memoria (in GB) di cui la macchina deve essere dotataper permettere di memorizzare su di essa almeno 200 foto.

Esercizio 7Si vuole memorizzare (senza compressione) un’immagine raster 1024×768 in uno spazio di memoriapari a 1 MB. Calcolare il massimo numero di colori distinti di cui l’immagine potra essere composta.

Esercizio 8Un utente registra un brano musicale in formato MP3 stereo, con un campionamento a 48 kHz e 16bit per campione. Sapendo che la durata del branoe di 74’ ed ipotizzando un fattore di compressione10×, si calcoli la dimensione del file in MB.

133

Page 137: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle codifiche non numeriche - v. 1.0

Esercizio 9Un utente registra un brano musicale in formato WAV quadrifonico, con un campionamento a 32 kHze 16 bit per campione. Sapendo che il formato WAV ha tipicamente un rapporto di compressione 2:1e che l’utente dispone di una memoria da 10 MB, calcolare la massima durata registrabile del brano,

Le soluzioni saranno pubblicate sul sito web del corso al termine delle lezioni.

134

Page 138: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle funzioni logiche - v. 1.0

Esercizio 1Semplificare la seguente espressione Booleana:

a · (b+ c)+b · (a+ c)

Esercizio 2Dimostrare col metodo esaustivo la seguente uguaglianza Booleana:

a⊕b = a ·b+a ·b

Esercizio 3Semplificare la seguente espressione Booleana:

a · (b+ c)+a+ c

Esercizio 4Si dimostri se la seguente espressione Booleana e un’eguaglianza o meno:

a ·b+b · c+a · c = a · b+ b · c+ a · c

Esercizio 5Si semplifichi la seguente funzione Booleana:

y = a ·b+a · c+a ·b · c · (a ·b+ c)

Esercizio 6Disegnare un circuito logico che implementi la seguente funzione Booleana

y = a · (b+b · c)

Calcolare quindi i valori sull’uscita y generati dai valori 111 e 110 applicati agli ingressi abc.

Esercizio 7Si disegni il circuito logico corrispondente alla seguente funzione Booleana (senza semplificarla) e sidetermini il tempo di propagazione nell’ipotesi che ciascuna porta logica abbia un ritardo di 2 ns.

y = a · (b+ c)+(b+ c) ·b

135

Page 139: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle funzioni logiche - v. 1.0

Esercizio 8A partire del circuito logico rappresentato in figura, si calcolino la funzione logica Y, la tabella diverita ed ritardo globale del circuito nell’ipotesi che una porta logica avente N ingressi abbia unritardo pari a 5 N ns.

ABC

Y

G1

G2

G3

G4

G5

Le soluzioni saranno pubblicate sul sito web del corso al termine delle lezioni.

136

Page 140: INFORMATICA quaderno di testo Prof. Antonio Lioysecurity.polito.it/~lioy/12bhd/informatica_qtesto_1011.pdf · Da decimale a binario Dal confronto tra l’espressione di A come numero

12BHD - Informatica (I anno Ingegneria) - esercizi sulle architetturedi elaborazione - v. 1.0

Esercizio 1Un sistema di elaborazionee dotato di una memoria centrale di 256 MB con un tempo d’accesso di40 ns e di una memoria cache di 128 kB con tempo d’accesso di 10 ns. Si determini il valore minimodellahit ratio della cache necessario per avere un tempo d’accesso medio non superiore a 15 ns. Sidiscuta se, aumentando la dimensione della memoria cache, tale hit ratio tenderebbe ad aumentare oa diminuire.

Esercizio 2Un sistema di elaborazionee dotato di una memoria centrale di 230 celle di 16 bit ciascuna realizzatacon chip aventi tempo d’accesso di 50 ns. Tale memoria viene usata da unµP la cui ALU puoeseguire 20 milioni di operazioni al secondo. Stimando che per la lettura dei dati su cui sono svoltele operazioni mediamente occorre un accesso in memoria centrale ogni due operazioni, si valuti seenecessario prevedere una memoria cache.

Esercizio 3Un utente vuole copiare sulla propria chiavetta USB 2.0 (capacita totale 2 GB, velocita di trasferimen-to 40 MB/s), 10 file di 100 MB ciascuno, provenienti dal proprio hard disk (capacita totale 300 GB,tempo di accesso 20 ms, velocita di trasferimento 60 MB/s, unita di allocazione da 4 kB). Si determiniil tempo necessario ad effettuare la copia sapendo che i file in questione sono frammentati al 50%.

Esercizio 4Quanti byte servono per rappresentare in formato raster senza compressione un’immagine 10×5 cmche verra stampata da una stampante con una risoluzione di 1200 DPI e 256 livelli di grigio? (siassuma 1 inch = 2.5 cm)

Esercizio 5Relativamente all’esecuzione di un’istruzione macchina, spiegare quali bus di sistema sono coinvoltinella fase difetche quali informazioni vi transitano durante tale fase.

Esercizio 6Considerando un file sorgente scritto in un linguaggio ad alto livello ed i corrispondenti file oggettoe file eseguibile, indicare quale rapporto esiste tra le dimensioni di questi tre file (maggiore, minore,circa uguale) giustificando le affermazioni.

Le soluzioni saranno pubblicate sul sito web del corso al termine delle lezioni.

137