0% ont trouvé ce document utile (0 vote)
264 vues5 pages

Von Neumann Cours

Transféré par

ilyes kaddouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
264 vues5 pages

Von Neumann Cours

Transféré par

ilyes kaddouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Partie 3 Chapitre 3 : unité centrale et architecture de von Neumann Architecture des ordinateurs

La première description d’un ordinateur dont les programmes sont stockés dans sa mémoire a été élaborée en juin 1945 par le
mathématicien John Von Neumann (1903–1957) dans le cadre du projet EDVAC (Electronic Discrete Variable Automatic Computer).
Ce modèle, toujours utilisé de nos jours et connu sous le nom d’architecture de von Neumann, consiste à organiser l’unité centrale
de l’ordinateur en quatre éléments comme sur la figure suivante 1 :

Processeur Mémoire principale

instructions
Unité de commande Programme

ordres

données/résultats
Unité de traitement Données

informations
codées en binaire

Unité d’entrées/sorties

Périphériques Périphériques Périphériques


d’entrée de stockage de sortie

F IGURE 1 – Architecture de von Neumann

Dans l’architecture de von Neumann, un ordinateur est constitué de quatre parties distinctes :
‹ Le CPU : Central Processing Unit (unité centrale de traitement) appelé aussi processeur ;
‹ La mémoire où sont stockés les données et les programmes ;
‹ Des bus qui sont des fils conduisant des impulsions électriques et qui relient les différents composants ;
‹ Des entrées-sorties (E/S ou I/O input/Output) pour échanger avec l’extérieur.
Le but de ce chapitre est de décrire ces différents composants ainsi que leurs interactions.

1. Pour les architectures parallèles, le principe reste globalement le même : il y a plusieurs couches comme celle présentée à la figure 1 qui sont interconnectées entre
elles et qui peuvent même partager de la mémoire.

Spécialité NSI 1/5


Partie 3 Chapitre 3 : unité centrale et architecture de von Neumann Architecture des ordinateurs

1 Le processeur
1.1 Présentation générale
Le processeur, également appelé CPU (Central Processing Unit) en anglais, est le cerveau de l’ordinateur. Il permet de manipuler des
informations numériques, c’est-à-dire des informations codées sous forme binaire, et d’exécuter les instructions stockées en mémoire.
Il interprète les instructions et traite les données d’un programme. Le premier microprocesseur (Intel 4004) a été inventé en 1971. Il
s’agissait d’une unité de calcul de 4 bits, cadencé à 108 kHz. Depuis, la puissance des microprocesseurs augmente exponentiellement.

F IGURE 2 – Central Processing Unit

Il s’agit d’un circuit électronique complexe (circuit intégré) composé de plusieurs éléments :
‹ une unité de commande (voir paragraphe 1.3) ;
‹ une unité de traitement (voir paragraphe 1.4) ;
‹ une horloge qui synchronise toutes les actions de l’unité centrale (voir paragraphe 1.5) ;
‹ des registres généraux disponibles pour les calculs 2 ;
‹ des pointeurs de pile, c’est-à-dire des registres particuliers, dont le nombre varie en fonction du processeur, qui contiennent
l’adresse des sommets des piles 3 .
et caractérisé par :
‹ la largeur de ses registres internes de manipulation de données (8, 16, 32, 64 ou 128 bits) ;
‹ le nombre de noyaux de calcul (également appelé core en anglais) de son unité de traitement ;
‹ la cadence de son horloge (en MHz ou GHz) ;
‹ son jeu d’instructions (qui dépend de sa famille et qui est très important pour les compilateurs et interpréteurs) ;
‹ sa finesse de gravure (en nm).

Le processeur exécute chaque instruction très rapidement en quelques cycles de son horloge interne en effectuant schématiquement
les opérations suivantes :
‹ lire dans la mémoire principale l’instruction à exécuter ;
‹ effectuer le traitement correspondant à cette instruction ;
‹ passer à l’instruction suivante.

2. On rappelle qu’un registre est une petite unité de mémoire vive à accès rapide (voir chapitre 2).
3. On reviendra au chapitre 5 sur cette notion de ! pile ".

Spécialité NSI 2/5


Partie 3 Chapitre 3 : unité centrale et architecture de von Neumann Architecture des ordinateurs

1.2 Unités fonctionnelles


Le processeur est constitué d’un ensemble d’unités fonctionnelles reliées entre elles. L’architecture d’un microprocesseur est très
variable d’une architecture à une autre, cependant les principaux éléments d’un microprocesseur sont les suivants :
‹ Une unité de commande, en anglais control unit (ou unité d’instruction) qui lit les données arrivant, les décode puis les envoie à
l’unité d’exécution ; L’unité d’instruction est notamment constituée des éléments suivants :
‚ séquenceur (ou bloc logique de commande) chargé de synchroniser l’exécution des instructions au rythme d’une horloge. Il
est ainsi chargé de l’envoi des signaux de commande ;
‚ compteur ordinal contenant l’adresse de l’instruction en cours ;
‚ registre d’instruction contenant l’instruction suivante.
‹ Une unité d’exécution (ou unité de traitement), qui accomplit les tâches que lui a données l’unité d’instruction. L’unité d’exécution
est notamment composée des éléments suivants :
‚ L’unité arithmétique et logique (notée UAL ou en anglais ALU pour Arithmetical and Logical Unit). L’UAL assure les
fonctions basiques de calcul arithmétique et les opérations logiques (ET, OU, Ou exclusif, etc.) ;
‚ L’unité de virgule flottante (notée FPU, pour Floating Point Unit), qui accomplit les calculs complexes non entiers que ne
peut réaliser l’unité arithmétique et logique.
‚ Le registre d’état ;
‚ Le registre accumulateur.
‹ Une unité de gestion des bus (ou unité d’entrées-sorties), qui gère les flux d’informations entrant et sortant, en interface avec la
mémoire vive du système ;
Ce schéma sera étudié en détail au chapitre 5 consacré au langage assembleur.

F IGURE 3 – Unités fonctionnelles du processeur

Spécialité NSI 3/5


Partie 3 Chapitre 3 : unité centrale et architecture de von Neumann Architecture des ordinateurs

1.3 L’unité de commande


L’unité de commande, également appelée unité de contrôle, est responsable de la lecture en mémoire principale et du décodage des
informations. C’est également elle qui donne les ordres et synchronise les opérations. Elle est composée de plusieurs registres :
‹ le compteur ordinal qui permet de stocker l’adresse mémoire de l’instruction en cours d’exécution ;
‹ le registre d’instruction qui contient l’instruction en cours exécution ;
‹ le registre d’état qui stocke le contexte du processeur (les différents bits de ce registre sont des drapeaux servant à stocker des
informations concernant le résultat de la dernière instruction exécutée).

Une instruction se décompose en plusieurs parties. Par exemple, pour une opération arithmétique élémentaire entre deux données,
on a une séquence du type :

code instr. donnée 1 donnée 2 résultat

F IGURE 4 – Exemple d’instruction

‹ La première partie code instr. indique le code de l’opération à effectuer. Pour les quatre opérations arithmétiques de base,
on peut par exemple fixer la convention suivante : 0000 code l’addition, 0001 la multiplication, 0010 la soustraction et 0011
la division.
‹ La deuxième partie donnée 1 et la troisième partie donnée 2 contiennent respectivement les adresses mémoires où sont
stockées la première et la seconde donnée (dans cet ordre) sur lesquelles l’opération arithmétique doit être effectuée.
‹ La quatrième partie résultat indique l’adresse en mémoire où doit être stocké le résultat de l’opération.
Ainsi, l’instruction 0011 1001 0011 0001 permet d’effectuer une division (code 0011) entre le nombre stocké à l’adresse mémoire
9 (code 1001) et celui stocké à l’adresse mémoire 3 (code 0011) et de stocker le résultat à l’adresse mémoire 1 (code 0001).

1.4 L’unité de traitement


L’unité de traitement est le composant de l’unité centrale permettant de traiter les instructions en cours d’exécution. Elle est
constituée de circuits électroniques câblés une fois pour toute et est composée de plusieurs éléments :
‹ une unité arithmétique et logique (U.A.L) qui prend en charge les calculs arithmétiques élémentaires et les tests ;
‹ des accumulateurs qui permettent de stocker les données en cours de traitement par l’U.A.L. ;
‹ le registre d’adresses qui contient l’adresse de la prochaine information à lire par l’U.A.L. : soit la suite de l’instruction en cours,
soit la prochaine instruction.

F IGURE 5 – U.A.L et ses liaisons

Spécialité NSI 4/5


Partie 3 Chapitre 3 : unité centrale et architecture de von Neumann Architecture des ordinateurs

1.5 L’horloge
L’horloge est un élément essentiel du processeur. Grâce à un cristal de quartz qui, soumis à un courant électrique, envoie des
impulsions, elle se comporte comme un métronome qui lance des ! tops " à intervalles de temps réguliers. Ces ! tops " donnent la
cadence à laquelle travaille l’ordinateur et permettent à l’ensemble des composants de l’unité centrale de se synchroniser. La fréquence
d’horloge, appelée également cycle, correspondant au nombre d’impulsions par seconde, s’exprime en Hertz (Hz). Ainsi, un ordinateur
à 200 MHz possède une horloge envoyant 200 000 000 de battements par seconde. La fréquence d’horloge est généralement un multiple
de la fréquence du système (FSB, Front-Side Bus), c’est-à-dire un multiple de la fréquence de la carte mère.
A chaque top d’horloge le processeur exécute une action, correspondant à une instruction ou une partie d’instruction. L’indicateur
appelé CPI (Cycles Par Instruction) permet de représenter le nombre moyen de cycles d’horloge nécessaire à l’exécution d’une instruc-
tion sur un microprocesseur. La puissance du processeur peut ainsi être caractérisée par le nombre d’instructions qu’il est capable de
traiter par seconde. L’unité utilisée est le MIPS (Millions d’Instructions Par Seconde) correspondant à la fréquence du processeur que
divise le CPI.
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 La mémoire principale
La mémoire principale est formée par de la mémoire vive RAM et de la mémoire morte ROM. Elle permet de stocker aussi bien
des données que des programmes. Elle est constituée d’un nombre gigantesque de circuits électroniques, appelés cellules mémoires,
dont l’état peut être représenté par les chiffres 0 ou 1. Ces suites de bits composent des mots mémoire. Chaque mot est identifié par son
adresse afin de pouvoir le référencer et le retrouver. L’adresse est elle-même un code, donc une suite de bits. Dans l’architecture de Von
Neumann, elle sert à stocker aussi bien les bits codant des données que les bits codant des traitements ou des instructions.

3 L’unité d’entrées/sorties
L’unité d’entrées/sorties permet d’assurer la communication entre le processeur et les périphériques. Cette communication se fait
de la même façon qu’entre le processeur et la mémoire principale. Par exemple, les pixels d’un écran sont référencés par une adresse à
laquelle est associée une valeur donnant la couleur. Encore une fois, on différencie les adresses et les données.

4 Les liaisons
Dans la figure 1, les flèches représentent les liaisons entre les différents composants de l’unité centrale. Ce sont des ensembles de
fils, appelés bus, permettant de transporter plusieurs bits en paralllèles. Il existe plusieurs types de bus :
‹ le bus ! ordres " (bus unidirectionnel) transporte les demandes d’exécution d’opérations de l’unité de commande vers l’unité de
traitement ;
‹ le bus ! instructions " (bus unidirectionnel) fait transiter les instructions élémentaires des mots mémoire vers le registre d’instruc-
tion de l’unité de commande ;
‹ le bus ! données/résultats " (bus bidirectionnel) fait circuler le contenu des mots mémoires entre la mémoire et les différents
registres de l’unité de traitement.
Ces différents bus peuvent contenir un nombre de fils différent. Le nombre de fils du bus ! données/résultats " détermine l’architecture
du processeur. Ainsi, un ! processeur 64 bits " contient un bus ! données/résultats " composé de 64 fils permettant de coder sur 64 bits.

Spécialité NSI 5/5

Vous aimerez peut-être aussi