Tout savoir sur le matériel informatique Thème de l’exposé : Les microprocesseurs 64bits et multicoeurs Date : 04/11/2010 Orateurs : Quentin BRUYERE Julien DRACHE Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 1 Sommaire : 1. Introduction............................................................................................................................................. 3 2. Généralités sur les microprocesseurs.................................................................................................... 3 2.1. Historique et évolution des microprocesseurs................................................................................... 3 2.2. Notions multicoeurs/multithread....................................................................................................... 4 2.3. Structure et fonctionnement d'un microprocesseur........................................................................... 5 2.4. Explication sur les GHz annoncés......................................................................................................6 Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 2 1. Introduction. Selon la loi de Moore, le nombre de transistors des microprocesseurs double tous les 18 mois. La finesse de gravure des composants devient de plus en plus petite (45 nm en 2006) et on imagine que bientôt cette finesse devrait se heurter aux règles de la mécanique quantique. Un processeur est dit microprocesseur quand ses composants sont tellement petits qu'on peut les grouper dans un même circuit intégré. Le processeur d'un ordinateur s'occupe de traiter les données des programmes et d'exécuter les instructions. Il manipule des informations numériques codées (sous forme binaire) et d'exécute les instructions stockées en mémoire. 2. Généralités sur les microprocesseurs. 2.1. Historique et évolution des microprocesseurs. En 1969, deux ingénieurs d'Intel : Marcian Hoff et Frederico Faggin invente le microprocesseur. Marcian Hoff a travaillé sur l'architecture du microprocesseur (architecture de bloc et jeu d'instructions). Federico Faggin quand a lui, s'est chargé de sa conception, établie sur une nouvelle logique elle-même intoduite par lui 1an plus tôt. Le premier microprocesseur est commercialisé le 15 Novembre 1971 ; c'est l'Intel 4004. Il fut suivi par l'Intel 8008 qui fût créé pour répondre à la demande d'un client. Il permettait de fabriquer des contrôleurs graphiques en mode texte, mais jugé trop lent, il devint un processeur d'usage général. Ces processeurs sont les précurseurs de la future famille des Intel x86 que l'on connais aujourd'hui. Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 3 Ci-dessous, le tableau représente les principaux microprocesseurs fabriqués par Intel ainsi que l'évolution de leurs caractéristiques (à savoir que les microprocesseurs de ses concurrents ne sont pas représentés ici) : Date Nom Nb Transistors 1971 1974 1979 1982 1985 1989 1993 1997 1999 2000 2004 4004 8080 8088 80286 80386 80486 Pentium Pentium 2 Pentium 3 Pentium 4 Pentium 4D (Prescott) Core 2 Duo Core 2 Quad Core 2 Duo (Penryn) Core 2 Quad (Penryn) Intel Core i7 (Nehalem) Intel Core i5/i7 (Lynnfield) Intel Core i7 (Gulftown) 2300 6000 29000 134000 275000 1.2M 3.1M 7.5M 9.5M 42M 125M 2006 2007 2008 2008 2008 2009 2010 Fréquence Largeur des données (bits) 108kHz 4/4 bus 2MHZ 8/8 bus 5MHz 16/8 bus 6-16MHz 16/16 bus 16-40MHz 32/32 bus 16-100MHz 32/32 bus 60-233MHz 32/64 bus 233-450MHz 32/64 bus 450-1400MHz 32/64 bus 1,3-3,8GHz 32/64 bus 2,66-3,6GHz 32/64 bus MIPS (en million) 0,06 0,64 0,33 1 5 20 100 300 510 1700 9000 291M 2*291M 410M 2,4GHz 3GHz 3,33GHz 64/64 bus 64/64 bus 64/64 bus 22000 2*22000 24200 2*410M 3,2GHz 64/64 bus 2*24200 731M 2,66-3,33GHz 64/64 bus ? 774M 2,66 GHz (i5) 2,93 GHz (i7) 3,33 GHz 64/64 bus 76383 64/64 bus 147600 1170M Quand on dit exécuter un programme, on parle en fait d'exécuter un flux d'instructions via le processeur. Ces instructions sont exécutées à partir du nombre nécessaire de cycle(s) d'horloge (expliqués dans la suite). – Les microprocesseurs séquentiels exécutent les instructions les une après les autres. – On parle de parallélisme, quand le microprocesseur peut traiter plusieurs instructions dans le même cycle d'horloge. Cependant il est important que les instructions ne concerne pas la même ressource. Cette file d'exécution nommée Pipeline est apparu dans les années 1960 grâce à IBM. Les derniers processeurs exécutent en même temps autant d'instructions non-interdépendantes qu'ils ont de pipelines, le résultat de l'exécution de chacune d'entre elles ne doit pas modifier les conditions d'exécution de l'une des autres. On appelle ces processeurs superscalaires qui apparaissent en 1965. Ainsi, le premier processeurs compatible sur PC est le Pentium. Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 4 Aujourd'hui, les concepteurs de processeurs ne se concentrent plus sur la recherche d'exécution simultané des instructions mais essayent d'améliorer le vitesse de leur exécution. Ainsi l'exécution out-oforder est inventée. Ce système permet de trier les instructions de manière à ce que tous ses pipelines contiennent des instructions indépendantes. Ce mécanisme s'est donc imposé sur les PC à partir des années 1980 jusqu'aux années 1990. On appelle SMT (Simultaneous Multi Threading) les procédés qui consiste à faire partager aux threads les pipelines, caches et registres. Cela réduit le délai de changement de thread et réduit le temps liée à l'attente de nouvelles instructions. La technique a été mise au point dans les années 1950. Au début des années 2000, Intel commençait à produire des processeurs utilisant la technologie SMT à deux voies autrement dit Hyper-threading. Le Super-threading est, quant à lui, une technologie SMT dans laquelle plusieurs threads partagent aussi les mêmes ressources, mais ces threads ne s'exécutent que l'un après l'autre et non simultanément. Depuis longtemps déjà, les constructeurs avaient en tête l'idée d'utiliser plusieurs processeurs et les rassembler dans un même composant. C'est ainsi qu'apparurent des processeurs utilisant deux ou quatre cores, soit en 2001 le POWER4 d'IBM. Ils utilisent donc l'Hyper-threading ou le Super-threading. Ce type de processeurs coûtent donc moins cher que si l'on achetait les processeurs équivalent séparés. Bien sûr, il existe une diminution des performances totales du système. 2.2. Notions multicoeurs/multithread. La notion de multi-coeurs (multi-core) représente un processeur possédant plusieurs « cœurs » (unité de calcul) physiques. On parle de multi-coeurs pour décrire un processeur possédant au moins deux cœurs différents gravés dans la même puce. En 2005 apparurent les premiers processeurs multi-coeurs sur le marché du PC via Intel et AMD, il s' agissait de cœurs dit homogènes (identiques). On peut retrouver des cas ou les cœurs sont différents pour certains domaines tel que la musique, le calcul pur ou encore l'affichage ; le processeur Cell conçu par IBM, Toshiba et Sony en ai un très bon exemple. L'utilité de ce procédé est de ralentir la course au cycle horloge – qui est onéreux et complexe – tout en augmentant la puissance de calcul, ce qui permet aussi de réduire la quantité de chaleur dissipé par l' effet Joule. Toujours en 2005, AMD déploie sont nouveau processeur double-coeurs Optéron sur le marché des serveurs, qui est basé sur une architecture x86. La technologie HT pour Hyper-threading consiste a partir d'un processeur multi-coeurs définir 2 processeurs logiques. Cette technologie permet au système de reconnaître deux processeurs physiques et de se comporter en système multitâches en envoyant deux threads (discussions) simultanément, comme précédemment, il s'agit du système de SMT. Ce procédé permet d'utiliser au mieux les ressources du processeur en permettant que les données lui sont envoyées en grande quantités. Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 5 2.3. Structure et fonctionnement d'un microprocesseur. Le processeur est un circuit électronique tournant au rythme d'une horloge interne par le bye d'un quartz qui, soumis au courant, envoie des impulsions nommées « tops ». Généralement, ce cycle d'horloge est un multiple de la fréquence de la carte mère. On peut définir la puissance du processeur par le nombre d'instruction par secondes dont il est capable. On utilise comme unité le MIPS (Millions d' Instruction Par Secondes) qui correspond à la fréquence du processeur divisé par le CPI (Cycle Par Secondes). Le CPI permet de représenter le nombre moyen de cycle pour l'exécution d'une instruction. L'unité centrale d'un microprocesseur est composée de : – Une UAL pour effectuer des opérations arithmétiques et logiques. – Un registre d'instruction associé à un décodeur permettant de décomposer et d'organiser l'exécution de l'instruction. – Un certain nombre de registres internes, pour stocker temporairement des données ou les bits de conditions. – Un système de gestion d'adresses, permettant la localisation des informations, qu'elles soient données ou instructions. – Un ensemble de Bus, permettant de véhiculer soit des données, Bus de données, soit des adresses, Bus d'adresse, soit des informations permettant de contrôler ces transferts, Bus de contrôle. Lorsque le processeur exécute des instructions, les données sont temporairement stockées dans de petites mémoires rapides de 8, 16, 32 ou 64 bits que l'on appelle registres. Suivant le type de processeur le nombre global de registres peut varier d'une dizaine à plusieurs centaines. Les registres principaux sont : – le registre accumulateur (ACC), stockant les résultats des opérations arithmétiques et logiques ; – le registre d'état (PSW, Processor Status Word), permettant de stocker des indicateurs sur l'état du système (retenue, dépassement, etc.) ; – le registre instruction (RI), contenant l'instruction en cours de traitement ; – le compteur ordinal (CO ou PC pour Program Counter), contenant l'adresse de la prochaine instruction à traiter ; – le registre tampon, stockant temporairement une donnée provenant de la mémoire. Certains processeurs ne comporte cependant pas de registre, mais ils sont rares. Seul le compteur de programme est indispensable. Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 6 2.4. Explication sur les GHz annoncés. Les microprocesseurs sont réglés à partir d'un signal d'horloge (cycle correspondant au nombre d'impulsions par seconde exprimé en Hertz). A chaque impulsion, le processeur exécute une partie d'instruction ou une instruction entière. La fréquence du signal a été multipliée par 1000 en 20 ans, passant de quelques MHz vers 1980 à plusieurs GHz dans les années 2000. En augmentant la fréquence, le microprocesseur peut exécuter plus rapidement les instructions d'un programme. Cependant, cette augmentation de la fréquence présente un défaut : le processeur chauffe plus et il faut donc trouver un système de refroidissement plus adéquat. Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 7 Sources : – wikipedia.org – membres.multimania.fr – ybet.be – world-informatique.com – et d'autres... Les microprocesseurs 64bits et multicoeurs DRACHE-BRUYERE Page 8