You are on page 1of 16

Ministère de l'enseignement supérieur et de la

recherche
Scientifique

Ecole Nationale supérieure d'Informatique E.S.I ( EX


I.N.I )
ALGER OUED SMAR

MICRO-
PROCESSEURS
HISTORIQUE , EVOLUTION ET
APPLICATIONS
SOMMAIRE

Quelques parameters evolutifs d'un micro-processeur……………..-


…………page1

Tableau des architectures depuis 1971 à -


2008………………………………page7

Familles de micro-processeurs et leurs applications…………………….-


……page9

Architectures des micro-processeurs……………………….. -


………………..page13
Evolutions du nombre de transistors dans les micro-processeurs-
intel………page14

Historique du micro-processeur et
evolution jusqu'en 2008
: Quelques Paramèters evolutifs d'un micro- processeur

Un certain nombre de concepts plus ou moins complexes


.reviennent couramment dans les débats sur les processeurs

Nous alons presenter ci desous , les trois paramètres principaux


qui contribuent à identifier un processeur. Les deux éléments
primordiaux à son identification est sa largeur(taille des Bus) et sa
fréquence. La fréquence est une notion relativement simple à
appréhender. Elle se mesure en mégahertz (MHz) ou en gigahertz
(GHz) et correspond au nombre de millions ou de billions de cycles
par seconde que le processeur est capable d’effectuer. Bien entendu
plus cette valeur est élevée, plus le processeur sera rapide. La
largeur de bande d’un processeur est un concept déjà plus
complexe, car le processeur possède en fait trois variables exprimés
: sous la forme d’une largeur(taille en bits), nos trois paramètres

; Le Bus d’entrées/sorties de Données (1


; Le Bus d’adresses (2
; Les Registres internes (3

Bus d’entrées/sorties de données

vous savez déjà que dans un ordinateur, les données sont envoyées
sous forme d’informations numériques, langage binaire. Dans un
même laps de temps, l’ordinateur génère une tension de 3,5 Volt ou
5 Volt pour signaler un bit de donnée 1, et une tension de 0 Volt
pour communiquer un bit de données 0 . Plus le nombre de fils est
important, plus le nombre d’octets (1 octet = 8 bits) transférés en
intervalle de temps donné est grand. Tous les processeurs
modernes, depuis le Pentium jusqu’au dernier Core 2 Duo, et
même Core i7, disposent d’un bus de données d’une largeur de 64
bits, soit 8 octets (8 octets x 8 bits = 64 bits). Ils peuvent ainsi
transporter 64 bits de données en même temps vers ou depuis le
.chipset de la carte mère ou la mémoire système

Pour bien comprendre la manière dont les informations circulent,


nous alons prendre l’exemple le plus utilisé par les analystes, celui
de l’autoroute. Donc si une autoroute ne comprend qu’une seule
voie dans chaque sens, on peut en déduire qu’une seule voiture
pourra se déplacer à la fois dan un sens. Pour augmenter le trafic, il
est possible d’ajouter une seconde voie ce qui permettra d’avoir
deux fois plus de véhicules qui pourront circuler dans le même laps
de temps. Le processeur 8 bits peut être comparé à une autoroute
à une voie unique, puisque seul un octet peut circuler sachant que
un octet équivaut à 8 bits. Afin d’augmenter encore le trafic, on
peut décider de construire une autoroute à quatre voies dans
chaque sens. Cet exemple est le modèle type d’une architecture
correspondant à un bus de données 32 bits, capable de transférer 4
octets d’informations simultanément. Si l’on pousse un peu plus
loin notre exemple on obtiendra un bus de données de 64 bits que
.l’on peut comparer à une autoroute à huit voies dans chaque sens

On nomme ces données extrêmement importante que l’on vient


d’expliquer, la largeur du bus de données d’un processeur.
Importante, car c’est cette valeur qui conditionne aussi la taille d’un
banc de mémoire vive. Les processeurs Pentium (dont le Pentium
III, Celeron, Pentium 4, ainsi que les modèles Athlon et Duron)
lisent et écrivent 64 bits de données à la fois dans la mémoire.
Logique étant donné que les barrettes de mémoire de types SIMM
(Single Inline Memory Module, module de mémoire à rangée de
contacts unique) à 72 broches ont une largeur de 32 bits
seulement. C’est pour cette raison qu’elles pouvaient être à
l’époque installées une par une sur la plupart des ordinateurs de
type 486. Sur les ordinateurs de type Pentium, elles devaient
.impérativement être installées par paire
Ensuite sont arrivée les barrettes de mémoire DIMM (Dual Inline
Memory Modules, modules de mémoire à double rangée de
contacts) avec une largeur de 64 bits. Elles peuvent donc être
installées dorénavant une par une sur les ordinateurs à partir de la
classe Pentium III. Donc chaque barrette DIMM correspondait à un
banc de mémoire entier ce qui à l’époque a facilité grandement la
.configuration des ordinateurs

Ensuite avec une très courte durée de vie sont arrivée les nouvelles
barrettes de mémoire RIMM (Rambus Inline Memory Modules,
modules de mémoire à rangée de contacts Rambus) très onéreuse
ce qui explique son manque de succès. Cette mémoire applique des
règles de jeu bien différent et disposera en principe que d’une
largeur de 16 ou 32 bits. En fonction du type de module et du type
de mémoire, elles seront employées soit individuellement ou par
.paire

Encore très utilisé de nos jours et avec l’arrivée du Pentium 4, les


modules mémoire DIMM DDR (Double Data Rate, modules de
mémoire à double taux de transfert) vont faire table rase sur tous
les anciens modules. Son bus est comme pour les modules de
mémoire DIMM de 64 bits avec un connecteur de 184 broches à
la différence qu’elle double le taux de transfert de données en un
cycle d’horloge (les données circulent dans un même laps de temps
.(dans un front montant et un front descendant du bus système

Dernier modules de mémoire actuel, la DIMM DDR-II (Double


Data Rate Two, modules de mémoire à double taux de transfert à
débit deux fois plus élevé) qui pour différence avec la DDR de
pouvoir augmenter le taux de transfert par deux et de traiter quatre
.mot de données par cycle d’horloge

Bus d’adresses

Le bus d’adresses est l’ensemble des fils qui transportent les


informations d’adressage utilisées pour d’écrire la zone de mémoire
dans laquelle les données sont envoyées ou depuis laquelle les
données proviennent. Tout comme pour le bus de données, chaque
fil transporte un seul bit d’information. Ce bit est toujours un chiffre
unique de l’adresse. Plus il y a de fils (chiffres) utilisés pour calculer
ces adresses, plus le nombre de zones d’adresses est important. La
taille ou largeur du bus d’adresses indique la quantité de RAM
.maximale que le processeur peut adresser

Pour reprendre l’exemple de notre autoroute, si le bus d’entré/sortie


de données est représenté par l’autoroute et que sa taille
correspond au nombre de voies, le bus d’adresses correspond au
numéro de maison ou plus simplement à l’adresse dans la rue. On
peut que la taille du bus d’adresse correspond au nombre de
chiffres du numéro de la maison. Par exemple, si vous habitez une
rue où il n’y a que des adresses à deux chiffres (en informatique
binaire, base 10), il ne peut y avoir que cent adresses (00-99)
distinctes dans votre rue que l’on écrira 10 puissances 2. Si l’on
ajoute un chiffre, le nombre d’adresses passera à mille (000-999),
.soit 10 puissance 3

La taille du bus de données est une indication de la capacité de


déplacement d’informations du processeur ; La taille du bus
d’adresses indique la quantité de mémoire qui peut être gérée par
la puce. Il faut retenir que la taille des bus peut fournir de
précieuses informations concernant la puissance relative d’un
.processeur mesurée suivant deux méthodes intéressantes

(Registres internes (bus de données internes

La taille des registres internes d’un processeur est également un


bon indicateur de la quantité d’informations que celui-ci peut gérer
en un temps données et de la façon dont il déplace les données en
interne. Il est quelquefois référencé par les techniciens sous
l’appellation « bus de données interne ». La taille des registres
internes est sensiblement égale à celle du bus de données interne.
C’est quoi un registre ? Une cellule de stockage située à l’intérieur
du processeur. A titre d’exemple, le processeur peut additionner des
nombres dans deux registres différents, puis stocker le résultat
dans un troisième registre. Il faut retenir que la taille d’un registre
détermine la quantité de données que le processeur peut traiter.
Mais le plus important cette taille décrira également les types de
logiciels ou de commandes et d’instructions que le processeur peut
.exécuter

Presque tous les processeurs modernes utilisent des registres


internes de 32 bits, ils peuvent par conséquent faire fonctionner les
systèmes d’exploitation identiques et les mêmes logiciels 32 bits.
Certains processeurs comme par exemple le Core 2 Duo est
compatible pour faires fonctionner les logiciels et systèmes
d’exploitations soit en 32 bits ou 64 bits car il intègre en son cœur
les deux variantes de registres internes. Si l’on prend des
processeurs destinés aux serveurs comme par exemple l’Intel
Itanium a pour sa part des registres internes de 64 bits, ce qui
suppose qu’il ne pourra faire fonctionner que des systèmes
.d’exploitation et des logiciels en 64 bits

Les registres internes ont souvent une taille supérieure à la largeur


du bus de données, ce qui signifie que le processeur à besoin de
deux cycles d’horloges pour remplir un registre avant que celui-ci
ne soit exploitable. Par exemple les anciens processeurs comme
l’Intel 386SX et 386DX avaient tout deux des registres internes de
32 bits, mes les 386SX devaient s’y reprendre à deux fois pour les
remplir, alors que les 386DX pouvaient le faire en une seule passe
ou on dirait plutôt de nos jours en un seul cycle d’horloge. Il en
était de même lorsque les données quittaient les registres pour
.revenir dans le bus système

Les Pentium par contre reposent sur une architecture inverse. Tous
les pentiums remplacés actuellement par l’architecture Core (Core 2
Duo, Core 2 Quad), possèdent un bus données 64 bits comme on a
pu le voir plus haut, mais des registres de seulement 32 bits. Cette
structure était apparemment problématique pour Intel car le
Pentium était équipé de deux pipelines internes (sorte de tuyau ou
sont traité les données) de 32 bits (2 x 32 bits = 64 bits)
permettant de gérer le flux d’informations. On disait à l’époque que
le Pentium équivalait à deux puces 32 bits en une. Problématique
car il fallait beaucoup plus de temps pour traiter les données par
rapport à un bus de données unique de 64 bits qui assurait un
approvisionnement bien plus efficace. On dit d’un processeur qui
utilise plusieurs pipelines comme le Pentium, qu’il est d’une
.architecture superscalaire

Pour information les processeurs de sixième génération les plus


avancés, tels le Pentium III ou le Pentium 4 possèdent pas moins de
six pipelines internes pour exécuter les instructions alors que le
Core de Duo possède des pipeliens plus court, plus large avec moins
d’étages ce qui explique ses excellentes performances. Certains de
ces pipelines internes étaient aussi réservés pour des fonctions
spéciales afin de pouvoir exécuter trois instructions en un même
.cycle d’horloge

Tableau depuis 1971 à 2008 des architectures avec largeur de bus


de données

Finesse de Taille
Nombre de Fréquence
Date Nom gravure des MIPS
transistors de l'horloge
((µm données

197 bits/4 4
4004 300 2 kHz 108
1 bits bus

197 bits/8 8
8080 000 6 6 MHz 2 0,64
4 bits bus

197 bits/8 16
8088 000 29 3 MHz 5 0,33
9 bits bus

198 bits/16 16
80286 000 134 1,5 MHz 6 1
2 bits bus

198 bits/32 32
80386 000 275 1,5 à 40 MHz 16 5
5 bits bus
198 bits/32 32
80486 000 200 1 1 à 100 MHz 25 20
9 bits bus

199 bits/64 32
Pentium 000 100 3 à 0.28 0,8 à 233 MHz 60 100
3 bits bus

199 bits/64 32
Pentium II 000 500 7 à 0.25 0,35 à 450 MHz 233 300
7 bits bus

199 Pentium III bits/64 32


000 500 9 à 0.13 0,25 à 1400 MHz 450 510
9 « !!! » bits bus

200 à 0,18 bits/64 32


Pentium 4 000 000 42 à 3.8 GHz 1,3 700 1
0 0.065 bits bus

200 Pentium 4D 000 125 à 0,09 bits/64 32


à 3.6 GHz 2.66 000 9
4 « « Prescott 000 0.065 bits bus

200 Core 2™ 000 291 bits/64 64


0,065 (GHz (E6600 2,4 000 22
6 Duo 000 bits bus

200 Core 2™ 000 291*2 bits/64 64 22*2


0,065 (GHz (Q6850 3
7 Quad 000 bits bus (?) 000

Core 2™
200 000 410 bits/64 64 24~
Duo 0,045 (GHz (E8600 3,33
8 000 bits bus 200
((Penryn

Core 2™
200 000 410*2 GHz 3,2 bits/64 64 24*2~
Quad 0,045
8 000 ((QX9770 bits bus 200
((Penryn
) 0,045 GHz (Core i7 2,93
200 Intel Core i7 000 731 - (2008 940) - 3,2 GHz bits/64 64
?
8 ((Nehalem 000 ) 0,032 (Core i7 Extreme bits bus
(2009 (Edition 965

:Familles de micro-processeurs et leurs applications

Voici une liste de microprocesseurs, avec les fabricants, les ordinateurs dans
: lesquels ils ont été utilisés et leurs fréquences d'utilisation
(Intel (avant le 8088•
bits CISC 4 : 4004○
bits CISC 4 : 4040○
bits CISC 8 : 8008○
bits CISC 8 : 8080○
bits CISC 8 : 8085○
Zilog Z80 : 8 bits CISC (le processeur 8-bit le plus répandu au monde pendant•
toute sa vie, à l'origine de nombreux ordinateurs personnels dans les années
80, comme les machines Sinclair, les Amstrad CPC et PCW, les consoles de
(...jeux Sega Master System
Zilog Z8000 : famille de microprocesseurs 16 bits composée du z8001•
.((capable d'adresser 8 Mo de mémoire et le z8002 (64 Ko
.Zilog Z80000 : 32 bits•
Famille 6800 : 8 bits CISC•
6800○
présent dans les micro ordinateurs alice vendus à l'époque) 6803○
((années 80) par Matra&Hachette
présents sur les ordinateurs des années 80 commercialisé par) 6809○
Thomson et équipant les écoles en France: MO5, MO6, TO7, TO8,
(.etc
Famille 6502 (MOS Technology créé par Chuck Peddle, seconde•
source:Western Design Center) : 8 bits CISC (premier processeur bon marché
((à son lancement de l'ordre de 5 US$ contre 25 US$ pour les concurrents
processeur de l'Apple II, Vic20, Commodore 64, et plein) 6502○
(...d'autres machines, y compris à laver
6507○
6509○
6510○
8501○
(65c816 (processeur 16 bit de l'Apple IIgs et de la Super Nintendo○
Famille 68000 de Motorola•
bits CISC (processeur du premier Macintosh d'Apple, 16-32 : 68000○
des Amiga, Atari ST, des consoles de jeux Sega Megadrive et SNK
(...Neo-Geo
bits CISC 8-32 : 68008○
bits CISC 16-32 : 68010○
bits CISC 32 : 68020○
bits CISC 32 : 68030○
bits CISC 32 : 68040○
bits CISC 32 : 68060○
ColdFire : 16 bits CISC○
(DragonBall : 16 bits CISC (Palm○
Famille 88000 (Motorola) : 32 bits RISC•
88100○
Famille RISC d'Intel : 32 bits RISC•
i860 (a eu peu de succès, probablement en partie à cause de la○
(compétition interne produite par l'i960
i960 (a eu peu d'applications visibles du grand public ; mais très○
présent sur les marchés militaires et les fonctions graphiques et les
(imprimantes de haut de gamme
.Famille x86 (Intel et autres). La famille de processeur des PC•
clones fabriqués par NEC) : 16 bits CISC) 8086○
.(bits CISC (le processeur de l'IBM PC 8-16 : 8088○
bits CISC 16 : 80186○
bits CISC 8-16 : 80188○
bits CISC (16 bits de données, 20 bits d'adresse (jusqu'à 64 16 : 80286○
((.K segments de 64 Ko de taille maximum
clones fabriqués par AMD et Cyrix) : 32 bits CISC) 80386○
clones fabriqués par AMD, Cyrix, UMC et d'autres) 32 bits) 80486○
CISC
Pentium : 32 bits CISC○
Pentium MMX : 32 bits CISC○
Pentium Pro : 32 bits CISC○
Pentium II : 32 bits CISC○
Pentium III : 32 bits CISC○
Pentium 4 : 32 bits et 64 bits CISC○
Pentium D : 32 et 64 bits CISC dual core○
Pentium M : 32 bits CISC○
Celeron : 32 bits CISC○
Xeon : 32 bits et 64 bits (depuis le 28 juin 2004) CISC○
Core : 32 bits CISC○
Core 2 : 64 bits CISC○
Core i7 : 64 bits CISC○
AMD K5 : 32 bits CISC○
AMD K6 : 32 bits CISC○
Athlon : 32 bits CISC○
Duron : 32 bits CISC○
Sempron : 32 bits CISC○
Sempron 64 : 32 et 64 bits CISC○
Athlon 64 : 32 et 64 bits CISC○
Athlon 64 X2 : 32 et 64 bits CISC dual core○
Opteron : 32 et 64 bits CISC○
Turion : 32 et 64 bits CISC○
Famille Itanium (Intel) : 64 bits. Destinée, d'après Intel, à remplacer la famille•
x86 avec laquelle il est incompatible, il est pour l'instant cantonné aux
.serveurs et stations haut de gamme. Son succès semble mitigé
Itanium○
Itanium 2○
Famille Crusoe (Transmeta) : Architecture matérielle VLIW (Very long•
(”instruction word) + (moteur de “code morphing
Crusoe 128 bits○
Efficeon 256 bits○
Famille POWER (IBM) : 32 et 64 bits RISC. Utilisés dans les calculateurs,•
.stations graphiques, serveurs Unix, mainframes et mini-ordinateurs d'IBM
POWER1○
POWER2○
POWER3○
POWER4○
+POWER4○
POWER5○
+POWER5○
POWER6○
Famille PowerPC (IBM et Motorola) : 32 et 64 bits RISC. Utilisés dans les•
calculateurs, stations graphiques, serveurs Unix, mainframes et mini-
ordinateurs d'IBM, ainsi que dans les Macintosh et dans la console Nintendo
.GameCube
PowerPC 403○
PowerPC 405○
PowerPC 440○
PowerPC 601○
PowerPC 603○
PowerPC 603e○
PowerPC 604○
PowerPC 604e○
(PowerPC 620 (64 bit○
(PowerPC 750 (ou G3○
(PowerPC 7400-7450-7455 (ou G4○
(PowerPC 970 (ou G5) (64 bit○
Famille SPARC (Sun Microsystems) : 32 et 64 bits RISC. Utilisés dans les•
.calculateurs, stations graphiques et serveurs Unix de Sun
Sun Sparc : 32 bits RISC○
SuperSparc : 32 bits RISC○
MicroSparc : 32 bits RISC○
HyperSparc : 32 bits RISC○
UltraSPARC I : 64 bits RISC○
UltraSPARC IIi : 64 bits RISC○
UltraSPARC III : 64 bits RISC○
UltraSparc IV : 64 bits RISC, multiflots, dual core○
UltraSparc T1 : 64 bits RISC, multiflots, octo core○
UltraSPARC T2 : 64 bits RISC, multiflots, octo core, 64 threads○
LEON 32 bits RISC, libre sous licence GPL2,GPL3○
Famille ARM (ARM Ltd., Intel et Texas Instruments). Utilisés dans des PDA•
de différentes marques, le plus souvent fonctionnant sous PocketPC, ainsi que
.des téléphones portables et les ordinateurs RISC PC et Archimedes d'Acorn
ARM7○
(ARM9 (Comme le OMAP de Texas Instruments○
ARM10○
(ARM11 (Comme le OMAP 2 de Texas Instruments○
(StrongARM (Intel○
(XScale (Intel○
Cortex-A8 (Comme le Texas Instruments OMAP3 ou Freescale○
(i.MX515
(Cortex-A9 (Comme le Texas Instruments OMAP4○
Famille Mips (Mips, clones NEC) : 32 et 64 bits RISC utilisé dans les stations•
Unix de chez SGI (Silicon Graphics Inc.) et Nintendo
R2000 : 32 bits RISC, 12 à 33 MHz○
(R3000 : 32 bits RISC, 20 à 40 MHz (SGI PlayStation○
(R4000 : 64 bits RISC, 50 à 250 MHz (Nintendo 64○
(R4400 : 64 bits RISC, 50 à 250 MHz (Nintendo 64○
R5000 : 64 bits RISC, 150 à 200 Mhz○
R6000 : 64 bits RISC○
R8000 : 64 bits RISC, 75 à 90 MHz, CPU multi chips, premier○
superscalaire de MIPS
R10000 : 64 bits RISC, 175 à 300 Mhz○
R12000 : 64 bits RISC, 300 à 400 Mhz○
R14000 : 64 bits RISC, 500 à 800 Mhz○
R16000 : 64 bits RISC○
R20000 : 64 bits RISC○
Famille DEC Alpha (DEC, puis Compaq, puis Hewlett-Packard) : 64 bits•
RISC
Alpha 21064 : 64 bits RISC, 150 à 300 MHz○
Alpha 21164 : 64 bits RISC, 300 à 433 MHz○
Alpha 21264 : 64 bits RISC, 500 MHz à 1,25 GHz○
Alpha 21364 : 64 bits RISC, 1 à 1,3 GHz○
Famille PA (Hewlett-Packard) : 32 (série 7000) et 64 bits (série 8000) RISC•
PA 8000○
PA 8200○
PA 8500○
PA 8700○
PA 8800 dual core○
PA 8900 dual core○
Famille SuperH (Hitachi) : 32 bits RISC•
SH1○
(SH2 (console Sega Saturn○
SH3○
(SH4 (console Sega Dreamcast et Sony Playstation 2○
Famille MCore (Freescale) : 32 bits RISC•
MMC2001○
MMC2003○
MMC2107○
MMC2113○
MMC2114○

:ARCHITECTURES DES MICRO-PROCESSEURS

CISC: Complexe Instruction Set Computer

Jeu d’instructions complexe pour “aider” les compilateurs •

Nombreux modes d’adressage •

Instructions de tailles différentes •

Instructions de durées différentes •

Jusqu’en 1995 •

RISC: Reduce Instruction Set Computer

Jeu d’instructions restreint •

Permet de “pipeliner” l’exécution des instructions •

Plusieurs instructions s’exécute en même temps •

Chacune est dans une phase différente à un moment donné •

Exemple: ARM : 4 phases •

Instructions de taille unique •

/Instructions de durée unique (pas tout à fait vrai pour load •

(store
A partir du PowerPC et du Pentium •

EVOLUTION DU NOMBRE DE TRANSISTORS DANS LE MICRO-


PROCESSEUR intel

You might also like