URL:     https://linuxfr.org/news/aux-origines-du-premier-gpu-une-bande-de-copains-de-l-ens
Title:   Aux origines du premier GPU, une bande de copains de l'ENS
Authors: Collectif
         bobble bubble, Rouz365, pulkomandy, Benoît Sibaud, orfenor, Ontologia, BAud, Samuel, Arkem et Christophe "CHiPs" PETIT
Date:    2026-04-22T19:24:04+02:00
License: CC By-SA
Tags:    électronique, gpu, histoire_de_l_informatique et france
Score:   10


Les travaux d'étudiants de la promotion 1973 de l’École Normale Supérieure ([Normale Sup](https://fr.wikipedia.org/wiki/%C3%89cole_normale_sup%C3%A9rieure_(Paris))) sont à l'origine de la production, dès 1977, d'une famille de circuits intégrés ([CI](https://fr.wikipedia.org/wiki/Circuit_int%C3%A9gr%C3%A9)) dédiés à l'affichage sur écran (à l'époque, [cathodique](https://fr.wikipedia.org/wiki/Tube_cathodique) ).

Cette dépêche est consacrée à l'un d'entre eux, l'**EF9365** (ou le "365" pour les intimes), qui est stricto sensu **le premier [GPU](https://fr.wikipedia.org/wiki/Processeur_graphique)** (excusez-du peu !) et nous verrons pourquoi.

![l'EF9365](https://i.imgur.com/cw2RIne.jpg)


|  |Le circuit intégré [Thomson-Efcis EF9365](http://seminaire.photo.ens.free.fr/archives/2001/matherat/matherat.html)|  |
|---|---|---|
|  | Contrôleur de visualisation graphique,1980|  |

Les rédacteurs de cette dépêche collaborative remercient :

* [Philippe Matherat](https://matherat.eu/), le concepteur de ce composant ! Il a eu la gentillesse de se prêter au jeu en répondant à nos questions et en apportant de nombreuses précisions et anecdotes –**les citations dans la dépêche sont intégralement de sa main**–&nbsp;;
* [PulkoMandy](https://pulkomandy.tk/), pour son [journal](https://linuxfr.org/users/pulkomandy/journaux/la-these-de-jean-gastinel-conception-et-integration-d-un-terminal-alphanumerique-1977) d’archéologie informatique sur la thèse de Jean Gastinel. Sans ce journal, cette dépêche n'aurait jamais vu le jour&nbsp;;
* [Jean-François DEL NERO](https://hxc2001.pages-perso.free.fr/), développeur de l’[émulation du 365 dans Mame](https://github.com/mamedev/mame/blob/master/src/devices/video/ef9365.cpp), pour les échanges et les apports techniques&nbsp;;
* l'équipe de rédaction du magazine [Sciences et Avenir](https://www.sciencesetavenir.fr/), pour l'autorisation de publier des extraits de l'article "le Silicon labo de la rue d'Ulm", n° 455 (Janvier 1985).

Sources :

----

[Le journal de PulkoMandy sur la thèse de Jean Gastinel](https://linuxfr.org/users/pulkomandy/journaux/la-these-de-jean-gastinel-conception-et-integration-d-un-terminal-alphanumerique-1977)
[La thèse de 3è cycle de Philippe Matherat, 19 mai 1978](https://theses.hal.science/tel-00177458v1/file/PM-these-3cyc.pdf)
[une démonstration du 365, sur un ordinateur de 1984](https://www.youtube.com/watch?v=cp6OLa2aaII&)
[Les spécifications techniques](https://matherat.eu/publications/spec-365.pdf)
[Présentation "A chip for low-cost raster-scan graphic display" au SIGGRAPH78 d'Atlanta](https://dl.acm.org/doi/10.1145/965139.807387)

----

Généalogie des puces EFxxxx
===========================
Un [GPU](https://fr.wikipedia.org/wiki/Processeur_graphique) est un composant informatique (une puce dédiée dans les cartes graphiques des PC ou intégrée au processeur central ([CPU](https://fr.wikipedia.org/wiki/Processeur)) de votre téléphone ([soc](https://www.wonderfulpcb.com/fr/blog/what-is-a-system-on-a-chip-soc/))) initialement dédiée à l'affichage d'images.

D'abord limité à l'[affichage 2D](https://fr.wikipedia.org/wiki/Graphisme_2D), il a rapidement pris le relais du CPU pour gérer les calculs parallèles de la [3D](https://fr.wikipedia.org/wiki/Infographie_tridimensionnelle). Aujourd'hui, cette puissance brute sert autant au traitement vidéo qu'à des domaines bien éloignés des pixels, comme le minage de cryptomonnaies ou l'IA.

Cette bascule technologique a récemment propulsé nVidia, le principal acteur du marché, au sommet de l'économie mondiale.

Pourtant, bien avant cette folie financière et les géants américains ou asiatiques, c'est en France qu'est née cette architecture moderne. 


Cette dépêche vous propose de découvrir l'histoire du 365, le premier GPU sur puce unique.

La génèse
---------


![Extraits de l'article](https://i.imgur.com/lR6aKQl.jpeg)


|  |Extraits de l'article "le Silicon labo de la rue d'Ulm" de Dominique COMMIOT|  |
|---|---|---|
|  | © [Sciences et Avenir](https://www.sciencesetavenir.fr/)  n° 455 (Janvier 1985)|  |
|  | À gauche, Jean GASTINEL devant le bâtiment historique de l'ENS. |  |
|  | À droite, Philippe MATHERAT et un extrait de l'article.|  |

Philippe Matherat avait résumé ainsi le contexte de cette épopée dans [l'article de PulkoMandy](https://linuxfr.org/redirect/117727)&nbsp;: 

> Nous étions une bande de copains, élèves de l’Ecole Normale Supérieure, de la promotion 1973.
>
> L’informatique était balbutiante, les ordinateurs étaient gigantesques (un bâtiment), très rares et très chers. Personne n’envisageait qu’ils puissent être répandus et bon marché.
>Les seuls écrans connus étaient ceux de la télévision. Les terminaux informatiques étaient des machines à écrire mécaniques actionnées par des relais électromécaniques. Ces terminaux étaient reliés à des gros ordinateurs distants, par une ligne téléphonique dédiée.
> La fréquence d'horloge des ordinateurs les plus puissants était 12 MHz.
>
> Jean Gastinel était le seul de notre promotion qui connaissait un peu ce qui se passait aux Etats-Unis, grâce à son père&nbsp;: Noël Gastinel, qui était professeur à Grenoble et qui avait fait des voyages dans les universités américaines et chez IBM. Il avait fait équiper l’université de Grenoble d’un ordinateur [IBM 360/68](https://fr.wikipedia.org/wiki/IBM_360_et_370).
> Jean Gastinel, avec Jean-Marc Frailong et Jean-Luc Richier, ont réalisé un ordinateur 12 bits, à base de circuits MSI de Texas-Instruments, dans les années 1973-1975. 
> 
> Puis Jean-Gastinel s’est lancé dans la conception du circuit d’affichage alpha-numérique, qui a été commercialisé sous le nom de SFF364 puis EF9364 (le changement de nom correspond au changement de nom de la société Sescosem en EFCIS). Cette conception a fait l’objet de sa thèse de 3è cycle.

Depuis cet article, P. Matherat a détaillé :

>Quand je suis entré à l’ENS en 1973, il n’y avait pas de labo d’informatique, ni d’électronique. Les disciplines (en sciences) étaient les disciplines classiques de l’université : mathématique, physique, chimie, biologie, etc. Les chercheurs et les élèves avaient accès à un "Centre de calcul", dirigé par Maurice Vallino, qui consistait en un terminal (lecteur de cartes perforée et imprimante) connecté à un ordinateur Univac de l’université d’Orsay par une ligne à 1.200 bits/s, puis plus tard équipé d’un mini-ordinateur CII Mitra 15. Nous avons eu des cours de programmation Fortran par Jacques Arsac. Nous avions aussi accès à une formation en électronique (analogique), dans un local du labo de physique, fait par F. Lenouvel.
>
>Quand Jean Gastinel a souhaité réaliser un ordinateur, associé à J-M Frailong et J-L Richier, ils sont allés à Jussieu, à l’institut de programmation, où il y avait une équipe qui réalisait des montages électroniques, dirigée par Gérard Noguez. Puis, ils ont souhaité continuer à l’ENS, et M. Vallino leur a cédé une petite pièce annexe du Centre de calcul, ainsi qu’un petit budget annuel de 10.000 F. C’est dans cette pièce que Jean a réalisé la maquette du 364, puis j’ai continué là avec la maquette du 365.
>
> Ce que nous appelions "maquette" était le câblage d'une émulation de la future puce à l'aide de circuits MSI existants (des centaines), afin de pouvoir tester en temps réel la conception logique. Il n'existait aucun outil de CAO. Tout était câblé à la main, sans simulation préalable, et notre principal outil était l'oscilloscope pour vérifier les signaux. Avec des fréquences de l'ordre de quelques MHz, il nous fallait un oscilloscope haut de gamme.

Une question de mémoire
-----------------------


Sans la capacité d'Intel à produire en masse des puces [DRAM](https://www.lenovo.com/fr/fr/glossary/what-is-dram/) de plus en plus denses, le 365 n'aurait jamais pu exister :

> À la suite du 364, j’ai pensé qu’on pouvait faire du graphique : j'ai commencé cette étude en 1976, à l'occasion de mon DEA d'informatique. Il faut bien voir que ceci n’est devenu possible que grâce aux nouvelles mémoires de 4 Kbits, car un affichage 512 x 512 à 1 bit/pixel nécessite 64 boîtiers mémoires de 4 Kbits. En fait cela ne devient raisonnable qu’avec 16 boîtiers de 16 Kbits (soit 32 K octets). Il n’était donc pas possible de faire un GPU avant ces années-là. Mon mérite a été d’avoir le flair de voir qu’une période nouvelle pouvait s’ouvrir, et que les écrans graphiques pouvaient se démocratiser.
>
> Mais utiliser 32 K octets rien que pour l'écran paraissait délirant, à une époque où la mémoire "centrale" utilisée par le CPU pour son programme et ses données ne dépassait pas 4 ou 8 K octets. Quand à vouloir faire de la couleur avec 3 bits par pixel, là j'étais vraiment pris pour un fou. Songez qu'un adressage sur 16 bits (cas des microprocesseurs de l'époque) ne permet pas de dépasser 64 K (= 2^16 ).

![Dates de sortie des DRAM Intel](https://i.imgur.com/lrgmqFP.png)

|  | Le marché aux puces des seventies |  |
|---|---|---|
|  | Naissance et évolution des composants [DRAM](https://fr.wikipedia.org/wiki/M%C3%A9moire_vive_dynamique)|  |

Notez bien que, à l'époque, la capacité de ces mémoires s'exprime en bits (non pas en octets), et par un simple « K » : ce k majuscule vaut 1 024 bits (le [kibibit](https://fr.wikipedia.org/wiki/Pr%C3%A9fixe_binaire) actuel) et non 1 000. Pour résumer et par exemple, il faut traduire 16K par 2 kio.

Pourquoi cette augmentation de la capacité de la RAM à cette époque ?
---------------------------------------------------------------------

Les circuits de RAM nécessitent un très grand nombre de transistors, mais sont très répétitifs : ils coûtent donc relativement peu cher à concevoir, mais demandent une chaîne de production de semi-conducteurs de très bonne qualité. Les fabricants de semi-conducteurs Japonais sont ceux qui vont [le mieux maîtriser ce type de produit](https://www.nytimes.com/1982/02/28/business/japan-s-big-lead-in-memory-chips.html), fournissant des composants de plus en plus grande capacité à des prix écrasant la concurrence américaine. Intel ne s'en remettra qu'avec de grosses difficultés. Un autre fondeur de RAM américain, Mostek, n'y survivra pas et sera revendu à Thomson-CSF, qui rentabilisera largement son investissement en exploitant les brevets ainsi rachetés.

Le plastique, c'est fantastique
------------------------------

En creusant le sujet de ces premières mémoires vives, on comprend qu'il y a eu une autre évolution importante : le choix du matériau pour le [boîtier](https://fr.wikipedia.org/wiki/Bo%C3%AEtier_de_circuit_int%C3%A9gr%C3%A9).

Les boîtiers des premiers CI (dont la référence est préfixée par "C" ou "D") étaient en céramique : c'était coûteux mais dans les début des années 70 seul ce matériau répondait aux besoins de dissipation thermique et d'étanchéité.
Au départ, les fabricants avaient du mal à stabiliser le plastique, car l'humidité finissait par s'infiltrer par [capillarité](https://fr.wikipedia.org/wiki/Cheveux_longs_et_id%C3%A9es_courtes) le long des [pattes](https://fr.wikipedia.org/wiki/Pantalon_%C3%A0_pattes_d%27%C3%A9l%C3%A9phant) en métal, provoquant la corrosion de la puce.
Pour protéger la puce, il lui a été ajouté une couche (au nitrure de silicium), dite "de passivation", qui permet le contact avec le plastique.
Plus tard dans la décennie (à partir des puces 16K soit vers 1977), la transition vers le plastique s'opère massivement, leur référence est alors préfixée par "P".
Le moulage plastique a permis de produire des puces à la chaîne à un prix dérisoire par rapport au processus artisanal du boîtier céramique multicouche.

La production
-------------

### L'histoire industrielle du [fondeur](https://fr.wikipedia.org/wiki/Fonderie_(%C3%A9lectronique))

- **1969** : Création de Sescosem (Société Européenne de Semiconducteurs et de Microélectronique), filiale de Thomson-CSF.  &nbsp;  
Selon [Wikipedia](https://fr.wikipedia.org/wiki/Thomson-CSF) :  Thomson-CSF est le résultat de la fusion réalisée en 1968, du groupe électronique Thomson (filiale de Thomson-Brandt) et de la Compagnie générale de télégraphie sans fil (CSF). Leurs filiales dédiées aux circuits intégrés, respectivement SESCO et COSEM, sont donc fusionnées pour devenir SESCOSEM.
- **1976** : Sescosem devient EFCIS (Étude et Fabrication de Circuits Intégrés Spéciaux). C'est à ce moment précis que la référence change : le SFF364 devient l'EF9364.
- 1983 : Thomson-CSF réorganise ses activités. EFCIS est intégrée au sein de la branche Thomson Semiconducteurs. C'est l'époque de la grande offensive sur le marché grand public avec le Minitel et les ordinateurs (Alice, VG5000) utilisant les dérivés comme l'EF9345.
- **1987** : Thomson Semiconducteurs fusionne avec la branche composants de l'italien SGS (Société Générale Semiconduttori). Naissance de SGS-Thomson Microelectronics.
- **1998** : SGS-Thomson est renommé STMicroelectronics (ST), [le nom que nous connaissons aujourd'hui](https://fr.wikipedia.org/wiki/STMicroelectronics) : une multinationale franco-italienne de droit néerlandais.


![Fabrication de transistors à la COSEM](https://aconit.inria.fr/omeka/archive/files/258f3d38d0e72708ab380c6490195eb6.jpg)


|  |Fabrication de circuits à la COSEM |  |
|---|---|---|
|  |source https://aconit.inria.fr/omeka/items/show/681 E. Gillet, Les transistors, ces magiciens.  |  |
|  |Gamma Presse, 1964. Crédits photo : René Bouillot. |  |

### Dates de production

> Chronologiquement, Sescosem ou EFCIS ne faisaient pas de tels chips pour écrans avant que les élèves de l’ENS lui en apportent :
>
>- En premier, Jean Gastinel a conçu le circuit alphanumérique EF9364, de 16 lignes de 64 caractères, qui est sorti vers 1977.
>- Ensuite, j’ai conçu le premier chip graphique EF9365, de 512x512 pixels, qui est sorti vers 1980, avec sa variante EF9366 (balayage non-entrelacé).
>- Le circuit 9367 est une variante du 9365, avec des performances augmentées.
>- Les circuits du genre 9345 sont postérieurs au 9365, ils utilisent les éléments de base des circuits précédents, et ont été demandés par les concepteurs du minitel, qui sont donc des copies, variantes, des circuits conçus par les élèves de l’ENS.

![Généalogie des puces EFxxxx](https://i.imgur.com/KYi1WSY.png)

|  |Chronologie de mise sur le marché |  |
|---|---|---|
| |des puces EF9xxx et quelques consœurs  | |

La petite famille
=================

L'EF9364, le précurseur
-----------------------

L'année dernière, PulkoMandy a [exhumé](https://linuxfr.org/users/pulkomandy/journaux/la-these-de-jean-gastinel-conception-et-integration-d-un-terminal-alphanumerique-1977) la thèse de Jean Gastinel "**Conception et intégration d'un terminal alphanumérique**", qui pose avant l'heure les bases du Minitel et qui est aussi à l'origine de l'aîné de la famille : l'EF9364 est un contrôleur vidéo purement alphanumérique (affichage de 16 lignes de 64 caractères).

Cette thèse est une véritable pépite pour les férus d’archéologie informatique, on y trouve notamment tous les détails sur la réalisation du CI :

![Ajout d'un masque](https://i.imgur.com/Plj5B6P.png)


| [fig 1.10](https://pulkomandy.tk/gastinel77/part1.html) - Dessin final des cinq masques superposés - Chapitre 1 |  fig 4.2 Montage des "puces", [Chapitre III](https://pulkomandy.tk/gastinel77/part3.html) "Intégration du circuit "VISU" de la thèse |
|---|---|

Ce composant est prévu pour réaliser un terminal passif, sans microcontrôleur. Avant son arrivée, toute la logique vidéo des terminaux était implémentée par de la logique discrète: une centaine de puces électroniques étaient nécessaires. Les autres composants d'un terminal, comme le modem et le contrôleur de clavier, bénéficiaient déjà de solutions intégrées. Ce composant rend donc possible la construction d'un terminal à très bas coût avec quelques dizaines de composants.

Il implémente tout de même des fonctionnalités de défilement de l'affichage, de déplacement du curseur, et d'effacement partiel (tout l'écran visible, la ligne courante, depuis le curseur jusqu'à la fin de la ligne). Ces fonctionnalités sont similaires à ce qui se fait sur les terminaux de l'époque ([VT52](https://fr.wikipedia.org/wiki/VT52) chez DEC, [ADM-3A](https://en.wikipedia.org/wiki/ADM-3A), ...). Cependant, les générations suivantes de terminaux à partir du VT100 choisiront plutôt d'utiliser un microprocesseur.

La génération des caractères proprement dit est effectuée par un composant séparé appelé générateur de caractères. Il s'agit dans le cas le plus simple d'une ROM programmée avec une police bitmap de taille fixe.

Pour les nostalgiques du rendu d'affichage alphanumérique (le seul proposé par cette puce) sur un écran de l'époque, vous pouvez essayer [cool-retro-term](https://www.both.org/?p=4442) (lien qui devrait être sponsorisé par le [SNOF](https://snof.org/))

![capture cool-retro-term](https://i.imgur.com/vqFuwcP.gif 'Capture de cool-retro-term') 


|  | Simulation d'affichage sur tube cathodique |  |
|---|---|---|
|  | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;par cool retro term, à la EF9364| |
|  | (alphanumérique, 64 colonnes x 16 lignes) |  

L'EF9365
--------
Second de la famille, c'est l'objet de notre dépêche : voir la section suivante qui lui est dédiée.
Nous passons souvent sous silence le EF9366, qui est très proche du 365, mais les 2 sorties sont vraiment concomitantes.
> En fait, les 9365 et 9366 sont sortis en même temps, c’est moi qui avais fait la modification qui supprime l’entrelacement (pour le 9366), car le premier client (Secapa), qui avait travaillé sur la maquette de simulation du 365, ne supportait pas le clignotement de l’affichage 512x512. Pour moi, l’intérêt était d’avoir une résolution élevée, et je conseillais d’utiliser un CRT avec des phosphores plus rémanents. Mais les CRT les moins chers (TV) avaient des phosphores rapides.

Nous passons aussi sous silence le EF9367, sorti plus tard, proche du 365 mais supportant des résolutions supérieures.

Le NEC µPD7220 : le cousin Japonais
----------------------------------

Ce composant n'est pas compatible avec la série EF9365. Cependant, il a un fonctionnement assez similaire. Commercialisé en décembre 1981, il a été développé à partir de 1979, et probablement inspiré par la présentation du travail sur le 365 au SIGGRAPH en 1978.

En plus des lignes, rectanges et textes, il peut tracer des cercles, arc de cercles et autres courbes. Il est également prévu pour s'interfacer avec un contrôleur DMA, ce qui facilite l'échange de données avec le CPU de contrôle.

Le design de NEC a également été produit par Intel, qui continuera à faire évoluer cette famille de composants. C'est donc un ancêtre des GPU Intel toujours en production aujourd'hui.


L'EF9340 et 9341
----------------

Ces deux composants sont au cœur des premiers modèles de Minitel, il s'agit d'une adaptation "low cost" et d'un retour au mode alphanumérique. Ils sont conçus en 1980-1981.

Les premiers prototypes du Minitel utilisent des circuits de chez TI (que l'on retrouvera également dans l'ordinateur Exelvision EXL100). Mais les modèles de production se tournent vers une solution "made in France". Thomson EFCIS se charge de la conception de ces circuits qui sont fournis à Alcatel pour la fabrication du Minitel.


[Réponse à appel d'offre du Minitel mentionnant les circuits VIN et GEN](https://www.minitel-alcatel.fr/documents/VB_1982/Terminal%20annuaire%20electronique%20-%20dossier%20technique%2011-81.pdf) : la visualisation est confiée à deux circuits spécialisés VIN et GEN, chargés des signaux de base de temps et de la synthèse des caractères.

Ils sont associés à un microprocesseur, faisant du Minitel un terminal "intelligent" capable de réaliser certaines fonctions en autonomie, sans avoir besoin de communiquer chaque appui de touche du clavier au serveur central.


Ils ajoutent également un mode "semi-graphique" : il ne permet pas d'afficher des pixels, mais propose des 'briques', de 2x3 éléments, pré-dessinées dans la ROM du processeur.
On économise ainsi drastiquement la RAM qui coûtait, déjà, cher... 
Le prix unitaire d'une RAM Intel 2107 (de 4K, soit 512 octets) était, à sa sortie en 1974, de 50 $  => avec l'inflation cumulée et la conversion, cela représente environ 295€ de 2026.

![Exemple de [caractères semi-graphiques](https://en.wikipedia.org/wiki/Thomson_EF9345)](https://i.imgur.com/zZWsXnO.png)


| |Exemple de caractères semi-graphiques| |
|---|---|---|
| |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autorisés par L'EF9345| |
| |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Page 84 du [Databook Thomson](https://www.bitsavers.org/components/stMicroelectronics/_dataBooks/Graphic_Processors_Data_Book_Mar89.pdf#page=84).| |

En plus du Minitel, ces composants seront également utilisés par Philips dans les consoles Videopac Plus, ce qui sera la première étape dans la conception du VG5000 dont on reparle au chapitre suivant.

L'EF9345, la cheap chip
------------------------


Le composant EF9345 regroupe dans une seule puce les fonctionnalités du générateur de caractères et du contrôleur de timing vidéo (GEN et VIN, qui étaient auparavant deux composants séparés). 
Cette [photo zoomable](https://siliconprawn.org/map/thomson/ef9345p/marmontel_mz_cfp10x-mrgb/) du cœur de silicium du composant (die shot) montre bien cet assemblage.
Cela a permis de réduire le coût de production du Minitel et a également été utilisé dans quelques micro-ordinateurs personnels : l’Alice chez Matra ou le VG5000 chez Philips.

![Captures de US Rallye](https://i.imgur.com/8mzPTEf.jpg)



|  |Captures de [US Rallye](https://www.youtube.com/watch?v=zeFUFGDSFhY), le Gran Turismo de 1984 |  |
|---|---|---|
|  |  |  |

Ici, la puce ne sait pas ce qu'est un pixel : elle manipule une grille de caractères (25 lignes de 40 ou 80 colonnes). 

Pour afficher une lettre ou un bloc de couleur (le fameux mode mosaïque), le processeur principal envoie juste un code d'un octet en RAM. C'est une ROM interne à la puce d'affichage qui se charge ensuite de traduire cet octet en points lumineux à l'écran.


C’était une astuce pour économiser la mémoire, mais **impossible de tracer une ligne fine ou de faire bouger un élément au pixel près** : on est condamnés à déplacer des blocs rigides sur une grille fixe. Au mieux, certains caractères peuvent être redéfinis, pour afficher un logo ou une image simple.


La suite pour ST
----------------


Pour ST Microelectronics, l'histoire des composants graphiques continue encore quelques années après la commercialisation de la série EF936x. Bien que les composants graphiques n'ont pas eu le volume de production de la version alphanumérique (surtout portée par le Minitel), ils ont trouvé une utilisation dans l'informatique scientifique et les appareils de mesure nécessitant la visualisation de données : spectromètres, analyseurs de spectre, ainsi que des réalisations spécifiques (cartes graphiques en kit Elektor pour machines CP/M à bus S-100).


L'offre sera complétée par l'EF9369, un circuit permettant de gérer une palette de 16 couleurs parmi 4096. Ce circuit est conçu au départ pour le micro-ordinateur Thomson TO9, mais finit par rejoindre le catalogue public de EFCIS puis de SGS-Thomson.

En parallèle, SESCOSEM avait [signé un contrat avec Motorola](https://www.cpushack.com/2017/05/14/sescosem-and-the-french-6800/) lui permettant de produire en France des composants conçus par Motorola (permettant de rassurer les acheteurs qu'il s'agissait de productions locales). SGS-Thomson se retrouve donc à produire à la fois la famille 93xx mais aussi le [EF6845](https://www.cpcwiki.eu/imgs/a/a2/EF6845P.pdf), le contrôleur d'écran de la famille 68xx de Motorola. Ce contrat devait comprendre toutes les futures puces de la famille 68xx conçues par Motorola, mais cela finira mal, puisque Motorola [refusera de fournir les masques nécessaires à la production du processeur 68020](https://www.techmonitor.ai/technology/thomson_sues_motorola_for_525m_over_68020_masks?cf-view).

En fonction des demandes de clients, de nouveaux composants sont réalisés avec des adaptations simples (changement de timings vidéo pour afficher plus de pixels) ou plus poussés. C'est le cas de la famille TS68483 (surnommé AGAC, Advanced Graphic and Alphanumeric Controller) disponible en 1987.

Il s'agit d'une version améliorée du 9365 avec:


* une interface 16 bits avec le processeur, adapté à l'utilisation avec un 68000 par exemple.
* Des fonctions supplémentaires : tracé de courbes, cercles, remplissage de zones...
* Meilleure intégration : il n'y a plus besoin d'un séquenceur et de registres à décalage externes.
* Configuration logicielle de la résolution d'écran vidéo

Ce composant trouve également une utilisation dans des systèmes militaires, pour lesquels il existe une version "durcie", plus résistante (gamme de températures acceptables par exemple).

Plus tard (en 1995-1997), c'est également ST qui fabrique les premières puces conçues par nVidia: [NV1 STG2000](https://en.wikipedia.org/wiki/NV1) puis [RIVA 128](https://dosdays.co.uk/topics/Manufacturers/nvidia/nvidia_riva128.php). Pour la première, le principe est similaire à ce qui avait été fait pour le EF9365 : ST assure la production et la commercialisation en son nom propre (on trouve donc des datasheets ne mentionnant pas du tout nVidia). Pour la seconde génération, ST ne se charge que de la fabrication, les datasheets (et les puces elle-mêmes) font apparaître les logos des deux entreprises. Malheureusement pour ST, ce partenariat n'ira pas plus loin, et les puces nVidia des générations suivantes seront produites exclusivement par TSMC.

![ST la suite](https://i.imgur.com/qoA5CiG.png)

| STG2000 (ST)| |RIVA 128 (ST)| | RIVA TNT (TSMC)|
|---|---|---|---|---|
| logo de ST seul| | deux logos côte à côte  | |logo nVidia seul |

Le génie de l'EF9365
====================

Un vrai framebuffer
--------------
Ce composant ne se limite plus à une RAM de stockage des caractères, il dispose d'une RAM de pixels **dédiée** (le [framebuffer](https://fr.wikipedia.org/wiki/Framebuffer)) qu'il gère de manière autonome.

> De ce point de vue c’est vraiment le premier chip qu’on peut qualifier de "graphique", car les autres étaient appelés "alphanumériques" ou "alpha-mosaïques".
>
>La grosse différence entre les deux est que "graphique" suppose de pouvoir accéder à un pixel particulier, alors que les autres n’accèdent qu’à un "caractère", les pixels d’un caractère étant définis secondairement par une ROM.
>
>Autrement dit, la RAM d’un chip graphique est une RAM de pixels (beaucoup plus grosse, par exemple 512x512), alors que dans le cas alpha-xxx c’est une RAM de caractères (16x80 par exemple).
> 
> Il faut bien voir que cette chronologie est liée à la sortie des puces mémoires de Intel : Les puces de 4 K bits ne sont apparues que vers 1974. Avant, il était impossible de faire du vrai "graphique". Il aurait été trop compliqué de stocker chaque point de l’image individuellement : en télévision, le signal vidéo était analogique, et les magnétoscopes à bande magnétique enregistraient le signal video analogique.

L'idée de stocker une image matricielle (point par point) dans une mémoire vive pour l'afficher à l'écran n'était pas nouvelle (par exemple: [Evans & Sutherland Shaded Picture System](https://en.wikipedia.org/wiki/Shaded_Picture_System) qui faisait déjà du rendu 3D en 1973, premiers "frame buffers" [dès 1969 chez Bell Labs](https://en.wikipedia.org/wiki/Framebuffer), mais ce sont des solutions complexes et coûteuses). On peut également mentionner le CDP1861 de chez RCA: il s'agit d'un framebuffer mais avec une résolution de seulement 64x128 pixels (et encore, il est parfois exploité en 32x64 pixels pour économiser de la mémoire). L'EF9365 marque une rupture historique : c'est le premier processeur graphique commercialisé de manière monolithique (**sur une seule puce**) conçu pour piloter un framebuffer géométrique de manière autonome. Il gère non seulement le framebuffer et l'affichage à l'écran, mais aussi des fonctions de tracé de lignes et de caractères. C'est donc le premier processeur graphique à proposer une forme d'**accélération matérielle** sur un système à framebuffer.

L'actualisation de l'image à l'écran utilise seulement 57 % du temps (64 cycles sur 112 cycles de l'horloge externe continue).
Le temps restant est libre pour l'écriture et la mise à jour de l'image : il est possible d'écrire un point par cycle libre, ce qui donne un temps moyen de 1,3 µs par point. Dans les cas où il y a beaucoup d'informations à afficher d'un coup, il est également possible de désactiver l'affichage pendant la préparation de l'image puis de le réactiver ensuite. Malheureusement, cela ne se prête pas trop à la réalisation d'animations complexes.


La décharge du CPU pour certaines tâches
---------------------------------------- 


C'est ce qui définit ce composant comme le premier GPU de l'histoire : son auteur lui a câblé des registres pour prendre en charge des **fonctionnalités qui déchargent le CPU** (processeur central) sur des opérations graphiques !

[Exemples de programmes en langage MPL](https://www.retronik.fr/DOCUMENTS/Composants/THOMSON-EFCIS/1982_THOMSON-EFCIS_Programming_the_EF9365-EF9366_using_MPL.pdf) qui montrent la simplicité d'utilisation

### Le tracé de lignes
Le CPU peut par exemple demander à l'EF9365 de dessiner un trait d'un point A à un point B et revenir aussitôt à sa tâche. L'EF9365 prend alors le relais de manière totalement autonome. Il calcule les coordonnées intermédiaires en interne et écrit directement les pixels en RAM, à une vitesse folle pour l’époque : jusqu'à un million et demi de points par seconde, traçant une diagonale complète en moins de 700 microsecondes.

![Tracer une ligne](https://i.imgur.com/fu0IjZZ.png)


|  |[L’algorithme de tracé de segment de Bresenham](https://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_de_segment_de_Bresenham)|  |
|---|---|---|
|  |[Présentation SIGGRAPH'78](https://dl.acm.org/doi/epdf/10.1145/965139.807387), page 5|  |

### Traitements hardware sur les caractères


#### Redimensionnement matériel (jusqu'à 16x)

Auparavant, pour doubler la taille d'une police ou d'un motif, on demandait au processeur principal de recalculer tous les points. L'EF9365, lui, gère cela en toute autonomie via deux registres internes dédiés aux facteurs d'échelle : CZX (Zoom en X) et CZY (Zoom en Y).

Le processeur graphique possède un compteur de pas pour dessiner le caractère pixel par pixel à partir de sa ROM interne.
Quand le zoom est activé (par exemple à 4×), au lieu d'incrémenter l'adresse de destination dans le framebuffer à chaque pixel lu, l'EF9365 va répéter la même valeur de pixel sur la ligne 4 fois de suite en horizontal avant de passer au pixel suivant. Pour la verticale, il va répéter la même ligne complète du caractère 4 fois de suite dans la mémoire d'écran.

L'avantage : comme les zooms X et Y sont indépendants, on peut appliquer un zoom 2× en largeur et 4× en hauteur. Cela permettait de faire instantanément des effets de texte étiré, condensé ou géant sans aucun calcul pour le CPU.

#### L'effet Italique

L'inclinaison n'est pas stockée dans une ROM ; elle est calculée « à la volée » lors de l'écriture dans la RAM de pixels.
Pour incliner un bloc de pixels, il faut appliquer un décalage horizontal progressif à mesure que l'on monte en hauteur.
À chaque fois que le générateur passe à la ligne supérieure (Y+1) pour dessiner le caractère, il ajoute automatiquement un offset fixe (un décalage d'un pixel) sur l'axe horizontal (X).

Le caractère est littéralement « cisaillé » géométriquement pendant qu'il est écrit dans le framebuffer. On obtient un effet italique parfait et fluide, directement câblé dans le silicium.


> La seule inclinaison possible est 45 degrés (voir [la notice](https://matherat.eu/publications/spec-365.pdf) page 21).
> C’est beaucoup plus simple ainsi à réaliser en hardware. Je m’étais posé la question de faire tous les angles, mais j’avais abandonné.

### Autres fonctionnalités

L'EF9365 marque d'autres évolutions technologiques novatrices...

Il intègre notamment un mécanisme de masquage d'écriture par plan. 
En verrouillant certains plans de la RAM, il pouvait dessiner ou effacer des éléments au pixel près sans jamais altérer le fond de l'image, jetant les bases de la gestion matérielle des calques. 

Il propose un module de pointillés gérés au pixel individuel (une aubaine pour la CAO industrielle).

Son interface de bus universelle est capable de dialoguer nativement aussi bien avec un Z80 qu'un Motorola 6809.


### et... concrètement ? 

Jean-François Del Nero a produit [une démonstration](https://youtu.be/cp6OLa2aaII?t=180) des capacités de rendu du 365 sur le [Squale](https://www.gamopat.com/article-le-squale-l-ordinateur-qui-s-est-casse-les-dents-96905827.html), un micro-ordinateur de 1984 qui exploitait ce composant.
Ci-après quelques extraits, très saccadés (export gif oblige), presque fidèles (cherchez l'intrus !) :

![[Une démo du 365 ](https://i.imgur.com/7RXP1ze.gif)](https://i.imgur.com/7RXP1ze.gif)


En plus de son travail de conservation du Squale, avec l'association [MO5.com](https://mo5.com/) (qui tient [un musée permanent du jeu vidéo](https://museedujeuvideo.org/fr) à Arcueil), Jean-François Del Nero a aussi contribué à son émulation dans le projet [Mame](https://fr.wikipedia.org/wiki/MAME), et a notamment écrit le driver du 365. 
Nous avons pu reprendre le [code source de sa démo](https://github.com/jfdelnero/Apollo_7_Squale), la modifier, la recompiler, et simuler le rendu du 365 grâce à Mame. Avis aux développeurs fullstack en manque d'exotisme: ici, pas de conteneurs Docker ni de dépendances npm !

### Est-ce vraiment le premier GPU ?

Nous avons retenu les quatre critères suivants pour distinguer le 365 des premiers contrôleurs d'affichage sur une seule puce, comme le Motorola 6845 ou l'Atari Antic, qui gèrent la synchronisation du flux vidéo et le rafraîchissement de l'écran, sans intervenir dans le dessin des formes.
Le processeur 365 :

1. est une puce unique (LSI/VLSI) : ce n'est pas une carte remplie de circuits TTL discrets comme sur les gros systèmes vectoriels des années 70 (Evans & Sutherland, Imlac) ;
1. déleste le CPU de tâches coûteuses en ressources : le CPU n'écrit pas les pixels un par un en VRAM. Il envoie une commande de haut niveau au 365 telle que : « trace une ligne de (X1,Y1) à (X2,Y2) », et repasse à autre chose ;
1. dispose d'un moteur d'exécution algorithmique dédié, hardware (en silicium) : il embarque en dur l'algorithme de tracé/moteur de rendu (rasterizer) ;
1. gère en toute indépendance la mémoire vidéo (Framebuffer/VRAM) : le 365 contrôle l'accès, le rafraîchissement et la modification de la VRAM de façon indépendante.


Et le libre dans tout ça ?
======================

Quittons la technique pour nous intéresser à un autre aspect des travaux de l'équipe : la diffusion de ses travaux.

> Vous pourriez être étonnés qu’un circuit produit par un industriel puisse être public, dans ses moindres détails. Je dois vous raconter une anecdote :
> 
> Notre petit groupe d’élèves de l’Ecole Normale Supérieure considérait que ses productions, financées par les pouvoirs publics, devaient profiter à tout le monde. Mais cela posait un problème à l’industriel (Thomson-CSF qui avait pour filiale la société Thomson-EFCIS), qui voulait protéger son produit par des brevets. Il a été convenu que Thomson-CSF déposerait des brevets au plus tard la veille de ma soutenance de thèse. Ainsi, les brevets pouvaient être valides car ne portaient pas sur un design public.
> 
> Ma thèse a été soutenue le 19 mai 1978, et les brevets avaient été déposés le 18 mai ([US4286264](https://patents.google.com/patent/US4286264), [US4297694](https://patents.google.com/patent/US4297694), [US4311998](https://patents.google.com/patent/US4311998), [US4266253](https://patents.google.com/patent/US4266253)).
> Ils décrivent aussi **en détails** le fonctionnement du circuit, mais dans le langage juridique spécifique des brevets.

En août de la même année, l'architecture du 365 est présentée lors de la conférence [SIGGRAPH 78](https://dl.acm.org/doi/proceedings/10.1145/800248). La liste d'articles soumis à cette conférence permet de se faire une idée des évolutions en cours dans le monde des graphismes générés par ordinateur à l'époque. On y trouve la description d'autres systèmes matériels et logiciels, des algorithmes en 2D ("How to color in a coloring book", un algorithme de remplissage de zones délimitées par des traits) et en 3D, des discussions sur les choix d'espaces de couleurs, ainsi que des exemples de mises en application (par exemple pour les simulateurs de vol de la navette spatiale américaine).


> Ensuite, EFCIS a beaucoup utilisé le dessin des masques du 365 pour sa communication car c’était le seul design qui était public.
> Nous n’étions pas dans l’état d’esprit de créer une start-up autour de nos designs, dans le but de gagner de l'argent. Nous nous imaginions qu’il était possible de concevoir des circuits dans un contexte académique, en étant juste payés par nos salaires, puis de les céder à un industriel pour la suite. C’était une erreur car ça ne pouvait pas fonctionner, principalement parce que l’industriel a besoin de définir sa stratégie de ligne de produits avec ses arguments marketing.
Le contrat passé entre EFCIS et l’Ecole Normale Supérieure a servi à rémunérer l’ENS, qui s’en est servi pour créer le premier labo d’Informatique de l’ENS (le LIE), et je n’ai rien reçu personnellement. Je considérais que j’avais été payé par mon salaire d’élève de l’ENS.
> 
>Dans les années 1970, nous avions l’idée naïve que les innovations techniques entraînaient des innovations sociales au sens d’une amélioration des conditions de vie pour tous, à l’image de la bagnole qui s’était démocratisée et qui était synonyme de libération. Nous ne faisions pas de grande différence entre acteurs publics et acteurs privés, et nous avions l’impression que tout était publié, ne serait-ce que par les brevets, qui ne faisaient que protéger ceux qui avaient davantage investi. En revanche, nous étions sensibles à la question de la propriété industrielle, et nous pensions que ce qui avait été développé par des fonctionnaires était la propriété de l’état (ce qui d’ailleurs est la loi), et que les universitaires ne pouvaient que publier sans restrictions. (En tant qu'élèves de l’ENS, nous étions fonctionnaires et universitaires.)...

Le 365 a-t-il fait un flop ?
===========================
Clairement non, car l'EF9365 ne mesure pas ses performances en [FLOPS](https://fr.wikipedia.org/wiki/FLOPS) (Floating-point Operations Per Second) : il ne manipule aucune virgule flottante (ni même de calculs en nombres réels).
Blague d'informaticien mise à part, le 365 a certes ouvert la voie à une longue lignée de composants, qui domine aujourd'hui l'actualité de la tech, mais il n'a pas eu le succès commercial de ses descendants, et l'expérience de la rue d'Ulm a tourné court.

En France et à l'époque, il était difficile de faire dialoguer recherche, industrie et financement public.


>...Mais nous n’avions pas compris les particularités de ce secteur. D’une part, les usines qui fabriquent des circuits intégrés coûtent extrêmement cher. D’autre part ce secteur était appelé à un développement exponentiel, non anticipé : la plupart des hauts responsables de l’époque pensaient que les ordinateurs seraient achetés par 100 entreprises, voire 1000, mais ne concerneraient pas le grand public. Ensuite, le coût des développements logiciels devenait lui aussi très élevé. À l’époque les plus gros logiciels n’étaient pas très complexes. Et on n’avait pas compris la relation étroite entre les logiciels et les architectures matérielles. On n’avait pas compris non plus que de prendre un monopole sur un OS était un enjeu stratégique.
>
>Toutes ces contraintes (et d’autres que j’oublie), que nous n’avions pas comprises, faisaient que nous pensions naïvement que nous pouvions faire un développement dans notre coin, sans nous occuper du marché, mais uniquement de la performance technique, et le publier, puis dans un second temps le proposer à un industriel qui aurait les moyens de le commercialiser. L’idée sous-jacente étant que si le design était performant alors il y aurait forcément un industriel pour le vendre. C’était une grande ignorance des contraintes industrielles et des questions de marketing.

Le cœur du problème ne résidait pas dans un manque de compétences (le génie des étudiants de l'ENS en est la preuve) mais dans l'incapacité des grands capitaines d'industrie français (notamment chez Thomson) à anticiper la révolution de l'ordinateur personnel et du logiciel. Confortés dans leur monopole, ils ont ignoré le virage que les États-Unis et le Japon prenaient à pleine vitesse :

>Je pense maintenant que dans le contexte des années 1970-80 en France, il n’y avait pas vraiment de possibilité pour aller plus loin. Les deux milieux, universitaires et industriels, ne se parlaient vraiment pas. Personne en France, ni chez les gouvernants, ni chez les universitaires, ni chez les industriels, ne voyaient ce qui se préparait. Nous, à 20-25 ans, nous comprenions le retard technologique de la France, ne serait-ce qu'en lisant les docs des puces que nous achetions, mais il était nié par les plus hauts responsables. Les dirigeants de Thomson disaient : "Quand il y aura vraiment un marché pour ça, nous serons en mesure de produire".

En 1984, lors d'un voyage aux États-Unis et d'une visite au mythique Xerox PARC, le chercheur français découvre un autre monde. Un monde où l'innovation de rupture n'est pas confinée aux laboratoires, mais propulsée par le capital-risque, les pépinières d'entreprises et une compréhension systémique du couple matériel/logiciel :


>
>À un moment, au début des années 80, nous parlions avec Gastinel de monter notre boîte. Mais nous étions incompétents pour ça, nous n’avions aucune conscience des difficultés, il n’y avait pas du tout l’esprit "start-up", le capital-risque n’existait pas, les pépinières d’entreprises n’existaient pas, nous n’avions aucune connaissance de la façon dont les boîtes pouvaient se créer et croître aux USAs, nous n’avons appris ce contexte que beaucoup plus tard.
>
>Je suis allé aux USAs en 1984 pour la conférence Siggraph (à Minneapolis) et à cette occasion après je suis passé à Xerox-Parc où j’avais un ami français (Louis Monier, plus tard créateur de [Altavista chez DEC](https://fr.wikipedia.org/wiki/AltaVista)). J’y ai découvert un monde insoupçonné chez nous, avec toutes leurs innovations depuis 20 ans, et j’ai rapporté leurs publications. Pourtant cela était connu (mais pas par nous), c’était à la base du Lisa et du Macintosh de Apple, sorti cette année-là. À Parc, j’y ai rencontré Franck Crow, un anglais, un grand nom du graphique (connu en particulier pour l’anti-aliasing) qui m’a félicité pour le 365, je n’en revenais pas. J’ai compris après qu’il avait été un reviewer pour mon article de 1978, avec un avis très favorable. En 1984, il avait connaissance du minitel, sorti peu avant, et m’a dit : "Nous aux USAs, nous n’avons pas été capables de faire ça". Il faut dire que c’était avant qu’Internet se répande, avec des possibilités infiniment supérieures. Internet existait depuis plusieurs années chez Xerox, mais ne pouvait pas se répandre dans le grand public avant l’existence des ordinateurs individuels.

Les pouvoirs publics français se sont parfois immiscés dans ces choix industriels : citons la nationalisation de Thomson-CSF en 1982 et le [plan "Informatique pour tous"](https://fr.wikipedia.org/wiki/Plan_informatique_pour_tous) en 1985 (un investissement énorme, estimé à 1,8 milliard de francs, soit 600 millions d'euros rapportés à aujourd'hui). Pourtant, la [théorie du ruissellement](https://fr.wikipedia.org/wiki/Th%C3%A9orie_du_ruissellement) n'a pas très bien fonctionné alors avec les labos de recherche ou les pépites industrielles en devenir : en témoignent le départ d'une grande partie de la bande de copains vers les US ou l'échec du Squale, dont la production [s'est limitée à quelques centaines d'unités](https://www.acbm.com/inedits/squale-apollo-7-2.html).
La capitalisation boursière de STMicroelectronics (ex-SGS-Thomson) est, en 2026, 70 fois inférieure à celle de nVidia.

>En fait je crois que en France, à cette époque, les choses ne pouvaient venir que d’en haut : le nucléaire, le concorde, le minitel. Le minitel a été réalisé par des gens du corps des mines et du corps des télécom (comme son nom l’indique). les choses ne pouvaient venir que des grands corps de l’état.
>Notre activité, initiée par Jean Gastinel, était plutôt folle par sa liberté, et transgessive. Le climat à l’ENS, peu après 1968 où cette école avait été au cœur des événements, était très libre, nous avions vraiment la possibilité de faire n’importe quoi, sans contrôle. Jean avait entendu parler par son père de ce qui se passait aux USAs. Et ce qui se passait en Silicon-valley aussi était fait dans un cadre très libre lié à la contre-culture des hippies (mais ça, nous ne le savions pas).
>
>Une anecdote : au début des années 80, nous avons développé un réseau local Ethernet (alors sur câble co-axial de gros diamètre), pour relier nos Thémis réalisées en 10 exemplaires. Et nous avons eu besoin de passer sous la rue d’Ulm pour connecter le laboratoire de biologie. C’était interdit par le monopole des télécoms. En outre, le protocole de transfert par paquets était refusé car concurrent du protocole des P&T. Il nous a fallu enfreindre la loi pour passer un câble en douce.
>Tout ça a basculé peu de temps après, après l’explosion de l’usage des ordinateurs individuels et de leurs applications.
>
>Pour être tout-à-fait honnête, et rendre à César..., je dois mentionner que notre équipe a été reconnue par le CNRS en 1982, où nous avons obtenu des postes et des crédits pour continuer. Il y a eu une croissance jusqu'à 10 personnes en 1985, mais la plupart des membres de l'équipe sont partis chez Xerox en 1986.
>
Avec le recul je dirais : on peut faire de grandes choses quand on est très peu nombreux, ça devient plus difficile lorsqu'il faut gérer la croissance...

Le hasard du calendrier a voulu que la publication de cette dépêche coïncide avec un anniversaire : il y a 50 ans débutait l'étude du 365, avec le DEA de P. Matherat :) 
Pour celles et ceux qui s’intéresseraient à ses publications ou à la suite de ses travaux, c'est consultable [ici](https://matherat.eu/).
