lez. 2 – l’elaborazione (i parte) - afs.enea.it · indicati con le cifre “0”, “1”,...

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

Upload: duongcong

Post on 21-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Lez. 2 – L’elaborazione (I parte)

Prof. Pasquale De Michele – Gruppo 2 1

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

Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli “Federico II” Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli [email protected]

2

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

Introduzione all’informatica L’elaborazione

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

HW dell’elaboratore SW dell’elaboratore

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

Gli elaboratori si differenziano in base alla velocità di elaborazione, alla capacità di memoria, alla tipologia dei processori, al costo e agli impieghi tipici. Supercomputer, main f rame, min icomputer, workstation, personal computer Miglioramento rapidissimo delle prestazioni degli elaboratori (1945-2014), nonostante il modello base dell’elaboratore sia pressoché invariato. Tasso di crescita elevato determinato da due fattori:

-  Miglioramento della architettura (organizzazione funzionale delle parti costituenti l’elaboratore); -  Miglioramento della tecnologia di realizzazione.

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

Supercomputer Elaboratori con prestazioni elevatissime.

Elaboratori paralleli, multiprocessori Elaboratori spesso progettati come prototipi

Potenza di calcolo elevatissima. Capacità di memorizzazione elevatissima Costo molto elevato (milioni di euro)

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   7

Reti informatiche Reti 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

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

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

Elaboratori monoutente PC (Personal Computer)

-  Elaboratori di uso generale

-  Costo medio/basso (< 2000 €),

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

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   10

Workstation Elaboratori di potenza e costo intermedio tra personal computer e minicomputer. Elaboratori di uso generale, ma impiegati in applicazioni industriali, tecniche e scientifiche che devono avvalersi di strumenti grafici sofisticati. Costo medio (2000-5000 €)

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

Le prestazioni degli elaboratori sono migliorate grazie ai progressi delle tecnologie di fabbricazione dei circuiti integrati (chip) utilizzati per realizzare i microprocessori, la memoria e altri componenti dell’elaboratore. L’evoluzione degli elaboratori continua a rispettare la Legge di Moore. La densità e la velocità dei chip aumentano geometricamente, anziché linearmente, nel tempo. In media, il numero di transistor che possono essere inseriti in un chip di silicio aumenta di circa il 60% all’anno.

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

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

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   15

Rappresentazione binaria digitale La rappresentazione delle informazioni all’interno dell’elaboratore si basa su un alfabeto binario {0, 1}. Ogni segnale elettrico trasporta uno dei due possibili valori, 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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   16

Esempi di informazioni rappresentabili Esempio di codifica binaria: 1001100010010010011110011010101110101…

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

Perché la rappresentazione binaria? Semplicità

Ado t tando una rappresen taz ione b inar ia , l’elaboratore può essere realizzato con componenti elementari semplici, che operano in due soli stati possibili (transistor). -  sostanze magnet iche con due opposte polarizzazioni -  passaggio o meno di corrente -  passaggio o meno di luce

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

Perché la rappresentazione binaria?

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

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

Qualsiasi sistema fisico è soggetto a degradazione nel tempo. Usare il minimo numero di simboli garantisce che piccole degradazioni del sistema non corrispondano a differenze significative nella informazione rappresenta. Lo stesso principio vale anche nella comunicazione, che è sempre soggetta a disturbi e degradazione dell’informazione.

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

Quante informazioni posso rappresentare in forma binaria? A patto di usare una sequenza (combinazione) di elementi di base sufficientemente lunga mi bastano 2 soli simboli per rappresentare qualunque informazione, dalla Divina Commedia alla Nona di Beethoven. La differenza è notevole:

1 simbolo = zero informazioni 2 simboli = infinite informazioni

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

Es. Codice binario di Morse: . -

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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 essere raggruppati in sequenze di bit di lunghezza fissa: Half-byte: 4bit Byte: 8 bit. Word 16 bit (2 byte). Double word: 32 bit (4 byte – Double = Doppio). Quad word: 64 bit (8 byte).

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   26

Da binario a decimale •  Regola: si moltiplica ogni cifra binaria per la

corrispondente potenza di 2 e si sommano i prodotti ottenuti (proprio come fatto per rappresentare il numero 345, con la differenza che in quel caso si consideravano le potenze di 10, perché il numero doveva essere rappresentato 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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   27

Da binario a decimale •  Consideriamo un altro esempio: il numero binario

10011011(2).

•  Vogliamo determinare il corrispondente numero in base 10:

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

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

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   29

Da decimale a binario •  Ad esempio, consideriamo il numero 123(10):

•  Allora 123(10) = 11110111(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 11110111(2).

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

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   32

Rappresentazione dei numeri naturali (interi senza segno): binario puro •  Supponendo che il calcolatore riservi 1 word per la

rappresentazione dei numeri senza segno (ossia 16 bit), vogliamo memorizzare nella memoria del calcolatore i l numero 37, con la seguente rappresentazione interna:

•  Sarebbero bastati solo 6 bit per rappresentare il

numero 37: •  Infatti con 25 possiamo rappresentare 32 valori (il

più grande è 31), mentre con 26 ne possiamo rappresentare 64 (il più grande è 63).

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

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

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   36

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   38

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

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   44

Multipli delle strutture logiche

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

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

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

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

Rappresentazione in complemento a 1

Prof.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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.  Pasquale  De  Michele  –  Gruppo  2   Lez.2  –  L’elaborazione  (I  parte)   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!

!