ScholarGate
Assistant

Processeurs multicœurs et multiprocesseurs sur puce

Un multiprocesseur sur puce intègre plusieurs cœurs de processeur sur une seule matrice, partageant des caches et une interface mémoire, de sorte que le parallélisme au niveau des threads, plutôt qu'une vitesse d'horloge plus élevée, est le moteur de la croissance des performances.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Un processeur multicœur, ou multiprocesseur sur puce, est un circuit intégré unique contenant plusieurs cœurs de processeur indépendants qui partagent certaines ressources sur puce et un système de mémoire, conçu pour exécuter plusieurs threads ou programmes simultanément.

Scope

Ce sujet couvre l'organisation des puces multicœurs : le nombre de cœurs et l'hétérogénéité, les hiérarchies de cache partagées et privées, les interconnexions sur puce, et la manière dont les performances évoluent avec le nombre de cœurs selon la loi d'Amdahl. Il traite de la structure matérielle des systèmes multicœurs. Il exclut les mécanismes de cohérence et de consistance partagés avec d'autres sujets sur la mémoire partagée (shared-memory-and-coherence, cache coherence protocols) et le moteur monocœur (processor microarchitecture).

Core questions

  • Pourquoi les processeurs sont-ils passés de cœurs uniques rapides à des cœurs multiples ?
  • Comment les cœurs, les caches et l'interconnexion sont-ils organisés sur une puce ?
  • Comment la loi d'Amdahl limite-t-elle l'accélération obtenue en ajoutant des cœurs ?
  • Quand les cœurs hétérogènes sont-ils préférables aux cœurs identiques ?

Key concepts

  • multiprocesseur sur puce
  • parallélisme au niveau des threads
  • caches partagés vs privés
  • interconnexion sur puce
  • nombre de cœurs et mise à l'échelle
  • cœurs hétérogènes (big.LITTLE)
  • loi d'Amdahl
  • limites de puissance et thermiques

Key theories

Loi d'Amdahl pour la mise à l'échelle multicœur
La fraction séquentielle d'une charge de travail limite l'accélération réalisable par l'ajout de cœurs ; cette limite explique pourquoi la simple augmentation du nombre de cœurs produit des rendements décroissants et motive la réduction des goulots d'étranglement séquentiels et l'utilisation de conceptions hétérogènes.

Mechanisms

Une puce multicœur place plusieurs cœurs sur une seule matrice, généralement avec des caches de premier niveau privés, un cache de dernier niveau partagé, et un réseau ou anneau sur puce les connectant aux contrôleurs de mémoire. Les charges de travail gagnent en performance en exécutant des threads sur différents cœurs. Les conceptions hétérogènes combinent de grands cœurs haute performance avec de petits cœurs efficaces, planifiant le travail sur le cœur le plus approprié pour équilibrer vitesse et énergie.

Clinical relevance

Le multicœur est la conception de processeur dominante aujourd'hui, des téléphones aux serveurs, car la mise à l'échelle de la fréquence a stagné sous les limites de puissance. Son essor a transféré le fardeau de la performance vers les logiciels parallèles : les applications doivent être multithreadées pour en bénéficier, faisant de la concurrence une préoccupation de programmation courante et de la loi d'Amdahl une contrainte pratique sur les systèmes réels.

History

Les multiprocesseurs sur puce de recherche tels que Hydra de Stanford dans les années 1990 ont anticipé l'ère multicœur. L'arrêt de la mise à l'échelle de la fréquence vers 2004-2005 a poussé les CPU grand public vers des conceptions à double cœur, puis à plusieurs cœurs. Les architectures hétérogènes combinant des cœurs de performance et d'efficacité sont devenues courantes par la suite, en particulier dans les processeurs mobiles et d'ordinateurs portables.

Debates

Plus de cœurs versus des cœurs plus puissants
Étant donné une puissance et une surface fixes, les concepteurs débattent de l'opportunité d'ajouter de nombreux cœurs plus simples, moins de cœurs puissants, ou un mélange hétérogène ; le meilleur choix dépend du degré de parallélisme des charges de travail cibles, la loi d'Amdahl favorisant les cœurs puissants lorsque les fractions séquentielles sont significatives.

Key figures

  • Gene Amdahl
  • John L. Hennessy
  • David A. Patterson
  • Kunle Olukotun

Related topics

Seminal works

  • hennessy2019
  • amdahl1967

Frequently asked questions

Pourquoi le doublement du nombre de cœurs ne double-t-il pas les performances ?
Selon la loi d'Amdahl, toute partie d'un programme qui doit s'exécuter séquentiellement limite le bénéfice des cœurs ajoutés. La communication, la synchronisation et la contention pour les ressources partagées ajoutent des surcoûts supplémentaires, de sorte que l'accélération réelle est généralement bien inférieure à la mise à l'échelle linéaire idéale.
Que sont les cœurs hétérogènes (big.LITTLE) ?
Les conceptions hétérogènes combinent de grands cœurs haute performance avec des cœurs plus petits et écoénergétiques sur la même puce. Le système planifie le travail exigeant sur les grands cœurs et le travail léger ou en arrière-plan sur les petits cœurs, améliorant l'efficacité énergétique sans sacrifier les performances de pointe.

Methods for this concept

Related concepts