Mastodon
Le 1er site en français consacré à l'histoire des jeux vidéo
Les Origines de l'Emulation
Phénomène incontournable aujourd'hui, l'émulation trouve sa source à une époque reculée de l'histoire des ordinateurs. Explications.
Par Laurent (20 avril 2001)

Vous savez tous ce qu'est l'mulation, mais l'origine de cette technologie, ainsi que l'explication de ce mot l'tymologie incertaine, et mme inexacte, est floue. En effet, l'mulation reprsente systmatiquement un retour en arrire pour un ordinateur, une habile manipulation logicielle et/ou matrielle visant le transformer en l'un de ses anctres plus ou moins loigns dans le temps et dans leur architecture. Alors pourquoi parler d'mulation ? On va voir qu'une fois de plus, une technologie informatique qui nous semble si moderne va s'avrer remonter une poque bien lointaine.

De la fin de la deuxime guerre mondiale aux dbuts des annes 80, il est un fait qu'IBM (International Business Machines, compagnie fonde en 1911) a rgn sur le monde des ordinateurs. Dans les annes 50/60, des appareils tels que l'IBM 1401 font figure de rfrence absolue, mme si des compagnies comme Digital, Sperry-Rand, Burroughs ou Honeywell proposent d'autres produits qui sont parfois plus performants, mais ne peuvent se prvaloir du label "Big Blue". Conscients que cette suprmatie repose plus sur une rputation que sur les performances relles de leurs machines, les dirigeants d'IBM initient alors une tude connue aujourd'hui sous le nom de SPREAD Report, qui a pour but d'aboutir la conception d'un produit totalement nouveau, apte distancer durablement la concurrence. On vit alors une poque o les ordinateurs sont conus comme des machines totalement indpendantes les une des autres. Il n'est question ni de composants partags, ni de compatibilit. Chaque systme ncessite donc ses propres donnes logicielles, son propre hardware adapt l'usage que l'on veut en faire, et les responsables de la recherche d'IBM voient l une piste explorer.

En 1962, un rapport circule chez IBM selon lequel un "utilisateur anonyme" est parvenu modifier le hardware d'un IBM 705 afin qu'il puisse excuter des programmes crits pour IBM 1401, modle plus ancien. Ce rapport va dfinitivement indiquer aux chercheurs de la compagnie la voie suivre : la compatibilit descendante, savoir la compatibilit de tout nouveau modle IBM avec les prcdents sortis. On est l'poque o l'entreprise s'apprte lancer sa NPL (New Product Line), srie d'ordinateurs rvolutionnaires, fruit d'un considrable effort de dveloppement technologique. On connat aujourd'hui, notamment grce aux systmes d'exploitation Microsoft (tous bass, jusqu' Windows NT et 2000 sur l'invitable MS/DOS pour les rendre compatibles), les rpercussions d'une telle politique sur les ventes d'ordinateurs d'une mme marque, et la fidlisation de la clientle qu'elle permet (mme si le principe a aussi des inconvnients, voir toujours l'exemple de Microsoft et du DOS). Il n'y a ainsi plus besoin d'accompagner la sortie d'un nouvel ordinateur d'une batterie de logiciels puisqu'il peut se contenter de ceux de ses prdcesseurs en attendant de disposer d'une logithque consquente.

Fin septembre 1963, IBM confie un des ses centres de recherche situ en France La Gaude (prs de Nice), la mission de dvelopper une srie de programmes de simulation ayant pour but d'imiter le comportement de ses 7 ordinateurs les plus populaires, et d'tablir une compatibilit descendante entre eux, le tout de manire purement logicielle. Les premiers rsultats sont dcourageants. La simulation a un fonctionnement deux fois moins rapide que les ordinateurs en question, donc inutilisable dans un cadre professionnel. La compatibilit descendante ne peut donc pas simplement tre le fait d'un programme intermdiaire, elle doit faire partie intgrante du fonctionnement des ordinateurs. Pendant un an, les chercheurs d'IBM vont dvelopper les ordinateurs de la NPL dans ce sens. Un ingnieur nomm Stuart Tucker est nomm responsable de la compatibilit descendante.

L'IBM 7070

Pendant ce temps, les concurrents d'IBM ne se sont pas endormis. Honeywell sort le H-200, ordinateur capable de faire fonctionner des programmes IBM, un vnement qui met un peu plus la pression sur Big Blue. Il n'est plus seulement question de compatibilit descendante au sein d'une ligne d'ordinateurs d'un mme fabricant, mais carrment de compatibilit avec d'autres systmes, d'autres marques. John Haanstra, un autre ingnieur chez IBM peu favorable aux projets de Tucker et la NPL, propose alors une solution hardware, qui va aboutir l'IBM 1410S, une machine permettant IBM de rattraper temporairement son retard technologique sur Honeywell, mais qui ne prfigure aucune ligne d'ordinateurs tous compatibles entre eux et ouverts sur les autres systmes. L'quipe de Tucker, base Poughkeepsie, New Jersey, comprend un jeune talent trs prometteur : Larry Moss. Sa thorie est que pour qu'un ordinateur puisse tre compatible avec un autre, le hardware des deux machines doit tre le plus similaire possible tout en permettant la fois l'excution des programmes pour lesquels ils sont conus et le lancement d'un programme de simulation tel que celui sur lequel l'quipe franaise de La Gaude dj travaill. Il se lance donc dans l'tude d'une solution de compatibilit mixant les approches matrielle et logicielle qui ont oppos Tucker et Haanstra. Il parvient mettre au point une extension pour les ordinateurs NPL les rendant capable d'excuter des programmes prvus pour IBM 7070, le plus sophistiqu des ordinateurs IBM d'alors (en passe bien sr d'tre surpass par les produits de la NPL).

Les travaux de Moss aboutissent un fonctionnement parfait de ces programmes, ne trahissant aucune perte de performances. Il dcide, pour montrer la supriorit de son projet sur la "simulation" dveloppe La Gaude, de lui confrer l'appellation d'"mulation", dformation du mot initial qui introduit l'ide d'amlioration, de progrs, et l'excitation qui va avec. Tucker approuve le projet, qui aboutit le 7 avril 1964 la sortie de la famille d'ordinateurs IBM System/360 et de l'mulateur Moss, connu aussi sous le nom de 7070 Emulator, dont Joe Brown et Larry Moss sont les pres. L'appareil va connatre un franc succs, les possesseurs de System/360 tant ravis de continuer utiliser leurs anciens programmes pour 7070, et sa commercialisation durera jusqu'au dbut des annes 70.

L'IBM System/360

La suite de l'histoire n'est qu'une longue srie de projets d'mulateurs utilisant ou non des extensions matrielles et rendant potentiellement compatibles des machines plus ou moins diffrentes les unes des autres. Aujourd'hui, le terme a retrouv son sens premier, puisque c'est une vritable course que se livrent les petits gnies de la programmation et du dcorticage lectronique (retro-engineering). De nouveaux mulateurs sortent chaque mois, et certaines machines font l'objet d'une multitude de projets d'mulation dont le fonctionnement tend vers la perfection, assurant la prnit du patrimoine logiciel des ordinateurs (ou consoles de jeux), et ce bien au del de la vie commerciale de leur systme d'origine. Il peut aussi arriver que les spcialistes, un peu trop presss, se tournent vers des ordinateurs, jeux d'arcades ou consoles qui sont encore sur le march. L'mulation pose dans ce cas d'pineuses questions d'thique et de lgalit, surtout si les logiciels ne peuvent lus sur leur support d'origine et ncessitent d'tre dbarrasss de leurs protections contre la copie. Mais si certains utilisateurs de l'mulation recherchent effectivement un moyen de s'affranchir de l'achat de certains logiciels, les dveloppeurs d'mulateurs sont, eux, avant tout motivs par la passion, le plaisir de venir bout des difficults rencontres et l'ide de prservation d'un patrimoine.

Laurent
(20 avril 2001)