Aventures arctiques avec un Data General Nova II — L’équipement

Alors que j’entrais dans l’immense baie vitrée qui devait être mon bureau à temps partiel pendant les deux prochaines années, j’ai été accueilli par toutes sortes d’équipements abandonnés dispersés au hasard dans la pièce. Comme je l’ai appris plus tard, cet endroit servait de cimetière pour d’anciens projets de recherche, mis de côté pour être ensuite vidé en partie ou complètement oublié. C’était mon premier jour de travail en tant qu’étudiant coopératif à la Georgia Tech Engineering Experiment Station (EES, rebaptisée depuis GTRI). L’ingénieur qui m’a fait la visite d’orientation ce jour-là m’a montré un rack électronique poussiéreux dans un coin de la pièce. Steve a dit que mon travail serait de redonner vie à ce vieux mini-ordinateur. Une fois en marche, je le ferais fonctionner selon les directives des chercheurs en radar et des scientifiques de notre groupe. Ainsi commença un voyage qui aboutit à une aventure arctique deux ans plus tard.

L’équipement

L’ordinateur en question était un mini-ordinateur Data General (DG). DG a été fondée par d’anciens employés de Digital Equipment Corporation (DEC) dans les années 1960. Ils ont introduit l’ordinateur Nova 16 bits en 1969 pour concurrencer le PDP-8 de DEC. J’étais bouche bée devant un système Nova 2 entièrement équipé qui avait été introduit en 1975. Cette machine et ses accessoires occupaient deux racks complets, avec une imprimante adjacente et une table avec un terminal et un traceur à plume. Il y avait peu ou pas de documentation. Juste pour éteindre le démarrage, j’ai dû harceler les ingénieurs jusqu’à ce que j’en trouve un qui puisse m’apprendre l’incantation nécessaire du commutateur du panneau avant pour le démarrer.

Tous les Nova ne sont pas identiques, car ils étaient disponibles dans diverses configurations et pouvaient également être mis à niveau sur le terrain. Cela dit, les spécifications de base de cette machine étaient les suivantes :

  • Processeur 16 bits
  • Mémoire à noyau magnétique de 64 Ko
  • Unité arithmétique à virgule flottante
  • Châssis à dix emplacements
  • Deux lecteurs de bande 9 pistes
    • Double densité
    • codé en phase ou NRZI
    • jusqu’à 10-1/2 pouces en bobines
  • Deux disques durs Diablo Systems, chacun avec
    • un plateau fixe de 5 Mo
    • un plateau amovible de 5 Mo
    • Perforateur/lecteur de ruban papier
  • Imprimante quasi-ligne GE Terminet
  • Traceur à stylo Nicholet Zeta
  • Borne ADM-3A

À vingt ans, c’était un rêve devenu réalité. J’avais programmé un TRS-80 au lycée, ce qui est une expérience très pratique. J’avais également programmé en Fortran à l’aide de l’ordinateur central de Georgia Tech, ce qui était tout le contraire de la pratique. Enfermé derrière des parois de verre, vous remettez des cartes perforées à l’opérateur et attendez vos impressions. L’idée d’avoir un « gros » ordinateur pour moi tout seul était à la fois excitante et un peu effrayante.

Qui est Fred ?

Système ERDAS pour l’analyse des vergers de pêchers, 1979

Tout le monde appelait affectueusement cet ordinateur « Fred Nova ». L’histoire que j’ai entendue était que le système avait initialement été acheté par un chercheur nommé Fred Dyer. Mais lorsque j’ai récemment essayé de retracer cette histoire, ce n’était pas si clair. Dans les années 1970, ces mini-ordinateurs Nova étaient à la fois populaires et abordables. Il y en avait un bon nombre à l’EES, utilisés partout dans différents laboratoires sur différents projets. On pourrait presque dire qu’il s’agissait du PC IBM ou du Raspberry Pi de l’époque – suffisamment bon marché pour posséder plusieurs systèmes et suffisamment polyvalent pour être transmis à de nouveaux projets au fur et à mesure que les anciens étaient terminés. Je suis presque sûr que ce Nova particulier provient d’un projet appelé Earth Resources Data Analysis System (ERDAS). Il s’agissait d’un projet parrainé par la NASA visant à étudier le déclin des vergers de pêchers dans tout le sud-est des États-Unis.

Interrupteurs et lumières clignotantes

Le premier obstacle que j’ai surmonté était de savoir comment démarrer un tel ordinateur ? Le TRS-80 était doté d’un interrupteur d’alimentation et il a pris vie comme par magie. Pour autant que je sache, l’ordinateur central du campus ne s’est jamais éteint. Le mini-ordinateur Nova restait là à ne rien faire lorsque vous l’allumiez. Sur les ordinateurs modernes, nous avons le BIOS qui peut être configuré pour démarrer à partir de différents appareils, et il existe des outils tels que GRand Unified Bootloader (GRUB) pour choisir entre différentes partitions du système d’exploitation. Faire la même chose sur le Nova était plus simple mais pas du tout évident. Il y avait un petit programme qu’il fallait saisir dans l’ordinateur via le panneau avant. L’une des valeurs du programme a sélectionné le périphérique de démarrage. Mais j’ai rapidement découvert que ce modèle comportait une option spéciale pour les opérateurs paresseux. Vous avez uniquement entré l’adresse du périphérique à partir duquel vous souhaitiez démarrer et activé le commutateur de chargement de programme. Cela a chargé un court programme de démarrage à partir de la PROM de démarrage en option, évitant ainsi le processus fastidieux de basculement en une douzaine de mots.

Panneau avant Nova

C’est quoi ces interrupteurs qui basculent et clignotent ? Eh bien, c’est la manière la plus basique d’interagir avec l’ordinateur, en parlant son propre langage. La famille d’ordinateurs Nova comportait des mots de 16 bits et le panneau avant comportait une rangée de 16 interrupteurs à bascule. À l’aide de ces commutateurs, vous pouvez stocker n’importe quelle valeur dans n’importe quelle adresse, en basculant d’abord l’adresse dans un registre (indiqué par des voyants), puis en basculant les données et en les chargeant. Si vous entrez dans un programme, heureusement, le registre d’adresses s’incrémente automatiquement à chaque chargement de données. Les lampes indiquaient l’adresse et les données actuelles. Bien que ce processus soit extrêmement fastidieux, je l’ai trouvé très utile pour apprendre le fonctionnement interne de l’ordinateur. J’ai également acquis une profonde appréciation pour les moniteurs de mémoire basés sur un clavier.

Une particularité du Nova et des autres machines de l’époque est que le panneau et tout l’écosystème de documents qui le supporte utilisaient la notation octale. Cela semble un choix étrange pour des mots de 16 bits. En effet, au moment où j’ai découvert le Nova, la plupart des entreprises utilisaient l’hexadécimal. Sauter entre l’hexagone et l’octal était ennuyeux, et je suis heureux que l’octal soit finalement tombé en disgrâce. L’hexadécimal a plus de sens, étant donné que la taille des mots des machines modernes est presque toujours un multiple entier des quartets hexadécimaux de 4 bits,

La base huit est vraiment comme la base dix, s’il vous manque deux doigts ! –Tom Lehrer

Mémoire à noyau magnétique

À l’époque, j’étais vaguement conscient de l’existence d’une mémoire à noyau magnétique – dans la mesure où elle conserve son contenu lorsque l’alimentation est coupée. Mais je me demandais si cette propriété était utile dans le contexte d’un système de mini-ordinateur, puisqu’il y avait tellement d’accessoires connectés. Alors un jour, j’ai fait un test. J’ai lancé une grosse compilation dont je savais qu’elle prendrait plus de dix minutes. Une fois démarré, je suis allé à l’arrière de la machine et j’ai retiré la grosse prise du mur. Les lumières du panneau avant se sont éteintes et tous les moteurs se sont arrêtés en vrombissant. Satisfait que ce soit vraiment faux, je suis allé déjeuner. De retour une heure plus tard, je l’ai rebranché au mur. À ma grande surprise, le film a repris là où il s’était arrêté : la compilation s’est terminée comme si de rien n’était. Plus tard, l’un des ingénieurs m’a dit qu’il y avait une petite carte optionnelle installée sur ce modèle qui détectait la coupure d’alimentation, donnant au système d’exploitation quelques millisecondes pour enregistrer une poignée de registres du processeur dans la mémoire principale du bloc-notes.

Imprimante pseudo-ligne

GE Terminet (Honeywell Bull) Pseudo-Line Printer, avec l’accord du Computer Museum NAM-IP, Belgique

Sur l’ordinateur central du campus, l’imprimante était une véritable imprimante ligne qui frappait une ligne entière de texte d’un seul coup. L’imprimante de cette Nova était similaire, mais différente de tout ce que j’ai vu avant ou depuis. Il avait 120 colonnes de large et 120 marteaux serrés et contrôlés individuellement. Devant ces marteaux courait une longue courroie retenant des doigts de type. Les doigts contenaient un ensemble complet de caractères imprimables, répétés plusieurs fois sur toute leur longueur. Cette courroie était en mouvement continu pendant le fonctionnement. Lors de l’impression, l’imprimante tamponnait une ligne de texte, puis tirait tous les marteaux nécessaires en séquence avec la courroie rotative de doigts de type, chaque marteau frappant la lettre qui lui est attribuée au moment précis où cette lettre passait. Ce n’est pas exactement une imprimante ligne, mais cela ressemble presque à une telle. Au lieu d’un coup par ligne, il y avait une explosion sonore très rapide à chaque ligne – comme un essaim bégayant de guêpes mécaniques en colère. C’était un mécanisme fascinant à voir et à entendre.

Traceur à stylo Nicholet Zeta

La plupart des missions que j’ai reçues des chercheurs impliquaient la production de tracés, et j’ai utilisé le traceur comme celui-ci dans la publicité ci-dessus – remarquez qu’une fonctionnalité est un prix de départ inférieur à 6 000 $. Les chercheurs me donnaient une formule compliquée et/ou des données expérimentales mesurées, et demandaient diverses parcelles. Très souvent, ces programmes duraient des heures juste pour générer une seule parcelle, nécessitant parfois un travail posté de nuit. Un scientifique écrivait un livre à l’époque et j’ai réalisé des dizaines de graphiques et de diagrammes pour lui. Au cours des deux prochaines décennies, je retrouverais ces mêmes graphiques dans divers ouvrages de référence sur les radars. Un programme de traceur qu’ils m’ont demandé d’écrire était en fait l’opposé d’un traceur : il s’agissait de saisir des graphiques déjà imprimés. L’un des « stylos » que vous pouviez vous procurer était en fait un « viseur de bombe » clair, doté d’un réticule. Vous dirigeriez manuellement le stylo sur un point souhaité sur le papier, l’aligneriez exactement, saisiriez la valeur en unités utilisateur sur la borne et appuyez sur OK pour numériser le point. Ce programme s’est avéré étonnamment simple. Vous numérisez d’abord l’origine et un point le long de chaque axe, puis entrez simplement tous les points souhaités le long de chaque courbe d’intérêt.

La programmation

Le poste de travail arctique de l’auteur

La plupart de la programmation que j’ai effectuée sur cet ordinateur était en Fortran, bien que l’EES utilisait un préprocesseur appelé Fortran Language Extended Control Structures ( FLECS ). FLECS a supprimé certains des aspects ennuyeux de Fortran en fournissant des fonctionnalités de programmation structurées, telles que les structures IF-THEN-ELSE, les boucles DO-WHILE-UNTIL et les procédures internes (un peu comme une fonction en ligne). Mais le projet le plus intéressant, sujet de cette série d’articles, consistait à utiliser le langage assembleur pour contrôler du matériel personnalisé afin d’enregistrer les données de mesure radar – dans l’Arctique gelé. Je commencerai à aborder cela dans la deuxième partie.

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.