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?

  1. La frappe du clavier génère un code clavier (Scan code).
  2. Le système scrute régulièrement le clavier, et saisit le code de la touche frappée.
  3. Ce code clavier, propre à chaque type de clavier (84, 101 touches, etc.), est converti en code système.
  4. 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.
  5. Via le microprocesseur, le code système est sauvegardé en mémoire ou il occupe une certaine place.
  6. A ce moment, le microprocesseur pourrait passer à une tàche plus urgente.
  7. Le microprocesseur relit en mémoire la donnée stockée.
  8. 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.

Contents Haut

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.

Contents Haut

Architecture du microprocesseur

TYPELargeur du bus d'adresse (bit)Champ d'adressage mémoireLargeur du bus de données (bit)Largeur du registre (bit)Coprocesseur mathématiqueMémoire cacheFréquence interne (MHz)
8086201 MB8168087N4
802862416 MB161680287N12
80386sx2416 MB163280387N25
80386dx324 GB323280387N40
80486sx324 GB3232804878 KB50
80486dx324 GB3232interne8 KB100
PENTIUM324 GB6432interne16 KB200
MMX324 GB6432interne32 KB270

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

Voir la page relative à la machine Von Neuman.

Contents Haut

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.

Contents Haut

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.

Contents Haut

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

IRQ 00 | Horloge système |
IRQ 01 | Clavier |
IRQ 02 | [cascade pour un deuxième contrôleur IRQ] |
BrolPseudoTable-const-1 | Adaptateur bus souris 8 bits |
BrolPseudoTable-const-1 | Port MIDI |
BrolPseudoTable-const-1 | COM 3/4 |
BrolPseudoTable-const-1 | Anciennes cartes VGA |
IRQ 03 | COM2 |
BrolPseudoTable-const-1 | Configuration standard pour de nombreuses cartes réseau |
BrolPseudoTable-const-1 | Port MIDI |
IRQ 04 | COM1 |
IRQ 05 | LPT2 |
BrolPseudoTable-const-1 | IRQ de rechange pour carte Soundblaster |
BrolPseudoTable-const-1 | COM 3/4 |
IRQ 06 | Disquette |
IRQ 07 | LPT1 |
BrolPseudoTable-const-1 | Soundblaster et compatible |
BrolPseudoTable-const-1 | Adaptateur Token Ring |
BrolPseudoTable-const-1 | COM 3/4 |
IRQ 08 | Horloge temps réel |
IRQ 09 | Asservissement PIC1 |
IRQ 10 | Soundblaster 16 |
BrolPseudoTable-const-1 | Lecteur de cd-rom sur bus AT |
IRQ 11 |   |
IRQ 12 | PS2 souris |
IRQ 13 | Coprocesseur arithmétique |
IRQ 14 | Contrôleur primaire de disque dur |
IRQ 15 | Contrôleur secondaire de disque dur |

Contents Haut

Les interruptions logicielles

Le tableau des interruptions logicielles comprend donc une partie des interruptions matérielles.

00h | Division par zéro |
01h | Pas à pas |
02h | Non masquable |
03h | Point d'arrêt |
04h | Débordement |
05h | Impression écran |
06h | op-code invalide |
07h | |
08h | IRQ 00 |
09h | IRQ 01 |
0Ah | IRQ 02 |
0Bh | IRQ 03 |
0Ch | IRQ 04 |
0Dh | IRQ 05 |
0Eh | IRQ 06 |
0Fh | IRQ 07 |
10h | Vidéo |
70h | IRQ 08 |
71h | IRQ 09 |
72h | IRQ 10 |
73h | IRQ 11 |
74h | IRQ 12 |
75h | IRQ 13 |
76h | IRQ 14 |
77h | IRQ 15 |

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.

Notes
  1.  operation code : corresponds to « code opération » en français

  2.  op-code : “operation code” (en français, « code opération »)

Contents Haut