2. a.a. 2007/2008
Architettura dei calcolatori
La storia dei calcolatori elettronici (microprocessori)
1978 Intel 8086 – primo processore di seconda generazione in grado di indirizzare oltre a 64kB – seguito da
MC68000 e Z8000
1979 Intel 8088 – processore a 8 bit con architettura int. a 16 bit
1979 IBM 801 – primo processore RISC (32 bit)
1982 RISC I – University of Berkley
1983 MIPS – University of Standford
1984 MC68020 – prima CPU con cache istruzioni integrata
1985 Intel 80386 – prima CPU a 32 bit con MMU integrata
1987 MC68030 – prima CPU con cache separate e MMU (32 bit)
1989 MC68040 – prima CPU con anche FPU
1989 Intel 80486
inizi ’90 PowerPC – da unione IBM, Apple e Motorola
1993 Pentium – nuova architettura superscalare e ILP
1994…Pentium II, Pentium III,
2000-2003Pentium IV, 180 milioni di transistors Pentium M (Centrino),
2004 Itanium IA64…..
2005 Itanium2 (Montecito) dual core 1 7 miliardi di transistors
1.7
5. a.a. 2007/2008
Architettura dei calcolatori
ISA 8086-Pentium
ISA 8086
• Spazio di indrizzamento a 20 bit (1MBYTE), indirizzabile in modo segmentato con registri di segmento,
piu’ i vari modi di indirizzamento
• Spazio di I/O a 16 bit 64Kbyte indirizzabile con DX
• permette il non allineamento con parole a 8 o 16 bit, ordinamento little endian
• registri non ortogonali a 8 e 16 bit permette l’indirizzamento di una memoria a stack di tipo Last in First
out tramite le istruzioni push e pop ed i registri (impliciti) SS:SP
ISA Pentium
• Spazio di indrizzamento a 32 bit ( 4 GBYTE), indirizzabile in modo segmentato con registri di segmento
che sono puntatori a locazioni di memoria in cui e’ contenuto il vero indirizzo di segmento ed il limite del
segmento stesso ( se si supera il limite fissato si genera una eccezione Spesso pero’ si usa il modello
eccezione. pero
lineare mettendo tutti i registri a 0
• Spazio di I/O a 16 bit 64Kbyte indirizzabile con DX
• permette il non allineamento con parole a 8 o 16 o 32 bit
• Ordinamento littl endian
O di t little di
• registri non ortogonali a 8 16 e 32 bit
• permette l’indirizzamento di una memoria a stack di tipo Last in First out tramite le istruzioni push e pop
ed i registri (impliciti) SS:SP
• ha registri per la gestione di SO multitask (ad es GSR global status register)
9. a.a. 2007/2008
Architettura dei calcolatori
Architettura IA-32
• Inizialmente di tipo CISC
• Registri a 32 bit (Limite 4GB)
• Compatibilità codice x86
• 80386, 80486,Pentium, …
10. a.a. 2007/2008
Architettura dei calcolatori
Micro-architettura NetBurst
• Architettura superscalare (RISC)
• Out-of-order execution
• Branch prediction
p
• Register renaming
• Data prefetch
• SIMD
• Maggiori p
gg prestazioni, ma anche maggiore
gg
complessità
12. a.a. 2007/2008
Architettura dei calcolatori
Architettura IA-64
• Registri a 64 bit
• RAM indirizzabile = 18 milioni di TByte
• Incompatibile con il codice x86
• Nuova filosofia di progetto EPIC
13. a.a. 2007/2008
Architettura dei calcolatori
Test effettuati
• Decoder Mpeg v2
• Compilatore C a 32 bit: SuSE gcc v3.3.1
• Cross-compilatore a 64 bit: gcc v2.96
• Cross-compilatore a 64 bit ottimizzato per Itanium 2: gcc ORC v2.1
14. a.a. 2007/2008
Architettura dei calcolatori
Risultato dei test effettuati
IA 32
IA-32 IA 64
IA-64
2.310.134.138
N.
N di istruzioni 1.758.000.000
1 758 000 000 (+31%)
727.303.163
Cicli di clock 1.371.971.750 (-47%)
CPI 0,78
0 78 0,31 (-60%)
0 31 ( 60%)
118
N. di nop di DCT - (25% di 471)