Le processeur fête ses 40 ans : du 4004 d’Intel à l’Alpha 21064

Image 1 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 2 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 3 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 4 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 5 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 6 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 7 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 8 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 9 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.

Image 10 : Le processeur fête ses 40 ans : du 4004 d'Intel à l'Alpha 21064

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.