Hardware (Processore)

Transcript

Hardware (Processore)
Prof. Alberto Postiglione
Dipartimento di Scienze della Comunicazione
Facoltà di Lettere e Filosofia
Università degli Studi di Salerno
1.4a: Hardware (Processore)
Informatica Generale (Corso di Studio in Scienze della Comunicazione)
Web Data Design (Corso di Studio Magistrale in Comunicazione,
Audiovisivi e Società della conoscenza)
Cooperazione di Agenti Informatici (Corso di Studio Specialistico di
Informatica – Università di Roma II)
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Bibliografia
 Curtin, Foley, Sen, Morin “Informatica di base”, Mc Graw Hill
 Ediz. Fino alla III : cap. 3.8, 3.9
 IV ediz.: cap. 2.6, 2.7
 Questi lucidi
11 mag
2010
1.4a
2
1
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
 La CPU, o unità centrale di elaborazione o Processore, è un
circuito integrato (Chip), costituito da una piccola piastra di silicio
 Sulla superficie della CPU sono presenti milioni di piccoli
interruttori elettronici miniaturizzati, di tipo acceso/spento,
i transistor, e altri componenti elettronici



Il primo processore a larga diffusione, l’Intel 4004 (1971),
conteneva circa 2.300 transistor
Il primo processore montato sul primo PC di larga diffusione,
i8088 conteneva circa 29.000 transistor
Il Core 2 (2006) ne contiene oltre 291.000.000.
11 mag
2010
1.4a
L’unità centrale di elaborazione (CPU)
3
HARDWARE (PROCESSORE)
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
Quote di mercato delle CPU
11 mag
2010
1.4a
 CPU desktop:
 Intel ha una quota del 71,7%
 AMD ha una quota del 28%
 VIA Technologies una quota dello 0,3%
 CPU per notebook e netbook:
 Intel ha una quota pari all'87,8%
 AMD ha una quota del 12,1%
 VIA Technologies ha una quota dello 0,1%
 CPU server e workstation:
 Intel ha una quota del 90,2%
 AMD ha quota del 9,8%
 Fonte: IDC Group Aprile 2010
4
2
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)

L’elaborazione avviene in accordo a sequenze di istruzioni
(istruzioni macchina), scritte in un linguaggio di
programmazione speciale, chiamato linguaggio macchina
 Una CPU è composta da due parti che implementano le due
funzioni da essa svolte:


11 mag
2010
1.4a
L’unità centrale di elaborazione (CPU)
Unità Aritmetico/Logica (Arithmetic/Logic Unit o ALU)
 esegue tutte le istruzioni in linguaggio macchina (che sono di
tipo aritmetico, logico e di confronto) presenti in un programma
Unità di controllo (Control Unit)
 Sovrintende alla corretta esecuzione dei programmi e coordina il
lavoro degli altri componenti hardware e le attività dell’intero
computer
5
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
11 mag
2010
1.4a
Compatibilità
 Cosa accade ai programmi quando si cambia il processore
del computer (perché, magari, si sostituisce il computer)?
 La compatibilità è garantita, di norma, verso l’alto
 Un programma che gira su un processore di un produttore
funziona sui modelli più recenti prodotti dalla stessa azienda
 Il viceversa non è sempre vero
 Non è garantita la compatibilità tra processori di aziende
diverse, a meno che essa non sia esplicitamente dichiarata Ad
esempio


c’è un ottimo livello di compatibilità tra processori AMD e Intel
Non c’è praticamente compatibilità tra processori Intel e processori
Motorola
6
3
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Coprocessori
 Nei moderni computer la CPU è “coadiuvata” da altri
processori “specializzati” nel trattamento di particolari tipologie
di dati (ad esempio immagini sul monitor o suoni).
 Un Coprocessore è un processore “dedicato” che, sotto il
controllo della CPU e del Sistema Operativo svolge
elaborazioni specialistiche che richiederebbero alla CPU un
notevole dispendio di tempo


Processore sulla scheda video
Processore sulla scheda audio.
11 mag
2010
1.4a
7
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Multiprocessori
 E’ possibile, inoltre, dotare un computer di più processori che
“collaborano” all’esecuzione di un programma.


Ad esempio possono essere disposti più processori come in una
catena di montaggio
Oppure più processori possono lavorare contemporaneamente
su parti diverse di uno stesso dato (nelle previsioni del tempo, ad
esempio, ogni processore può dedicarsi ad una specifica zona
geografica)
11 mag
2010
1.4a
8
4
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Microprocessori incorporati
 I microprocessori si trovano anche in
 Automobili
 Telefoni
 Termostati
 Schede telefoniche
 Carte di credito
11 mag
2010
1.4a
9
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Struttura e componenti della CPU
 Unità di controllo (Control Unit).
 ALU (Unità Aritmetico-Logica)
 Clock
 Registri
Unità di
controllo
11 mag
2010
1.4a
Memoria
Centrale o
Periferiche
Clock
BUS
Registro
Registro
ALU
Registro
10
5
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Unità di Controllo
 Unità di controllo (Control Unit).
 Sovrintende alla corretta esecuzione dei programmi e
 coordina il lavoro degli altri componenti hardware
11 mag
2010
1.4a
11
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
 L’unità logico-aritmetica (ALU – Arithmetic Logic Unit)
 esegue le istruzioni in linguaggio macchina corrispondenti alle
operazioni matematiche, logiche e di confronto
 Legge i dati contenuti all'interno dei registri generali, esegue le
operazioni e memorizza il risultato in uno dei registri generali
 Vi sono circuiti in grado di
 eseguire la somma di due numeri binari contenuti in due registri e
di depositare il risultato in un registro
 eseguire il confronto tra due numeri
 Ecc…
11 mag
2010
1.4a
ALU
12
6
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Clock
 La CPU ha un orologio interno, detto clock, che emette con
regolarità un determinato numero di impulsi ogni secondo,
come una specie di metronomo che scandisce il tempo di
lavoro della CPU
 La velocità del clock

indica il numero di “impulsi” (cicli) che il clock emette in un
secondo.

La velocità del clock è quel numero che viene normalmente
associato ad ogni processore (es.: processore da 2 Giga)
1.4a
11 mag
2010
 La velocità del clock si misura in Hertz.

1 hertz (Hz) = 1 ciclo al secondo

1 megahertz (MHz) = 1 milione di cicli al secondo

1 gigahertz (GHz) = 1 miliardo di cicli al secondo
13
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
1.4a
Dimensione della parola
 E’ il numero di bit che un processore tratta simultaneamente.
 Corrisponde a quanti bit possono essere trasferiti
simultaneamente tra processore e memoria.

Corrisponde alla dimensione della singola cella di memoria
RAM

Corrisponde alla dimensione dei registri della CPU.
 Inizialmente la dimensione della parola era di 8 bit, cioè di 1 byte.
Da allora si è cominciato a misurare la dimensione della memoria
in byte.
11 mag
2010
 Attualmente la dimensione di parola varia da 32 a 64 bits, in base
al tipo di processore e di architettura hardware.
14
7
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Istruzioni del Processore
 La CPU esegue istruzioni che fanno parte di un programma,
codificato utilizzando un linguaggio di programmazione
 Ogni CPU è in grado di eseguire solo poche istruzioni
elementari quali:


1.4a
11 mag
2010


Somma di due numeri (già la somma di tre numeri viene effettuata
tramite due somme elementari)
Confronto tra due numeri con individuazione del fatto che ci sia o
meno differenza (non tutti i processori sanno distinguere in modo
immediato, invece, quale dei due precede l’altro)
Spostamento dei bit all’interno di una parola di qualche posizione
a destra o a sinistra.
poche altre ancora …
15
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
11 mag
2010
1.4a
Istruzioni del Processore
 Inoltre, un’istruzione del processore è generalmente
composta da più operazioni elementari che accedono in
momenti successivi alle risorse del computer


Quasi mai la singola istruzione del processore è eseguita in un solo
ciclo di clock. Ad esempio, per effettuare la somma di due numeri
 Bisogna leggere il primo addendo
 Bisogna leggere il secondo addendo
 Bisogna eseguire la somma
 Bisogna memorizzare la somma
E potrebbe darsi che alcune di queste mini-operazioni richieda più
cicli di clock per essere completata.
 Ogni “parte” di un’istruzione viene eseguita in
corrispondenza ad un impulso di clock
16
8
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Istruzioni del processore
 Le istruzioni del processore sono il suo VOCABOLARIO:
quanto più esso è povero


tante più parole saranno necessarie per descrivere un concetto,
ma tanto più esse saranno “corte” e quindi veloci da eseguire, in
quanto richiedono pochi impulsi di clock per essere completate.
 La potenza di elaborazione di un processore è data dal numero di
istruzioni eseguite in un secondo (MIPS – milioni di istruzioni al
secondo, MFLOPS – milioni di istruzioni in virgola mobile al secondo)
11 mag
2010
1.4a
17
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
CISC e RISC
 CISC = Complex Instruction Set Chip (300-400)
 RISC = Reduced Instruction Set Chip (100-200)
 Un processore CISC rispetto ad un processore RISC presenta
molte più istruzioni che vengono eseguite tramite più
operazioni elementari


11 mag
2010
1.4a
che quindi richiedono più cicli di clock per essere completate
E che quindi sono più lente delle corrispondenti operazioni RISC
 D’altro canto, le istruzioni di un processore CISC che non
sono presenti in un processore RISC vengono da questo
simulate tramite più istruzioni

ciò comporta tempi maggiori nei processori RISC, in media, ma
solo per tali istruzioni da simulare, rispetto alle corrispondenti
operazioni CISC
18
9
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
CISC e RISC
 I processori RISC sono mediamente più veloci dei CISC su
quasi tutte le applicazioni.
 I processori RISC non sono adatti per elaborazioni
“complesse”, ad esempio quelle sui dati multimediali
 Attualmente la differenza tra CISC e RISC si sta riducendo
11 mag
2010
1.4a
19
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
 Batterie di test usate per confrontare le velocità dei computer.
 Non sono mai valori assoluti. Ma sono rapportati ad un insieme
di programmi (che compongono tali batterie).
 Un computer può risultare più veloce di un altro relativamente ad
un programma ma meno veloce relativamente ad un altro.
 Due grandi tipologie di programmi:


CPU-consuming (usano molto la CPU). E tra queste:
 Integer-computing (calcoli su numeri interi o su pochi numeri)
 Floating-point computing (lavorano su numeri reali e molto grossi)
I/O-consuming (usano molto le periferiche di I/O).
11 mag
2010
1.4a
Benchmark
20
10
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
Confronto CPU 1997 - 2005
Pentium 233 MMX del 1997  Pentium 4
 La velocità di clock è aumentata di circa 40 volte - dai 100
MHz del 1995 ai 3800 MHz del 2005
 Il più grosso incremento prestazionale può essere visto nella
codifica DivX (MPEG 4): la codifica di una breve scena impiega
circa due ore con un Pentium 233 MMX, mentre un Pentium 4
impiega meno di due minuti. Praticamente un processore del
2005 è 65 volte più veloce del processore più veloce del 1997.
11 mag
2010
1.4a
21
Alberto Postiglione – Dipartimento di Scienze
della Comunicazione – Università di Salerno
HARDWARE (PROCESSORE)
 Un altro esempio che possiamo riportare riguarda la codifica in
MP3. Nel 1995, un Pentium 100 necessitava 77 minuti per 17
minuti di sequenza audio, mentre un moderno Athlon 64 FX-55
fa lo stesso lavoro in un minuto e mezzo, praticamente il
processore del 2005 è 51 volte più veloce di quello di 11 anni
prima.
 Nel 1994 un Pentium 100 era costituito da 3.3 milioni di
transistor, mentre il Pentium 4 Extreme Edition (2005), conta
178 milioni di transistor. Circa 55 transistor sono ora presenti
dove 11 anni prima ne era presente solo uno.
11 mag
2010
1.4a
Confronto CPU 1995 – 2005
22
11