|
Notre magasin Rue Albert 1er, 7 6810 Pin - Chiny Route Arlon - Florenville (/fax: 061/32.00.15 |
Cours HARDWARE 1 d'YBET Informatique |
|
FORMATIONS |
Le MAGASIN YBET |
PRODUITS et SERVICES |
| Caisse enregistreuse et balance TEC | ||
| Définitions des termes techniques | MATERIEL INFORMATIQUE | |
| Plan d'accès à Pin | Logiciels de gestion CIEL, Addix, Mercator |
|
7. Structure interne des processeurs7.1. Structure interne d'un processeur de base - 7.. Mémoire cache - 7.3. Passage du CISC au RISC - 7.4. Architecture pipeline, superpipeline et superscalaire - 7.5. Taille et alimentation des transistors - 7.6. Architecture interne des processeurs - 7.9. Conclusion. Dans le chapitre 5, les processeurs ont été analysés par type (famille, fabricants). Nous allons analyser l'architecture interne, la structure interne. Une analyse complète chaque processeur en détail serait trop compliqué, mais ceci va permettre de clarifier, de comprendre, ces différences de performances des processeurs pour une vitesse équivalente, comme par exemple, pourquoi un Pentium IV est moins performant qu'un Intel Duo Core de vitesse nettement inférieure.
Tous les "processeurs PC" utilisent les mêmes instructions que les premiers processeurs 8086 d'INTEL (mais souvent le système d'exploitation n'est plus compatible avec ces anciens programmes). Les instructions qu'un processeur est capable de lire et exécuter sont programmées en assembleur. Tous les systèmes d'exploitation et programmes sont recodés à partir de langages évolués (C, pascal, Visual Basic, …) vers cet assembleur. Si un nouveau processeur utilise les mêmes instructions de base qu'un processeur de la première génération, ceci n'est pas limitatif. En cours d'évolution, certaines instructions ont été ajoutées pour permettre des décodages d'adresses sur une plage supérieure (386) ou pour des instructions multimédia (MMX), SSE, SSE II et III pour les Pentium III, IV, 3DNow pour K6-2 et K6-3, ... L'obligation de garder les instructions de base du 8086 pour les processeurs suivant pose de sérieux problèmes pour la conception de nouveaux microprocesseurs compatibles X86. Les instructions du 8088-8086 ne sont pas franchement faciles. Codées entre 1 et 5 bytes, elles ne permettent pas de prédire l'espace utilisés par l'instruction suivante. Suivant un codage à 8 bit des instructions, une instruction peut prendre plusieurs bytes. Les processeurs 8086-8088 sont de types CISC (Complex Instruction Set Computer). Les premiers concepteurs de processeurs rajoutaient le plus d'instructions possibles pour permettre à l'utilisateur de peaufiner ses programmes. Pourtant, ces multiples instructions ralentissent le fonctionnement du microprocesseur et sont peu utilisées en pratique. Actuellement, on utilise des processeurs RISC (Reduced Instruction Set Computer). Le nombre d'instructions est réduit, mais exécutées nettement plus rapidement. Chaque instruction complexe peut être programmée par plusieurs instructions simples. La technique actuelle est de charger des instructions CISC 8086-8088 pour les recoder en instructions RISC plus rapides. 7.1. Structure interne d'un processeur de baseReprenons notre Z80 et distinguons les différentes parties: au dessus, un bus interne de données, en dessous un bus interne de commande et un bus interne d'adresse. Connaissant le schéma des systèmes à microprocesseurs, ceci n'est pas étonnant. Dans la partie de droite, une ALU (Unit Arithmetic Logic) ou UAL (Unité arithmétique et logique en Français). Cette ALU est une unité de calcul, elle est connectée à une mémoire tampon notée l'accumulateur et au travers d'un bus à un ensemble de mémoire appelés registres. Dans notre cas, ces registres sont notés B,C, D, ... Les registres A', B', C', ... sont spécifiques au Z80, mais existent également dans les 8088 (compatibles au niveau des instructions). Ceci permet de travailler avec deux zones mémoires que l'on fait basculer. L'ALU de gauche permet de faire des calculs sur des adresses. Remarquez le petit incrémenteur +1 qui permet d'augmenter le pointeur programme (l'adresse où se trouve la prochaine instruction du programme).
Le schéma des processeurs de cette génération reprenaient le schéma suivant:
Cette structure charge un code d'instruction à la fois, soit pour une instruction de type LDA XX XX (chargement dans l'accumulateur de la donnée contenu à l'adresse mémoire XX XX), trois cycles d'instructions (une pour LDA et 2 pour l'adresse). Cette condition n'est de plus remplie que si le processeur charge une instruction par cycle d'horloge, mais c'est le cas dans un système INTEL. Comme les instructions des processeur actuels sont compatibles avec les 8088, les tailles des registres le sont aussi. Il est donc impossible d'augmenter la taille de ces mémoires pour augmenter la vitesse d'exécution. Quelles sont les possibilités d'augmenter la vitesse d'un processeur sans modifier la structure?
Tous ces trucs sont actuellement utilisés, tant par INTEL, que par AMD et Cyrix (VIA). 7.2. Utilisation d'une mémoire cacheEn insérant une mémoire tampon rapide entre le processeur et la mémoire (plus lente que le processeur), on permet au processeur d'accéder rapidement à des données et instructions qu'il utilise souvent. On distingue un cache interne L1 (implanté dans le processeur) et un cache L2 (extérieur au processeur, même s'il est implanté dans le même boîtier, cas des Pentium II, K6-2 et K6-3 et suivants). Les différentes architectures de cache
Selon le modèle de processeur, le cache L2 est géré différemment. Dans le cas des Pentium Pro et Pentium II, le cache L2 n'est plus en tampon direct entre la mémoire et le processeur, mais directement gérer par le processeur. Le cache est implanté dans le même boîtier pour ces processeurs. A titre d'exemple, un CELERON 300 sans cache L2 est 40 % inférieur en performance avec un Pentium II de même fréquence et de structure identique. De plus, les processeurs actuels utilisent 2 caches L1 internes: un pour les données, un pour les instructions. Plus la taille du cache augmente, plus les difficultés à gérer ce cache augmentent, mais plus la vitesse augmente. 7.3. Passage du CISC au RISCUne autre solution pour augmenter les performances est de faire passer la structure des instruction du CISC (instruction 8088) en RISC. Chaque firme utilise en interne ses propres instructions, meilleur est ce transfert, meilleures sont les performances. Ceci explique que la vitesse effective d'un processeur n'est pas identique pour 2 processeurs de même fréquence, mais de structure différente.
Chaque processeur moderne va chercher des packets d'instruction X86, les décode sur plusieurs rangées de 8 bits pour les faire passer en instructions RISC. Ceci pose des problèmes lors d'instructions conditionnelles. Comment le processeur peut charger plusieurs instructions et les exécuter suivant le choix non prévu au départ? Chaque concepteur utilise soit un circuit de prédiction situé en amont de circuit de décodage CISC - RISC (cas d'INTEL), soit une table de branchement qui mémorise les derniers branchements (AMD).Comme les instructions sont chargées longtemps en avance, il se peut très bien que les données soient changées ...
Ce changement de type d'instruction a également permis d'implanter une (ou plusieurs) unités de calculs spécialisées en virgule flottante (nombres réels) au sein du processeur. Cette unité de calcul est le processeur mathématique. Ce coprocesseur est utilisé dans des calculs spécifiques, utilisés principalement en dessin technique et en jeux. Le passage de processeurs RISC aux processeurs CISC a amené d'autres changements internes, nous allons les passer en revue. 7.4. Architecture pipeline, superpipeline et superscalaireDans les 8088-8086, le processeur ne commençait le traitement de l'instruction suivante que lorsqu'il avait terminé la précédente. L'utilisation d'une structure pipeline permet le traitement de plusieurs instructions en même temps. Dans le cas d'une structure pipeline, l'exécution d'une instruction est décomposée en:
Comme seules la première et la dernière instruction utilisent les bus externes, le cycle de l'instruction suivante peut commencer en même temps que le décodage interne de l'instruction. Ceci permet d'exécuter plusieurs instructions en même temps.
Dans une architecture superpipeline, l'exécution de l'instruction est maintenant divisée par 6. Le nombre d'exécution simultanée n'est guère supérieure en super pipeline par rapport à une architecture pipeline dans les instruction habituelles. Par contre, comme de temps utilisé par chaque partie d'instruction est plus faible, chaque fois qu'une partie est omise (parce que pas nécessaire) l'exécution est encore plus rapide pour la suivante. Super pipeline: le processeur ne traite pas les instructions d'un seul coup, mais en 6 étapes: pré extraction, décodage d'instruction (2), génération d'adresse et écriture différée (2) (cas d'un chargement vers ou de la mémoire), exécution, transfert des données.
Architecture superpipeline: le processeur M1 de CYRIX, l'architecture va jusqu'à 7 niveaux.
Architecture superscalaire Dans les structure interne de processeurs superscalaires, le processeur inclut plusieurs unités d'exécution d'instruction qui travaillent en même temps. L'Athlon est superpipeline et super scalaire. 7.5. Taille des transistors, alimentations.Actuellement, les microprocesseurs utilisent des transistors de type CMOS ou BiCMOS. Plus la technologie progresse, plus la tension d'alimentation et la taille du transistors diminuent et plus le nombre de transistors augmentent. Une réduction de la taille des transistors diminue la distance de transfert entre 2 informations et donc moins de dissipations thermiques (puisque le signal suit une distance plus courte, moins d'échauffement dans le processeur). De plus, la complexité des processeurs actuels augmente le nombre de transistors. En 1995, la taille d'un transistor était de 0,5 micron. En 2003, elle est de 0,13 micron avec les Pentium IV supérieurs 1,7Gh et derniers athlon. Si depuis les Pentium MMX, l'alimentation est bi-tensions, la tension d'alimentation également puisque celle d'un K6-3 à 450 Mhz est actuellement de 2.2 V, les processeurs actuels descendent à1,3V. Attention, vérifiez systématiquement la tension sur le processeur et non sur la carte mère ou dans les notes techniques de celle-ci. Pour les processeurs bi-tensions, prendre le V Core , même si la deuxième tension est affichée. La modification des tensions des processeurs est arrivée avec les premiers 486DX2 de Cyrix (mais est devenue générale). Tous les modèles antérieurs utilisaient le 5V. Une erreur d'alimentation sur un processeur entraîne sa destruction à brève échéance. 7.6. Architecture interne des processeursEn additionnant quelques unes des avancées ci-dessus, on arrive par exemple à un K5 2,5 fois plus rapide qu'un 486 de même fréquence. Analysons brièvement quelques structures internes de processeurs. Commençons par le K5 d'AMD ci-dessus.
Schéma d'architecture générale d'un AMD K5 En haut à gauche, le cache L1 instruction (le cache de données se trouve en bas) par qui transite toutes les instructions en provenance de la mémoire (cas des AMD). Le système en-dessous de prédécodage est utilisé pour les vérifier le type d'instructions qui arrivent (mémoires ou exécution) et sert aux prédictions de branchements. Le tout est relié à un tampon d'instructions qui envoie 2 instructions X86 par cycle d'horloge vers 4 décodeurs d'instructions (passage du CISC au Risc) Ce décodage est exécuté par la ROM Microcode. Les instructions RISC sont transférées vers une table de prédilection de branchements, associé à un autre cache. D'autres part, les instructions sont traitées en RISC par l'instruction Control Unit qui envoie également les instructions à partir d'un réservoir de 24 commandes RISC86 vers les différentes parties en-dessous: Load et Store (gestion mémoires), deux unités d'entiers et une de virgule flottante, une unité de branchement qui gère également la table de prédiction et une unité multimédia liée aux instructions MMX. Le tout est relié au bus de donnée externe via le cache de donnée et l'Unité d'interface Bus qui gère également le cache d'instructions. Celle du Pentium Pro ci-dessous est identique, à part le cache L2 (externe) qui n'est pas relié directement à la mémoire. Cette structure est reprise dans les Pentium II et Pentium III.
Architecture générale d'un processeur Pentium Pro (identique au Pentium II et III). 7.7. Conclusion.Ceci n'est que les premiers balbutiements de la modification de la structure interne des processeurs. La modification de l'architecture rend les performances d'un processeur difficiles à vérifier en se basant uniquement sur la fréquence. Ceci explique les bricolages commerciaux de Cyrix qui désignait systématiquement les vitesses de ses processeurs, non pas par la vitesse effective, mais par des vitesses de comparaison par rapport aux équivalents INTEL en fonction des Brenchmarks (quoique). AMD avec les Athlon XP et Sempron fait de même et Intel est revenu en arrière dans la course à la fréquence.. Si le nombre d'instructions décodées en même temps devrait encore augmenter, la direction actuelle des processeurs va vers la diminution de la taille des transistors, ce qui conduit à des possibilités d'augmentation de fréquence. En effet, plus le nombre de transistors augmente, plus la dissipation de chaleur est importante. Mais plus la taille d'un transistor diminue, moins cette dissipation est importante. D'autres matériaux sont en cours d'utilisation, IBM utilise déjà des conducteurs internes en cuivre, alors que la technologie actuelle est basée sur l'aluminium. Le cuivre est meilleur conducteur électrique (d'où moins de dissipations), mais nécessite une technologie plus élevée, avec des difficultés d'intégration plus importante. Ceci n'évite de toute façon pas le ventilateur sur le processeur.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
La suite sur la structure interne > 7.A AMD
64 bits (AThlon 64, Opetron, ...) 7.b. Netburst, Intel Core 8. Les chipsets |
| < 6. Bus PC: ISA, PCI, PCI-express, AGP, ... |
Révision: le 9/06/2008
Le cours hardware première année (PC et périphériques). Le cours Hardware deuxième année (réseaux, serveurs et communications)
Les compétences au service de la qualité.
Les activités d'YBET informatique à Pin (Chiny)