La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne

Présentations similaires


Présentation au sujet: "Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne"— Transcription de la présentation:

1 Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
fait partie de son cours d’introduction à l’information, à la communication, et au calcul. Il s’inscrit dans le 3e module de ce cours qui porte sur le fonctionnement et la sécurité des systèmes informatiques.

2 Et la performance là-dedans ? Etape 5
Accroissement des performances des processeurs: 52% / an Les videoclips précédents ont montré comment construire des ordinateurs avec des transistors. 1 Le but du présent clip est de suggérer pourquoi la performance de ces ordinateurs croît chaque année de façon quasi exponentielle, autour de 50% par an. 2 Une 1e raison de cette croissance est purement technologique. Depuis l’invention des transistors dans les années ’60, ils n’ont cessé de diminuer de taille de telle sorte qu’on peut en mettre plus dans une seule puce intégrée. Cette miniaturisation a été accompagnée d’un accroissement incessant de leur vitesse. Mais cette miniaturisation et cet accroissement de vitesse – qui ralentissent d’ailleurs aujourd’hui devant les défis technologiques et les limites physiques – ne comptent que pour 20% de l’accroissement des performances des ordinateurs. 3 L’accroissement de performance au-delà de celle des transistors provient de «trucs» dans la logique et l’architecture des ordinateurs. C‘est le sujet des deux derniers clips de cette série sur l’architecture des ordinateurs. Architecture! Source: Hennessy & Patterson, © MK 2011 ~20% / an proviennent de la technologie (= vitesse des transistors)

3 Augmenter la performance ?
= Réduire le délai temps d’attente pour obtenir un résultat = Augmenter le débit nombre de résultats par unité de temps Deux exemples simples d’amélioration de la performance : Au niveau du circuit Réduire le délai d’un additionneur Au niveau de la structure du processeur Augmenter le débit d’instructions t t Pour augmenter la performance d’un dispositif quelconque, il n’y a pas 36 solutions. Soit il faut réduire la durée de chaque opération en accélérant leur déroulement, soit il faut augmenter le débit (le nombre) d’opérations par unité de temps. 1 Dans le cas des ordinateurs on peut par exemple réduire le temps de calcul en construisant des circuits de calcul plus performants. 2 On peut par ailleurs ou en même temps augmenter le débit des opérations en exécutant plusieurs calculs en parallèle.

4 Parallélisme des circuits
= Réduire le délai temps d’attente pour obtenir un résultat En accélérant les circuits t Considérons ici la 1e option. Nous envisagerons le 2e dans le clip suivant.

5 Faire des sommes est facile…
B = Pour illustrer cette 1e option – l’accélération des opérations – prenons par exemple le cas de l’addition de deux nombres binaires. 1 La somme de deux bits obéit aux règles ci-contre. Tant qu’un des deux bits à additionner est nul, leur somme tient en 1 bit. Par contre quand les deux bits à additionner valent 1, leur somme binaire vaut 10 (=2). Elle génère donc un bit de retenue. 2 Si on veut calculer la somme des deux nombres binaires de cette figure, il faut commencer par la somme des deux bits de moindre puissance, qui vaut 1 et ne pose aucun problème. 3 La somme des deux bits suivants génère cependant une retenue de 1. 4 Il n’est donc pas possible de calculer la somme des deux bits suivants avant de savoir s’il faut tenir compte d’une retenue de la puissance précédente. 5 Il en va de même pour la somme des deux bits sur-suivants … 6 … et ainsi de suite pour tous les bits de puissance croissante. Retenue Sommes élémentaires 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 = 121 + 020 = 210

6 Faire un circuit est aussi (relativement) facile…
B … = Construire un circuit d’addition permettant de faire une telle somme est relativement simple. 1 Il suffit pour ce faire de concevoir un circuit d’addition implémentant les règles de sommation de 2 bits ci-contre … 2 … et produisant 1 bit de somme et 1 bit de retenue. 3 Ensuite il faut cependant additionner non pas 2 mais 3 bits, puisqu’il faut chaque fois tenir compte du potentiel bit de retenue de la puissance inférieure. 4 En pratique il faut donc utiliser partout des circuits d’addition de 3 bits … 5 … pour tous les bits jusqu’à la plus grande puissance (quitte à fixer le bit de retenue à 0 pour l’addition de puissance 0). 6 Et pour ce faire on peut utiliser le circuit d’addition de 3 bits déjà vu dans un précédent clip de cette série. Somme = = 01 = 10 = 01 = 10 = 10 = 11 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Il faut ajouter aussi la retenue

7 Mais ce circuit est lent !
La propagation de la retenue est un aspect fondamental du temps de calcul de la somme ! A la base, le délai d’un additionneur est donc proportionnel au nombre de bits à additionner B … = Le problème d’un tel assemblage de circuits est que le résultat est lent! 1 En effet le circuit d’addition de chaque paire de bits doit toujours attendre le calcul de la retenue de puissance inférieure. 2 La propagation de la retenue impose donc un délai de calcul directement proportionnel au nombre de bits à additionner.

8 T Peut-on faire mieux ? bits 63 bits 0 Additionneur 64 bit
La question est comment pourrait-on accélérer cela? Considérons p.ex. une unité d’addition de deux nombres de 64 bits chacun. 1 Avec les circuits vus jusqu’ici une telle unité demanderait un temps T proportionnel à 64 bits. Additionneur 64 bit T

9 Peut-on faire mieux ? Retenue des bits 31 bits 63 bits 0
Additionneur 32 bit bits 63 Additionneur 32 bit bits 0 On peut imaginer de remplacer notre unité de calcul sur 64 bits par deux unités de calcul sur 32 bits chacune. 1 Dans ce cas il faudrait répercuter la retenue sortant de l’unité de plus faible puissance (à droite) sur la somme des deux bits de plus faible puissance de l’unité de plus haute puissance (à gauche).

10 T/2 T/2 Peut-on faire mieux ? On n’a rien gagné… Retenue des bits 31
Additionneur 32 bit bits 63 Additionneur 32 bit bits 0 Mais même dans ce cas, il faudrait attendre un temps T/2 pour obtenir la retenue de l’unité de droite … 1 … avant de pouvoir lancer le calcul de l’unité de gauche qui prendrait encore un temps T/2 de plus. 2 On aurait donc rien gagné! T/2 T/2 On n’a rien gagné…

11 Ça prend seulement la moitié du temps !
Peut-on faire mieux ? bits 63 bits 0 Imaginons cependant une conception apparemment un peu dispendieuse selon laquelle on prévoit non pas 2 mais 3 additionneurs de 32 bits pour réaliser notre additionneur de 64 bits. Un de ces additionneurs (A) servira à additionner les 32 bits les moins significatifs, alors que les deux autres (b0 et B1) serviront à additionner les 32 bits les plus significatifs. Remarquons que chacun de ces deux additionneurs est préconfiguré comme s’il acceptait de l’additionneur A un bit de retenue fixé – à 0 pour B0 et à 1 pour B1. 1 Dans ce cas les calculs des 3 additionneurs peuvent être lancés en parallèle. T/2 unités de temps plus tard l’additionneur A livre un bit de retenue effectif (0 ou 1). Ce bit est alors utilisé pour choisir la réponse correspondante parmi celles des deux additionneurs B. 2 Si la retenue des 32 bits de A est 1, tous les transistors interrupteurs en bas à gauche ignorent simplement la sortie de l’additionneur B0 mais sélectionnent par contre les bits de sortie de B1 … 3 … et inversement si A livre une retenue nulle. 4 Bilan des courses: on a divisé le temps de calcul par deux!... … bien sûr au prix de 50% de transistors en plus … … mais ceux-ci sont peu couteux et la performance a son prix. ‘0’ Additionneur 32 bits (B0) Additionneur 32 bits (A) T/2 Additionneur 32 bits (B1) T/2 ‘1’ Ça prend seulement la moitié du temps !

12 Le génie informatique (1)
On peut profondément changer la performance du circuit sans en changer la fonctionnalité On peut investir plus de transistors et plus d’énergie pour obtenir des circuits très rapides On peut ralentir les circuits pour épargner de l’énergie On peut donc profondément changer la performance du circuit sans changer sa fonctionnalité. 1 On peut investir plus de transistors et plus d’énergie pour obtenir des circuits plus rapides. 2 Ou alternativement on peut ralentir les circuits pour épargner transistors et consommation. 3 Recourir à de tels améliorations relève d’une des branches du génie informatique qu’on appelle la synthèse logique. => Ceci est un exemple de synthèse logique qui est une des branches de l’ingéniérie informatique (Computer Engineering)


Télécharger ppt "Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne"

Présentations similaires


Annonces Google