Rechercher

Vous pouvez entrer une phrase pour rechercher sur tout le site.

Accueil

Hardware

Software

Pas à pas

Internet

Le site

Contacts


Partenaires

Le microprocesseur - page 1

Le microprocesseur, élément le plus important de tout l'ordinateur, tire son nom de sa fonction. Il est l'une des seules entités de la machine (en tout cas la plus importante), capable d'exécuter des instructions. C'est lui qui lit vos programmes, et les exécute, en travaillant avec la mémoire, ...

1. Structure générale d'un processeur

 

Le coeur d'un processeur est l'Unité Arithmétique et logique (UAL) qui permet d'effectuer des opérations arithmétiques, logiques, ou d'opérations sur la mémoire (par exemple l'addition, le ou binaire, ou la lecture du contenu de la mémoire). Pour un processeur à 2n bits (par exemple 32 pour les processeurs Pentium jusqu'a Pentium 4), chacun instruction est codée sur 2n bits; ce nombre de bits est aussi parfois appelé Largeur de bus: en effet, les instructions arrivent aux processeurs par 2n fils de sélection (et chaque fil pouvant coder soit 0 ou 1, ça tombe vraiment bien ...).

 

Schéma de principe d'une UAL

 

Une partie du travail du processeur est de transférer données d'entrées et de sortie, ainsi que de stocker les instructions à exécuter. Tous ces transferts depuis la mémoire vive sont assurés par des BUS et des multiplexeurs (aiguilleurs, aussi notés "mux").

Le rôle du processeur est d'exécuter les instructions qu'il a récupérées en mémoire (et qui sont stockés temporairement dans la mémoire cache, mémoire à la vitesse du processeur, incluse dans celui-ci). Pour cela, l'instruction est récupérée suivant les informations contenues dans les registres d'instruction, puis l'instruction ainsi obtenue est décomposée en une séquence, grâce à un décodeur de séquence. Ensuite le processeur récupère, le cas échéant, les données contenues en mémoire vive au travers du contrôleur d'adresses.

La mémoire vive étant externe au processeur, et la récupération de données étant bien plus lente que lui, le processeur dispose de deux types de mémoires :

  • D'une part il a la mémoire cache, qui contient la liste des prochaines instructions à exécuter, ainsi que les données auparavant en mémoire vive nécessaires à l'exécution des ces instructions. La mémoire cache ayant des vitesses d'accès proches de la vitesse du processeur, la copie des prochaines instructions à exécuter améliore grandement les performances. L'ordre de grandeur de la taille de cette mémoire est de 8ko pour la mémoire cache L1, cadencée à la vitesse du processeur, et 256ko, voir 512ko de cache L2, souvent cadencée à la moitié de la vitesse du processeur.
  • Il y a aussi un autre type de mémoire: les registres. Les registres sont une sorte de tiroirs pouvant contenir une puissance de 2 de bits, avec un maximum de 2n bits (soit 32 bits, c'est à dire 4 octets pour un processeur dit 32 bits). Ces registres sont accessibles directement lors de l'exécution des instructions, et ils gardent des informations sur l'instruction à venir, ...
    Ils sont de plusieurs types. Il y a tout d'abord les registres de données (EAX, EBX, ECX, et EDX). Au nombre de quatre, il contiennent chacun 4 octets. Ils servent à contenir (par exemple) le résultats d'une instruction, afin que celui ci puisse être réutilisé dans l'instruction suivante (Exemple: une instruction très courante est : add EAX, 0x87. Cette instruction ajoute le nombre hexadécimal 0x87 au registre EAX. Toutes les instructions exécutées par le processeur sont d'une simplicité équivalente ...). Ensuite il y a les registres pointeurs. Lors de l'utilisation d'instruction de lecture/écriture en mémoire, les programmes commence par mettre dans ces pointeurs l'adresse mémoire à laquelle on travaille. Il y a DS et ESI, ES et EDI, ainsi que les registres supplémentaires FS et GS. Puis il y a deux registres très importants: les registres CS et EIP. Ces deux registres combinés pointent sur l'adresse mémoire de la prochaine instruction à devoir être exécutée. Enfin il y a les registres de résultats: les flags. Chaque flag (drapeau) contient 1 bit, et une information: ils indiquent les retenues, les erreurs, ... Enfin il y a BS, BP et SP qui servent a travailler sur la pile (une pile est une zone mémoire, où l'on ne peut que poser un mot sur la pile (PUSH), ou bien récuperer le dernier mot de la pile (POP)
    Vous aurez sûrement aussi remarqué que certains registres commencent par un E. En réalité, les registres tels que ECX, ESI, et EIP sont des registres de 32 bits, alors que DS, et CS sont sur 16 bits. Cela tient aux anciens processeurs 16 bits: autrefois seuls CX, SI et IP existait, et lorsque les 32 bits sont apparus, pour des raisons de compatibilité, un E a été rajouté pour les différencier (E= extended).

Voici un schéma récapitulatif du fonctionnement d'un processeur:

Schéma de principe d'un processeur

Et voici une liste de ce que l'on principalement trouver dans un processeur :

  • 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.

Et tout cela est cadencé par une horloge, dont la fréquence est connue sous le nom de fréquence du processeur.

Suite page 2

Valid XHTML 1.1! Valide CSS!

Hit-Parade

Mesurez votre audience

Copyright © 2000 - 2008 World-Informatique.com. Tous droits réservés.
Hébergement offert par OVH