Tom's Hardware : le processeur fête ses 40 ans ! [Vous devez être inscrit et connecté pour voir cette image]Zoom
Il y a quarante ans naissait le microprocesseur. C’est le 15 novembre
1971 qu’Intel communique pour la première fois sur son 4004, l’ancêtre
des actuels Core iX. A l’occasion de cet anniversaire, Tom’s Hardware
revient sur 40 ans d’histoire du microprocesseur en listant les
innovations qui ont marqué le développement de cette puce à tout faire.Le processeur fête ses 40 ans[Vous devez être inscrit et connecté pour voir cette image]1971 : le 4004 Il y a 40 ans, le 15 novembre 1971,
Intel faisait pour la première fois de la publicité
pour le premier microprocesseur de l'histoire, le 4004. C'est
officiellement la date de son lancement, même si a priori
Intel le
produisait (et le vendait) déjà depuis quelques mois.
Gravé
en 10 000 nm (10 µm), le 4004 était cadencé à 740 kHz et était composé
de 2 300 transistors. Ce processeur 4 bits disposait d'un bus d'adresses
sur 12 bits, soit une capacité mémoire maximale de 4 ko. Au niveau des
performances, il exécutait une instruction en 8 à 16 cycles. Enfin, le jeu d'instructions contenait 46 instructions différentes.
Si
le 4004 est le premier microprocesseur (toutes les parties du
processeur étant intégrées dans la même puce), ce n'est pas le dernier.
Dans ce dossier, nous allons vous présenter quelques puces qui ont été
les premières dans leurs architectures respectives.
[Vous devez être inscrit et connecté pour voir cette image]Le 6502 1975, le microprocesseur est devenu « courant ». Une société américaine,
MOS Technology, propose un processeur 8 bits qui a l'énorme avantage d'être
beaucoup moins onéreux que les puces de ses concurrents, comme Motorola
ou Intel. Le 6502, c'est son nom, a eu un énorme succès à l'époque.
Au
départ, il y avait le 6501 : une puce compatible avec les cartes mère
pour les processeurs 6800 de Motorola, mais suite à un procès, le
brochage a été modifié pour créer le 6502. La puce était vendue 25 $
(l'équivalent de 100 $ en 2011), ce qui était très faible. Le processeur
8 bits offrait un bus d'adressage mémoire sur 16 bits (64 ko de mémoire
au maximum) et fonctionnait entre 1 et 2 MHz. Gravé en 16 µm (16 000
nm), il était composé de 3 510 transistors.
Le 6502 a eu
beaucoup de succès, il a notamment été utilisé dans l'Apple II, dans
l'Oric 1, le Commodore PET et — dans une version modifiée — dans la NES
de Nintendo. Plus amusant, c'est de l'assembleur pour 6502 qui apparaît
dans l'oeil du Terminator dans le premier film et le robot Bender de
Futurama est aussi basé sur un processeur 6502.
[Vous devez être inscrit et connecté pour voir cette image]Le Z80 Dans les processeurs 8 bits, un modèle est devenu mythique : le Z80 de Zylog.
8 bits, ce processeur gérait la mémoire sur 16 bits (64 ko de mémoire
au maximum). Les premières versions atteignaient 2,5 MHz, mais les
évolutions ont permis de dépasser 8 MHz. Des versions plus récentes
atteignent même 20 MHz, avec des procédés de gravure plus récents.
Dans
les appareils qui utilisaient le Z80, notons l'Amstrad CPC 464, le ZX81
— en kit — et plusieurs consoles de jeu, dont le Game Boy. En plus
d'être le processeur central de plusieurs consoles (Master System et
Game gear), il a souvent été réutilisé comme coprocesseur dans certains
appareils, ce qui permettait une rétrocompatibilité directe. Le Game Boy
Advance ou la Megadrive de Sega utilisent par exemple cet artifice.
[Vous devez être inscrit et connecté pour voir cette image]Le 8086 Peut-être le processeur le plus important de ce dossier :
le 8086. Sorti en 1976,
c'est en effet le premier processeur « x86 » : le jeu d'instructions de
cette puce sera adapté, amélioré, modifié (en gardant la compatibilité)
pendant des années pour arriver aux puces actuelles de nos PC.
Techniquement, un programme écrit pour le 8086 il y a 35 ans devrait
fonctionner sur le dernier Core i7 3960X.
Le 8086 est un
processeur 16 bits haut de gamme doté d'un bus qui adresse la mémoire
sur 20 bits (1 Mo au total, 640 ko disponibles sous DOS) et d'un bus
externe sur 16 bits pour les périphériques. Il est composé de 29 000
transistors et la version originale a été gravée en 3 200 nm (3,2 µm).
Au niveau fréquence, Intel a atteint 10 MHz sur les dernières versions
de la puce, mais les implémentations classiques atteignaient 5 MHz
environ. Ce processeur peut se voir adjoindre un coprocesseur x87 (une
FPU) qui est — paradoxalement — composé de plus de transistors, environ
45 000.
Terminons par un point : si le 8086 a fondé la
ligne de processeurs utilisée dans les PC, ce n'est pas le processeur
utilisé dans le premier PC. En effet, IBM avait préféré le 8088 à
l'époque. Le 8088 est un 8086 en interne (16 bits, adressage mémoire sur
20 bits) mais se limite à un bus 8 bits en externe, pour limiter les
coûts sur les cartes d'extensions.
[Vous devez être inscrit et connecté pour voir cette image]Le 68000 de Motorola Un autre processeur très connu est le 68000 de Motorola. Cette puce très
utilisée a été à la base d'une longue lignée de puces. Le 68000 est un
hybride 16/32 bits : 32 bits en interne, son ALU (l'unité de calcul en
entier) travaille en 16 bits. Le bus externe est lui aussi en 16 bits et
le bus d'adressage pour la mémoire travaille dans la pratique sur 24
bits (16 Mo de mémoire).
Gravée en 3 500 nm à sa sortie, la
puce atteignait 8 MHz à son lancement. Des versions améliorées et des
changements de finesse de gravure ont permis de dépasser cette fréquence
et les variantes « DragonBall » destinées à l'embarqué (comme les Palm)
ont atteint 66 MHz. Le 68000 tire son nom (officieusement) du fait
qu'il est composé de 68 000 transistors environ
Dans les
faits, le 68000 (et ses évolutions) a été utilisé par Apple dans les Mac
pendant environ 10 ans, mais aussi dans les Amiga, la Neo Geo, la
Megadrive et même les Palm Pilot.
[Vous devez être inscrit et connecté pour voir cette image]L'ARM2 Dans les années 80, une société anglaise — Acorn — avait besoin d'un
processeur pour ses ordinateurs. Elle a donc développé le premier
processeur ARM (Acorn Risc Machine). Le premier processeur produit
commercialement en architecture est l'ARM2, une puce 32 bits. Il y a
bien eu un ARM1, mais c'était un simple prototype.
L'ARM2
utilise le jeu d'instructions ARMv2, comme l'ARM3. C'est un processeur
32 bits très simple, qui utilise seulement 30 000 transistors, beaucoup
moins qu'un processeur comme le 68000 de Motorola par exemple (qui est
composé de 68 000 transistors). Le processeur pouvait adresser la
mémoire sur 26 bits, avec en pratique une limitation à 24 bits dans les
applications (16 Mo de RAM). Sa simplicité et l'absence de mémoire cache
lui permettaient de consommer très peu, une particularité qui est
restée dans les processeurs suivants.
L'ARM2 a été utilisé
dans les machines de la BBC et dans les ordinateurs d'Acorn dans les
années 80. Il a aussi été utilisé dans une carte d'extension pour PC,
couplé à une carte ISA intégrant le processeur ARM utilisé pour les
calculs. La puissance était assez faible : l'ARM2 fonctionnait à 8 MHz
avec seulement 0,33 DMIPS par MHz, alors que des puces récentes comme le
Cortex A8 atteignent 2 DMIPS par MHz.
[Vous devez être inscrit et connecté pour voir cette image]Le R4000, premier 64 bits En 1991, un des premiers processeurs 64 bits est annoncé, le
R4000 de
MIPS.
Il utilise le jeu d'instructions MIPS III et peut gérer réellement 64
Go de mémoire physique. En effet, le bus d'adressage travaille sur 36
bits au niveau physique, même s'il est possible d'atteindre 1 To (40
bits) avec de la mémoire virtuelle.
Le R4000 était gravé en
800 nm et était composé de 1,35 million de transistors. Un cache de
niveau 1 de 16 ko (2x 8 ko) était présent, ainsi qu'un cache externe de 1
Mo. La puce atteignait 100 MHz avec une consommation moyenne de 15 W.
Si
le R4000 a notamment été utilisé pour quelques stations de travail sous
Windows NT, il est surtout à la base des stations Indigo de Silicon
Graphics. De plus, c'est une évolution du R4000, le R4300, qui est
utilisé dans la Nintendo 64.
[Vous devez être inscrit et connecté pour voir cette image]Le PowerPC 601 C'est dans les années '90 que le premier processeur PowerPC, issu de
l'alliance AIM (Apple IBM Motorola) sort. Le PowerPC 601 a été utilisé
dans certaines machines IBM (RS/6000) mais aussi dans des ordinateurs
d'Apple au milieu des années '90.
Gravé en 600 nm, ce
processeur 32 bits était composé de 2,8 millions de transistors. Le 601 a
été produit par Motorola et IBM dans différentes versions et la version
originale atteignait au maximum 80 MHz, sur un bus 60x. Le bus en
question a été utilisé très longtemps : les G4 des années 2000 étaient
encore interfacés sur ce bus. Le cache de niveau était optionnel sur le
601 et le processeur pouvait être couplé à un second CPU.
Si
les PowerPC ne sont plus utilisés que de façon marginale dans
l'informatique personnelle depuis qu'Apple est passé aux x86 en 2006,
ils restent très utilisés dans d'autres domaines. Les consoles actuelles
(Xbox 360, Wii, PlayStation 3) et à venir (Wii U) sont basées sur des
PowerPC et Freescale produit encore des modèles adaptés au monde
industriel. De plus, le « cousin » des PowerPC, le Power, est encore
très courant dans les superordinateurs.
[Vous devez être inscrit et connecté pour voir cette image]L'Alpha 21064 Terminons par le premier processeur d'une architecture disparue trop tôt :
l'Alpha 21064. Ce processeur, connu aussi sous le nom d'EV4, est un des
premiers processeurs 64 bits. Gravé en 750 nm (nous sommes en 1992), ce
processeur RISC haut de gamme a atteint 200 MHz dans sa version de base
(la version A en 500 nm a atteint 300 MHz).
Le processeur
est très performant : superscalaire, il est in-order. Il peut exécuter
deux instructions par cycle et est 64 bits. Pour la mémoire, le
processeur peut gérer 16 Go de mémoire physique et 8 To de mémoire
virtuelle, ce qui est impressionnant pour une puce de cet âge (1992).
Pour la mémoire cache, on retrouve un cache de niveau 1 de 16 ko (2x 8
ko) et un cache de niveau de 2 d'une capacité de 128 ko au minimum et 16
Mo au maximum. Le FSB est cadencé à la moitié de la fréquence du
processeur, donc à 100 MHz au maximum. Pour la consommation, l'EV4
atteignait 30 W à 200 MHz.
Avec 1,68 million de
transistors, c'était une puce onéreuse et dédiée à des marchés très
particuliers. Les systèmes supportés étaient OpenVMS, Tru64 Unix et
Windows NT, à une époque où ce dernier était réservé au monde
professionnel. Actuellement, beaucoup de systèmes fonctionnent sur les
puces Alpha, comme Linux ou certains BSD.
Notons enfin que
l'aventure Alpha a commencé en 1992 et qu'elle s'est terminée en 2004 :
la date de sortie de l'EV7z alias 21364, dernier processeur en
architecture Alpha.
[Vous devez être inscrit et connecté pour voir cette image]Pour aller plus loin... Pour rappel, nous avons publié des dossiers sur les processeurs x86 que l'on retrouve dans nos ordinateurs.
Le premier traite des puces
Intel, du 8086 aux derniers Core i7.
Le second parle des puces du concurrent d
'Intel,
AMD.
On y parle des premiers 8086 sous licence avant de passer au K6 et autres Phenom.Le troisième est dédié aux puces des différents fondeurs qui ont proposé (et proposent encore) des puces x86,
d'IBM à Via en passant par Nexgen.Source : tomsguide.fr