Lez. 2 –L’elaborazione (I parte) - afs.enea.it · Prof. Pasquale De Michele –Gruppo 2 Lez.2...

51
Lez. 2 – L’elaborazione (I parte) Prof. Pasquale De Michele – Gruppo 2 1

Transcript of Lez. 2 –L’elaborazione (I parte) - afs.enea.it · Prof. Pasquale De Michele –Gruppo 2 Lez.2...

Lez. 2 – L’elaborazione (I parte)

Prof. Pasquale De Michele – Gruppo 21

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte)

Dott. Pasquale De MicheleDipartimento di Matematica e ApplicazioniUniversità di Napoli “Federico II”Compl. Univ. Monte S.AngeloVia Cintia, I-80126, [email protected]

2

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 3

Introduzione all’informatica

L’elaborazione-Tipi di elaboratori- Rappresentazione della informazione- Codifica dell’informazione

HW dell’elaboratore

SW dell’elaboratore

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 4

Gli elaboratori si differenziano in base alla velocità dielaborazione, alla capacità di memoria, alla tipologiadei processori, al costo e agli impieghi tipici.

Supercomputer, mainframe, minicomputer,workstation, personal computer

Miglioramento rapidissimo delle prestazioni deglielaboratori (1945-2014), nonostante il modello basedell’elaboratore sia pressoché invariato.

Tasso di crescita elevato determinato da due fattori:- Miglioramento della architettura (organizzazionefunzionale delle parti costituenti l’elaboratore);- Miglioramento della tecnologia di realizzazione.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 5

Supercomputer

Elaboratori con prestazioni elevatissime.Elaboratori paralleli, multiprocessoriElaboratori spesso progettati come prototipi

Potenza di calcolo elevatissima.

Capacità di memorizzazione elevatissima

Costo molto elevato (milioni di euro)

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 6

Elaboratori multiutenti

Mainframe-Grossi sistemi-Elevata potenza di calcolo-Elevata capacità di memorizzazione-Costi elevati (centinaia di migliaia di euro)

Minicomputer-Gestiscono il lavoro di più utenti collegati mediante terminali-Dimensioni grandi-Costo medio alti (decine di migliaia di euro)

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 7

Reti informaticheReti di computer, spesso eterogenei (nodi), collegati fra loro per la condivisione di risorse non solo hardware ma anche di dati e programmi.

- Reti locali (Local Area Network – LAN)- Reti Geografiche (Wide Area Network – WAN)- Internet

ServerElaboratore che svolge la funzione di servire le necessità degli altri computer (client) collegati in rete.(Desktop, workstation, nimicomputer, mainframe possono lavorare come server)

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 8

Elaboratori monoutente

PC (Personal Computer)

- Elaboratori di uso generale

- Costo medio/basso (< 2000 €),

- Desktop: elaboratore da scrivania, in genere non spostabile,

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 9

Elaboratori monoutente

- Notebook: Elaboratore leggero e maneggevole, spostabile.

- Laptop (Tablet): notebook estremamente ridotto per permettere la connessione

- Palmtop; elaboratori di dimensione davvero piccole.

- PDA (personal Digital Assistant): elaboratori di dimensioni piccolissime.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 10

Workstation

Elaboratori di potenza e costo intermedio trapersonal computer e minicomputer.

Elaboratori di uso generale, ma impiegati inapplicazioni industriali, tecniche e scientifiche chedevono avvalersi di strumenti grafici sofisticati.Costo medio (2000-5000 €)

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 11

Le prestazioni degli elaboratori sono migliorate grazieai progressi delle tecnologie di fabbricazione deicircuiti integrati (chip) utilizzati per realizzare imicroprocessori, la memoria e altri componentidell’elaboratore.

L’evoluzione degli elaboratori continua a rispettare laLegge di Moore.

La densità e la velocità dei chip aumentanogeometricamente, anziché linearmente, nel tempo.In media, il numero di transistor che possono essereinseriti in un chip di silicio aumenta di circa il 60%all’anno.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 12

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 13

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 14

Rappresentazione digitale

- Ogni quantità discreta è rappresentata da un simbolo

- L’insieme dei simboli costituisce un Alfabeto

- Le informazioni sono rappresentate, trasmesse ed elaborate usando livelli discreti di una grandezza fisica.

- I valori della grandezza fisica sono interpretati come valori discreti, anziché come quantità analogiche.

- Se ad ogni livello della grandezza fisica associamo un simbolo, si ottiene un alfabeto.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 15

Rappresentazione binaria digitale

La rappresentazione delle informazioni all ’ internodell’elaboratore si basa su un alfabeto binario {0, 1}.

Ogni segnale elettrico trasporta uno dei due possibilivalori, a seconda del livello di tensione.

- Le tensioni di basso livello sono interpretate come 0.- Le tensioni di alto livello sono interpretate come 1.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 16

Esempi di informazioni rappresentabili

Esempio di codifica binaria: 1001100010010010011110011010101110101…

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 17

Perché la rappresentazione binaria?

SemplicitàAdottando una rappresentazione binaria,l’elaboratore può essere realizzato con componentielementari semplici, che operano in due soli statipossibili (transistor).

- sostanze magnetiche con due oppostepolarizzazioni- passaggio o meno di corrente- passaggio o meno di luce

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 18

Perché la rappresentazione binaria?

Affidabilità (probabilità di errore bassa)Disturbi provenienti dall ’ ambiente o interferenze(rumore) indotte da altri componenti possono farvariare lo stato di un componente.Adottando due soli stati, la separazione tra lecorrispondenti bande di valori è massima -> il rumore,sommato ad un qualsiasi valore, ha probabilitàminima di spostare il valore nella banda successiva.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 19

Qualsiasi sistema fisico è soggetto a degradazionenel tempo.

Usare il minimo numero di simboli garantisce chepiccole degradazioni del sistema non corrispondanoa differenze significative nella informazionerappresenta. Lo stesso principio vale anche nellacomunicazione, che è sempre soggetta a disturbi edegradazione dell’informazione.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 20

Quante informazioni posso rappresentare in formabinaria?

A patto di usare una sequenza (combinazione) dielementi di base sufficientemente lunga mi bastano 2 solisimboli per rappresentare qualunque informazione, dallaDivina Commedia alla Nona di Beethoven.

La differenza è notevole:

1 simbolo = zero informazioni2 simboli = infinite informazioni

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 21

Es. Codice binario di Morse: . -

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 22

Rappresentazione binaria

L’unità fondamentale di informazione è il bit (Binary digit)

Un bit può assumere solo due valori, 0 oppure 1.

L’informazione è rappresentata mediante stringhe di bit(rappresentazione binaria), ossia i bit possono essereraggruppati in sequenze di bit di lunghezza fissa:

Half-byte: 4bitByte: 8 bit.Word 16 bit (2 byte).Double word: 32 bit (4 byte – Double = Doppio).Quad word: 64 bit (8 byte).

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 23

Rappresentazione binaria dei numeri naturali

•Nella vita di tutti i giorni, siamo abituati a rappresentare i numeri mediante il sistema di numerazione decimale, costituito, come sappiamo, da dieci simboli, indicati con le cifre “0”, “1”, “2”, …, “9”.•Disponendo in sequenza questi simboli, possiamo esprimere qualunque numero:

• ad esempio, il numero trentuno nel sistema di numerazione decimale viene espresso mediante la sequenza 31.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 24

Numerazione posizionale

•Come il sistema decimale, anche il sistema binario è un sistema di numerazione posizionale:

• Le cifre hanno un valore diverso a seconda della posizione occupata nella scrittura del numero.

• Ad esempio, nel sistema decimale il numero 345 è così caratterizzato:• La cifra 5 si trova nella posizione 0 (unità).• La cifra 4 si trova nella posizione 1 (decine).• La cifra 3 si trova nella posizione 2 (centinaia).

•Questo significa che possiamo esprimere il numero 345 come il risultato della somma di tre moltiplicazioni:

• 5*100 + 4*101 + 3*102 = 5*1 + 4*10 + 3*100 = 5 + 40 + 300 = 345.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 25

Numerazione posizionale

•Il valore dell’esponente della potenza di 10, dipende dalla posizione occupata dalla cifra che compone il numero: per la posizione 0 l’esponente sarà 0, per la posizione 1 l’esponente sarà 1, e cosi via.

•Ovviamente, qualsiasi numero che noi possiamo pensare nel sistema decimale, lo possiamo rappresentare anche nel sistema binario (in questo caso, però, utilizzeremo solo le cifre “0” ed “1”).

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 26

Da binario a decimale

•Regola: si moltiplica ogni cifra binaria per lacorrispondente potenza di 2 e si sommano i prodottiottenuti (proprio come fatto per rappresentare il numero345, con la differenza che in quel caso si consideravanole potenze di 10, perché il numero doveva essererappresentato in decimale).

•Allora, il numero 100(2) (in binario), nel sistema decimale sarà:

• 100(2) = 0*20 + 0*21 + 1*22 = 0*1 + 0*2 + 1*4 = 0 + 0 + 4 = 4(10).

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 27

Da binario a decimale

•Consideriamo un altro esempio: il numero binario10011011(2).

•Vogliamo determinare il corrispondente numero in base10:

•Nell’esempio, quindi, il valore decimale corrispondente al numero binario 10011011(2) è:

• 128 + 16 + 8 + 2 + 1 = 155(10).

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 28

Da decimale a binario

•Regola: dividere il numero per 2, e così ancora il risultato per 2, e così via, finché non si ottiene come risultato il numero 0.•A questo punto si prendono i resti delle divisioni (che possono essere o 0 o 1) dall’ultimo fino al primo resto e si scrivono da sinistra verso destra.•Il numero ottenuto (formato solo dalle cifre “0” ed “1”) sarà il numero binario corrispondente al numero decimale di partenza.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 29

Da decimale a binario

•Ad esempio, consideriamo il numero 123(10):

•Allora 123(10) = 1111011(2).•Per esprimere un numero in binario occorrono molte più cifre di quante ne occorrono per esprimere lo stesso numero nel sistema decimale:

• Il numero 123(10) visto in precedenza si esprime in binario mediante il numero 1111011(2).

• Quindi nel sistema decimale occorrono solo 3 cifre, mentre in quello binario ne occorrono 7.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 30

Numero di informazioni rappresentabili con N bit

•Supponendo di avere a disposizione 8 bit, ci chiediamo quante informazioni (in questo caso numeri) possiamo esprimere.•Per rispondere a questa domanda, una prima soluzione potrebbe essere quella di partire dal numero 00000000(2)= 0(10), poi passare al numero 00000001(2) = 1(10), e così via fino al numero 11111111(2) = ???(10).•Oppure, più semplicemente si può ricorrere alla seguente formula:

“Numero di informazioni” = 28 = 256.

•In generale, dunque, se abbiamo a disposizione N bit (cifre):

“Numero di informazioni” = 2N.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 31

Massimo numero rappresentabile con N bit

•Qual è il massimo numero che è possibile esprimere con N bit?

•Visto che con N bit possiamo rappresentare 2N numeri, considerando che partiamo da 0:

“Max numero esprimibile” = 2N – 1.

•Considerando l’esempio di prima, con N = 8 bit, allora il massimo numero esprimibile è

“Max numero esprimibile” = 28 – 1 = 256 -1 = 255.

•Quindi il numero 11111111(2) = 255(10).

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 32

Rappresentazione dei numeri naturali (interi senzasegno): binario puro

•Supponendo che il calcolatore riservi 1 word per larappresentazione dei numeri senza segno (ossia 16 bit),vogliamo memorizzare nella memoria del calcolatore ilnumero 37, con la seguente rappresentazione interna:

•Sarebbero bastati solo 6 bit per rappresentare il numero37:

• Infatti con 25 possiamo rappresentare 32 valori (ilpiù grande è 31), mentre con 26 ne possiamorappresentare 64 (il più grande è 63).

• Per i restanti 10 bit, si utilizzano gli zeri nonsignificativi per riempire tutta la word.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 33

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 34

Esempio di addizione binaria

•Infatti:

•Il numero 74(10) = 1001010(2), che è costituito da 7 bit. Però noi stiamo utilizzando 8 bit, quindi occorre aggiungere uno “0” non significativo a sinistra (lo “0” in grassetto): quindi, risulta 74(10) = 01001010(2).

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 35

Addizione binaria: una situazione particolare (overflow)

•Una situazione particolare, si può verificare quando sommando due numeri, si dovrebbe ottenere un risultato il cui valore è maggiore del più grande numero rappresentabile con N bit.•Supponiamo di avere N = 8 bit, e di voler sommare il più grande valore rappresentabile con 8 bit, ossia 255 (28 – 1 = 256 – 1), ed 1. •In questo caso, 255(10) = 11111111(2) ed 1(10) = 00000001(2).•Allora, otteniamo:

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 36

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 37

Esempio di sottrazione binaria

•Infatti:

•Il numero 20(10) = 10100 (2), che è costituito da 5 bit. Però noi stiamo utilizzando 8 bit, quindi occorre aggiungere tre “0” non significativo a sinistra (gli “0” in grassetto): quindi, risulta 20(10) = 00010100 (2).•Il problema analogo a quello dell’overflow, con la sottrazione prende il nome di underflow.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 38

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 39

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 40

Rappresentazione del segno (i numeri interi)

•L’unico modo che abbiamo a disposizione per capire se un numero è positivo o negativo consiste nell’aggiungere alla sinistra del numero il simbolo “+”o il simbolo “-“.•Allora in questo caso, esprimendo i numeri 1 byte:

•I calcolatori comunicano utilizzando solo i simboli “0” ed “1” :

• Si rappresenta con “0” il “+“ e con “1” il “-”. • Quale bit?

• Il più significativo (quello più a sinistra).

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 41

Rappresentazione in segno e modulo

•Considerando l’esempio precedente che utilizza 1 byte, otteniamo:

•Il Bit 7, ossia l’ottavo bit, rappresenta il segno del numero, mentre i restanti bit, che vanno dal Bit 0 al Bit 6, sono il modulo del numero.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 42

Rappresentazione in segno e modulo

•Con la rappresentazione dei numeri interi in segno e modulo, dati N bit, è sempre possibile rappresentare 2N numeri.•A differenza della rappresentazione in binario puro, però, il valore massimo non è più 2N – 1, ma 2N-1 – 1.•Infatti abbiamo a disposizione un bit in meno, visto che uno lo dedichiamo al segno. Inoltre, il minimo numero non è più lo 0, ma –(2N-1 – 1). •Esempio:

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 43

Rappresentazione in segno e modulo

•Ci sono due rappresentazioni dello 0, una con segno “+“ (ossia Bit 7 = 0) ed una con segno “-“(ossia Bit 7 = 1).•Infatti:

•Il modulo resta sempre lo stesso, vale a dire una sequenza di sette simboli “0”, mentre il segno cambia.•Il fatto che ci siano due differenti rappresentazioni per il numero 0 è uno svantaggio.

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 44

Multipli delle strutture logiche

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 45

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 46

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 47

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 48

Rappresentazione in complemento a 1

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 49

Rappresentazione in complemento a 1

•Dato un numero binario, se il bit più significativo è:• “0” il numero è positivo.• “1” il numero è negativo.

•Per rappresentare un numero negativo si “complementa” il suo positivo (NOT).

•Ancora 2 rappresentazioni dello 0:• 00000000 = +0• 11111111 = -0

Complemento)a)1)Numero)decimale) Rappresentazione)binaria)Complemento)a)1)

Bit$7$ Bit$6$ Bit$5$ Bit$4$ Bit$3$ Bit$2$ Bit$1$ Bit$0)17$ 0$ 0$ 0$ 1$ 0$ 0$ 0$ 1$-17$ 1$ 1$ 1$ 0$ 1$ 1$ 1$ 0$$ $ $ $ $ $ $ $ $

$

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 50

Esempio di sottrazione binaria con complemento a 1

Sottrazione*Complemento*a*1*Numero*decimale* Numero*binario*

Bit$7$ Bit$6$ Bit$5$ Bit$4$ Bit$3$ Bit$2$ Bit$1$ Bit$0*37$ 0$ 0$ 1$ 0$ 0$ 1$ 0$ 1$17$ 0$ 0$ 0$ 1$ 0$ 0$ 0$ 1$-17$ 1$ 1$ 1$ 0$ 1$ 1$ 1$ 0$

Allora$faccio$37$+$(-17)$37+$ 0$ 0$ 1$ 0$ 0$ 1$ 0$ 1$-17+$ 1$ 1$ 1$ 0$ 1$ 1$ 1$ 0$

Parziale$ 0$ 0$ 0$ 1$ 0$ 0$ 1$ 1$Resta$1$di$riporto$che$sommo$al$parziale:$

Parziale$ 0$ 0$ 0$ 1$ 0$ 0$ 1$ 1$Riporto$(1)=$ 0$ 0$ 0$ 0$ 0$ 0$ 0$ 1$

20$ 0$ 0$ 0$ 1$ 0$ 1$ 0$ 0$$

Prof.PasqualeDeMichele– Gruppo2 Lez.2– L’elaborazione(Iparte) 51

Rappresentazione in complemento a 2

•Per rappresentare un numero negativo si “complementa” il suo positivo (come il complemento ad 1) e poi si somma 1.•Esempio:

•Una sola rappresentazione dello 0: 00000000.

Sottrazione*Complemento*a*2*Numero*decimale* Numero*binario*

Bit$7$ Bit$6$ Bit$5$ Bit$4$ Bit$3$ Bit$2$ Bit$1$ Bit$0*17$ 0$ 0$ 0$ 1$ 0$ 0$ 0$ 1$

-17$(Complemento$1)$ 1$ 1$ 1$ 0$ 1$ 1$ 1$ 0$+1$ 0$ 0$ 0$ 0$ 0$ 0$ 0$ 1$

-17$(Complemento$2)$ 1$ 1$ 1$ 0$ 1$ 1$ 1$ 1$$

Numero'di'bit' Numeri'rappresentabili'

Valore'minimo' Valore'massimo'

8! 28!=!256! '(28'1)!=!'(27)!=!'(128)!=!'128!

28'1!–!1!=!27!–!1!=!128!'1!=!127!

!