Principes fondamentaux d`architecture

publicité
Principes fondamentaux d’architecture
Architecture des microprocesseurs – GIF-3000
Professeur : Robert Bergevin
Semaine 1 : 1er septembre 2015
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
1 / 53
Partie I
Éléments d’architecture des ordinateurs
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
2 / 53
Progression des performances des ordinateurs
Un ordinateur récent de moins de 500 $ est plus performant, a plus de
mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 !
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
3 / 53
Progression des performances des ordinateurs
Un ordinateur récent de moins de 500 $ est plus performant, a plus de
mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 !
Améliorations technologiques
I
I
Loi de Moore : le nombre de transistors dans un circuit intégré double à
chaque deux ans
Microprocesseurs : amélioration des performances de 35 % par année
depuis fin des années 1970
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
3 / 53
Progression des performances des ordinateurs
Un ordinateur récent de moins de 500 $ est plus performant, a plus de
mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 !
Améliorations technologiques
I
I
Loi de Moore : le nombre de transistors dans un circuit intégré double à
chaque deux ans
Microprocesseurs : amélioration des performances de 35 % par année
depuis fin des années 1970
Amélioration des architectures (1985-2002)
I
Croissance cumulées (technologie + architecture) de 52 % par ans !
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
3 / 53
Progression des performances des ordinateurs
Un ordinateur récent de moins de 500 $ est plus performant, a plus de
mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 !
Améliorations technologiques
I
I
Loi de Moore : le nombre de transistors dans un circuit intégré double à
chaque deux ans
Microprocesseurs : amélioration des performances de 35 % par année
depuis fin des années 1970
Amélioration des architectures (1985-2002)
I
Croissance cumulées (technologie + architecture) de 52 % par ans !
Conditions propices à l’émergence de nouvelles architectures
I
I
Fin de la programmation d’applications en code assembleur
Émergence de systèmes d’exploitation standardisés, indépendants des
fabricants (ex. UNIX/Linux)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
3 / 53
Augmentation des performances des ordinateurs
100,000
Performance (vs. VAX-11/780)
10,000
Intel Xeon 6 cores, 3.3 GHz (boost to 3.6 GHz)
Intel Xeon 4 cores, 3.3 GHz (boost to 3.6 GHz)
Intel Core i7 Extreme 4 cores 3.2 GHz (boost to 3.5 GHz)
24,129
Intel Core Duo Extreme 2 cores, 3.0 GHz
21,871
19,484
Intel Core 2 Extreme 2 cores, 2.9 GHz
14,387
AMD Athlon 64, 2.8 GHz
11,865
AMD Athlon, 2.6 GHz
Intel Xeon EE 3.2 GHz
7,108
Intel D850EMVR motherboard (3.06 GHz, Pentium 4 processor with Hyper-Threading Technology)
6,043 6,681
4,195
IBM Power4, 1.3 GHz
3,016
Intel VC820 motherboard, 1.0 GHz Pentium III processor
1,779
Professional Workstation XP1000, 667 MHz 21264A
1,267
Digital AlphaServer 8400 6/575, 575 MHz 21264
993
AlphaServer 4000 5/600, 600 MHz 21164
649
Digital Alphastation 5/500, 500 MHz
481
Digital Alphastation 5/300, 300 MHz
280
Digital Alphastation 4/266, 266 MHz
183
IBM POWERstation 100, 150 MHz
117
Digital 3000 AXP/500, 150 MHz
80
HP 9000/750, 66 MHz
51
1000
100
10
IBM RS6000/540, 30 MHz
MIPS M2000, 25 MHz
18
MIPS M/120, 16.7 MHz
13
Sun-4/260, 16.7 MHz
9
VAX 8700, 22 MHz
5
24
22%/year
52%/year
AX-11/780, 5 MHz
25%/year
1.5, VAX-11/785
1 1
1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
4 / 53
Renaissance des architectures d’ordinateurs
Impacts de cette renaissance (1985-2002)
I
I
I
I
Augmentation remarquable de la capacité de calcul disponible à
l’utilisateur (25 000× depuis 1978)
Émergence de nouvelles classes d’ordinateurs
Dominance de systèmes basés sur des microprocesseurs dans l’ensemble
des classes d’ordinateurs
Paradigmes de développement logiciel plus productifs pour l’humain,
moins performants sur la machine
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
5 / 53
Renaissance des architectures d’ordinateurs
Impacts de cette renaissance (1985-2002)
I
I
I
I
Augmentation remarquable de la capacité de calcul disponible à
l’utilisateur (25 000× depuis 1978)
Émergence de nouvelles classes d’ordinateurs
Dominance de systèmes basés sur des microprocesseurs dans l’ensemble
des classes d’ordinateurs
Paradigmes de développement logiciel plus productifs pour l’humain,
moins performants sur la machine
Cette renaissance est terminée
I
I
Gain de 22 % par an seulement depuis 2003
Causes
F
F
Limites à la puissance pouvant être dissipée
Limites à la capacité d’effectuer plus de parallélisme d’instructions
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
5 / 53
Renaissance des architectures d’ordinateurs
Impacts de cette renaissance (1985-2002)
I
I
I
I
Augmentation remarquable de la capacité de calcul disponible à
l’utilisateur (25 000× depuis 1978)
Émergence de nouvelles classes d’ordinateurs
Dominance de systèmes basés sur des microprocesseurs dans l’ensemble
des classes d’ordinateurs
Paradigmes de développement logiciel plus productifs pour l’humain,
moins performants sur la machine
Cette renaissance est terminée
I
I
Gain de 22 % par an seulement depuis 2003
Causes
F
F
Limites à la puissance pouvant être dissipée
Limites à la capacité d’effectuer plus de parallélisme d’instructions
Passage à de nouvelles formes de parallélisme
I
I
Avant : parallélisme d’instructions (caché au programmeur)
Maintenant : parallélisme de données et multifilaire (explicite)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
5 / 53
Architecture RISC
RISC : Reduced Instruction Set Computer
I
I
I
I
Utiliser des jeux d’instruction simples
Code machine généré par un compilateur
Exploitation du parallélisme d’instructions
Utilisation de caches
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
6 / 53
Architecture RISC
RISC : Reduced Instruction Set Computer
I
I
I
I
Utiliser des jeux d’instruction simples
Code machine généré par un compilateur
Exploitation du parallélisme d’instructions
Utilisation de caches
Impacts profonds dans le monde des microprocesseurs
I
I
I
Disparitions d’architecture rendues désuètes (ex. VAX de DEC)
Intel : traduction du jeu d’instructions x86 (et x86-64) en jeu interne
RISC
ARM : architecture RISC, qui est dominante pour les dispositifs
mobiles personnels
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
6 / 53
Classes d’ordinateurs (1/2)
Dispositifs mobiles personnels (100 $ à 1000 $)
I
I
I
Dispositifs sans fil avec interface utilisateur (ex. téléphones cellulaires,
tablettes électroniques)
Réduction du coût et bonne efficacité énergétique
Capacité à répondre rapidement pour des applications multimédia
(temps réel souple)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
7 / 53
Classes d’ordinateurs (1/2)
Dispositifs mobiles personnels (100 $ à 1000 $)
I
I
I
Dispositifs sans fil avec interface utilisateur (ex. téléphones cellulaires,
tablettes électroniques)
Réduction du coût et bonne efficacité énergétique
Capacité à répondre rapidement pour des applications multimédia
(temps réel souple)
Ordinateurs de bureau et portables (300 $ à 2500 $)
I
Optimisation prix-performance
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
7 / 53
Classes d’ordinateurs (1/2)
Dispositifs mobiles personnels (100 $ à 1000 $)
I
I
I
Dispositifs sans fil avec interface utilisateur (ex. téléphones cellulaires,
tablettes électroniques)
Réduction du coût et bonne efficacité énergétique
Capacité à répondre rapidement pour des applications multimédia
(temps réel souple)
Ordinateurs de bureau et portables (300 $ à 2500 $)
I
Optimisation prix-performance
Serveurs (5000 $ à 10 000 000 $)
I
Fiabilité des systèmes
F
I
Passage à l’échelle
F
I
Pannes de serveurs peuvent être très coûteuses pour une entreprise
Doit pouvoir répondre à des demandes accrues (traitement, stockage,
E/S)
Capacité de traitement
F
Nombre de requêtes traitées par unité temporelle
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
7 / 53
Classes d’ordinateurs (2/2)
Centres informatiques (100 000 $ à 200 000 000 $)
I
I
I
I
I
Stations de travail ou de serveurs connectés par un réseau local, se
comportant comme un seul ordinateur
Connaı̂t une forte croissance, entre autres avec la popularité de
l’infonuagique (logiciel en tant que service)
Rapport prix-performance important, étant donné leurs tailles
Disponibilité essentielle, possible par une forte redondance des
composantes
Supercalculateurs sont similaires sur plusieurs points, mais diffèrent par
l’emphase sur la performance et une réseautique performante
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
8 / 53
Classes d’ordinateurs (2/2)
Centres informatiques (100 000 $ à 200 000 000 $)
I
I
I
I
I
Stations de travail ou de serveurs connectés par un réseau local, se
comportant comme un seul ordinateur
Connaı̂t une forte croissance, entre autres avec la popularité de
l’infonuagique (logiciel en tant que service)
Rapport prix-performance important, étant donné leurs tailles
Disponibilité essentielle, possible par une forte redondance des
composantes
Supercalculateurs sont similaires sur plusieurs points, mais diffèrent par
l’emphase sur la performance et une réseautique performante
Ordinateurs embarqués (10 $ à 100 000 $)
I
I
I
I
I
Dispositifs variés : micro-ondes, imprimantes, voitures, routeurs, etc.
Variété de capacités de traitement et de coûts
Souvent, performances temps réel exigées
Applications où on doit minimiser la consommation en mémoire et en
énergie
Capacité très limitée d’installation de logiciels d’application par
l’utilisateur
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
8 / 53
Classes et approches de parallélisme
Classes de parallélismes
I
I
Parallélisme de données : plusieurs données peuvent être traitées
simultanément
Parallélisme de tâches : plusieurs tâches peuvent être traitées
indépendamment et largement en parallèle
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
9 / 53
Classes et approches de parallélisme
Classes de parallélismes
I
I
Parallélisme de données : plusieurs données peuvent être traitées
simultanément
Parallélisme de tâches : plusieurs tâches peuvent être traitées
indépendamment et largement en parallèle
Approches pour exploiter le parallélisme
I
I
I
I
Parallélisme d’instructions : exploite le parallélisme de données, à
l’aide du compilateur, d’un pipeline et d’une exécution spéculative
Architectures vectorielles et GPU : exploite le parallélisme de
données en appliquant une instruction à un ensemble de données
Parallélisme multifilaire : effectue du parallélisme à l’aide de matériel
permettant interaction étroite entre plusieurs fils d’exécution parallèles
Parallélisme de requêtes : permet un parallélisme par l’exécution de
tâches fortement découplées
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
9 / 53
Taxonomie de Flynn (1966)
Single Instruction, Single Data stream (SISD) : ordinateurs à un
processeur
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
10 / 53
Taxonomie de Flynn (1966)
Single Instruction, Single Data stream (SISD) : ordinateurs à un
processeur
Single Instruction, Multiple Data stream (SIMD) : la même
instruction est exécutée sur plusieurs processeurs, permettant ainsi un
parallélisme de données
I
Correspond aux architectures vectorielles et aux GPU
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
10 / 53
Taxonomie de Flynn (1966)
Single Instruction, Single Data stream (SISD) : ordinateurs à un
processeur
Single Instruction, Multiple Data stream (SIMD) : la même
instruction est exécutée sur plusieurs processeurs, permettant ainsi un
parallélisme de données
I
Correspond aux architectures vectorielles et aux GPU
Multiple Instruction, Single Data stream (MISD) : aucun ordinateur
commercial basé sur cette organisation n’a été construit jusqu’à
présent
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
10 / 53
Taxonomie de Flynn (1966)
Single Instruction, Single Data stream (SISD) : ordinateurs à un
processeur
Single Instruction, Multiple Data stream (SIMD) : la même
instruction est exécutée sur plusieurs processeurs, permettant ainsi un
parallélisme de données
I
Correspond aux architectures vectorielles et aux GPU
Multiple Instruction, Single Data stream (MISD) : aucun ordinateur
commercial basé sur cette organisation n’a été construit jusqu’à
présent
Multiple Instruction, Multiple Data stream (MIMD) : chaque
processeur exécute ses instructions propres sur des données
différentes, ce qui permet un parallélisme de tâches
I
Correspond aux architectures multicœurs, SMP, grappes de calcul,
supercalculateurs, centres informatiques, etc.
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
10 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
I
Classe d’architecture : registres d’usage généraux, registres de
nombres à virgule flottante
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
I
I
Classe d’architecture : registres d’usage généraux, registres de
nombres à virgule flottante
Type d’adressage mémoire : adressage d’octets, alignés ou non
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
I
I
I
Classe d’architecture : registres d’usage généraux, registres de
nombres à virgule flottante
Type d’adressage mémoire : adressage d’octets, alignés ou non
Mode d’adressage : registre, immédiat, déplacement
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
I
I
I
I
Classe d’architecture : registres d’usage généraux, registres de
nombres à virgule flottante
Type d’adressage mémoire : adressage d’octets, alignés ou non
Mode d’adressage : registre, immédiat, déplacement
Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits),
nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule
flottante (32 et 64 bits ; 80 bits étendu sur x86)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
I
I
I
I
I
Classe d’architecture : registres d’usage généraux, registres de
nombres à virgule flottante
Type d’adressage mémoire : adressage d’octets, alignés ou non
Mode d’adressage : registre, immédiat, déplacement
Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits),
nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule
flottante (32 et 64 bits ; 80 bits étendu sur x86)
Opérations : transfert de données, arithmétique logique, contrôle,
virgule flottante
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
I
I
I
I
I
I
Classe d’architecture : registres d’usage généraux, registres de
nombres à virgule flottante
Type d’adressage mémoire : adressage d’octets, alignés ou non
Mode d’adressage : registre, immédiat, déplacement
Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits),
nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule
flottante (32 et 64 bits ; 80 bits étendu sur x86)
Opérations : transfert de données, arithmétique logique, contrôle,
virgule flottante
Instructions de contrôle : branche conditionnelle, saut, appel de
procédures, retour
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeux d’instructions
Jeux d’instructions : interface entre le matériel et le logiciel
I
I
I
I
I
I
I
Classe d’architecture : registres d’usage généraux, registres de
nombres à virgule flottante
Type d’adressage mémoire : adressage d’octets, alignés ou non
Mode d’adressage : registre, immédiat, déplacement
Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits),
nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule
flottante (32 et 64 bits ; 80 bits étendu sur x86)
Opérations : transfert de données, arithmétique logique, contrôle,
virgule flottante
Instructions de contrôle : branche conditionnelle, saut, appel de
procédures, retour
Encodage des instructions : taille fixe (MIPS) ou taille variable (x86)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
11 / 53
Jeu d’instructions du MIPS64
Basic instruction formats
R
opcode
31
I
rs
26 25
opcode
31
rt
21 20
rs
26 25
rd
16 15
31
11 10
rt
21 20
funct
6 5
0
immediate
16 15
opcode
J
shamt
address
26 25
Floating-point instruction formats
opcode
FR
FI
fmt
26 25
31
opcode
31
ft
21 20
fmt
26 25
GIF-3000 (U. Laval)
fs
16 15
fd
11 10
ft
21 20
funct
6 5
0
immediate
16 15
Principes fondamentaux d’architecture
12 / 53
Autres éléments à considérer en architecture
Type d’application
I
I
I
I
I
Dispositifs personnels mobiles
Postes de travail d’usage général
Serveurs
Centres informatiques et grappes de calcul
Systèmes embarqués
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
13 / 53
Autres éléments à considérer en architecture
Type d’application
I
I
I
I
I
Dispositifs personnels mobiles
Postes de travail d’usage général
Serveurs
Centres informatiques et grappes de calcul
Systèmes embarqués
Niveau de compatibilité du logiciel
I
I
Langage de programmation
Code objet et binaire
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
13 / 53
Autres éléments à considérer en architecture
Type d’application
I
I
I
I
I
Dispositifs personnels mobiles
Postes de travail d’usage général
Serveurs
Centres informatiques et grappes de calcul
Systèmes embarqués
Niveau de compatibilité du logiciel
I
I
Langage de programmation
Code objet et binaire
Exigences du systèmes d’exploitation
I
I
I
Taille de l’espace d’adressage
Gestion de la mémoire
Protection de la mémoire
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
13 / 53
Autres éléments à considérer en architecture
Type d’application
I
I
I
I
I
Dispositifs personnels mobiles
Postes de travail d’usage général
Serveurs
Centres informatiques et grappes de calcul
Systèmes embarqués
Niveau de compatibilité du logiciel
I
I
Langage de programmation
Code objet et binaire
Exigences du systèmes d’exploitation
I
I
I
Taille de l’espace d’adressage
Gestion de la mémoire
Protection de la mémoire
Standards
I
I
I
I
I
Nombres à virgule flottante
Interfaces entrées-sorties (E/S)
Systèmes d’exploitation
Réseautique
Langages de programmation
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
13 / 53
Partie II
Évolution des technologies
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
14 / 53
Implantations technologiques
Cinq technologies critiques pour l’implantation d’ordinateurs
I
Circuits logiques intégrés
F
F
F
Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans)
Taille des dés (dies) augmente de 10 % à 20 % par année
Effet combiné d’une augmentation du nombre de transistors de 40 % à
55 % par année
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
15 / 53
Implantations technologiques
Cinq technologies critiques pour l’implantation d’ordinateurs
I
Circuits logiques intégrés
F
F
F
I
Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans)
Taille des dés (dies) augmente de 10 % à 20 % par année
Effet combiné d’une augmentation du nombre de transistors de 40 % à
55 % par année
Mémoires DRAM
F
Augmentation de la capacité de 25 % à 40 % par année (2x chaque
deux-trois ans)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
15 / 53
Implantations technologiques
Cinq technologies critiques pour l’implantation d’ordinateurs
I
Circuits logiques intégrés
F
F
F
I
Mémoires DRAM
F
I
Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans)
Taille des dés (dies) augmente de 10 % à 20 % par année
Effet combiné d’une augmentation du nombre de transistors de 40 % à
55 % par année
Augmentation de la capacité de 25 % à 40 % par année (2x chaque
deux-trois ans)
Mémoires Flash
F
F
Augmentation de la capacité de 50 % à 60 % par année (2x par deux
ans)
Mémoire non volatiles, coût par bit 15-20x inférieur à DRAM
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
15 / 53
Implantations technologiques
Cinq technologies critiques pour l’implantation d’ordinateurs
I
Circuits logiques intégrés
F
F
F
I
Mémoires DRAM
F
I
Augmentation de la capacité de 25 % à 40 % par année (2x chaque
deux-trois ans)
Mémoires Flash
F
F
I
Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans)
Taille des dés (dies) augmente de 10 % à 20 % par année
Effet combiné d’une augmentation du nombre de transistors de 40 % à
55 % par année
Augmentation de la capacité de 50 % à 60 % par année (2x par deux
ans)
Mémoire non volatiles, coût par bit 15-20x inférieur à DRAM
Disques magnétiques
F
F
>1990 : 30 %/an ; 1990-1996 : 60 %/an ; 1996-2004 : 100 %/an ;
2004- : 40 %/an
Coût par bit 15-25x inférieur à Flash, 300-500x inférieur à DRAM
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
15 / 53
Implantations technologiques
Cinq technologies critiques pour l’implantation d’ordinateurs
I
Circuits logiques intégrés
F
F
F
I
Mémoires DRAM
F
I
F
Augmentation de la capacité de 50 % à 60 % par année (2x par deux
ans)
Mémoire non volatiles, coût par bit 15-20x inférieur à DRAM
Disques magnétiques
F
F
I
Augmentation de la capacité de 25 % à 40 % par année (2x chaque
deux-trois ans)
Mémoires Flash
F
I
Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans)
Taille des dés (dies) augmente de 10 % à 20 % par année
Effet combiné d’une augmentation du nombre de transistors de 40 % à
55 % par année
>1990 : 30 %/an ; 1990-1996 : 60 %/an ; 1996-2004 : 100 %/an ;
2004- : 40 %/an
Coût par bit 15-25x inférieur à Flash, 300-500x inférieur à DRAM
Réseautique
F
Dépend des commutateurs réseau et performance du système de
transmission
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
15 / 53
Bande passante et latence
Bande passante
I
I
I
Quantité totale de travail effectué à un moment (débit)
Quantité d’information traitée ou transmise par seconde
Nombre de Mo/s lors d’un transfert au disque
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
16 / 53
Bande passante et latence
Bande passante
I
I
I
Quantité totale de travail effectué à un moment (débit)
Quantité d’information traitée ou transmise par seconde
Nombre de Mo/s lors d’un transfert au disque
Latence
I
I
I
Temps entre le début et la fin d’un événement (délais)
Délais dans le transmission d’un bit
Temps d’accès au disque (en ms)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
16 / 53
Bande passante et latence
Bande passante
I
I
I
Quantité totale de travail effectué à un moment (débit)
Quantité d’information traitée ou transmise par seconde
Nombre de Mo/s lors d’un transfert au disque
Latence
I
I
I
Temps entre le début et la fin d’un événement (délais)
Délais dans le transmission d’un bit
Temps d’accès au disque (en ms)
Bande passante s’améliore beaucoup plus rapidement que latence
I
I
I
Microprocesseurs et réseautique (sur 25 ans) : 1000-2000x en bande
passante, 20-40x en latence
Disques et mémoire (sur 25 ans) : 120-140x en bande passante, 4-8x en
latence
Règle du pouce : bande passante croit quadratiquement relativement à
latence
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
16 / 53
Bande passante et latence
100,000
Microprocessor
Relative bandwidth improvement
10,000
Network
1000
Memory
Disk
100
10
(Latency improvement
= bandwidth improvement)
1
1
10
100
Relative latency improvement
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
17 / 53
Performances des transistors et câblage
Circuits intégrés caractérisés par la largeur de trait (feature size)
I
I
Correspond à taille minimale des transistors et câblage dans les
dimensions x-y
Réduction continue : 10 µm en 1970, 22 nm (0,022 µm) en 2012
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
18 / 53
Performances des transistors et câblage
Circuits intégrés caractérisés par la largeur de trait (feature size)
I
I
Correspond à taille minimale des transistors et câblage dans les
dimensions x-y
Réduction continue : 10 µm en 1970, 22 nm (0,022 µm) en 2012
Effets de la réduction de la largeur de trait
I
I
Voltage d’opération réduit selon taille verticale (z)
Modifications de la résistance et capacitance du câblage
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
18 / 53
Performances des transistors et câblage
Circuits intégrés caractérisés par la largeur de trait (feature size)
I
I
Correspond à taille minimale des transistors et câblage dans les
dimensions x-y
Réduction continue : 10 µm en 1970, 22 nm (0,022 µm) en 2012
Effets de la réduction de la largeur de trait
I
I
Voltage d’opération réduit selon taille verticale (z)
Modifications de la résistance et capacitance du câblage
Taux d’amélioration variable selon la décroissance de la largeur de
trait
I
I
I
Croissance quadratique de la densité des transistors (surface)
Croissance linéaire de la performance des transistors (voltage
d’opération)
Croissance lente de la réduction des délais dans le câblage (interactions
complexes)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
18 / 53
Puissance dans les circuits intégrés
Effets de la puissance électrique
I
I
Puissance électrique doit être distribuée dans l’ensemble du circuit
intégré
Dissipation de la puissance en chaleur qui doit être retirée du circuit
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
19 / 53
Puissance dans les circuits intégrés
Effets de la puissance électrique
I
I
Puissance électrique doit être distribuée dans l’ensemble du circuit
intégré
Dissipation de la puissance en chaleur qui doit être retirée du circuit
Consommation dans circuits CMOS : commutation des transistors
I
Puissance dynamique (W)
Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
19 / 53
Puissance dans les circuits intégrés
Effets de la puissance électrique
I
I
Puissance électrique doit être distribuée dans l’ensemble du circuit
intégré
Dissipation de la puissance en chaleur qui doit être retirée du circuit
Consommation dans circuits CMOS : commutation des transistors
I
Puissance dynamique (W)
Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation
I
Énergie (J)
Énergiedynamique ∝ Charge capacitive × Voltage2
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
19 / 53
Puissance dans les circuits intégrés
Effets de la puissance électrique
I
I
Puissance électrique doit être distribuée dans l’ensemble du circuit
intégré
Dissipation de la puissance en chaleur qui doit être retirée du circuit
Consommation dans circuits CMOS : commutation des transistors
I
Puissance dynamique (W)
Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation
I
Énergie (J)
Énergiedynamique ∝ Charge capacitive × Voltage2
I
Réduction de la consommation par abaissement du voltage (5V à 1V
en 20 ans)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
19 / 53
Puissance dans les circuits intégrés
Effets de la puissance électrique
I
I
Puissance électrique doit être distribuée dans l’ensemble du circuit
intégré
Dissipation de la puissance en chaleur qui doit être retirée du circuit
Consommation dans circuits CMOS : commutation des transistors
I
Puissance dynamique (W)
Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation
I
Énergie (J)
Énergiedynamique ∝ Charge capacitive × Voltage2
I
I
Réduction de la consommation par abaissement du voltage (5V à 1V
en 20 ans)
Charge capacitive fonction du nombre de transistors et de la technologie
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
19 / 53
Puissance dans les circuits intégrés
Augmentation continue de la consommation en puissance
I
Nombre de transistors (↑) et de la fréquence (↑) charge capacitive
(↓) et voltage (↓)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
20 / 53
Puissance dans les circuits intégrés
Augmentation continue de la consommation en puissance
I
I
I
Nombre de transistors (↑) et de la fréquence (↑) charge capacitive
(↓) et voltage (↓)
80386 : 2 W ; i7 3.3 GHz : 130W
Puissance est maintenant un enjeu majeur
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
20 / 53
Puissance dans les circuits intégrés
Augmentation continue de la consommation en puissance
I
I
I
Nombre de transistors (↑) et de la fréquence (↑) charge capacitive
(↓) et voltage (↓)
80386 : 2 W ; i7 3.3 GHz : 130W
Puissance est maintenant un enjeu majeur
Limites du refroidissement à l’air des microprocesseurs sont atteintes
I
Résulte en une stagnation des fréquences d’horloges
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
20 / 53
Fréquences d’horloges des microprocesseurs
10,000
Intel Pentium4 Xeon
3200 MHz in 2003
Intel Nehalem Xeon
3330 MHz in 2010
Intel Pentium III
1000 MHz in 2000
1000
Clock rate (MHz)
Digital Alpha 21164A
500 MHz in 1996
1%/year
Digital Alpha 21064
150 MHz in 1992
100
MIPS M2000
25 MHz in 1989
40%/year
Sun-4 SPARC
16.7 MHz in 1986
10
Digital VAX-11/780
5 MHz in 1978
15%/year
1
1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
21 / 53
Amélioration de l’efficacité énergétique
Approches pour améliorer efficacité énergétique des microprocesseurs
I
Ne rien faire, comme il se doit
F
Lorsqu’une composante est inutilisée, la désactiver
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
22 / 53
Amélioration de l’efficacité énergétique
Approches pour améliorer efficacité énergétique des microprocesseurs
I
Ne rien faire, comme il se doit
I
Ajustement dynamique de la fréquence d’horloge / du voltage
d’opération
F
F
Lorsqu’une composante est inutilisée, la désactiver
Microprocesseurs modernes permettent diverses combinaisons de
fréquence/voltage, permettant de réduire consommation énergétique en
périodes de faibles activités
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
22 / 53
Amélioration de l’efficacité énergétique
Approches pour améliorer efficacité énergétique des microprocesseurs
I
Ne rien faire, comme il se doit
I
Ajustement dynamique de la fréquence d’horloge / du voltage
d’opération
F
F
I
Lorsqu’une composante est inutilisée, la désactiver
Microprocesseurs modernes permettent diverses combinaisons de
fréquence/voltage, permettant de réduire consommation énergétique en
périodes de faibles activités
Concevoir pour le cas typique
F
F
F
Proposer des solutions différentes pour les cas typiques de chaque
classe d’ordinateurs
Ex. : désactivation de composantes en mode veille pour dispositifs et
ordinateurs portables
Ex. : ajustement de l’horloge basé sur la température des puces pour
stations de travail
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
22 / 53
Amélioration de l’efficacité énergétique
Approches pour améliorer efficacité énergétique des microprocesseurs
I
Ne rien faire, comme il se doit
I
Ajustement dynamique de la fréquence d’horloge / du voltage
d’opération
F
F
I
Microprocesseurs modernes permettent diverses combinaisons de
fréquence/voltage, permettant de réduire consommation énergétique en
périodes de faibles activités
Concevoir pour le cas typique
F
F
F
I
Lorsqu’une composante est inutilisée, la désactiver
Proposer des solutions différentes pour les cas typiques de chaque
classe d’ordinateurs
Ex. : désactivation de composantes en mode veille pour dispositifs et
ordinateurs portables
Ex. : ajustement de l’horloge basé sur la température des puces pour
stations de travail
Surcadençage (overclocking)
F
Microprocesseur augmente sa fréquence d’opération pendant une
courte période de temps, jusqu’à une augmentation de la température
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
22 / 53
Puissance statique
Fuite de courant dans les processeurs (puissance statique)
Puissancestatique ∝ Courantstatique × Voltage
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
23 / 53
Puissance statique
Fuite de courant dans les processeurs (puissance statique)
Puissancestatique ∝ Courantstatique × Voltage
I
Puissance statique croit avec l’augmentation du nombre de transistors
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
23 / 53
Puissance statique
Fuite de courant dans les processeurs (puissance statique)
Puissancestatique ∝ Courantstatique × Voltage
I
I
Puissance statique croit avec l’augmentation du nombre de transistors
Même en veille, la puissance statique est consommée
F
Systèmes à faible puissance coupent l’alimentation des composantes
inutilisées
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
23 / 53
Puissance statique
Fuite de courant dans les processeurs (puissance statique)
Puissancestatique ∝ Courantstatique × Voltage
I
I
Puissance statique croit avec l’augmentation du nombre de transistors
Même en veille, la puissance statique est consommée
F
I
Systèmes à faible puissance coupent l’alimentation des composantes
inutilisées
En 2011, comptait pour 25 % de la consommation totale en énergie
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
23 / 53
Coût des composantes
Facteurs influençant le coût de composantes électroniques
I
Temps (courbe d’apprentissage)
F
F
Amélioration des procédés de fabrication (ex. taux d’acceptation)
Offre et demande, compétition, standardisation
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
24 / 53
Coût des composantes
Facteurs influençant le coût de composantes électroniques
I
Temps (courbe d’apprentissage)
F
F
I
Amélioration des procédés de fabrication (ex. taux d’acceptation)
Offre et demande, compétition, standardisation
Augmentation du volume
F
F
F
Courbe d’apprentissage passée plus rapidement
Augmente la capacité d’achat et l’efficacité de fabrication
Amortissement des coûts de développement
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
24 / 53
Variations du coût du Pentium 4 et M
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
25 / 53
Coût d’un circuit imprimé
Processus de fabrication de circuits imprimés
I
I
I
Circuits fabriqués sur une plaquette circulaire
Plaquette découpée en dés rectangulaires
Chaque dé est testé, et monté dans une puce si positif
Coût circuit =
GIF-3000 (U. Laval)
Coût dé + Coût de tests de dés + Coûts de montage et tests finaux
Taux d’acceptation des tests finaux
Principes fondamentaux d’architecture
26 / 53
Coût d’un circuit imprimé
Processus de fabrication de circuits imprimés
I
I
I
Circuits fabriqués sur une plaquette circulaire
Plaquette découpée en dés rectangulaires
Chaque dé est testé, et monté dans une puce si positif
Coût circuit =
Coût dé + Coût de tests de dés + Coûts de montage et tests finaux
Taux d’acceptation des tests finaux
Coût d’un dé
Coût dé =
GIF-3000 (U. Laval)
Coût d’une plaquette
Dés par plaquette × Taux d’acceptation de dés
Principes fondamentaux d’architecture
26 / 53
Coût d’un circuit imprimé
Processus de fabrication de circuits imprimés
I
I
I
Circuits fabriqués sur une plaquette circulaire
Plaquette découpée en dés rectangulaires
Chaque dé est testé, et monté dans une puce si positif
Coût circuit =
Coût dé + Coût de tests de dés + Coûts de montage et tests finaux
Taux d’acceptation des tests finaux
Coût d’un dé
Coût dé =
Coût d’une plaquette
Dés par plaquette × Taux d’acceptation de dés
Nombre de dés par plaquette
Dés par plaquette =
I
I
π × (Diamètre plaquette/2)2
π × Diamètre plaquette
√
−
Aire dé
2 × Aire dé
Premier terme : ratio aire plaquette / aire dé
Deuxième terme : retrait des dés en périphérie de la plaquette
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
26 / 53
Plaquette de processeurs Sandy Bridge
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
27 / 53
Défectuosité de circuits imprimés
Taux d’acceptation des dés
Taux d’acceptation de dés
I
I
=
Taux d’acceptation de plaquettes
1
×
(1 + Défectuosité par unité d’aire × Aire dé)N
Défectuosité par unité d’aire : dépend du procédé manufacturier (0,016
à 0,057 par cm2 en 2010, procédés 40 nm)
N : complexité manufacturière (N varie de 11,5 à 15,5 en 2010,
procédés 40 nm)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
28 / 53
Défectuosité de circuits imprimés
Taux d’acceptation des dés
Taux d’acceptation de dés
I
I
=
Taux d’acceptation de plaquettes
1
×
(1 + Défectuosité par unité d’aire × Aire dé)N
Défectuosité par unité d’aire : dépend du procédé manufacturier (0,016
à 0,057 par cm2 en 2010, procédés 40 nm)
N : complexité manufacturière (N varie de 11,5 à 15,5 en 2010,
procédés 40 nm)
Exemples (défectuosité par cm2 =0,031, N = 13,5)
I
Dés de 2,25 cm2
Taux d’acceptation de dés =
I
1
= 0,40
(1 + 0,031 × 2,25)13,5
Dés de 1,00 cm2
Taux d’acceptation de dés =
GIF-3000 (U. Laval)
1
= 0,66
(1 + 0,031 × 1,00)13,5
Principes fondamentaux d’architecture
28 / 53
Partie III
Fiabilité des ordinateurs
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
29 / 53
Fiabilité des microprocesseurs
Historiquement, circuits intégrés sont les composantes les plus fiables
des ordinateurs
I
I
Connecteurs vulnérables et fautes dans les canaux de communication
Changement de tendance avec réduction des largeurs de traits
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
30 / 53
Fiabilité des microprocesseurs
Historiquement, circuits intégrés sont les composantes les plus fiables
des ordinateurs
I
I
Connecteurs vulnérables et fautes dans les canaux de communication
Changement de tendance avec réduction des largeurs de traits
Différents niveaux d’abstraction dans les ordinateurs
I
Erreur complète d’un sous-système vue comme une simple erreur de
composante à un niveau supérieur
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
30 / 53
Fiabilité des microprocesseurs
Historiquement, circuits intégrés sont les composantes les plus fiables
des ordinateurs
I
I
Connecteurs vulnérables et fautes dans les canaux de communication
Changement de tendance avec réduction des largeurs de traits
Différents niveaux d’abstraction dans les ordinateurs
I
Erreur complète d’un sous-système vue comme une simple erreur de
composante à un niveau supérieur
Nécessité de déterminer si un système fonctionne bien
I
I
Accords avec clients pour offrir un niveau de qualité de service
Pénalité payée si niveau promis n’est pas atteint
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
30 / 53
Mesures de fiabilités
Mesure de fiabilité d’un module
I
MTTF (Mean time to failure) : temps avant une panne
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
31 / 53
Mesures de fiabilités
Mesure de fiabilité d’un module
I
I
MTTF (Mean time to failure) : temps avant une panne
FIT (Failures in time) : taux de pannes par milliard d’heures
d’opérations, 109 /MTTF
F
MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
31 / 53
Mesures de fiabilités
Mesure de fiabilité d’un module
I
I
MTTF (Mean time to failure) : temps avant une panne
FIT (Failures in time) : taux de pannes par milliard d’heures
d’opérations, 109 /MTTF
F
I
MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT
MTTR (Mean time to repair) : temps pour réparer une panne
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
31 / 53
Mesures de fiabilités
Mesure de fiabilité d’un module
I
I
MTTF (Mean time to failure) : temps avant une panne
FIT (Failures in time) : taux de pannes par milliard d’heures
d’opérations, 109 /MTTF
F
I
I
MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT
MTTR (Mean time to repair) : temps pour réparer une panne
MTBF (Mean time between failures) : MTBF = MTTF + MTTR
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
31 / 53
Mesures de fiabilités
Mesure de fiabilité d’un module
I
I
MTTF (Mean time to failure) : temps avant une panne
FIT (Failures in time) : taux de pannes par milliard d’heures
d’opérations, 109 /MTTF
F
I
I
MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT
MTTR (Mean time to repair) : temps pour réparer une panne
MTBF (Mean time between failures) : MTBF = MTTF + MTTR
Disponibilité d’un module
Disponibilité =
GIF-3000 (U. Laval)
MTTF
MTTF + MTTR
Principes fondamentaux d’architecture
31 / 53
Exemples : systèmes de disques
Système de disques avec composantes suivantes
I
I
I
I
I
10 disques, MTTF de 1 000 000 h chacun
Un contrôleur ATA, MTTF de 500 000 h
Une alimentation, MTTF de 200 000 h
Un ventilateur, MTTF de 200 000 h
Un câble ATA, MTTF de 1 000 000 h
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
32 / 53
Exemples : systèmes de disques
Système de disques avec composantes suivantes
I
I
I
I
I
10 disques, MTTF de 1 000 000 h chacun
Un contrôleur ATA, MTTF de 500 000 h
Une alimentation, MTTF de 200 000 h
Un ventilateur, MTTF de 200 000 h
Un câble ATA, MTTF de 1 000 000 h
Exemple 1 : MTTF du système
I
Solution au tableau...
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
32 / 53
Exemples : systèmes de disques
Système de disques avec composantes suivantes
I
I
I
I
I
10 disques, MTTF de 1 000 000 h chacun
Un contrôleur ATA, MTTF de 500 000 h
Une alimentation, MTTF de 200 000 h
Un ventilateur, MTTF de 200 000 h
Un câble ATA, MTTF de 1 000 000 h
Exemple 1 : MTTF du système
I
Solution au tableau...
Exemple 2 : MTTF avec alimentation redondante
I
Solution au tableau...
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
32 / 53
Partie IV
Mesure et présentation des performances
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
33 / 53
Performances d’ordinateur
Qu’est-ce qu’un ordinateur plus rapide ?
I
I
I
Exécute plus rapidement un logiciel sur une station de travail
Serveur informatique effectue plus de transactions par heures
Etc.
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
34 / 53
Performances d’ordinateur
Qu’est-ce qu’un ordinateur plus rapide ?
I
I
I
Exécute plus rapidement un logiciel sur une station de travail
Serveur informatique effectue plus de transactions par heures
Etc.
Comparaison des performances
I
X est n fois plus rapide que Y
1
Temps d’exécution Y
Y = Performance X
= Performance
n=
1
Temps d’exécution X
Performance Y
Performance X
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
34 / 53
Performances d’ordinateur
Qu’est-ce qu’un ordinateur plus rapide ?
I
I
I
Exécute plus rapidement un logiciel sur une station de travail
Serveur informatique effectue plus de transactions par heures
Etc.
Comparaison des performances
I
X est n fois plus rapide que Y
1
Temps d’exécution Y
Y = Performance X
= Performance
n=
1
Temps d’exécution X
Performance Y
Performance X
Mais comment mesurer le temps d’exécution ?
I
I
Mesurer le temps d’exécution d’un vrai programme
Mesurer le temps global passé dans l’exécution, en incluant tout
(calculs, accès disques, accès mémoire, E/S, délais du système
d’exploitation, etc.)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
34 / 53
Benchmarks
Une évaluation juste nécessite une charge de traitement typique
I
I
Facile pour système/utilisateur avec un usage routinier
Plus difficile pour la plupart des autres utilisateurs
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
35 / 53
Benchmarks
Une évaluation juste nécessite une charge de traitement typique
I
I
Facile pour système/utilisateur avec un usage routinier
Plus difficile pour la plupart des autres utilisateurs
Benchmarks : programmes réels pour capturer la performance d’une
machine
I
Simplifications de programmes est un leurre
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
35 / 53
Benchmarks
Une évaluation juste nécessite une charge de traitement typique
I
I
Facile pour système/utilisateur avec un usage routinier
Plus difficile pour la plupart des autres utilisateurs
Benchmarks : programmes réels pour capturer la performance d’une
machine
I
Simplifications de programmes est un leurre
Faire attention aux conditions d’opérations
I
I
Risque d’ajuster les paramètres de compilation pour chaque programme
Souvent, force l’usage d’un compilateur et de sa paramétrisation
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
35 / 53
Suite de benchmarks
Suite de benchmarks : évaluer performance de processeurs d’usage
varié ou général
I
I
I
Performance pour une variété de programmes
La faiblesse de certains benchmarks est compensée par la force d’autres
Bon indicateur pour évaluer performance d’autres programmes
(généralisation)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
36 / 53
Suite de benchmarks
Suite de benchmarks : évaluer performance de processeurs d’usage
varié ou général
I
I
I
Performance pour une variété de programmes
La faiblesse de certains benchmarks est compensée par la force d’autres
Bon indicateur pour évaluer performance d’autres programmes
(généralisation)
SPEC : Standard Performance Evaluation Corporation
I
I
I
I
Suite de benchmarks pour évaluer performance de stations de travail
Focus initial sur la performance exigeante en traitement
Ensemble de vrais programmes portables (sources en C, C++ ou
FORTAN), minimisant effets des E/S
Existe également d’autres suites de benchmarks axées sur les
performances graphiques
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
36 / 53
Suites de benchmarks SPEC
Benchmark name by SPEC generation
SPEC2006 benchmark description
SPEC2006
SPEC2000
SPEC95
SPEC92
SPEC89
gcc
GNU C compiler
perl
Interpreted string processing
espresso
mcf
Combinatorial optimization
li
bzip2
Block-sorting compression
compress
eqntott
Go game (AI)
go
vortex
go
Video compression
h264avc
gzip
ijpeg
Games/path finding
astar
eon
m88ksim
Search gene sequence
hmmer
twolf
Quantum computer simulation
libquantum
vortex
Discrete event simulation library
omnetpp
vpr
Chess game (AI)
sjeng
crafty
XML parsing
xalancbmk
parser
CFD/blast waves
bwaves
fpppp
Numerical relativity
cactusADM
tomcatv
Finite element code
calculix
doduc
Differential equation solver framework
dealll
Quantum chemistry
gamess
EM solver (freq/time domain)
GemsFDTD
Scalable molecular dynamics (~NAMD)
gromacs
Lattice Boltzman method (fluid/air flow)
lbm
Large eddie simulation/turbulent CFD
LESlie3d
wupwise
Lattice quantum chromodynamics
milc
apply
turb3d
Molecular dynamics
namd
galgel
Image ray tracing
povray
mesa
Spare linear algebra
soplex
art
Speech recognition
sphinx3
equake
Quantum chemistry/object oriented
tonto
facerec
Weather research and forecasting
wrf
ammp
Magneto hydrodynamics (astrophysics)
zeusmp
lucas
sc
nasa7
spice
swim
apsi
hydro2d
mgrid
su2cor
applu
wave5
matrix300
fma3d
sixtrack
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
37 / 53
Présentation des performances
Reproductibilité
I
I
Les résultats avec un benchmark doivent être reproductibles facilement
Suites de benchmarks classiques requiert description détaillée des
ordinateurs et configuration de la compilation
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
38 / 53
Présentation des performances
Reproductibilité
I
I
Les résultats avec un benchmark doivent être reproductibles facilement
Suites de benchmarks classiques requiert description détaillée des
ordinateurs et configuration de la compilation
Choix des benchmarks
I
Idéalement, choix d’une variété de benchmarks représentant une
utilisation typique d’un ordinateur
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
38 / 53
Présentation des performances
Reproductibilité
I
I
Les résultats avec un benchmark doivent être reproductibles facilement
Suites de benchmarks classiques requiert description détaillée des
ordinateurs et configuration de la compilation
Choix des benchmarks
I
Idéalement, choix d’une variété de benchmarks représentant une
utilisation typique d’un ordinateur
Intégration de résultats de nombreux benchmarks
I
Approche directe : moyenne géométrique des temps d’exécutions
F
Mais suppose des temps comparables pour chaque benchmark
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
38 / 53
Présentation des performances
Reproductibilité
I
I
Les résultats avec un benchmark doivent être reproductibles facilement
Suites de benchmarks classiques requiert description détaillée des
ordinateurs et configuration de la compilation
Choix des benchmarks
I
Idéalement, choix d’une variété de benchmarks représentant une
utilisation typique d’un ordinateur
Intégration de résultats de nombreux benchmarks
I
Approche directe : moyenne géométrique des temps d’exécutions
F
I
Mais suppose des temps comparables pour chaque benchmark
Moyenne arithmétique pondérée des temps
F
Quels poids utiliser ?
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
38 / 53
Présentation des performances
Reproductibilité
I
I
Les résultats avec un benchmark doivent être reproductibles facilement
Suites de benchmarks classiques requiert description détaillée des
ordinateurs et configuration de la compilation
Choix des benchmarks
I
Idéalement, choix d’une variété de benchmarks représentant une
utilisation typique d’un ordinateur
Intégration de résultats de nombreux benchmarks
I
Approche directe : moyenne géométrique des temps d’exécutions
F
Mais suppose des temps comparables pour chaque benchmark
I
Moyenne arithmétique pondérée des temps
I
Utiliser un ordinateur de référence
F
F
Quels poids utiliser ?
Résultat est le ratio des performances par rapport à la référence
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
38 / 53
SPECRatio
Performance d’un ordinateur A relativement à une référence
SPECRatioA =
GIF-3000 (U. Laval)
Temps d’exécutionréférence
Temps d’exécutionA
Principes fondamentaux d’architecture
39 / 53
SPECRatio
Performance d’un ordinateur A relativement à une référence
SPECRatioA =
Temps d’exécutionréférence
Temps d’exécutionA
Comparaison entre deux ordinateurs permet de retirer la référence
SPECRatioA
SPECRatioB
GIF-3000 (U. Laval)
=
Temps d’exécutionréférence
Temps d’exécutionA
Temps d’exécutionréférence
Temps d’exécutionB
Principes fondamentaux d’architecture
39 / 53
SPECRatio
Performance d’un ordinateur A relativement à une référence
SPECRatioA =
Temps d’exécutionréférence
Temps d’exécutionA
Comparaison entre deux ordinateurs permet de retirer la référence
SPECRatioA
SPECRatioB
=
=
GIF-3000 (U. Laval)
Temps d’exécutionréférence
Temps d’exécutionA
Temps d’exécutionréférence
Temps d’exécutionB
Temps d’exécutionB
PerformanceA
=
Temps d’exécutionA
PerformanceB
Principes fondamentaux d’architecture
39 / 53
Moyenne géométrique
SPECRatio est un ratio plutôt qu’une valeur absolue
I
Moyenne géométrique fait plus de sens que la moyenne arithmétique
Moyenne géométrique =
n
Y
! n1
xi
i=1
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
40 / 53
Moyenne géométrique
SPECRatio est un ratio plutôt qu’une valeur absolue
I
Moyenne géométrique fait plus de sens que la moyenne arithmétique
Moyenne géométrique =
n
Y
! n1
xi
i=1
I
Une moyenne géométrique de ratios est le même qu’un ratio de
moyennes géométriques
n
Y
xi
i=1
GIF-3000 (U. Laval)
yi
! n1
Qn
=
n1
i=1 xi
n1
Qn
i=1 yi
Principes fondamentaux d’architecture
40 / 53
Moyenne géométrique
SPECRatio est un ratio plutôt qu’une valeur absolue
I
Moyenne géométrique fait plus de sens que la moyenne arithmétique
Moyenne géométrique =
n
Y
! n1
xi
i=1
I
Une moyenne géométrique de ratios est le même qu’un ratio de
moyennes géométriques
n
Y
xi
i=1
I
yi
! n1
Qn
=
n1
i=1 xi
n1
Qn
i=1 yi
Le ratio de moyennes géométriques est égal à la moyenne des ratios de
performance
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
40 / 53
Ratio de moyennes géométriques
Ratio de moyennes géométriques est égal à la moyenne des ratios de
performance :
Moy. géométriqueA
Moy. géométriqueB
GIF-3000 (U. Laval)
Qn
=
i=1
Qn
i=1
SPECRatio Ai
SPECRatio Bi
1
n
1 =
n
Principes fondamentaux d’architecture
n
Y
SPECRatio Ai
SPECRatio Bi
i=1
!1
n
41 / 53
Ratio de moyennes géométriques
Ratio de moyennes géométriques est égal à la moyenne des ratios de
performance :
Moy. géométriqueA
Moy. géométriqueB
Qn
=
i=1
Qn
i=1
SPECRatio Ai
SPECRatio Bi
1
n
1 =
n
n
Y
SPECRatio Ai
SPECRatio Bi
i=1
!1
n
1
Temps d’exécutionréférence n
n

Y
Temps d’exécutionA


i


 i=1 Temps d’exécutionréférence 
Temps d’exécutionB

=
i
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
41 / 53
Ratio de moyennes géométriques
Ratio de moyennes géométriques est égal à la moyenne des ratios de
performance :
Moy. géométriqueA
Moy. géométriqueB
Qn
=
i=1
Qn
i=1
SPECRatio Ai
SPECRatio Bi
1
n
1 =
n
n
Y
SPECRatio Ai
SPECRatio Bi
i=1
!1
n
1
Temps d’exécutionréférence n
n

Y
Temps d’exécutionA


i


 i=1 Temps d’exécutionréférence 
Temps d’exécutionB
i
!1
n
Y
Temps d’exécutionBi n
Temps d’exécutionAi
i=1

=
=
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
41 / 53
Ratio de moyennes géométriques
Ratio de moyennes géométriques est égal à la moyenne des ratios de
performance :
Moy. géométriqueA
Moy. géométriqueB
Qn
=
i=1
Qn
i=1
SPECRatio Ai
SPECRatio Bi
1
n
1 =
n
n
Y
SPECRatio Ai
SPECRatio Bi
i=1
!1
n
1
Temps d’exécutionréférence n
n

Y
Temps d’exécutionA


i


 i=1 Temps d’exécutionréférence 
Temps d’exécutionB
i
!1
n
Y
Temps d’exécutionBi n
Temps d’exécutionAi
i=1
!1
n
Y
PerformanceAi n
PerformanceBi
i=1

=
=
=
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
41 / 53
SPECfp2000 (référence : Sun Ultra 5)
1.8
Benchmarks
Ultra 5
Time
(sec)
Measuring, Reporting, and Summarizing Performance
35
Opteron
Itanium 2
Opteron/Itanium Itanium/Opteron
Time (sec) SPECRatio Time (sec) SPECRatio
Times (sec)
SPECRatios
wupwise
1600
51.5
31.06
56.1
28.53
0.92
0.92
swim
3100
125.0
24.73
70.7
43.85
1.77
1.77
mgrid
1800
98.0
18.37
65.8
27.36
1.49
1.49
applu
2100
94.0
22.34
50.9
41.25
1.85
1.85
mesa
1400
64.6
21.69
108.0
12.99
0.60
0.60
galgel
2900
86.4
33.57
40.0
72.47
2.16
2.16
art
2600
92.4
28.13
21.0
123.67
4.40
4.40
equake
1300
72.6
17.92
36.3
35.78
2.00
2.00
facerec
1900
73.6
25.80
86.9
21.86
0.85
0.85
ammp
2200
136.0
16.14
132.0
16.63
1.03
1.03
lucas
2000
88.8
22.52
107.0
18.76
0.83
0.83
fma3d
2100
120.0
17.48
131.0
16.09
0.92
0.92
sixtrack
1100
123.0
8.95
68.8
15.99
1.79
1.79
apsi
2600
150.0
17.36
231.0
11.27
0.65
0.65
27.12
1.30
1.30
Geometric mean
■
20.86
Figure 1.14 SPECfp2000 execution times (in seconds) for the Sun Ultra 5—the reference computer of
SPEC2000—and execution times and SPECRatios for the AMD Opteron and Intel Itanium 2. (SPEC2000 multiplies
the ratio of execution times by 100 to remove the decimal point from the result, so 20.86 is reported as 2086.) The
final two columns show the ratios of execution times and SPECratios. This figure demonstrates the irrelevance of the
GIF-3000computer
(U. Laval)
Principes
d’architecture
reference
in relative performance.
Thefondamentaux
ratio of the execution
times is identical to the ratio of the SPECRa- 42 / 53
Variabilité des mesures
Mesurer variabilité d’une moyenne arithmétique : écart-type
v
u n
uX
(xi − x̄)2
stdev = t
i=1
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
43 / 53
Variabilité des mesures
Mesurer variabilité d’une moyenne arithmétique : écart-type
v
u n
uX
(xi − x̄)2
stdev = t
i=1
Variabilité d’une moyenne géométrique
I
Formulation log-moyenne
Moy. géométrique =
n
Y
i=1
GIF-3000 (U. Laval)
! n1
xi
#
n
1X
= exp
ln(xi )
n
Principes fondamentaux d’architecture
"
i=1
43 / 53
Variabilité des mesures
Mesurer variabilité d’une moyenne arithmétique : écart-type
v
u n
uX
(xi − x̄)2
stdev = t
i=1
Variabilité d’une moyenne géométrique
I
Formulation log-moyenne
Moy. géométrique =
n
Y
i=1
I
! n1
xi
"
#
n
1X
= exp
ln(xi )
n
i=1
Écart-type de moyenne géométrique
v

u n
u1 X
2
gstdev = exp t
(ln(xi ) − ln(moy. géométrique)) 
n
i=1
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
43 / 53
Partie V
Principes quantitatifs de la conception
d’ordinateurs
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
44 / 53
Parallélisme
Parallélisme système
I
Plusieurs machines, multiprocesseurs et multicœurs
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
45 / 53
Parallélisme
Parallélisme système
I
Plusieurs machines, multiprocesseurs et multicœurs
Parallélisme d’instructions
I
Pipelines
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
45 / 53
Parallélisme
Parallélisme système
I
Plusieurs machines, multiprocesseurs et multicœurs
Parallélisme d’instructions
I
Pipelines
Composantes numériques
I
Recherche en parallèle en mémoire (caches)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
45 / 53
Principe de localité
Règle du 90-10
I
Un programme passe 90 % du temps dans 10 % du code
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
46 / 53
Principe de localité
Règle du 90-10
I
Un programme passe 90 % du temps dans 10 % du code
S’applique également aux accès données
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
46 / 53
Principe de localité
Règle du 90-10
I
Un programme passe 90 % du temps dans 10 % du code
S’applique également aux accès données
Localité temporelle
I
Item récemment accédé risque d’être accédé prochainement
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
46 / 53
Principe de localité
Règle du 90-10
I
Un programme passe 90 % du temps dans 10 % du code
S’applique également aux accès données
Localité temporelle
I
Item récemment accédé risque d’être accédé prochainement
Localité spatiale
I
Items avec adresses proches risquent d’être accédés dans des périodes
proches
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
46 / 53
Emphase sur le cas usuel
Lorsqu’un compromis dans la conception doit être fait, favoriser le cas
fréquent
I
Impact plus important lorsque l’amélioration est exploitée fréquemment
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
47 / 53
Emphase sur le cas usuel
Lorsqu’un compromis dans la conception doit être fait, favoriser le cas
fréquent
I
I
Impact plus important lorsque l’amélioration est exploitée fréquemment
S’applique autant à la puissance, l’allocation des ressources, que les
performances
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
47 / 53
Emphase sur le cas usuel
Lorsqu’un compromis dans la conception doit être fait, favoriser le cas
fréquent
I
I
I
Impact plus important lorsque l’amélioration est exploitée fréquemment
S’applique autant à la puissance, l’allocation des ressources, que les
performances
Cas fréquent souvent plus simple
F
Exemple de dépassement dans l’addition de deux nombres
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
47 / 53
Emphase sur le cas usuel
Lorsqu’un compromis dans la conception doit être fait, favoriser le cas
fréquent
I
I
I
Impact plus important lorsque l’amélioration est exploitée fréquemment
S’applique autant à la puissance, l’allocation des ressources, que les
performances
Cas fréquent souvent plus simple
F
I
Exemple de dépassement dans l’addition de deux nombres
Loi d’Amdahl permet de bien quantifier l’amélioration globale selon ce
principe
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
47 / 53
Loi d’Amdahl
Loi d’Amdahl
Gain
=
GIF-3000 (U. Laval)
Performance de la tâche complète avec amélioration
Performance de la tâche complète sans amélioration
Principes fondamentaux d’architecture
48 / 53
Loi d’Amdahl
Loi d’Amdahl
Gain
=
=
GIF-3000 (U. Laval)
Performance de la tâche complète avec amélioration
Performance de la tâche complète sans amélioration
Temps d’exécution de la tâche complète sans amélioration
Temps d’exécution de la tâche complète avec amélioration
Principes fondamentaux d’architecture
48 / 53
Loi d’Amdahl
Loi d’Amdahl
Gain
=
=
Performance de la tâche complète avec amélioration
Performance de la tâche complète sans amélioration
Temps d’exécution de la tâche complète sans amélioration
Temps d’exécution de la tâche complète avec amélioration
L’amélioration en vitesse des traitements est donnée par le gain
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
48 / 53
Effets de l’amélioration
Le gain de la loi d’Amdahl permet de calculer deux mesures :
I
Fractionamélioration : la fraction des calculs affectés par l’amélioration
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
49 / 53
Effets de l’amélioration
Le gain de la loi d’Amdahl permet de calculer deux mesures :
I
I
Fractionamélioration : la fraction des calculs affectés par l’amélioration
Gainamélioration : le gain offert sur les calculs affectés par
l’amélioration
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
49 / 53
Effets de l’amélioration
Le gain de la loi d’Amdahl permet de calculer deux mesures :
I
I
Fractionamélioration : la fraction des calculs affectés par l’amélioration
Gainamélioration : le gain offert sur les calculs affectés par
l’amélioration
Temps d’exécutionnouveau
=
Temps d’exécutionancien
×
GIF-3000 (U. Laval)
(1 − Fractionamélioration ) +
Principes fondamentaux d’architecture
Fractionamélioration
Gainamélioration
!
49 / 53
Effets de l’amélioration
Le gain de la loi d’Amdahl permet de calculer deux mesures :
I
I
Fractionamélioration : la fraction des calculs affectés par l’amélioration
Gainamélioration : le gain offert sur les calculs affectés par
l’amélioration
Temps d’exécutionnouveau
=
Temps d’exécutionancien
×
Gainglobal
=
=
(1 − Fractionamélioration ) +
!
Temps d’exécutionancien
Temps d’exécutionnouveau
1
(1 − Fractionamélioration ) +
GIF-3000 (U. Laval)
Fractionamélioration
Gainamélioration
Principes fondamentaux d’architecture
Fractionamélioration
Gainamélioration
49 / 53
Exemples : loi d’Amdahl
Gain obtenu par le changement du processeur d’un serveur Web
I
I
I
Nouveau processeur 10x plus rapide que l’ancien
Ancien processeur : 40 % en calcul, 60 % en attente sur les E/S
Calculs au tableau...
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
50 / 53
Exemples : loi d’Amdahl
Gain obtenu par le changement du processeur d’un serveur Web
I
I
I
Nouveau processeur 10x plus rapide que l’ancien
Ancien processeur : 40 % en calcul, 60 % en attente sur les E/S
Calculs au tableau...
Amélioration d’instructions à virgule flottante d’un GPU
I
Choix 1 : améliorer facteur 10x calcul de la racine carrée
F
Responsable de 20 % des temps de traitement
I
Choix 2 : améliorer facteur 1,6x toutes les instructions à virgule
flottante
I
Calculs au tableau...
F
Responsable de 50 % des temps de traitement
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
50 / 53
Performance des processeurs
Équation de la performance des ordinateurs
I
Temps pour exécution un certain nombre d’instructions
Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
51 / 53
Performance des processeurs
Équation de la performance des ordinateurs
I
Temps pour exécution un certain nombre d’instructions
Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle
I
Cycles par instruction peuvent varier d’une instruction à l’autre
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
51 / 53
Performance des processeurs
Équation de la performance des ordinateurs
I
Temps pour exécution un certain nombre d’instructions
Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle
I
Cycles par instruction peuvent varier d’une instruction à l’autre
Paramètres pour améliorer les performances
I
Temps d’un cycle d’horloge : matériel (technologie et organisation)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
51 / 53
Performance des processeurs
Équation de la performance des ordinateurs
I
Temps pour exécution un certain nombre d’instructions
Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle
I
Cycles par instruction peuvent varier d’une instruction à l’autre
Paramètres pour améliorer les performances
I
I
Temps d’un cycle d’horloge : matériel (technologie et organisation)
Cycles par instruction (CPI) : jeu d’instruction (organisation et
architecture)
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
51 / 53
Performance des processeurs
Équation de la performance des ordinateurs
I
Temps pour exécution un certain nombre d’instructions
Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle
I
Cycles par instruction peuvent varier d’une instruction à l’autre
Paramètres pour améliorer les performances
I
I
I
Temps d’un cycle d’horloge : matériel (technologie et organisation)
Cycles par instruction (CPI) : jeu d’instruction (organisation et
architecture)
Nombre d’instructions : architecture du jeu d’instruction et compilateur
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
51 / 53
Cycles par instruction (CPI)
CPI non uniforme entre les instructions
I
Le CPI global est une moyenne selon les CPI individuels
CPI =
n
X
i=1
F
F
Pn
NIi × CPIi
i=1 NIi × CPIi
=
Nombre d’instructions
Nombre d’instructions
NIi : nombre d’instructions i dans un programme
CPIi : cycles par instructions de l’instruction i
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
52 / 53
Cycles par instruction (CPI)
CPI non uniforme entre les instructions
I
Le CPI global est une moyenne selon les CPI individuels
CPI =
n
X
i=1
F
F
Pn
NIi × CPIi
i=1 NIi × CPIi
=
Nombre d’instructions
Nombre d’instructions
NIi : nombre d’instructions i dans un programme
CPIi : cycles par instructions de l’instruction i
Équation de la performance révisée
Temps CPU =
n
X
!
NIi × CPIi
× Temps d’un cycle
i=1
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
52 / 53
Exemple : équation de la performance
Système avec caractéristiques suivantes :
I
I
I
I
I
Fréquence d’opérations à virgule flottante : 25 %
CPI moyen pour opérations à VF : 4,0
CPI moyen pour autres opérations : 1,33
Fréquence de calcul de la racine carrée : 2 %
CPI du calcul de la racine carrée : 20
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
53 / 53
Exemple : équation de la performance
Système avec caractéristiques suivantes :
I
I
I
I
I
Fréquence d’opérations à virgule flottante : 25 %
CPI moyen pour opérations à VF : 4,0
CPI moyen pour autres opérations : 1,33
Fréquence de calcul de la racine carrée : 2 %
CPI du calcul de la racine carrée : 20
Choix 1 : réduire CPI de la racine carrée à 2
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
53 / 53
Exemple : équation de la performance
Système avec caractéristiques suivantes :
I
I
I
I
I
Fréquence d’opérations à virgule flottante : 25 %
CPI moyen pour opérations à VF : 4,0
CPI moyen pour autres opérations : 1,33
Fréquence de calcul de la racine carrée : 2 %
CPI du calcul de la racine carrée : 20
Choix 1 : réduire CPI de la racine carrée à 2
Choix 2 : réduire CPI de toutes opérations à VF à 2,5
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
53 / 53
Exemple : équation de la performance
Système avec caractéristiques suivantes :
I
I
I
I
I
Fréquence d’opérations à virgule flottante : 25 %
CPI moyen pour opérations à VF : 4,0
CPI moyen pour autres opérations : 1,33
Fréquence de calcul de la racine carrée : 2 %
CPI du calcul de la racine carrée : 20
Choix 1 : réduire CPI de la racine carrée à 2
Choix 2 : réduire CPI de toutes opérations à VF à 2,5
Comparer ces deux choix
I
Calculs au tableau...
GIF-3000 (U. Laval)
Principes fondamentaux d’architecture
53 / 53
Téléchargement