Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.
-
Upload
piero-bertoni -
Category
Documents
-
view
256 -
download
2
Transcript of Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.
![Page 1: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/1.jpg)
Architettura von Neumann
A.Marchetti Spaccamela
![Page 2: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/2.jpg)
Architettura CPU
![Page 3: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/3.jpg)
Sottosistema memoria
![Page 4: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/4.jpg)
Prelievo dalla memoria di un’istruzione
Passi esguiti sotto il comando dell'Unità di Controllo:1. Copiare il contenuto del PC nel MAR (in MAR va
l'indirizzo della prossima istruzione da eseguire)2. Impostare la linea di controllo per comunicare alla
memoria la richiesta di lettura3. Aspettare il reperimento dell'istruzione da parte
della memoria4. Copiare il contenuto di MDR nel registro istruz. IR
il passo 3 è necessario: non esiste un sistema di memoria che fornisce i dati richiesti in tempo zero.
![Page 5: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/5.jpg)
• HALT (arresto del programma) • LOAD X IND (Leggi la cella indir. IND e trasferisci il dato reg. X) • LOADC X VALORE (Inizializza il reg X con VALORE, specificato)• STORE X IND (Scrivi il valore reg X nella cella di indirizzo IND) • ADD X,Y,Z (Esegui X=Y+Z, dove X, Y e Z sono registri)• SUB X,Y,Z (Esegui X=Y-Z, dove X, Y e Z sono registri)• MULT X,Y,Z (Esegui X=Y*Z, dove X, Y e Z sono registri)• DIVIDE X,Y,Z (Esegui $X=Y/Z$, dove X, Y e Z sono registri)• SQRT X,Y Esegui $X=\sqrt{Y}$, dove X e Y sono registri)• READ IND (Leggi un valore in ingresso e ponilo cella indir. IND)• WRITE (Scrivi in uscita il valore della cella di memoria IND)• JUMP SALTO (Salta all’istruzione memorizzata in SALTO)• JUMPIFZERO X, SALTO (Salta a SALTO se reg. X è zero) • JUMPIFNEG X,SALTO (Salta a SALTO se il registro è negativo)
![Page 6: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/6.jpg)
Programma somma tre numeriREAD 1000 READ 1001READ 1002LOAD R1 1000LOAD R2 1001LOAD R3 1002ADD R1,R2,R4ADD R4,R3,R4STORE R4 1003WRITE 1003HALT
![Page 7: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/7.jpg)
PROGRAMMA SOLUZIONE EQUAZIONE II GRADO
Si assume che i valori a,b,c siano memorizzati nelle celle 100,101,102 e che ilprogramma sia memorizzato a partire dalla cella 1000)
LOAD R1 100 LOAD R2 101 LOAD R3 102 LOADC R4 4 (pone la costante 4 nel registro R4MULT R2 R2 R2MULT R4 R3 R4MULT R4 R1 R4 (ora R4 contiene 4ac)SUB R3 R2 R4 (ora R3 contiene b2 − 4ac)JUMPIFNEG R3 1021 (se b2 − 4ac `e negativo non esistono
soluzioni reali e il programma termina senza stampare valori, l’istruzione 1021 è l’istruzione HALT)
![Page 8: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/8.jpg)
Si assume che i valori a,b,c siano memorizzati nelle celle 100,101,102 e che il programma sia memorizzato a partire dalla cella 1000)
… continua: si calcolano le soluzioni realiSQRT R3 R3LOADC R4 2MULT R1 R1 R4 (pone in R1 il valore 2a)LOAD R2 101SUB R4 R2 R3 DIV R4 R4 R1 (pone in R4 la soluzione b−b2−4ac) 2a√b2 − 4acSTORE R4 103 (memorizza in 103 la prima soluzione trovata)ADD R4 R2 R3 (questa istruzione pone R4 pari a b + √DIV R4 R4 R1 (pone in R3 la soluzione b+b2+4ac) 2a√b2 + 4acSTORE R4 104 )memorizza in 104 la seconda soluzione trovata)WRITE 103 (questa istruzione e la successiva stampano i risultatiWRITE 104 HALT
![Page 9: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/9.jpg)
Programma Python equazione II grado
import math a=1 b=3 c=1 d=b*b-4*a*c if d>0:
s1=(-b+math.sqrt(d))/(2*a) s2=(-b-math.sqrt(d))/(2*a) print s1, s2
else: print ’soluzioni complesse’
![Page 10: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/10.jpg)
Legge di Moore
Il numero di transistor per mm raddoppia ogni 24 mesi
![Page 11: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/11.jpg)
P6Pentium ® proc
486386
28680868085
8080
80084004
0.1
1
10
100
1000
10000
1970 1980 1990 2000 2010Year
Fre
qu
ency
(M
hz)
Courtesy, Intel
FrequenzaLa frequenza di clock raddoppia ogni due anni circaOltre 3GhZ ci sono difficoltà da superare: energia e problemi elettrici fondamentali
La frequenza di clock raddoppia ogni due anni circaOltre 3GhZ ci sono difficoltà da superare: energia e problemi elettrici fondamentali
![Page 12: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/12.jpg)
Il calore sviluppato e’ molto alto
40048008
80808085
8086286
386486
PentiumP1
P2
P4
Pentium Tejascancelled!
P3
Hot-plate
NuclearReactor
STOP !!!
Year
Power density (W/cm2)
4Ghz sembra il limite tecnologico non superabile
![Page 13: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/13.jpg)
Mantenere la legge di Moore
• Stiamo ragiungendo i limiti fisici in termini di velocità
• Usare le possibilità di avere circuiti più densi in modo diverso
Molte CPU su un unico chip !
![Page 14: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/14.jpg)
Cosa è questo? 1979 - David May’s B0042 board - 42 Transputers
![Page 15: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/15.jpg)
L’invasione multicore
• Intel’s Core 2, Itanium, Xeon: 2, 4 cores• AMD’s Opteron, Athlon 64 X2, Phenom: 2, 4 cores • IBM’s POWER7: 8 cores• IBM-Toshiba-Sony Cell processor: 8 cores (PSX3)• Sun’s Niagara UltraSPARC: 8 cores• Microsoft’s Xenon: 3 cores (Xbox 360)• Tilera’s TILE64: 64-core• Others (network processors, DSP, GPU,…)
![Page 16: Architettura von Neumann A.Marchetti Spaccamela. Architettura CPU.](https://reader036.fdocuments.net/reader036/viewer/2022081421/5542eb6b497959361e8d8411/html5/thumbnails/16.jpg)
P2012 SoC: 64 core su un chip
P2012 Fabric
L2 (memoria)L2 (memoria)
L3 (memoria)L3 (memoria)
Cluster 0Cluster 0 Cluster 1Cluster 1
Cluster 2Cluster 2 Cluster 3Cluster 3
ARM Host
FCFC
Progetto architettura ST Microelectronics 2009-2012
Homogeneous SoC – 64+4 FP processors no HW-accel