Corso di Informatica A.A. 2001

annuncio pubblicitario
Architettura di un elaboratore
•
•
•
Ciclo fondamentale della macchina di Von Neumann
Uno sguardo ai PC
Oltre Von Neumann ?
Corso di Informatica 2007
3 - Architettura di un Elaboratore
1
La macchina di Von Neumann
Lo schema della macchina di Von Neumann,
modello sul quale si basano praticamente tutti i
moderni computer è basato su quattro elementi
fondamentali:
•La memoria
•L’unità aritmetico logica (ALU)
•L’unità di controllo
Processore
•Le unità di Ingresso/Uscita (I/O)
Corso di Informatica 2007
3 - Architettura di un Elaboratore
2
2
Esecuzione di un programma
Una volta introdotta la metodologia di codifica dell’informazione
per un calcolatore possiamo descrivere con maggiore dettaglio le
fasi di esecuzione di un programma che, come visto, sono:
Ciclo di esecuzione di un programma:
• Instruction fetch
• Decodifica
• Esegui
Corso di Informatica 2007
3 - Architettura di un Elaboratore
3
3
Instruction Fetch
0000
RA
M
…
0001
…
Bus
0010
…
0011
00010001
indirizzi
0100
11110000
0101
…
0110
…
0111
…
CU
dati
0001000111110000
Bus
IR
controlli
PC: 0011
Bus
++
F/S: F MAR:
0011
MDR: 0001000111110000
Corso di Informatica 2007
3 - Architettura di un Elaboratore
4
4
Decodifica
ALU
CU
++
Decodifica
R1:
000100=ADD
R2:
01111 =R15
PC: 0101
IR
11000 = R24
R15: 25
0001000111110000
SR:
Corso di Informatica 2007
3 - Architettura di un Elaboratore
+
R24: 58
5
5
Esecuzione dell’istruzione
ALU
R1:
R2:
ADD
R24
R15
R15: 25
R24: 58
33
SR:
Corso di Informatica 2007
+
3 - Architettura di un Elaboratore
6
6
Buffer e cache
Lo scambio di informazioni all’interno della CPU, ad es. fra CU
e ALU avviene a velocità molto maggiore di quella con cui la
CPU accede alla RAM.
Idea: integrare la CPU con memoria locale veloce
contenente i dati a cui si è avuto accesso più di
recente: la memoria cache
Questo è un esempio del concetto di buffer,
largamente usato in informatica.
CPU
Corso di Informatica 2007
Cache
Dimensione della cache limitata da:
•Costo elevato
•Aumento di complessità del processore
3 - Architettura di un Elaboratore
7
7
Clock e pipelining
La sequenza di passi del processo di esecuzione è sincronizzata da
un segnale esterno periodico (clock). Frequenze tipiche del clock
Per un moderno calcolatore variano tra alcune centinaia di MHz e
1-2 GHz
In generale per una data architettura la velocità aumenta con
l’aumentare della frequenza di clock.
Se la fase IF è l’unica che richiede accesso alla RAM, e le fasi
di decodifica ed esecuzione sono molto più rapide, questo
suggerisce la tecnica del pipelining
Instruction Fetch
Decodifica
Esecuzione
Instruction Fetch
Corso di Informatica 2007
3 - Architettura di un Elaboratore
8
8
CISC vs RISC
Complex Instructions Set
Computer
Reduced Instructions Set
Computer
Istruzioni complesse che
impiegano più cicli di clock
Istruzioni semplici che impiegano al
più un ciclo
Ogni istruzione può accedere alla
RAM
Solo LOAD e STORE accedono
alla RAM, le altre operano sui
registri
Pipeline scarso o assente
Pipelining spinto
Microprogrammazione
Istruzioni eseguite dall’hardware
Istruzioni a formato variabile
Istruzioni a formato fisso
Molte (O(300)) istruzioni
Poche (O(30)) istruzioni
Singolo set di registri
Set di registri multipli
Corso di Informatica 2007
3 - Architettura di un Elaboratore
9
9
Un esempio di CISC: il Pentium
Il pentium, prodotto da Intel è il più diffuso processore per
personal computer
Alcune caratteristiche salienti:
•Due livelli di cache fino a 512 K
•MMX : istruzioni dedicate per applicazioni
multimediali
•Branch prediction: in caso di salto
condizionato il processore esegue un pre-fetch
dell’istruzione seguita al passo precedente. In un
ciclo questo permette di caricare la giusta
istruzione tranne che all’ultimo passo del ciclo.
Corso di Informatica 2007
3 - Architettura di un Elaboratore
10
10
Un esempio di RISC: SUN SPARC
Utilizzato in molte workstation Unix, l’Ultra SPARC I
possiede alcune delle caratteristiche migliori del Pentium:
due livelli di cache, dynamic branch prediction.
Inoltre possiede un bus a 128 bit fra memoria e processore
e una doppia pipeline. Una graphics unit permette di
gestire applicazioni 2D-3D.
Corso di Informatica 2007
3 - Architettura di un Elaboratore
11
11
Prestazioni di un calcolatore (I)
Unità “assolute”:
1 MIPS (Millions of Instructions per Second) =
106 operazioni logiche o fra interi al s
1 MFlOPS (Millions of Floating point Operations per Second) =
106 operazioni in virgola mobile al s
Sono piuttosto inadatte a misurare le prestazioni per l’utente
finale, ovvero il tempo effettivo di esecuzione di un dato
programma, e il loro valore dipende da molti fattori, fra cui:
• Il set di istruzioni del calcolatore
• Il programma utilizzato per calcolarli
Corso di Informatica 2007
3 - Architettura di un Elaboratore
12
12
Prestazioni di un calcolatore (II)
Concetto di benchmark: un insieme di programmi scritti in un linguaggio di
alto livello (e quindi portabili da un calcolatore all’altro).
SPEC: Standard Performance Evaluation Corp. (http://www.specbench.org)
Esempio: SPECint2000 (e SPECfp2000)
Corso di Informatica 2007
3 - Architettura di un Elaboratore
13
13
Uno sguardo ai PC
I personal computers (PC) sono oggi i più diffusi strumenti
informatici. Vediamone le caratteristiche più importanti.
Un case formato ATX
Corso di Informatica 2007
3 - Architettura di un Elaboratore
14
14
La scheda madre
La scheda madre o
motherboard è
l’elemento hardware
che contiene tutti i
principali circuiti
necessari al corretto
funzionamento di CPU,
memoria e dispositivi di
I/O….quindi…mai
risparmiare sulla scheda
madre nell’acquisto di
un PC !!!!!
Corso di Informatica 2007
3 - Architettura di un Elaboratore
15
15
Il processore
Il processore comprende, come visto, ALU, CU e
memoria cache, ovvero memoria locale veloce.
I processori più diffusi per PC sono il Pentium
prodotto da Intel, giunto ormai alla IV generazione
con frequenze di clock oltre i 3 GHz, e i processori
prodotti da AMD (es. Athlon) con prestazioni
comparabili. I due processori sono praticamente del
tutto compatibili dal punto di vista software.
Corso di Informatica 2007
3 - Architettura di un Elaboratore
16
16
Il clock
Le operazioni di una macchina di Von Neumann
vengono eseguite in sequenza: il numero di
operazioni che essa svolge in un secondo è dato
dalla frequenza di clock.
Le frequenze di clock sono aumentate dai 4.77 MHz
(ovvero 4.77 milioni di operazioni al secondo) dei
primi personal computers IBM agli oltre 3 GHz
(ovvero 3 miliardi di operazioni al secondo) degli
odierni pentium.
La velocità di un computer non dipende però soltanto dalla frequenza di
clock del processore, ma oggi anche (o soprattutto) da altri fattori:
• Velocità di comunicazione con la RAM (bus)
• Quantità di memoria cache
• Quantità di memoria RAM
Corso di Informatica 2007
3 - Architettura di un Elaboratore
17
17
La memoria
La RAM correntemente utilizzata sui PC è oggi di tipo volatile,
basata su tecnologia a semiconduttori. Il tipo più diffuso è la
syncronous dynamic RAM o SDRAM. Dimensioni tipiche della
memoria di un PC sono dell’ordine di 256-512 MB.
I tempi di accesso vanno da qualche ns a qualche decina di ns
Una SDRAM DIMM a 168 pin
Corso di Informatica 2007
3 - Architettura di un Elaboratore
18
18
Dispositivi di I/O
Come già accennato i dispositivi di I/O sono di tipo più vario.
In generale però essi utilizzeranno:
• Un bus di I/O, che permette ai dispositivi ad esso collegati di
comunicare con il resto del sistema
• Una interfaccia hardware fra il dispositivo e il PC
• Un protocollo software per gestire i dati provenienti
dall’interfaccia.
Corso di Informatica 2007
3 - Architettura di un Elaboratore
19
19
La tastiera
Il più utilizzato dispositivo di input. La tastiera comprende più di
100 tasti e permette di introdurre caratteri speciali. La disposizione
“qwerty” è quella storica della macchina da scrivere.
Esc
Tasti funzione
Tasti speciali
Tastiera
alfanumerica
Corso di Informatica 2007
Tastierino numerico
3 - Architettura di un Elaboratore
20
20
Il mouse
Comunissimo dispositivo di input. Dispone di due tasti per
compiere azioni e sempre più spesso di una rotellina per far
scorrere il testo.
Corso di Informatica 2007
3 - Architettura di un Elaboratore
21
21
Memorie di massa
Come già ricordato nei moderni PC la memoria RAM è volatile:
una volta spento il computer tutta l’informazione in essa
contenuta viene perduta.
Esistono però dispositivi di I/O su cui possono essere
memorizzati dati in modo permanente: le memorie di massa.
Si dividono essenzialmente in:
• Dispositivi magnetici: Hard disk, Floppy Disk, Nastri
• Dispositivi ottici: CD, CDROM, CD-R, CD-RW, DVD
Corso di Informatica 2007
3 - Architettura di un Elaboratore
22
22
Hard disk
Cylinder
Head
Corso di Informatica 2007
Sector
Velocità tipiche di
rotazione: 5400-7200
rpm (giri/minuto).
Tempi tipici di accesso:
10-15 ms (seek+latency)
3 - Architettura di un Elaboratore
23
23
Hard disk (II)
La struttura Cylinder-Head-Sector è trasparente per
l’utente, ma viene gestita dal sistema operativo tramite
l’operazione di formattazione del disco. Il settore è
l’unità minima di informazione in lettura/scrittura.
I due standard più diffusi per
gli hard disk sono il
protocollo EIDE (economico
e dalle prestazioni medio
basse) e quello SCSI (più
costoso e dalle prestazioni
elevate). Tipiche capacità
vanno da 40 a 250 GB
Corso di Informatica 2007
3 - Architettura di un Elaboratore
24
24
Floppy disk
Storicamente fra i primi dispositivi di memoria di massa
utilizzati. La capacità è molto ridotta (1.44 MB).
Sono dispositivi molto economici, ma anche
estremamente poco affidabili.
Corso di Informatica 2007
3 - Architettura di un Elaboratore
25
25
Lettori ottici
In questi dispositivi la testina magnetica è sostituita da un raggio laser. La
presenza o assenza di riflessione su una traccia determina la sequenza di 0 e 1 .
La capacità di un disco ottico è generalmente inferiore rispetto a quella di
un hard disk, anche se la densità di memorizzazione è in realtà più elevata.
Ovvi vantaggi sono la portatilità ed economicità del supporto. Si trovano in
commercio diversi tipi di dischi ottici:
•CD audio (558 MB)
•DVD da 4 a 17 GB
•CD 700/800 MB
•2 tipi ±R (a seconda del laser)
•CDROM (sola lettura)
•DVDRAM (sola lettura)
•CD-R (scrivibili 1 volta)
•DVD±R (scrivibili 1 volta)
•CD-RW (riscrivibili)
•DVD±RW (riscrivibili)
Corso di Informatica 2007
3 - Architettura di un Elaboratore
26
26
Altri dispositivi di I/O
Modem: permette di trasmettere informazioni sulla
linea telefonica e di connettersi, tramite un provider,
alla rete Internet
Stampante: permette di stampare pagine di testo,
fotografie, disegni etc. Le più diffuse sono del tipo a
getto di inchiostro, quelle usate in ambiti professionali
sono di tipo laser
Scanner: permette di acquisire in forma digitalizzata
un’immagine, che viene quindi trasformata in un file,
che poi può essere eventualmente ristampato (come in
una fotocopiatrice) o inviato in rete (come in un fax)
Corso di Informatica 2007
3 - Architettura di un Elaboratore
27
27
Il bus USB
Nasce per risolvere in modo generale il problema della connessione di numerose
periferiche al PC. L’idea di fondo è che ogni dispositivo collegato al bus possa
fare da hub, ovvero da fulcro di una rete a stella di altri dispositivi ad esso
collegati.
Fino a 127 dispositivi con velocità di trasferimento
1.5 MB/s (o 12 Mb/s)
I cavi di collegamento forniscono anche una tensione di 5 V.
Limitato dal FANOUT e dalla potenza assorbita
Mouse
Modem
PC
Tastiera
(+ hub)
Corso di Informatica 2007
Scanner
Fotocamera
digitale
Stampante (+hub)
3 - Architettura di un Elaboratore
28
28
Firewire & USB 2.0
• Il bus USB è inadeguato nelle situazioni in cui è richiesta
un’alta velocità di trasferimento dati, come ad es. per
l’utilizzo di dispositivi di memoria di massa esterni.
• Firewire (alias i.Link, ovvero IEEE 1394) e USB 2.0 si
contendono attualmente il mercato per quanto riguarda il
trasferimento dati ad alta velocità rispettivamente di 400
e 480 Mb/s
Corso di Informatica 2007
3 - Architettura di un Elaboratore
29
29
Tenersi aggiornati
Il mondo del PC è in così rapida evoluzione che la maggior
parte delle informazioni di questa presentazione sarà
obsoleta (o quasi) in un tempo piuttosto breve.
Utili informazioni sul mondo del PC e sulla miriade di sigle
incomprensibili che nascono quasi quotidianamente è il sito
(in inglese):
http://www.tomshardware.com
Corso di Informatica 2007
3 - Architettura di un Elaboratore
30
30
Oltre Von Neumann ?
Lo schema di Von Neumann domina la scena dei
calcolatori da ormai più di mezzo secolo…un tempo
lunghissimo in un campo come l’informatica.
L’unico “punto debole” della macchina di Von
Neumann è la sua intrinseca sequenzialità.
I tentativi per superare l’approccio alla Von
Neumann si basano tutti su una qualche forma di
parallelismo.
Corso di Informatica 2007
3 - Architettura di un Elaboratore
31
31
Architettura SIMD
Il primo tipo di architettura parallela ad essere implementato è
stato lo schema Single Instruction Multiple Data stream
Unità di Controllo
ALU
ALU
ALU
ALU
ALU
ALU
RAM
RAM
RAM
RAM
RAM
RAM
Molto efficace per operazioni su dati di tipo vettoriale
Corso di Informatica 2007
3 - Architettura di un Elaboratore
32
32
Architettura MIMD
Uno schema di parallelismo più complesso, e potenzialmente più
potente è quello detto di Multiple Instruction Multiple Data stream
Rete di connessione
CPU
CPU
CPU
CPU
CPU
CPU
RAM
RAM
RAM
RAM
RAM
RAM
Per essere realmente utile richiede la realizzazione di algoritmi paralleli
Corso di Informatica 2007
3 - Architettura di un Elaboratore
33
33
Scarica