Comment fonctionne un microprocesseur informatique ? Examinons quelques points importants sur le fonctionnement d'un ordinateur.

Maison / Ordinateurs portables

Presque tout le monde sait que dans un ordinateur, l'élément principal parmi tous les composants « durs » est le processeur central. Mais le cercle de personnes qui comprennent le fonctionnement d’un processeur est très limité. La plupart des utilisateurs n’en ont aucune idée. Et même lorsque le système commence soudainement à ralentir, beaucoup pensent que c'est le processeur qui ne fonctionne pas bien et n'attachent pas d'importance aux autres facteurs. Pour bien comprendre la situation, examinons certains aspects du fonctionnement du processeur.

Qu'est-ce qu'une unité centrale de traitement ?

De quoi est composé le processeur ?

Si nous parlons du fonctionnement d'un processeur Intel ou de son concurrent AMD, il faut regarder comment ces puces sont conçues. Le premier microprocesseur (d'ailleurs, il s'agissait d'Intel, modèle 4040) est apparu en 1971. Il ne pouvait effectuer que les opérations d’addition et de soustraction les plus simples en traitant seulement 4 bits d’informations, c’est-à-dire qu’il avait une architecture de 4 bits.

Les processeurs modernes, comme les premiers-nés, sont basés sur des transistors et sont beaucoup plus rapides. Ils sont réalisés par photolithographie à partir d'un certain nombre de tranches de silicium individuelles qui constituent un monocristal dans lequel sont imprimés des transistors. Le circuit est créé sur un accélérateur spécial utilisant des ions bore accélérés. Dans la structure interne des processeurs, les principaux composants sont des cœurs, des bus et des particules fonctionnelles appelées révisions.

Principales caractéristiques

Comme tout autre appareil, le processeur est caractérisé par certains paramètres qui ne peuvent être ignorés lorsqu'on répond à la question de savoir comment fonctionne le processeur. Tout d'abord ceci :

  • nombre de cœurs ;
  • nombre de fils ;
  • taille du cache (mémoire interne) ;
  • fréquence d'horloge ;
  • vitesse des pneus.

Pour l'instant, concentrons-nous sur la fréquence d'horloge. Ce n’est pas pour rien que le processeur est appelé le cœur de l’ordinateur. Comme le cœur, il fonctionne en mode pulsation avec un certain nombre de battements par seconde. La fréquence d'horloge est mesurée en MHz ou en GHz. Plus il est élevé, plus l'appareil peut effectuer d'opérations.

À quelle fréquence le processeur fonctionne, vous pouvez le découvrir à partir de ses caractéristiques déclarées ou consulter les informations dans Mais lors du traitement des commandes, la fréquence peut changer et lors de l'overclocking (overlocking), elle peut augmenter jusqu'à des limites extrêmes. Ainsi, la valeur déclarée n'est qu'un indicateur moyen.

Le nombre de cœurs est un indicateur qui détermine le nombre de centres de traitement du processeur (à ne pas confondre avec les threads - le nombre de cœurs et de threads peut ne pas être le même). Grâce à cette répartition, il est possible de rediriger les opérations vers d'autres cœurs, augmentant ainsi les performances globales.

Comment fonctionne un processeur : traitement des commandes

Parlons maintenant un peu de la structure des commandes exécutables. Si vous regardez le fonctionnement d'un processeur, vous devez clairement comprendre que toute commande comporte deux composants : un opérationnel et un opérande.

La partie opérationnelle précise ce qui doit être accompli dans à l'heure actuelle système informatique, l'opérande détermine sur quoi le processeur doit travailler. De plus, le cœur du processeur peut contenir deux centres de calcul (conteneurs, threads), qui divisent l'exécution d'une commande en plusieurs étapes :

  • production;
  • décryptage;
  • exécution de commandes ;
  • accéder à la mémoire du processeur lui-même
  • sauvegarder le résultat.

Aujourd'hui, une mise en cache séparée est utilisée sous la forme de l'utilisation de deux niveaux de mémoire cache, ce qui évite l'interception par deux ou plusieurs commandes d'accès à l'un des blocs de mémoire.

En fonction du type de traitement des commandes, les processeurs sont divisés en linéaires (exécution des commandes dans l'ordre dans lequel elles sont écrites), cycliques et ramifiés (exécution des instructions après traitement des conditions de branchement).

Opérations effectuées

Parmi les principales fonctions assignées au processeur, au niveau des commandes ou instructions exécutées, on distingue trois tâches principales :

  • opérations mathématiques basées sur un dispositif arithmétique-logique ;
  • déplacer des données (informations) d'un type de mémoire à un autre ;
  • prendre une décision sur l'exécution d'une commande et, sur cette base, choisir de passer à l'exécution d'autres ensembles de commandes.

Interaction avec la mémoire (ROM et RAM)

Dans ce processus, les composants à prendre en compte sont le bus et le canal de lecture-écriture, qui sont connectés aux périphériques de stockage. La ROM contient un ensemble constant d'octets. Tout d'abord, le bus d'adresse demande un octet spécifique à la ROM, puis le transfère au bus de données, après quoi le canal de lecture change d'état et la ROM fournit l'octet demandé.

Mais les processeurs peuvent non seulement lire les données de la RAM, mais aussi les écrire. Dans ce cas, le canal d'enregistrement est utilisé. Mais si vous y regardez, dans l'ensemble ordinateurs modernes En théorie pure, nous pourrions nous passer de RAM, car les microcontrôleurs modernes sont capables de placer les octets de données nécessaires directement dans la mémoire de la puce du processeur elle-même. Mais il n'y a aucun moyen de se passer de ROM.

Entre autres choses, le système démarre à partir du mode de test matériel (commandes BIOS), et ensuite seulement le contrôle est transféré au système d'exploitation en cours de chargement.

Comment vérifier si le processeur fonctionne ?

Examinons maintenant certains aspects de la vérification des performances du processeur. Il faut bien comprendre que si le processeur ne fonctionnait pas, l'ordinateur ne pourrait pas du tout démarrer le chargement.

C'est une autre affaire lorsqu'il faut regarder l'indicateur d'utilisation des capacités du processeur à un moment donné. Cela peut être fait à partir du « Gestionnaire des tâches » standard (en face de tout processus, il est indiqué le pourcentage de charge du processeur qu'il fournit). Pour déterminer visuellement ce paramètre, vous pouvez utiliser l'onglet performances, où les modifications sont suivies en temps réel. Les options avancées peuvent être vues en utilisant programmes spéciaux par exemple CPU-Z.

De plus, vous pouvez utiliser plusieurs cœurs de processeur en utilisant (msconfig) et options supplémentaires téléchargements.

Problèmes possibles

Enfin, quelques mots sur les problèmes. De nombreux utilisateurs demandent souvent pourquoi le processeur fonctionne mais le moniteur ne s'allume pas ? Cette situation n'a rien à voir avec le processeur central. Le fait est que lorsque vous allumez un ordinateur, la carte graphique est testée en premier, et ensuite seulement tout le reste. Le problème réside peut-être précisément dans le processeur de la puce graphique (tous les accélérateurs vidéo modernes ont leurs propres processeurs graphiques).

Mais en prenant l'exemple du fonctionnement du corps humain, il faut comprendre qu'en cas d'arrêt cardiaque, le corps tout entier meurt. Idem avec les ordinateurs. Le processeur ne fonctionne pas - tout le système informatique « meurt ».

Les processeurs modernes ont la forme d’un petit rectangle qui se présente sous la forme d’une plaquette de silicium. La plaque elle-même est protégée par un boîtier spécial en plastique ou en céramique. Tous les circuits principaux sont protégés, grâce à eux le fonctionnement complet du CPU est assuré. Si avec apparence tout est extrêmement simple, qu'en est-il du circuit lui-même et de la façon dont le processeur est conçu ? Regardons cela plus en détail.

Le processeur n'inclut pas grand nombre divers éléments. Chacun d'eux effectue sa propre action, les données et le contrôle sont transférés. Utilisateurs réguliers Nous avons l'habitude de distinguer les processeurs par leur vitesse d'horloge, leur quantité de mémoire cache et leurs cœurs. Mais ce n'est pas tout ce qui garantit la fiabilité et la fiabilité travail rapide. Il convient de prêter une attention particulière à chaque composant.

Architecture

La conception interne des processeurs diffère souvent les unes des autres ; chaque famille possède son propre ensemble de propriétés et de fonctions : c'est ce qu'on appelle son architecture. Un exemple de conception du processeur peut être vu dans l’image ci-dessous.

Mais beaucoup de gens sont habitués à interpréter l’architecture du processeur d’une manière légèrement différente. Si nous le considérons d’un point de vue programmation, alors il se définit par sa capacité à exécuter un certain ensemble de codes. Si vous achetez un processeur moderne, il s’agit probablement d’une architecture x86.

Noyaux

La partie principale du processeur s'appelle le noyau, elle contient tous les blocs nécessaires et effectue également des tâches logiques et arithmétiques. Si vous regardez la figure ci-dessous, vous pouvez voir à quoi ressemble chaque bloc fonctionnel du noyau :

  1. Module de récupération d'instructions. Ici, les instructions sont reconnues par l'adresse indiquée dans le compteur du programme. Le nombre de lectures simultanées de commandes dépend directement du nombre d'unités de décryptage installées, ce qui permet de charger chaque cycle de travail avec le plus grand nombre d'instructions.
  2. Prédicteur de transition est responsable du fonctionnement optimal de l’unité de récupération d’instructions. Il détermine la séquence d'instructions à exécuter, chargeant le pipeline du noyau.
  3. Module de décodage. Cette partie du noyau est chargée de définir certains processus pour effectuer des tâches. La tâche de décodage elle-même est très difficile en raison de la taille variable des instructions. Dans les processeurs les plus récents, il existe plusieurs blocs de ce type dans un seul cœur.
  4. Modules d'échantillonnage de données. Ils récupèrent les informations de la RAM ou de la mémoire cache. Ils effectuent exactement l'échantillonnage des données qui est nécessaire à ce moment pour exécuter l'instruction.
  5. Bloc de contrôle. Le nom lui-même en dit long sur l’importance de ce composant. Au cœur, c'est l'élément le plus important, car il distribue l'énergie entre tous les blocs, aidant ainsi à effectuer chaque action à temps.
  6. Module de sauvegarde des résultats. Conçu pour l'enregistrement après la fin du traitement des instructions dans la RAM. L'adresse de stockage est spécifiée dans la tâche en cours d'exécution.
  7. Élément de travail avec des interruptions. Le CPU est capable d'effectuer plusieurs tâches grâce à la fonction d'interruption, qui lui permet d'arrêter la progression d'un programme en passant à une autre instruction.
  8. Registres. Les résultats temporaires des instructions sont stockés ici ; ce composant peut être appelé une petite RAM rapide. Souvent, sa taille ne dépasse pas plusieurs centaines d'octets.
  9. Compteur de commandes. Il stocke l'adresse de l'instruction qui sera utilisée lors du prochain cycle du processeur.

Bus système

Le bus système du CPU connecte les appareils inclus dans le PC. Lui seul y est directement connecté ; les éléments restants sont connectés via divers contrôleurs. Le bus lui-même contient de nombreuses lignes de signaux par lesquelles les informations sont transmises. Chaque ligne possède son propre protocole, qui assure la communication via des contrôleurs avec d'autres composants informatiques connectés. Le bus a sa propre fréquence ; par conséquent, plus elle est élevée, plus l'échange d'informations est rapide entre les éléments de connexion du système.

Mémoire cache

Les performances d'un processeur dépendent de sa capacité à récupérer les instructions et les données de la mémoire le plus rapidement possible. Grâce à la mémoire cache, le temps d'exécution des opérations est réduit du fait qu'elle agit comme un tampon temporaire, assurant un transfert instantané des données du CPU vers la RAM ou vice versa.

La principale caractéristique de la mémoire cache est sa différence de niveaux. S'il est élevé, cela signifie que la mémoire est plus lente et plus volumineuse. La mémoire la plus rapide et la plus petite est le premier niveau. Le principe de fonctionnement de cet élément est très simple : le CPU lit les données de la RAM et les entre dans un cache de n'importe quel niveau, tout en supprimant les informations auxquelles on a accédé il y a longtemps. Si le processeur a à nouveau besoin de ces informations, il les recevra plus rapidement grâce au tampon temporaire.

Prise (connecteur)

Du fait que le processeur possède son propre connecteur (femelle ou slot), vous pouvez facilement le remplacer en cas de panne ou mettre à niveau votre ordinateur. Sans socket, le processeur serait simplement soudé à la carte mère, ce qui rendrait les réparations ou le remplacement ultérieurs plus difficiles. Cela vaut la peine d'y prêter attention - chaque emplacement est destiné exclusivement à l'installation de certains processeurs.

Les utilisateurs achètent souvent par inadvertance processeur incompatible et la carte mère, ce qui provoque des problèmes supplémentaires.

Processeur est le principal composant de travail d'un ordinateur qui effectue des opérations arithmétiques et logiques, contrôle le processus informatique et coordonne le fonctionnement de tous les appareils informatiques.

Le processeur central contient généralement :

    unité arithmétique-logique;

    bus de données et bus d'adresses ;

    registres;

    compteurs de programmes ;

    cache - très mémoire rapide petit volume,

    coprocesseur mathématique à virgule flottante.

Les processeurs modernes sont implémentés sous forme de microprocesseurs. Physiquement, un microprocesseur est un circuit intégré - une fine plaquette rectangulaire de silicium cristallin d'une superficie de seulement quelques millimètres carrés, sur laquelle sont placés des circuits qui mettent en œuvre toutes les fonctions du processeur. La dalle de cristal est généralement placée dans un boîtier plat en plastique ou en céramique et reliée par des fils d'or à des broches métalliques afin de pouvoir être fixée à la carte mère de l'ordinateur.

Principales caractéristiques du processeur :

    Les performances sont la principale caractéristique indiquant la vitesse à laquelle un ordinateur effectue des opérations de traitement de l'information. Cela dépend à son tour des caractéristiques suivantes :

    Fréquence d'horloge - détermine le nombre de cycles du processeur par seconde

    Capacité en bits - détermine la taille de l'information minimale appelée mot machine

    Espace d'adressage - largeur du bus d'adresse, c'est-à-dire la quantité maximale de RAM pouvant être installée sur l'ordinateur

8.2.3. Le principe de fonctionnement du processeur.

Le processeur est l'élément principal d'un ordinateur. Il contrôle directement ou indirectement tous les appareils et processus se produisant dans l'ordinateur.

Dans la conception des processeurs modernes, il existe une nette tendance à une augmentation constante de la fréquence d'horloge. C'est naturel : plus un processeur effectue d'opérations, plus ses performances sont élevées. La fréquence d'horloge maximale est largement déterminée par la technologie de production de microcircuits existante (les plus petites tailles d'éléments possibles, qui déterminent le temps minimum de transmission du signal).

En plus d'augmenter la fréquence d'horloge, l'augmentation des performances du processeur est obtenue par les développeurs utilisant des techniques moins évidentes associées à l'invention de nouvelles architectures et algorithmes de traitement de l'information. Examinons certains d'entre eux à l'aide d'un exemple Processeur Pentium(P5) et modèles ultérieurs.

Listons les principales caractéristiques du processeur Pentium :

    traitement des informations sur les pipelines ;

    architecture superscalaire ;

    la présence de mémoires cache séparées pour les commandes et les données ;

    présence d'un bloc de prédiction d'adresse de transition ;

    exécution dynamique du programme ;

    présence d'une unité de calcul à virgule flottante ;

    prise en charge du fonctionnement multiprocesseur ;

    disponibilité d'outils de détection d'erreurs.

Le terme « architecture superscalaire » signifie que le processeur contient plus d'une unité de calcul. Ces unités de calcul sont plus souvent appelées pipelines. A noter que la première architecture superscalaire a été implémentée dans l'ordinateur domestique « Elbrus-1 » (1978).

La présence de deux pipelines dans le processeur lui permet d'exécuter (compléter) simultanément deux commandes (instructions).

Chaque pipeline divise le processus d'exécution de la commande en plusieurs étapes (par exemple cinq) :

    récupérer (lire) une commande à partir de la RAM ou de la mémoire cache ;

    décoder (décoder) la commande, c'est-à-dire déterminer le code de l'opération en cours ;

    exécution de commandes ;

    accès à la mémoire;

    stocker les résultats obtenus en mémoire.

Pour mettre en œuvre chacune des étapes répertoriées (chaque opération), une étape de périphérique distincte est utilisée. Ainsi, il y a cinq étapes dans chaque pipeline de processeur Pentium.

Dans le traitement pipeline, un cycle de la fréquence de synchronisation (horloge) est alloué pour l'exécution de chaque étape. À chaque nouveau cycle, l'exécution d'une commande se termine et l'exécution d'une nouvelle commande commence. Ce type d’exécution de commande est appelé threading.

Au sens figuré, il peut être comparé à un convoyeur de production (flux), où la même opération est toujours effectuée sur chaque section contenant des produits différents. Dans le même temps, lorsqu'un produit fini quitte la chaîne de montage, un nouveau arrive et le reste des produits se trouve actuellement à différents stades de préparation. La transition des produits fabriqués de section en section doit se produire de manière synchrone, selon des signaux spéciaux (dans le processeur, il s'agit de cycles générés par un générateur d'horloge).

Le temps d'exécution total d'une instruction dans un pipeline à cinq étapes serait de cinq cycles d'horloge. Dans chaque cycle d'horloge, le pipeline traitera (exécutera) simultanément cinq instructions différentes. En conséquence, cinq commandes seront exécutées en cinq cycles d'horloge. Ainsi, le pipeline augmente les performances du processeur, mais il ne réduit pas le temps d'exécution d'une seule instruction. Le gain est obtenu grâce au fait que plusieurs commandes sont traitées à la fois.

En fait, le pipeline augmente même le temps d'exécution de chaque commande individuelle en raison des coûts supplémentaires associés à l'organisation du pipeline. Dans ce cas, la fréquence d'horloge est limitée par la vitesse de fonctionnement de l'étage le plus lent du convoyeur.

A titre d'exemple, considérons le processus d'exécution d'une commande dont les temps d'exécution des étapes sont de 60, 30, 40, 50 et 20 ns. Supposons que les coûts supplémentaires liés à l'organisation du traitement du pipeline soient de 5 ns.

S'il n'y avait pas de pipeline, il faudrait

60 + 30 + 40 + 50 + 20 = 200 ns.

Si une organisation de convoyeur est utilisée, la durée du takt doit être égale à la durée de l'étape de traitement la plus lente avec l'ajout des frais généraux, c'est-à-dire 60 + 5 = 65 ns. Ainsi, la réduction du temps d'exécution des commandes obtenue grâce au pipeline sera de 200/65"3,1 fois.

Notez que le temps d'exécution du pipeline pour une instruction est de 5 × 65 = 325 ns. Cette valeur est nettement supérieure à 200 ns – le temps d’exécution de la commande sans pipeline. Mais l'exécution simultanée de cinq commandes à la fois donne un temps d'exécution moyen d'une commande de 65 ns.

Le processeur Pentium dispose de deux caches L1 (ils sont situés à l'intérieur du processeur). Comme vous le savez, la mise en cache augmente les performances du processeur en réduisant le nombre de fois où il attend que les informations arrivent d'une RAM lente. Les données et commandes nécessaires sont extraites par le processeur de la mémoire cache rapide (tampon), où elles sont saisies à l'avance.

Le fait de disposer d'une seule mémoire cache dans les conceptions de processeurs précédentes entraînait des conflits structurels. Deux instructions exécutées par le pipeline tentaient parfois simultanément de lire des informations dans une seule mémoire cache. L'exécution d'une mise en cache séparée (mise en mémoire tampon) pour les commandes et les données élimine ces conflits, permettant aux deux commandes de s'exécuter simultanément.

Le développement de la technologie informatique est continu. Les designers recherchent constamment de nouvelles façons d'améliorer leurs produits. La ressource la plus précieuse des processeurs est leur performance. Pour cette raison, diverses techniques sont inventées pour augmenter les performances du processeur.

Une de ces techniques consiste à gagner du temps en prédisant les chemins d’exécution possibles d’un algorithme de branchement. Cela se fait à l’aide d’un futur bloc de prédiction d’adresse de branche. L'idée de son fonctionnement est similaire à l'idée du fonctionnement de la mémoire cache.

Comme on le sait, il existe des processus informatiques linéaires, cycliques et ramifiés. Dans les algorithmes linéaires, les commandes sont exécutées dans l’ordre dans lequel elles sont écrites dans la RAM : séquentiellement les unes après les autres. Pour de tels algorithmes, le bloc de prédiction d’adresse de branchement introduit dans le processeur ne peut générer aucun gain.

Dans les algorithmes de branchement, le choix de l’instruction est déterminé par les résultats de la vérification des conditions de branchement. Si vous attendez la fin du processus de calcul au point de branchement, puis sélectionnez dans la RAM la bonne commande, il y aura alors inévitablement des pertes de temps dues au temps d'inactivité improductif du processeur (la lecture d'une commande depuis la RAM est lente).

Le bloc de prédiction d'adresse de branchement fonctionne de manière proactive et tente de prédire l'adresse de branchement à l'avance afin de déplacer à l'avance l'instruction souhaitée de la RAM lente vers un tampon cible de branchement rapide spécial BTB (Branch Target Buffer).

Lorsque le tampon BTV contient une prédiction correcte, la transition se produit sans délai. Cela n’est pas sans rappeler la mémoire cache, qui présente également des ratés. En raison d'échecs, les opérandes doivent être lus non pas à partir de la mémoire cache, mais à partir de l'OP lent. Pour cette raison, du temps est perdu.

L'idée de prédire l'adresse de saut est implémentée dans le processeur par deux tampons de prélecture indépendants. Ils fonctionnent avec un tampon de prédiction de branchement, l'un des tampons sélectionnant les instructions de manière séquentielle et le second en fonction des prédictions du BTV.

Le processeur Pentium dispose de deux pipelines à cinq étages pour effectuer des opérations en virgule fixe. De plus, le processeur dispose d'un pipeline à virgule flottante à huit étages. De tels calculs sont nécessaires lors de l'exécution de calculs mathématiques, ainsi que pour le traitement rapide d'images couleur 3D dynamiques.

Le développement de l'architecture du processeur suit la voie d'une augmentation constante du volume de mémoire cache des premier et deuxième niveaux. L'exception était le processeur Pentium 4, dont la taille du cache a diminué de manière inattendue par rapport au Pentium III.

Pour améliorer les performances des nouvelles conceptions de processeurs, deux bus système, fonctionnant à différentes fréquences d'horloge. Le bus rapide est utilisé pour fonctionner avec le cache de deuxième niveau et le bus lent est utilisé pour l'échange d'informations traditionnel avec d'autres périphériques, tels que la RAM. La présence de deux bus élimine les conflits lors de l'échange d'informations entre le processeur et la mémoire principale et le cache de deuxième niveau situés à l'extérieur de la puce du processeur.

Les processeurs suivant le Pentium contiennent un grand nombre d'étapes dans le pipeline. Cela réduit le temps d'exécution de chaque opération dans une étape distincte, ce qui signifie que cela vous permet d'augmenter la fréquence d'horloge du processeur.

Le processeur Pentium Pro (P6) utilise une nouvelle approche de l'ordre dans lequel les instructions sont exécutées séquentiellement dans la RAM.

La nouvelle approche consiste à exécuter les commandes dans un ordre aléatoire au fur et à mesure qu'elles sont prêtes (quel que soit l'ordre dans la RAM). Cependant, le résultat final est toujours généré conformément à l'ordre initial des commandes dans le programme. Cet ordre d'exécution des commandes est dit dynamique ou anticipatif.

Considérons à titre d'exemple le fragment suivant d'un programme rédigé dans un langage (fictif) orienté machine.

r1 ¬mem Commande 1

r3 ¬r1 + r2 Commande 2

r5 ¬r5 + 1 équipe 3

r6 ¬r6 – r7 Équipe 4

Les symboles r1…r7 indiquent les registres usage général(RON), qui sont inclus dans le bloc de registre du processeur.

Le symbole mem désigne une cellule de mémoire RAM.

Commentons le programme enregistré.

Commande 1 : écrire dans RON r1 le contenu de la cellule mémoire RAM dont l'adresse est spécifiée dans RON r4.

Commande 2 : écrire dans RON r3 le résultat de l'ajout du contenu des registres r1 et r2.

Commande 3 : ajoutez-en un au contenu du registre r5.

Commande 4 : réduire le contenu de RON r6 du contenu du registre r7.

Supposons que lors de l'exécution de l'instruction 1 (chargement d'un opérande de la mémoire dans le registre à usage général r1), il s'avère que le contenu de la cellule mémoire mem ne se trouve pas dans le cache du processeur (un échec s'est produit ; l'opérande requis n'a pas été livré auparavant au tampon de la RAM).

Avec l'approche traditionnelle, le processeur procédera à l'exécution des instructions 2, 3, 4 seulement après que les données de la cellule mémoire principale mem soient entrées dans le processeur (plus précisément, dans le registre r1). Étant donné que la lecture s'effectuera à partir de la RAM à fonctionnement lent, ce processus prendra beaucoup de temps (selon les normes du processeur). En attendant cet événement, le processeur sera inactif et n'effectuera pas de travail utile.

Dans l'exemple ci-dessus, le processeur ne peut pas exécuter l'instruction 2 avant la fin de l'instruction 1, car l'instruction 2 utilise les résultats de l'instruction 1. Dans le même temps, le processeur pourrait exécuter les instructions 3 et 4 à l'avance, qui ne dépendent pas du résultat de l'instruction 1. consignes 1 et 2.

Dans de tels cas, le processeur P6 fonctionne différemment.

Le processeur P6 n'attend pas la fin de l'exécution des instructions 1 et 2, mais procède immédiatement à l'exécution dans le désordre des instructions 3 et 4. Les résultats de l'exécution anticipée des instructions 3 et 4 sont stockés et récupérés ultérieurement, après l'exécution des instructions 1 et 2. Ainsi, le processeur P6 exécute les instructions conformément à leur état de préparation à l'exécution, quel que soit leur emplacement initial dans le programme.

La productivité est bien entendu un indicateur important des performances informatiques. Cependant, il est tout aussi important que des calculs rapides soient effectués avec un petit nombre d'erreurs.

Le processeur dispose d'un dispositif d'autotest qui vérifie automatiquement le fonctionnement de la plupart des éléments du processeur.

De plus, la détection des pannes survenant à l'intérieur du processeur est effectuée à l'aide d'un format de données spécial. Un bit de parité est ajouté à chaque opérande, ce qui rend pair tous les nombres circulant à l'intérieur du processeur. L'apparition d'un nombre impair indique qu'une panne s'est produite. La présence d’un nombre impair équivaut à l’apparition d’un faux billet sans filigrane.

Les unités de mesure de la vitesse des processeurs (et des ordinateurs) peuvent être :

    MIPS (MIPS - Mega Instruction Per Second) - un million de commandes (instructions) sur des nombres à virgule fixe par seconde ;

    MFLOPS (Mega Floating Operation Per Second) - un million d'opérations sur des nombres à virgule flottante par seconde ;

    GFLOPS (Giga Floating Operation Per Second) - un milliard d'opérations sur des nombres à virgule flottante par seconde.

Il existe des rapports faisant état de l'ordinateur le plus rapide au monde, ASCI White (IBM Corporation), qui atteint 12,3 TFLOPS (billions d'opérations).

Le processeur est sans aucun doute le composant principal de tout ordinateur. C'est ce petit morceau de silicium, de plusieurs dizaines de millimètres, qui réalise toutes les tâches complexes que vous définissez pour votre ordinateur. Fonctionne ici système opérateur, ainsi que tous les programmes. Mais comment tout cela fonctionne-t-il ? Nous allons essayer d’examiner cette question dans notre article d’aujourd’hui.

Le processeur gère les données de votre ordinateur et exécute des millions d'instructions par seconde. Et par traitement de texte, j'entends exactement ce que cela signifie réellement : une petite puce en silicium qui effectue toutes les opérations sur l'ordinateur. Avant de passer au fonctionnement d’un processeur, nous devons d’abord examiner en détail ce qu’il est et en quoi il consiste.

Voyons d’abord ce qu’est un processeur. CPU ou unité centrale de traitement (unité centrale de traitement) - qui est un microcircuit avec un grand nombre de transistors, réalisé sur un cristal de silicium. Le premier processeur au monde a été développé par Intel en 1971. Tout a commencé avec l'Intel 4004. Il ne pouvait effectuer que des opérations de calcul et ne pouvait traiter que 4 octets de données. Le modèle suivant est sorti en 1974 - Intel 8080 et pouvait déjà traiter 8 bits d'informations. Viennent ensuite les 80286, 80386, 80486. C'est de ces processeurs que vient le nom de l'architecture.

La vitesse d'horloge du processeur 8088 était de 5 MHz et le nombre d'opérations par seconde n'était que de 330 000, ce qui est bien inférieur à celui des processeurs modernes. Les appareils modernes ont des fréquences allant jusqu'à 10 GHz et plusieurs millions d'opérations par seconde.

Nous ne considérerons pas les transistors ; nous passerons à un niveau supérieur. Chaque processeur se compose des composants suivants :

  • Cœur- tous les traitements de l'information et opérations mathématiques sont effectués ici ; il peut y avoir plusieurs noyaux ;
  • Décodeur de commandes- ce composant appartient au cœur, il convertit les commandes logicielles en un ensemble de signaux qui seront exécutés par les transistors du cœur ;
  • Cache- une zone de mémoire ultra-rapide, un petit volume, dans laquelle sont stockées les données lues dans la RAM ;
  • Registres- ce sont des cellules mémoire très rapides dans lesquelles sont stockées les données en cours de traitement. Il n'y en a que quelques-uns et ils ont une taille limitée - 8, 16 ou 32 bits ; la capacité en bits du processeur en dépend ;
  • Coprocesseur- un cœur distinct optimisé uniquement pour effectuer certaines opérations, par exemple le traitement vidéo ou le cryptage des données ;
  • Bus d'adresses- pour la communication avec tous les appareils connectés à la carte mère, peut avoir une largeur de 8, 16 ou 32 bits ;
  • Bus de données- pour la communication avec la RAM. En l'utilisant, le processeur peut écrire des données dans la mémoire ou les lire à partir de là. Le bus mémoire peut être de 8, 16 ou 32 bits, c'est la quantité de données qui peuvent être transférées en une seule fois ;
  • Bus de synchronisation- permet de contrôler la fréquence du processeur et les cycles de fonctionnement ;
  • Redémarrer l'autobus- réinitialiser l'état du processeur ;

Le composant principal peut être considéré comme le dispositif informatique central ou arithmétique, ainsi que les registres du processeur. Tout le reste aide ces deux composants à fonctionner. Voyons ce que sont les registres et quel est leur objectif.

  • Registres A, B, C- conçus pour stocker des données en cours de traitement, oui, il n'y en a que trois, mais c'est largement suffisant ;
  • PEI- contient l'adresse de la prochaine instruction de programme en RAM ;
  • ESP- adresse des données en RAM ;
  • Z- contient le résultat de la dernière opération de comparaison ;

Bien sûr, ce ne sont pas tous des registres mémoire, mais ce sont les plus importants et les plus utilisés par le processeur lors de l'exécution du programme. Eh bien, maintenant que vous savez en quoi consiste le processeur, vous pouvez voir comment il fonctionne.

Comment fonctionne un processeur informatique ?

Le cœur de calcul du processeur ne peut effectuer que des calculs, des comparaisons et déplacer des données entre les cellules et la RAM, mais cela suffit pour vous permettre de jouer à des jeux, de regarder des films, de naviguer sur le Web et bien plus encore.

En fait, tout programme est constitué des instructions suivantes : déplacer, additionner, multiplier, diviser, faire la différence et passer à l'instruction si la condition de comparaison est remplie. Bien entendu, ce ne sont pas toutes des commandes ; il en existe d’autres qui combinent celles déjà répertoriées ou simplifient leur utilisation.

Tous les mouvements de données sont effectués à l'aide de l'instruction de déplacement (mov), cette instruction déplace les données entre les cellules de registre, entre les registres et la RAM, entre la mémoire et disque dur. Il existe des instructions spéciales pour les opérations arithmétiques. Et des instructions de saut sont nécessaires pour remplir des conditions, par exemple vérifier la valeur du registre A et si elle n'est pas nulle, alors passer à l'instruction à l'adresse souhaitée. Vous pouvez également créer des boucles à l'aide d'instructions de saut.

Tout cela est très bien, mais comment tous ces composants interagissent-ils les uns avec les autres ? Et comment les transistors comprennent-ils les instructions ? Le fonctionnement de l'ensemble du processeur est contrôlé par un décodeur d'instructions. Cela permet à chaque composant de faire ce qu'il est censé faire. Regardons ce qui se passe lorsque nous devons exécuter un programme.

Dans un premier temps, le décodeur charge l'adresse de la première instruction du programme en mémoire dans le registre de l'instruction suivante EIP, pour cela il active le canal de lecture et ouvre le transistor à verrouillage pour mettre les données dans le registre EIP.

Dans le deuxième cycle d'horloge, le décodeur d'instructions convertit la commande en un ensemble de signaux destinés aux transistors du cœur de calcul, qui l'exécutent et écrivent le résultat dans l'un des registres, par exemple C.

Au troisième cycle, le décodeur incrémente l'adresse de l'instruction suivante de un pour qu'elle pointe vers l'instruction suivante en mémoire. Ensuite, le décodeur procède au chargement de la commande suivante et ainsi de suite jusqu'à la fin du programme.

Chaque instruction est déjà codée par une séquence de transistors, et convertie en signaux, elle provoque des changements physiques dans le processeur, par exemple, changer la position d'un verrou qui permet d'écrire des données dans une cellule mémoire, etc. Différentes commandes nécessitent un nombre différent de cycles d'horloge pour être exécutées : par exemple, une commande peut nécessiter 5 cycles d'horloge et une autre, plus complexe, jusqu'à 20. Mais tout cela dépend toujours du nombre de transistors dans le processeur lui-même.

Eh bien, tout cela est clair, mais tout cela ne fonctionnera que si un seul programme est en cours d'exécution, et s'il y en a plusieurs et tous en même temps. Nous pouvons supposer que le processeur a plusieurs cœurs, puis chaque cœur exécute programmes séparés. Mais non, en fait, de telles restrictions n’existent pas.

Un seul programme peut être exécuté à la fois. Tout le temps CPU est partagé entre tout le monde programmes en cours d'exécution, chaque programme s'exécute pendant quelques cycles d'horloge, puis le processeur est transféré vers un autre programme et tout le contenu des registres est stocké dans BÉLIER. Lorsque le contrôle revient à ce programme, les valeurs précédemment enregistrées sont chargées dans les registres.

Conclusions

C'est tout, dans cet article, nous avons examiné comment fonctionne un processeur informatique, ce qu'est un processeur et en quoi il consiste. C'est peut-être un peu compliqué, mais nous avons gardé les choses simples. J'espère que vous comprenez désormais mieux le fonctionnement de cet appareil très complexe.

Pour conclure la vidéo sur l'histoire des processeurs :

De nos jours, il y a beaucoup d'informations sur Internet sur le thème des processeurs, vous pouvez trouver un tas d'articles sur son fonctionnement, où sont principalement mentionnés les registres, les horloges, les interruptions, etc.... Mais, pour une personne qui est Si vous n'êtes pas familier avec tous ces termes et concepts, il est assez difficile, comme cette mouche, de comprendre le processus, mais vous devez commencer modestement, c'est-à-dire avec une compréhension de base. comment fonctionne le processeur et de quelles parties principales il se compose.

Alors, que contiendra-t-il à l'intérieur du microprocesseur si vous le démontez :

Le chiffre 1 désigne la surface métallique (couvercle) du microprocesseur, qui sert à évacuer la chaleur et à protéger des dommages mécaniques ce qui se trouve derrière ce couvercle (c'est-à-dire à l'intérieur du processeur lui-même).

Au numéro 2 se trouve le cristal lui-même, qui est en fait la partie la plus importante et la plus coûteuse du microprocesseur à fabriquer. C'est grâce à ce cristal que tous les calculs ont lieu (et c'est la fonction la plus importante du processeur) et plus il est complexe, plus il est parfait, plus le processeur est puissant et plus il est cher, donc . Le cristal est en silicium. En fait, le processus de fabrication est très complexe et contient des dizaines d'étapes, plus de détails dans cette vidéo :

Le numéro 3 est un substrat textolite spécial auquel toutes les autres parties du processeur sont fixées. De plus, il joue le rôle d'une plage de contact - dessus face arrière Il y a un grand nombre de "points" dorés - ce sont des contacts (vous pouvez les voir un peu sur la photo). Grâce au plot de contact (substrat), une interaction étroite avec le cristal est assurée, puisqu'il n'est pas possible d'influencer directement le cristal de quelque manière que ce soit.

Le couvercle (1) est fixé au support (3) à l'aide d'un adhésif-scellant résistant aux températures élevées. Il n'y a pas d'entrefer entre le cristal (2) et le capot ; la pâte thermique prend sa place ; en durcissant, elle forme un « pont » entre le cristal du processeur et le capot, ce qui assure un très bon transfert de chaleur.

Le cristal est connecté au substrat à l'aide de soudure et de mastic, les contacts du substrat sont connectés aux contacts du cristal. Cette figure montre clairement comment les contacts du cristal sont connectés aux contacts du substrat à l'aide de fils très fins (grossissement 170x sur la photo) :

En général, le dispositif des processeurs différents fabricants et même les modèles d’un même fabricant peuvent varier considérablement. Cependant schéma de circuit Le fonctionnement reste le même : ils ont tous un substrat de contact, un cristal (ou plusieurs situés dans un boîtier) et un couvercle métallique pour la dissipation thermique.

Par exemple, voici à quoi ressemble le substrat de contact d'un processeur Intel Pentium 4 (le processeur est à l'envers) :

La forme des contacts et la structure de leur disposition dépendent du processeur et carte mère ordinateur (les prises doivent correspondre). Par exemple, sur la photo juste au dessus, les contacts du processeur sans « pins », puisque les pins sont situés directement dans le socket de la carte mère.

Et il existe une autre situation dans laquelle les « broches » des contacts dépassent directement du substrat de contact. Cette fonctionnalité est typique principalement des processeurs AMD :

Comme mentionné ci-dessus, l'appareil différents modèles les processeurs d'un même fabricant peuvent différer ; nous en avons un exemple clair : un processeur quadricœur. Intel Core 2 Quad, qui est essentiellement 2 processeur double cœur noyau 2 lignes duo réunies dans un seul étui :

Important! Le nombre de cristaux à l’intérieur d’un processeur et le nombre de cœurs de processeur ne sont pas la même chose.

Dans les modèles modernes Processeurs Intel 2 cristaux (puces) s'adaptent à la fois. La deuxième puce - le cœur graphique du processeur, joue essentiellement le rôle d'une carte vidéo intégrée au processeur, c'est-à-dire que même s'il n'y a pas de carte graphique dans le système, le cœur graphique assumera le rôle d'une carte vidéo , et assez puissant en plus (dans certains modèles de processeurs, la puissance de calcul des cœurs graphiques vous permet de jouer à des jeux modernes avec des paramètres graphiques moyens).

C'est tout dispositif central à microprocesseur, bref bien sûr.

© 2024 ermake.ru -- À propos de la réparation de PC - Portail d'information