Processeur
Mais que fait donc mon ordinateur?
En tant qu'êtres humains, nous sommes confrontés dès la venue au monde à une multitude d'événements extérieurs qui stimulent des réactions de notre part. L'expérience acquise au cours du développement permet de décider quelle sera la réaction.
Un ordinateur réagit, lui aussi, à des stimuli extérieurs, et doit entreprendre des actions en fonction de ce que nous lui avons inculqué.
Prenons un exemple :
Comment l'ordinateur affiche-t-il à l'écran ce que j'introduis en poussant sur les touches de mon clavier?
- La frappe du clavier génère un code clavier (Scan code).
- Le système scrute régulièrement le clavier, et saisit le code de la touche frappée.
- Ce code clavier, propre à chaque type de clavier (84, 101 touches, etc.), est converti en code système.
- Une demande d'interruption (IRQ1) signalant qu'une entrée clavier est prête est lancée au microprocesseur qui termine son travail en cours.
- Via le microprocesseur, le code système est sauvegardé en mémoire ou il occupe une certaine place.
- A ce moment, le microprocesseur pourrait passer à une tàche plus urgente.
- Le microprocesseur relit en mémoire la donnée stockée.
- Enfin, le microprocesseur affiche le caractère à l'écran en transcodant le code système en code ASCII via la carte graphique.
Les opérations 7 et 8 seront répétées à une fréquence minimum de 56 fois par seconde (56 Hz) pour que l'image soit stable (fréquence de rafraîchissement de l'écran).
Il devient donc évident que toute opération doit être décomposée en micro opérations, chaque opération nécessitant plusieurs moments (cycles d'horloge) du microprocesseur.
Le microprocesseur
A un niveau très bas, les stimuli et les réactions se font sous forme de signaux électriques (comme pour notre système nerveux), le principe général de ces signaux de communication étant très simple: le courant passe, ou ne passe pas. En pratique, 2 tensions différentes seront souvent utilisées, avec un seuil de tolérance pour chaque tension, et une zone neutre entre les deux pour éviter les confusions.
Ce principe se complique par le suite, mais cette dualité donnera lieu à ce que l'on appelle le langage binaire, qui est composé de un et de zéro.
Le langage binaire est donc idéal pour transformer une impulsion électrique en langage de communication, mais ralentit les calculs à cause du nombre très élevé d'opérations à effectuer. C'est pourquoi un microprocesseur les réunit dans des jeux d'instructions, qui composent le langage machine.
Chaque microprocesseur possède donc son propre langage, en fonction des opérations les plus fréquemment demandées.
Un apport dans les jeux d'instructions très remarqué fut l'apparition des instructions multimédia dans les années nonante.
T'as vu mon nouveau MMX ?
Mais revenons au microprocesseur, aussi appelé cpu (Central Process Unit), qui est un composant électronique sur un seul circuit de haute intégration.
Bien que complexe, il est en fait composé principalement d'un seul élément: le transistor. Bien entendu, un microprocesseur intègre des millions de ces transistors, combinés de manière à réaliser les opérations élémentaires telles que l'arithmétique binaire, les décisions logiques, les mouvements de données entre mémoires, organes d'entrées/sorties et le processeur.
Le microprocesseur travaille sur des données binaires. Le nombre maximum de bits de données pouvant être traité définit la taille du microprocesseur.
Nous parlons donc de microprocesseur à 16, 32, et 64 bits.
Architecture du microprocesseur
TYPE | Largeur du bus d'adresse (bit) | Champ d'adressage mémoire | Largeur du bus de données (bit) | Largeur du registre (bit) | Coprocesseur mathématique | Mémoire cache | Fréquence interne (MHz) |
---|---|---|---|---|---|---|---|
8086 | 20 | 1 MB | 8 | 16 | 8087 | N | 4 |
80286 | 24 | 16 MB | 16 | 16 | 80287 | N | 12 |
80386sx | 24 | 16 MB | 16 | 32 | 80387 | N | 25 |
80386dx | 32 | 4 GB | 32 | 32 | 80387 | N | 40 |
80486sx | 32 | 4 GB | 32 | 32 | 80487 | 8 KB | 50 |
80486dx | 32 | 4 GB | 32 | 32 | interne | 8 KB | 100 |
PENTIUM | 32 | 4 GB | 64 | 32 | interne | 16 KB | 200 |
MMX | 32 | 4 GB | 64 | 32 | interne | 32 KB | 270 |
Ce tableau (quelques dinosaures de la préhistoire informatique me diront les plus jeunes d'entre-vous) nous montre certains des éléments qui conditionnent fortement les performances du traitement des données par le processeur.
Si vous désirez des informations détaillées relatives aux processeurs actuels, vous pouvez consulter les pages des comparaisons de processeurs.
Le microprocesseur est en fait composé de quatre unités distinctes:
- L'unité de bus comprenant:
- La commande des bus.
- Le transmetteur de données à l'unité d'instructions.
- L'unité d'instructions comprenant:
- Le décodeur d'instructions.
- La file d'attente d'instructions.
- L'unité d'exécution (ou de traitement) comprenant:
- L'unité arithmétique et logique (UAL).
- Les registres (mémoires internes à l'unité centrale).
- L'unité d'adresses comprenant:
- L'additionneur pour convertir les adresses logiques en adresses physiques (segmentation).
Vous pouvez consulter les pages relatives à la micro machine et aux micro instructions pour mieux comprendre les principes de fonctionnement.
L'unité de bus
Cette unité gère trois types de bus et anticipe sur les chargements de données.
- Le bus de données permet les échanges de données entre le microprocesseur et la mémoire ou les périphériques.
- Le bus d'adresses transmet les adresses.
- Le bus de contrôle véhicule les signaux contrôlant les états: lecture mémoire, occupé, prêt, interruption, horloge, etc.
L'unité de traitement
Notes complémentaires
Mode rafale :
mode qui, par incrémentation automatique des adresses, lit ou écrit une suite de mémoires. Permet donc d'obtenir un transfert à la vitesse optimale d'un mot (de données) par cycle.
CISC :
Angl : Complex Instruction Set Computers.
Configuration d’un microprocesseur d’un ordinateur (surtout les type 80x86) qui utilise un jeu d’instructions complexe (difficiles à créer avec des instructions de base), directement câblées dans le processeur. Le coût d’une telle architecture est élevé, à cause justement du nombre élevé de circuits nécessaires.
C’est le choix adopté pour les PC actuels.
Opposé à RISC.
RISC :
Angl : Reduced Instruction Set Computer.
microprocesseur à jeu d'instruction réduit, plus rapide au niveau des instructions que les CISC car leur câblage est plus simple et parce qu'ils ont des vitesse d'horloge plus importante. En outre, les instructions sont simples, exécutées en un seul cycle d'horloge, et l’architecture RISC permet de traiter plusieurs instructions simultanément (en parallèle). Cependant, le coût en temps du traitement logiciel des instructions est nettement plus élevé car il est alors nécessaire de traduire tout en instructions simples.
Leur taille moindre et leur faible nombre de transistors entraînent une température de fonctionnement moins élevée.
Désigne aussi par extension, tout système utilisant cette technologie, même si ce n'est pas un ordinateur.
Opposé à CISC.
Superscalaire :
Angl : superscaling.
Architecture des processeurs capables d'exécuter plusieurs instructions simultanément, chacune dans un pipeline différent.
Généralement utilisé pour des éléments disposant de plusieurs unités de traitement. Ils sont donc capables d'exécuter plusieurs instructions en un cycle d'horloge.
Pipeline :
Terme utilisé dans l'architecture des ordinateurs.
Désigne un procédé qui accélère le traitement des instructions par une exécution en parallèle.
Les instructions sont exécutées selon certaines phases (principe du fetch-decode-execute), et sans pipeline les instructions placées dans une file d’attente peuvent attendre un nombre de cycles d’horloge élevé. Avec pipeline, le traitement des instructions est moindre car un circuit spécialisé existe pour chacune de ces phases.
Multitàche
Multitàche coopératif :
Système qui laisse aux applications le soin de libérer le microprocesseur. Les applications tournent en mode protégé.
Multitàche préemptif :
Utilisé par les applications DOS sous Windows en mode virtuel (plusieurs machines réelles). Il utilise un temps imparti pour chaque session mais permet à l’utilisateur de reprendre le contrôle à chaque instant.
Les interruptions
Interruptions: Utilitaires spécifiques et prioritaires qui arrêtent l'application en cours pour s'exécuter suite à un appel.
On distingue les interruptions logicielles qui sont appelées suite à un programme, et les interruptions matérielles qui sont provoquées par les composants électroniques.
Les interruptions matérielles
Les interruptions logicielles
Le tableau des interruptions logicielles comprend donc une partie des interruptions matérielles.
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 19/03/2002, last modified the 03/02/2021
Source of the printed document:https://www.gaudry.be/en/processeur.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.