Vote utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

NSI - Numérique et Sciences Informatiques


Architecture von Neumann


L'architecture de tous les ordinateurs actuels est conforme à un schéma qui a assez peu évolué depuis les premiers ordinateurs électronique à tubes à vide de 1945 (Colossus et ENIAC). Voir la page Histoire de l'informatique.
Ce modèle est dit de von Neumann.

JohnvonNeumann LosAlamosJohn von Neumann (1903, Budapest - 1957,Washington)

1. L'architecture de von Neumann

1.1 Les principales structures

Dans l'architecture de von Neumann, un ordinateur est constitué de quatre parties distinctes :

  1. Le  CPU : Central Processing Unit (unité centrale de traitement) appelé aussi processeur ;
  2. La  mémoire  où sont stockés les données et les programmes ;
    • La mémoire se divise entre mémoire volatile (RAM ou mémoire vive) qui gère les programmes et données en cours de fonctionnement
    • et mémoire permanente qui gère les programmes et données de base de la machine.
  3. des bus qui sont des fils conduisant des impulsions électriques et qui relient les différents composants ;
  4.  des entrées-sorties (E/S ou I/O input/Output) pour échanger avec l'extérieur.

 modele von neumann

 

1.2 Les sous-structures

  • Les échanges entre la mémoire et les registres du CPU (Central Processing Unit) se font  via des bus  selon une chronologie organisée par l'horloge et suivant la nature des échanges : données ou adresses.
  • Un programme est enregistré dans la mémoire.
  • L'adresse  (un entier)  de l'instruction  en cours de traitement est stockée dans une mémoire interne au processeur, le cp ou pcregistre compteur de programme
  • La valeur de cette instruction  (un entier) est stockée dans une autre mémoire interne, le ri : registre d'instruction .
     
  • L’architecture d’un processeur (CPU) séquentiel,  comporte 2 parties :

    • 1 - une unité de commande qui analyse les instructions à exécuter et qui séquence les actions élémentaires permettant leur réalisation,
    • 2 - une partie opérative qui comprend les outils permettant de réaliser les actions élémentaires (ordonnées par l’unité de commande).
      • Elle comprend une unité arithmétique et logique (UAL ou encore ALU) permettant de réaliser des opérations arithmétiques sur des entiers et des opérations logiques sur des vecteurs de bits en interprétant les impulsions électriques.
      • Elle comprend également des registres internes (bancs de registres) permettant de stocker de façon très temporaire des opérandes ou résultats intermédiaires de calcul.

architecture processeur

2. Le rôle de l'horloge

Les traitements réalisés par l’ordinateur sont faits sur des représentations binaires des données et des traitements à réaliser, et ce en calculant des fonctions logiques.

2.1 Cadence d'un processeur

  • Le CPU dispose d'une horloge qui cadence l'accomplissement des instructions et dont l'unité est appelée cycle.
  • La fréquence s'exprime en GigaHertz (GHz), elle signifie le nombre d'opérations que fait le processeur en une seconde.
  • 3GHz : 3 milliards d'opération à la seconde. En clair, elle influe sur la vitesse de fonctionnement du processeur.
     
  • En 2020, les processeurs tournent entre 1,5 et 3 GHz. Certains atteignent 3.6 GHz mais la course à la fréquence à pris fin depuis 2005 environ car au-delà d'un certain cap, la chaleur dégagée est trop importante et perturbe la lecture des tensions.

2.2 Cycle d'instructions

Le pipeline d'instruction

  • Dans un processeur, 5 étapes sont nécessaires pour traiter une instruction. Chacune de ces 5 instructions est exécuté lors d'un cycle.
    • LI (ou IF -  Instruction Fetch) : charge l'instruction à exécuter dans le pipeline (fetch = aller chercher).
    • ID : décoder l'instruction  ;
    • EX : exécuter l'opération dans l'UAL  ;
    • MEM : accéder à la mémoire en lecture ou en écriture  ;
    • ER (ou WB, Write Back) : écrire le résultat dans un registre.
       
  • Pour gagner du temps, le processeur n'exécute pas les instruction de façon séquentielle mais il exécute simultanément plusieurs instructions qui sont à des étapes différentes de leur traitement.
    C'est le pipeline d'instruction.
     
  • Grâce au pipeline, le traitement des instructions nécessite au maximum les cinq étapes précédentes. Dans la mesure où l'ordre de ces étapes est invariable (LI, DI, EX, MEM et WB), il est possible de créer dans le processeur un certain nombre de circuits spécialisés pour chacune de ces phases.

Analogie avec une chaine de production

Le pipeline est un concept s'inspirant du fonctionnement d'une ligne de montage. Considérons que l'assemblage d'un véhicule se compose de trois étapes (avec éventuellement des étapes intermédiaires) :

  • 1. Installation du moteur. 2. Installation du capot. 3. Pose des pneus.

  • Un véhicule dans cette ligne de montage ne peut se trouver que dans une seule position à la fois.

  • Une fois le moteur installé, le véhicule V1 continue pour une installation du capot, laissant le poste « installation moteur » disponible pour un prochain véhicule V2.
    Le véhicule V1 se fait installer ses pneumatiques (roues) tandis que le second V2 est à l'étape d'installation du capot. Dans le même temps un véhicule V3 commence l'étape d'installation du moteur.

  • Si l'installation du moteur, du capot et des roues prennent respectivement 20, 5 et 10 minutes, la réalisation de trois véhicules prendra, s'ils occupent un à un toute la chaîne de production, 105 minutes = (20 + 5 + 10) × 3. Si on place un véhicule dans la chaîne de production dès que l'étage auquel le véhicule doit accéder est libre (principe du pipelining), le temps total pour réaliser les trois véhicules est de 75 minutes.

 

Exemple d'un pileline

  • En supposant que chaque étape met 1 cycle d'horloge pour s'exécuter, il faut normalement 5 cycles pour exécuter une instruction, 15 pour 3 instructions :

Nopipeline

  • En utilisant la technique du pipeline, notre processeur peut alors contenir plusieurs instructions, chacune à une étape différente.
    Il faut 9 cycles pour exécuter 5 instructions. À t = 5, tous les étages du pipeline sont sollicités, et les 5 opérations ont lieu en même temps.

pipeline 5 etages

Un gain de cycles

  • Il faut compter en général 1 à 2 cycles d'horloge (rarement plus) pour chaque phase du pipeline, soit 10 cycles d'horloge maximum par instruction.
  • Le premier ordinateur à utiliser cette technique est l'IBM Stretch, conçu en 1961.

 

Compléments

Articles Connexes