Vous êtes sur la page 1sur 20

Architecture

des ordinateurs Microprocesseur Microprocesseur

Architecture de Von Neumann

L’ architecture de Von Neumann est un modèle pour un ordinateur qui utilise une
structure de stockage unique pour conserver à la fois les instructions et les données
demandées ou produites par le calcul. La séparation entre le stockage et le
processeur est implicite dans ce modèle.

L’architecture de Von Neumann décompose l’ordinateur en 4 parties distinctes :


 l’unité arithmétique et logique (ALU en anglais) ou unité de traitement : son
rôle est d’effectuer les opérations de base ;
 l’unité de contrôle, chargée du « séquençage » des opérations ;

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Architecture de Von Neumann

 la mémoire qui contient à la fois les données et le programme qui indiquera à l’unité
de contrôle quels sont les calculs à faire sur ces données ;
 les dispositifs d’entrée-sortie, qui permettent de communiquer avec le monde
extérieur.

Architecture de Harvard

L’architecture de type Harvard est une conception de microprocesseurs qui sépare


physiquement la mémoire de données et la mémoire programme. L’accès à chacune des
deux mémoires s’effectue via deux bus distincts.

Avec deux bus distincts, cette architecture permet de transférer simultanément les
données et les instructions à exécuter. Ainsi, l’unité de traitement aura accès
simultanément à l’instruction et aux données associées.

Ce modèle peut se montrer plus rapide à technologie identique que celui de Von
Neumann. Le gain en performance s'obtient cependant au prix d'une complexité accrue
de structure.
Version 1.0 2012
Architecture
des ordinateurs Microprocesseur Microprocesseur

Qu’est-ce qu’on entend par microprocesseur ?

Un microprocesseur est un circuit complexe qui possède


 un jeu d’instructions,
 une unité arithmétique et logique pour effectuer les calculs sur les données,
 des registres internes pour conserver temporairement ces données et
 un mécanisme pour accéder aux données stockées dans la mémoire centrale.

Quels sont les rôles élémentaires d’un microprocesseur ?

Alors, pour le traitement d’une instruction, le microprocesseur doit :


 Rechercher l’instruction dans la mémoire
 Décoder l’instruction
 Rechercher les opérandes (si l’exécution a besoin d’un ou des opérandes)
 Exécuter l’instruction
 Ranger le résultat de l’opération dans la mémoire.

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Architecture interne d’un microprocesseur

U. ARITHMETIQUE ET LOGIQUE U. DE GESTION MEMOIRE

Registres généraux Registres de segmentation


Decaleur et de pagination

U. DE CONTROLE
adresse

UNITE DE BUS
ROM
des microcodes
données

U. DE DECODAGE U. DE PREEXTRACTION commandes


Décodeur Queue de
Queue des instructions pré-extraction

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Unité de bus
Elle est responsable de l’échange d’information entre le bus externe du microprocesseur et ses
unités internes. Elle émet (ou reçoit) les signaux d’adresse, de données, et de contrôle utilisés pour
communiquer avec la mémoire et les périphériques.

Unité de pré-extraction
Lorsque l’unité de bus n’est pas occupée par une exécution d’instruction, l’unité de pré-extraction
l’utilise pour charger séquentiellement les quelques instructions suivantes du programme en cours
d’exécution. Les instructions ainsi pré-saisies sont rangées dans une zone appelée « queue de pré-
extraction ». Cette unité maintient assez d’instructions à la disposition de l’unité de décodage pour
qu ‘elle n’ait pas à attendre le chargement depuis la mémoire vive.

Unité de décodage
Elle prend les instructions de la queue de pré-extraction et les décompose en deux parties :
 La première, le code opération ou OPCODE, qui indique l’opération à effectuer. Cette partie
forme une adresse, appelée « point d’entrée microcode », pour lancer l’exécution des microcodes
de l’unité de contrôle.
 La seconde, optionnelle, est constituée par un ou plusieurs opérandes. Elle désigne
l’information nécessaire à l’exécution de l’instruction. Un opérande peut être une donnée ou peut
désigner l’endroit où se trouve une donnée (registre ou adresse mémoire).

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Unité de contrôle

Le microprocesseur s’appuie sur son unité de contrôle pour planifier les tâches nécessaires à
l’exécution d’une instruction. Le découpage des instructions en signaux de contrôle de bas niveau
améliore l ‘efficacité de processus d’exécution.

L’unité de contrôle émet des signaux qui coordonnent le


fonctionnement de l’unité d’exécution. Elle contient les
AX BX
microcodes du processeur, ensemble de commandes de
bas niveau rangées en ROM du microprocesseur.

Exemple : ADD AX, BX


1°) ( AX )  ALU
2°) ( BX )  ALU
3°) Somme dans ALU
4°) Résultat  AX RESULTAT

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Unité Arithmétique et Logique

Elle contient un circuit chargé d’exécuter les opérations arithmétiques et logiques (arithmétique :
addition, soustraction, multiplication, division et décalage ; Logique : AND, OR, XOR, NOT). Cette
unité contient aussi des registres pour le stockage temporaire des données et des résultats. Ces
registres sont classés par :

registres généraux Accumulateurs : EAX (32), AX (16), AH (8), AL (8)


Registres de base : EBX (32), BX (16), BH (8), BL (8)
Registres de comptage : ECX (32), CX (16), CH (8), CL (8)
Registres de données : EDX (32), DX (16), DH (8), DL (8)
registres pointeurs et registres d’index
Source index : ESI (32), SI (16)
Destination index : EDI (32), DI (16)
Base Pointer : EBP (32), BP (16)
Stack Pointer : ESP (32), SP (16)
registre « pointeur d’instruction » (EIP ou IP) qui contient l’adresse de la prochaine instruction à
exécuter par le microprocesseur. EIP est automatiquement incrémenté de façon à pointer sur
l’instruction qui suit celle que l’unité de bus vient d’extraire.
registre EFLAGS contenant des informations complémentaires sur le résultat d’une opération
arithmétique et logique. Alors ses bits appelés drapeaux ou flags sont mise à 0 ou à 1 selon le
résultat de l’opération.

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Unité de gestion mémoire (MMU)

Cette unité est chargée de traduire chaque adresse logique interne en une adresse physique externe
correspondant à une position particulière de la mémoire centrale. Elle contient le circuit de
segmentation et de pagination. Cette unité dispose ainsi des registres de segment : CS, SS, DS, ES,
FS, GS.

SEGMENTATION
La segmentation est une technique qui donne à chaque programme son propre et unique espace
d’adressage nommé « segment » en mémoire centrale.

PAGINATION
La pagination découpe la mémoire principale en blocs de 4 ko appelé « PAGE » pour créer un
environnement virtuel dans lequel de grande espace d’adressage est simulée à partir d’une petite
quantité de DRAM et d’un complément d’espace disque (mémoire virtuelle).

OBJECTIF
Ce mécanisme de segmentation et de pagination permet de :
 minimiser le temps d’accès à la mémoire ;
 maximiser l’espace adressable par le processeur.

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Segmentation en mode réel (espace adressable : 220 o = 1 Mo)

FFFFFh
CS (16 bits) 0000
SS (16 bits) 0000 Code Segment
DS (16 bits) 0000
Stack Segment
ES (16 bits) 0000
Data Segment

+
OFFSET

Extra-Segment
Adresse physique
(20 bits)
00000h
Mémoire physique

Adresse logique 14A6 : 0088 1 4A6 0


+ 0088
1 4 A E 8 Adresse physique

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Segmentation en mode protégé

( 16 bits ) ( 16 bits )
SELECTEUR OFFSET

Cop / Opérande Jusqu’à

64 Ko

DESCRIPTEUR
+

Table des descripteurs Mémoire physique

DESCRIPTEUR : Adresse du segment Espace adressable :


Taille limite du segment 214 x 216 = 230 = 1 Go
Privilège ou droit d’accès (2 bits)

Pour un processeur de 32 bits l’espace adressable est : 214 x 232 = 246 = 64 To

Version 1.0 2012


Architecture
des ordinateurs Microprocesseur Microprocesseur

Pagination

Pour un processeur de 32 bits

31 22 21 12 11 0

INDEX PAGE OFFSET


Cop/Opérande 4 Ko
1024 entrées 1024 pages

+
Début de page
Entrée

Mémoire physique
Répertoire des tables Table des pages

Version 1.0 2012


Architecture
des ordinateurs Mode de fonctionnement en parallèle Microprocesseur

Pipeline

Cycle 1 Cycle 3 Cycle 5 Cycle 7


Horloge

Unité de bus Instr_1 Instr_3 Instr_5 Instr_7


Unité de décodage Instr_2 Instr_4 Instr_6
ALU Instr_1 Instr_3 Instr_5
Superscalaire
MMU Instr_2 Instr_4

ALU

Recherche Décodage Recherche Rangement


des des des ALU
des résultats
instructions instructionss opérandes

FPU

Version 1.0 2012


Architecture
des ordinateurs Mode de fonctionnement en parallèle Microprocesseur

Hyperthreading

La technologie HyperThreading (HyperFlots ou HyperFlux) consiste à définir deux processeurs


logiques au sein d'un processeur physique.
Ainsi, le système reconnaît deux processeurs physiques et se comporte en système multitâche en
envoyant deux thréads simultanés, on parle alors de SMT (Simultaneous Multi Threading).
Cette « supercherie » permet d'utiliser au mieux les ressources du processeur en garantissant que
des données lui sont envoyées en masse.

Version 1.0 2012


Architecture
des ordinateurs Caractéristiques des microprocesseurs Microprocesseur

 La fréquence de fonctionnement d’un microprocesseur exprimée en nombre


de cycle d’horloge par seconde (MHz ou GHz) ;
 La taille des registres internes ;
 La largeur des bus de données ;
 Le nombre de transistors intégrés dans le puce ;
 Le MIPS : Millions d’instructions exécutées par seconde ;

Version 1.0 2012


Architecture
des ordinateurs 80 486 par rapport à ses prédécesseurs Microprocesseur

 Intégration du cooprocesseur arithmétique ;


 Intégration d’une mémoire cache de 8 Ko ;
 Cycle de bus en mode rafale

Cycle normal : Adresse Donnée Adresse Donnée Adresse Donnée Adresse Donnée

Cycle en rafale : Adresse Donnée Donnée Donnée Donnée

4 blocks de 32 bits

Version 1.0 2012


Architecture
des ordinateurs Architecture d’une mémoire cache Microprocesseur

127 127
Octet n°4
...
100 SUCCES ECHEC 100

21 bits

0 Repère 0 Voie 0 (2 Ko) Voie 1 (2 Ko) Repère 0 0

127 127

100 ECHEC ECHEC 100


Bloc de 16 octets

0 Repère 0 Voie 2 (2 Ko) Voie 3 (2 Ko) Repère 0 0

Format d’une adresse (32 bits) : Repère Index N°octet


21 bits 7
bits 4 bits
Exemple d’adresse : 003AC644 = 0000 0000 0011 1010 1100 0110 0100 0100
100
4
Version 1.0 2012
Architecture
des ordinateurs Architecture d’un pentium Microprocesseur

Cache d’instructions
64 bits
8 Ko
256 bits Branchement
Buffer de prérecherche
Prédictif
1 Ko de BTB
32 bits 32 bits
Unité
ALU ALU
64 Bits de FPU
entiers entiers
bus en pipeline
32 bits 32 bits
Addition
Jeu de registres Multiplication
Division
64 bits

Cache de données
64 bits
8 Ko

Tension d’alimentation : 3,3 Volts


Taille de page mémoire de 4 Mo

Version 1.0 2012


Architecture
des ordinateurs Evolution des anciens processeurs INTEL Microprocesseur

MICROPROCESSEUR 80286 80386 DX 80386 SX 80486 DX 80486 SX


Date d’introduction 1981 1985 1988 1989
Fréquence d’horloge (Mhz) 6, 8, 12,5 16, 20, 25, 25,33,50,66, 50
33 75,100
MIPS 1,5 5 27
Nombre de transistors 134 000 275 000 1,2 M
Taille de registres 16 32 32 32 32
Bus de données 16 32 16 32 32
Bus d’adresse 24 32 24 32 32
Mémoire cache interne - - - 8 ko 8 ko
FPU intégré non non non oui non
OVERDRIVE

Version 1.0 2012


Architecture
des ordinateurs Evolution des processeurs PENTIUM Microprocesseur

Date d’ Fréquence Cache Cache Bus ext. Nb de Gravure Pin


introduct° (MHz) L1(Ko) L2(Ko) (MHz) trans (M) (micron) count
Pentium 60, 66 22/03/93 60, 66 16 0 30, 33 3,1 0,8 273
Pentium 75 10/10/94 75 16 0 30, 33 3,2 0,6 296
Pentium 90, 100 07/03/94 90, 100 16 0 50 3,2 0,6 296
Pentium 120 27/03/95 120 16 0 60 3,2 0,35 296
Pentium 133 01/06/95 133 16 0 66 3,3 0,35 296
Pentium 150, 166 04/01/96 150, 166 16 0 66 3,3 0,35 296
Pentium 200 10/06/96 200 16 0 66 3,3 0,35 296
Pentium MMX ..../01/97 166,200,233 32 0 66 4,5 0,35 296
Pentium PRO 01/11/95 150,166,180,200 16 0 66 5,5 0,35 387
Pentium PRO 01/11/95 150,166,180,200 16 256 66 15,5 0,6 387
Pentium PRO 01/11/95 150,166,180,200 16 512 66 31 0,35 387
Pentium PRO 18/08/97 200 16 1 Mo 66 5,5 0,35 387
Pentium II 07/05/97 233,266,300 32 512 à ½ vit 66 7,5 0,35 242
Pentium II 26/01/98 333 32 512 à ½ vit 66 7,5 0,25 242
Pentium II 15/0498 350,400 32 512 à ½ vit 100 7,5 0,25 242
Pentium II 24/08/98 450 32 512 à ½ vit 100 7,5 0,25 242
Version 1.0
Celeron …/04/98 266,300 32 0 66 7,5 0,25 2012
242
Architecture
des ordinateurs Evolution des processeurs PENTIUM Microprocesseur

Date d’ Fréquence Cache Cache Bus ext. Nb de Gravure Pin


introduct° (MHz) L1(Ko) L2(Ko) (MHz) trans (M) (micron) count
Pentium III 26/02/99 450 - 600 32 512 à ½ vit 100 7,5 0,25 370

P III B 533 - 600 32 512 à ½ vit 133 0,25

P III E 500 – 1 Ghz 32 256 100 0,18 370

P III EB 533 – 1,13 Ghz 32 256 133 0,18 370

Celeron 533 - 700 32 128 66 0,18 370

Celeron 800 – 1,1 Ghz 32 128 100 0,18 370

Celeron 1 – 1,4 Ghz 32 256 100 0,13 370

P III 1,13 – 1,2 Ghz 32 256 133 0,13 370

P III S 1,13 – 1,4 Ghz 32 256 133 0,13 370

P III Xeon 500 - 550 32 512 - 2Mo 100 0,25

P III Xeon 700 - 900 32 512 - 2Mo 100 0,25

P III Xeon 600 – 1 Ghz 32 512 - 2Mo 100 0,25

P4 1,4 – 1,7 Ghz 32 256 400 0,18 423


Version
P 4 A 1.0 1,6 – 2,4 Ghz 32 512 400 0,13 2012
478