Préambule
Difficile pour moi, après trente ou quarante ans, de construire une image aussi juste que possible de ce que fut le GAMMA 60... Cest comme un portrait-robot édifié à partir déléments disparates, en laissant de nombreux trous... ou comme la reconstitution dun dinosaure à partir dune vertèbre ou dune dent.
Jai pensé un moment créer la prosopopée du Gamma 60, où celui-ci sadresse directement aux derniers survivants de son épopée, en les suppliant de raconter son histoire et, à linstar de la muse du poète, en leur susurrant les chaînons manquants.
Jy ai renoncé, dabord parce le style oratoire se prête mal à la partie technique, puis parce que lorateur aurait eu des difficultés pour utiliser un vocabulaire comme logiciel, informatique et les nombreux anglicismes actuels.
En parlant de vocabulaire, je veux bien faire certaines transpositions;
par exemple: bit pour monade, mot pour catène ( doù une capacité mémoire de nKM ) mais par ailleurs, élément est-il une notion compréhensible ou faut-il dire processeur ou ?.....?;quant à la fameuse coupure, est-ce appel élément, séquence élément ou quoi?
Ah!...encore quelques précisions:
Le premier jet de ce document sera très hétérogène;
-- il sera parfois fait référence aux quelques documents en ma possession
-- par contre et par peur de my engloutir, je nai pas fait appel aux 14 boites des archives de Bobigny.
Maintenant fermons les yeux, retournons 40 ans en arrière; cest lépoque de la conception .Les parents, ce sont la Compagnie des Machines Bull et le Gamma 3 Tambour.
Nous savons tous quaprès une naissance délicate - 3 ans plus tard - il grandira, devant le monde ébloui, mais quil mourra - quelques années plus tard - sans laisser de descendance directe.
Mais nanticipons pas...
Durant les fifties, cétait le règne incontesté de la mécanographie à cartes perforées,
utilisant fondamentalement la tabulatrice, de technologie électromécanique. La lecture, la perforation de carte et limpression sont synchronisées mécaniquement; il existe des registres servant au calcul (totalisateurs) et des branchements (alternatifs); le tableau de connexion - avec des câbles permettant de relier les différentes positions des mémoires dentrée et sortie et des totalisateurs ainsi que les fonctions de calcul et de branchement- est amovible; cest une sorte de programme avec des instructions câblées.
Dans une entreprise, la tabulatrice ( complétée par la trieuse ) permet dexécuter en traitement par lots ( batch ) tous les travaux courants ( paye, facturation, commandes, gestion des stocks,... ) avec pour chaque step du job à exécuter :
-- un fichier cartes à lentrée
-- souvent un nouveau fichier cartes à la sortie
-- presque toujours un état à imprimer
-- et bien entendu le tableau de connexion approprié.
Les limitations rencontrées étaient les suivantes:
a -- performances des machines de lépoque (150 cartes/mn et 150 lignes/mn)
b -- calculs effectués obligatoirement dans lintercycle mécanique
c -- registres et instructions utilisant des relais électromécaniques
d -- dimensions et rigidité du dessin du tableau de connexion
doù -- faible nombre dinstructions, peu de mémoires
-- limitation des possibilités de programmation
e -- pour les entreprises importantes, volume des fichiers cartes pouvant
entraîner des durées de tri très longues
La première amélioration a consisté à diminuer les limitations c à d , en introduisant un calculateur synchronisé avec la tabulatrice, le Gamma 3, où la logique à relais est remplacée par une logique électronique à tubes.
-- 3 à 15 registres adressables, de 12 caractères de 4 bits ( mémoires circulantes )
-- 16 instructions de structure moderne: TO AD C1 C2 ( 4 x 4 bits )
AD = n° de registre ; C1 C2 = complément au TO ou filtrage du registre
Le programme exécute séquentiellement les instructions, sauf pour les certaines variantes ( branchements ), comme actuellement. Le programme peut comporter jusquà 64 instructions, qui sont affichées sur un tableau de connexion amovible. Chacune des parties de chaque instruction est reliée par câble à un distributeur des valeurs 0 à 15.
Un grand pas en avant a été fait avec les Gamma 3 Tambour qui offrirent:
-- une mémoire auxiliaire de grande capacité ( 98000x4 bits soit 8 KM de 12 car. )
-- une mémoire rapide de 16 Mots adressable
-- un jeu dinstruction étendu ( transferts entre tambour et mémoire, calcul binaire pour ladressage, chaînes de caractères, ... )
-- lexécution du programme à partir de la mémoire rapide, et corrélativement
la suppression du tableau de connexion amovible.
Le tambour pouvait stocker des programmes, des données ( tables,... ) et léquipement commençait à ressembler à un . . . ordinateur !
Dans le même temps, le Tambour allait faire une entrée remarquée dans le calcul électronique avec la CAB 500, offrant
-- une mémoire importante ( 16 KM de 32 bits - nombres, sous-programmes,... )
-- 16 registres opérateurs adressables
-- un jeu dinstructions astucieux ( dans certaines instructions, adressage direct du tambour : opérande ou appel sous-programme, . . . )
-- entrée-sortie par machine à écrire et lecteur-perforateur de bande.
Il ne faut pas oublier quà-peu-près à la même époque, le grand frère fournissait des matériels voisins, faisait une analyse comparable et allait sortir le premier ordinateur que le futur système C.M.B. se devait de pourfendre.
Un besoin de puissance ( c.à.d. de volume, de vitesse, de possibilités ) réclamé par les grands utilisateurs conduisit dabord à plusieurs versions du Gamma 3 Tambour, mais buta sur les limitations a et e citées plus haut.
Laction sur la limitation a , en augmentant la vitesse des éléments de base de la tabulatrice à 300 cartes/mn et à 300 lignes/mn, naurait été quun palliatif provisoire; toutefois, elle conduisit ultérieurement à la série 300, et dans la voie qui est explorée, au lecteur de cartes et à limprimante du G60.
Il fallait donc agir sur la limitation e : les cartes étaient nécessaires pour lentrée des données en traitement par lots, et elles le resteront encore très longtemps.
Mais lexploitation des fichiers intermédiaires dans un job et surtout lexistence de fichiers permanents évolutifs (personnel, stock,... ) imposant le tri et linterclassement de ces fichiers devaient prendre un avantage certain dun support plus rapide et moins contraignant que les cartes. Le tambour pouvait satisfaire à ces demandes, mais hélas sa faible capacité lécartèrent pour ce but. La technologie dalors fournit la bande magnétique. Les bacs de cartes sont remplacés par une bandothèque, moins volumineuse et dont les bobines sont réutilisables en cas dobsolescence du contenu.
Dans lobjectif recherché de système haut-de-gamme et de système universel, il fallait
-- un jeu dinstructions important ( décimales, scientifiques, logiques,... )
-- des performances maximales nécessitant la présence dau moins une sé quence de programme en mémoire rapide.
Les technologies en développement fournirent alors:
-- les mémoires à tores magnétiques tissés, moins coûteuses que les mémoires électroniques
-- pour la logique, en lieu et place des tubes trop gourmands en énergie,
les transistors.
Le grand volume de données, en traitement par lots, entraîne corrélativement une grande quantité de lignes à imprimer, dautant plus quon cherchera à obtenir des états supplémentaires ( statistiques, listes à consulter,... ).Doù:
-- la recherche dune imprimante performante
-- la possibilité de connecter plusieurs imprimantes.
Plus généralement, le central acceptera un grand nombre déléments, quil sagisse déléments dentrée-sortie ou de mémoires auxiliaires soit séquentielles comme le dérouleur (fichiers de données ) soit à accès direct ( programmes, barèmes ).
Le déroulement dun programme linéaire lançant de temps à autre une opération sur un appareil et relancé par la fin dopération, pose le problème du temps mort du central, problème qui devient vite rédhibitoire avec un grand nombre déléments. Une solution consiste à autoriser le lancement simultané de plusieurs programmes indépendants ou non utilisant des éléments en principe indépendants. Il en résultera :
-- un concept délément semi-autonome simplifié, avec accès direct à la mémoire centrale, mémoires tampons et logique limitée au transfert dun bloc ( carte, ligne, bloc bande ou tambour,... ) et au dialogue avec le central.
-- le concept de protection de chaque élément avec file dattente.
Le Gamma 60 adoptera ces concepts, mais ira encore plus loin en créant avec le même concept les éléments centraux, de performances optimisées sur leurs fonctionnalités, à savoir: calculateur arithmétique, calculateur logique, comparateur général et traducteur.
Cet élément original permettra:
-- de simplifier au maximum les éléments dentrée-sortie
-- dautoriser tous les formats dentrée-sortie avec un cliché du traducteur.
Une description simplifiée, probablement suffisante pour le profane, est fournie par le document référencé &11 à savoir par C. Massuard : Petite synthèse à lintention de ceux qui nont pas connu le GAMMA 60
Le calcul scientifique utilisait depuis quelque temps les concepts de programme, de sous-programme, ceux de langages ( machine binaire, machine symbolique, et synthétique: Fortran en préparation ). Ainsi étaient apparus, sur cartes ou sur bande perforée et ensuite sur support magnétique des bibliothèques:
-- de sous-programmes standards
virgule flottante, double précision, fonctions trigonométriques,...
-- de programmes de base, auxiliaires des programmes utilisateurs
chargement, traduction, assemblage, vidage ( perforation, listings )
des programmes et sous-programmes,...
plus tard compilation du Fortran
-- puis de programmes scientifiques standards
calcul matriciel, équations linéaires,...
Le Gamma 3 Tambour ( comme ses concurrents ) a utilisé la même approche pour les problèmes de gestion, comme le feront tous ses successeurs jusquà aujourdhui.
Il faut noter que pour une nouvelle famille dordinateurs et donc le Gamma 60, il est nécessaire de recréer et éventuellement de compléter toutes ces bibliothèques de base.
Les instructions machine ayant une longueur fixe et une structure se rapprochant toujours du dessin ci-dessous,
T.O 2 Bits
TOC 5 Bits
FA 2 Bits
Adresse 15 Bits
le code de programmation externe utilisa une structure fixe, favorable à la perforation des cartes et à leur contrôle visuel. Mais les valeurs binaires du code A furent remplacées par des valeurs plus parlantes pour le programmeur,
-- adresses décimales; en cas de différentielle, adresse relative dans le (sous-)programme
-- valeurs symboliques parlantes pour T.O., T.O.C. et F.A.
4 car. pour une Coupure ( ARIT, SIMU,... )
3 car. pour une Directive élément ( ADD, CMP,... )
un nombre décimal de 00 à 24 pour les Branchements
1 car. pour une Adresse ( G, R, A, S )
-- adjonction dun numéro de ligne pour les branchements relatifs.
-- colonnes complémentaires pour les commentaires du programmeur.
Trait./Branch./N.L.(4car.)/T.O.(4Car.)/CC(2Car.)/Adr.(Décimale sur 5Car.)/FA(2car.)/Observ.
Pour une description plus détaillée, se reporter au Cours de programmation
édité par C.M.B.;référence n° 4 dans le document GAM60_D1.
André Maitre