architettura dei calcolatori 12 storia
DESCRIPTION
TRANSCRIPT
Dispense del corso diArchitettura dei CalcolatoriArchitettura dei Calcolatori
Dall’8086 all’IA-64
Architettura dei calcolatori a.a. 2007/2008
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)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 transistors2005 Itanium2 (Montecito) dual core 1.7 miliardi di transistors
Architettura dei calcolatori a.a. 2007/2008
Intel Pentium
Architettura a 32 bit IA-32
Architettura dei calcolatori a.a. 2007/2008
Intel Pentium
Architettura dei calcolatori a.a. 2007/2008
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• 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 modellosegmento stesso ( se si supera il limite fissato si genera una eccezione. Spesso pero si usa il modello 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
O di t littl di• Ordinamento little endian• 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)
Architettura dei calcolatori a.a. 2007/2008
Confronti tra CPU intel
Architettura dei calcolatori a.a. 2007/2008
Confronti tra CPU intel
Architettura dei calcolatori a.a. 2007/2008
Crescita frequenza CPU IntelCrescita frequenza CPU Intel36004000 3600
30003500
200025003000
1300
100015002000
5 8 16 25 60 150 233 450500
1000
0(1979)8086
(1985)386DX
(1993)PENTIUM
(1997)PENTIUM
(2000)PENTIUM8086 386DX PENTIUM PENTIUM
IIPENTIUM
4
Architettura dei calcolatori a.a. 2007/2008
Architettura IA-32
• Inizialmente di tipo CISC• Registri a 32 bit (Limite 4GB)• Compatibilità codice x86• Compatibilità codice x86• 80386, 80486,Pentium, …
Architettura dei calcolatori a.a. 2007/2008
Micro-architettura NetBurst
• Architettura superscalare (RISC)
• Out-of-order execution• Branch predictionp• Register renaming• Data prefetch
SIMD• SIMD
• Maggiori prestazioni, ma anche maggiore gg p ggcomplessità
Architettura dei calcolatori a.a. 2007/2008
Architettura dei calcolatori a.a. 2007/2008
Architettura IA-64
• Registri a 64 bit • RAM indirizzabile = 18 milioni di TByte• Incompatibile con il codice x86• Nuova filosofia di progetto EPIC
Architettura dei calcolatori a.a. 2007/2008
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
Architettura dei calcolatori a.a. 2007/2008
Risultato dei test effettuati
IA-32 IA-64IA 32 IA 64
N di istruzioni 1 758 000 0002.310.134.138
(+31%)N. di istruzioni 1.758.000.000 (+31%)
727.303.163 Cicli di clock 1.371.971.750 (-47%)
CPI 0 78 0 31 (-60%)CPI 0,78 0,31 ( 60%)
N. di nop di DCT -118
(25% di 471)