Evolution des performances

PDF pour impression diapos

Évolution des performances

Loi de Moore

tous les 18 mois, le nombre de transistor par processeur double

loi de moore

Loi de Moore

  • Énoncée en 1965 par Gordon Moore (pdg d’Intel).
  • Restée valable jusqu’en 2005 environ.

Problème : la chaleur

À cause d’une contrainte physique : en effet plus on augmente la fréquence d’horloge d’un CPU, plus ce dernier chauffe.

Mais… si la surface diminue, dissiper la chaleur devient impossible.

Évolutions récentes des processeurs : de multiples coeurs.

Augmenter le nombre de cœurs présent sur un CPU !

Mais qu’est qu’un cœur dans un microprocesseur ?

Un cœur est principalement composé :

  • d’une UAL,
  • de registres (R0, R1...)
  • d’une unité de commande

Un cœur est donc capable d’exécuter des programmes de façon autonome.

Plusieurs coeurs sur une seule puce

Aujourd’hui (en 2019) on trouve sur le marché des CPU possédant jusqu’à 18 cœurs !

le Snapdragon 845 (Samsung Galaxy S9) possède 8 cœurs.

Plusieurs coeurs = de meilleures performances ?

Pas forcement !

Tirer profit d’un CPU multicœur demande certaines techniques de programmation…

Parallélisme

Les différents cœurs d’un CPU se partagent l’accès à la mémoire vive

L’accès aux ressources devient un enjeu. L’état des ressources aussi !

Parallélisme

  • mémoire 123 : nombre 50

  • coeur 1 : exécute les instructions :

    • lire la mémoire à l’adresse 123
    • fait la somme de cette valeur et du nombre 333
    • écrit le résultat à l’adresse 123
  • coeur 2 : exécute les instructions :

    • lire la mémoire à l’adresse 123
    • si la valeur de l’adresse 123 est > 333, afficher “bonjour”
    • sinon, afficher “au revoir”

Parallélisme

  • Si les instructions s’exécutent dans l’ordre :

    C1, C2, C1, C2, C1, C2, etc on affiche : “bonjour”

  • Si les instructions s’exécutent dans l’ordre :

    C1, C1, C1, C2, C2, C2, etc. on affiche “au revoir”

Parallélisme

Comment contrôler l’ordre dans lequel les instructions sont réalisées sur plusieurs cœurs ?

Les processus communiquent entre eux par message…

(rassurez vous, c’est hors programme)