Panthéon des puces : Microprocesseur Intel 4004
Le premier processeur sur puce était un projet de crash à la petite semaine
L’Intel 4004 était le premier microprocesseur au monde – une unité centrale polyvalente complète sur une seule puce. Sorti en mars 1971, et utilisant la technologie de pointe de la porte en silicium, le 4004 a marqué le début de l’ascension d’Intel vers la domination mondiale de l’industrie des processeurs. Vous pourriez donc imaginer que toutes les ressources d’Intel – encore une jeune entreprise à l’époque – ont été consacrées à ce projet révolutionnaire. Mais en fait, le 4004 était un projet secondaire en sous-effectif, un travail en catastrophe qui a failli s’écraser, un projet simplement destiné à récolter un peu d’argent pendant qu’Intel développait sa véritable ligne de produits, les puces à mémoire.
Comme le décrit Ken Shirriff dans un article de juillet 2016 pour IEEE Spectrum, l’augmentation du nombre de transistors et de la complexité des circuits intégrés dans les années 1960 signifiait qu’en 1970, de multiples organisations étaient à chaud sur la voie du microprocesseur. Certaines d’entre elles, comme Texas Instruments, disposaient de beaucoup plus de ressources qu’Intel. Alors pourquoi Intel, fondée quelques années plus tôt, en 1968, a-t-elle franchi la ligne d’arrivée en premier ? C’est en grande partie grâce à quatre ingénieurs, dont l’un ne travaillait même pas pour l’entreprise. (Pour une version longue de cette histoire de la part des ingénieurs eux-mêmes, vous pouvez lire leur panel d’histoire orale, tel que capturé par le Computer History Museum).
Le premier des quatre ingénieurs est Masatoshi Shima, qui travaillait pour la société japonaise de calculatrices de bureau Busicom, qui voulait créer une nouvelle calculatrice informatisée. En avril 1969, Busicom et Intel ont signé un accord provisoire pour qu’Intel développe un ensemble personnalisé de puces pour la calculatrice. Par conséquent, en juin 1969, Shima et d’autres personnes se sont rendues chez Intel pour discuter des plans plus en détail. Shima proposa un système à huit puces : trois puces pour l’interface avec les périphériques tels que le clavier et l’imprimante, une puce pour stocker les données, une puce pour stocker le code du programme et deux puces qui, ensemble, constitueraient l’unité centrale.
Ted Hoff est le deuxième ingénieur de notre récit et était le chef du département des applications d’Intel qui négociait avec Busicom. Hoff craignait qu’Intel ait du mal à produire autant de puces, notamment parce que le système nécessiterait de nombreuses broches par puce pour l’interconnexion, ce qui repousserait les limites de la technologie de conditionnement en céramique qu’Intel utilisait. Il a proposé de diviser le nombre de puces par deux : une puce de mémoire de programme de 256 octets, appelée 4001, une puce de mémoire de données de 40 octets, la 4002, une puce d’interface périphérique, la 4003, et une puce d’unité centrale, la 4004. L’ensemble du système, appelé MCS-4, serait à 4 bits, ce qui réduirait considérablement le nombre de broches nécessaires pour interconnecter les puces. Hoff fait appel à l’ingénieur n°3, Stanley Mazor d’Intel. Ensemble, Hoff et Mazor ont établi un ensemble de spécifications pour chaque puce et une proposition de calendrier de production.
Lors d’une réunion de suivi en octobre 1969, Intel a fait sa contre-proposition. Busicom était intéressé et Shima est retourné au Japon pour prototyper un logiciel pour la nouvelle calculatrice afin de s’assurer que l’architecture MCS-4 répondrait aux besoins de Busicom. Un accord a été conclu en février 1970, Busicom planifiant le déploiement de sa calculatrice sur la base du calendrier de Hoff et Mazor. Il a été décidé que Shima reviendrait en Californie pour vérifier l’avancement des travaux en avril 1970. Les puces devaient être mises en production selon un calendrier échelonné de juillet à octobre 1970, en commençant par le 4001 et en terminant par le 4004.
Cependant, à l’insu de Shima et de Busicom, le projet 4004 s’était arrêté à l’intérieur d’Intel au début de 1970. Le problème était que Hoff et Mazor n’étaient pas des concepteurs de puces – ces personnes qui peuvent prendre des spécifications et créer des diagrammes détaillés de portes logiques. Ces diagrammes, à leur tour, sont utilisés pour déterminer exactement comment et où les transistors et autres composants doivent être disposés sur la puce physique.
En fait, il n’y avait personne chez Intel qui pouvait assumer cette tâche, car l’entreprise se concentrait alors sur le développement de puces mémoire. Finalement, Intel a fait l’une des grandes embauches de tous les temps et a présenté la quatrième personne critique de cette histoire : Frederico Faggin, un jeune ingénieur particulièrement adapté au poste. Au début de sa carrière, Faggin avait conçu et construit un ordinateur de toutes pièces pour Olivetti, en Italie. Puis, à la fin des années 1960, il a rejoint Fairchild Semiconductor, dans la Silicon Valley, où il a apporté des contributions essentielles à la technologie avancée des semi-conducteurs à oxyde métallique (MOS) sur laquelle reposaient les puces d’Intel. Faggin souhaitait travailler dans un environnement plus entrepreneurial que Fairchild, et a donc accepté une offre d’Intel en avril 1970.
Le premier jour de travail de Faggin, Mazor l’a informé du projet Busicom. Comme Faggin l’a écrit dans son récit personnel du développement du 4004 pour le numéro d’hiver 2009 du magazine IEEE Solid-State Circuits, lorsqu’il a vu le programme : « Ma mâchoire s’est décrochée : J’avais moins de six mois pour concevoir quatre puces, dont l’une, le CPU, était à la limite du possible. »
Les calendriers initiaux étaient basés sur des estimations adaptées à la conception de puces mémoire – qui utilisent de nombreux éléments répétitifs – plutôt que de puces processeurs, qui utilisent des circuits logiques complexes et variés. En outre, Faggin n’avait pas de personnel de soutien et aucun des outils et infrastructures dont disposaient les autres entreprises pour aider à créer et à tester les conceptions de logique numérique.
Quelques jours après le démarrage de Faggin, Shima a atterri aux États-Unis pour son contrôle d’avancement. Mazor et Faggin sont allés le chercher à l’aéroport pour le ramener chez Intel. Shima s’attendait à voir un plan de niveau logique pour les puces qu’il pourrait vérifier par rapport aux spécifications convenues. « Shima était furieux quand il a découvert qu’aucun travail n’avait été fait au cours des cinq mois et il s’est mis très en colère contre moi….. Il a fallu près d’une semaine à Shima pour se calmer », écrit Faggin.
Faggin a élaboré un nouveau calendrier, et il a été convenu que pendant qu’Intel entreprenait d’embaucher d’autres personnes pour le projet, Shima resterait six mois pour aider à la conception. Faggin lui-même se plongea dans des semaines de travail de 70 à 80 heures.
Faggin travailla sur les puces par ordre de complexité : la ROM 4001, suivie de la puce d’interface 4003, puis de la RAM 4002, suivie enfin de l’unité centrale 4004. Shima vérifiait la logique des puces et fournissait des commentaires sur la façon dont elles s’intégreraient dans la conception plus large de la calculatrice de Busicom. A la fin de 1970, la conception de la puce était terminée. Faggin ajoute une touche personnelle à la disposition de l’unité centrale : Il a placé ses initiales sur le bord du processeur, un « F.F. » microscopique gravé sur chaque 4004 fabriqué. Busicom disposait enfin d’un ensemble fonctionnel complet de puces MCS-4 en mars 1971.
Comme Busicom avait commandé le chipset, il avait des droits exclusifs sur le design, empêchant Intel de vendre le 4004 à quiconque. Mais après quelques incitations de Hoff et d’autres personnes sur le potentiel du processeur, Intel a proposé à Busicom de faire une pause sur le coût des puces si Intel pouvait vendre la famille 4000 pour des applications autres que les calculateurs. Busicom a accepté, et Intel a commencé à faire de la publicité pour le 4004 en novembre 1971 : « Annonçant une nouvelle ère de l’électronique intégrée », hurlait la copie publicitaire – un rare cas de vérité absolue dans la publicité.