Da Turing a Von Neumann
La macchina di Turing
•
•
•
•
Un nastro di lunghezza infinita da cui leggere i dati e
su cui scrivere i risultati
Il nastro può muoversi verso destra e verso sinistra
Una testina di lettura/scrittura
Il programma composta da istruzioni nel seguente
formato :
•
•
[state],[character],[new state],[new character],[direction]
http://www.igs.net/~tril/tm/tm.html
2
Modello di Von Neumann
Modello di riferimento
per gran parte dei
sistemi attuali.
Proposto da un ricercatore
americano, Von
Neumann, nei tardi anni
’40 all’Institute for
Advanced Study di
Princeton.
3
Modello di Von Neumann
Bus di informazioni
CPU
Memoria
Periferiche
centrale
di I/O
Bus di controlli
4
Schematizzazione dell’hardware
INPUT
CPU
Memoria
OUTPUT
5
Hardware
Una prima scomposizione in elementi
funzionali:

Unità centrale di elaborazione (CPU)
Processori Pentium, Celeron, etc.

Memoria
M. Centrale di tipo elettronico e M. di massa

Dispositivi di Input ed Output
Tastiera, mouse, monitor, stampante, etc.
6
Il software
Tutto ciò che può essere
preteso dall’hardware
(definizione ampia)
 Software di Base
 (es. Sistema Operativo)
 Software applicativo
7
Il ruolo del software
Solo hardware
hardware+software
ferraglia inerme
macchina capace di elaborare
8
Central Processing Unit
Svolge le funzioni di controllo di
tutto il sistema:
Esegue calcoli
 Svolge operazioni logiche
 Controlla le operazioni di tutte le unità
operative
 Coordina e controlla la sequenza delle
operazioni

9
I MICROPROCESSORI
10
Componenti della CPU
Unità di Controllo (Control Unit) che
controlla e coordina l’attività della CPU



controlla il trasferimento delle istruzioni dalla
memoria centrale ai registri della CPU
Interpreta le istruzioni
attiva i segnali per gli organi preposti
all’esecuzione
ALU (Arithmetic Logic Unit) che esegue le
operazioni aritmetiche e logiche
11
Memoria centrale
Serve a conservare (memorizzare)
dati e
 programmi.
Ha dimensioni limitate, è volatile (perde il suo
contenuto quando si spegne il calcolatore) e
consente un accesso alle informazioni in tempi
molto brevi.

La CPU esegue solo i programmi
che trova in memoria e tratta solo i
dati in essa contenuti
12
I registri di memoria
La memoria è organizzata in contenitori
di informazioni.
Ognuno di essi è
detto registro e in
molti sistemi
coincide con il byte
Il numero di
registri è detto
capacità di
memoria
I registri
vengono
individuati
dalla loro
posizione (un
numero) che
viene detto
indirizzo
13
Dispositivi di input ed output
Senza di essi la CPU non potrebbe
comunicare con l’esterno
 Dati e programmi possono così essere
inseriti in memoria
 I risultati possono fluire dalla memoria
verso i dispositivi di output
14
Memoria di massa
Alla memoria centrale si affianca una
memoria secondaria per:


Memorizzare grandi quantità di informazioni
Rendere persistente la loro memorizzazione


Dischi magnetici o ottici
Però, con un accesso meno rapido ad esse
Le informazioni per essere
elaborate devono essere sempre
portate nella memoria centrale
15
I bus
Tutti i componenti del modello sono
collegati tra loro per scambiarsi
informazioni
La CPU è collegata a tutti i componenti
per abilitarne l’attivazione in modo
sincronizzato e coordinato
16
Schema di dettaglio
Processore (CPU)
Unità di
controllo
Unità
Aritmetica
Memoria
centrale
Unità di
ingresso
Unità di
uscita
Memoria
di massa
Controllo
Informazioni
17
I registri interni
Per rendere più veloce il funzionamento della
CPU, un pò di memoria (alcuni registri) è
stata inserita direttamente in essa
PC
CU
ALU
op1
op2
R
IR
Informazioni
Controli
18
Un esempio di funzionamento
In memoria è collocato un piccolo
programma:
I1 - Input primo numero
 I2 - Input secondo numero
 I3 - Somma i due numeri
 I4 - Output risultato

19
Esecuzione di I1
CU
Input
150
ALU
1
I1
I1
I2
I3
I4
150
Output
20
Esecuzione di I2
CU
Input
330
ALU
2
1
I1
I2
I1
I2
I3
I4
150
330
Output
21
Esecuzione di I3
CU
Input
ALU
3
1
2
I1
I2
I3
150
330
480
I1
I2
I3
I4
150
330
480
Output
22
Esecuzione di I4
CU
Input
ALU
4
1
2
3
I1
I2
I3
I4
150
330
480
I1
I2
I3
I4
150
330
480
Output
480
23
Il clock
Tutte le attività vengono sincronizzate
da un segnale generato in modo
regolare da un orologio interno.
Più velocemente
è scandito il
tempo più
velocemente il
sistema opera
24
Il clock
Il clock è un segnale periodico
generato utilizzando un cristallo al
quarzo e si misura in MHz
Oggi anche 3000 MHz
Il clock dà la base dei tempi necessaria per
mantenere il sincronismo fra le operazioni, in
particolare fornisce la tempistica da rispettare
per i trasferimenti dei dati all’interno e
all’esterno della CPU.
25
Caratteristiche
Le caratteristiche di una macchina di
Von Neumann sono:







Flessibilità operativa
Grande velocità elaborativa
Affidabilità enorme
Costi adeguati
Grande capacità di memoria
Flessibilità di collegamenti di input e output
Schema di funzionamento semplice
26
Velocità
I parametri che mettono in luce la
velocità di calcolo sono:
 MIPS


milioni di istruzioni base eseguite in un
secondo
MFLOP

milioni di istruzioni in virgola mobile
eseguite in un secondo
27
Velocità
SPECint: indice di riferimento ottenuto
eseguendo un insieme di programmi
prestabilito orientati alle applicazioni
commmerciali
SPECfp: indice di riferimento ottenuto
eseguendo un insieme di programmi
prestabilito orientati alle applicazioni
scientifiche (float point)
28
Affidabilità
Esecutori fedeli dell’algoritmo in memoria


Sia se esso descriva correttamente il
processo desiderato
Sia se ciò non è vero!
Un ciuccio sapiente
29
Tolleranza ai guasti
Errori dovuti a malfunzionamento
dell’Hardware possono essere rilevati in
maniera automatica
Alcuni sistemi vengono progettati in modo da
garantire la continuità del funzionamento in
presenza di guasti

Ridondanza delle parti essenziali
(ad es. due processori)
30
Flessibilità operativa
Cambiando l’algoritmo in memoria, si
cambia il comportamento del sistema




Calcola la contabilità
Esegue disegni in scale diverse
Studia le deformazioni di una trave
……
Un infinità di
macchine virtuali
diverse
31
Costo dei sistemi



I costi dei sistemi spaziano in un
intervallo molto ampio
Fissata una famiglia di sistemi si nota
che i costi dell’hardware diminuiscono
rapidamente nel tempo
I costi del software hanno, invece una
tendenza diversa: crescono!
In generale si può affermare che il costo
di un sistema è basso se confrontato con
il lavoro umano necessario a portare a
termine la stessa mole di lavoro
32
Scarica

Lezione 2 a