Accueil technologie Architecture du processeur

Architecture du processeur



Concepts de base

L'unité centrale de traitement (CPU, Central Processing Unit) est un circuit intégré à très grande échelle, qui est le cœur et l'unité de contrôle d'un ordinateur. . Sa fonction est principalement d'interpréter des instructions informatiques et de traiter des données dans des logiciels informatiques. L'unité centrale de traitement comprend principalement des unités arithmétiques (unité arithmétique et logique, ALU, Arithmetic Logic Unit) et une mémoire tampon à grande vitesse (Cache) et le bus (Bus) qui réalise les données (Data), le contrôle et l'état de la connexion entre eux . Il, avec la mémoire interne (mémoire) et l'équipement d'entrée/sortie (E/S), est appelé les trois composants de base d'un ordinateur électronique. La structure de l'unité centrale de traitement comprend principalement la structure de von Neumann, la structure de Harvard, la structure de chevauchement, la structure de pipeline, la structure de traitement parallèle, etc.

La structure de base du processeur

D'un point de vue fonctionnel, la structure interne d'une CPU générale peut être divisée en : unité de contrôle, unité d'opération logique, unité de stockage (y compris bus interne et tampon). Partie. Parmi eux, l'unité de contrôle achève le déploiement de l'ensemble du processus de traitement des données, l'unité logique achève chaque instruction afin d'obtenir le résultat final souhaité du programme, et l'unité de stockage est chargée de stocker les données d'origine et le résultat de l'opération. La coordination intégrée confère au processeur des fonctions puissantes, qui peuvent effectuer de nombreuses opérations complexes, notamment des instructions à virgule flottante, multimédia et autres, et ajoute également plus de vitalité à l'ère numérique.

Composants logiques

Composants logiques anglais ; composants logiques arithmétiques. Il peut effectuer des opérations arithmétiques à virgule fixe ou flottante, des opérations de décalage et des opérations logiques, ainsi que des opérations d'adresse et des conversions.

S'inscrire

Composants de registre, y compris les registres, les registres spéciaux et les registres de contrôle. Les registres à usage général peuvent être divisés en nombres à virgule fixe et en nombres à virgule flottante. Ils sont utilisés pour stocker les opérandes de registre et les résultats d'opérations intermédiaires (ou finales) temporairement stockés pendant l'exécution de l'instruction. Les registres à usage général sont l'une des parties importantes de l'unité centrale de traitement.

Composant de contrôle

Le composant de contrôle est principalement responsable du décodage des instructions et de l'émission des signaux de contrôle pour chaque opération à effectuer afin de terminer chaque instruction. Il existe deux structures : l'une est un mode de contrôle de microprogramme avec un micro-stockage comme noyau ; l'autre est un mode de contrôle basé sur une structure câblée logique.

Le micro-stockage contient des micro-codes. Chaque micro-code correspond à l'une des micro-opérations les plus élémentaires, également appelées micro-instructions ; chaque instruction est composée de différentes séquences de micro-codes, et cette séquence de micro-codes constitue le Microprogramme. Une fois que l'unité centrale a décodé l'instruction, elle envoie un certain signal de contrôle de synchronisation et exécute un certain nombre de micro-opérations déterminées par ces micro-codes dans l'ordre d'une séquence donnée avec des micro-cycles comme battement pour terminer l'exécution d'une certaine instruction. Les instructions simples sont composées de 3 à 5 micro-opérations, tandis que les instructions complexes sont composées de dizaines de micro-opérations voire de centaines de micro-opérations.

L'unité logique du CPU

Un peu plus détaillé, du point de vue des fonctions réalisées, le CPU peut être grossièrement divisé en les huit unités logiques suivantes :

(1) Registre d'instructions : C'est l'entrepôt d'instructions sur la puce. Avec lui, le CPU n'a pas besoin de s'arrêter et de rechercher les instructions dans la mémoire de l'ordinateur, augmentant ainsi considérablement la vitesse de calcul du CPU.

(2) Décodeur d'instructions : il est chargé d'interpréter des instructions complexes en langage machine dans un format simple que l'unité arithmétique et logique (ALU) et les registres peuvent comprendre, tout comme un diplomate.

(3) Unité de contrôle : étant donné que les instructions peuvent être stockées dans la CPU et qu'il existe des instructions correspondantes pour terminer le travail préparatoire avant le calcul, il y a naturellement un rôle derrière elle qui joue un rôle moteur - elle est responsable de l'ensemble du processus de traitement. manette. Selon les instructions de l'unité de décodage, il générera des signaux de commande pour indiquer à l'unité arithmétique et logique (ALU) et enregistrera comment opérer, sur quoi opérer et comment traiter le résultat.

(4) Registre : C'est très important pour le CPU. En plus de stocker une partie des instructions du programme, il est également chargé de stocker les informations de saut de pointeur et les commandes d'opération de boucle. C'est l'unité arithmétique et logique (ALU) pour l'achèvement Une petite zone de stockage pour les données utilisées par la tâche demandée par l'unité de contrôle. La source de données peut être n'importe laquelle du cache, de la mémoire et de l'unité de contrôle.

(5) Unité d'opération logique (ALU) : il s'agit d'un composant intelligent de la puce CPU, capable d'exécuter diverses commandes telles que l'addition, la soustraction, la multiplication et la division. De plus, il sait également lire les commandes logiques telles que OR, AND et NOT. Le message de l'unité de contrôle dira à l'unité arithmétique et logique ce qu'il faut faire, puis l'unité arithmétique extraira par intermittence ou en continu des données du registre pour terminer la tâche finale.

(6) Unité de prélecture : les performances de l'unité centrale en dépendent fortement. Le taux de succès de prélecture est directement lié au taux d'utilisation du cœur du processeur, ce qui entraîne à son tour la différence de vitesse d'exécution des instructions. Selon les exigences de la commande ou de la tâche à exécuter, à tout moment, l'unité de prélecture peut obtenir des données et des instructions à partir du cache d'instructions ou de la mémoire de l'ordinateur. Lorsque les instructions arrivent, la tâche la plus importante de l'unité de prélecture est de s'assurer que toutes les instructions sont correctement agencées, puis envoyées à l'unité de décodage.

(7) Unité de bus : C'est comme une autoroute, qui complète rapidement l'échange de données entre les différentes unités, et c'est aussi l'endroit où les données entrent et sortent de la CPU depuis la mémoire.

(8) Cache de données : stocke les données spécialement marquées de l'unité de décodage pour une utilisation par l'unité d'opération logique. Dans le même temps, il prépare également les résultats finaux distribués aux différentes parties de l'ordinateur.

Grâce à l'introduction ci-dessus, on peut voir que bien que le processeur soit petit, il peut accueillir le grand monde dans un pouce carré. L'intérieur ressemble plus à une usine d'assemblage développée, imbriquée et stratifiée. C'est précisément grâce à la coopération mutuelle que les instructions sont finalement exécutées, ce qui constitue un monde numérique magique avec des images, des textes et des images.

L'architecture du processeur

Ce qui suit est une introduction à la structure de von Neumann, à la structure de Harvard et à la structure de traitement parallèle de la CPU.

Architecture Von Neumann

(architecture Von Neumann), également connue sous le nom d'architecture de Princeton, est une structure conceptuelle de conception informatique qui combine une mémoire d'instructions de programme et une mémoire de données. La figure 1 est un schéma structurel de von Neumann :

Cette structure guide vaguement le concept de séparation du dispositif de stockage de l'unité centrale de traitement. Par conséquent, un ordinateur conçu selon cette structure est également appelé ordinateur à programme enregistré. Les premières machines informatiques ne contenaient que des programmes à but fixe. Certains ordinateurs modernes conservent encore cette conception, généralement à des fins de simplification ou d'éducation. Par exemple, une calculatrice n'a qu'un programme de calcul mathématique fixe, elle ne peut pas être utilisée comme logiciel de traitement de texte, encore moins utilisée pour jouer à des jeux. Si vous voulez changer le programme de cette machine, vous devez changer le circuit, changer la structure ou encore repenser la machine. Bien sûr, les premiers ordinateurs n'étaient pas programmables tels qu'ils ont été conçus. À cette époque, le soi-disant "programme de réécriture" faisait probablement référence aux étapes du programme de conception papier-crayon, puis les détails techniques ont été élaborés, puis le câblage du circuit ou la structure de la machine a été modifié par construction.

Le concept d'ordinateurs à programme stocké a changé tout cela. En créant une structure de jeu d'instructions et en transformant la soi-disant opération en une série d'instructions de programme, la machine est plus flexible. En traitant les instructions comme un type spécial de données statiques, un ordinateur à programme enregistré peut facilement modifier son programme et modifier son contenu de calcul sous le contrôle du programme. La structure de Von Neumann et l'ordinateur à programme stocké sont des termes communs et leur utilisation sera la suivante. La structure de Harvard est un concept de conception qui sépare les données de programme des données ordinaires, mais elle ne brise pas complètement la structure de von Neumann.

La sauvegarde du concept d'un programme peut également permettre l'auto-modification du contenu de calcul du programme lors de l'exécution du programme. L'un des motifs de conception de ce concept est de permettre au programme d'ajouter du contenu ou de modifier l'emplacement mémoire des instructions du programme, car la conception initiale nécessite que l'utilisateur le modifie manuellement. Mais comme le registre d'index et l'accès indirect à la localisation deviennent un mécanisme nécessaire pour la structure matérielle, cette fonction n'est plus aussi importante qu'elle l'était auparavant. La fonctionnalité d'auto-modification du programme est également rejetée par la programmation moderne car elle entraînera des difficultés de compréhension et de débogage, et le pipeline et le mécanisme de mise en cache des unités centrales modernes réduiront l'efficacité de cette fonction.

Architecture de Harvard

L'architecture Harvard est une structure de mémoire qui sépare le stockage des instructions de programme et le stockage des données. L'unité centrale lit d'abord le contenu des instructions de programme à partir de la mémoire d'instructions de programme, décode l'adresse de données, lit les données à partir de la mémoire de données correspondante et exécute l'opération suivante (généralement l'exécution). Le stockage des instructions de programme et le stockage des données sont séparés. Le stockage des données et des instructions peut être effectué en même temps, ce qui permet aux instructions et aux données d'avoir des largeurs de données différentes. Par exemple, les instructions de programme de la puce PIC16 de Microchip ont une largeur de 14 bits, tandis que les données ont une largeur de 8 bits.

Le microprocesseur de la structure Harvard a généralement une efficacité d'exécution plus élevée. Les instructions de programme et les instructions de données sont organisées et stockées séparément, et l'instruction suivante peut être lue à l'avance pendant l'exécution. Le schéma de structure est présenté à la figure 2 :

Structure de traitement parallèle

Bien que les quatre premières générations d'ordinateurs développés jusqu'à présent présentent de grandes différences en termes de matériel et de performances, ils sont tous issus d'une conception de base dérivée du processeur Von Neumann. Ces machines sont séquentielles, c'est-à-dire qu'une unité de traitement est utilisée pour effectuer une opération à la fois.

Leurs composants de contrôle sont centralisés et séquentiels, la mémoire est à adressage linéaire, à largeur fixe, et ils utilisent un langage machine séquentiel de bas niveau. Afin d'augmenter la vitesse des machines séquentielles, il est nécessaire d'augmenter la vitesse de fonctionnement de chaque composant. La vitesse requise par l'ordinateur de cinquième génération sera beaucoup plus élevée que la vitesse pouvant être atteinte avec cette méthode. Par conséquent, l'ordinateur de cinquième génération sera une machine parallèle et son architecture permettra à l'ordinateur d'effectuer de nombreuses opérations à la fois. Le développement de machines parallèles se poursuit depuis de nombreuses années, et le processeur matriciel a prouvé sa vitalité d'un point de vue commercial. Ce type de machine réussit principalement parce qu'il est bien intégré à la méthode de programmation traditionnelle de von Neumann du flux d'instructions séquentiel.

Michael Flynn de l'Université de Stanford aux États-Unis a décrit les caractéristiques de cette machine comme suit : Structure SIMD (Single Instruction Stream Multiple Data Stream). La machine SIMD est la mieux adaptée pour traiter le problème des bandes de réseau denses régulières. Traitement d'images, opérations matricielles et simulation physique et autres problèmes. Ils ne sont pas aussi polyvalents qu'un seul processeur, mais servent généralement de processeur supplémentaire au mainframe Von Neumann.

Cet article provient du réseau, ne représente pas la position de cette station. Veuillez indiquer l'origine de la réimpression
HAUT