Presentazione di PowerPoint - Progetto e

RAPPRESENTAZIONE
ED ELABORAZIONE DEI DATI
ANALOGICO (continuo)
DIGITALE (discreto)
Precisione, rumore
Dispositivi elettronici
Elettrone - particella elementare dotato di carica elettrica negativa (nei metalli
sono liberi di muoversi in ogni punto del metallo )
corrente elettrica - flusso ordinato di elettroni
sistema elettronico binario - presenza di due stati (alto o basso) legati alla corrente
che passa o che non passa.
componenti hardware - costituiti da circuiti elettronici digitali, detti Chip
Tecnologie: BJT (logica TTL) o MOS = Metallo Ossido Semiconduttore (logica
CMOS) - la seconda è più lenta ma riduce spazio e consumi
Transistor = dispositivo elettronico su materiale semiconduttore (silicio, che
permette di costruire elementi molto piccoli e non conduce facilmente come i
metalli (gli elettroni hanno bisogno di una certa energia per liberarsi)
Infinite possibilità di costruzione di circuiti elettronici, ma solo alcune sono
fondamentali. I circuiti di base (porte logiche) sono quelli che computano i
connettivi logici fondamentali NOT, AND, OR, che permettono di calcolare tutte
le funzioni binarie di variabili binarie
X
NOT(X)
0
1
1
0
X
Y
AND(X,Y)
0
0
1
1
0
1
0
1
0
0
0
1
X
Y
OR(X,Y)
0
0
1
1
0
1
0
1
0
1
1
1
Transistor  tre terminali, uno di ingresso (input) e due di uscita (output)
… regola il passaggio di elettroni nei fili di output (1 se passano,
0 altrimenti)
le lettere binarie 0 e 1 sono rappresentate nei fili dai due stati fisici:
0 se il potenziale elettrico del filo è GND = 0 volt,
1 se il suo potenziale elettrico del filo è VDD = 3 volt
(5 anni fa era VDD = 5 volt e fra poco sarà VDD = 2,5 volt; riduzione dell’intensità
ricercata per velocità e consumo energetico).
VDD = tensione di alimentazione (energia necessaria al transistor per funzionare)
GND (ground) = punto a più basso potenziale
Segnale elettronico di un transistor  comandare un altro transistor  …
circuito elettronico o gate booleano = insieme di interruttori elettronici che si
comandano a vicenda
L’hardware di un calcolatore è costituito per lo più da circuiti elettronici digitali
binari, ovvero da in cui gli stati fisici possibili sono solo due
In questo contesto i transistors permettono di manipolare tali informazioni
“binarie”, mentre i fili elettrici le memorizzano oppure le trasportano da un
transistor all’altro.
Questo è il punto di contatto tra hardware e software:
l’hardware è costituito da fili elettrici,
il software dallo stato fisico dei fili elettrici
Transistor MOS a canale N (NMOS)
filo di input 0  fili di output sconnessi
filo di input 1  fili di output connessi
Transistor MOS a canale P (PMOS)
filo di input 0  fili di output connessi
filo di input 1  fili di output sconnessi
La tecnologia VLSI (Very Large Scale Integration) permette
di miniaturizzare i circuiti elettrici
In VLSI tutti i circuiti elettrici costituenti la logica di un computer
sono suddivisi in vari pezzettini rettangolari di silicio detti chip
Ogni chip può contenere anche centinaia di milioni di transistor (l’Intel Pentium
IV può contenerne fino a 55 milioni di 0,13 m (1 micron = 1 milionesimo di
metro) e grandezza complessiva del chip fino a 1,5 cm2
http:\\www.intel.com/pressroom/kits/quickreffam.htm
La grandezza dei transistor (0,13 m) tende a diminuire con lo sviluppo della
tecnologia VLSI e sono già allo studio processori prodotti con un processo
inferiore: sono allo studio processi a 0,11 m
Essendo molto piccoli, i transistors coniugano bene alcune esigenze:
- rispondono velocemente ai “comandi” impartiti, così sono capaci di interrompere
il flusso di elettroni nel giro di qualche miliardesimo di secondo,
- consumano pochissima energia per funzionare.
Memorie elettroniche
Piccolissimi secchielli, dette celle, contenenti elettroni
velocità della memoria (di carica) = poche decine di
miliardesimi di secondo (molto alta, decine di volte
maggiore rispetto alla velocità di interruzione dei
transistor, uno dei limiti principali dei computer
moderni)
scrittura
lettura
Due transistor flip-flop si comandano
reciprocamente, si bloccano in uno stato
indefinitamente, memorizzando l'ultimo
segnale binario loro trasmesso.
Più complesse (più costose), più veloci utilizzate per le memorie interne alla CPU
Celle di memoria costituite da un filo molto piccolo
che può essere bruciato oppure no - si possono solo
leggere (ROM)
Dispositivi magnetici: i dischi
campo elettrico = s.f. esercitato da cariche elettriche su altre cariche
campo magnetico = s.f. di correnti elettriche o magneti su altre correnti
Leggi dell’elettromagnetismo
- la variazione di un campo elettrico produce un campo magnetico
- la variazione di un campo magnetico produce un campo elettrico
- un campo magnetico ha una direzione polo nord - polo sud (negli
atomi la rotazione degli elettroni attorno al nucleo genera campi
magnetici, la cui direzione dipende dal verso di percorrenza)
- i dispositivi magnetici digitali hanno piccoli magneti
che vengono orientati in una direzione (facendo
ruotare le particelle) - i due orientamenti sono
interpretati come segnale binario (magnetizzazione
verso l'alto  1, verso il basso  0)
- non é possibile costruire interruttori magnetici (sistemi magnetici che producono la
variazione di un segnale magnetico) - è necessario trasformare un segnale digitale
da magnetico in elettronico per elaborarlo; dunque utilizzati solo per memorizzare
(si conserva per molti anni)
Memoria digitale magnetica: dischi in continua rotazione su cui la testina di
lettura e di scrittura è libera di muoversi, tracce e settori
formattazione - rende utilizzabile un disco, in quanto vi inserisce gli elementi
per individuare le tracce, i settori ed i dati
Zona di avviamento (boot record): occupa un settore, ha le informazioni per la
individuazione del sistema operativo dell’elaboratore che gestisce la memoria
FAT (File Allocation Table): contiene gli elementi della formattazione (numero
tracce e settori) e l’indicazione della distribuzione dei dati nel disco (settore
d’inizio), individuati dal nome di raggruppamento dei dati medesimi (nome del
file)
Directory: è l’indice dei dati contenuti sul disco e li individua in funzione del
nome dato al file, della lunghezza del file, ….
Spazio dati: gli altri settori sono dedicati ai dati
Ottica: laser e dischi ottici
La luce non può essere facilmente conservata, ma può essere usata per cambiare
lo stato di un altro dispositivo binario di tipo elettronico (gli elettroni assorbono
fotoni e si rendono liberi per via dell’aumento d’energia, generando un flusso)
Nei dispositivi ottici (dischi) l'elemento binario é una piccola buca (pit) scavata da
un laser nella stagnola racchiusa nella plastica del disco:
se esiste una buca lo stato binario é 1, se la buca non esiste lo stato é 0.
Nel CD le buche sono
disposte lungo una spirale
letta da un laser a bassa
potenza. Durante la
riproduzione il laser
percorre la spirale e viene
riflesso (solo in assenza di
buche), un sensore di luce
rileva la riflessione e
trasforma il segnale
luminoso binario in un
sistema elettrico binario
Prima dell’elaborazione i segnali ottici devono essere
trasformati in segnali elettronici. Sono quindi
difficilmente costruibili calcolatori ottici
Legge di Moore
Nel 1965 Gordon Moore elaborò una tesi analizzando il trend evolutivo dei chip.
Oggi, fatte le debite correzioni, questa legge afferma che:
“ogni chip ha una capacità circa doppia rispetto al suo predecessore e ogni 1824 mesi nasce una nuova generazione di chip”
 Transistors
Mips
10M
N.B.: Questa legge
è applicabile con
discreta precisione
e può essere
considerata un
valido strumento
di pianificazione
per le industrie
microelettroniche.
500
Pentium II
Pentium
80486
1M
25
80386
100K
10K
1
8088
80286
4004
1970
0.1
1975
1980
1985
1990
1995
2000
Il linguaggio binario
Lingua
Codice
Lettera
Bit
Per comunicazione tra uomo ed elaboratore senza ambiguità occorrono:
- un linguaggio digitale binario proprio per l’elaboratore
- un sistema di conversione dal linguaggio umano al linguaggio dell’elaboratore
Codice = legge di rappresentazione (univoca) da simbolo originario a simbolo (o
sequenza) del nuovo linguaggio
La trasformazione del simbolo originario al nuovo è detta codifica, la
trasformazione inversa è detta decodifica
L’alfabeto del calcolatore è 0, 1, il singolo elemento di informazione è chiamato
Bit (Binary digiT), ogni parola dell’elaboratore è determinata da una sequenza su
tale alfabeto (sequenze binarie)
Corrispondenza di base:
caratteri, numeri, segni di punteggiatura, ecc.  una sequenza ordinata di 8 bit
1 Byte = sequenza ordinata di 8 bits (23 bits)
Sebbene il bit rappresenta l’unità di misura di base, è il byte ad esprimere più
compiutamente una misura sulla quantità di dati
Le altre unità di misura sono:
1 Kilobyte (1 Kb) = 1024 bytes = 210 bytes = 213 bits
1 Megabyte (1 Mb) = 1024 Kilobytes = 210 Kilobytes = 220 bytes = 223 bits
1 Gigabyte (1 Gb) = 1024 Megabytes = 210 Megabytes = 230 bytes = 233 bits
1 Terabyte (1 Tb) = 1024 Gigabytes = 210 Gigabytes = 240 bytes = 243 bits
Rappresentazione dei numeri interi
- numero fisso di bit (o di byte) per rappresentare i numeri (lunghezza di parola)
- il segno di un numero è codificato dal primo bit: “0”  positivo, “1”  negativo
- positivi: codifica nel sistema di numerazione binaria
- negativi: codifica con “complemento a 2” (codifica binaria del positivo 
trasformazione sostituendo “0” con “1” e viceversa  somma con “1”
Esempio: parole di 2 byte (16 bit).
“+3421” 
110101011101
 000110101011101
 0000110101011101
“–3421” 
110101011101
 0000110101011101
 1111001010100010
 1111001010100011
0000110101011101 +
1111001010100011 =
10000000000000000
Rappresentazione dei numeri reali
- non sempre esatta (quasi mai), limite irraggiungibile per un calcolatore
- numeri reali trasformati in numeri razionali con numero finito di cifre (grado di
massima precisione definito dal calcolatore)
esempio: 12,3678416654375555… fino alla 6a cifra significativa è 12,3678
- due modalità di rappresentazione:
Virgola mobile (floating point)
z = m  bn
z = numero, m = mantissa, b = base, n = esponente
Rappresentazione “normalizzata” se 1/b  (m)10 < 1 (in tal caso n è la caratteristica)
z = m  2n ; rappr. normalizzata se 1/2  (m)10 < 1
- lunghezza fissa per mantissa ed esponente
segno
mantissa
esponente
Virgola fissa (fixed point)
Numero di cifre fissato per parte intera e parte frazionaria
- senza esplicita virgola: assegnata per convenzione
parte intera
parte frazionaria
Rappresentazione dei numeri “91,4693” e “-91,4693”
In virgola mobile normalizzata
(con 16 bit di cui 1 per il segno, 11 per la mantissa e 4 per l’esponente)
POSITIVO 91,4693  1011011.0111100000…  (11 cifre) 1011011.0111
 (normalizzazione) .10110110111  27
esponente 7  111  (4 bit) 0111
segno+mantissa+esponente=“0”+“10110110111”+“0111” = 0101101101110111
NEGATIVO 91,4693  …  .10110110111  27
 (complemento a due) 01001001000 + 1 = 01001001001
esponente 7  (4 bit) 0111
segno+mantissa+esponente=“1”+“01001001001”+“0111” = 1010010010010111
In virgola fissa
(con 16 bit di cui 1 per il segno, 8 per la parte intera, 7 per la parte frazionaria)
POSITIVO 91,4693  1011011.0111100000…  (8+7 cifre) 01011011.0111100
segno+intera+frazionaria=“0”+“01011011”+“0111100” = 0010110110111100
NEGATIVO 91,4693  …  (8+7 cifre) 01011011.0111100
 (complemento a 2) 101001001000011 + 1 = 10100100 1000100
segno+intera+frazionaria=“1”+“10100100”+“1000100” = 1101001001000100
La rappresentazione più utilizzata è in virgola fissa
Vantaggio: esecuzione delle operazioni in tempi più rapidi (molti processori
supportano solamente operazioni in virgola fissa a livello dell’hardware,
eventuali operazioni in virgola mobile devono essere realizzate a livello del
software)
Svantaggio: il range della rappresentazione è molto più piccolo
Rappresentazione dei caratteri alfanumerici
caratteri non numerici: lettere, caratteri speciali, simboli di comando; numeri
 sequenze di bit appartenenti ad un insieme finito detto set
L’ampiezza di un set di caratteri (numero di simboli diversi) dipende dalla
lunghezza delle sequenze utilizzate (n bit  2n caratteri diversi)
Alfabeto ASCII (American Standard Code for Information Interchange)
- 7 bit + 1 bit di controllo (il numero degli 1 deve essere dispari)
- set di 27 = 128 caratteri
- dunque 1 carattere  1 byte
Alfabeto ASCII esteso: 8 bit (256 caratteri) – anche altri caratteri
particolari
Alfabeto UNICODE: 16 bit (216 = 65536 possibili caratteri)
“8”  “00111000”
“/”  “00101111”
“j”  “11101010”
“ETX”  “10000011”