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:
Architettura di un elaboratore
•La memoria
•L’unità aritmetico logica (ALU)
•
•
•
Ciclo fondamentale della macchina
di Von Neumann
Uno sguardo ai PC
Oltre Von Neumann ?
Processore
•L’unità di controllo
•Le unità di Ingresso/Uscita (I/O)
Corso di Informatica 2005-2006
2
3 - Architettura di un Elaboratore
Esecuzione di un programma:
instruction fetch
Esecuzione di un programma
RAM
CU
…
0001
…
0010
…
0011
00010001
indirizzi
0001000111110000
0000
Bus
IR
dati
Ciclo di esecuzione di un programma:
•Instruction fetch
•Decodifica
•Esegui
controlli
PC: 0011
Bus
++
Bus
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:
0100
11110000
0101
…
0110
…
0111
…
F/S: F MAR:
0011
MDR: 0001000111110000
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
3
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
4
Esecuzione di un programma:
decodifica
CU
IR
R1:
R2:
R2:
R15: 25
R15: 25
R15: 25
R24: 33
R24: 33
R24: 58
R2:
01111 =R15
PC: 0101
R1:
R1:
000100=ADD
ADD
R15
R24
11000 = R24
0001000111110000
SR:
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
5
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
Dimensione della cache limitata da:
•Costo elevato
•Aumento di complessità del processore
3 - Architettura di un Elaboratore
6
3 - Architettura di un Elaboratore
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
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.
Corso di Informatica 2005-2006
Corso di Informatica 2005-2006
Clock e pipelining
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.
Cache
SR: +
SR:
Buffer e cache
CPU
ALU
ALU
ALU
Decodifica
++
Esecuzione di un programma:
esecuzione dell’istruzione
Decodifica
Esecuzione
Instruction Fetch
7
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
8
CISC vs RISC
Complex Instructions Set
Computer
Il pentium, prodotto da Intel è il più diffuso processore per
personal 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 2005-2006
Un esempio di CISC: il Pentium
3 - Architettura di un Elaboratore
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.
9
Utilizzato in molte workstation Unix, l’Ultra SPARC I
possiede alcune delle caratteristiche migliori del Pentium:
due livelli di cache, dynamic branch prediction.
10
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
Inoltre possiede un bus a 128 bit fra memoria e processore
e una doppia pipeline. Una graphics unit permette di
gestire applicazioni 2D-3D.
3 - Architettura di un Elaboratore
3 - Architettura di un Elaboratore
Prestazioni di un calcolatore
(I)
Unità “assolute”:
Un esempio di RISC: SUN SPARC
Corso di Informatica 2005-2006
Corso di Informatica 2005-2006
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
11
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
12
Prestazioni di un calcolatore
(II)di programmi scritti in un
Concetto di benchmark: un insieme
Uno sguardo ai PC
linguaggio di alto livello (e quindi portabili da un calcolatore
all’altro).
SPEC: Standard Performance Evaluation Corp.
(http://www.specbench.org)
I personal computers (PC) sono oggi i più diffusi strumenti
informatici. Vediamone le caratteristiche più importanti.
Esempio: SPECint2000 (e SPECfp2000)
Un case formato ATX
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
13
Corso di Informatica 2005-2006
La scheda madre
3 - Architettura di un Elaboratore
14
Il processore
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 2005-2006
3 - Architettura di un Elaboratore
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.
15
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
16
Il clock
La memoria
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 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
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 2005-2006
3 - Architettura di un Elaboratore
Una SDRAM DIMM a 168 pin
17
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
Dispositivi di I/O
La tastiera
Come già accennato i dispositivi di I/O sono di tipo più vario.
In generale però essi utilizzeranno:
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
•Un bus di I/O, che permette ai dispositivi ad esso
collegati di comunicare con il resto del sistema
Tasti funzione
18
Tasti speciali
•Una interfaccia hardware fra il dispositivo e il PC
•Un protocollo software per gestire i dati provenienti
dall’interfaccia.
Tastiera
alfanumerica
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
19
Corso di Informatica 2005-2006
Tastierino numerico
3 - Architettura di un Elaboratore
20
Il mouse
Memorie di massa
Comunissimo dispositivo di input. Dispone di due tasti per
compiere azioni e sempre più spesso di una rotellina per far
scorrere il testo.
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 2005-2006
21
3 - Architettura di un Elaboratore
Corso di Informatica 2005-2006
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.
Cylinder
Corso di Informatica 2005-2006
Sector
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
Velocità tipiche di
rotazione: 5400-7200
rpm (giri/minuto).
Tempi tipici di accesso:
10-15 ms (seek+latency)
3 - Architettura di un Elaboratore
22
Hard disk (II)
Hard disk
Head
3 - Architettura di un Elaboratore
23
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
24
Lettori ottici
Floppy disk
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:
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.
•CD audio (558 MB)
•CDROM, sola lettura , 640 MB
•CD-R, 640 MB, scrivibili 1 volta
•CD-RW, 640 MB riscrivibili
•DVD da 4 a 17 GB
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
25
Corso di Informatica 2005-2006
Altri dispositivi di I/O
Il bus USB
Nasce per risolvere in modo generale il problema della
connessione di numerose periferiche al PC.
Modem: permette di trasmettere informazioni sulla
linea telefonica e di connettersi, tramite un provider,
alla rete Internet
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. In tal modo si
possono collegare 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.
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
Mouse
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 2005-2006
3 - Architettura di un Elaboratore
26
3 - Architettura di un Elaboratore
Modem
PC
Tastiera
(+ hub)
27
Corso di Informatica 2005-2006
Scanner
Fotocamera
digitale
Stampante (+hub)
3 - Architettura di un Elaboratore
28
Tenersi aggiornati
Firewire & USB 2.0
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.
• 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.
Utili informazioni sul mondo del PC e sulla miriade di sigle
incomprensibili che nascono quasi quotidianamente è il sito
(in inglese):
http://www.tomshardware.com
• 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 2005-2006
3 - Architettura di un Elaboratore
29
Corso di Informatica 2005-2006
30
3 - Architettura di un Elaboratore
Architettura SIMD
Oltre Von Neumann ?
Il primo tipo di architettura parallela ad essere implementato è
stato lo schema Single Instruction Multiple Data stream
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.
Unità di Controllo
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.
ALU
ALU
ALU
ALU
ALU
ALU
RAM
RAM
RAM
RAM
RAM
RAM
Molto efficace per operazioni su dati di tipo vettoriale
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
31
Corso di Informatica 2005-2006
3 - Architettura di un Elaboratore
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 2005-2006
3 - Architettura di un Elaboratore
33